{"_id":"@code-yeongyu/senpi","_rev":"196-58e8be79e9c0fcd7e89947405ab2d3a3","name":"@code-yeongyu/senpi","dist-tags":{"latest":"2026.9.25"},"versions":{"0.74.0":{"name":"@code-yeongyu/senpi","version":"0.74.0","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@0.74.0","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"senpi":"dist/cli.js"},"dist":{"shasum":"fac27849d3e67db8fe1cd01e5584704b11a9fb78","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-0.74.0.tgz","fileCount":1193,"integrity":"sha512-ZwIN2C4umZB4tJ9k15ho/4EUN0Ay5DFGibiVmAcg27RNG9Br/wi+iQIQVTkZz6xEplV7DXovlA6LXjaQBUkYFg==","signatures":[{"sig":"MEUCIQDgAMGBTEMjF5SIdntP3lMYcCGJEVMMSNKNLkOL/6kaKAIgLifO7SRntfthmryz/iNsK5rNNP5mRL0y5Eq7RgcZCKw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12468111},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.6.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./hooks":{"types":"./dist/core/hooks/index.d.ts","import":"./dist/core/hooks/index.js"}},"gitHead":"09694eccf51959a88411c5c4ff7230e8b5c3eb5b","scripts":{"dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsgo -p tsconfig.build.json && shx chmod +x dist/cli.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","clean":"shx rm -rf dist","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/","build:binary":"npm --prefix ../tui run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm run build && bun build --compile ./dist/bun/cli.js --outfile dist/pi && npm run copy-binary-assets","prepublishOnly":"npm run sync:builtin-extensions && shx rm -rf dist && tsgo -p tsconfig.build.json && shx chmod +x dist/cli.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html dist/export-html/ && shx cp src/core/export-html/vendor/*.js dist/export-html/vendor/ && shx cp -r docs dist/ && shx cp -r examples dist/ && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/"},"_npmUser":{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.2"},"rimraf":"6.1.2"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.11.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"25.8.1","dependencies":{"diff":"^8.0.2","glob":"^13.0.1","jiti":"^2.7.0","uuid":"^14.0.0","yaml":"^2.8.2","chalk":"^5.5.0","ignore":"^7.0.5","marked":"^15.0.12","undici":"^7.19.1","typebox":"^1.1.24","file-type":"^21.1.1","minimatch":"^10.2.3","strip-ansi":"^7.1.0","extract-zip":"^2.0.1","cli-highlight":"^2.1.11","hosted-git-info":"^9.0.2","proper-lockfile":"^4.1.2","@anthropic-ai/sdk":"^0.91.1","@earendil-works/pi-ai":"^0.74.0","@earendil-works/pi-tui":"^0.74.0","@silvia-odwyer/photon-node":"^0.3.4","@earendil-works/pi-agent-core":"^0.74.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.4.0","vitest":"^3.2.4","@types/ms":"^2.1.0","typescript":"^5.7.3","@types/diff":"^7.0.2","@types/node":"^24.3.0","@types/hosted-git-info":"^3.0.5","@types/proper-lockfile":"^4.1.4"},"optionalDependencies":{"@mariozechner/clipboard":"^0.3.5"},"_npmOperationalInternal":{"tmp":"tmp/senpi_0.74.0_1778486376727_0.09677687246017075","host":"s3://npm-registry-packages-npm-production"}},"2026.5.13":{"name":"@code-yeongyu/senpi","version":"2026.5.13","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.5.13","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"senpi":"dist/cli.js"},"dist":{"shasum":"b29c0dcf5a0262d370cd1efd72621855fe5e8996","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.5.13.tgz","fileCount":1169,"integrity":"sha512-+agJyv4xpDq9mgfB6tViG4I8aqeNabgGBpufxsjOFMuZ2UWkbjxJf+iCT2d6QC9ycrM20bbAGwTolMKKIKKmfw==","signatures":[{"sig":"MEUCIGlI0SqeBy3NEPc20HWI8DD4Mto357lMhriksjQXgmRJAiEA3jfGeuGs6qJCkrUUxrMLJe7k03PMeaL2LHbhK8eBPDg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.5.13","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":12487036},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.6.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./hooks":{"types":"./dist/core/hooks/index.d.ts","import":"./dist/core/hooks/index.js"}},"gitHead":"6a5a76348a2ec637ee5aac510316376f2cc9efcd","scripts":{"dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsgo -p tsconfig.build.json && shx chmod +x dist/cli.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","clean":"shx rm -rf dist","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/","build:binary":"npm --prefix ../tui run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm run build && bun build --compile ./dist/bun/cli.js --outfile dist/pi && npm run copy-binary-assets","prepublishOnly":"shx rm -rf dist && tsgo -p tsconfig.build.json && shx chmod +x dist/cli.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html dist/export-html/ && shx cp src/core/export-html/vendor/*.js dist/export-html/vendor/ && shx cp -r docs dist/ && shx cp -r examples dist/ && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:bb0deb99-9a8d-4f70-be29-218fabd4f2b1"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.2"},"rimraf":"6.1.2"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.11.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.14.1","dependencies":{"diff":"^8.0.2","glob":"^13.0.1","jiti":"^2.7.0","uuid":"^14.0.0","yaml":"^2.8.2","chalk":"^5.5.0","ignore":"^7.0.5","marked":"^15.0.12","undici":"^7.19.1","typebox":"^1.1.24","file-type":"^21.1.1","minimatch":"^10.2.3","strip-ansi":"^7.1.0","extract-zip":"^2.0.1","cli-highlight":"^2.1.11","hosted-git-info":"^9.0.2","proper-lockfile":"^4.1.2","@anthropic-ai/sdk":"^0.91.1","@earendil-works/pi-ai":"^2026.05.13","@earendil-works/pi-tui":"^2026.05.13","@silvia-odwyer/photon-node":"^0.3.4","@earendil-works/pi-agent-core":"^2026.05.13"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.4.0","vitest":"^3.2.4","@types/ms":"^2.1.0","typescript":"^5.7.3","@types/diff":"^7.0.2","@types/node":"^24.3.0","@types/hosted-git-info":"^3.0.5","@types/proper-lockfile":"^4.1.4"},"optionalDependencies":{"@mariozechner/clipboard":"^0.3.5"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.5.13_1778648183939_0.6334941291006926","host":"s3://npm-registry-packages-npm-production"}},"2026.5.13-2":{"name":"@code-yeongyu/senpi","version":"2026.5.13-2","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.5.13-2","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"senpi":"dist/cli.js"},"dist":{"shasum":"4bdd5759b9e8e11f96976535c6416c87f30e8bb8","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.5.13-2.tgz","fileCount":1169,"integrity":"sha512-UsvhjElgM7whcuJR4qFwV1FoxFZ2EnG3MrPV8nf4IpK/55C7yx8sVPRMTDNViXKHNT9nSoKDxnu+Y/CNQrYaEw==","signatures":[{"sig":"MEQCIDRtovMYa4PrQlD1HbfTWI+RfJ3XF66I2Rt0rmSyXZseAiA9RJ9SZvkT7A/KgH3C0u9O9iwu529Xy3bhV/P8QytaLg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.5.13-2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":12487226},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./hooks":{"types":"./dist/core/hooks/index.d.ts","import":"./dist/core/hooks/index.js"}},"gitHead":"a516f106b14393ae238a9802b943404f84c08d0c","scripts":{"dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsgo -p tsconfig.build.json && shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx chmod +x dist/cli.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","clean":"shx rm -rf dist","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/","build:binary":"npm --prefix ../tui run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm run build && bun build --compile ./dist/bun/cli.js --outfile dist/pi && npm run copy-binary-assets","prepublishOnly":"shx rm -rf dist && tsgo -p tsconfig.build.json && shx chmod +x dist/cli.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html dist/export-html/ && shx cp src/core/export-html/vendor/*.js dist/export-html/vendor/ && shx cp -r docs dist/ && shx cp -r examples dist/ && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:bb0deb99-9a8d-4f70-be29-218fabd4f2b1"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.2"},"rimraf":"6.1.2"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.11.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.14.1","dependencies":{"diff":"^8.0.2","glob":"^13.0.1","jiti":"^2.7.0","uuid":"^14.0.0","yaml":"^2.8.2","chalk":"^5.5.0","ignore":"^7.0.5","marked":"^15.0.12","undici":"^7.19.1","typebox":"^1.1.24","file-type":"^21.1.1","minimatch":"^10.2.3","strip-ansi":"^7.1.0","extract-zip":"^2.0.1","cli-highlight":"^2.1.11","hosted-git-info":"^9.0.2","proper-lockfile":"^4.1.2","@anthropic-ai/sdk":"^0.91.1","@earendil-works/pi-ai":"^2026.5.13-2","@earendil-works/pi-tui":"^2026.5.13-2","@silvia-odwyer/photon-node":"^0.3.4","@earendil-works/pi-agent-core":"^2026.5.13-2"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.4.0","vitest":"^3.2.4","@types/ms":"^2.1.0","typescript":"^5.7.3","@types/diff":"^7.0.2","@types/node":"^24.3.0","@types/hosted-git-info":"^3.0.5","@types/proper-lockfile":"^4.1.4"},"optionalDependencies":{"@mariozechner/clipboard":"^0.3.5"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.5.13-2_1778650458551_0.018424093288909926","host":"s3://npm-registry-packages-npm-production"}},"2026.5.13-3":{"name":"@code-yeongyu/senpi","version":"2026.5.13-3","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.5.13-3","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"senpi":"dist/cli.js"},"dist":{"shasum":"4df411536442531b82ed3b248f4b0a87c71528b2","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.5.13-3.tgz","fileCount":1169,"integrity":"sha512-4l1LO93EsoFI2dE1uwXdP1OTqyRWEwIypmNCdOFnNm3uFIng75nd2JlnywE9J60kKiXhRKqkUnX7Do6uh2Esnw==","signatures":[{"sig":"MEUCIB/KF/fJ/ZfkBjc87ooU/ViSfJFTIPeDRIFHuv/aqJWKAiEAhy771kVzt5bI/oCrt0EtjHU+ZM2mgSut3akMf8A/KWo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.5.13-3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":12487195},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./hooks":{"types":"./dist/core/hooks/index.d.ts","import":"./dist/core/hooks/index.js"}},"gitHead":"d40917f55a19098ea2b9e28e9316ea20d9d4070d","scripts":{"dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsgo -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","clean":"shx rm -rf dist","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/","build:binary":"npm --prefix ../tui run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm run build && bun build --compile ./dist/bun/cli.js --outfile dist/pi && npm run copy-binary-assets","prepublishOnly":"shx rm -rf dist && tsgo -p tsconfig.build.json && shx chmod +x dist/cli.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html dist/export-html/ && shx cp src/core/export-html/vendor/*.js dist/export-html/vendor/ && shx cp -r docs dist/ && shx cp -r examples dist/ && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:bb0deb99-9a8d-4f70-be29-218fabd4f2b1"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.2"},"rimraf":"6.1.2"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.11.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.14.1","dependencies":{"diff":"^8.0.2","glob":"^13.0.1","jiti":"^2.7.0","uuid":"^14.0.0","yaml":"^2.8.2","chalk":"^5.5.0","ignore":"^7.0.5","marked":"^15.0.12","undici":"^7.19.1","typebox":"^1.1.24","file-type":"^21.1.1","minimatch":"^10.2.3","strip-ansi":"^7.1.0","extract-zip":"^2.0.1","cli-highlight":"^2.1.11","hosted-git-info":"^9.0.2","proper-lockfile":"^4.1.2","@anthropic-ai/sdk":"^0.91.1","@earendil-works/pi-ai":"^2026.5.13-3","@earendil-works/pi-tui":"^2026.5.13-3","@silvia-odwyer/photon-node":"^0.3.4","@earendil-works/pi-agent-core":"^2026.5.13-3"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.4.0","vitest":"^3.2.4","@types/ms":"^2.1.0","typescript":"^5.7.3","@types/diff":"^7.0.2","@types/node":"^24.3.0","@types/hosted-git-info":"^3.0.5","@types/proper-lockfile":"^4.1.4"},"optionalDependencies":{"@mariozechner/clipboard":"^0.3.5"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.5.13-3_1778651202377_0.6512906646616519","host":"s3://npm-registry-packages-npm-production"}},"2026.5.13-4":{"name":"@code-yeongyu/senpi","version":"2026.5.13-4","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.5.13-4","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"senpi":"dist/cli.js"},"dist":{"shasum":"d8863f779cbed6cff03239c35af6df2481682982","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.5.13-4.tgz","fileCount":1169,"integrity":"sha512-Vavd0n2ivVn2NZF1c2cxzAHHAtPeik7VRi3sXeS10iHESZW0mRVtw86tKRUWqD1LHykp5AqoxfBMfveoL8nE+A==","signatures":[{"sig":"MEUCIGo9Qn8RG61K7sQwP/TSchyemt7ELudS7zvmAxx0eoMLAiEA499zCRf2qcA0E77M8mjdHzGl/dPdGIqI362noS4Yk6M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.5.13-4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":12487253},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./hooks":{"types":"./dist/core/hooks/index.d.ts","import":"./dist/core/hooks/index.js"}},"gitHead":"dc6f4258a7525be44acce0e6618c316fd02c539a","scripts":{"dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsgo -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","clean":"shx rm -rf dist","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/","build:binary":"npm --prefix ../tui run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm run build && bun build --compile ./dist/bun/cli.js --outfile dist/pi && npm run copy-binary-assets","prepublishOnly":"shx rm -rf dist && tsgo -p tsconfig.build.json && shx chmod +x dist/cli.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html dist/export-html/ && shx cp src/core/export-html/vendor/*.js dist/export-html/vendor/ && shx cp -r docs dist/ && shx cp -r examples dist/ && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:bb0deb99-9a8d-4f70-be29-218fabd4f2b1"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.2"},"rimraf":"6.1.2"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.11.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.14.1","dependencies":{"diff":"^8.0.2","glob":"^13.0.1","jiti":"^2.7.0","uuid":"^14.0.0","yaml":"^2.8.2","chalk":"^5.5.0","ignore":"^7.0.5","marked":"^15.0.12","undici":"^7.19.1","typebox":"^1.1.24","file-type":"^21.1.1","minimatch":"^10.2.3","strip-ansi":"^7.1.0","extract-zip":"^2.0.1","cli-highlight":"^2.1.11","hosted-git-info":"^9.0.2","proper-lockfile":"^4.1.2","@anthropic-ai/sdk":"^0.91.1","@earendil-works/pi-ai":"^2026.5.13-4","@earendil-works/pi-tui":"^2026.5.13-4","@silvia-odwyer/photon-node":"^0.3.4","@earendil-works/pi-agent-core":"^2026.5.13-4"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.4.0","vitest":"^3.2.4","@types/ms":"^2.1.0","typescript":"^5.7.3","@types/diff":"^7.0.2","@types/node":"^24.3.0","@types/hosted-git-info":"^3.0.5","@types/proper-lockfile":"^4.1.4"},"optionalDependencies":{"@mariozechner/clipboard":"^0.3.5"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.5.13-4_1778661141080_0.19906095595168782","host":"s3://npm-registry-packages-npm-production"}},"2026.5.14":{"name":"@code-yeongyu/senpi","version":"2026.5.14","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.5.14","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"senpi":"dist/cli.js"},"dist":{"shasum":"de6b2c1a37e3ac97aedb83c379277d8e81d2014e","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.5.14.tgz","fileCount":1149,"integrity":"sha512-emhxZahmpKNGU/B/ZaQ0kfeJX1rlpMIWttMeLQ+lCBkjnHK5GnzsnnUwiMCKtuIf7UnOlbQD4L62OqqbgPrfLg==","signatures":[{"sig":"MEQCIEXsPtyf26BvuxiI0YkkciUgk/8TjohvzK/35nBXLRlWAiAu8DO+iSYtF8tZIq85qGCGMf1ltfpCQd1f+cXQ8j0xBA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.5.14","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":12342507},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./hooks":{"types":"./dist/core/hooks/index.d.ts","import":"./dist/core/hooks/index.js"}},"gitHead":"1f1c4025248a97a0d00bb7c5599b29e0a1e4dad2","scripts":{"dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsgo -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","clean":"shx rm -rf dist","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/","build:binary":"npm --prefix ../tui run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm run build && bun build --compile ./dist/bun/cli.js --outfile dist/pi && npm run copy-binary-assets","prepublishOnly":"shx rm -rf dist && tsgo -p tsconfig.build.json && shx chmod +x dist/cli.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html dist/export-html/ && shx cp src/core/export-html/vendor/*.js dist/export-html/vendor/ && shx cp -r docs dist/ && shx cp -r examples dist/ && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:bb0deb99-9a8d-4f70-be29-218fabd4f2b1"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.2"},"rimraf":"6.1.2"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.11.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.14.1","dependencies":{"diff":"^8.0.2","glob":"^13.0.1","jiti":"^2.7.0","yaml":"^2.8.2","chalk":"^5.5.0","ignore":"^7.0.5","undici":"^7.19.1","typebox":"^1.1.24","minimatch":"^10.2.3","highlight.js":"^10.7.3","hosted-git-info":"^9.0.2","proper-lockfile":"^4.1.2","@anthropic-ai/sdk":"^0.91.1","@earendil-works/pi-ai":"^2026.5.14","@earendil-works/pi-tui":"^2026.5.14","@silvia-odwyer/photon-node":"^0.3.4","@earendil-works/pi-agent-core":"^2026.5.14"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.4.0","vitest":"^3.2.4","@types/ms":"^2.1.0","typescript":"^5.7.3","@types/diff":"^7.0.2","@types/node":"^24.3.0","@types/hosted-git-info":"^3.0.5","@types/proper-lockfile":"^4.1.4"},"optionalDependencies":{"@mariozechner/clipboard":"^0.3.5"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.5.14_1778756493324_0.2631867407868973","host":"s3://npm-registry-packages-npm-production"}},"2026.5.15":{"name":"@code-yeongyu/senpi","version":"2026.5.15","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.5.15","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"senpi":"dist/cli.js"},"dist":{"shasum":"624bc3b139cb8fdc2a1fefa2f0fa77f34a1fd745","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.5.15.tgz","fileCount":1149,"integrity":"sha512-l8dJ70KWf8yc5BO3T4KRsNMHL1s2KU21RcDdng9NRpoDWz4JXUhJRLqG4tlq8yzp/kek8iXa0SYbujSBPaCowg==","signatures":[{"sig":"MEYCIQCK/Ii2q7pqk29xp5GAMnA6VZQGR7wvnnAkUsXrixHSNAIhAKgzuVFGPsTd8vDC1wxumrRdpPU7T0ETGzu2PQ8qzAgZ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.5.15","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":12341445},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./hooks":{"types":"./dist/core/hooks/index.d.ts","import":"./dist/core/hooks/index.js"}},"gitHead":"47ee0ab8ea32d1ea164f9c1ba76063cf73135a56","scripts":{"dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsgo -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","clean":"shx rm -rf dist","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/","build:binary":"npm --prefix ../tui run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm run build && bun build --compile ./dist/bun/cli.js --outfile dist/pi && npm run copy-binary-assets","prepublishOnly":"shx rm -rf dist && tsgo -p tsconfig.build.json && shx chmod +x dist/cli.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html dist/export-html/ && shx cp src/core/export-html/vendor/*.js dist/export-html/vendor/ && shx cp -r docs dist/ && shx cp -r examples dist/ && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:bb0deb99-9a8d-4f70-be29-218fabd4f2b1"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.2"},"rimraf":"6.1.2"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.12.1","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.15.0","dependencies":{"diff":"^8.0.2","glob":"^13.0.1","jiti":"^2.7.0","yaml":"^2.8.2","chalk":"^5.5.0","ignore":"^7.0.5","undici":"^7.19.1","typebox":"^1.1.24","minimatch":"^10.2.3","highlight.js":"^10.7.3","hosted-git-info":"^9.0.2","proper-lockfile":"^4.1.2","@anthropic-ai/sdk":"^0.91.1","@earendil-works/pi-ai":"^2026.5.15","@earendil-works/pi-tui":"^2026.5.15","@silvia-odwyer/photon-node":"^0.3.4","@earendil-works/pi-agent-core":"^2026.5.15"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.4.0","vitest":"^3.2.4","@types/ms":"^2.1.0","typescript":"^5.7.3","@types/diff":"^7.0.2","@types/node":"^24.3.0","@types/hosted-git-info":"^3.0.5","@types/proper-lockfile":"^4.1.4"},"optionalDependencies":{"@mariozechner/clipboard":"^0.3.5"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.5.15_1778806820766_0.3236061244471955","host":"s3://npm-registry-packages-npm-production"}},"2026.5.15-2":{"name":"@code-yeongyu/senpi","version":"2026.5.15-2","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.5.15-2","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"senpi":"dist/cli.js"},"dist":{"shasum":"f8ee89207f6c8c9ff25d2df4c3e20e11f79101cb","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.5.15-2.tgz","fileCount":1126,"integrity":"sha512-saAPmH4Aiu3J2WQci7ZyFaoDMyPEsbA7bG4cU5C9A2rmMWWxvUsM6EcTQ294iCFmh8MX6XS8oYjfOEEl8Fk24g==","signatures":[{"sig":"MEUCIQD5wbAi1Wk+sSRieBOMucQrJU74eH4LE2osBPAKtTnz0wIgBBfqDqr6JKmusaOxmDvNHp4mpbulJcu3BDKGECdoMiU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.5.15-2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":12312425},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./hooks":{"types":"./dist/core/hooks/index.d.ts","import":"./dist/core/hooks/index.js"}},"gitHead":"83f60d68791c7365c9077e8f22755ed1632a860a","scripts":{"dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsgo -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","clean":"shx rm -rf dist","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/","build:binary":"npm --prefix ../tui run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm run build && bun build --compile ./dist/bun/cli.js --outfile dist/pi && npm run copy-binary-assets","prepublishOnly":"shx rm -rf dist && tsgo -p tsconfig.build.json && shx chmod +x dist/cli.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html dist/export-html/ && shx cp src/core/export-html/vendor/*.js dist/export-html/vendor/ && shx cp -r docs dist/ && shx cp -r examples dist/ && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:bb0deb99-9a8d-4f70-be29-218fabd4f2b1"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.2"},"rimraf":"6.1.2"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.12.1","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.15.0","dependencies":{"diff":"^8.0.2","glob":"^13.0.1","jiti":"^2.7.0","yaml":"^2.8.2","chalk":"^5.5.0","ignore":"^7.0.5","undici":"^7.19.1","typebox":"^1.1.24","minimatch":"^10.2.3","highlight.js":"^10.7.3","hosted-git-info":"^9.0.2","proper-lockfile":"^4.1.2","@anthropic-ai/sdk":"^0.91.1","@earendil-works/pi-ai":"^2026.5.15-2","@earendil-works/pi-tui":"^2026.5.15-2","@silvia-odwyer/photon-node":"^0.3.4","@earendil-works/pi-agent-core":"^2026.5.15-2"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.4.0","vitest":"^3.2.4","@types/ms":"^2.1.0","typescript":"^5.7.3","@types/diff":"^7.0.2","@types/node":"^24.3.0","@types/hosted-git-info":"^3.0.5","@types/proper-lockfile":"^4.1.4"},"optionalDependencies":{"@mariozechner/clipboard":"^0.3.5"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.5.15-2_1778832998573_0.36969628152554024","host":"s3://npm-registry-packages-npm-production"}},"2026.5.15-3":{"name":"@code-yeongyu/senpi","version":"2026.5.15-3","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.5.15-3","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"senpi":"dist/cli.js"},"dist":{"shasum":"16acf46926a38afe342b5405f0eac8311fef7049","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.5.15-3.tgz","fileCount":1134,"integrity":"sha512-SJKtKejvjIZo8laKVK7JEfZml7D7VEQJZeBqvdJiMBuPySDZTEwc9cvUzh83cs87sA9788aDI4axIwHS6hHmmw==","signatures":[{"sig":"MEUCIG2PmVe2qzb6yNNhLuYTGIVV8ajUZ+7OqZSmiMxToPqgAiEAuien+igOOxxXi4LxynQ1U6sAS3cgJeC1PP9yMo73d7g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.5.15-3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":12417280},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./hooks":{"types":"./dist/core/hooks/index.d.ts","import":"./dist/core/hooks/index.js"}},"gitHead":"aa8be74cc711e0783f1612f70b645f5126e52602","scripts":{"dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsgo -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","clean":"shx rm -rf dist","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/","build:binary":"npm --prefix ../tui run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm run build && bun build --compile ./dist/bun/cli.js --outfile dist/pi && npm run copy-binary-assets","prepublishOnly":"shx rm -rf dist && tsgo -p tsconfig.build.json && shx chmod +x dist/cli.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html dist/export-html/ && shx cp src/core/export-html/vendor/*.js dist/export-html/vendor/ && shx cp -r docs dist/ && shx cp -r examples dist/ && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:bb0deb99-9a8d-4f70-be29-218fabd4f2b1"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.2"},"rimraf":"6.1.2"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.12.1","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.15.0","dependencies":{"diff":"^8.0.2","glob":"^13.0.1","jiti":"^2.7.0","yaml":"^2.8.2","chalk":"^5.5.0","ignore":"^7.0.5","undici":"^7.19.1","typebox":"^1.1.24","minimatch":"^10.2.3","highlight.js":"^10.7.3","hosted-git-info":"^9.0.2","proper-lockfile":"^4.1.2","@anthropic-ai/sdk":"^0.91.1","@earendil-works/pi-ai":"^2026.5.15-3","@earendil-works/pi-tui":"^2026.5.15-3","@silvia-odwyer/photon-node":"^0.3.4","@earendil-works/pi-agent-core":"^2026.5.15-3"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.4.0","vitest":"^3.2.4","@types/ms":"^2.1.0","typescript":"^5.7.3","@types/diff":"^7.0.2","@types/node":"^24.3.0","@types/hosted-git-info":"^3.0.5","@types/proper-lockfile":"^4.1.4"},"optionalDependencies":{"@mariozechner/clipboard":"^0.3.5"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.5.15-3_1778849495773_0.09509450099550909","host":"s3://npm-registry-packages-npm-production"}},"2026.5.16":{"name":"@code-yeongyu/senpi","version":"2026.5.16","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.5.16","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"senpi":"dist/cli.js"},"dist":{"shasum":"26b908c0e9d3041cb3420aa6effda70dd127fe80","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.5.16.tgz","fileCount":1134,"integrity":"sha512-rIO0K3SyV8VnArIImzpj17RbJmetCP3rMQpbw2N413p9/3KPH/5cvG1aDN9pKVCDpvDSZaUmvwhPRn3Z0iSqXA==","signatures":[{"sig":"MEQCIFvssp+HvoYwxA+R9Tiz9bbSbmau5FTz9X/VRDerdN6eAiAsx/nflIp20c9tNP6Al7/FDQ9JOvksc3nZVlJmhMAKeQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.5.16","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":12427149},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./hooks":{"types":"./dist/core/hooks/index.d.ts","import":"./dist/core/hooks/index.js"}},"gitHead":"cd046e206fc385f5bcd6fbc3b43f9af9d05c6a08","scripts":{"dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsgo -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","clean":"shx rm -rf dist","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/","build:binary":"npm --prefix ../tui run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm run build && bun build --compile ./dist/bun/cli.js --outfile dist/pi && npm run copy-binary-assets","prepublishOnly":"shx rm -rf dist && tsgo -p tsconfig.build.json && shx chmod +x dist/cli.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html dist/export-html/ && shx cp src/core/export-html/vendor/*.js dist/export-html/vendor/ && shx cp -r docs dist/ && shx cp -r examples dist/ && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:bb0deb99-9a8d-4f70-be29-218fabd4f2b1"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.2"},"rimraf":"6.1.2"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.12.1","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.15.0","dependencies":{"diff":"^8.0.2","glob":"^13.0.1","jiti":"^2.7.0","yaml":"^2.8.2","chalk":"^5.5.0","ignore":"^7.0.5","undici":"^7.19.1","typebox":"^1.1.24","minimatch":"^10.2.3","highlight.js":"^10.7.3","hosted-git-info":"^9.0.2","proper-lockfile":"^4.1.2","@anthropic-ai/sdk":"^0.91.1","@earendil-works/pi-ai":"^2026.5.16","@earendil-works/pi-tui":"^2026.5.16","@silvia-odwyer/photon-node":"^0.3.4","@earendil-works/pi-agent-core":"^2026.5.16"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.4.0","vitest":"^3.2.4","@types/ms":"^2.1.0","typescript":"^5.7.3","@types/diff":"^7.0.2","@types/node":"^24.3.0","@types/hosted-git-info":"^3.0.5","@types/proper-lockfile":"^4.1.4"},"optionalDependencies":{"@mariozechner/clipboard":"^0.3.5"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.5.16_1778912029124_0.9125071208049618","host":"s3://npm-registry-packages-npm-production"}},"2026.5.18":{"name":"@code-yeongyu/senpi","version":"2026.5.18","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.5.18","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"senpi":"dist/cli.js"},"dist":{"shasum":"25452b436e3637f6912935428d4b16c193bce66e","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.5.18.tgz","fileCount":1142,"integrity":"sha512-5M4C3Uf+uq8qR3rvKd811vGE9SOMpLZt50dU4GRHfzu9BwBj9ObWzpz660kvZTQdjqZ5eF9aoK6b1plT10eAkg==","signatures":[{"sig":"MEQCIDcw5PcmUtGirFAIpeFITE7AXRRNI/XBIhYcGKOeMBC9AiA2cGFfX8Pmyyhfe3YeYgQqarwALJiQkAPwt8qazkVauw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.5.18","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":12499868},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./hooks":{"types":"./dist/core/hooks/index.d.ts","import":"./dist/core/hooks/index.js"}},"gitHead":"64c2a19555ed5c6a2445a8e4e3b1af0fa193f26c","scripts":{"dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsgo -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","clean":"shx rm -rf dist","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/","build:binary":"npm --prefix ../tui run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm run build && bun build --compile ./dist/bun/cli.js --outfile dist/pi && npm run copy-binary-assets","prepublishOnly":"shx rm -rf dist && tsgo -p tsconfig.build.json && shx chmod +x dist/cli.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html dist/export-html/ && shx cp src/core/export-html/vendor/*.js dist/export-html/vendor/ && shx cp -r docs dist/ && shx cp -r examples dist/ && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:bb0deb99-9a8d-4f70-be29-218fabd4f2b1"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.2"},"rimraf":"6.1.2"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.12.1","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.15.0","dependencies":{"diff":"^8.0.2","glob":"^13.0.1","jiti":"^2.7.0","yaml":"^2.8.2","chalk":"^5.5.0","ignore":"^7.0.5","undici":"^8.3.0","typebox":"^1.1.24","minimatch":"^10.2.3","highlight.js":"^10.7.3","hosted-git-info":"^9.0.2","proper-lockfile":"^4.1.2","@anthropic-ai/sdk":"^0.91.1","@earendil-works/pi-ai":"^2026.5.18","@earendil-works/pi-tui":"^2026.5.18","@silvia-odwyer/photon-node":"^0.3.4","@earendil-works/pi-agent-core":"^2026.5.18"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.4.0","vitest":"^3.2.4","@types/ms":"^2.1.0","typescript":"^5.7.3","@types/diff":"^7.0.2","@types/node":"^24.3.0","@types/hosted-git-info":"^3.0.5","@types/proper-lockfile":"^4.1.4"},"optionalDependencies":{"@mariozechner/clipboard":"^0.3.6"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.5.18_1779070725373_0.2415150057412767","host":"s3://npm-registry-packages-npm-production"}},"2026.5.18-2":{"name":"@code-yeongyu/senpi","version":"2026.5.18-2","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.5.18-2","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"senpi":"dist/cli.js"},"dist":{"shasum":"0531984474a11a2efec0e3d83904461f30b5a58f","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.5.18-2.tgz","fileCount":1142,"integrity":"sha512-BkcJntdMF85JS37sOGtN30C+E27ekBF6IHchD7wPGRrSD2fxn1HUra/+dLFnYa7A7uDJu1ebLSnBl31FWZtRYg==","signatures":[{"sig":"MEUCIBO63CfMMiuBA7W//eu0j/cW4Sz74qClHYDeVp44OZc2AiEA2999xOk+ZFpYvtQMCcKvAW8mZOVLjBNVvpRYpyhkKFQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.5.18-2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":12499892},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./hooks":{"types":"./dist/core/hooks/index.d.ts","import":"./dist/core/hooks/index.js"}},"gitHead":"3397f11a33c16656c284e7086dd7124e30b79270","scripts":{"dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsgo -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","clean":"shx rm -rf dist","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/","build:binary":"npm --prefix ../tui run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm run build && bun build --compile ./dist/bun/cli.js --outfile dist/pi && npm run copy-binary-assets","prepublishOnly":"shx rm -rf dist && tsgo -p tsconfig.build.json && shx chmod +x dist/cli.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html dist/export-html/ && shx cp src/core/export-html/vendor/*.js dist/export-html/vendor/ && shx cp -r docs dist/ && shx cp -r examples dist/ && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:bb0deb99-9a8d-4f70-be29-218fabd4f2b1"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.2"},"rimraf":"6.1.2"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.12.1","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.15.0","dependencies":{"diff":"^8.0.2","glob":"^13.0.1","jiti":"^2.7.0","yaml":"^2.8.2","chalk":"^5.5.0","ignore":"^7.0.5","undici":"^8.3.0","typebox":"^1.1.24","minimatch":"^10.2.3","highlight.js":"^10.7.3","hosted-git-info":"^9.0.2","proper-lockfile":"^4.1.2","@anthropic-ai/sdk":"^0.91.1","@earendil-works/pi-ai":"^0.75.1","@earendil-works/pi-tui":"^0.75.1","@silvia-odwyer/photon-node":"^0.3.4","@earendil-works/pi-agent-core":"^0.75.1"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.4.0","vitest":"^3.2.4","@types/ms":"^2.1.0","typescript":"^5.7.3","@types/diff":"^7.0.2","@types/node":"^24.3.0","@types/hosted-git-info":"^3.0.5","@types/proper-lockfile":"^4.1.4"},"optionalDependencies":{"@mariozechner/clipboard":"^0.3.6"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.5.18-2_1779071918022_0.6359787575039828","host":"s3://npm-registry-packages-npm-production"}},"2026.5.19":{"name":"@code-yeongyu/senpi","version":"2026.5.19","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.5.19","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"senpi":"dist/cli.js"},"dist":{"shasum":"11955ad1571c44dfbc8de1cb953af4739ca1b926","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.5.19.tgz","fileCount":1150,"integrity":"sha512-DsXjjtV56xa+dVaMzQSJlWs4jr9MaMbJ8s21wfGrtoDPgAjIdXOtpm/SjDgkcpz443mPOg6oj26mq7+Y4p4qKA==","signatures":[{"sig":"MEUCIQDK7iGwF2FQZYvSpHpHja67Om+c5Fnav1xvbvF9fMEJ3wIgQnZrAHEe5WaUWByXnsfatLtaKsrAtm0v85CMFPnZSdo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.5.19","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":12547203},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./hooks":{"types":"./dist/core/hooks/index.d.ts","import":"./dist/core/hooks/index.js"}},"gitHead":"e88a60dddcc8847799a6d8d7f03252305d65ed81","scripts":{"dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsgo -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","clean":"shx rm -rf dist","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/","build:binary":"npm --prefix ../tui run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm run build && bun build --compile ./dist/bun/cli.js --outfile dist/pi && npm run copy-binary-assets","prepublishOnly":"shx rm -rf dist && tsgo -p tsconfig.build.json && shx chmod +x dist/cli.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html dist/export-html/ && shx cp src/core/export-html/vendor/*.js dist/export-html/vendor/ && shx cp -r docs dist/ && shx cp -r examples dist/ && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:bb0deb99-9a8d-4f70-be29-218fabd4f2b1"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.2"},"rimraf":"6.1.2"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.12.1","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.15.0","dependencies":{"diff":"^8.0.2","glob":"^13.0.1","jiti":"^2.7.0","yaml":"^2.8.2","chalk":"^5.5.0","ignore":"^7.0.5","undici":"^8.3.0","typebox":"^1.1.24","minimatch":"^10.2.3","cross-spawn":"^7.0.6","highlight.js":"^10.7.3","hosted-git-info":"^9.0.2","proper-lockfile":"^4.1.2","@anthropic-ai/sdk":"^0.91.1","@earendil-works/pi-ai":"^0.75.3","@earendil-works/pi-tui":"^0.75.3","@silvia-odwyer/photon-node":"^0.3.4","@earendil-works/pi-agent-core":"^0.75.3"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.4.0","vitest":"^3.2.4","@types/ms":"^2.1.0","typescript":"^5.7.3","@types/diff":"^7.0.2","@types/node":"^24.3.0","@types/cross-spawn":"^6.0.6","@types/hosted-git-info":"^3.0.5","@types/proper-lockfile":"^4.1.4"},"optionalDependencies":{"@mariozechner/clipboard":"^0.3.6"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.5.19_1779154434263_0.9039931823515817","host":"s3://npm-registry-packages-npm-production"}},"2026.5.20-2":{"name":"@code-yeongyu/senpi","version":"2026.5.20-2","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.5.20-2","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"senpi":"dist/cli.js"},"dist":{"shasum":"3dadbad26dfe1a23974df6c867d19775606e3c9c","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.5.20-2.tgz","fileCount":1155,"integrity":"sha512-Vxkg9j1PgtuEQeFFBmD4b6eeO3FqKQdXnJWg/dP9rpDtftk01vVckdji+P5+w2SZqsaXhqzt2osgq0C86sxY2A==","signatures":[{"sig":"MEQCIGP++48nqw4FhPQivunVfPghq/wfEkYmP91kn/IBWI4EAiAvtyn9YEmS5lvsBnt4Syf+Ipk2lKDRmrLIkRCaO30Jig==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.5.20-2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":18120986},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./hooks":{"types":"./dist/core/hooks/index.d.ts","import":"./dist/core/hooks/index.js"}},"gitHead":"c8f0c43f30916d8da11bed9e7f5eaf86be26268a","scripts":{"dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsgo -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi && npm run build:neo-tui","clean":"shx rm -rf dist","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/","build:binary":"npm --prefix ../tui run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm run build && bun build --compile ./dist/bun/cli.js --outfile dist/pi && npm run copy-binary-assets","build:neo-tui":"node ../neo-tui/scripts/build-binary.mjs","prepublishOnly":"shx rm -rf dist && tsgo -p tsconfig.build.json && shx chmod +x dist/cli.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi && npm run build:neo-tui","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html dist/export-html/ && shx cp src/core/export-html/vendor/*.js dist/export-html/vendor/ && shx cp -r docs dist/ && shx cp -r examples dist/ && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:bb0deb99-9a8d-4f70-be29-218fabd4f2b1"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.2"},"rimraf":"6.1.2"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.12.1","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.15.0","dependencies":{"diff":"^8.0.2","glob":"^13.0.1","jiti":"^2.7.0","yaml":"^2.8.2","chalk":"^5.5.0","ignore":"^7.0.5","undici":"^8.3.0","typebox":"^1.1.24","minimatch":"^10.2.3","cross-spawn":"^7.0.6","highlight.js":"^10.7.3","hosted-git-info":"^9.0.2","proper-lockfile":"^4.1.2","@anthropic-ai/sdk":"^0.91.1","@earendil-works/pi-ai":"^0.75.3","@earendil-works/pi-tui":"^0.75.3","@silvia-odwyer/photon-node":"^0.3.4","@earendil-works/pi-agent-core":"^0.75.3"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.4.0","vitest":"^3.2.4","@types/ms":"^2.1.0","typescript":"^5.7.3","@types/diff":"^7.0.2","@types/node":"^24.3.0","@types/cross-spawn":"^6.0.6","@types/hosted-git-info":"^3.0.5","@types/proper-lockfile":"^4.1.4"},"optionalDependencies":{"@mariozechner/clipboard":"^0.3.6"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.5.20-2_1779269706584_0.8964563437151398","host":"s3://npm-registry-packages-npm-production"}},"2026.5.20-3":{"name":"@code-yeongyu/senpi","version":"2026.5.20-3","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.5.20-3","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"senpi":"dist/cli.js"},"dist":{"shasum":"9b12ce4bb8f7f80d356a5df594f28f60b994b008","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.5.20-3.tgz","fileCount":1164,"integrity":"sha512-Pp5Eg7KSOF4R4OAO2ETlChZtasUo+Ufb2e/lrUC8a8FwZroQxZG0Sy39s5k/zQvDhD9+uAFl1UZQPc95M+StNA==","signatures":[{"sig":"MEUCIQC5kbY1OebHPi29zMSuvs3V54/g14mJJ+pca8gGvFtklAIgddu8k4OWBckoV7PBLRwMM1M3edjiguk5lg1ijbVzRXs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.5.20-3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":18936766},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./hooks":{"types":"./dist/core/hooks/index.d.ts","import":"./dist/core/hooks/index.js"}},"gitHead":"ad2b8b6bb1185c4c44ab3514ac23ca9eea8c8833","scripts":{"dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsgo -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi && npm run build:neo-tui","clean":"shx rm -rf dist","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/","build:binary":"npm --prefix ../tui run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm run build && bun build --compile ./dist/bun/cli.js --outfile dist/pi && npm run copy-binary-assets","build:neo-tui":"node ../neo-tui/scripts/build-binary.mjs","prepublishOnly":"shx rm -rf dist && tsgo -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi && npm run build:neo-tui","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html dist/export-html/ && shx cp src/core/export-html/vendor/*.js dist/export-html/vendor/ && shx cp -r docs dist/ && shx cp -r examples dist/ && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:bb0deb99-9a8d-4f70-be29-218fabd4f2b1"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.2"},"rimraf":"6.1.2"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.12.1","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.15.0","dependencies":{"diff":"^8.0.2","glob":"^13.0.1","jiti":"^2.7.0","yaml":"^2.8.2","chalk":"^5.5.0","ignore":"^7.0.5","undici":"^8.3.0","typebox":"^1.1.24","minimatch":"^10.2.3","cross-spawn":"^7.0.6","highlight.js":"^10.7.3","hosted-git-info":"^9.0.2","proper-lockfile":"^4.1.2","@anthropic-ai/sdk":"^0.91.1","@earendil-works/pi-ai":"^0.75.3","@earendil-works/pi-tui":"^0.75.3","@silvia-odwyer/photon-node":"^0.3.4","@earendil-works/pi-agent-core":"^0.75.3"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.4.0","vitest":"^3.2.4","@types/ms":"^2.1.0","typescript":"^5.7.3","@types/diff":"^7.0.2","@types/node":"^24.3.0","@types/cross-spawn":"^6.0.6","@types/hosted-git-info":"^3.0.5","@types/proper-lockfile":"^4.1.4"},"optionalDependencies":{"@mariozechner/clipboard":"^0.3.6"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.5.20-3_1779275396071_0.9584482149824782","host":"s3://npm-registry-packages-npm-production"}},"2026.5.20-4":{"name":"@code-yeongyu/senpi","version":"2026.5.20-4","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.5.20-4","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"senpi":"dist/cli.js"},"dist":{"shasum":"07faed7f8404d6f135a4489978722859ff93fe5e","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.5.20-4.tgz","fileCount":1164,"integrity":"sha512-+vIGdWNNOfneaMVISe2MlEO4/zh963lijoqlXpmmgXZ8SDTzTgYNlD7wCdnLMegjsCQChFhj3AQWukJx18x0Wg==","signatures":[{"sig":"MEUCIF/hlXew4EjxAHaSppKRG1GlYr7iWks7j5XuoOaYQrNZAiEAzo0XNmvw1/20PekxvoTGvAdwuF13y5Vj0g2l+fvaX68=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.5.20-4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":18937080},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./hooks":{"types":"./dist/core/hooks/index.d.ts","import":"./dist/core/hooks/index.js"}},"gitHead":"2c9df9919f5f15b73cccc6d04f351ddbbb5434aa","scripts":{"dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsgo -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi && npm run build:neo-tui","clean":"shx rm -rf dist","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/","build:binary":"npm --prefix ../tui run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm run build && bun build --compile ./dist/bun/cli.js --outfile dist/pi && npm run copy-binary-assets","build:neo-tui":"node ../neo-tui/scripts/build-binary.mjs","prepublishOnly":"shx rm -rf dist && tsgo -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi && npm run build:neo-tui","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html dist/export-html/ && shx cp src/core/export-html/vendor/*.js dist/export-html/vendor/ && shx cp -r docs dist/ && shx cp -r examples dist/ && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:bb0deb99-9a8d-4f70-be29-218fabd4f2b1"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.2"},"rimraf":"6.1.2"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.12.1","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.15.0","dependencies":{"diff":"^8.0.2","glob":"^13.0.1","jiti":"^2.7.0","yaml":"^2.8.2","chalk":"^5.5.0","ignore":"^7.0.5","undici":"^8.3.0","typebox":"^1.1.24","minimatch":"^10.2.3","cross-spawn":"^7.0.6","highlight.js":"^10.7.3","hosted-git-info":"^9.0.2","proper-lockfile":"^4.1.2","@anthropic-ai/sdk":"^0.91.1","@earendil-works/pi-ai":"^0.75.3","@earendil-works/pi-tui":"^0.75.3","@silvia-odwyer/photon-node":"^0.3.4","@earendil-works/pi-agent-core":"^0.75.3"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.4.0","vitest":"^3.2.4","@types/ms":"^2.1.0","typescript":"^5.7.3","@types/diff":"^7.0.2","@types/node":"^24.3.0","@types/cross-spawn":"^6.0.6","@types/hosted-git-info":"^3.0.5","@types/proper-lockfile":"^4.1.4"},"optionalDependencies":{"@mariozechner/clipboard":"^0.3.6"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.5.20-4_1779279066647_0.5790388780463318","host":"s3://npm-registry-packages-npm-production"}},"2026.5.21":{"name":"@code-yeongyu/senpi","version":"2026.5.21","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.5.21","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"senpi":"dist/cli.js"},"dist":{"shasum":"6adb43d3fcc2c85172e95c0a518d864bdc1e9829","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.5.21.tgz","fileCount":1918,"integrity":"sha512-8erxJsi1uxET0tjoBVDsA7tn2rIqMYV8TxN2IpsjLFq71mtp/KEsBp8ouIXOAh4qlqmLGgT+IgRowjUEE+Ku9g==","signatures":[{"sig":"MEUCIBvSbivWskD3L3J8kJegoL+S4FFnPeyyCSZ8S7pWaUDSAiEA29t6YgtEPO54/JvDDFijPwGwGc+VRqn34wzAP8vkvlU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.5.21","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":28007848},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./hooks":{"types":"./dist/core/hooks/index.d.ts","import":"./dist/core/hooks/index.js"}},"gitHead":"5723fa42d3d5a014bcaed4bef9153218a77a658d","scripts":{"dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsgo -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi && npm run build:neo-tui","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/","build:binary":"npm --prefix ../tui run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm run build && bun build --compile ./dist/bun/cli.js --outfile dist/pi && npm run copy-binary-assets","build:neo-tui":"node ../neo-tui/scripts/build-binary.mjs","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html dist/export-html/ && shx cp src/core/export-html/vendor/*.js dist/export-html/vendor/ && shx cp -r docs dist/ && shx cp -r examples dist/ && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:bb0deb99-9a8d-4f70-be29-218fabd4f2b1"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.2"},"rimraf":"6.1.2"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.12.1","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.15.0","dependencies":{"diff":"8.0.4","glob":"13.0.6","jiti":"2.7.0","yaml":"2.9.0","chalk":"5.6.2","ignore":"7.0.5","marked":"15.0.12","openai":"6.26.0","undici":"8.3.0","typebox":"1.1.38","minimatch":"10.2.5","cross-spawn":"7.0.6","highlight.js":"10.7.3","partial-json":"0.1.7","@smithy/types":"4.8.0","proxy-from-env":"1.1.0","hosted-git-info":"9.0.3","proper-lockfile":"4.1.2","http-proxy-agent":"7.0.2","@anthropic-ai/sdk":"0.91.1","https-proxy-agent":"7.0.6","@mistralai/mistralai":"2.2.1","get-east-asian-width":"1.6.0","@earendil-works/pi-ai":"^2026.5.21","@earendil-works/pi-tui":"^2026.5.21","@smithy/node-http-handler":"4.4.0","@silvia-odwyer/photon-node":"0.3.4","@earendil-works/pi-agent-core":"^2026.5.21","@aws-sdk/client-bedrock-runtime":"3.1048.0"},"_hasShrinkwrap":true,"devDependencies":{"shx":"0.4.0","vitest":"3.2.4","@types/ms":"2.1.0","typescript":"5.9.3","@types/diff":"7.0.2","@types/node":"24.12.4","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-tui"],"optionalDependencies":{"@mariozechner/clipboard":"0.3.6"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.5.21_1779343371162_0.19164480300647524","host":"s3://npm-registry-packages-npm-production"}},"2026.5.21-2":{"name":"@code-yeongyu/senpi","version":"2026.5.21-2","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.5.21-2","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"senpi":"dist/cli.js"},"dist":{"shasum":"197e106a664c833530a0e05347da91b738ed97ad","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.5.21-2.tgz","fileCount":15665,"integrity":"sha512-qzmwLq6MMS1Edqdx+tQsX+3ofghx0rKtcgERO+e1+uPqjx1LUFxI5iYSVtyUdxSCyAP4sqYX2hb6RJgRhVcfaw==","signatures":[{"sig":"MEUCIFtqKzgsBXFIgde3U0B9EDs1i/GbbDjCIu6ywzrVX/dDAiEAr0csB6Unp81ajr7ZY7JCeT51Q5jCLvVvz0Q32ne0tJM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.5.21-2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":91827018},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./hooks":{"types":"./dist/core/hooks/index.d.ts","import":"./dist/core/hooks/index.js"}},"gitHead":"453f970b62d1719e1766a5801a935ac8646f00ba","scripts":{"dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsgo -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi && npm run build:neo-tui","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/","build:binary":"npm --prefix ../tui run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm run build && bun build --compile ./dist/bun/cli.js --outfile dist/pi && npm run copy-binary-assets","build:neo-tui":"node ../neo-tui/scripts/build-binary.mjs","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html dist/export-html/ && shx cp src/core/export-html/vendor/*.js dist/export-html/vendor/ && shx cp -r docs dist/ && shx cp -r examples dist/ && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:bb0deb99-9a8d-4f70-be29-218fabd4f2b1"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.2"},"rimraf":"6.1.2"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.12.1","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.15.0","dependencies":{"diff":"8.0.4","glob":"13.0.6","jiti":"2.7.0","yaml":"2.9.0","chalk":"5.6.2","ignore":"7.0.5","marked":"15.0.12","openai":"6.26.0","undici":"8.3.0","typebox":"1.1.38","minimatch":"10.2.5","cross-spawn":"7.0.6","highlight.js":"10.7.3","partial-json":"0.1.7","@smithy/types":"4.8.0","proxy-from-env":"1.1.0","hosted-git-info":"9.0.3","proper-lockfile":"4.1.2","http-proxy-agent":"7.0.2","@anthropic-ai/sdk":"0.91.1","https-proxy-agent":"7.0.6","@mistralai/mistralai":"2.2.1","get-east-asian-width":"1.6.0","@earendil-works/pi-ai":"^2026.5.21-2","@earendil-works/pi-tui":"^2026.5.21-2","@smithy/node-http-handler":"4.4.0","@silvia-odwyer/photon-node":"0.3.4","@earendil-works/pi-agent-core":"^2026.5.21-2","@aws-sdk/client-bedrock-runtime":"3.1048.0"},"_hasShrinkwrap":true,"devDependencies":{"shx":"0.4.0","vitest":"3.2.4","@types/ms":"2.1.0","typescript":"5.9.3","@types/diff":"7.0.2","@types/node":"24.12.4","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-tui"],"optionalDependencies":{"@mariozechner/clipboard":"0.3.6"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.5.21-2_1779344667479_0.5476773983286536","host":"s3://npm-registry-packages-npm-production"}},"2026.5.23":{"name":"@code-yeongyu/senpi","version":"2026.5.23","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.5.23","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"senpi":"dist/cli.js"},"dist":{"shasum":"6b2e88f603fb3f3b75bb818c32257cb774aa51c9","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.5.23.tgz","fileCount":15677,"integrity":"sha512-mKJubkd+LSf4XTUjgK86P1WdMbNIO6HpKBbAj2B9AqIDuzx6Azv/hBooD4umUKR5g3A7uC6PvNhegWzNN/DhHQ==","signatures":[{"sig":"MEUCICV6qX7VL+tByRJuMMQLD0XfOo2OP11O7NxIiyP1NrwHAiEAvn6aS8nkKE42+6CwBcPwLgTGmX9Q1QqbHyFMe9XBel0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.5.23","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":91887748},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./hooks":{"types":"./dist/core/hooks/index.d.ts","import":"./dist/core/hooks/index.js"}},"gitHead":"717f68d7646f87cd73cd67b802d6b037e7c877dd","scripts":{"dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsgo -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi && npm run build:neo-tui","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/","build:binary":"npm --prefix ../tui run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm run build && bun build --compile ./dist/bun/cli.js ./src/utils/image-resize-worker.ts --outfile dist/pi && npm run copy-binary-assets","build:neo-tui":"node ../neo-tui/scripts/build-binary.mjs","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html dist/export-html/ && shx cp src/core/export-html/vendor/*.js dist/export-html/vendor/ && shx cp -r docs dist/ && shx cp -r examples dist/ && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:bb0deb99-9a8d-4f70-be29-218fabd4f2b1"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.2"},"rimraf":"6.1.2"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.12.1","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.15.0","dependencies":{"diff":"8.0.4","glob":"13.0.6","jiti":"2.7.0","yaml":"2.9.0","chalk":"5.6.2","ignore":"7.0.5","marked":"15.0.12","openai":"6.26.0","undici":"8.3.0","typebox":"1.1.38","minimatch":"10.2.5","cross-spawn":"7.0.6","highlight.js":"10.7.3","partial-json":"0.1.7","@smithy/types":"4.8.0","proxy-from-env":"1.1.0","hosted-git-info":"9.0.3","proper-lockfile":"4.1.2","http-proxy-agent":"7.0.2","@anthropic-ai/sdk":"0.91.1","https-proxy-agent":"7.0.6","@mistralai/mistralai":"2.2.1","get-east-asian-width":"1.6.0","@earendil-works/pi-ai":"^2026.5.23","@earendil-works/pi-tui":"^2026.5.23","@smithy/node-http-handler":"4.4.0","@silvia-odwyer/photon-node":"0.3.4","@earendil-works/pi-agent-core":"^2026.5.23","@aws-sdk/client-bedrock-runtime":"3.1048.0"},"_hasShrinkwrap":true,"devDependencies":{"shx":"0.4.0","vitest":"3.2.4","@types/ms":"2.1.0","typescript":"5.9.3","@types/diff":"7.0.2","@types/node":"24.12.4","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-tui"],"optionalDependencies":{"@mariozechner/clipboard":"0.3.6"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.5.23_1779541216118_0.8706997674123369","host":"s3://npm-registry-packages-npm-production"}},"2026.5.23-2":{"name":"@code-yeongyu/senpi","version":"2026.5.23-2","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.5.23-2","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"senpi":"dist/cli.js"},"dist":{"shasum":"1560b32ce8657fcf60bb31a29bf84be557d9c71a","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.5.23-2.tgz","fileCount":15737,"integrity":"sha512-ArjMjWpi7GZHeOcIbN73grtC4XVVX7lFH4MXFZTDNuUaIbOTdx2MQp8GF7R0qcW1z5WZaoS8qbdd7qm2gSaf6A==","signatures":[{"sig":"MEUCIQCgMOH/GSGnRxHr4psxNI9JXBTq0tp3vH3fX/zZy0WxJwIgHpkgv0am1Ct2fuIxdq7+7QoTpoEPGpJRFzQhxpmx2xY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.5.23-2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":92106125},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./hooks":{"types":"./dist/core/hooks/index.d.ts","import":"./dist/core/hooks/index.js"}},"gitHead":"b01166d475f89570f26eb3b8567110f9134c90ae","scripts":{"dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsgo -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi && npm run build:neo-tui","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/","build:binary":"npm --prefix ../tui run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm run build && bun build --compile ./dist/bun/cli.js ./src/utils/image-resize-worker.ts --outfile dist/pi && npm run copy-binary-assets","build:neo-tui":"node ../neo-tui/scripts/build-binary.mjs","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html dist/export-html/ && shx cp src/core/export-html/vendor/*.js dist/export-html/vendor/ && shx cp -r docs dist/ && shx cp -r examples dist/ && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:bb0deb99-9a8d-4f70-be29-218fabd4f2b1"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.2"},"rimraf":"6.1.2"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.12.1","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.15.0","dependencies":{"diff":"8.0.4","glob":"13.0.6","jiti":"2.7.0","yaml":"2.9.0","chalk":"5.6.2","ignore":"7.0.5","marked":"15.0.12","openai":"6.26.0","undici":"8.3.0","typebox":"1.1.38","minimatch":"10.2.5","cross-spawn":"7.0.6","highlight.js":"10.7.3","partial-json":"0.1.7","@smithy/types":"4.8.0","proxy-from-env":"1.1.0","hosted-git-info":"9.0.3","proper-lockfile":"4.1.2","http-proxy-agent":"7.0.2","@anthropic-ai/sdk":"0.91.1","https-proxy-agent":"7.0.6","@mistralai/mistralai":"2.2.1","get-east-asian-width":"1.6.0","@earendil-works/pi-ai":"^2026.5.23-2","@earendil-works/pi-tui":"^2026.5.23-2","@smithy/node-http-handler":"4.4.0","@silvia-odwyer/photon-node":"0.3.4","@earendil-works/pi-agent-core":"^2026.5.23-2","@aws-sdk/client-bedrock-runtime":"3.1048.0"},"_hasShrinkwrap":true,"devDependencies":{"shx":"0.4.0","vitest":"3.2.4","@types/ms":"2.1.0","typescript":"5.9.3","@types/diff":"7.0.2","@types/node":"24.12.4","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-tui"],"optionalDependencies":{"@mariozechner/clipboard":"0.3.6"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.5.23-2_1779560652229_0.4778023904697135","host":"s3://npm-registry-packages-npm-production"}},"2026.5.24":{"name":"@code-yeongyu/senpi","version":"2026.5.24","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.5.24","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"senpi":"dist/cli.js"},"dist":{"shasum":"4110d0a9bb98163d80e8351acb990a0d11b28c5d","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.5.24.tgz","fileCount":15741,"integrity":"sha512-j+ruPkqnUkisQQHKlcCV2nJEsPoYjuCl4VO9q25z5Ei64jvzxSpvur8OllPhcu27B10ZjoyY621viAk7s/2nRQ==","signatures":[{"sig":"MEYCIQCEoG6xGVntxeoKRghTxOHacxedT4//X0AF5P/JT2kpPQIhAJDN+7qPd+0C3f6FVPiJgjSnWtj8w0B0M8xjJZCqbHO8","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.5.24","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":92129172},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./hooks":{"types":"./dist/core/hooks/index.d.ts","import":"./dist/core/hooks/index.js"}},"gitHead":"38380b269dd42549f85263f29768301db8be6425","scripts":{"dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsgo -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi && npm run build:neo-tui","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/","build:binary":"npm --prefix ../tui run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm run build && bun build --compile ./dist/bun/cli.js ./src/utils/image-resize-worker.ts --outfile dist/pi && npm run copy-binary-assets","build:neo-tui":"node ../neo-tui/scripts/build-binary.mjs","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html dist/export-html/ && shx cp src/core/export-html/vendor/*.js dist/export-html/vendor/ && shx cp -r docs dist/ && shx cp -r examples dist/ && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:bb0deb99-9a8d-4f70-be29-218fabd4f2b1"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.2"},"rimraf":"6.1.2"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.12.1","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.15.0","dependencies":{"diff":"8.0.4","glob":"13.0.6","jiti":"2.7.0","yaml":"2.9.0","chalk":"5.6.2","ignore":"7.0.5","marked":"15.0.12","openai":"6.26.0","undici":"8.3.0","typebox":"1.1.38","minimatch":"10.2.5","cross-spawn":"7.0.6","highlight.js":"10.7.3","partial-json":"0.1.7","@smithy/types":"4.8.0","proxy-from-env":"1.1.0","hosted-git-info":"9.0.3","proper-lockfile":"4.1.2","http-proxy-agent":"7.0.2","@anthropic-ai/sdk":"0.91.1","https-proxy-agent":"7.0.6","@mistralai/mistralai":"2.2.1","get-east-asian-width":"1.6.0","@earendil-works/pi-ai":"^2026.5.24","@earendil-works/pi-tui":"^2026.5.24","@smithy/node-http-handler":"4.4.0","@silvia-odwyer/photon-node":"0.3.4","@earendil-works/pi-agent-core":"^2026.5.24","@aws-sdk/client-bedrock-runtime":"3.1048.0"},"_hasShrinkwrap":true,"devDependencies":{"shx":"0.4.0","vitest":"3.2.4","@types/ms":"2.1.0","typescript":"5.9.3","@types/diff":"7.0.2","@types/node":"24.12.4","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-tui"],"optionalDependencies":{"@mariozechner/clipboard":"0.3.6"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.5.24_1779608662526_0.2110456895926427","host":"s3://npm-registry-packages-npm-production"}},"2026.5.29":{"name":"@code-yeongyu/senpi","version":"2026.5.29","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.5.29","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"senpi":"dist/cli.js"},"dist":{"shasum":"0ed63af56b2471e85ee8152efb92e248b22e5904","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.5.29.tgz","fileCount":15744,"integrity":"sha512-CkbfBqHOWJJHVB5ylm1M4tFqr6wZ4HAwTq4ZHmVxr698EAAsCSZv3OPa4XjkLpsdNN0grwAWGeRTloVFR1OQKw==","signatures":[{"sig":"MEUCIQDr8SPfT5gUYT4poGBQWL6VhSeeS4JitmjLjGRYD/hbjwIgVxfdQMF0fnP9Hnzx3fpilr+/IEDNVt9zzo9YZzq9hps=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.5.29","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":86688578},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./hooks":{"types":"./dist/core/hooks/index.d.ts","import":"./dist/core/hooks/index.js"}},"gitHead":"d3caa3e819cdf6ab486923cb646640007c8502ee","scripts":{"dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsgo -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/","build:binary":"npm --prefix ../tui run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm run build && bun build --compile ./dist/bun/cli.js ./src/utils/image-resize-worker.ts --outfile dist/pi && npm run copy-binary-assets","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html dist/export-html/ && shx cp src/core/export-html/vendor/*.js dist/export-html/vendor/ && shx cp -r docs dist/ && shx cp -r examples dist/ && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:bb0deb99-9a8d-4f70-be29-218fabd4f2b1"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.2"},"rimraf":"6.1.2"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.13.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.16.0","dependencies":{"diff":"8.0.4","glob":"13.0.6","jiti":"2.7.0","yaml":"2.9.0","chalk":"5.6.2","ignore":"7.0.5","marked":"15.0.12","openai":"6.26.0","undici":"8.3.0","typebox":"1.1.38","minimatch":"10.2.5","cross-spawn":"7.0.6","highlight.js":"10.7.3","partial-json":"0.1.7","@smithy/types":"4.8.0","proxy-from-env":"1.1.0","hosted-git-info":"9.0.3","proper-lockfile":"4.1.2","http-proxy-agent":"7.0.2","@anthropic-ai/sdk":"0.91.1","https-proxy-agent":"7.0.6","@mistralai/mistralai":"2.2.1","get-east-asian-width":"1.6.0","@earendil-works/pi-ai":"^2026.5.29","@earendil-works/pi-tui":"^2026.5.29","@smithy/node-http-handler":"4.7.3","@silvia-odwyer/photon-node":"0.3.4","@earendil-works/pi-agent-core":"^2026.5.29","@aws-sdk/client-bedrock-runtime":"3.1048.0"},"_hasShrinkwrap":true,"devDependencies":{"shx":"0.4.0","vitest":"3.2.4","@types/ms":"2.1.0","typescript":"5.9.3","@types/diff":"7.0.2","@types/node":"24.12.4","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-tui"],"optionalDependencies":{"@mariozechner/clipboard":"0.3.6"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.5.29_1780019514846_0.10997886435625714","host":"s3://npm-registry-packages-npm-production"}},"2026.5.29-2":{"name":"@code-yeongyu/senpi","version":"2026.5.29-2","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.5.29-2","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"senpi":"dist/cli.js"},"dist":{"shasum":"4c40d675f9abb187c68541541712b576dec79791","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.5.29-2.tgz","fileCount":15744,"integrity":"sha512-IQWzYEKzcKScQ4cmepNUhPf4hNmgsxDnA5qsLVY8nVJc2c4FU3YzZCXcQZuCfyXyDCVN/t7p47iGJYK/mrOXeQ==","signatures":[{"sig":"MEUCIGsdG4yZFVJYSe/PAx2ZRpaq/ajyzTCfDJf21zi5GtGGAiEAiDKS/7Y7GUDz0r4GjoIzqYqVuyIYTeqRuAObbEVnYkQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.5.29-2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":86719463},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./hooks":{"types":"./dist/core/hooks/index.d.ts","import":"./dist/core/hooks/index.js"}},"gitHead":"af5cdff9ac6d10a9793377a330f9dad9b30f32fb","scripts":{"dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsgo -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/","build:binary":"npm --prefix ../tui run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm run build && bun build --compile ./dist/bun/cli.js ./src/utils/image-resize-worker.ts --outfile dist/pi && npm run copy-binary-assets","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html dist/export-html/ && shx cp src/core/export-html/vendor/*.js dist/export-html/vendor/ && shx cp -r docs dist/ && shx cp -r examples dist/ && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:bb0deb99-9a8d-4f70-be29-218fabd4f2b1"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.2"},"rimraf":"6.1.2"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.13.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.16.0","dependencies":{"diff":"8.0.4","glob":"13.0.6","jiti":"2.7.0","yaml":"2.9.0","chalk":"5.6.2","ignore":"7.0.5","marked":"15.0.12","openai":"6.26.0","undici":"8.3.0","typebox":"1.1.38","minimatch":"10.2.5","cross-spawn":"7.0.6","highlight.js":"10.7.3","partial-json":"0.1.7","@smithy/types":"4.8.0","proxy-from-env":"1.1.0","hosted-git-info":"9.0.3","proper-lockfile":"4.1.2","http-proxy-agent":"7.0.2","@anthropic-ai/sdk":"0.91.1","https-proxy-agent":"7.0.6","@mistralai/mistralai":"2.2.1","get-east-asian-width":"1.6.0","@earendil-works/pi-ai":"^2026.5.29-2","@earendil-works/pi-tui":"^2026.5.29-2","@smithy/node-http-handler":"4.7.3","@silvia-odwyer/photon-node":"0.3.4","@earendil-works/pi-agent-core":"^2026.5.29-2","@aws-sdk/client-bedrock-runtime":"3.1048.0"},"_hasShrinkwrap":true,"devDependencies":{"shx":"0.4.0","vitest":"3.2.4","@types/ms":"2.1.0","typescript":"5.9.3","@types/diff":"7.0.2","@types/node":"24.12.4","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-tui"],"optionalDependencies":{"@mariozechner/clipboard":"0.3.6"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.5.29-2_1780020321976_0.9505355428930664","host":"s3://npm-registry-packages-npm-production"}},"2026.5.29-3":{"name":"@code-yeongyu/senpi","version":"2026.5.29-3","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.5.29-3","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"senpi":"dist/cli.js"},"dist":{"shasum":"9e91588193e2592a9c3678da5e83076e5cbe2147","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.5.29-3.tgz","fileCount":15744,"integrity":"sha512-kkwJiogA6+sLuMoS8d+0hdiUIt6kDuaPcJvAG7SsofNjwwOtmScAz/sKz0hfBa4Nbs0JUP7lt545IcdRLDKguQ==","signatures":[{"sig":"MEUCIH78KdQUW62EV1XTvf5GMeP6z0/SrpJSp3mrAQpfWwNNAiEAyr/6gv3g2yKo5GbQAqPkdvN7MJxm+5omTHcCVHpeKZw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.5.29-3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":86719655},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./hooks":{"types":"./dist/core/hooks/index.d.ts","import":"./dist/core/hooks/index.js"}},"gitHead":"11090c29655c44788b1014ca06b1a33f6b12b2c9","scripts":{"dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsgo -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/","build:binary":"npm --prefix ../tui run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm run build && bun build --compile ./dist/bun/cli.js ./src/utils/image-resize-worker.ts --outfile dist/pi && npm run copy-binary-assets","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html dist/export-html/ && shx cp src/core/export-html/vendor/*.js dist/export-html/vendor/ && shx cp -r docs dist/ && shx cp -r examples dist/ && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:bb0deb99-9a8d-4f70-be29-218fabd4f2b1"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.2"},"rimraf":"6.1.2"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.13.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.16.0","dependencies":{"diff":"8.0.4","glob":"13.0.6","jiti":"2.7.0","yaml":"2.9.0","chalk":"5.6.2","ignore":"7.0.5","marked":"15.0.12","openai":"6.26.0","undici":"8.3.0","typebox":"1.1.38","minimatch":"10.2.5","cross-spawn":"7.0.6","highlight.js":"10.7.3","partial-json":"0.1.7","@smithy/types":"4.8.0","proxy-from-env":"1.1.0","hosted-git-info":"9.0.3","proper-lockfile":"4.1.2","http-proxy-agent":"7.0.2","@anthropic-ai/sdk":"0.91.1","https-proxy-agent":"7.0.6","@mistralai/mistralai":"2.2.1","get-east-asian-width":"1.6.0","@earendil-works/pi-ai":"^2026.5.29-3","@earendil-works/pi-tui":"^2026.5.29-3","@smithy/node-http-handler":"4.7.3","@silvia-odwyer/photon-node":"0.3.4","@earendil-works/pi-agent-core":"^2026.5.29-3","@aws-sdk/client-bedrock-runtime":"3.1048.0"},"_hasShrinkwrap":true,"devDependencies":{"shx":"0.4.0","vitest":"3.2.4","@types/ms":"2.1.0","typescript":"5.9.3","@types/diff":"7.0.2","@types/node":"24.12.4","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-tui"],"optionalDependencies":{"@mariozechner/clipboard":"0.3.6"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.5.29-3_1780021229061_0.6394302591651351","host":"s3://npm-registry-packages-npm-production"}},"2026.5.29-4":{"name":"@code-yeongyu/senpi","version":"2026.5.29-4","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.5.29-4","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"senpi":"dist/cli.js"},"dist":{"shasum":"6a055baa220cca12be32b072c70862eb5a8f67fd","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.5.29-4.tgz","fileCount":1246,"integrity":"sha512-q5Nv0aQL9wvyyQqzCtom+ZP2shA1NXMY4/8/b+gLaapI7EO1avMY7tPV7L9PwlPS4gUy2l3Bob1xiu+tXV06MA==","signatures":[{"sig":"MEYCIQCDgW7xf1utvU4D7DdY22QxaH7sOZZsIaQA3xbnII+dgwIhANutTnQIdHkhmeZ7tXL9RrEtV2OInSZrsj8eC5q+XGac","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.5.29-4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":13957708},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./hooks":{"types":"./dist/core/hooks/index.d.ts","import":"./dist/core/hooks/index.js"}},"gitHead":"2af6d86a67a7b4b2eec907cff90e1af2a43db015","scripts":{"dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsgo -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/","build:binary":"npm --prefix ../tui run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm run build && bun build --compile ./dist/bun/cli.js ./src/utils/image-resize-worker.ts --outfile dist/pi && npm run copy-binary-assets","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html dist/export-html/ && shx cp src/core/export-html/vendor/*.js dist/export-html/vendor/ && shx cp -r docs dist/ && shx cp -r examples dist/ && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cb385a00-0239-4c6e-aeb9-4f5c48eb2124"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.2"},"rimraf":"6.1.2"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.16.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"22.22.3","dependencies":{"diff":"8.0.4","glob":"13.0.6","jiti":"2.7.0","yaml":"2.9.0","chalk":"5.6.2","ignore":"7.0.5","marked":"15.0.12","openai":"6.26.0","undici":"8.3.0","typebox":"1.1.38","minimatch":"10.2.5","cross-spawn":"7.0.6","highlight.js":"10.7.3","partial-json":"0.1.7","@smithy/types":"4.8.0","proxy-from-env":"1.1.0","hosted-git-info":"9.0.3","proper-lockfile":"4.1.2","http-proxy-agent":"7.0.2","@anthropic-ai/sdk":"0.91.1","https-proxy-agent":"7.0.6","@mistralai/mistralai":"2.2.1","get-east-asian-width":"1.6.0","@earendil-works/pi-ai":"^2026.5.29-4","@earendil-works/pi-tui":"^2026.5.29-4","@smithy/node-http-handler":"4.7.3","@silvia-odwyer/photon-node":"0.3.4","@earendil-works/pi-agent-core":"^2026.5.29-4","@aws-sdk/client-bedrock-runtime":"3.1048.0"},"_hasShrinkwrap":true,"devDependencies":{"shx":"0.4.0","vitest":"3.2.4","@types/ms":"2.1.0","typescript":"5.9.3","@types/diff":"7.0.2","@types/node":"24.12.4","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-tui"],"optionalDependencies":{"@mariozechner/clipboard":"0.3.9"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.5.29-4_1780037860587_0.10475516172849564","host":"s3://npm-registry-packages-npm-production"}},"2026.6.2":{"name":"@code-yeongyu/senpi","version":"2026.6.2","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.6.2","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"senpi":"dist/cli.js"},"dist":{"shasum":"6d0d0e5b46273966f43cb1cee449f675b1ad68c5","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.6.2.tgz","fileCount":1250,"integrity":"sha512-55QsvhZQUdh8NbK0ze15K9qwGfTGu0NYl6r2E6qFpA6qIZCaoyITu1jy3DmzRFtzNa2YtFcITQ1g+rpumUKmLA==","signatures":[{"sig":"MEUCIEtvo0lqKUCtPJ/sZBR9NYGLTz5IMYOju5Jl5lsenYacAiEA4uQf0xoHhhUvWp+quyPGvPBGQZLSZKgCZi323AkWsGY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.6.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":14009537},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./hooks":{"types":"./dist/core/hooks/index.d.ts","import":"./dist/core/hooks/index.js"}},"gitHead":"ab61815ba8e1ced3769a2dc4a819d2d14ff62925","scripts":{"dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsgo -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/","build:binary":"npm --prefix ../tui run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm run build && bun build --compile ./dist/bun/cli.js ./src/utils/image-resize-worker.ts --outfile dist/pi && npm run copy-binary-assets","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html dist/export-html/ && shx cp src/core/export-html/vendor/*.js dist/export-html/vendor/ && shx cp -r docs dist/ && shx cp -r examples dist/ && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cb385a00-0239-4c6e-aeb9-4f5c48eb2124"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.2"},"rimraf":"6.1.2"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.16.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"22.22.3","dependencies":{"diff":"8.0.4","glob":"13.0.6","jiti":"2.7.0","yaml":"2.9.0","chalk":"5.6.2","ignore":"7.0.5","marked":"15.0.12","openai":"6.26.0","undici":"8.3.0","typebox":"1.1.38","minimatch":"10.2.5","cross-spawn":"7.0.6","highlight.js":"10.7.3","partial-json":"0.1.7","@smithy/types":"4.8.0","proxy-from-env":"1.1.0","hosted-git-info":"9.0.3","proper-lockfile":"4.1.2","http-proxy-agent":"7.0.2","@anthropic-ai/sdk":"0.91.1","https-proxy-agent":"7.0.6","@mistralai/mistralai":"2.2.1","get-east-asian-width":"1.6.0","@earendil-works/pi-ai":"^2026.6.2","@earendil-works/pi-tui":"^2026.6.2","@smithy/node-http-handler":"4.7.3","@silvia-odwyer/photon-node":"0.3.4","@earendil-works/pi-agent-core":"^2026.6.2","@aws-sdk/client-bedrock-runtime":"3.1048.0"},"_hasShrinkwrap":true,"devDependencies":{"shx":"0.4.0","vitest":"3.2.4","@types/ms":"2.1.0","typescript":"5.9.3","@types/diff":"7.0.2","@types/node":"24.12.4","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-tui"],"optionalDependencies":{"@mariozechner/clipboard":"0.3.9"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.6.2_1780412211430_0.10461727943248689","host":"s3://npm-registry-packages-npm-production"}},"2026.6.3":{"name":"@code-yeongyu/senpi","version":"2026.6.3","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.6.3","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"senpi":"dist/cli.js"},"dist":{"shasum":"f0d6c7c6f63e2c2226feb48913037ca27e25b821","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.6.3.tgz","fileCount":15766,"integrity":"sha512-S+zVbBWHyaLoxwUNSEwugobVxexSUYi3vJGVALXhOiyQrd3xzwY4uIyJLGPTc7GYZI3WXBcSiPbI/oRcAFjykA==","signatures":[{"sig":"MEUCIGIXr7s1jaANiL+JgBsS2ul180fcBW70mOdQLC+OsDDTAiEA6hZiSavkLbxE/N0B4hCEUENSXfbXuYRIgQLlbau1wuo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.6.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":87119529},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./hooks":{"types":"./dist/core/hooks/index.d.ts","import":"./dist/core/hooks/index.js"}},"gitHead":"d5411ac94f1fccd7f30414b16ca792fe0aa25dcd","scripts":{"dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsgo -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/","build:binary":"npm --prefix ../tui run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm run build && bun build --compile ./dist/bun/cli.js ./src/utils/image-resize-worker.ts --outfile dist/pi && npm run copy-binary-assets","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html dist/export-html/ && shx cp src/core/export-html/vendor/*.js dist/export-html/vendor/ && shx cp -r docs dist/ && shx cp -r examples dist/ && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cb385a00-0239-4c6e-aeb9-4f5c48eb2124"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.2"},"rimraf":"6.1.2"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.16.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"22.22.3","dependencies":{"diff":"8.0.4","glob":"13.0.6","jiti":"2.7.0","yaml":"2.9.0","chalk":"5.6.2","ignore":"7.0.5","marked":"15.0.12","openai":"6.26.0","undici":"8.3.0","typebox":"1.1.38","minimatch":"10.2.5","cross-spawn":"7.0.6","highlight.js":"10.7.3","partial-json":"0.1.7","@smithy/types":"4.8.0","proxy-from-env":"1.1.0","hosted-git-info":"9.0.3","proper-lockfile":"4.1.2","http-proxy-agent":"7.0.2","@anthropic-ai/sdk":"0.91.1","https-proxy-agent":"7.0.6","@mistralai/mistralai":"2.2.1","get-east-asian-width":"1.6.0","@earendil-works/pi-ai":"^2026.6.3","@earendil-works/pi-tui":"^2026.6.3","@smithy/node-http-handler":"4.7.3","@silvia-odwyer/photon-node":"0.3.4","@earendil-works/pi-agent-core":"^2026.6.3","@aws-sdk/client-bedrock-runtime":"3.1048.0"},"_hasShrinkwrap":true,"devDependencies":{"shx":"0.4.0","vitest":"3.2.4","@types/ms":"2.1.0","typescript":"5.9.3","@types/diff":"7.0.2","@types/node":"24.12.4","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-tui"],"optionalDependencies":{"@mariozechner/clipboard":"0.3.9"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.6.3_1780461134693_0.47302398435012405","host":"s3://npm-registry-packages-npm-production"}},"2026.6.4":{"name":"@code-yeongyu/senpi","version":"2026.6.4","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.6.4","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"senpi":"dist/cli.js"},"dist":{"shasum":"071006db0696a61617fa88bd20bcf9335543a92a","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.6.4.tgz","fileCount":15782,"integrity":"sha512-aREF1NSyn8b4FimKL95A9RP1x90/qab4O8APzfxBmIf3ObZtsC4roS2ubDOyD1ULStgbFPJKefAsErG0geiHVg==","signatures":[{"sig":"MEQCIASs4UU5F+9Iduzkth/8/WA6wEseXOpaCgJwl3fVRRDoAiAXIUtu3fo1rC/9o+U0H73WbPgpHdi0WGZRw0s9YsAJyA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.6.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":87227275},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./hooks":{"types":"./dist/core/hooks/index.d.ts","import":"./dist/core/hooks/index.js"}},"gitHead":"361324d7d4c5df19a4e39c444bd881104221099f","scripts":{"dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsgo -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/","build:binary":"npm --prefix ../tui run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm run build && bun build --compile ./dist/bun/cli.js ./src/utils/image-resize-worker.ts --outfile dist/pi && npm run copy-binary-assets","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html dist/export-html/ && shx cp src/core/export-html/vendor/*.js dist/export-html/vendor/ && shx cp -r docs dist/ && shx cp -r examples dist/ && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cb385a00-0239-4c6e-aeb9-4f5c48eb2124"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.2"},"rimraf":"6.1.2"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.16.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"22.22.3","dependencies":{"diff":"8.0.4","glob":"13.0.6","jiti":"2.7.0","yaml":"2.9.0","chalk":"5.6.2","ignore":"7.0.5","marked":"15.0.12","openai":"6.26.0","undici":"8.3.0","typebox":"1.1.38","minimatch":"10.2.5","cross-spawn":"7.0.6","highlight.js":"10.7.3","partial-json":"0.1.7","@smithy/types":"4.8.0","proxy-from-env":"1.1.0","hosted-git-info":"9.0.3","proper-lockfile":"4.1.2","http-proxy-agent":"7.0.2","@anthropic-ai/sdk":"0.91.1","https-proxy-agent":"7.0.6","@mistralai/mistralai":"2.2.1","get-east-asian-width":"1.6.0","@earendil-works/pi-ai":"^2026.6.4","@earendil-works/pi-tui":"^2026.6.4","@smithy/node-http-handler":"4.7.3","@silvia-odwyer/photon-node":"0.3.4","@earendil-works/pi-agent-core":"^2026.6.4","@aws-sdk/client-bedrock-runtime":"3.1048.0"},"_hasShrinkwrap":true,"devDependencies":{"shx":"0.4.0","vitest":"3.2.4","@types/ms":"2.1.0","typescript":"5.9.3","@types/diff":"7.0.2","@types/node":"24.12.4","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-tui"],"optionalDependencies":{"@mariozechner/clipboard":"0.3.9"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.6.4_1780542012787_0.5075954808845475","host":"s3://npm-registry-packages-npm-production"}},"2026.6.6-3":{"name":"@code-yeongyu/senpi","version":"2026.6.6-3","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.6.6-3","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"senpi":"dist/cli.js"},"dist":{"shasum":"0a5b7377fe33460ba6a71019c86439fcda1baed5","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.6.6-3.tgz","fileCount":15814,"integrity":"sha512-+s2Sy4ffY6l0BFlGLqpXz6N925Qz8L4BPUO6m9QmLk5SErnkG3SKpMgmUoVlxtBs3PyLFcYFnmB4N83GkITrCQ==","signatures":[{"sig":"MEUCIBq36/vLnO+z36V5SPKE3MhrYfTgqm40p6tp8X8QLUq4AiEAt2f5qr/4471C+vmEGQsd80cxVLwa3ZSMf8DgylKVRkM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.6.6-3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":83110026},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./hooks":{"types":"./dist/core/hooks/index.d.ts","import":"./dist/core/hooks/index.js"}},"gitHead":"73678b0b362569920808f92779b688caeb5d80d7","scripts":{"dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsgo -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/","build:binary":"npm --prefix ../tui run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm run build && bun build --compile ./dist/bun/cli.js ./src/utils/image-resize-worker.ts --outfile dist/pi && npm run copy-binary-assets","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html dist/export-html/ && shx cp src/core/export-html/vendor/*.js dist/export-html/vendor/ && shx cp -r docs dist/ && shx cp -r examples dist/ && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cb385a00-0239-4c6e-aeb9-4f5c48eb2124"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.2"},"rimraf":"6.1.2"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.16.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"22.22.3","dependencies":{"diff":"8.0.4","glob":"13.0.6","jiti":"2.7.0","yaml":"2.9.0","chalk":"5.6.2","ignore":"7.0.5","marked":"15.0.12","openai":"6.26.0","undici":"8.3.0","typebox":"1.1.38","minimatch":"10.2.5","cross-spawn":"7.0.6","highlight.js":"10.7.3","partial-json":"0.1.7","@smithy/types":"4.8.0","proxy-from-env":"1.1.0","hosted-git-info":"9.0.3","proper-lockfile":"4.1.2","http-proxy-agent":"7.0.2","@anthropic-ai/sdk":"0.91.1","https-proxy-agent":"7.0.6","@mistralai/mistralai":"2.2.1","get-east-asian-width":"1.6.0","@earendil-works/pi-ai":"^2026.6.6-3","@earendil-works/pi-tui":"^2026.6.6-3","@smithy/node-http-handler":"4.7.3","@silvia-odwyer/photon-node":"0.3.4","@earendil-works/pi-agent-core":"^2026.6.6-3","@aws-sdk/client-bedrock-runtime":"3.1048.0"},"_hasShrinkwrap":true,"devDependencies":{"shx":"0.4.0","vitest":"4.1.8","@types/ms":"2.1.0","typescript":"6.0.3","@types/diff":"7.0.2","@types/node":"25.9.1","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-tui"],"optionalDependencies":{"@mariozechner/clipboard":"0.3.9"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.6.6-3_1780718550918_0.7250975333597354","host":"s3://npm-registry-packages-npm-production"}},"2026.6.10":{"name":"@code-yeongyu/senpi","version":"2026.6.10","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.6.10","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"senpi":"dist/cli.js"},"dist":{"shasum":"3e7ee7105495dc1a7f075ec6b7acfc396230efa4","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.6.10.tgz","fileCount":15812,"integrity":"sha512-kkGU7vk8QSYt4ucgx/SEu9JsknwKhiTmDKCBzSQcgWFVk4VKd8RbtyuXAJKjueOyH5eq4jn04bY0yztkIHzHgQ==","signatures":[{"sig":"MEYCIQD/8rkkfsgPPjqfryuomHMLMB2v508KISdXlFiUKekDFgIhAIr+iVvGhDadyjJd0rcmzS5qvOZfzdVHu85Ub8c6VRor","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.6.10","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":83233917},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"cd88a4bb3427664b5506cc36a79d02012938efcc","scripts":{"dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsgo -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/","build:binary":"npm --prefix ../tui run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm run build && bun build --compile ./dist/bun/cli.js ./src/utils/image-resize-worker.ts --outfile dist/pi && npm run copy-binary-assets","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html dist/export-html/ && shx cp src/core/export-html/vendor/*.js dist/export-html/vendor/ && shx cp -r docs dist/ && shx cp -r examples dist/ && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cb385a00-0239-4c6e-aeb9-4f5c48eb2124"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.2"},"rimraf":"6.1.2"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.16.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.16.0","dependencies":{"diff":"8.0.4","glob":"13.0.6","jiti":"2.7.0","yaml":"2.9.0","chalk":"5.6.2","ignore":"7.0.5","marked":"15.0.12","openai":"6.26.0","undici":"8.3.0","typebox":"1.1.38","minimatch":"10.2.5","cross-spawn":"7.0.6","highlight.js":"10.7.3","partial-json":"0.1.7","@smithy/types":"4.8.0","proxy-from-env":"1.1.0","hosted-git-info":"9.0.3","proper-lockfile":"4.1.2","http-proxy-agent":"7.0.2","@anthropic-ai/sdk":"0.91.1","https-proxy-agent":"7.0.6","@mistralai/mistralai":"2.2.1","get-east-asian-width":"1.6.0","@earendil-works/pi-ai":"^2026.6.10","@earendil-works/pi-tui":"^2026.6.10","@smithy/node-http-handler":"4.7.3","@silvia-odwyer/photon-node":"0.3.4","@earendil-works/pi-agent-core":"^2026.6.10","@aws-sdk/client-bedrock-runtime":"3.1048.0"},"_hasShrinkwrap":true,"devDependencies":{"shx":"0.4.0","vitest":"4.1.8","@types/ms":"2.1.0","typescript":"6.0.3","@types/diff":"7.0.2","@types/node":"25.9.1","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-tui"],"optionalDependencies":{"@mariozechner/clipboard":"0.3.9"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.6.10_1781063180429_0.2174027359827717","host":"s3://npm-registry-packages-npm-production"}},"2026.6.10-2":{"name":"@code-yeongyu/senpi","version":"2026.6.10-2","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.6.10-2","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"senpi":"dist/cli.js"},"dist":{"shasum":"b64608334ca5f0d79fd943e8657be3d31c1b7ca9","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.6.10-2.tgz","fileCount":15796,"integrity":"sha512-5ho/msic+ohlvlq16CgmsTm+m9D+LUitdTLyW7j3FzFnSQyGL6rsmm9L/kg1zAY7qoZcpiEJPXaZCGU2ZwJ3RA==","signatures":[{"sig":"MEYCIQCtKaJxTKtM+HwqNn72lFXkn5s49zx3zG5iwOOsNt0JhQIhALpKCcd7akZ8rPYLIn/SQutQlkfILSnlIzcY1gxClchp","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.6.10-2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":83159710},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"8b1f158e3b313d78c5df95735842a27e6f588ef8","scripts":{"dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsgo -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/","build:binary":"npm --prefix ../tui run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm run build && bun build --compile ./dist/bun/cli.js ./src/utils/image-resize-worker.ts --outfile dist/pi && npm run copy-binary-assets","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html dist/export-html/ && shx cp src/core/export-html/vendor/*.js dist/export-html/vendor/ && shx cp -r docs dist/ && shx cp -r examples dist/ && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cb385a00-0239-4c6e-aeb9-4f5c48eb2124"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.2"},"rimraf":"6.1.2"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.16.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.16.0","dependencies":{"diff":"8.0.4","glob":"13.0.6","jiti":"2.7.0","yaml":"2.9.0","chalk":"5.6.2","ignore":"7.0.5","marked":"15.0.12","openai":"6.26.0","undici":"8.3.0","typebox":"1.1.38","minimatch":"10.2.5","cross-spawn":"7.0.6","highlight.js":"10.7.3","partial-json":"0.1.7","@smithy/types":"4.8.0","proxy-from-env":"1.1.0","hosted-git-info":"9.0.3","proper-lockfile":"4.1.2","http-proxy-agent":"7.0.2","@anthropic-ai/sdk":"0.91.1","https-proxy-agent":"7.0.6","@mistralai/mistralai":"2.2.1","get-east-asian-width":"1.6.0","@earendil-works/pi-ai":"^2026.6.10-2","@earendil-works/pi-tui":"^2026.6.10-2","@smithy/node-http-handler":"4.7.3","@silvia-odwyer/photon-node":"0.3.4","@earendil-works/pi-agent-core":"^2026.6.10-2","@aws-sdk/client-bedrock-runtime":"3.1048.0"},"_hasShrinkwrap":true,"devDependencies":{"shx":"0.4.0","vitest":"4.1.8","@types/ms":"2.1.0","typescript":"6.0.3","@types/diff":"7.0.2","@types/node":"25.9.1","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-tui"],"optionalDependencies":{"@mariozechner/clipboard":"0.3.9"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.6.10-2_1781075238302_0.7841978223364319","host":"s3://npm-registry-packages-npm-production"}},"2026.6.12-2":{"name":"@code-yeongyu/senpi","version":"2026.6.12-2","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.6.12-2","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"senpi":"dist/cli.js"},"dist":{"shasum":"c9cadd336205b9cca3f0624bc5c5594b22f70177","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.6.12-2.tgz","fileCount":15804,"integrity":"sha512-AdE0SPetnbq8Laz6Rk7+9aRnpaKSfryBJ8fMp1TvdQg3H9jY9EDHOaMkX1/auRAKyZ34Z6MGS//+E3d21VY8Uw==","signatures":[{"sig":"MEUCIEPbLSdyAJv3xheKu8wK/WZ7j+F+v38fivhiLQqMnFmfAiEA//nTbhiGUM9aP98X7oVHbjbDaz2T2ayf59iov2BSZqg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.6.12-2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":83216543},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"02abf54a3e079fa344a26861debe426b90042dc5","scripts":{"dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsgo -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/","build:binary":"npm --prefix ../tui run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm run build && bun build --compile ./dist/bun/cli.js ./src/utils/image-resize-worker.ts --outfile dist/pi && npm run copy-binary-assets","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html dist/export-html/ && shx cp src/core/export-html/vendor/*.js dist/export-html/vendor/ && shx cp -r docs dist/ && shx cp -r examples dist/ && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cb385a00-0239-4c6e-aeb9-4f5c48eb2124"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.2"},"rimraf":"6.1.2"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.16.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.16.0","dependencies":{"diff":"8.0.4","glob":"13.0.6","jiti":"2.7.0","yaml":"2.9.0","chalk":"5.6.2","ignore":"7.0.5","marked":"15.0.12","openai":"6.26.0","undici":"8.3.0","typebox":"1.1.38","minimatch":"10.2.5","cross-spawn":"7.0.6","highlight.js":"10.7.3","partial-json":"0.1.7","@smithy/types":"4.8.0","proxy-from-env":"1.1.0","hosted-git-info":"9.0.3","proper-lockfile":"4.1.2","http-proxy-agent":"7.0.2","@anthropic-ai/sdk":"0.91.1","https-proxy-agent":"7.0.6","@mistralai/mistralai":"2.2.1","get-east-asian-width":"1.6.0","@earendil-works/pi-ai":"^2026.6.12-2","@earendil-works/pi-tui":"^2026.6.12-2","@smithy/node-http-handler":"4.7.3","@silvia-odwyer/photon-node":"0.3.4","@earendil-works/pi-agent-core":"^2026.6.12-2","@aws-sdk/client-bedrock-runtime":"3.1048.0"},"_hasShrinkwrap":true,"devDependencies":{"shx":"0.4.0","vitest":"4.1.8","@types/ms":"2.1.0","typescript":"6.0.3","@types/diff":"7.0.2","@types/node":"25.9.1","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-tui"],"optionalDependencies":{"@mariozechner/clipboard":"0.3.9"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.6.12-2_1781258557145_0.11402071721675289","host":"s3://npm-registry-packages-npm-production"}},"2026.6.13":{"name":"@code-yeongyu/senpi","version":"2026.6.13","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.6.13","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"senpi":"dist/cli.js"},"dist":{"shasum":"e3ad9e7d88eef834e7ea40d6452945fe84fd2070","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.6.13.tgz","fileCount":15816,"integrity":"sha512-NTIz0MMG3amXrUayG8MNZDLdT30xYQrbALAJP62oKjOC5FlfnAWtBk6tdn7L0AvJbAKS7RBOdmf/zZMeKwuzsw==","signatures":[{"sig":"MEUCIGaqIOZaMa0u5EuMM9ss2Je+EqXdEbS+dlJtJR6ZDmH4AiEA5+GWtUy4CoijU2WHWuoGPnajiz/lI6pY1GEodTrCYSE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.6.13","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":83268966},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"ca4115c14c3a2704bde6a5d44fcfbc1ca0abc0d3","scripts":{"dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsgo -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/","build:binary":"npm --prefix ../tui run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm run build && bun build --compile --no-compile-autoload-dotenv --minify --keep-names ./dist/bun/cli.js ./src/utils/image-resize-worker.ts --outfile dist/pi && npm run copy-binary-assets","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html dist/export-html/ && shx cp src/core/export-html/vendor/*.js dist/export-html/vendor/ && shx cp -r docs dist/ && shx cp -r examples dist/ && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cb385a00-0239-4c6e-aeb9-4f5c48eb2124"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.2"},"rimraf":"6.1.2"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.16.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.16.0","dependencies":{"diff":"8.0.4","glob":"13.0.6","jiti":"2.7.0","yaml":"2.9.0","chalk":"5.6.2","ignore":"7.0.5","marked":"15.0.12","openai":"6.26.0","undici":"8.3.0","typebox":"1.1.38","minimatch":"10.2.5","cross-spawn":"7.0.6","highlight.js":"10.7.3","partial-json":"0.1.7","@smithy/types":"4.8.0","proxy-from-env":"1.1.0","hosted-git-info":"9.0.3","proper-lockfile":"4.1.2","http-proxy-agent":"7.0.2","@anthropic-ai/sdk":"0.91.1","https-proxy-agent":"7.0.6","@mistralai/mistralai":"2.2.1","get-east-asian-width":"1.6.0","@earendil-works/pi-ai":"^2026.6.13","@earendil-works/pi-tui":"^2026.6.13","@smithy/node-http-handler":"4.7.3","@silvia-odwyer/photon-node":"0.3.4","@earendil-works/pi-agent-core":"^2026.6.13","@aws-sdk/client-bedrock-runtime":"3.1048.0"},"_hasShrinkwrap":true,"devDependencies":{"shx":"0.4.0","vitest":"4.1.8","@types/ms":"2.1.0","typescript":"6.0.3","@types/diff":"7.0.2","@types/node":"25.9.1","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-tui"],"optionalDependencies":{"@mariozechner/clipboard":"0.3.9"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.6.13_1781375407012_0.4678257261011638","host":"s3://npm-registry-packages-npm-production"}},"2026.6.14":{"name":"@code-yeongyu/senpi","version":"2026.6.14","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.6.14","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"senpi":"dist/cli.js"},"dist":{"shasum":"432b6e5e60cb9c7bfcbb919525f62744529e9720","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.6.14.tgz","fileCount":15820,"integrity":"sha512-ZCHmMtSRRrX3lArlcjUaTWscdvKawwq9lZATOR0ejy02EVJxyU8yuXhWSJpaxvaIxgFsV3ch/9OIzmfra4cmRA==","signatures":[{"sig":"MEUCIQDVjuQ65i8gxy3mRNEujtSXUOXxvkyS64offIRBGgV50AIgIQvZ4Itg68Ku0nMDS+XWbFeyCqnfQXPkJwxsPUu2G6s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.6.14","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":83269024},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"490d471be6e35d7c94c544f7af9e02aa76cb83ae","scripts":{"dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsgo -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/","build:binary":"npm --prefix ../tui run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm run build && bun build --compile --no-compile-autoload-dotenv --minify --keep-names ./dist/bun/cli.js ./src/utils/image-resize-worker.ts --outfile dist/pi && npm run copy-binary-assets","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html dist/export-html/ && shx cp src/core/export-html/vendor/*.js dist/export-html/vendor/ && shx cp -r docs dist/ && shx cp -r examples dist/ && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cb385a00-0239-4c6e-aeb9-4f5c48eb2124"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.2"},"rimraf":"6.1.2"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.16.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.16.0","dependencies":{"diff":"8.0.4","glob":"13.0.6","jiti":"2.7.0","yaml":"2.9.0","chalk":"5.6.2","ignore":"7.0.5","marked":"15.0.12","openai":"6.26.0","semver":"7.8.0","undici":"8.3.0","typebox":"1.1.38","minimatch":"10.2.5","cross-spawn":"7.0.6","highlight.js":"10.7.3","partial-json":"0.1.7","@smithy/types":"4.8.0","proxy-from-env":"1.1.0","hosted-git-info":"9.0.3","proper-lockfile":"4.1.2","http-proxy-agent":"7.0.2","@anthropic-ai/sdk":"0.91.1","https-proxy-agent":"7.0.6","@mistralai/mistralai":"2.2.1","get-east-asian-width":"1.6.0","@earendil-works/pi-ai":"^2026.6.14","@earendil-works/pi-tui":"^2026.6.14","@smithy/node-http-handler":"4.7.3","@silvia-odwyer/photon-node":"0.3.4","@earendil-works/pi-agent-core":"^2026.6.14","@aws-sdk/client-bedrock-runtime":"3.1048.0"},"_hasShrinkwrap":true,"devDependencies":{"shx":"0.4.0","vitest":"4.1.8","@types/ms":"2.1.0","typescript":"6.0.3","@types/diff":"7.0.2","@types/node":"25.9.1","@types/semver":"7.7.1","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-tui"],"optionalDependencies":{"@mariozechner/clipboard":"0.3.9"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.6.14_1781421878309_0.37947411432615774","host":"s3://npm-registry-packages-npm-production"}},"2026.6.14-2":{"name":"@code-yeongyu/senpi","version":"2026.6.14-2","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.6.14-2","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"senpi":"dist/cli.js"},"dist":{"shasum":"95a759a85595870043cc96b03264518f1019b2ac","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.6.14-2.tgz","fileCount":15820,"integrity":"sha512-MsIVDtVK2bwcyZl8uum36xwmQ7ZWoQXHNNHPRauX1G4tmptQlXDIY/gECv5WBtSm/FezjLaH9Xzkt0lafuF9WA==","signatures":[{"sig":"MEQCIEK+qCp7Ync51/2osUjhVm1apdoRnDdXsBbC1Y3tKHWpAiADuIRxsFfFsoz9doNExXuoYc09sifPv+JQLnYJZeOF4A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.6.14-2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":83270010},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"015c33610af356085fa0eeef61cbc7d7623857d7","scripts":{"dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsgo -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/","build:binary":"npm --prefix ../tui run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm run build && bun build --compile --no-compile-autoload-dotenv --minify --keep-names ./dist/bun/cli.js ./src/utils/image-resize-worker.ts --outfile dist/pi && npm run copy-binary-assets","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html dist/export-html/ && shx cp src/core/export-html/vendor/*.js dist/export-html/vendor/ && shx cp -r docs dist/ && shx cp -r examples dist/ && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cb385a00-0239-4c6e-aeb9-4f5c48eb2124"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.2"},"rimraf":"6.1.2"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.16.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.16.0","dependencies":{"diff":"8.0.4","glob":"13.0.6","jiti":"2.7.0","yaml":"2.9.0","chalk":"5.6.2","ignore":"7.0.5","marked":"15.0.12","openai":"6.26.0","semver":"7.8.0","undici":"8.3.0","typebox":"1.1.38","minimatch":"10.2.5","cross-spawn":"7.0.6","highlight.js":"10.7.3","partial-json":"0.1.7","@smithy/types":"4.8.0","proxy-from-env":"1.1.0","hosted-git-info":"9.0.3","proper-lockfile":"4.1.2","http-proxy-agent":"7.0.2","@anthropic-ai/sdk":"0.91.1","https-proxy-agent":"7.0.6","@mistralai/mistralai":"2.2.1","get-east-asian-width":"1.6.0","@earendil-works/pi-ai":"^2026.6.14-2","@earendil-works/pi-tui":"^2026.6.14-2","@smithy/node-http-handler":"4.7.3","@silvia-odwyer/photon-node":"0.3.4","@earendil-works/pi-agent-core":"^2026.6.14-2","@aws-sdk/client-bedrock-runtime":"3.1048.0"},"_hasShrinkwrap":true,"devDependencies":{"shx":"0.4.0","vitest":"4.1.8","@types/ms":"2.1.0","typescript":"6.0.3","@types/diff":"7.0.2","@types/node":"25.9.1","@types/semver":"7.7.1","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-tui"],"optionalDependencies":{"@mariozechner/clipboard":"0.3.9"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.6.14-2_1781423937620_0.8236789130557605","host":"s3://npm-registry-packages-npm-production"}},"2026.6.14-3":{"name":"@code-yeongyu/senpi","version":"2026.6.14-3","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.6.14-3","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"senpi":"dist/cli.js"},"dist":{"shasum":"a200c62044d4eac88482c1aed346a1a5f1f4a26b","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.6.14-3.tgz","fileCount":15820,"integrity":"sha512-2o/DrGdPDXIe3HfGdidXKryFG1fIhsCrDmJf87HLZs+WyHzFnEVmZcbyv4GVuPj/QWxnIa+C7QMyG7lvIVrzXw==","signatures":[{"sig":"MEUCIGe4F5HGFkuu9Vv3/YLAEErs2k2gWkJ4k07TxWJyYqdaAiEAq1J0+psXYQZvDBoxevUTk46qh0m6WHv31RaUmtCJiNU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.6.14-3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":83268240},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"5503d92b362b155f1fecc724dd84300c965b7459","scripts":{"dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsgo -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/","build:binary":"npm --prefix ../tui run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm run build && bun build --compile --no-compile-autoload-dotenv --minify --keep-names ./dist/bun/cli.js ./src/utils/image-resize-worker.ts --outfile dist/pi && npm run copy-binary-assets","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html dist/export-html/ && shx cp src/core/export-html/vendor/*.js dist/export-html/vendor/ && shx cp -r docs dist/ && shx cp -r examples dist/ && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cb385a00-0239-4c6e-aeb9-4f5c48eb2124"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.2"},"rimraf":"6.1.2"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.16.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.16.0","dependencies":{"diff":"8.0.4","glob":"13.0.6","jiti":"2.7.0","yaml":"2.9.0","chalk":"5.6.2","ignore":"7.0.5","marked":"15.0.12","openai":"6.26.0","semver":"7.8.0","undici":"8.3.0","typebox":"1.1.38","minimatch":"10.2.5","cross-spawn":"7.0.6","highlight.js":"10.7.3","partial-json":"0.1.7","@smithy/types":"4.8.0","proxy-from-env":"1.1.0","hosted-git-info":"9.0.3","proper-lockfile":"4.1.2","http-proxy-agent":"7.0.2","@anthropic-ai/sdk":"0.91.1","https-proxy-agent":"7.0.6","@mistralai/mistralai":"2.2.1","get-east-asian-width":"1.6.0","@earendil-works/pi-ai":"^2026.6.14-3","@earendil-works/pi-tui":"^2026.6.14-3","@smithy/node-http-handler":"4.7.3","@silvia-odwyer/photon-node":"0.3.4","@earendil-works/pi-agent-core":"^2026.6.14-3","@aws-sdk/client-bedrock-runtime":"3.1048.0"},"_hasShrinkwrap":true,"devDependencies":{"shx":"0.4.0","vitest":"4.1.8","@types/ms":"2.1.0","typescript":"6.0.3","@types/diff":"7.0.2","@types/node":"25.9.1","@types/semver":"7.7.1","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-tui"],"optionalDependencies":{"@mariozechner/clipboard":"0.3.9"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.6.14-3_1781426044512_0.9267262898462292","host":"s3://npm-registry-packages-npm-production"}},"2026.6.15":{"name":"@code-yeongyu/senpi","version":"2026.6.15","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.6.15","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"senpi":"dist/cli.js"},"dist":{"shasum":"d413e55c524220b0a4407747095e76fc4ba3bf6c","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.6.15.tgz","fileCount":15820,"integrity":"sha512-IwJlVe6is/HDtbr3WvGMPsiaaRRupSmwzt46cIa6okE4P4TVzZNj0AgXHaICEFcwRYbuTU9svA569o0CKXtbQw==","signatures":[{"sig":"MEYCIQCbyJaqjBbAE/viGW2jdWCQzzuY9ucpjxeJ34VixUDGHAIhAKvSzzxVEZVUE32V5H8fTpBaE9hD9O8tTRFA28diwwtp","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.6.15","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":83289654},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"151987b827a2bf09793dfdad3f93bec3fc02746d","scripts":{"dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsgo -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/","build:binary":"npm --prefix ../tui run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm run build && bun build --compile --no-compile-autoload-dotenv --minify --keep-names ./dist/bun/cli.js ./src/utils/image-resize-worker.ts --outfile dist/pi && npm run copy-binary-assets","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html dist/export-html/ && shx cp src/core/export-html/vendor/*.js dist/export-html/vendor/ && shx cp -r docs dist/ && shx cp -r examples dist/ && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cb385a00-0239-4c6e-aeb9-4f5c48eb2124"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.2"},"rimraf":"6.1.2"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.16.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.16.0","dependencies":{"diff":"8.0.4","glob":"13.0.6","jiti":"2.7.0","yaml":"2.9.0","chalk":"5.6.2","ignore":"7.0.5","marked":"15.0.12","openai":"6.26.0","semver":"7.8.0","undici":"8.3.0","typebox":"1.1.38","minimatch":"10.2.5","cross-spawn":"7.0.6","highlight.js":"10.7.3","partial-json":"0.1.7","@smithy/types":"4.8.0","proxy-from-env":"1.1.0","hosted-git-info":"9.0.3","proper-lockfile":"4.1.2","http-proxy-agent":"7.0.2","@anthropic-ai/sdk":"0.91.1","https-proxy-agent":"7.0.6","@mistralai/mistralai":"2.2.1","get-east-asian-width":"1.6.0","@earendil-works/pi-ai":"^2026.6.15","@earendil-works/pi-tui":"^2026.6.15","@smithy/node-http-handler":"4.7.3","@silvia-odwyer/photon-node":"0.3.4","@earendil-works/pi-agent-core":"^2026.6.15","@aws-sdk/client-bedrock-runtime":"3.1048.0"},"_hasShrinkwrap":true,"devDependencies":{"shx":"0.4.0","vitest":"4.1.8","@types/ms":"2.1.0","typescript":"6.0.3","@types/diff":"7.0.2","@types/node":"25.9.1","@types/semver":"7.7.1","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-tui"],"optionalDependencies":{"@mariozechner/clipboard":"0.3.9"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.6.15_1781489862742_0.3832289609749404","host":"s3://npm-registry-packages-npm-production"}},"2026.6.16":{"name":"@code-yeongyu/senpi","version":"2026.6.16","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.6.16","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"senpi":"dist/cli.js"},"dist":{"shasum":"2b9a933d6eaad4f4a109835f240a98f4d3dddc78","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.6.16.tgz","fileCount":16036,"integrity":"sha512-YqIqbnvWLVH3I3Z72vs5G9/wGAlsQpE7WqttUOvaaQMmB7VtldeNinRAzKBsubxCZLu2q5yusPOk/EiB/3B96g==","signatures":[{"sig":"MEQCIDv1u9XLsNR6LwSifDiUIjMavsItGIoXiEId9sxkS9+yAiA3TcVQCNY+bztetHPgfZJhGOwkUo7fiztX0cynW1Xjvg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.6.16","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":83956657},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"1bf200e5e5d6cdc6d98e837de396f0d01b760015","scripts":{"dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsgo -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/","build:binary":"npm --prefix ../tui run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm run build && bun build --compile --no-compile-autoload-dotenv --minify --keep-names ./dist/bun/cli.js ./src/utils/image-resize-worker.ts --outfile dist/pi && npm run copy-binary-assets","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html dist/export-html/ && shx cp src/core/export-html/vendor/*.js dist/export-html/vendor/ && shx cp -r docs dist/ && shx cp -r examples dist/ && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cb385a00-0239-4c6e-aeb9-4f5c48eb2124"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.2"},"rimraf":"6.1.2"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.16.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.16.0","dependencies":{"diff":"8.0.4","glob":"13.0.6","jiti":"2.7.0","yaml":"2.9.0","chalk":"5.6.2","ignore":"7.0.5","marked":"15.0.12","openai":"6.26.0","semver":"7.8.0","undici":"8.3.0","typebox":"1.1.38","turndown":"7.2.4","minimatch":"10.2.5","picomatch":"4.0.4","cross-spawn":"7.0.6","highlight.js":"10.7.3","partial-json":"0.1.7","@smithy/types":"4.8.0","proxy-from-env":"1.1.0","hosted-git-info":"9.0.3","proper-lockfile":"4.1.2","http-proxy-agent":"7.0.2","@anthropic-ai/sdk":"0.91.1","https-proxy-agent":"7.0.6","@mistralai/mistralai":"2.2.1","get-east-asian-width":"1.6.0","@earendil-works/pi-ai":"^2026.6.16","@earendil-works/pi-tui":"^2026.6.16","@smithy/node-http-handler":"4.7.3","@silvia-odwyer/photon-node":"0.3.4","@earendil-works/pi-agent-core":"^2026.6.16","@aws-sdk/client-bedrock-runtime":"3.1048.0"},"_hasShrinkwrap":true,"devDependencies":{"shx":"0.4.0","vitest":"4.1.8","@types/ms":"2.1.0","typescript":"6.0.3","@types/diff":"7.0.2","@types/node":"25.9.1","@types/semver":"7.7.1","@types/turndown":"5.0.6","@types/picomatch":"4.0.3","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-tui"],"optionalDependencies":{"@mariozechner/clipboard":"0.3.9"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.6.16_1781576060036_0.9854903580415633","host":"s3://npm-registry-packages-npm-production"}},"2026.6.16-2":{"name":"@code-yeongyu/senpi","version":"2026.6.16-2","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.6.16-2","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"senpi":"dist/cli.js"},"dist":{"shasum":"bd3e804a31c643381f74783c28dc66206b37847d","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.6.16-2.tgz","fileCount":16036,"integrity":"sha512-3pA9/Ud3zSDsWEohg5dmZtlkT0qwga5BF4fQx+zIdlHddmOvFyOT6AVvWqvbiJr4lUvwLpXUY7VctFJH7CVWgg==","signatures":[{"sig":"MEUCIQDC2APe7Iq3RTQXSKydhwWD4a62SiHTPMs+V/FT+arK8wIgfFevC5rmEXfT+KmXep2DJMLVPTFQAyyG+YsflAiSjZU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.6.16-2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":83958017},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"dca3095ffc3bcc0867adef5dc5c7ea51d44c211a","scripts":{"dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsgo -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/","build:binary":"npm --prefix ../tui run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm run build && bun build --compile --no-compile-autoload-dotenv --minify --keep-names ./dist/bun/cli.js ./src/utils/image-resize-worker.ts --outfile dist/pi && npm run copy-binary-assets","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html dist/export-html/ && shx cp src/core/export-html/vendor/*.js dist/export-html/vendor/ && shx cp -r docs dist/ && shx cp -r examples dist/ && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cb385a00-0239-4c6e-aeb9-4f5c48eb2124"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.2"},"rimraf":"6.1.2"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.16.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.16.0","dependencies":{"diff":"8.0.4","glob":"13.0.6","jiti":"2.7.0","yaml":"2.9.0","chalk":"5.6.2","ignore":"7.0.5","marked":"15.0.12","openai":"6.26.0","semver":"7.8.0","undici":"8.3.0","typebox":"1.1.38","turndown":"7.2.4","minimatch":"10.2.5","picomatch":"4.0.4","cross-spawn":"7.0.6","highlight.js":"10.7.3","partial-json":"0.1.7","@smithy/types":"4.8.0","proxy-from-env":"1.1.0","hosted-git-info":"9.0.3","proper-lockfile":"4.1.2","http-proxy-agent":"7.0.2","@anthropic-ai/sdk":"0.91.1","https-proxy-agent":"7.0.6","@mistralai/mistralai":"2.2.1","get-east-asian-width":"1.6.0","@earendil-works/pi-ai":"^2026.6.16-2","@earendil-works/pi-tui":"^2026.6.16-2","@smithy/node-http-handler":"4.7.3","@silvia-odwyer/photon-node":"0.3.4","@earendil-works/pi-agent-core":"^2026.6.16-2","@aws-sdk/client-bedrock-runtime":"3.1048.0"},"_hasShrinkwrap":true,"devDependencies":{"shx":"0.4.0","vitest":"4.1.8","@types/ms":"2.1.0","typescript":"6.0.3","@types/diff":"7.0.2","@types/node":"25.9.1","@types/semver":"7.7.1","@types/turndown":"5.0.6","@types/picomatch":"4.0.3","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-tui"],"optionalDependencies":{"@mariozechner/clipboard":"0.3.9"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.6.16-2_1781577085570_0.05805304133131117","host":"s3://npm-registry-packages-npm-production"}},"2026.6.17":{"name":"@code-yeongyu/senpi","version":"2026.6.17","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.6.17","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"senpi":"dist/cli.js"},"dist":{"shasum":"e0ecb0bc1573453c26560f67d304f1582bf3dd00","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.6.17.tgz","fileCount":16040,"integrity":"sha512-xjxcRmSfcbl2k9/VQV983pgrcYK703VoHZ3LVFoUUnxq9eW2lXVS21e+HgyaggN4bKe0tvlBadsNLGhzGvx6gg==","signatures":[{"sig":"MEUCIBDVg6B/68AY85FoWKGvsQlx09GOOo8cbYDqK65iG7L+AiEA+402tNtxQdwbOZfHflL9McLIwITZznNQDC4a9XECEZg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.6.17","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":84019020},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"8b76a238fbdd2e3f800151077f96bb00ba06fc45","scripts":{"dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsgo -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/","build:binary":"npm --prefix ../tui run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm run build && bun build --compile --no-compile-autoload-dotenv --minify --keep-names ./dist/bun/cli.js ./src/utils/image-resize-worker.ts --outfile dist/pi && npm run copy-binary-assets","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html dist/export-html/ && shx cp src/core/export-html/vendor/*.js dist/export-html/vendor/ && shx cp -r docs dist/ && shx cp -r examples dist/ && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cb385a00-0239-4c6e-aeb9-4f5c48eb2124"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.2"},"rimraf":"6.1.2"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.16.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.16.0","dependencies":{"diff":"8.0.4","glob":"13.0.6","jiti":"2.7.0","yaml":"2.9.0","chalk":"5.6.2","ignore":"7.0.5","marked":"18.0.5","openai":"6.26.0","semver":"7.8.0","undici":"8.3.0","typebox":"1.1.38","turndown":"7.2.4","minimatch":"10.2.5","picomatch":"4.0.4","cross-spawn":"7.0.6","highlight.js":"10.7.3","partial-json":"0.1.7","@smithy/types":"4.8.0","proxy-from-env":"1.1.0","hosted-git-info":"9.0.3","proper-lockfile":"4.1.2","http-proxy-agent":"7.0.2","@anthropic-ai/sdk":"0.91.1","https-proxy-agent":"7.0.6","@mistralai/mistralai":"2.2.1","get-east-asian-width":"1.6.0","@earendil-works/pi-ai":"^2026.6.17","@earendil-works/pi-tui":"^2026.6.17","@smithy/node-http-handler":"4.7.3","@silvia-odwyer/photon-node":"0.3.4","@earendil-works/pi-agent-core":"^2026.6.17","@aws-sdk/client-bedrock-runtime":"3.1048.0"},"_hasShrinkwrap":true,"devDependencies":{"shx":"0.4.0","vitest":"4.1.8","@types/ms":"2.1.0","typescript":"6.0.3","@types/diff":"7.0.2","@types/node":"25.9.1","@types/semver":"7.7.1","@types/turndown":"5.0.6","@types/picomatch":"4.0.3","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-tui"],"optionalDependencies":{"@mariozechner/clipboard":"0.3.9"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.6.17_1781671890639_0.3722151701855474","host":"s3://npm-registry-packages-npm-production"}},"2026.6.17-2":{"name":"@code-yeongyu/senpi","version":"2026.6.17-2","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.6.17-2","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"senpi":"dist/cli.js"},"dist":{"shasum":"d30229cfbc9649d8949bf5212ee39f45bbae2ae3","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.6.17-2.tgz","fileCount":16040,"integrity":"sha512-RhHq2YkNK4mL/B2+UhDuWV7FKyDBktf44R69O+O7iA083S17HslUu4RRCkxVYqsUYaRyqHDkQJzJtOZsqY/PdQ==","signatures":[{"sig":"MEQCIBuZFDHOY1hakGOdogwOcD5JBhK9Y+yFCx5l9zo0ieSAAiBp7LdXubJudAoDegZ1L86jkgXkXtJ8rQbIBVAAgu+1GA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.6.17-2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":84019288},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"a640e0aa20bcf9c0b7ed7889e1605e98f828d8b5","scripts":{"dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsgo -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/","build:binary":"npm --prefix ../tui run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm run build && bun build --compile --no-compile-autoload-dotenv --minify --keep-names ./dist/bun/cli.js ./src/utils/image-resize-worker.ts --outfile dist/pi && npm run copy-binary-assets","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html dist/export-html/ && shx cp src/core/export-html/vendor/*.js dist/export-html/vendor/ && shx cp -r docs dist/ && shx cp -r examples dist/ && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cb385a00-0239-4c6e-aeb9-4f5c48eb2124"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.2"},"rimraf":"6.1.2"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.16.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.16.0","dependencies":{"diff":"8.0.4","glob":"13.0.6","jiti":"2.7.0","yaml":"2.9.0","chalk":"5.6.2","ignore":"7.0.5","marked":"18.0.5","openai":"6.26.0","semver":"7.8.0","undici":"8.3.0","typebox":"1.1.38","turndown":"7.2.4","minimatch":"10.2.5","picomatch":"4.0.4","cross-spawn":"7.0.6","highlight.js":"10.7.3","partial-json":"0.1.7","@smithy/types":"4.8.0","proxy-from-env":"1.1.0","hosted-git-info":"9.0.3","proper-lockfile":"4.1.2","http-proxy-agent":"7.0.2","@anthropic-ai/sdk":"0.91.1","https-proxy-agent":"7.0.6","@mistralai/mistralai":"2.2.1","get-east-asian-width":"1.6.0","@earendil-works/pi-ai":"^2026.6.17-2","@earendil-works/pi-tui":"^2026.6.17-2","@smithy/node-http-handler":"4.7.3","@silvia-odwyer/photon-node":"0.3.4","@earendil-works/pi-agent-core":"^2026.6.17-2","@aws-sdk/client-bedrock-runtime":"3.1048.0"},"_hasShrinkwrap":true,"devDependencies":{"shx":"0.4.0","vitest":"4.1.8","@types/ms":"2.1.0","typescript":"6.0.3","@types/diff":"7.0.2","@types/node":"25.9.1","@types/semver":"7.7.1","@types/turndown":"5.0.6","@types/picomatch":"4.0.3","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-tui"],"optionalDependencies":{"@mariozechner/clipboard":"0.3.9"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.6.17-2_1781673559273_0.30066269401422363","host":"s3://npm-registry-packages-npm-production"}},"2026.6.21":{"name":"@code-yeongyu/senpi","version":"2026.6.21","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.6.21","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"senpi":"dist/cli.js"},"dist":{"shasum":"2ff61516273ec9746f5b8664ad6212b8d67f6509","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.6.21.tgz","fileCount":17711,"integrity":"sha512-hJwQnYl79Dq55cRPM32MEqQQ7KEjRawIH0v7r+IgyUGDApud0kgc8+rnqzezy8jP0WXeWLVSEuWVKScP//lvLw==","signatures":[{"sig":"MEUCIQCt0Z/PQD/ndMplzfup9tQl8UgdQUpqX4KbVjSzys2J3AIgRYkB7oKJISAgEHZgdEtgOMuKlOMzYDI0srNEk0BjQ+A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.6.21","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":98894016},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"64274a7dbb0bf31383b834069f3beeb5919d933a","scripts":{"dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsgo -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/","build:binary":"npm --prefix ../tui run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm run build && bun build --compile --no-compile-autoload-dotenv --minify --keep-names ./dist/bun/cli.js ./src/utils/image-resize-worker.ts --outfile dist/pi && npm run copy-binary-assets","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html dist/export-html/ && shx cp src/core/export-html/vendor/*.js dist/export-html/vendor/ && shx cp -r docs dist/ && shx cp -r examples dist/ && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cb385a00-0239-4c6e-aeb9-4f5c48eb2124"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.2"},"rimraf":"6.1.2"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.16.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.16.0","dependencies":{"diff":"8.0.4","glob":"13.0.6","jiti":"2.7.0","yaml":"2.9.0","chalk":"5.6.2","ignore":"7.0.5","marked":"18.0.5","openai":"6.26.0","semver":"7.8.0","undici":"8.5.0","typebox":"1.1.38","turndown":"7.2.4","minimatch":"10.2.5","picomatch":"4.0.4","cross-spawn":"7.0.6","highlight.js":"10.7.3","partial-json":"0.1.7","@smithy/types":"4.8.0","proxy-from-env":"1.1.0","hosted-git-info":"9.0.3","proper-lockfile":"4.1.2","http-proxy-agent":"7.0.2","@anthropic-ai/sdk":"0.91.1","https-proxy-agent":"7.0.6","@opentelemetry/api":"1.9.0","@mistralai/mistralai":"2.2.6","get-east-asian-width":"1.6.0","@earendil-works/pi-ai":"^2026.6.21","@earendil-works/pi-tui":"^2026.6.21","@smithy/node-http-handler":"4.7.3","@silvia-odwyer/photon-node":"0.3.4","@earendil-works/pi-agent-core":"^2026.6.21","@aws-sdk/client-bedrock-runtime":"3.1048.0"},"_hasShrinkwrap":true,"devDependencies":{"shx":"0.4.0","vitest":"4.1.9","@types/ms":"2.1.0","typescript":"6.0.3","@types/diff":"7.0.2","@types/node":"25.9.1","@types/semver":"7.7.1","@types/turndown":"5.0.6","@types/picomatch":"4.0.3","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-tui"],"optionalDependencies":{"@mariozechner/clipboard":"0.3.9"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.6.21_1782050013097_0.5370214482509332","host":"s3://npm-registry-packages-npm-production"}},"2026.6.28-4":{"name":"@code-yeongyu/senpi","version":"2026.6.28-4","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.6.28-4","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"senpi":"dist/cli.js"},"dist":{"shasum":"2ae5e689ef104c982a2c2050d5feb83313ac53ee","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.6.28-4.tgz","fileCount":18211,"integrity":"sha512-GhFPLBznQ+HCs+hP37RCygj0oC3FrVAmihpqjhrlwjzayFJpvml5xXDdKzfF4r2GUyQu/zsTtYDgDV9xkgb5FA==","signatures":[{"sig":"MEUCIEuaTdk75Y8znRgtnBAHmMBem55QgwXae4f0ddw6sx2EAiEArP9qdoLUPmjhIAtpVxMJdPNlTH94WXClTB9ii3ue+hg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.6.28-4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":100492994},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./rpc-entry":{"import":"./dist/rpc-entry.js"}},"gitHead":"57316965b349c525376234ff4ccfc01078f69baf","scripts":{"dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsgo -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js dist/rpc-entry.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/","build:binary":"npm --prefix ../tui run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm run build && bun build --compile --no-compile-autoload-dotenv --minify --keep-names ./dist/bun/cli.js ./src/utils/image-resize-worker.ts --outfile dist/pi && npm run copy-binary-assets","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html dist/export-html/ && shx cp src/core/export-html/vendor/*.js dist/export-html/vendor/ && shx cp -r docs dist/ && shx cp -r examples dist/ && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cb385a00-0239-4c6e-aeb9-4f5c48eb2124"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.2"},"rimraf":"6.1.2"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.16.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.17.0","dependencies":{"diff":"8.0.4","glob":"13.0.6","jiti":"2.7.0","yaml":"2.9.0","chalk":"5.6.2","jsdom":"29.1.1","ignore":"7.0.5","marked":"18.0.5","openai":"6.26.0","semver":"7.8.0","undici":"8.5.0","typebox":"1.1.38","turndown":"7.2.4","minimatch":"10.2.5","picomatch":"4.0.4","cross-spawn":"7.0.6","highlight.js":"10.7.3","partial-json":"0.1.7","@smithy/types":"4.8.0","proxy-from-env":"1.1.0","hosted-git-info":"9.0.3","proper-lockfile":"4.1.2","http-proxy-agent":"7.0.2","@anthropic-ai/sdk":"0.91.1","https-proxy-agent":"7.0.6","@opentelemetry/api":"1.9.0","@mistralai/mistralai":"2.2.6","@mozilla/readability":"0.6.0","get-east-asian-width":"1.6.0","@earendil-works/pi-ai":"^2026.6.28-4","@earendil-works/pi-tui":"^2026.6.28-4","@smithy/node-http-handler":"4.7.3","@silvia-odwyer/photon-node":"0.3.4","@earendil-works/pi-agent-core":"^2026.6.28-4","@aws-sdk/client-bedrock-runtime":"3.1048.0"},"_hasShrinkwrap":true,"devDependencies":{"shx":"0.4.0","vitest":"4.1.9","@types/ms":"2.1.0","typescript":"6.0.3","@types/diff":"7.0.2","@types/node":"25.9.1","@types/jsdom":"28.0.3","@types/semver":"7.7.1","@types/turndown":"5.0.6","@types/picomatch":"4.0.3","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-tui"],"optionalDependencies":{"@mariozechner/clipboard":"0.3.9"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.6.28-4_1782656163003_0.8229601556449877","host":"s3://npm-registry-packages-npm-production"}},"2026.6.30":{"name":"@code-yeongyu/senpi","version":"2026.6.30","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.6.30","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"senpi":"dist/cli.js"},"dist":{"shasum":"819fa8c0e7baeaba36a1e98d1dfc00c8c7984596","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.6.30.tgz","fileCount":18295,"integrity":"sha512-9CHcLdiTHQefR0uYVncEyCP7S39vxh2zmZEBHilRVOsnqV/cry3kmU02HsCOzaITtgwFZY4qPFljtUE/CzHEqA==","signatures":[{"sig":"MEYCIQCvL9OU3fs95vrEfbqQK6ICvRQO0xL7F7KXEZ3KYjF5HQIhAISi75zzUcigOs74AMvZMVhF4KlpMb0jqhgq/NLOAsd9","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.6.30","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":100956512},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./rpc-entry":{"import":"./dist/rpc-entry.js"}},"gitHead":"d187d747148bba58b4a10bc4d7fd6df3550fdd3e","scripts":{"dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsgo -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js dist/rpc-entry.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/","build:binary":"npm --prefix ../tui run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm run build && bun build --compile --no-compile-autoload-dotenv --minify --keep-names ./dist/bun/cli.js ./src/utils/image-resize-worker.ts --outfile dist/pi && npm run copy-binary-assets","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html dist/export-html/ && shx cp src/core/export-html/vendor/*.js dist/export-html/vendor/ && shx cp -r docs dist/ && shx cp -r examples dist/ && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cb385a00-0239-4c6e-aeb9-4f5c48eb2124"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.2"},"rimraf":"6.1.2"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.16.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.17.0","dependencies":{"diff":"8.0.4","glob":"13.0.6","jiti":"2.7.0","yaml":"2.9.0","chalk":"5.6.2","jsdom":"29.1.1","ignore":"7.0.5","marked":"18.0.5","openai":"6.26.0","semver":"7.8.0","undici":"8.5.0","typebox":"1.1.38","turndown":"7.2.4","minimatch":"10.2.5","picomatch":"4.0.4","cross-spawn":"7.0.6","highlight.js":"10.7.3","partial-json":"0.1.7","@smithy/types":"4.8.0","proxy-from-env":"1.1.0","hosted-git-info":"9.0.3","proper-lockfile":"4.1.2","http-proxy-agent":"7.0.2","@anthropic-ai/sdk":"0.91.1","https-proxy-agent":"7.0.6","@opentelemetry/api":"1.9.0","@mistralai/mistralai":"2.2.6","@mozilla/readability":"0.6.0","get-east-asian-width":"1.6.0","@earendil-works/pi-ai":"^2026.6.30","@earendil-works/pi-tui":"^2026.6.30","@smithy/node-http-handler":"4.7.3","@silvia-odwyer/photon-node":"0.3.4","@earendil-works/pi-agent-core":"^2026.6.30","@aws-sdk/client-bedrock-runtime":"3.1048.0"},"_hasShrinkwrap":true,"devDependencies":{"shx":"0.4.0","vitest":"4.1.9","@types/ms":"2.1.0","typescript":"6.0.3","@types/diff":"7.0.2","@types/node":"25.9.1","@types/jsdom":"28.0.3","@types/semver":"7.7.1","@types/turndown":"5.0.6","@types/picomatch":"4.0.3","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-tui"],"optionalDependencies":{"@mariozechner/clipboard":"0.3.9"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.6.30_1782793976360_0.41168538557705836","host":"s3://npm-registry-packages-npm-production"}},"2026.6.30-2":{"name":"@code-yeongyu/senpi","version":"2026.6.30-2","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.6.30-2","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"senpi":"dist/cli.js"},"dist":{"shasum":"2eff90bfd297160fb1a0281a153f30a7e7bc83ae","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.6.30-2.tgz","fileCount":18303,"integrity":"sha512-SfNJnXI8PzgTYEcRboe+4M7hlLaWvZMVEUlhEtNfDVwDt9kuIByMTQ9ahrF+HXKiojQD66mJo/pGmT6wWQ6yOQ==","signatures":[{"sig":"MEUCIFQPbypL2HPAU0RWdVDs8+iXxWCx4D03Z7HAyEP/quFAAiEAoy3suj+yjxmXJaSWdRXQJLUKAW9n/HudlFlJP7E+J38=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.6.30-2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":101024736},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./rpc-entry":{"import":"./dist/rpc-entry.js"}},"gitHead":"7bfb5aab27c26ee0ca6a64da9d51252cc6aa992d","scripts":{"dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsgo -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js dist/rpc-entry.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/","build:binary":"npm --prefix ../tui run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm run build && bun build --compile --no-compile-autoload-dotenv --minify --keep-names ./dist/bun/cli.js ./src/utils/image-resize-worker.ts --outfile dist/pi && npm run copy-binary-assets","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html dist/export-html/ && shx cp src/core/export-html/vendor/*.js dist/export-html/vendor/ && shx cp -r docs dist/ && shx cp -r examples dist/ && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cb385a00-0239-4c6e-aeb9-4f5c48eb2124"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.2"},"rimraf":"6.1.2"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.16.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.17.0","dependencies":{"diff":"8.0.4","glob":"13.0.6","jiti":"2.7.0","yaml":"2.9.0","chalk":"5.6.2","jsdom":"29.1.1","ignore":"7.0.5","marked":"18.0.5","openai":"6.26.0","semver":"7.8.0","undici":"8.5.0","typebox":"1.1.38","turndown":"7.2.4","minimatch":"10.2.5","picomatch":"4.0.4","cross-spawn":"7.0.6","highlight.js":"10.7.3","partial-json":"0.1.7","@smithy/types":"4.8.0","proxy-from-env":"1.1.0","hosted-git-info":"9.0.3","proper-lockfile":"4.1.2","http-proxy-agent":"7.0.2","@anthropic-ai/sdk":"0.91.1","https-proxy-agent":"7.0.6","@opentelemetry/api":"1.9.0","@mistralai/mistralai":"2.2.6","@mozilla/readability":"0.6.0","get-east-asian-width":"1.6.0","@earendil-works/pi-ai":"^2026.6.30-2","@earendil-works/pi-tui":"^2026.6.30-2","@smithy/node-http-handler":"4.7.3","@silvia-odwyer/photon-node":"0.3.4","@earendil-works/pi-agent-core":"^2026.6.30-2","@aws-sdk/client-bedrock-runtime":"3.1048.0"},"_hasShrinkwrap":true,"devDependencies":{"shx":"0.4.0","vitest":"4.1.9","@types/ms":"2.1.0","typescript":"6.0.3","@types/diff":"7.0.2","@types/node":"25.9.1","@types/jsdom":"28.0.3","@types/semver":"7.7.1","@types/turndown":"5.0.6","@types/picomatch":"4.0.3","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-tui"],"optionalDependencies":{"@mariozechner/clipboard":"0.3.9"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.6.30-2_1782854916838_0.23961984143760162","host":"s3://npm-registry-packages-npm-production"}},"2026.7.2":{"name":"@code-yeongyu/senpi","version":"2026.7.2","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.7.2","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"senpi":"dist/cli.js"},"dist":{"shasum":"eb883246e5ebc5a9ca831dde640f1d09d4a4601b","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.7.2.tgz","fileCount":18316,"integrity":"sha512-0/37dMqLEWJGL1M/D4lBRaYZjv+C8PqKnV1A1Y3hIZda+4a36nUTAHPsRKv8pol5lUXumP7FCILUdiLau5tCzg==","signatures":[{"sig":"MEUCIQDMGXpJRaj1ChLpdVZINvLsAEvWDrfyBBQkHNZfKrmp5wIgLsze3rxmTm6AhwyWFlJl+Zkp9sZr3h30pyISDKFYRuc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.7.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":101092501},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./rpc-entry":{"import":"./dist/rpc-entry.js"}},"gitHead":"d98ab45cd834432d5e2b3f2b7a0503f936404d66","scripts":{"dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsgo -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js dist/rpc-entry.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/","build:binary":"npm --prefix ../tui run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm run build && bun build --compile --no-compile-autoload-dotenv --minify --keep-names ./dist/bun/cli.js ./src/utils/image-resize-worker.ts --outfile dist/pi && npm run copy-binary-assets","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html dist/export-html/ && shx cp src/core/export-html/vendor/*.js dist/export-html/vendor/ && shx cp -r docs dist/ && shx cp -r examples dist/ && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cb385a00-0239-4c6e-aeb9-4f5c48eb2124"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.2"},"rimraf":"6.1.2"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.16.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.18.0","dependencies":{"diff":"8.0.4","glob":"13.0.6","jiti":"2.7.0","yaml":"2.9.0","chalk":"5.6.2","jsdom":"29.1.1","ignore":"7.0.5","marked":"18.0.5","openai":"6.26.0","semver":"7.8.0","undici":"8.5.0","typebox":"1.1.38","turndown":"7.2.4","minimatch":"10.2.5","picomatch":"4.0.4","cross-spawn":"7.0.6","highlight.js":"10.7.3","partial-json":"0.1.7","@smithy/types":"4.8.0","proxy-from-env":"1.1.0","hosted-git-info":"9.0.3","proper-lockfile":"4.1.2","http-proxy-agent":"7.0.2","@anthropic-ai/sdk":"0.91.1","https-proxy-agent":"7.0.6","@opentelemetry/api":"1.9.0","@mistralai/mistralai":"2.2.6","@mozilla/readability":"0.6.0","get-east-asian-width":"1.6.0","@earendil-works/pi-ai":"^2026.7.2","@earendil-works/pi-tui":"^2026.7.2","@smithy/node-http-handler":"4.7.3","@silvia-odwyer/photon-node":"0.3.4","@earendil-works/pi-agent-core":"^2026.7.2","@aws-sdk/client-bedrock-runtime":"3.1048.0"},"_hasShrinkwrap":true,"devDependencies":{"shx":"0.4.0","vitest":"4.1.9","@types/ms":"2.1.0","typescript":"6.0.3","@types/diff":"7.0.2","@types/node":"25.9.1","@types/jsdom":"28.0.3","@types/semver":"7.7.1","@types/turndown":"5.0.6","@types/picomatch":"4.0.3","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-tui"],"optionalDependencies":{"@mariozechner/clipboard":"0.3.9"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.7.2_1782963981493_0.20538762579915537","host":"s3://npm-registry-packages-npm-production"}},"2026.7.3":{"name":"@code-yeongyu/senpi","version":"2026.7.3","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.7.3","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"senpi":"dist/cli.js"},"dist":{"shasum":"2900d8a717d804e8d6c608ccf84bf9204e8c3e08","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.7.3.tgz","fileCount":18324,"integrity":"sha512-OCmH3yd333Mlm/d29wqaur2aNW9zMdjROmWTzLD+pimIW0MqRijzqe0RGMmXNnPZyka4DZMCWGXDKtM5jPg7sA==","signatures":[{"sig":"MEUCIA5hHLAjcnmDPFClKxIlghE8L1RlamfEuT2CiaHUx9qPAiEA8DFBmocCJo1ZRFTuSOEIH8Wonmf6w83R/FRzJdcIsK8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.7.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":101172346},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./rpc-entry":{"import":"./dist/rpc-entry.js"}},"gitHead":"c819189b5df25120bcec705b3d4bc7547eb34827","scripts":{"dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsgo -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js dist/rpc-entry.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/","build:binary":"npm --prefix ../tui run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm run build && bun build --compile --no-compile-autoload-dotenv --minify --keep-names ./dist/bun/cli.js ./src/utils/image-resize-worker.ts --outfile dist/pi && npm run copy-binary-assets","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html dist/export-html/ && shx cp src/core/export-html/vendor/*.js dist/export-html/vendor/ && shx cp -r docs dist/ && shx cp -r examples dist/ && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cb385a00-0239-4c6e-aeb9-4f5c48eb2124"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.2"},"rimraf":"6.1.2"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.16.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.18.0","dependencies":{"diff":"8.0.4","glob":"13.0.6","jiti":"2.7.0","yaml":"2.9.0","chalk":"5.6.2","jsdom":"29.1.1","ignore":"7.0.5","marked":"18.0.5","openai":"6.26.0","semver":"7.8.0","undici":"8.5.0","typebox":"1.1.38","turndown":"7.2.4","minimatch":"10.2.5","picomatch":"4.0.4","cross-spawn":"7.0.6","highlight.js":"10.7.3","partial-json":"0.1.7","@smithy/types":"4.8.0","proxy-from-env":"1.1.0","hosted-git-info":"9.0.3","proper-lockfile":"4.1.2","http-proxy-agent":"7.0.2","@anthropic-ai/sdk":"0.91.1","https-proxy-agent":"7.0.6","@opentelemetry/api":"1.9.0","@mistralai/mistralai":"2.2.6","@mozilla/readability":"0.6.0","get-east-asian-width":"1.6.0","@earendil-works/pi-ai":"^2026.7.3","@earendil-works/pi-tui":"^2026.7.3","@smithy/node-http-handler":"4.7.3","@silvia-odwyer/photon-node":"0.3.4","@earendil-works/pi-agent-core":"^2026.7.3","@aws-sdk/client-bedrock-runtime":"3.1048.0"},"_hasShrinkwrap":true,"devDependencies":{"shx":"0.4.0","vitest":"4.1.9","@types/ms":"2.1.0","typescript":"6.0.3","@types/diff":"7.0.2","@types/node":"25.9.1","@types/jsdom":"28.0.3","@types/semver":"7.7.1","@types/turndown":"5.0.6","@types/picomatch":"4.0.3","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-tui"],"optionalDependencies":{"@mariozechner/clipboard":"0.3.9"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.7.3_1783047590725_0.4146661921513626","host":"s3://npm-registry-packages-npm-production"}},"2026.7.4":{"name":"@code-yeongyu/senpi","version":"2026.7.4","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.7.4","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"senpi":"dist/cli.js"},"dist":{"shasum":"18236793b2efed93988a8fc764ea6c4c61c68348","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.7.4.tgz","fileCount":18336,"integrity":"sha512-sOUUz8Eg/mQaJDSmZzxJMZ/UOe/gFXJ3eLBgZUqP87W9MQ2KIAx7LIiyrYtYj96s6zAf0h9Fxs0XhLkAtwJk8A==","signatures":[{"sig":"MEQCIG6AIRbfAfQgjl//eYyWtlp/nVlWxS+ippTQLUbDhnlkAiA0+Jf/DhLLX7Zfs+/NoeNy7h9xWRB1l2h1cybAUICHIw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.7.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":101216444},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./rpc-entry":{"import":"./dist/rpc-entry.js"}},"gitHead":"2e1e927505e64b65cfde3353fa71fb981f1e8c2d","scripts":{"dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsgo -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js dist/rpc-entry.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/","build:binary":"npm --prefix ../tui run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm run build && bun build --compile --no-compile-autoload-dotenv --minify --keep-names ./dist/bun/cli.js ./src/utils/image-resize-worker.ts --outfile dist/pi && npm run copy-binary-assets","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html dist/export-html/ && shx cp src/core/export-html/vendor/*.js dist/export-html/vendor/ && shx cp -r docs dist/ && shx cp -r examples dist/ && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cb385a00-0239-4c6e-aeb9-4f5c48eb2124"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.2"},"rimraf":"6.1.2"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.16.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.18.0","dependencies":{"diff":"8.0.4","glob":"13.0.6","jiti":"2.7.0","yaml":"2.9.0","chalk":"5.6.2","jsdom":"29.1.1","ignore":"7.0.5","marked":"18.0.5","openai":"6.26.0","semver":"7.8.0","undici":"8.5.0","typebox":"1.1.38","turndown":"7.2.4","minimatch":"10.2.5","picomatch":"4.0.4","cross-spawn":"7.0.6","highlight.js":"10.7.3","partial-json":"0.1.7","@smithy/types":"4.8.0","proxy-from-env":"1.1.0","hosted-git-info":"9.0.3","proper-lockfile":"4.1.2","http-proxy-agent":"7.0.2","@anthropic-ai/sdk":"0.91.1","https-proxy-agent":"7.0.6","@opentelemetry/api":"1.9.0","@mistralai/mistralai":"2.2.6","@mozilla/readability":"0.6.0","get-east-asian-width":"1.6.0","@earendil-works/pi-ai":"^2026.7.4","@earendil-works/pi-tui":"^2026.7.4","@smithy/node-http-handler":"4.7.3","@silvia-odwyer/photon-node":"0.3.4","@earendil-works/pi-agent-core":"^2026.7.4","@aws-sdk/client-bedrock-runtime":"3.1048.0"},"_hasShrinkwrap":true,"devDependencies":{"shx":"0.4.0","vitest":"4.1.9","@types/ms":"2.1.0","typescript":"6.0.3","@types/diff":"7.0.2","@types/node":"25.9.1","@types/jsdom":"28.0.3","@types/semver":"7.7.1","@types/turndown":"5.0.6","@types/picomatch":"4.0.3","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-tui"],"optionalDependencies":{"@mariozechner/clipboard":"0.3.9"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.7.4_1783159314293_0.39017928553661596","host":"s3://npm-registry-packages-npm-production"}},"2026.7.5-2":{"name":"@code-yeongyu/senpi","version":"2026.7.5-2","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.7.5-2","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"senpi":"dist/cli.js"},"dist":{"shasum":"63728abba1f2d625b33fe0ae1d297541fcd91cd8","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.7.5-2.tgz","fileCount":18336,"integrity":"sha512-1RTLYWLm3XjchJq3GvCltlm/IJzIeAkJWk12iSU27QSo1rDTqP7KFMRoeoZ5IkZVsSOkANDpsrqIGV/7kim6ug==","signatures":[{"sig":"MEUCIFGgLe0nO7mrI8HNdqAwhR5UHJhJk0oqAPfTSpNT0BqJAiEA6kNFkD0yjgbyJkrzIL2BB/RmgB9B7NaGashRTVZ44LQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.7.5-2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":101206603},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./rpc-entry":{"import":"./dist/rpc-entry.js"}},"gitHead":"09648b9067020e4c5b52ebb3e351704238c9225d","scripts":{"dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsgo -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js dist/rpc-entry.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/","build:binary":"npm --prefix ../tui run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm run build && bun build --compile --no-compile-autoload-dotenv --minify --keep-names ./dist/bun/cli.js ./src/utils/image-resize-worker.ts --outfile dist/pi && npm run copy-binary-assets","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html dist/export-html/ && shx cp src/core/export-html/vendor/*.js dist/export-html/vendor/ && shx cp -r docs dist/ && shx cp -r examples dist/ && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cb385a00-0239-4c6e-aeb9-4f5c48eb2124"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.2"},"rimraf":"6.1.2"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.16.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.18.0","dependencies":{"diff":"8.0.4","glob":"13.0.6","jiti":"2.7.0","yaml":"2.9.0","chalk":"5.6.2","jsdom":"29.1.1","ignore":"7.0.5","marked":"18.0.5","openai":"6.26.0","semver":"7.8.0","undici":"8.5.0","typebox":"1.1.38","turndown":"7.2.4","minimatch":"10.2.5","picomatch":"4.0.4","cross-spawn":"7.0.6","highlight.js":"10.7.3","partial-json":"0.1.7","@smithy/types":"4.8.0","proxy-from-env":"1.1.0","hosted-git-info":"9.0.3","proper-lockfile":"4.1.2","http-proxy-agent":"7.0.2","@anthropic-ai/sdk":"0.91.1","https-proxy-agent":"7.0.6","@opentelemetry/api":"1.9.0","@mistralai/mistralai":"2.2.6","@mozilla/readability":"0.6.0","get-east-asian-width":"1.6.0","@earendil-works/pi-ai":"^2026.7.5-2","@earendil-works/pi-tui":"^2026.7.5-2","@smithy/node-http-handler":"4.7.3","@silvia-odwyer/photon-node":"0.3.4","@earendil-works/pi-agent-core":"^2026.7.5-2","@aws-sdk/client-bedrock-runtime":"3.1048.0"},"_hasShrinkwrap":true,"devDependencies":{"shx":"0.4.0","vitest":"4.1.9","@types/ms":"2.1.0","typescript":"6.0.3","@types/diff":"7.0.2","@types/node":"25.9.1","@types/jsdom":"28.0.3","@types/semver":"7.7.1","@types/turndown":"5.0.6","@types/picomatch":"4.0.3","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-tui"],"optionalDependencies":{"@mariozechner/clipboard":"0.3.9"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.7.5-2_1783271801048_0.8808111541965264","host":"s3://npm-registry-packages-npm-production"}},"2026.7.9":{"name":"@code-yeongyu/senpi","version":"2026.7.9","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.7.9","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"senpi":"dist/cli.js"},"dist":{"shasum":"68f47f142852ed7a951ea1597627b9437217cd1e","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.7.9.tgz","fileCount":21388,"integrity":"sha512-t5lLGwrhVP/JFhUGeb19pXmZVSkM1MAgMqjLjHFRSad+sgsXrnSLPv5J1b1SFVSH1ZmjtWIGRoV8IK0IJjD4Ew==","signatures":[{"sig":"MEUCIQCKVm2FXU3HDz5fBpiRiawfCtymZ6Nxn5/rUeYGEEbBrgIgLc1fJTFETobpZ/vLKh1yMc5t9ZPiPWA+GpkeTaaQG7M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.7.9","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":106364675},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./rpc-entry":{"import":"./dist/rpc-entry.js"}},"gitHead":"0cb1297236273fdb4f783e2d58939fe49f2f4d44","scripts":{"dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsgo -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js dist/rpc-entry.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/","build:binary":"npm --prefix ../tui run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm run build && bun build --compile --no-compile-autoload-dotenv --minify --keep-names ./dist/bun/cli.js ./src/utils/image-resize-worker.ts --outfile dist/pi && npm run copy-binary-assets","qa:app-server":"node scripts/qa-app-server/run-all.mjs","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html dist/export-html/ && shx cp src/core/export-html/vendor/*.js dist/export-html/vendor/ && shx cp -r docs dist/ && shx cp -r examples dist/ && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/ && node ../../scripts/copy-pty-native.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cb385a00-0239-4c6e-aeb9-4f5c48eb2124"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.2"},"rimraf":"6.1.2"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.16.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ws":"8.21.0","diff":"8.0.4","glob":"13.0.6","jiti":"2.7.0","yaml":"2.9.0","chalk":"5.6.2","jsdom":"29.1.1","ignore":"7.0.5","marked":"18.0.5","openai":"6.26.0","semver":"7.8.0","undici":"8.5.0","typebox":"1.1.38","turndown":"7.2.4","minimatch":"10.2.5","picomatch":"4.0.4","cross-spawn":"7.0.6","highlight.js":"10.7.3","partial-json":"0.1.7","@smithy/types":"4.8.0","proxy-from-env":"1.1.0","hosted-git-info":"9.0.3","proper-lockfile":"4.1.2","http-proxy-agent":"7.0.2","@anthropic-ai/sdk":"0.91.1","https-proxy-agent":"7.0.6","@opentelemetry/api":"1.9.0","@mistralai/mistralai":"2.2.6","@mozilla/readability":"0.6.0","get-east-asian-width":"1.6.0","@earendil-works/pi-ai":"^2026.7.9","@earendil-works/pi-pty":"^2026.7.9","@earendil-works/pi-tui":"^2026.7.9","@modelcontextprotocol/sdk":"1.29.0","@smithy/node-http-handler":"4.7.3","@silvia-odwyer/photon-node":"0.3.4","@code-yeongyu/senpi-codemode":"^2026.7.9","@earendil-works/pi-agent-core":"^2026.7.9","@aws-sdk/client-bedrock-runtime":"3.1048.0"},"_hasShrinkwrap":true,"devDependencies":{"shx":"0.4.0","vitest":"4.1.9","@types/ms":"2.1.0","@types/ws":"8.18.1","typescript":"6.0.3","@types/diff":"7.0.2","@types/node":"25.9.1","@types/jsdom":"28.0.3","@types/semver":"7.7.1","@types/turndown":"5.0.6","@types/picomatch":"4.0.3","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@code-yeongyu/senpi-codemode","@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-pty","@earendil-works/pi-tui"],"optionalDependencies":{"@mariozechner/clipboard":"0.3.9"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.7.9_1783618710744_0.010877844535964964","host":"s3://npm-registry-packages-npm-production"}},"2026.7.9-2":{"name":"@code-yeongyu/senpi","version":"2026.7.9-2","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.7.9-2","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"senpi":"dist/cli.js"},"dist":{"shasum":"1b9a64871128ca928478078adbdc2a1a5281ac79","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.7.9-2.tgz","fileCount":21392,"integrity":"sha512-c7XS3cBPC9lgIItHS6cQVHTTQ5nkuIK3Wo0A++vde0ZbpWXkvfJsXqTY8jmk34LB5DjbWVpUn2d4GsL6bc+xtQ==","signatures":[{"sig":"MEYCIQCBdF4b5VSFq44LmkxUviBIasuydcM+jNLlZwlRjyS8UAIhAMBP9J3KRngt/p4XLMd0KhNM+SW3PuOo+/pnXHaKTb/3","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.7.9-2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":106562186},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./rpc-entry":{"import":"./dist/rpc-entry.js"}},"gitHead":"fdc66b40f24f36dee5b6943e481bc76a197cb535","scripts":{"dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsgo -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js dist/rpc-entry.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/","build:binary":"npm --prefix ../tui run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm run build && bun build --compile --no-compile-autoload-dotenv --minify --keep-names ./dist/bun/cli.js ./src/utils/image-resize-worker.ts --outfile dist/pi && npm run copy-binary-assets","qa:app-server":"node scripts/qa-app-server/run-all.mjs","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html dist/export-html/ && shx cp src/core/export-html/vendor/*.js dist/export-html/vendor/ && shx cp -r docs dist/ && shx cp -r examples dist/ && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/ && node ../../scripts/copy-pty-native.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cb385a00-0239-4c6e-aeb9-4f5c48eb2124"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.2"},"rimraf":"6.1.2"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.16.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ws":"8.21.0","diff":"8.0.4","glob":"13.0.6","jiti":"2.7.0","yaml":"2.9.0","chalk":"5.6.2","jsdom":"29.1.1","ignore":"7.0.5","marked":"18.0.5","openai":"6.26.0","semver":"7.8.0","undici":"8.5.0","typebox":"1.1.38","turndown":"7.2.4","minimatch":"10.2.5","picomatch":"4.0.4","cross-spawn":"7.0.6","highlight.js":"10.7.3","partial-json":"0.1.7","@smithy/types":"4.8.0","proxy-from-env":"1.1.0","hosted-git-info":"9.0.3","proper-lockfile":"4.1.2","http-proxy-agent":"7.0.2","@anthropic-ai/sdk":"0.91.1","https-proxy-agent":"7.0.6","@opentelemetry/api":"1.9.0","@mistralai/mistralai":"2.2.6","@mozilla/readability":"0.6.0","get-east-asian-width":"1.6.0","@earendil-works/pi-ai":"^2026.7.9-2","@earendil-works/pi-pty":"^2026.7.9-2","@earendil-works/pi-tui":"^2026.7.9-2","@modelcontextprotocol/sdk":"1.29.0","@smithy/node-http-handler":"4.7.3","@silvia-odwyer/photon-node":"0.3.4","@code-yeongyu/senpi-codemode":"^2026.7.9-2","@earendil-works/pi-agent-core":"^2026.7.9-2","@aws-sdk/client-bedrock-runtime":"3.1048.0"},"_hasShrinkwrap":true,"devDependencies":{"shx":"0.4.0","vitest":"4.1.9","@types/ms":"2.1.0","@types/ws":"8.18.1","typescript":"6.0.3","@types/diff":"7.0.2","@types/node":"25.9.1","@types/jsdom":"28.0.3","@types/semver":"7.7.1","@types/turndown":"5.0.6","@types/picomatch":"4.0.3","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@code-yeongyu/senpi-codemode","@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-pty","@earendil-works/pi-tui"],"optionalDependencies":{"@mariozechner/clipboard":"0.3.9"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.7.9-2_1783632257154_0.6453091427208979","host":"s3://npm-registry-packages-npm-production"}},"2026.7.10":{"name":"@code-yeongyu/senpi","version":"2026.7.10","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.7.10","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"senpi":"dist/cli.js"},"dist":{"shasum":"000af3deecc7b393f1594b0c4633bdb6ec82c98e","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.7.10.tgz","fileCount":21391,"integrity":"sha512-rxWYU6q9/GExpIfWa2qq1F9XfFv5SUPzMmBUwkr5cyIgWc5bUjw8ALEv8qsi7+NcsM24FddV4UMd4UzUeoYL3w==","signatures":[{"sig":"MEUCIEnKxgMsuIQlavBYMjBBOXc20ecMlllE9ZOxG9w0c56GAiEAzl9R+mY1n5Xv6+anw2sCjOeJHwxHEhibLfVgSGo5jaM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.7.10","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":106447731},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./rpc-entry":{"import":"./dist/rpc-entry.js"}},"gitHead":"fb5c2ad7500119226ade019e9d199c8f7d5e8922","scripts":{"dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsgo -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js dist/rpc-entry.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/","build:binary":"npm --prefix ../tui run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm run build && bun build --compile --no-compile-autoload-dotenv --minify --keep-names ./dist/bun/cli.js ./src/utils/image-resize-worker.ts --outfile dist/pi && npm run copy-binary-assets","qa:app-server":"node scripts/qa-app-server/run-all.mjs","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html dist/export-html/ && shx cp src/core/export-html/vendor/*.js dist/export-html/vendor/ && shx cp -r docs dist/ && shx cp -r examples dist/ && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/ && node ../../scripts/copy-pty-native.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cb385a00-0239-4c6e-aeb9-4f5c48eb2124"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.2"},"rimraf":"6.1.2"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.16.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ws":"8.21.0","diff":"8.0.4","glob":"13.0.6","jiti":"2.7.0","yaml":"2.9.0","chalk":"5.6.2","jsdom":"29.1.1","ignore":"7.0.5","marked":"18.0.5","openai":"6.26.0","semver":"7.8.0","undici":"8.5.0","typebox":"1.1.38","turndown":"7.2.4","minimatch":"10.2.5","picomatch":"4.0.4","cross-spawn":"7.0.6","highlight.js":"10.7.3","partial-json":"0.1.7","@smithy/types":"4.8.0","proxy-from-env":"1.1.0","hosted-git-info":"9.0.3","proper-lockfile":"4.1.2","http-proxy-agent":"7.0.2","@anthropic-ai/sdk":"0.91.1","https-proxy-agent":"7.0.6","@opentelemetry/api":"1.9.0","@mistralai/mistralai":"2.2.6","@mozilla/readability":"0.6.0","get-east-asian-width":"1.6.0","@earendil-works/pi-ai":"^2026.7.10","@earendil-works/pi-pty":"^2026.7.10","@earendil-works/pi-tui":"^2026.7.10","@modelcontextprotocol/sdk":"1.29.0","@smithy/node-http-handler":"4.7.3","@silvia-odwyer/photon-node":"0.3.4","@code-yeongyu/senpi-codemode":"^2026.7.10","@earendil-works/pi-agent-core":"^2026.7.10","@aws-sdk/client-bedrock-runtime":"3.1048.0"},"_hasShrinkwrap":false,"devDependencies":{"shx":"0.4.0","vitest":"4.1.9","@types/ms":"2.1.0","@types/ws":"8.18.1","typescript":"6.0.3","@types/diff":"7.0.2","@types/node":"25.9.1","@types/jsdom":"28.0.3","@types/semver":"7.7.1","@types/turndown":"5.0.6","@types/picomatch":"4.0.3","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@code-yeongyu/senpi-codemode","@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-pty","@earendil-works/pi-tui"],"optionalDependencies":{"@mariozechner/clipboard":"0.3.9"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.7.10_1783642752622_0.25196272199170533","host":"s3://npm-registry-packages-npm-production"}},"2026.7.10-2":{"name":"@code-yeongyu/senpi","version":"2026.7.10-2","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.7.10-2","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"senpi":"dist/cli.js"},"dist":{"shasum":"0c22a23918271bd6c65d30e925e76a710986e03d","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.7.10-2.tgz","fileCount":21391,"integrity":"sha512-6/LxPpN5crXTqIuQPeOBWnZ29vxaSZdaeV97pw0Ish1d2RqhgTUbb2I58wyBdWFgChoCD2NFjd3/xG/zzyqPgw==","signatures":[{"sig":"MEYCIQCnT59qAALB8M2rSNJOgGy6haywU5bIOSri9ZXG4YZaoAIhAP3u7f6CMQPh7QojjJcEc4HDDIDWk69I8gBQ6Ub2MfBy","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.7.10-2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":106475956},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./rpc-entry":{"import":"./dist/rpc-entry.js"}},"gitHead":"e86ebd9d9e9d1e5c13fd0928d4d6a71eecb4cb79","scripts":{"dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsgo -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js dist/rpc-entry.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/","build:binary":"npm --prefix ../tui run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm run build && bun build --compile --no-compile-autoload-dotenv --minify --keep-names ./dist/bun/cli.js ./src/utils/image-resize-worker.ts --outfile dist/pi && npm run copy-binary-assets","qa:app-server":"node scripts/qa-app-server/run-all.mjs","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html dist/export-html/ && shx cp src/core/export-html/vendor/*.js dist/export-html/vendor/ && shx cp -r docs dist/ && shx cp -r examples dist/ && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/ && node ../../scripts/copy-pty-native.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cb385a00-0239-4c6e-aeb9-4f5c48eb2124"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.2"},"rimraf":"6.1.2"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.16.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ws":"8.21.0","diff":"8.0.4","glob":"13.0.6","jiti":"2.7.0","yaml":"2.9.0","chalk":"5.6.2","jsdom":"29.1.1","ignore":"7.0.5","marked":"18.0.5","openai":"6.26.0","semver":"7.8.0","undici":"8.5.0","typebox":"1.1.38","turndown":"7.2.4","minimatch":"10.2.5","picomatch":"4.0.4","cross-spawn":"7.0.6","highlight.js":"10.7.3","partial-json":"0.1.7","@smithy/types":"4.8.0","proxy-from-env":"1.1.0","hosted-git-info":"9.0.3","proper-lockfile":"4.1.2","http-proxy-agent":"7.0.2","@anthropic-ai/sdk":"0.91.1","https-proxy-agent":"7.0.6","@opentelemetry/api":"1.9.0","@mistralai/mistralai":"2.2.6","@mozilla/readability":"0.6.0","get-east-asian-width":"1.6.0","@earendil-works/pi-ai":"^2026.7.10-2","@earendil-works/pi-pty":"^2026.7.10-2","@earendil-works/pi-tui":"^2026.7.10-2","@modelcontextprotocol/sdk":"1.29.0","@smithy/node-http-handler":"4.7.3","@silvia-odwyer/photon-node":"0.3.4","@code-yeongyu/senpi-codemode":"^2026.7.10-2","@earendil-works/pi-agent-core":"^2026.7.10-2","@aws-sdk/client-bedrock-runtime":"3.1048.0"},"_hasShrinkwrap":false,"devDependencies":{"shx":"0.4.0","vitest":"4.1.9","@types/ms":"2.1.0","@types/ws":"8.18.1","typescript":"6.0.3","@types/diff":"7.0.2","@types/node":"25.9.1","@types/jsdom":"28.0.3","@types/semver":"7.7.1","@types/turndown":"5.0.6","@types/picomatch":"4.0.3","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@code-yeongyu/senpi-codemode","@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-pty","@earendil-works/pi-tui"],"optionalDependencies":{"@mariozechner/clipboard":"0.3.9"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.7.10-2_1783646055148_0.8199609151177241","host":"s3://npm-registry-packages-npm-production"}},"2026.7.11":{"name":"@code-yeongyu/senpi","version":"2026.7.11","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.7.11","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"senpi":"dist/cli.js"},"dist":{"shasum":"76144edd6e3405ec92f1071188a25a582be07655","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.7.11.tgz","fileCount":21435,"integrity":"sha512-lj7K2m7foSMeevP8q/FOW78LfDOs0O3wuMz9neSil2BpFUalqlpuLZmW6blFRjRQm4kwBEOu6dzz2quibMJA5A==","signatures":[{"sig":"MEQCIAGTN5AitLXtFx7ZDlDDFGZLCYEfUSZhLxgrlXNOLdcSAiB6wgk4tMfSsG96edNjkVbY2/JN1J1A0lJDiquf1oyOkg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.7.11","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":106656755},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./rpc-entry":{"import":"./dist/rpc-entry.js"}},"gitHead":"45c81f1d7a10d027b29d64dc6353a34559539cdd","scripts":{"dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsgo -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js dist/rpc-entry.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/","build:binary":"npm --prefix ../tui run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm run build && bun build --compile --no-compile-autoload-dotenv --minify --keep-names ./dist/bun/cli.js ./src/utils/image-resize-worker.ts --outfile dist/pi && npm run copy-binary-assets","qa:app-server":"node scripts/qa-app-server/run-all.mjs","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html dist/export-html/ && shx cp src/core/export-html/vendor/*.js dist/export-html/vendor/ && shx cp -r docs dist/ && shx cp -r examples dist/ && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/ && node ../../scripts/copy-pty-native.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cb385a00-0239-4c6e-aeb9-4f5c48eb2124"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.2"},"rimraf":"6.1.2"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.16.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ws":"8.21.0","diff":"8.0.4","glob":"13.0.6","jiti":"2.7.0","yaml":"2.9.0","chalk":"5.6.2","jsdom":"29.1.1","ignore":"7.0.5","marked":"18.0.5","openai":"6.26.0","semver":"7.8.0","undici":"8.5.0","typebox":"1.1.38","turndown":"7.2.4","minimatch":"10.2.5","picomatch":"4.0.4","cross-spawn":"7.0.6","highlight.js":"10.7.3","partial-json":"0.1.7","@smithy/types":"4.8.0","proxy-from-env":"1.1.0","hosted-git-info":"9.0.3","proper-lockfile":"4.1.2","http-proxy-agent":"7.0.2","@anthropic-ai/sdk":"0.91.1","https-proxy-agent":"7.0.6","@opentelemetry/api":"1.9.0","@mistralai/mistralai":"2.2.6","@mozilla/readability":"0.6.0","get-east-asian-width":"1.6.0","@earendil-works/pi-ai":"^2026.7.11","@earendil-works/pi-pty":"^2026.7.11","@earendil-works/pi-tui":"^2026.7.11","@modelcontextprotocol/sdk":"1.29.0","@smithy/node-http-handler":"4.7.3","@silvia-odwyer/photon-node":"0.3.4","@code-yeongyu/senpi-codemode":"^2026.7.11","@earendil-works/pi-agent-core":"^2026.7.11","@aws-sdk/client-bedrock-runtime":"3.1048.0"},"_hasShrinkwrap":false,"devDependencies":{"shx":"0.4.0","vitest":"4.1.9","@types/ms":"2.1.0","@types/ws":"8.18.1","typescript":"6.0.3","@types/diff":"7.0.2","@types/node":"25.9.1","@types/jsdom":"28.0.3","@types/semver":"7.7.1","@types/turndown":"5.0.6","@types/picomatch":"4.0.3","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@code-yeongyu/senpi-codemode","@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-pty","@earendil-works/pi-tui"],"optionalDependencies":{"@mariozechner/clipboard":"0.3.9"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.7.11_1783798309762_0.034117331375731474","host":"s3://npm-registry-packages-npm-production"}},"2026.7.13":{"name":"@code-yeongyu/senpi","version":"2026.7.13","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.7.13","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"senpi":"dist/cli.js"},"dist":{"shasum":"262e03a743c84b6c74d024b47be0425ce28fff3b","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.7.13.tgz","fileCount":21649,"integrity":"sha512-Hi0SDevrNdsVod8dgb+l6DdkiX9X3r+qTBXZlJ4UuwMD+fRvkbdekYysvFiY1dujabR0gIg+ax/g4MuDRYNO9A==","signatures":[{"sig":"MEYCIQC3caQrIlSpNxrXpZw8q6J4W815C1JQyRos+FUCWbcPsgIhAPuGAnQFgh+u9HODLoCPEh5rc5QvO/30T5z/pUASxR5h","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.7.13","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":111642271},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./rpc-entry":{"import":"./dist/rpc-entry.js"}},"gitHead":"fc472faf6b067c5c6541a265574ae3c0537c7b3f","scripts":{"dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsgo -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js dist/rpc-entry.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/","build:binary":"npm --prefix ../tui run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm run build && bun build --compile --no-compile-autoload-dotenv --minify --keep-names ./dist/bun/cli.js ./src/utils/image-resize-worker.ts --outfile dist/pi && npm run copy-binary-assets","qa:app-server":"node scripts/qa-app-server/run-all.mjs","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html dist/export-html/ && shx cp src/core/export-html/vendor/*.js dist/export-html/vendor/ && shx cp -r docs dist/ && shx cp -r examples dist/ && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/ && node ../../scripts/copy-pty-native.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cb385a00-0239-4c6e-aeb9-4f5c48eb2124"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.2"},"rimraf":"6.1.2"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.16.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ws":"8.21.0","diff":"8.0.4","glob":"13.0.6","jiti":"2.7.0","yaml":"2.9.0","chalk":"5.6.2","jsdom":"29.1.1","ignore":"7.0.5","marked":"18.0.5","openai":"6.26.0","semver":"7.8.0","undici":"8.5.0","typebox":"1.1.38","turndown":"7.2.4","minimatch":"10.2.5","picomatch":"4.0.4","cross-spawn":"7.0.6","highlight.js":"10.7.3","partial-json":"0.1.7","@smithy/types":"4.8.0","proxy-from-env":"1.1.0","hosted-git-info":"9.0.3","proper-lockfile":"4.1.2","http-proxy-agent":"7.0.2","@anthropic-ai/sdk":"0.91.1","https-proxy-agent":"7.0.6","@opentelemetry/api":"1.9.0","@mistralai/mistralai":"2.2.6","@mozilla/readability":"0.6.0","get-east-asian-width":"1.6.0","@earendil-works/pi-ai":"^2026.7.13","@earendil-works/pi-pty":"^2026.7.13","@earendil-works/pi-tui":"^2026.7.13","@modelcontextprotocol/sdk":"1.29.0","@smithy/node-http-handler":"4.7.3","@silvia-odwyer/photon-node":"0.3.4","@code-yeongyu/senpi-codemode":"^2026.7.13","@earendil-works/pi-agent-core":"^2026.7.13","@aws-sdk/client-bedrock-runtime":"3.1048.0"},"_hasShrinkwrap":false,"devDependencies":{"shx":"0.4.0","vitest":"4.1.9","@types/ms":"2.1.0","@types/ws":"8.18.1","typescript":"6.0.3","@types/diff":"7.0.2","@types/node":"25.9.1","@types/jsdom":"28.0.3","@types/semver":"7.7.1","@types/turndown":"5.0.6","@types/picomatch":"4.0.3","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@code-yeongyu/senpi-codemode","@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-pty","@earendil-works/pi-tui"],"optionalDependencies":{"@mariozechner/clipboard":"0.3.9"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.7.13_1783935268512_0.25980700079430075","host":"s3://npm-registry-packages-npm-production"}},"2026.7.14":{"name":"@code-yeongyu/senpi","version":"2026.7.14","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.7.14","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"senpi":"dist/cli.js"},"dist":{"shasum":"5f573d37be1525774d12e152115de7adecd57821","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.7.14.tgz","fileCount":21649,"integrity":"sha512-O9ao3rXx02VJfqdL9026XYU3fFY8ju3w9zWDoVN9SViYu8c7lU/IDuzrs427CQjyk6MVfcT4mVAcSsHTMfmukw==","signatures":[{"sig":"MEYCIQC5NrDDmbRCd2AePbhvc36tGEW9UATicgyaqgd9cLX1PAIhALMk3OXa3zmj6YrTGhH9gt+VAPvAT6Q1ugYmmVPYdJTa","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.7.14","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":111651504},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./rpc-entry":{"import":"./dist/rpc-entry.js"}},"gitHead":"208b9e0f0a7cc427b1f28812e3981fbd7bdd6be7","scripts":{"dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsgo -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js dist/rpc-entry.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/","build:binary":"npm --prefix ../tui run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm run build && bun build --compile --no-compile-autoload-dotenv --minify --keep-names ./dist/bun/cli.js ./src/utils/image-resize-worker.ts --outfile dist/pi && npm run copy-binary-assets","qa:app-server":"node scripts/qa-app-server/run-all.mjs","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html dist/export-html/ && shx cp src/core/export-html/vendor/*.js dist/export-html/vendor/ && shx cp -r docs dist/ && shx cp -r examples dist/ && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/ && node ../../scripts/copy-pty-native.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cb385a00-0239-4c6e-aeb9-4f5c48eb2124"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.2"},"rimraf":"6.1.2"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.16.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ws":"8.21.0","diff":"8.0.4","glob":"13.0.6","jiti":"2.7.0","yaml":"2.9.0","chalk":"5.6.2","jsdom":"29.1.1","ignore":"7.0.5","marked":"18.0.5","openai":"6.26.0","semver":"7.8.0","undici":"8.5.0","typebox":"1.1.38","turndown":"7.2.4","minimatch":"10.2.5","picomatch":"4.0.4","cross-spawn":"7.0.6","highlight.js":"10.7.3","partial-json":"0.1.7","@smithy/types":"4.8.0","proxy-from-env":"1.1.0","hosted-git-info":"9.0.3","proper-lockfile":"4.1.2","http-proxy-agent":"7.0.2","@anthropic-ai/sdk":"0.91.1","https-proxy-agent":"7.0.6","@opentelemetry/api":"1.9.0","@mistralai/mistralai":"2.2.6","@mozilla/readability":"0.6.0","get-east-asian-width":"1.6.0","@earendil-works/pi-ai":"^2026.7.14","@earendil-works/pi-pty":"^2026.7.14","@earendil-works/pi-tui":"^2026.7.14","@modelcontextprotocol/sdk":"1.29.0","@smithy/node-http-handler":"4.7.3","@silvia-odwyer/photon-node":"0.3.4","@code-yeongyu/senpi-codemode":"^2026.7.14","@earendil-works/pi-agent-core":"^2026.7.14","@aws-sdk/client-bedrock-runtime":"3.1048.0"},"_hasShrinkwrap":false,"devDependencies":{"shx":"0.4.0","vitest":"4.1.9","@types/ms":"2.1.0","@types/ws":"8.18.1","typescript":"6.0.3","@types/diff":"7.0.2","@types/node":"25.9.1","@types/jsdom":"28.0.3","@types/semver":"7.7.1","@types/turndown":"5.0.6","@types/picomatch":"4.0.3","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@code-yeongyu/senpi-codemode","@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-pty","@earendil-works/pi-tui"],"optionalDependencies":{"@mariozechner/clipboard":"0.3.9"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.7.14_1784002546019_0.1582834205216488","host":"s3://npm-registry-packages-npm-production"}},"2026.7.14-2":{"name":"@code-yeongyu/senpi","version":"2026.7.14-2","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.7.14-2","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"senpi":"dist/cli.js"},"dist":{"shasum":"29d90a59ad52616b4859754176588a51939d3dec","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.7.14-2.tgz","fileCount":21689,"integrity":"sha512-EA4Eq2tA+bzvfeRwzopxztoR8RnmE/D28wwJldVw8jtLMAiBXV2omSKO7/jznYNr1WjLT/MUFZYiLurpMWv9UA==","signatures":[{"sig":"MEQCIEemPzuwFxvNmG+8/icqkTBVn0k4DNYI+ay6egCK0lfEAiAQwVoV3I9C0Vktdz5VsoIdStkzdWOoAV8R1ijDAVQNaQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.7.14-2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":111789821},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./rpc-entry":{"import":"./dist/rpc-entry.js"}},"gitHead":"2d1ceba52e72d746529b0d3615d5f1d9850b5db8","scripts":{"dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsgo -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js dist/rpc-entry.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/","build:binary":"npm --prefix ../tui run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm run build && bun build --compile --no-compile-autoload-dotenv --minify --keep-names ./dist/bun/cli.js ./src/utils/image-resize-worker.ts --outfile dist/pi && npm run copy-binary-assets","qa:app-server":"node scripts/qa-app-server/run-all.mjs","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html dist/export-html/ && shx cp src/core/export-html/vendor/*.js dist/export-html/vendor/ && shx cp -r docs dist/ && shx cp -r examples dist/ && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/ && node ../../scripts/copy-pty-native.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cb385a00-0239-4c6e-aeb9-4f5c48eb2124"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.2"},"rimraf":"6.1.2"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.16.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ws":"8.21.0","diff":"8.0.4","glob":"13.0.6","jiti":"2.7.0","yaml":"2.9.0","chalk":"5.6.2","jsdom":"29.1.1","ignore":"7.0.5","marked":"18.0.5","openai":"6.26.0","semver":"7.8.0","undici":"8.5.0","typebox":"1.1.38","turndown":"7.2.4","minimatch":"10.2.5","picomatch":"4.0.4","cross-spawn":"7.0.6","highlight.js":"10.7.3","partial-json":"0.1.7","@smithy/types":"4.8.0","proxy-from-env":"1.1.0","hosted-git-info":"9.0.3","proper-lockfile":"4.1.2","http-proxy-agent":"7.0.2","@anthropic-ai/sdk":"0.91.1","https-proxy-agent":"7.0.6","@opentelemetry/api":"1.9.0","@mistralai/mistralai":"2.2.6","@mozilla/readability":"0.6.0","get-east-asian-width":"1.6.0","@earendil-works/pi-ai":"^2026.7.14-2","@earendil-works/pi-pty":"^2026.7.14-2","@earendil-works/pi-tui":"^2026.7.14-2","@modelcontextprotocol/sdk":"1.29.0","@smithy/node-http-handler":"4.7.3","@silvia-odwyer/photon-node":"0.3.4","@code-yeongyu/senpi-codemode":"^2026.7.14-2","@earendil-works/pi-agent-core":"^2026.7.14-2","@aws-sdk/client-bedrock-runtime":"3.1048.0"},"_hasShrinkwrap":false,"devDependencies":{"shx":"0.4.0","vitest":"4.1.9","@types/ms":"2.1.0","@types/ws":"8.18.1","typescript":"6.0.3","@types/diff":"7.0.2","@types/node":"25.9.1","@types/jsdom":"28.0.3","@types/semver":"7.7.1","@types/turndown":"5.0.6","@types/picomatch":"4.0.3","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@code-yeongyu/senpi-codemode","@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-pty","@earendil-works/pi-tui"],"optionalDependencies":{"@mariozechner/clipboard":"0.3.9"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.7.14-2_1784022971395_0.8175613777526578","host":"s3://npm-registry-packages-npm-production"}},"2026.7.14-3":{"name":"@code-yeongyu/senpi","version":"2026.7.14-3","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.7.14-3","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"senpi":"dist/cli.js"},"dist":{"shasum":"c834ea2ce9df1cbebe1557ac11a8a75269a229cc","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.7.14-3.tgz","fileCount":21706,"integrity":"sha512-mVZ0uFjys0jwb44jE26T4e8OxmNYt1so8NYBlC38yma+TY5W8OlJbqUt4u1F0GsxJFW+CHNNBuSjGUADzbMZkg==","signatures":[{"sig":"MEQCIFQrVu4yEPVV7L/Le7BQdzrUG+JAzNHG82K69Jc8kTlnAiA3vo+BbE7FcQ5nQir7aLDeh7xiwK5K9uuRqChots0JXw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.7.14-3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":111914737},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./rpc-entry":{"import":"./dist/rpc-entry.js"}},"gitHead":"be3855e5546f849ded075b95a6b8a153e217825f","scripts":{"dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsgo -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js dist/rpc-entry.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/","build:binary":"npm --prefix ../tui run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm run build && bun build --compile --no-compile-autoload-dotenv --minify --keep-names ./dist/bun/cli.js ./src/utils/image-resize-worker.ts --outfile dist/pi && npm run copy-binary-assets","qa:app-server":"node scripts/qa-app-server/run-all.mjs","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html dist/export-html/ && shx cp src/core/export-html/vendor/*.js dist/export-html/vendor/ && shx cp -r docs dist/ && shx cp -r examples dist/ && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/ && node ../../scripts/copy-pty-native.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cb385a00-0239-4c6e-aeb9-4f5c48eb2124"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.2"},"rimraf":"6.1.2"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.16.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ws":"8.21.0","diff":"8.0.4","glob":"13.0.6","jiti":"2.7.0","yaml":"2.9.0","chalk":"5.6.2","jsdom":"29.1.1","ignore":"7.0.5","marked":"18.0.5","openai":"6.26.0","semver":"7.8.0","undici":"8.5.0","typebox":"1.1.38","turndown":"7.2.4","minimatch":"10.2.5","picomatch":"4.0.4","cross-spawn":"7.0.6","highlight.js":"10.7.3","partial-json":"0.1.7","@smithy/types":"4.8.0","proxy-from-env":"1.1.0","hosted-git-info":"9.0.3","proper-lockfile":"4.1.2","http-proxy-agent":"7.0.2","@anthropic-ai/sdk":"0.91.1","https-proxy-agent":"7.0.6","@opentelemetry/api":"1.9.0","@mistralai/mistralai":"2.2.6","@mozilla/readability":"0.6.0","get-east-asian-width":"1.6.0","@earendil-works/pi-ai":"^2026.7.14-3","@earendil-works/pi-pty":"^2026.7.14-3","@earendil-works/pi-tui":"^2026.7.14-3","@modelcontextprotocol/sdk":"1.29.0","@smithy/node-http-handler":"4.7.3","@silvia-odwyer/photon-node":"0.3.4","@code-yeongyu/senpi-codemode":"^2026.7.14-3","@earendil-works/pi-agent-core":"^2026.7.14-3","@aws-sdk/client-bedrock-runtime":"3.1048.0"},"_hasShrinkwrap":false,"devDependencies":{"shx":"0.4.0","vitest":"4.1.9","@types/ms":"2.1.0","@types/ws":"8.18.1","typescript":"6.0.3","@types/diff":"7.0.2","@types/node":"25.9.1","@types/jsdom":"28.0.3","@types/semver":"7.7.1","@types/turndown":"5.0.6","@types/picomatch":"4.0.3","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@code-yeongyu/senpi-codemode","@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-pty","@earendil-works/pi-tui"],"optionalDependencies":{"@mariozechner/clipboard":"0.3.9"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.7.14-3_1784055634702_0.9194249986907961","host":"s3://npm-registry-packages-npm-production"}},"2026.7.16":{"name":"@code-yeongyu/senpi","version":"2026.7.16","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.7.16","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"senpi":"dist/cli.js"},"dist":{"shasum":"b7fc250c92a7e36e1d93a6760b3582b0f904a5ea","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.7.16.tgz","fileCount":21751,"integrity":"sha512-lbAwvoPByEGmBE6eYgMJapMNtZaoPZn+NsI+vmmsLC3MFuSrBhIBmZ6GlZjQI+fNKMlIYU0rBPSkejMHOJR+xg==","signatures":[{"sig":"MEYCIQDU4PCujWWknwazLI1hTv8NgDJDcNE9MLHboMASppWEvAIhAOriyWrqAX0BI3GEu8WhdxB2xSWezSF+CpHmjDMWowcn","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.7.16","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":112131275},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./rpc-entry":{"import":"./dist/rpc-entry.js"}},"gitHead":"bab8046ce5f9baa508f7e0dc5c1e97813256a913","scripts":{"dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsgo -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js dist/rpc-entry.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/","build:binary":"npm --prefix ../tui run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm run build && bun build --compile --no-compile-autoload-dotenv --minify --keep-names ./dist/bun/cli.js ./src/utils/image-resize-worker.ts --outfile dist/pi && npm run copy-binary-assets","qa:app-server":"node scripts/qa-app-server/run-all.mjs","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html dist/export-html/ && shx cp src/core/export-html/vendor/*.js dist/export-html/vendor/ && shx cp -r docs dist/ && shx cp -r examples dist/ && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/ && node ../../scripts/copy-pty-native.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cb385a00-0239-4c6e-aeb9-4f5c48eb2124"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.2"},"rimraf":"6.1.2"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.16.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ws":"8.21.0","diff":"8.0.4","glob":"13.0.6","jiti":"2.7.0","yaml":"2.9.0","chalk":"5.6.2","jsdom":"29.1.1","ignore":"7.0.5","marked":"18.0.5","openai":"6.26.0","semver":"7.8.0","undici":"8.5.0","typebox":"1.1.38","turndown":"7.2.4","minimatch":"10.2.5","picomatch":"4.0.4","cross-spawn":"7.0.6","highlight.js":"10.7.3","partial-json":"0.1.7","@smithy/types":"4.8.0","proxy-from-env":"1.1.0","hosted-git-info":"9.0.3","proper-lockfile":"4.1.2","http-proxy-agent":"7.0.2","@anthropic-ai/sdk":"0.91.1","https-proxy-agent":"7.0.6","@opentelemetry/api":"1.9.0","@mistralai/mistralai":"2.2.6","@mozilla/readability":"0.6.0","get-east-asian-width":"1.6.0","@earendil-works/pi-ai":"^2026.7.16","@earendil-works/pi-pty":"^2026.7.16","@earendil-works/pi-tui":"^2026.7.16","@modelcontextprotocol/sdk":"1.29.0","@smithy/node-http-handler":"4.7.3","@silvia-odwyer/photon-node":"0.3.4","@code-yeongyu/senpi-codemode":"^2026.7.16","@earendil-works/pi-agent-core":"^2026.7.16","@aws-sdk/client-bedrock-runtime":"3.1048.0"},"_hasShrinkwrap":false,"devDependencies":{"shx":"0.4.0","vitest":"4.1.9","@types/ms":"2.1.0","@types/ws":"8.18.1","typescript":"6.0.3","@types/diff":"7.0.2","@types/node":"25.9.1","@types/jsdom":"28.0.3","@types/semver":"7.7.1","@types/turndown":"5.0.6","@types/picomatch":"4.0.3","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@code-yeongyu/senpi-codemode","@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-pty","@earendil-works/pi-tui"],"optionalDependencies":{"@mariozechner/clipboard":"0.3.9"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.7.16_1784225334545_0.6557641878534901","host":"s3://npm-registry-packages-npm-production"}},"2026.7.16-2":{"name":"@code-yeongyu/senpi","version":"2026.7.16-2","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.7.16-2","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"senpi":"dist/cli.js"},"dist":{"shasum":"776a2b3535b7f9a73836d3cf6f3503c922fec68d","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.7.16-2.tgz","fileCount":21751,"integrity":"sha512-GvfBT4Fb7y2EXBpJOzgA2MYs8G0Ep2+J1RLP09Hx+QYItHNIGjUcL43SJamfq2EM/9Hz2EMsz4ptnk/HwtPjrw==","signatures":[{"sig":"MEUCIHCQ1OLNO267zJB3dioZ8l9qE94ce5wHKp5if2f0h8sZAiEA5NzJv6XgSXzgchZjvix48owxe1PP6oTNqDzJl9fSq8g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.7.16-2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":112120279},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./rpc-entry":{"import":"./dist/rpc-entry.js"}},"gitHead":"869a2e1b8e5c4987a11c0bdae2fd8af0ef331b3d","scripts":{"dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsgo -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js dist/rpc-entry.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/","build:binary":"npm --prefix ../tui run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm run build && bun build --compile --no-compile-autoload-dotenv --minify --keep-names ./dist/bun/cli.js ./src/utils/image-resize-worker.ts --outfile dist/pi && npm run copy-binary-assets","qa:app-server":"node scripts/qa-app-server/run-all.mjs","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html dist/export-html/ && shx cp src/core/export-html/vendor/*.js dist/export-html/vendor/ && shx cp -r docs dist/ && shx cp -r examples dist/ && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/ && node ../../scripts/copy-pty-native.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cb385a00-0239-4c6e-aeb9-4f5c48eb2124"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.2"},"rimraf":"6.1.2"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.16.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ws":"8.21.0","diff":"8.0.4","glob":"13.0.6","jiti":"2.7.0","yaml":"2.9.0","chalk":"5.6.2","jsdom":"29.1.1","ignore":"7.0.5","marked":"18.0.5","openai":"6.26.0","semver":"7.8.0","undici":"8.5.0","typebox":"1.1.38","turndown":"7.2.4","minimatch":"10.2.5","picomatch":"4.0.4","cross-spawn":"7.0.6","highlight.js":"10.7.3","partial-json":"0.1.7","@smithy/types":"4.8.0","proxy-from-env":"1.1.0","hosted-git-info":"9.0.3","proper-lockfile":"4.1.2","http-proxy-agent":"7.0.2","@anthropic-ai/sdk":"0.91.1","https-proxy-agent":"7.0.6","@opentelemetry/api":"1.9.0","@mistralai/mistralai":"2.2.6","@mozilla/readability":"0.6.0","get-east-asian-width":"1.6.0","@earendil-works/pi-ai":"^2026.7.16-2","@earendil-works/pi-pty":"^2026.7.16-2","@earendil-works/pi-tui":"^2026.7.16-2","@modelcontextprotocol/sdk":"1.29.0","@smithy/node-http-handler":"4.7.3","@silvia-odwyer/photon-node":"0.3.4","@code-yeongyu/senpi-codemode":"^2026.7.16-2","@earendil-works/pi-agent-core":"^2026.7.16-2","@aws-sdk/client-bedrock-runtime":"3.1048.0"},"_hasShrinkwrap":false,"devDependencies":{"shx":"0.4.0","vitest":"4.1.9","@types/ms":"2.1.0","@types/ws":"8.18.1","typescript":"6.0.3","@types/diff":"7.0.2","@types/node":"25.9.1","@types/jsdom":"28.0.3","@types/semver":"7.7.1","@types/turndown":"5.0.6","@types/picomatch":"4.0.3","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@code-yeongyu/senpi-codemode","@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-pty","@earendil-works/pi-tui"],"optionalDependencies":{"@mariozechner/clipboard":"0.3.9"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.7.16-2_1784230813003_0.5473567277143097","host":"s3://npm-registry-packages-npm-production"}},"2026.7.16-3":{"name":"@code-yeongyu/senpi","version":"2026.7.16-3","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.7.16-3","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"senpi":"dist/cli.js"},"dist":{"shasum":"79620e5404f2a882cff7a68cdf55219fceb0d511","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.7.16-3.tgz","fileCount":21751,"integrity":"sha512-rPosFVJ0p4tkHnuGtboKtjOPAou6DYHlz9vWjI9jox35V9L1zGbPfXPxh0NhicGCemp7jnnUeXxsFx5d122dZA==","signatures":[{"sig":"MEUCIBB+M8XZz2R0/WnGi9l1QGINRh6x8NmVmGhW6l1eiq9HAiEAq6U365ltGxgEPT++C4HnwEqk4pmwPgObVtcgURZaZu4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.7.16-3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":112126250},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./rpc-entry":{"import":"./dist/rpc-entry.js"}},"gitHead":"c6f08e954b5a69a8a0767a42bd2d265eea10fb6f","scripts":{"dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsgo -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js dist/rpc-entry.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/","build:binary":"npm --prefix ../tui run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm run build && bun build --compile --no-compile-autoload-dotenv --minify --keep-names ./dist/bun/cli.js ./src/utils/image-resize-worker.ts --outfile dist/pi && npm run copy-binary-assets","qa:app-server":"node scripts/qa-app-server/run-all.mjs","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html dist/export-html/ && shx cp src/core/export-html/vendor/*.js dist/export-html/vendor/ && shx cp -r docs dist/ && shx cp -r examples dist/ && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/ && node ../../scripts/copy-pty-native.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cb385a00-0239-4c6e-aeb9-4f5c48eb2124"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.2"},"rimraf":"6.1.2"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.16.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ws":"8.21.0","diff":"8.0.4","glob":"13.0.6","jiti":"2.7.0","yaml":"2.9.0","chalk":"5.6.2","jsdom":"29.1.1","ignore":"7.0.5","marked":"18.0.5","openai":"6.26.0","semver":"7.8.0","undici":"8.5.0","typebox":"1.1.38","turndown":"7.2.4","minimatch":"10.2.5","picomatch":"4.0.4","cross-spawn":"7.0.6","highlight.js":"10.7.3","partial-json":"0.1.7","@smithy/types":"4.8.0","proxy-from-env":"1.1.0","hosted-git-info":"9.0.3","proper-lockfile":"4.1.2","http-proxy-agent":"7.0.2","@anthropic-ai/sdk":"0.91.1","https-proxy-agent":"7.0.6","@opentelemetry/api":"1.9.0","@mistralai/mistralai":"2.2.6","@mozilla/readability":"0.6.0","get-east-asian-width":"1.6.0","@earendil-works/pi-ai":"^2026.7.16-3","@earendil-works/pi-pty":"^2026.7.16-3","@earendil-works/pi-tui":"^2026.7.16-3","@modelcontextprotocol/sdk":"1.29.0","@smithy/node-http-handler":"4.7.3","@silvia-odwyer/photon-node":"0.3.4","@code-yeongyu/senpi-codemode":"^2026.7.16-3","@earendil-works/pi-agent-core":"^2026.7.16-3","@aws-sdk/client-bedrock-runtime":"3.1048.0"},"_hasShrinkwrap":false,"devDependencies":{"shx":"0.4.0","vitest":"4.1.9","@types/ms":"2.1.0","@types/ws":"8.18.1","typescript":"6.0.3","@types/diff":"7.0.2","@types/node":"25.9.1","@types/jsdom":"28.0.3","@types/semver":"7.7.1","@types/turndown":"5.0.6","@types/picomatch":"4.0.3","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@code-yeongyu/senpi-codemode","@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-pty","@earendil-works/pi-tui"],"optionalDependencies":{"@mariozechner/clipboard":"0.3.9"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.7.16-3_1784245125807_0.7917369679120525","host":"s3://npm-registry-packages-npm-production"}},"2026.7.17":{"name":"@code-yeongyu/senpi","version":"2026.7.17","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.7.17","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"senpi":"dist/cli.js"},"dist":{"shasum":"ab2714c2e50c8d9dad15a210818f3f4e29ecefa6","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.7.17.tgz","fileCount":21759,"integrity":"sha512-AXH9vd4svzaYitw5TtawNJgyR5fZGm04gc2K+OsDoGIBTLAjz7sR+yKJF7ihxs5ziW2H6wjWbfCOgYyxZlD16g==","signatures":[{"sig":"MEUCIH4l2+EWZpKsuXsqkv7W/khhnK3ngonlycfy4mHljgnyAiEAi+nlMNkpLLLcokuV0Rz3+8fV2F9yR5MYvUrdE5jJe54=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.7.17","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":112178774},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./rpc-entry":{"import":"./dist/rpc-entry.js"}},"gitHead":"843cb7294c37fbb40c3c4c7e9e74a58e3c2358ec","scripts":{"dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsgo -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js dist/rpc-entry.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/","build:binary":"npm --prefix ../tui run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm run build && bun build --compile --no-compile-autoload-dotenv --minify --keep-names ./dist/bun/cli.js ./src/utils/image-resize-worker.ts --outfile dist/pi && npm run copy-binary-assets","qa:app-server":"node scripts/qa-app-server/run-all.mjs","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html dist/export-html/ && shx cp src/core/export-html/vendor/*.js dist/export-html/vendor/ && shx cp -r docs dist/ && shx cp -r examples dist/ && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/ && node ../../scripts/copy-pty-native.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cb385a00-0239-4c6e-aeb9-4f5c48eb2124"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.2"},"rimraf":"6.1.2"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.16.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ws":"8.21.0","diff":"8.0.4","glob":"13.0.6","jiti":"2.7.0","yaml":"2.9.0","chalk":"5.6.2","jsdom":"29.1.1","ignore":"7.0.5","marked":"18.0.5","openai":"6.26.0","semver":"7.8.0","undici":"8.5.0","typebox":"1.1.38","turndown":"7.2.4","minimatch":"10.2.5","picomatch":"4.0.4","cross-spawn":"7.0.6","highlight.js":"10.7.3","partial-json":"0.1.7","@smithy/types":"4.8.0","proxy-from-env":"1.1.0","hosted-git-info":"9.0.3","proper-lockfile":"4.1.2","http-proxy-agent":"7.0.2","@anthropic-ai/sdk":"0.91.1","https-proxy-agent":"7.0.6","@opentelemetry/api":"1.9.0","@mistralai/mistralai":"2.2.6","@mozilla/readability":"0.6.0","get-east-asian-width":"1.6.0","@earendil-works/pi-ai":"^2026.7.17","@earendil-works/pi-pty":"^2026.7.17","@earendil-works/pi-tui":"^2026.7.17","@modelcontextprotocol/sdk":"1.29.0","@smithy/node-http-handler":"4.7.3","@silvia-odwyer/photon-node":"0.3.4","@code-yeongyu/senpi-codemode":"^2026.7.17","@earendil-works/pi-agent-core":"^2026.7.17","@aws-sdk/client-bedrock-runtime":"3.1048.0"},"_hasShrinkwrap":false,"devDependencies":{"shx":"0.4.0","vitest":"4.1.9","@types/ms":"2.1.0","@types/ws":"8.18.1","typescript":"6.0.3","@types/diff":"7.0.2","@types/node":"25.9.1","@types/jsdom":"28.0.3","@types/semver":"7.7.1","@types/turndown":"5.0.6","@types/picomatch":"4.0.3","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@code-yeongyu/senpi-codemode","@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-pty","@earendil-works/pi-tui"],"optionalDependencies":{"@mariozechner/clipboard":"0.3.9"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.7.17_1784279501721_0.6950746292365018","host":"s3://npm-registry-packages-npm-production"}},"2026.7.17-2":{"name":"@code-yeongyu/senpi","version":"2026.7.17-2","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.7.17-2","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"senpi":"dist/cli.js"},"dist":{"shasum":"9ebc1b770632c21d67da90cc8a3d6ff13e005a5f","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.7.17-2.tgz","fileCount":21767,"integrity":"sha512-7l3kLVn0BSCL6Xr2djSjNkoOYrPUseYv+6mJL+MN1E5dKJ9KPyeC0otrjycyFW/YbQg5XE1QXl+jFFneAJ8FnA==","signatures":[{"sig":"MEYCIQCZRBJ9ZuatWwMKbhGVug0QeXJh5iETpWNrlgrmogo93AIhANGltCkFnsv3GaF1PDNGdIskAgK0x9x9spNmsu7drxJ4","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.7.17-2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":112224475},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./rpc-entry":{"import":"./dist/rpc-entry.js"}},"gitHead":"d319eab61b6baadeb800b7defd498e567eb44682","scripts":{"dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsgo -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js dist/rpc-entry.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/","build:binary":"npm --prefix ../tui run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm run build && bun build --compile --no-compile-autoload-dotenv --minify --keep-names ./dist/bun/cli.js ./src/utils/image-resize-worker.ts --outfile dist/pi && npm run copy-binary-assets","qa:app-server":"node scripts/qa-app-server/run-all.mjs","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html dist/export-html/ && shx cp src/core/export-html/vendor/*.js dist/export-html/vendor/ && shx cp -r docs dist/ && shx cp -r examples dist/ && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/ && node ../../scripts/copy-pty-native.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cb385a00-0239-4c6e-aeb9-4f5c48eb2124"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.2"},"rimraf":"6.1.2"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.16.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ws":"8.21.0","diff":"8.0.4","glob":"13.0.6","jiti":"2.7.0","yaml":"2.9.0","chalk":"5.6.2","jsdom":"29.1.1","ignore":"7.0.5","marked":"18.0.5","openai":"6.26.0","semver":"7.8.0","undici":"8.5.0","typebox":"1.1.38","turndown":"7.2.4","minimatch":"10.2.5","picomatch":"4.0.4","cross-spawn":"7.0.6","highlight.js":"10.7.3","partial-json":"0.1.7","@smithy/types":"4.8.0","proxy-from-env":"1.1.0","hosted-git-info":"9.0.3","proper-lockfile":"4.1.2","http-proxy-agent":"7.0.2","@anthropic-ai/sdk":"0.91.1","https-proxy-agent":"7.0.6","@opentelemetry/api":"1.9.0","@mistralai/mistralai":"2.2.6","@mozilla/readability":"0.6.0","get-east-asian-width":"1.6.0","@earendil-works/pi-ai":"^2026.7.17-2","@earendil-works/pi-pty":"^2026.7.17-2","@earendil-works/pi-tui":"^2026.7.17-2","@modelcontextprotocol/sdk":"1.29.0","@smithy/node-http-handler":"4.7.3","@silvia-odwyer/photon-node":"0.3.4","@code-yeongyu/senpi-codemode":"^2026.7.17-2","@earendil-works/pi-agent-core":"^2026.7.17-2","@aws-sdk/client-bedrock-runtime":"3.1048.0"},"_hasShrinkwrap":false,"devDependencies":{"shx":"0.4.0","vitest":"4.1.9","@types/ms":"2.1.0","@types/ws":"8.18.1","typescript":"6.0.3","@types/diff":"7.0.2","@types/node":"25.9.1","@types/jsdom":"28.0.3","@types/semver":"7.7.1","@types/turndown":"5.0.6","@types/picomatch":"4.0.3","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@code-yeongyu/senpi-codemode","@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-pty","@earendil-works/pi-tui"],"optionalDependencies":{"@mariozechner/clipboard":"0.3.9"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.7.17-2_1784291333330_0.2948199888904033","host":"s3://npm-registry-packages-npm-production"}},"2026.7.17-3":{"name":"@code-yeongyu/senpi","version":"2026.7.17-3","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.7.17-3","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"senpi":"dist/cli.js"},"dist":{"shasum":"f5a3045a49843b424820e29ac260d5c7fe878d08","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.7.17-3.tgz","fileCount":21768,"integrity":"sha512-afgPB3WzJA7q+fLge7zPSkw0T6mLieIHlmEQYWZ6/XU90f7eFuE0L+JG+35I2HiRYSeg/jFgDLmA6mamMD6NwQ==","signatures":[{"sig":"MEQCICU3xvG7I1bF8MbK439nHhisFptUyXDiEq0MeOPWNUgcAiBXT+/I+x5F1wSeoVu4AufeIeBjRySx44EOuuHU4uasQA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.7.17-3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":112227971},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./rpc-entry":{"import":"./dist/rpc-entry.js"}},"gitHead":"a8cd3d89084c93662cc825037fb68693799bdec2","scripts":{"dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsgo -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js dist/rpc-entry.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/","build:binary":"npm --prefix ../tui run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm run build && bun build --compile --no-compile-autoload-dotenv --minify --keep-names ./dist/bun/cli.js ./src/utils/image-resize-worker.ts --outfile dist/pi && npm run copy-binary-assets","qa:app-server":"node scripts/qa-app-server/run-all.mjs","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html dist/export-html/ && shx cp src/core/export-html/vendor/*.js dist/export-html/vendor/ && shx cp -r docs dist/ && shx cp -r examples dist/ && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/ && node ../../scripts/copy-pty-native.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cb385a00-0239-4c6e-aeb9-4f5c48eb2124"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.2"},"rimraf":"6.1.2"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.16.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ws":"8.21.0","diff":"8.0.4","glob":"13.0.6","jiti":"2.7.0","yaml":"2.9.0","chalk":"5.6.2","jsdom":"29.1.1","ignore":"7.0.5","marked":"18.0.5","openai":"6.26.0","semver":"7.8.0","undici":"8.5.0","typebox":"1.1.38","turndown":"7.2.4","minimatch":"10.2.5","picomatch":"4.0.4","cross-spawn":"7.0.6","highlight.js":"10.7.3","partial-json":"0.1.7","@smithy/types":"4.8.0","proxy-from-env":"1.1.0","hosted-git-info":"9.0.3","proper-lockfile":"4.1.2","http-proxy-agent":"7.0.2","@anthropic-ai/sdk":"0.91.1","https-proxy-agent":"7.0.6","@opentelemetry/api":"1.9.0","@mistralai/mistralai":"2.2.6","@mozilla/readability":"0.6.0","get-east-asian-width":"1.6.0","@earendil-works/pi-ai":"^2026.7.17-3","@earendil-works/pi-pty":"^2026.7.17-3","@earendil-works/pi-tui":"^2026.7.17-3","@modelcontextprotocol/sdk":"1.29.0","@smithy/node-http-handler":"4.7.3","@silvia-odwyer/photon-node":"0.3.4","@code-yeongyu/senpi-codemode":"^2026.7.17-3","@earendil-works/pi-agent-core":"^2026.7.17-3","@aws-sdk/client-bedrock-runtime":"3.1048.0"},"_hasShrinkwrap":false,"devDependencies":{"shx":"0.4.0","vitest":"4.1.9","@types/ms":"2.1.0","@types/ws":"8.18.1","typescript":"6.0.3","@types/diff":"7.0.2","@types/node":"25.9.1","@types/jsdom":"28.0.3","@types/semver":"7.7.1","@types/turndown":"5.0.6","@types/picomatch":"4.0.3","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@code-yeongyu/senpi-codemode","@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-pty","@earendil-works/pi-tui"],"optionalDependencies":{"@mariozechner/clipboard":"0.3.9"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.7.17-3_1784297203396_0.6696510028221896","host":"s3://npm-registry-packages-npm-production"}},"2026.7.17-4":{"name":"@code-yeongyu/senpi","version":"2026.7.17-4","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.7.17-4","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"senpi":"dist/cli.js"},"dist":{"shasum":"be01856ba2a8aa1d55a0f537ef31f97cf59f474c","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.7.17-4.tgz","fileCount":21768,"integrity":"sha512-Lxw6Zv1hw6d4uBXYNRctKSREmD27oKyurJ7ML8gxtzRbL6QS63leO9T2+90nCNsNBQdZ2PfwhOZ2alQ5zIDP9A==","signatures":[{"sig":"MEUCIQDntw7TiXDn+KYuZMuS3QAsWDC2VETMvoKxeYcFBReBmQIgciLFlLyZBEJfpvk8h1oAdV3YUrWcaXE+bqJG61ZPCXw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.7.17-4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":112236765},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./rpc-entry":{"import":"./dist/rpc-entry.js"}},"gitHead":"9277b02f2ecaee9965db6a22f66f9d133c25a7bc","scripts":{"dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsgo -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js dist/rpc-entry.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/","build:binary":"npm --prefix ../tui run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm run build && bun build --compile --no-compile-autoload-dotenv --minify --keep-names ./dist/bun/cli.js ./src/utils/image-resize-worker.ts --outfile dist/pi && npm run copy-binary-assets","qa:app-server":"node scripts/qa-app-server/run-all.mjs","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html dist/export-html/ && shx cp src/core/export-html/vendor/*.js dist/export-html/vendor/ && shx cp -r docs dist/ && shx cp -r examples dist/ && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/ && node ../../scripts/copy-pty-native.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cb385a00-0239-4c6e-aeb9-4f5c48eb2124"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.2"},"rimraf":"6.1.2"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.16.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ws":"8.21.0","diff":"8.0.4","glob":"13.0.6","jiti":"2.7.0","yaml":"2.9.0","chalk":"5.6.2","jsdom":"29.1.1","ignore":"7.0.5","marked":"18.0.5","openai":"6.26.0","semver":"7.8.0","undici":"8.5.0","typebox":"1.1.38","turndown":"7.2.4","minimatch":"10.2.5","picomatch":"4.0.4","cross-spawn":"7.0.6","highlight.js":"10.7.3","partial-json":"0.1.7","@smithy/types":"4.8.0","proxy-from-env":"1.1.0","hosted-git-info":"9.0.3","proper-lockfile":"4.1.2","http-proxy-agent":"7.0.2","@anthropic-ai/sdk":"0.91.1","https-proxy-agent":"7.0.6","@opentelemetry/api":"1.9.0","@mistralai/mistralai":"2.2.6","@mozilla/readability":"0.6.0","get-east-asian-width":"1.6.0","@earendil-works/pi-ai":"^2026.7.17-4","@earendil-works/pi-pty":"^2026.7.17-4","@earendil-works/pi-tui":"^2026.7.17-4","@modelcontextprotocol/sdk":"1.29.0","@smithy/node-http-handler":"4.7.3","@silvia-odwyer/photon-node":"0.3.4","@code-yeongyu/senpi-codemode":"^2026.7.17-4","@earendil-works/pi-agent-core":"^2026.7.17-4","@aws-sdk/client-bedrock-runtime":"3.1048.0"},"_hasShrinkwrap":false,"devDependencies":{"shx":"0.4.0","vitest":"4.1.9","@types/ms":"2.1.0","@types/ws":"8.18.1","typescript":"6.0.3","@types/diff":"7.0.2","@types/node":"25.9.1","@types/jsdom":"28.0.3","@types/semver":"7.7.1","@types/turndown":"5.0.6","@types/picomatch":"4.0.3","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@code-yeongyu/senpi-codemode","@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-pty","@earendil-works/pi-tui"],"optionalDependencies":{"@mariozechner/clipboard":"0.3.9"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.7.17-4_1784300506622_0.6316053293028627","host":"s3://npm-registry-packages-npm-production"}},"2026.7.17-5":{"name":"@code-yeongyu/senpi","version":"2026.7.17-5","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.7.17-5","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"senpi":"dist/cli.js"},"dist":{"shasum":"0e481d78c8f96f48df860882899e55263ec3903e","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.7.17-5.tgz","fileCount":21768,"integrity":"sha512-tTXbr1RAvEMo2Rq3ZePyPrD3JHo/ek4OOjSlvZtCN+aksdWAc/SR5Cn/4kzBTjL4NkzCDYVQyOWwjPE4hGeA+w==","signatures":[{"sig":"MEQCIACY/tN/7se+TCoON1BQtLOAvnw1bsGVq0IwEomIZB4pAiAkU9GJ7qlaql35YdFd7PU1abBoZIIwWKNafKx9nxhzoA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.7.17-5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":112332961},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./rpc-entry":{"import":"./dist/rpc-entry.js"}},"gitHead":"46d3ef59e9321f0748a26cea700cb29cf10472b1","scripts":{"dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsgo -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js dist/rpc-entry.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/","build:binary":"npm --prefix ../tui run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm run build && bun build --compile --no-compile-autoload-dotenv --minify --keep-names ./dist/bun/cli.js ./src/utils/image-resize-worker.ts --outfile dist/pi && npm run copy-binary-assets","qa:app-server":"node scripts/qa-app-server/run-all.mjs","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html dist/export-html/ && shx cp src/core/export-html/vendor/*.js dist/export-html/vendor/ && shx cp -r docs dist/ && shx cp -r examples dist/ && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/ && node ../../scripts/copy-pty-native.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cb385a00-0239-4c6e-aeb9-4f5c48eb2124"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.2"},"rimraf":"6.1.2"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.16.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ws":"8.21.0","diff":"8.0.4","glob":"13.0.6","jiti":"2.7.0","yaml":"2.9.0","chalk":"5.6.2","jsdom":"29.1.1","ignore":"7.0.5","marked":"18.0.5","openai":"6.26.0","semver":"7.8.0","undici":"8.5.0","typebox":"1.1.38","turndown":"7.2.4","minimatch":"10.2.5","picomatch":"4.0.4","cross-spawn":"7.0.6","highlight.js":"10.7.3","partial-json":"0.1.7","@smithy/types":"4.8.0","proxy-from-env":"1.1.0","hosted-git-info":"9.0.3","proper-lockfile":"4.1.2","http-proxy-agent":"7.0.2","@anthropic-ai/sdk":"0.91.1","https-proxy-agent":"7.0.6","@opentelemetry/api":"1.9.0","@mistralai/mistralai":"2.2.6","@mozilla/readability":"0.6.0","get-east-asian-width":"1.6.0","@earendil-works/pi-ai":"^2026.7.17-5","@earendil-works/pi-pty":"^2026.7.17-5","@earendil-works/pi-tui":"^2026.7.17-5","@modelcontextprotocol/sdk":"1.29.0","@smithy/node-http-handler":"4.7.3","@silvia-odwyer/photon-node":"0.3.4","@code-yeongyu/senpi-codemode":"^2026.7.17-5","@earendil-works/pi-agent-core":"^2026.7.17-5","@aws-sdk/client-bedrock-runtime":"3.1048.0"},"_hasShrinkwrap":false,"devDependencies":{"shx":"0.4.0","vitest":"4.1.9","@types/ms":"2.1.0","@types/ws":"8.18.1","typescript":"6.0.3","@types/diff":"7.0.2","@types/node":"25.9.1","@types/jsdom":"28.0.3","@types/semver":"7.7.1","@types/turndown":"5.0.6","@types/picomatch":"4.0.3","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@code-yeongyu/senpi-codemode","@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-pty","@earendil-works/pi-tui"],"optionalDependencies":{"@mariozechner/clipboard":"0.3.9"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.7.17-5_1784304690136_0.28931356591890056","host":"s3://npm-registry-packages-npm-production"}},"2026.7.20":{"name":"@code-yeongyu/senpi","version":"2026.7.20","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.7.20","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"senpi":"dist/cli.js"},"dist":{"shasum":"e95952f0468a7587c312bfe280e3d4a281e36de1","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.7.20.tgz","fileCount":21880,"integrity":"sha512-qhOqG2tzn4W+SRfsUluSLZouazWqXSx3sHXaWacMRdXpVfJTzjbdox+kWDU37vMxQJe6FTu9w5klc+za8E5khg==","signatures":[{"sig":"MEQCIFEMRN6ImI/O+rxxaEZXzLaMbWNxBVDFCBALAjTogJp9AiBE5sNGCkD8Kx0+Ay1+oL3KSzjLwYq5ordGUmB7c9zv1w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.7.20","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":110947014},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./rpc-entry":{"import":"./dist/rpc-entry.js"}},"gitHead":"8d0eea98cc49fa886f046a8b882f0946107754e6","scripts":{"dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsgo -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js dist/rpc-entry.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/","build:binary":"npm --prefix ../tui run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm run build && bun build --compile --no-compile-autoload-dotenv --minify --keep-names ./dist/bun/cli.js ./src/utils/image-resize-worker.ts --outfile dist/pi && npm run copy-binary-assets","qa:app-server":"node scripts/qa-app-server/run-all.mjs","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html dist/export-html/ && shx cp src/core/export-html/vendor/*.js dist/export-html/vendor/ && shx cp -r docs dist/ && shx cp -r examples dist/ && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/ && node ../../scripts/copy-pty-native.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cb385a00-0239-4c6e-aeb9-4f5c48eb2124"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.2"},"rimraf":"6.1.2"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.16.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ws":"8.21.0","diff":"8.0.4","glob":"13.0.6","jiti":"2.7.0","yaml":"2.9.0","chalk":"5.6.2","jsdom":"29.1.1","ignore":"7.0.5","marked":"18.0.5","openai":"6.26.0","semver":"7.8.0","undici":"8.5.0","typebox":"1.1.38","turndown":"7.2.4","minimatch":"10.2.5","picomatch":"4.0.4","cross-spawn":"7.0.6","highlight.js":"10.7.3","partial-json":"0.1.7","@smithy/types":"4.8.0","proxy-from-env":"1.1.0","hosted-git-info":"9.0.3","proper-lockfile":"4.1.2","http-proxy-agent":"7.0.2","@anthropic-ai/sdk":"0.91.1","https-proxy-agent":"7.0.6","@opentelemetry/api":"1.9.0","@mistralai/mistralai":"2.2.6","@mozilla/readability":"0.6.0","get-east-asian-width":"1.6.0","@earendil-works/pi-ai":"^2026.7.20","@earendil-works/pi-pty":"^2026.7.20","@earendil-works/pi-tui":"^2026.7.20","@modelcontextprotocol/sdk":"1.29.0","@smithy/node-http-handler":"4.7.3","@silvia-odwyer/photon-node":"0.3.4","@code-yeongyu/senpi-codemode":"^2026.7.20","@earendil-works/pi-agent-core":"^2026.7.20","@aws-sdk/client-bedrock-runtime":"3.1048.0"},"_hasShrinkwrap":false,"devDependencies":{"shx":"0.4.0","vitest":"4.1.9","@types/ms":"2.1.0","@types/ws":"8.18.1","typescript":"6.0.3","@types/diff":"7.0.2","@types/node":"25.9.1","@types/jsdom":"28.0.3","@types/semver":"7.7.1","@types/turndown":"5.0.6","@types/picomatch":"4.0.3","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@code-yeongyu/senpi-codemode","@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-pty","@earendil-works/pi-tui"],"optionalDependencies":{"@mariozechner/clipboard":"0.3.9"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.7.20_1784513284679_0.3472588906042693","host":"s3://npm-registry-packages-npm-production"}},"2026.7.20-2":{"name":"@code-yeongyu/senpi","version":"2026.7.20-2","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.7.20-2","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"senpi":"dist/cli.js"},"dist":{"shasum":"15c1907f1926068abcd8e5886d8332ed0d4fbd8a","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.7.20-2.tgz","fileCount":21920,"integrity":"sha512-mjyv9a5zgcZs+HtqSD1IkgcDS7tOvKRC78RyvZ5SNzBhf+DmpfQp49DpAqlSCLKFri7T1Mxij7RmLgpB4l8RaQ==","signatures":[{"sig":"MEQCICJf0ep1WIIOfjslSM6rU+u8YroRegOOgGy3pt7UXDtLAiBgnbwfTC03ARPypKp6mNmz2tCjnUy8/WA0RG2ffvpzGA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.7.20-2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":111180123},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./rpc-entry":{"import":"./dist/rpc-entry.js"}},"gitHead":"a9f8ab2e678e24869859abbf60f65e8188c334c8","scripts":{"dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsgo -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js dist/rpc-entry.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/","build:binary":"npm --prefix ../tui run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm run build && bun build --compile --no-compile-autoload-dotenv --minify --keep-names ./dist/bun/cli.js ./src/utils/image-resize-worker.ts --outfile dist/pi && npm run copy-binary-assets","qa:app-server":"node scripts/qa-app-server/run-all.mjs","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html dist/export-html/ && shx cp src/core/export-html/vendor/*.js dist/export-html/vendor/ && shx cp -r docs dist/ && shx cp -r examples dist/ && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/ && node ../../scripts/copy-pty-native.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cb385a00-0239-4c6e-aeb9-4f5c48eb2124"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.2"},"rimraf":"6.1.2"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.16.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ws":"8.21.0","diff":"8.0.4","glob":"13.0.6","jiti":"2.7.0","yaml":"2.9.0","chalk":"5.6.2","jsdom":"29.1.1","ignore":"7.0.5","marked":"18.0.5","openai":"6.26.0","semver":"7.8.0","undici":"8.5.0","typebox":"1.1.38","turndown":"7.2.4","minimatch":"10.2.5","picomatch":"4.0.4","cross-spawn":"7.0.6","highlight.js":"10.7.3","partial-json":"0.1.7","@smithy/types":"4.8.0","proxy-from-env":"1.1.0","hosted-git-info":"9.0.3","proper-lockfile":"4.1.2","http-proxy-agent":"7.0.2","@anthropic-ai/sdk":"0.91.1","https-proxy-agent":"7.0.6","@opentelemetry/api":"1.9.0","@mistralai/mistralai":"2.2.6","@mozilla/readability":"0.6.0","get-east-asian-width":"1.6.0","@earendil-works/pi-ai":"^2026.7.20-2","@earendil-works/pi-pty":"^2026.7.20-2","@earendil-works/pi-tui":"^2026.7.20-2","@modelcontextprotocol/sdk":"1.29.0","@smithy/node-http-handler":"4.7.3","@silvia-odwyer/photon-node":"0.3.4","@code-yeongyu/senpi-codemode":"^2026.7.20-2","@earendil-works/pi-agent-core":"^2026.7.20-2","@aws-sdk/client-bedrock-runtime":"3.1048.0"},"_hasShrinkwrap":false,"devDependencies":{"shx":"0.4.0","vitest":"4.1.9","@types/ms":"2.1.0","@types/ws":"8.18.1","typescript":"6.0.3","@types/diff":"7.0.2","@types/node":"25.9.1","@types/jsdom":"28.0.3","@types/semver":"7.7.1","@types/turndown":"5.0.6","@types/picomatch":"4.0.3","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@code-yeongyu/senpi-codemode","@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-pty","@earendil-works/pi-tui"],"optionalDependencies":{"@mariozechner/clipboard":"0.3.9"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.7.20-2_1784539009556_0.32833845300340014","host":"s3://npm-registry-packages-npm-production"}},"2026.7.22":{"name":"@code-yeongyu/senpi","version":"2026.7.22","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.7.22","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"senpi":"dist/cli.js"},"dist":{"shasum":"79785e77c57c562577a7409f130e1de770c16faf","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.7.22.tgz","fileCount":22101,"integrity":"sha512-bopl3Wpob2/9fvBgV7CragIXn2lf4ZQ/AfdeQTO7VI/kcXp7CPeYEKw4EmZ1BvsENHOLABeR78m6uvjfDlk8Eg==","signatures":[{"sig":"MEUCIBMUTn6Kg4e3rG5ZRATd+yyN0mP+Y9+n7mvO8OYCaQL8AiEA2R6KQ8fV7pBlry+IIY1vfy/ERhWz7yQ/G55dxbr9ctU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.7.22","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":111987741},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./rpc-entry":{"import":"./dist/rpc-entry.js"}},"gitHead":"fef3f8ccbbd46f9799c13b0157e027e24e6d6340","scripts":{"dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsgo -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js dist/rpc-entry.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/","build:binary":"npm --prefix ../tui run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm run build && bun build --compile --no-compile-autoload-dotenv --minify --keep-names ./dist/bun/cli.js ./src/utils/image-resize-worker.ts --outfile dist/pi && npm run copy-binary-assets","qa:app-server":"node scripts/qa-app-server/run-all.mjs","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html dist/export-html/ && shx cp src/core/export-html/vendor/*.js dist/export-html/vendor/ && shx cp -r docs dist/ && shx cp -r examples dist/ && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/ && node ../../scripts/copy-pty-native.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cb385a00-0239-4c6e-aeb9-4f5c48eb2124"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.2"},"rimraf":"6.1.2"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.16.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ws":"8.21.0","diff":"8.0.4","glob":"13.0.6","jiti":"2.7.0","yaml":"2.9.0","chalk":"5.6.2","jsdom":"29.1.1","ignore":"7.0.5","marked":"18.0.5","openai":"6.26.0","semver":"7.8.0","undici":"8.5.0","typebox":"1.1.38","turndown":"7.2.4","minimatch":"10.2.5","picomatch":"4.0.4","cross-spawn":"7.0.6","highlight.js":"10.7.3","partial-json":"0.1.7","@smithy/types":"4.8.0","proxy-from-env":"1.1.0","hosted-git-info":"9.0.3","proper-lockfile":"4.1.2","http-proxy-agent":"7.0.2","@anthropic-ai/sdk":"0.91.1","https-proxy-agent":"7.0.6","@opentelemetry/api":"1.9.0","@mistralai/mistralai":"2.2.6","@mozilla/readability":"0.6.0","get-east-asian-width":"1.6.0","@earendil-works/pi-ai":"^2026.7.22","@earendil-works/pi-pty":"^2026.7.22","@earendil-works/pi-tui":"^2026.7.22","@modelcontextprotocol/sdk":"1.29.0","@smithy/node-http-handler":"4.7.3","@silvia-odwyer/photon-node":"0.3.4","@code-yeongyu/senpi-codemode":"^2026.7.22","@earendil-works/pi-agent-core":"^2026.7.22","@aws-sdk/client-bedrock-runtime":"3.1048.0"},"_hasShrinkwrap":false,"devDependencies":{"shx":"0.4.0","vitest":"4.1.9","@types/ms":"2.1.0","@types/ws":"8.18.1","typescript":"6.0.3","@types/diff":"7.0.2","@types/node":"25.9.1","@types/jsdom":"28.0.3","@types/semver":"7.7.1","@types/turndown":"5.0.6","@types/picomatch":"4.0.3","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@code-yeongyu/senpi-codemode","@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-pty","@earendil-works/pi-tui"],"optionalDependencies":{"@mariozechner/clipboard":"0.3.9"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.7.22_1784688558288_0.5326165379835719","host":"s3://npm-registry-packages-npm-production"}},"2026.7.22-2":{"name":"@code-yeongyu/senpi","version":"2026.7.22-2","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.7.22-2","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"senpi":"dist/cli.js"},"dist":{"shasum":"193fa9c408a39fb46a1ddb781b0db71a86bec980","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.7.22-2.tgz","fileCount":26328,"integrity":"sha512-5VNzOQyUWtqgLGYYLXbc/HC4sQcTie021QnCPQ/MjDsZMXFSWj6aWpv2x1tUfLwXAL8gjYBsinPOINWRM/K7DQ==","signatures":[{"sig":"MEQCIFx7HulVNUxNmMnSD4+Tic9gDL9g5tgJLiyOSmVjS97/AiA0cgwDAqQ2VYXQ4ZhCM1MMdJe3Wp8r75XhYgrs6U0ofw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.7.22-2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":164851706},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./rpc-entry":{"import":"./dist/rpc-entry.js"}},"gitHead":"a6949857134456491e932fe42111795444fd6caf","scripts":{"dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsgo -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js dist/rpc-entry.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/","build:binary":"npm --prefix ../tui run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm run build && bun build --compile --no-compile-autoload-dotenv --minify --keep-names ./dist/bun/cli.js ./src/utils/image-resize-worker.ts --outfile dist/pi && npm run copy-binary-assets","qa:app-server":"node scripts/qa-app-server/run-all.mjs","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html dist/export-html/ && shx cp src/core/export-html/vendor/*.js dist/export-html/vendor/ && shx cp -r docs dist/ && shx cp -r examples dist/ && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/ && node ../../scripts/copy-pty-native.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cb385a00-0239-4c6e-aeb9-4f5c48eb2124"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.2"},"rimraf":"6.1.2","@hono/node-server":"2.0.10"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.16.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ms":"*","qs":"*","ws":"8.21.0","ajv":"*","jwa":"*","jws":"*","zod":"*","cors":"*","depd":"*","diff":"8.0.4","etag":"*","glob":"13.0.6","gopd":"*","hono":"*","jiti":"2.7.0","jose":"*","long":"*","once":"*","send":"*","tr46":"*","vary":"*","yaml":"2.9.0","bytes":"*","chalk":"5.6.2","debug":"*","fresh":"*","isexe":"*","jsdom":"29.1.1","retry":"*","saxes":"*","tldts":"*","tslib":"*","which":"*","bowser":"*","cookie":"*","extend":"*","gaxios":"*","hasown":"*","ignore":"7.0.5","marked":"18.0.5","openai":"6.26.0","parse5":"*","router":"*","semver":"7.8.0","strnum":"*","undici":"8.5.0","unpipe":"*","wrappy":"*","accepts":"*","bidi-js":"*","express":"*","mime-db":"*","p-retry":"*","type-is":"*","typebox":"1.1.38","css-tree":"*","ee-first":"*","entities":"*","fast-uri":"*","inherits":"*","mdn-data":"*","minipass":"*","parseurl":"*","path-key":"*","punycode":"*","raw-body":"*","statuses":"*","turndown":"7.2.4","xmlchars":"*","base64-js":"*","data-urls":"*","encodeurl":"*","es-errors":"*","forwarded":"*","get-proto":"*","ipaddr.js":"*","lru-cache":"*","minimatch":"10.2.5","picomatch":"4.0.4","agent-base":"*","call-bound":"*","decimal.js":"*","fetch-blob":"*","iconv-lite":"*","ip-address":"*","is-promise":"*","mime-types":"*","negotiator":"*","node-fetch":"*","protobufjs":"*","proxy-addr":"*","tldts-core":"*","ts-algebra":"*","whatwg-url":"*","xml-naming":"*","@types/node":"*","ajv-formats":"*","body-parser":"*","cross-spawn":"7.0.6","escape-html":"*","eventsource":"*","graceful-fs":"*","has-symbols":"*","http-errors":"*","json-bigint":"*","media-typer":"*","on-finished":"*","path-scurry":"*","safe-buffer":"*","signal-exit":"*","symbol-tree":"*","@babel/types":"*","@smithy/core":"*","bignumber.js":"*","content-type":"*","dunder-proto":"*","finalhandler":"*","gcp-metadata":"*","highlight.js":"10.7.3","partial-json":"0.1.7","range-parser":"*","safer-buffer":"*","serve-static":"*","side-channel":"*","toidentifier":"*","tough-cookie":"*","undici-types":"*","@aws-sdk/core":"*","@babel/parser":"*","@exodus/bytes":"*","@google/genai":"*","@smithy/types":"4.8.0","function-bind":"*","get-intrinsic":"*","object-assign":"*","shebang-regex":"*","source-map-js":"*","@aws-sdk/types":"*","@babel/runtime":"*","balanced-match":"*","object-inspect":"*","path-to-regexp":"*","pkce-challenge":"*","proxy-from-env":"1.1.0","setprototypeof":"*","@xterm/headless":"*","brace-expansion":"*","es-object-atoms":"*","fast-deep-equal":"*","fast-xml-parser":"*","hosted-git-info":"9.0.3","math-intrinsics":"*","proper-lockfile":"4.1.2","shebang-command":"*","whatwg-mimetype":"*","@aws-crypto/util":"*","@protobufjs/path":"*","@protobufjs/pool":"*","@protobufjs/utf8":"*","cookie-signature":"*","fast-xml-builder":"*","http-proxy-agent":"7.0.2","side-channel-map":"*","@anthropic-ai/sdk":"0.91.1","@aws-crypto/crc32":"*","@hono/node-server":"*","@nodable/entities":"*","@protobufjs/fetch":"*","@protobufjs/float":"*","@smithy/util-utf8":"*","formdata-polyfill":"*","https-proxy-agent":"7.0.6","json-schema-to-ts":"*","json-schema-typed":"*","merge-descriptors":"*","node-domexception":"*","side-channel-list":"*","w3c-xmlserializer":"*","@asamuzakjp/nwsapi":"*","@csstools/css-calc":"*","@mixmark-io/domino":"*","@opentelemetry/api":"1.9.0","@protobufjs/base64":"*","data-uri-to-buffer":"*","es-define-property":"*","eventsource-parser":"*","express-rate-limit":"*","webidl-conversions":"*","xml-name-validator":"*","zod-to-json-schema":"*","@bramus/specificity":"*","@protobufjs/codegen":"*","content-disposition":"*","ecdsa-sig-formatter":"*","google-auth-library":"*","require-from-string":"*","@aws-sdk/xml-builder":"*","@mistralai/mistralai":"2.2.6","@mozilla/readability":"0.6.0","@smithy/signature-v4":"*","get-east-asian-width":"1.6.0","google-logging-utils":"*","json-schema-traverse":"*","side-channel-weakmap":"*","web-streams-polyfill":"*","@asamuzakjp/css-color":"*","@aws-crypto/sha256-js":"*","@earendil-works/pi-ai":"^2026.7.22-2","@protobufjs/aspromise":"*","html-encoding-sniffer":"*","@earendil-works/pi-pty":"^2026.7.22-2","@earendil-works/pi-tui":"^2026.7.22-2","@aws-sdk/nested-clients":"*","@csstools/color-helpers":"*","@csstools/css-tokenizer":"*","@mariozechner/clipboard":"*","@smithy/is-array-buffer":"*","call-bind-apply-helpers":"*","path-expression-matcher":"*","@asamuzakjp/dom-selector":"*","@aws-sdk/token-providers":"*","@aws/lambda-invoke-store":"*","@protobufjs/eventemitter":"*","@smithy/util-buffer-from":"*","@modelcontextprotocol/sdk":"1.29.0","@smithy/node-http-handler":"4.7.3","@aws-crypto/sha256-browser":"*","@csstools/css-color-parser":"*","@silvia-odwyer/photon-node":"0.3.4","@smithy/fetch-http-handler":"*","buffer-equal-constant-time":"*","@aws-sdk/util-locate-window":"*","@babel/helper-string-parser":"*","@code-yeongyu/senpi-codemode":"^2026.7.22-2","@aws-sdk/middleware-websocket":"*","@earendil-works/pi-agent-core":"^2026.7.22-2","@asamuzakjp/generational-cache":"*","@aws-crypto/supports-web-crypto":"*","@aws-sdk/client-bedrock-runtime":"3.1048.0","@aws-sdk/middleware-eventstream":"*","@csstools/css-parser-algorithms":"*","@aws-sdk/credential-provider-env":"*","@aws-sdk/credential-provider-ini":"*","@aws-sdk/credential-provider-sso":"*","@smithy/credential-provider-imds":"*","is-potential-custom-element-name":"*","@aws-sdk/credential-provider-http":"*","@aws-sdk/credential-provider-node":"*","@aws-sdk/eventstream-handler-node":"*","@aws-sdk/credential-provider-login":"*","@aws-sdk/signature-v4-multi-region":"*","@babel/helper-validator-identifier":"*","@opentelemetry/semantic-conventions":"*","@aws-sdk/credential-provider-process":"*","@mariozechner/clipboard-linux-x64-gnu":"*","@mariozechner/clipboard-linux-x64-musl":"*","@csstools/css-syntax-patches-for-csstree":"*","@aws-sdk/credential-provider-web-identity":"*"},"_hasShrinkwrap":false,"devDependencies":{"shx":"0.4.0","vitest":"4.1.9","@types/ms":"2.1.0","@types/ws":"8.18.1","typescript":"6.0.3","@types/diff":"7.0.2","@types/node":"25.9.1","@types/jsdom":"28.0.3","@types/semver":"7.7.1","@types/turndown":"5.0.6","@types/picomatch":"4.0.3","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@anthropic-ai/sdk","@asamuzakjp/css-color","@asamuzakjp/dom-selector","@asamuzakjp/generational-cache","@asamuzakjp/nwsapi","@aws-crypto/crc32","@aws-crypto/sha256-browser","@aws-crypto/sha256-js","@aws-crypto/supports-web-crypto","@aws-crypto/util","@aws-sdk/client-bedrock-runtime","@aws-sdk/core","@aws-sdk/credential-provider-env","@aws-sdk/credential-provider-http","@aws-sdk/credential-provider-ini","@aws-sdk/credential-provider-login","@aws-sdk/credential-provider-node","@aws-sdk/credential-provider-process","@aws-sdk/credential-provider-sso","@aws-sdk/credential-provider-web-identity","@aws-sdk/eventstream-handler-node","@aws-sdk/middleware-eventstream","@aws-sdk/middleware-websocket","@aws-sdk/nested-clients","@aws-sdk/signature-v4-multi-region","@aws-sdk/token-providers","@aws-sdk/types","@aws-sdk/util-locate-window","@aws-sdk/xml-builder","@aws/lambda-invoke-store","@babel/helper-string-parser","@babel/helper-validator-identifier","@babel/parser","@babel/runtime","@babel/types","@bramus/specificity","@code-yeongyu/senpi-codemode","@csstools/color-helpers","@csstools/css-calc","@csstools/css-color-parser","@csstools/css-parser-algorithms","@csstools/css-syntax-patches-for-csstree","@csstools/css-tokenizer","@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-pty","@earendil-works/pi-tui","@exodus/bytes","@google/genai","@hono/node-server","@mariozechner/clipboard","@mariozechner/clipboard-linux-x64-gnu","@mariozechner/clipboard-linux-x64-musl","@mistralai/mistralai","@mixmark-io/domino","@modelcontextprotocol/sdk","@mozilla/readability","@nodable/entities","@opentelemetry/api","@opentelemetry/semantic-conventions","@protobufjs/aspromise","@protobufjs/base64","@protobufjs/codegen","@protobufjs/eventemitter","@protobufjs/fetch","@protobufjs/float","@protobufjs/path","@protobufjs/pool","@protobufjs/utf8","@silvia-odwyer/photon-node","@smithy/core","@smithy/credential-provider-imds","@smithy/fetch-http-handler","@smithy/is-array-buffer","@smithy/node-http-handler","@smithy/signature-v4","@smithy/types","@smithy/util-buffer-from","@smithy/util-utf8","@types/node","@xterm/headless","accepts","agent-base","ajv","ajv-formats","balanced-match","base64-js","bidi-js","bignumber.js","body-parser","bowser","brace-expansion","buffer-equal-constant-time","bytes","call-bind-apply-helpers","call-bound","chalk","content-disposition","content-type","cookie","cookie-signature","cors","cross-spawn","css-tree","data-uri-to-buffer","data-urls","debug","decimal.js","depd","diff","dunder-proto","ecdsa-sig-formatter","ee-first","encodeurl","entities","es-define-property","es-errors","es-object-atoms","escape-html","etag","eventsource","eventsource-parser","express","express-rate-limit","extend","fast-deep-equal","fast-uri","fast-xml-builder","fast-xml-parser","fetch-blob","finalhandler","formdata-polyfill","forwarded","fresh","function-bind","gaxios","gcp-metadata","get-east-asian-width","get-intrinsic","get-proto","glob","google-auth-library","google-logging-utils","gopd","graceful-fs","has-symbols","hasown","highlight.js","hono","hosted-git-info","html-encoding-sniffer","http-errors","http-proxy-agent","https-proxy-agent","iconv-lite","ignore","inherits","ip-address","ipaddr.js","is-potential-custom-element-name","is-promise","isexe","jiti","jose","jsdom","json-bigint","json-schema-to-ts","json-schema-traverse","json-schema-typed","jwa","jws","long","lru-cache","marked","math-intrinsics","mdn-data","media-typer","merge-descriptors","mime-db","mime-types","minimatch","minipass","ms","negotiator","node-domexception","node-fetch","object-assign","object-inspect","on-finished","once","openai","p-retry","parse5","parseurl","partial-json","path-expression-matcher","path-key","path-scurry","path-to-regexp","picomatch","pkce-challenge","proper-lockfile","protobufjs","proxy-addr","proxy-from-env","punycode","qs","range-parser","raw-body","require-from-string","retry","router","safe-buffer","safer-buffer","saxes","semver","send","serve-static","setprototypeof","shebang-command","shebang-regex","side-channel","side-channel-list","side-channel-map","side-channel-weakmap","signal-exit","source-map-js","statuses","strnum","symbol-tree","tldts","tldts-core","toidentifier","tough-cookie","tr46","ts-algebra","tslib","turndown","type-is","typebox","undici","undici-types","unpipe","vary","w3c-xmlserializer","web-streams-polyfill","webidl-conversions","whatwg-mimetype","whatwg-url","which","wrappy","ws","xml-name-validator","xml-naming","xmlchars","yaml","zod","zod-to-json-schema"],"optionalDependencies":{"@mariozechner/clipboard":"0.3.9"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.7.22-2_1784715199798_0.7935038489509414","host":"s3://npm-registry-packages-npm-production"}},"2026.7.23":{"name":"@code-yeongyu/senpi","version":"2026.7.23","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.7.23","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"senpi":"dist/cli.js"},"dist":{"shasum":"077b8ff46ce0fe09d9acedd35148103036240b99","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.7.23.tgz","fileCount":26352,"integrity":"sha512-+Qr9QEP7ZXBPv1fcnJsMHcgFqag71ruoZzmsk7N5PIGWEKEEkP3l9R4cWBjDi4K30CRmy2qpGXKs5jcCrwEpQQ==","signatures":[{"sig":"MEQCIF38DrymYz3ksMQkqgIKGR4KbZN4j4U4q5+cOBZoGLRNAiAX4yynXzm/noOvYMPWESqK5d1uXsUd3I488OPHSCY0Cg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.7.23","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":164923104},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./rpc-entry":{"import":"./dist/rpc-entry.js"}},"gitHead":"e048fd3402deb5a265f236c88215f18fc702bbce","scripts":{"dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsgo -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js dist/rpc-entry.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/","build:binary":"npm --prefix ../tui run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm run build && bun build --compile --no-compile-autoload-dotenv --minify --keep-names ./dist/bun/cli.js ./src/utils/image-resize-worker.ts --outfile dist/pi && npm run copy-binary-assets","qa:app-server":"node scripts/qa-app-server/run-all.mjs","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html dist/export-html/ && shx cp src/core/export-html/vendor/*.js dist/export-html/vendor/ && shx cp -r docs dist/ && shx cp -r examples dist/ && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/ && node ../../scripts/copy-pty-native.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cb385a00-0239-4c6e-aeb9-4f5c48eb2124"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.2"},"rimraf":"6.1.2","@hono/node-server":"2.0.10"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.16.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ms":"*","qs":"*","ws":"8.21.0","ajv":"*","jwa":"*","jws":"*","zod":"*","cors":"*","depd":"*","diff":"8.0.4","etag":"*","glob":"13.0.6","gopd":"*","hono":"*","jiti":"2.7.0","jose":"*","long":"*","once":"*","send":"*","tr46":"*","vary":"*","yaml":"2.9.0","bytes":"*","chalk":"5.6.2","debug":"*","fresh":"*","isexe":"*","jsdom":"29.1.1","retry":"*","saxes":"*","tldts":"*","tslib":"*","which":"*","bowser":"*","cookie":"*","extend":"*","gaxios":"*","hasown":"*","ignore":"7.0.5","marked":"18.0.5","openai":"6.26.0","parse5":"*","router":"*","semver":"7.8.0","strnum":"*","undici":"8.5.0","unpipe":"*","wrappy":"*","accepts":"*","bidi-js":"*","express":"*","mime-db":"*","p-retry":"*","type-is":"*","typebox":"1.1.38","css-tree":"*","ee-first":"*","entities":"*","fast-uri":"*","inherits":"*","mdn-data":"*","minipass":"*","parseurl":"*","path-key":"*","punycode":"*","raw-body":"*","statuses":"*","turndown":"7.2.4","xmlchars":"*","base64-js":"*","data-urls":"*","encodeurl":"*","es-errors":"*","forwarded":"*","get-proto":"*","ipaddr.js":"*","lru-cache":"*","minimatch":"10.2.5","picomatch":"4.0.4","agent-base":"*","call-bound":"*","decimal.js":"*","fetch-blob":"*","iconv-lite":"*","ip-address":"*","is-promise":"*","mime-types":"*","negotiator":"*","node-fetch":"*","protobufjs":"*","proxy-addr":"*","tldts-core":"*","ts-algebra":"*","whatwg-url":"*","xml-naming":"*","@types/node":"*","ajv-formats":"*","body-parser":"*","cross-spawn":"7.0.6","escape-html":"*","eventsource":"*","graceful-fs":"*","has-symbols":"*","http-errors":"*","json-bigint":"*","media-typer":"*","on-finished":"*","path-scurry":"*","safe-buffer":"*","signal-exit":"*","symbol-tree":"*","@babel/types":"*","@smithy/core":"*","bignumber.js":"*","content-type":"*","dunder-proto":"*","finalhandler":"*","gcp-metadata":"*","highlight.js":"10.7.3","partial-json":"0.1.7","range-parser":"*","safer-buffer":"*","serve-static":"*","side-channel":"*","toidentifier":"*","tough-cookie":"*","undici-types":"*","@aws-sdk/core":"*","@babel/parser":"*","@exodus/bytes":"*","@google/genai":"*","@smithy/types":"4.8.0","function-bind":"*","get-intrinsic":"*","object-assign":"*","shebang-regex":"*","source-map-js":"*","@aws-sdk/types":"*","@babel/runtime":"*","balanced-match":"*","object-inspect":"*","path-to-regexp":"*","pkce-challenge":"*","proxy-from-env":"1.1.0","setprototypeof":"*","@xterm/headless":"*","brace-expansion":"*","es-object-atoms":"*","fast-deep-equal":"*","fast-xml-parser":"*","hosted-git-info":"9.0.3","math-intrinsics":"*","proper-lockfile":"4.1.2","shebang-command":"*","whatwg-mimetype":"*","@aws-crypto/util":"*","@protobufjs/path":"*","@protobufjs/pool":"*","@protobufjs/utf8":"*","cookie-signature":"*","fast-xml-builder":"*","http-proxy-agent":"7.0.2","side-channel-map":"*","@anthropic-ai/sdk":"0.91.1","@aws-crypto/crc32":"*","@hono/node-server":"*","@nodable/entities":"*","@protobufjs/fetch":"*","@protobufjs/float":"*","@smithy/util-utf8":"*","formdata-polyfill":"*","https-proxy-agent":"7.0.6","json-schema-to-ts":"*","json-schema-typed":"*","merge-descriptors":"*","node-domexception":"*","side-channel-list":"*","w3c-xmlserializer":"*","@asamuzakjp/nwsapi":"*","@csstools/css-calc":"*","@mixmark-io/domino":"*","@opentelemetry/api":"1.9.0","@protobufjs/base64":"*","data-uri-to-buffer":"*","es-define-property":"*","eventsource-parser":"*","express-rate-limit":"*","webidl-conversions":"*","xml-name-validator":"*","zod-to-json-schema":"*","@bramus/specificity":"*","@protobufjs/codegen":"*","content-disposition":"*","ecdsa-sig-formatter":"*","google-auth-library":"*","require-from-string":"*","@aws-sdk/xml-builder":"*","@mistralai/mistralai":"2.2.6","@mozilla/readability":"0.6.0","@smithy/signature-v4":"*","get-east-asian-width":"1.6.0","google-logging-utils":"*","json-schema-traverse":"*","side-channel-weakmap":"*","web-streams-polyfill":"*","@asamuzakjp/css-color":"*","@aws-crypto/sha256-js":"*","@earendil-works/pi-ai":"^2026.7.23","@protobufjs/aspromise":"*","html-encoding-sniffer":"*","@earendil-works/pi-pty":"^2026.7.23","@earendil-works/pi-tui":"^2026.7.23","@aws-sdk/nested-clients":"*","@csstools/color-helpers":"*","@csstools/css-tokenizer":"*","@mariozechner/clipboard":"*","@smithy/is-array-buffer":"*","call-bind-apply-helpers":"*","path-expression-matcher":"*","@asamuzakjp/dom-selector":"*","@aws-sdk/token-providers":"*","@aws/lambda-invoke-store":"*","@protobufjs/eventemitter":"*","@smithy/util-buffer-from":"*","@modelcontextprotocol/sdk":"1.29.0","@smithy/node-http-handler":"4.7.3","@aws-crypto/sha256-browser":"*","@csstools/css-color-parser":"*","@silvia-odwyer/photon-node":"0.3.4","@smithy/fetch-http-handler":"*","buffer-equal-constant-time":"*","@aws-sdk/util-locate-window":"*","@babel/helper-string-parser":"*","@code-yeongyu/senpi-codemode":"^2026.7.23","@aws-sdk/middleware-websocket":"*","@earendil-works/pi-agent-core":"^2026.7.23","@asamuzakjp/generational-cache":"*","@aws-crypto/supports-web-crypto":"*","@aws-sdk/client-bedrock-runtime":"3.1048.0","@aws-sdk/middleware-eventstream":"*","@csstools/css-parser-algorithms":"*","@aws-sdk/credential-provider-env":"*","@aws-sdk/credential-provider-ini":"*","@aws-sdk/credential-provider-sso":"*","@smithy/credential-provider-imds":"*","is-potential-custom-element-name":"*","@aws-sdk/credential-provider-http":"*","@aws-sdk/credential-provider-node":"*","@aws-sdk/eventstream-handler-node":"*","@aws-sdk/credential-provider-login":"*","@aws-sdk/signature-v4-multi-region":"*","@babel/helper-validator-identifier":"*","@opentelemetry/semantic-conventions":"*","@aws-sdk/credential-provider-process":"*","@mariozechner/clipboard-linux-x64-gnu":"*","@mariozechner/clipboard-linux-x64-musl":"*","@csstools/css-syntax-patches-for-csstree":"*","@aws-sdk/credential-provider-web-identity":"*"},"_hasShrinkwrap":false,"devDependencies":{"shx":"0.4.0","vitest":"4.1.9","@types/ms":"2.1.0","@types/ws":"8.18.1","typescript":"6.0.3","@types/diff":"7.0.2","@types/node":"25.9.1","@types/jsdom":"28.0.3","@types/semver":"7.7.1","@types/turndown":"5.0.6","@types/picomatch":"4.0.3","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@anthropic-ai/sdk","@asamuzakjp/css-color","@asamuzakjp/dom-selector","@asamuzakjp/generational-cache","@asamuzakjp/nwsapi","@aws-crypto/crc32","@aws-crypto/sha256-browser","@aws-crypto/sha256-js","@aws-crypto/supports-web-crypto","@aws-crypto/util","@aws-sdk/client-bedrock-runtime","@aws-sdk/core","@aws-sdk/credential-provider-env","@aws-sdk/credential-provider-http","@aws-sdk/credential-provider-ini","@aws-sdk/credential-provider-login","@aws-sdk/credential-provider-node","@aws-sdk/credential-provider-process","@aws-sdk/credential-provider-sso","@aws-sdk/credential-provider-web-identity","@aws-sdk/eventstream-handler-node","@aws-sdk/middleware-eventstream","@aws-sdk/middleware-websocket","@aws-sdk/nested-clients","@aws-sdk/signature-v4-multi-region","@aws-sdk/token-providers","@aws-sdk/types","@aws-sdk/util-locate-window","@aws-sdk/xml-builder","@aws/lambda-invoke-store","@babel/helper-string-parser","@babel/helper-validator-identifier","@babel/parser","@babel/runtime","@babel/types","@bramus/specificity","@code-yeongyu/senpi-codemode","@csstools/color-helpers","@csstools/css-calc","@csstools/css-color-parser","@csstools/css-parser-algorithms","@csstools/css-syntax-patches-for-csstree","@csstools/css-tokenizer","@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-pty","@earendil-works/pi-tui","@exodus/bytes","@google/genai","@hono/node-server","@mariozechner/clipboard","@mariozechner/clipboard-linux-x64-gnu","@mariozechner/clipboard-linux-x64-musl","@mistralai/mistralai","@mixmark-io/domino","@modelcontextprotocol/sdk","@mozilla/readability","@nodable/entities","@opentelemetry/api","@opentelemetry/semantic-conventions","@protobufjs/aspromise","@protobufjs/base64","@protobufjs/codegen","@protobufjs/eventemitter","@protobufjs/fetch","@protobufjs/float","@protobufjs/path","@protobufjs/pool","@protobufjs/utf8","@silvia-odwyer/photon-node","@smithy/core","@smithy/credential-provider-imds","@smithy/fetch-http-handler","@smithy/is-array-buffer","@smithy/node-http-handler","@smithy/signature-v4","@smithy/types","@smithy/util-buffer-from","@smithy/util-utf8","@types/node","@xterm/headless","accepts","agent-base","ajv","ajv-formats","balanced-match","base64-js","bidi-js","bignumber.js","body-parser","bowser","brace-expansion","buffer-equal-constant-time","bytes","call-bind-apply-helpers","call-bound","chalk","content-disposition","content-type","cookie","cookie-signature","cors","cross-spawn","css-tree","data-uri-to-buffer","data-urls","debug","decimal.js","depd","diff","dunder-proto","ecdsa-sig-formatter","ee-first","encodeurl","entities","es-define-property","es-errors","es-object-atoms","escape-html","etag","eventsource","eventsource-parser","express","express-rate-limit","extend","fast-deep-equal","fast-uri","fast-xml-builder","fast-xml-parser","fetch-blob","finalhandler","formdata-polyfill","forwarded","fresh","function-bind","gaxios","gcp-metadata","get-east-asian-width","get-intrinsic","get-proto","glob","google-auth-library","google-logging-utils","gopd","graceful-fs","has-symbols","hasown","highlight.js","hono","hosted-git-info","html-encoding-sniffer","http-errors","http-proxy-agent","https-proxy-agent","iconv-lite","ignore","inherits","ip-address","ipaddr.js","is-potential-custom-element-name","is-promise","isexe","jiti","jose","jsdom","json-bigint","json-schema-to-ts","json-schema-traverse","json-schema-typed","jwa","jws","long","lru-cache","marked","math-intrinsics","mdn-data","media-typer","merge-descriptors","mime-db","mime-types","minimatch","minipass","ms","negotiator","node-domexception","node-fetch","object-assign","object-inspect","on-finished","once","openai","p-retry","parse5","parseurl","partial-json","path-expression-matcher","path-key","path-scurry","path-to-regexp","picomatch","pkce-challenge","proper-lockfile","protobufjs","proxy-addr","proxy-from-env","punycode","qs","range-parser","raw-body","require-from-string","retry","router","safe-buffer","safer-buffer","saxes","semver","send","serve-static","setprototypeof","shebang-command","shebang-regex","side-channel","side-channel-list","side-channel-map","side-channel-weakmap","signal-exit","source-map-js","statuses","strnum","symbol-tree","tldts","tldts-core","toidentifier","tough-cookie","tr46","ts-algebra","tslib","turndown","type-is","typebox","undici","undici-types","unpipe","vary","w3c-xmlserializer","web-streams-polyfill","webidl-conversions","whatwg-mimetype","whatwg-url","which","wrappy","ws","xml-name-validator","xml-naming","xmlchars","yaml","zod","zod-to-json-schema"],"optionalDependencies":{"@mariozechner/clipboard":"0.3.9"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.7.23_1784783985497_0.9861406640330912","host":"s3://npm-registry-packages-npm-production"}},"2026.7.24":{"name":"@code-yeongyu/senpi","version":"2026.7.24","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.7.24","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"senpi":"dist/cli.js"},"dist":{"shasum":"6e70148f96731a3dae6016b1627ba8d826f1dc60","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.7.24.tgz","fileCount":26496,"integrity":"sha512-SibnYJfbz0w1TFOxo2gQKCqyTgQiD9PR7oLxqQ8+Ds7eZAbI/5iCbPqUWO/WLWUKuoqPgq2TDVahKRAXCb21SQ==","signatures":[{"sig":"MEQCIGJtz6QUVHsNnNym5TpXQcfgQDbPL0cHdeSlh93HIdyyAiBi5lQ4m5IhcvchxOOXTSaD6M+nF4mkYwLyx0EmAOZk/A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.7.24","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":165320919},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./rpc-entry":{"import":"./dist/rpc-entry.js"}},"gitHead":"781be6accc2ac46e5c32d4855f4b3071a38c93f0","scripts":{"dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsgo -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js dist/rpc-entry.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/","build:binary":"npm --prefix ../tui run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm run build && bun build --compile --no-compile-autoload-dotenv --minify --keep-names ./dist/bun/cli.js ./src/utils/image-resize-worker.ts --outfile dist/pi && npm run copy-binary-assets","qa:app-server":"node scripts/qa-app-server/run-all.mjs","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html dist/export-html/ && shx cp src/core/export-html/vendor/*.js dist/export-html/vendor/ && shx cp -r docs dist/ && shx cp -r examples dist/ && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/ && node ../../scripts/copy-pty-native.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cb385a00-0239-4c6e-aeb9-4f5c48eb2124"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.2"},"rimraf":"6.1.2","protobufjs":"7.6.5","@hono/node-server":"2.0.10"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.16.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ms":"*","qs":"*","ws":"8.21.0","ajv":"*","jwa":"*","jws":"*","zod":"*","cors":"*","depd":"*","diff":"8.0.4","etag":"*","glob":"13.0.6","gopd":"*","hono":"*","jiti":"2.7.0","jose":"*","long":"*","once":"*","send":"*","tr46":"*","vary":"*","yaml":"2.9.0","bytes":"*","chalk":"5.6.2","debug":"*","fresh":"*","isexe":"*","jsdom":"29.1.1","retry":"*","saxes":"*","tldts":"*","tslib":"*","which":"*","bowser":"*","cookie":"*","extend":"*","gaxios":"*","hasown":"*","ignore":"7.0.5","marked":"18.0.5","openai":"6.26.0","parse5":"*","router":"*","semver":"7.8.0","strnum":"*","undici":"8.5.0","unpipe":"*","wrappy":"*","accepts":"*","bidi-js":"*","express":"*","mime-db":"*","p-retry":"*","type-is":"*","typebox":"1.1.38","css-tree":"*","ee-first":"*","entities":"*","fast-uri":"*","inherits":"*","mdn-data":"*","minipass":"*","parseurl":"*","path-key":"*","punycode":"*","raw-body":"*","statuses":"*","turndown":"7.2.4","xmlchars":"*","base64-js":"*","data-urls":"*","encodeurl":"*","es-errors":"*","forwarded":"*","get-proto":"*","ipaddr.js":"*","lru-cache":"*","minimatch":"10.2.5","picomatch":"4.0.4","agent-base":"*","call-bound":"*","decimal.js":"*","fetch-blob":"*","iconv-lite":"*","ip-address":"*","is-promise":"*","mime-types":"*","negotiator":"*","node-fetch":"*","protobufjs":"*","proxy-addr":"*","tldts-core":"*","ts-algebra":"*","whatwg-url":"*","xml-naming":"*","@types/node":"*","ajv-formats":"*","body-parser":"*","cross-spawn":"7.0.6","escape-html":"*","eventsource":"*","graceful-fs":"*","has-symbols":"*","http-errors":"*","json-bigint":"*","media-typer":"*","on-finished":"*","path-scurry":"*","safe-buffer":"*","signal-exit":"*","symbol-tree":"*","@babel/types":"*","@smithy/core":"*","bignumber.js":"*","content-type":"*","dunder-proto":"*","finalhandler":"*","gcp-metadata":"*","highlight.js":"10.7.3","partial-json":"0.1.7","range-parser":"*","safer-buffer":"*","serve-static":"*","side-channel":"*","toidentifier":"*","tough-cookie":"*","undici-types":"*","@aws-sdk/core":"*","@babel/parser":"*","@exodus/bytes":"*","@google/genai":"*","@smithy/types":"4.8.0","function-bind":"*","get-intrinsic":"*","object-assign":"*","shebang-regex":"*","source-map-js":"*","@aws-sdk/types":"*","@babel/runtime":"*","balanced-match":"*","object-inspect":"*","path-to-regexp":"*","pkce-challenge":"*","proxy-from-env":"1.1.0","setprototypeof":"*","@xterm/headless":"*","brace-expansion":"*","es-object-atoms":"*","fast-deep-equal":"*","fast-xml-parser":"*","hosted-git-info":"9.0.3","math-intrinsics":"*","proper-lockfile":"4.1.2","shebang-command":"*","whatwg-mimetype":"*","@aws-crypto/util":"*","@protobufjs/path":"*","@protobufjs/pool":"*","@protobufjs/utf8":"*","cookie-signature":"*","fast-xml-builder":"*","http-proxy-agent":"7.0.2","side-channel-map":"*","@anthropic-ai/sdk":"0.91.1","@aws-crypto/crc32":"*","@hono/node-server":"*","@nodable/entities":"*","@protobufjs/fetch":"*","@protobufjs/float":"*","@smithy/util-utf8":"*","formdata-polyfill":"*","https-proxy-agent":"7.0.6","json-schema-to-ts":"*","json-schema-typed":"*","merge-descriptors":"*","node-domexception":"*","side-channel-list":"*","w3c-xmlserializer":"*","@asamuzakjp/nwsapi":"*","@csstools/css-calc":"*","@mixmark-io/domino":"*","@opentelemetry/api":"1.9.0","@protobufjs/base64":"*","data-uri-to-buffer":"*","es-define-property":"*","eventsource-parser":"*","express-rate-limit":"*","webidl-conversions":"*","xml-name-validator":"*","zod-to-json-schema":"*","@bramus/specificity":"*","@protobufjs/codegen":"*","content-disposition":"*","ecdsa-sig-formatter":"*","google-auth-library":"*","require-from-string":"*","@aws-sdk/xml-builder":"*","@mistralai/mistralai":"2.2.6","@mozilla/readability":"0.6.0","@smithy/signature-v4":"*","get-east-asian-width":"1.6.0","google-logging-utils":"*","json-schema-traverse":"*","side-channel-weakmap":"*","web-streams-polyfill":"*","@asamuzakjp/css-color":"*","@aws-crypto/sha256-js":"*","@earendil-works/pi-ai":"^2026.7.24","@protobufjs/aspromise":"*","html-encoding-sniffer":"*","@earendil-works/pi-pty":"^2026.7.24","@earendil-works/pi-tui":"^2026.7.24","@aws-sdk/nested-clients":"*","@csstools/color-helpers":"*","@csstools/css-tokenizer":"*","@mariozechner/clipboard":"*","@smithy/is-array-buffer":"*","call-bind-apply-helpers":"*","path-expression-matcher":"*","@asamuzakjp/dom-selector":"*","@aws-sdk/token-providers":"*","@aws/lambda-invoke-store":"*","@protobufjs/eventemitter":"*","@smithy/util-buffer-from":"*","@modelcontextprotocol/sdk":"1.29.0","@smithy/node-http-handler":"4.7.3","@aws-crypto/sha256-browser":"*","@csstools/css-color-parser":"*","@silvia-odwyer/photon-node":"0.3.4","@smithy/fetch-http-handler":"*","buffer-equal-constant-time":"*","@aws-sdk/util-locate-window":"*","@babel/helper-string-parser":"*","@code-yeongyu/senpi-codemode":"^2026.7.24","@aws-sdk/middleware-websocket":"*","@earendil-works/pi-agent-core":"^2026.7.24","@asamuzakjp/generational-cache":"*","@aws-crypto/supports-web-crypto":"*","@aws-sdk/client-bedrock-runtime":"3.1048.0","@aws-sdk/middleware-eventstream":"*","@csstools/css-parser-algorithms":"*","@aws-sdk/credential-provider-env":"*","@aws-sdk/credential-provider-ini":"*","@aws-sdk/credential-provider-sso":"*","@smithy/credential-provider-imds":"*","is-potential-custom-element-name":"*","@aws-sdk/credential-provider-http":"*","@aws-sdk/credential-provider-node":"*","@aws-sdk/eventstream-handler-node":"*","@aws-sdk/credential-provider-login":"*","@aws-sdk/signature-v4-multi-region":"*","@babel/helper-validator-identifier":"*","@opentelemetry/semantic-conventions":"*","@aws-sdk/credential-provider-process":"*","@mariozechner/clipboard-linux-x64-gnu":"*","@mariozechner/clipboard-linux-x64-musl":"*","@csstools/css-syntax-patches-for-csstree":"*","@aws-sdk/credential-provider-web-identity":"*"},"_hasShrinkwrap":false,"devDependencies":{"shx":"0.4.0","vitest":"4.1.9","@types/ms":"2.1.0","@types/ws":"8.18.1","typescript":"6.0.3","@types/diff":"7.0.2","@types/node":"25.9.1","@types/jsdom":"28.0.3","@types/semver":"7.7.1","@types/turndown":"5.0.6","@types/picomatch":"4.0.3","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@anthropic-ai/sdk","@asamuzakjp/css-color","@asamuzakjp/dom-selector","@asamuzakjp/generational-cache","@asamuzakjp/nwsapi","@aws-crypto/crc32","@aws-crypto/sha256-browser","@aws-crypto/sha256-js","@aws-crypto/supports-web-crypto","@aws-crypto/util","@aws-sdk/client-bedrock-runtime","@aws-sdk/core","@aws-sdk/credential-provider-env","@aws-sdk/credential-provider-http","@aws-sdk/credential-provider-ini","@aws-sdk/credential-provider-login","@aws-sdk/credential-provider-node","@aws-sdk/credential-provider-process","@aws-sdk/credential-provider-sso","@aws-sdk/credential-provider-web-identity","@aws-sdk/eventstream-handler-node","@aws-sdk/middleware-eventstream","@aws-sdk/middleware-websocket","@aws-sdk/nested-clients","@aws-sdk/signature-v4-multi-region","@aws-sdk/token-providers","@aws-sdk/types","@aws-sdk/util-locate-window","@aws-sdk/xml-builder","@aws/lambda-invoke-store","@babel/helper-string-parser","@babel/helper-validator-identifier","@babel/parser","@babel/runtime","@babel/types","@bramus/specificity","@code-yeongyu/senpi-codemode","@csstools/color-helpers","@csstools/css-calc","@csstools/css-color-parser","@csstools/css-parser-algorithms","@csstools/css-syntax-patches-for-csstree","@csstools/css-tokenizer","@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-pty","@earendil-works/pi-tui","@exodus/bytes","@google/genai","@hono/node-server","@mariozechner/clipboard","@mariozechner/clipboard-linux-x64-gnu","@mariozechner/clipboard-linux-x64-musl","@mistralai/mistralai","@mixmark-io/domino","@modelcontextprotocol/sdk","@mozilla/readability","@nodable/entities","@opentelemetry/api","@opentelemetry/semantic-conventions","@protobufjs/aspromise","@protobufjs/base64","@protobufjs/codegen","@protobufjs/eventemitter","@protobufjs/fetch","@protobufjs/float","@protobufjs/path","@protobufjs/pool","@protobufjs/utf8","@silvia-odwyer/photon-node","@smithy/core","@smithy/credential-provider-imds","@smithy/fetch-http-handler","@smithy/is-array-buffer","@smithy/node-http-handler","@smithy/signature-v4","@smithy/types","@smithy/util-buffer-from","@smithy/util-utf8","@types/node","@xterm/headless","accepts","agent-base","ajv","ajv-formats","balanced-match","base64-js","bidi-js","bignumber.js","body-parser","bowser","brace-expansion","buffer-equal-constant-time","bytes","call-bind-apply-helpers","call-bound","chalk","content-disposition","content-type","cookie","cookie-signature","cors","cross-spawn","css-tree","data-uri-to-buffer","data-urls","debug","decimal.js","depd","diff","dunder-proto","ecdsa-sig-formatter","ee-first","encodeurl","entities","es-define-property","es-errors","es-object-atoms","escape-html","etag","eventsource","eventsource-parser","express","express-rate-limit","extend","fast-deep-equal","fast-uri","fast-xml-builder","fast-xml-parser","fetch-blob","finalhandler","formdata-polyfill","forwarded","fresh","function-bind","gaxios","gcp-metadata","get-east-asian-width","get-intrinsic","get-proto","glob","google-auth-library","google-logging-utils","gopd","graceful-fs","has-symbols","hasown","highlight.js","hono","hosted-git-info","html-encoding-sniffer","http-errors","http-proxy-agent","https-proxy-agent","iconv-lite","ignore","inherits","ip-address","ipaddr.js","is-potential-custom-element-name","is-promise","isexe","jiti","jose","jsdom","json-bigint","json-schema-to-ts","json-schema-traverse","json-schema-typed","jwa","jws","long","lru-cache","marked","math-intrinsics","mdn-data","media-typer","merge-descriptors","mime-db","mime-types","minimatch","minipass","ms","negotiator","node-domexception","node-fetch","object-assign","object-inspect","on-finished","once","openai","p-retry","parse5","parseurl","partial-json","path-expression-matcher","path-key","path-scurry","path-to-regexp","picomatch","pkce-challenge","proper-lockfile","protobufjs","proxy-addr","proxy-from-env","punycode","qs","range-parser","raw-body","require-from-string","retry","router","safe-buffer","safer-buffer","saxes","semver","send","serve-static","setprototypeof","shebang-command","shebang-regex","side-channel","side-channel-list","side-channel-map","side-channel-weakmap","signal-exit","source-map-js","statuses","strnum","symbol-tree","tldts","tldts-core","toidentifier","tough-cookie","tr46","ts-algebra","tslib","turndown","type-is","typebox","undici","undici-types","unpipe","vary","w3c-xmlserializer","web-streams-polyfill","webidl-conversions","whatwg-mimetype","whatwg-url","which","wrappy","ws","xml-name-validator","xml-naming","xmlchars","yaml","zod","zod-to-json-schema"],"optionalDependencies":{"@mariozechner/clipboard":"0.3.9"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.7.24_1784923154166_0.7725601702226601","host":"s3://npm-registry-packages-npm-production"}},"2026.7.25":{"name":"@code-yeongyu/senpi","version":"2026.7.25","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.7.25","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"senpi":"dist/cli.js"},"dist":{"shasum":"649f35e9f42f9beab61d8375fc1a1ff5ffaa3519","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.7.25.tgz","fileCount":26496,"integrity":"sha512-O5EdciIyi1zQwJwqcDQx8ZGjWA/jvmtL4ueTrvxzc0KePWiMAFmbkMhuGrd+BsgPxg+DcOiS2Of7logrYL5oDA==","signatures":[{"sig":"MEUCIAk6QqeOIVi+OO8yvXtaMsdfhG73JI6hy3b4JT3S/cocAiEAp2jC0/FWADbEoHbXPR758wYra708zmg4suyitjzTcxI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.7.25","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":165319492},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./rpc-entry":{"import":"./dist/rpc-entry.js"}},"gitHead":"30b89377e2decc1bf5edfe1cfc9bd6217dd8626f","scripts":{"dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsgo -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js dist/rpc-entry.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/","build:binary":"npm --prefix ../tui run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm run build && bun build --compile --no-compile-autoload-dotenv --minify --keep-names ./dist/bun/cli.js ./src/utils/image-resize-worker.ts --outfile dist/pi && npm run copy-binary-assets","qa:app-server":"node scripts/qa-app-server/run-all.mjs","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html dist/export-html/ && shx cp src/core/export-html/vendor/*.js dist/export-html/vendor/ && shx cp -r docs dist/ && shx cp -r examples dist/ && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/ && node ../../scripts/copy-pty-native.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cb385a00-0239-4c6e-aeb9-4f5c48eb2124"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.2"},"rimraf":"6.1.2","protobufjs":"7.6.5","@hono/node-server":"2.0.10"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.16.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ms":"*","qs":"*","ws":"8.21.0","ajv":"*","jwa":"*","jws":"*","zod":"*","cors":"*","depd":"*","diff":"8.0.4","etag":"*","glob":"13.0.6","gopd":"*","hono":"*","jiti":"2.7.0","jose":"*","long":"*","once":"*","send":"*","tr46":"*","vary":"*","yaml":"2.9.0","bytes":"*","chalk":"5.6.2","debug":"*","fresh":"*","isexe":"*","jsdom":"29.1.1","retry":"*","saxes":"*","tldts":"*","tslib":"*","which":"*","bowser":"*","cookie":"*","extend":"*","gaxios":"*","hasown":"*","ignore":"7.0.5","marked":"18.0.5","openai":"6.26.0","parse5":"*","router":"*","semver":"7.8.0","strnum":"*","undici":"8.5.0","unpipe":"*","wrappy":"*","accepts":"*","bidi-js":"*","express":"*","mime-db":"*","p-retry":"*","type-is":"*","typebox":"1.1.38","css-tree":"*","ee-first":"*","entities":"*","fast-uri":"*","inherits":"*","mdn-data":"*","minipass":"*","parseurl":"*","path-key":"*","punycode":"*","raw-body":"*","statuses":"*","turndown":"7.2.4","xmlchars":"*","base64-js":"*","data-urls":"*","encodeurl":"*","es-errors":"*","forwarded":"*","get-proto":"*","ipaddr.js":"*","lru-cache":"*","minimatch":"10.2.5","picomatch":"4.0.4","agent-base":"*","call-bound":"*","decimal.js":"*","fetch-blob":"*","iconv-lite":"*","ip-address":"*","is-promise":"*","mime-types":"*","negotiator":"*","node-fetch":"*","protobufjs":"*","proxy-addr":"*","tldts-core":"*","ts-algebra":"*","whatwg-url":"*","xml-naming":"*","@types/node":"*","ajv-formats":"*","body-parser":"*","cross-spawn":"7.0.6","escape-html":"*","eventsource":"*","graceful-fs":"*","has-symbols":"*","http-errors":"*","json-bigint":"*","media-typer":"*","on-finished":"*","path-scurry":"*","safe-buffer":"*","signal-exit":"*","symbol-tree":"*","@babel/types":"*","@smithy/core":"*","bignumber.js":"*","content-type":"*","dunder-proto":"*","finalhandler":"*","gcp-metadata":"*","highlight.js":"10.7.3","partial-json":"0.1.7","range-parser":"*","safer-buffer":"*","serve-static":"*","side-channel":"*","toidentifier":"*","tough-cookie":"*","undici-types":"*","@aws-sdk/core":"*","@babel/parser":"*","@exodus/bytes":"*","@google/genai":"*","@smithy/types":"4.8.0","function-bind":"*","get-intrinsic":"*","object-assign":"*","shebang-regex":"*","source-map-js":"*","@aws-sdk/types":"*","@babel/runtime":"*","balanced-match":"*","object-inspect":"*","path-to-regexp":"*","pkce-challenge":"*","proxy-from-env":"1.1.0","setprototypeof":"*","@xterm/headless":"*","brace-expansion":"*","es-object-atoms":"*","fast-deep-equal":"*","fast-xml-parser":"*","hosted-git-info":"9.0.3","math-intrinsics":"*","proper-lockfile":"4.1.2","shebang-command":"*","whatwg-mimetype":"*","@aws-crypto/util":"*","@protobufjs/path":"*","@protobufjs/pool":"*","@protobufjs/utf8":"*","cookie-signature":"*","fast-xml-builder":"*","http-proxy-agent":"7.0.2","side-channel-map":"*","@anthropic-ai/sdk":"0.91.1","@aws-crypto/crc32":"*","@hono/node-server":"*","@nodable/entities":"*","@protobufjs/fetch":"*","@protobufjs/float":"*","@smithy/util-utf8":"*","formdata-polyfill":"*","https-proxy-agent":"7.0.6","json-schema-to-ts":"*","json-schema-typed":"*","merge-descriptors":"*","node-domexception":"*","side-channel-list":"*","w3c-xmlserializer":"*","@asamuzakjp/nwsapi":"*","@csstools/css-calc":"*","@mixmark-io/domino":"*","@opentelemetry/api":"1.9.0","@protobufjs/base64":"*","data-uri-to-buffer":"*","es-define-property":"*","eventsource-parser":"*","express-rate-limit":"*","webidl-conversions":"*","xml-name-validator":"*","zod-to-json-schema":"*","@bramus/specificity":"*","@protobufjs/codegen":"*","content-disposition":"*","ecdsa-sig-formatter":"*","google-auth-library":"*","require-from-string":"*","@aws-sdk/xml-builder":"*","@mistralai/mistralai":"2.2.6","@mozilla/readability":"0.6.0","@smithy/signature-v4":"*","get-east-asian-width":"1.6.0","google-logging-utils":"*","json-schema-traverse":"*","side-channel-weakmap":"*","web-streams-polyfill":"*","@asamuzakjp/css-color":"*","@aws-crypto/sha256-js":"*","@earendil-works/pi-ai":"^2026.7.25","@protobufjs/aspromise":"*","html-encoding-sniffer":"*","@earendil-works/pi-pty":"^2026.7.25","@earendil-works/pi-tui":"^2026.7.25","@aws-sdk/nested-clients":"*","@csstools/color-helpers":"*","@csstools/css-tokenizer":"*","@mariozechner/clipboard":"*","@smithy/is-array-buffer":"*","call-bind-apply-helpers":"*","path-expression-matcher":"*","@asamuzakjp/dom-selector":"*","@aws-sdk/token-providers":"*","@aws/lambda-invoke-store":"*","@protobufjs/eventemitter":"*","@smithy/util-buffer-from":"*","@modelcontextprotocol/sdk":"1.29.0","@smithy/node-http-handler":"4.7.3","@aws-crypto/sha256-browser":"*","@csstools/css-color-parser":"*","@silvia-odwyer/photon-node":"0.3.4","@smithy/fetch-http-handler":"*","buffer-equal-constant-time":"*","@aws-sdk/util-locate-window":"*","@babel/helper-string-parser":"*","@code-yeongyu/senpi-codemode":"^2026.7.25","@aws-sdk/middleware-websocket":"*","@earendil-works/pi-agent-core":"^2026.7.25","@asamuzakjp/generational-cache":"*","@aws-crypto/supports-web-crypto":"*","@aws-sdk/client-bedrock-runtime":"3.1048.0","@aws-sdk/middleware-eventstream":"*","@csstools/css-parser-algorithms":"*","@aws-sdk/credential-provider-env":"*","@aws-sdk/credential-provider-ini":"*","@aws-sdk/credential-provider-sso":"*","@smithy/credential-provider-imds":"*","is-potential-custom-element-name":"*","@aws-sdk/credential-provider-http":"*","@aws-sdk/credential-provider-node":"*","@aws-sdk/eventstream-handler-node":"*","@aws-sdk/credential-provider-login":"*","@aws-sdk/signature-v4-multi-region":"*","@babel/helper-validator-identifier":"*","@opentelemetry/semantic-conventions":"*","@aws-sdk/credential-provider-process":"*","@csstools/css-syntax-patches-for-csstree":"*","@aws-sdk/credential-provider-web-identity":"*"},"_hasShrinkwrap":false,"devDependencies":{"shx":"0.4.0","vitest":"4.1.9","@types/ms":"2.1.0","@types/ws":"8.18.1","typescript":"6.0.3","@types/diff":"7.0.2","@types/node":"25.9.1","@types/jsdom":"28.0.3","@types/semver":"7.7.1","@types/turndown":"5.0.6","@types/picomatch":"4.0.3","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@anthropic-ai/sdk","@asamuzakjp/css-color","@asamuzakjp/dom-selector","@asamuzakjp/generational-cache","@asamuzakjp/nwsapi","@aws-crypto/crc32","@aws-crypto/sha256-browser","@aws-crypto/sha256-js","@aws-crypto/supports-web-crypto","@aws-crypto/util","@aws-sdk/client-bedrock-runtime","@aws-sdk/core","@aws-sdk/credential-provider-env","@aws-sdk/credential-provider-http","@aws-sdk/credential-provider-ini","@aws-sdk/credential-provider-login","@aws-sdk/credential-provider-node","@aws-sdk/credential-provider-process","@aws-sdk/credential-provider-sso","@aws-sdk/credential-provider-web-identity","@aws-sdk/eventstream-handler-node","@aws-sdk/middleware-eventstream","@aws-sdk/middleware-websocket","@aws-sdk/nested-clients","@aws-sdk/signature-v4-multi-region","@aws-sdk/token-providers","@aws-sdk/types","@aws-sdk/util-locate-window","@aws-sdk/xml-builder","@aws/lambda-invoke-store","@babel/helper-string-parser","@babel/helper-validator-identifier","@babel/parser","@babel/runtime","@babel/types","@bramus/specificity","@code-yeongyu/senpi-codemode","@csstools/color-helpers","@csstools/css-calc","@csstools/css-color-parser","@csstools/css-parser-algorithms","@csstools/css-syntax-patches-for-csstree","@csstools/css-tokenizer","@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-pty","@earendil-works/pi-tui","@exodus/bytes","@google/genai","@hono/node-server","@mariozechner/clipboard","@mistralai/mistralai","@mixmark-io/domino","@modelcontextprotocol/sdk","@mozilla/readability","@nodable/entities","@opentelemetry/api","@opentelemetry/semantic-conventions","@protobufjs/aspromise","@protobufjs/base64","@protobufjs/codegen","@protobufjs/eventemitter","@protobufjs/fetch","@protobufjs/float","@protobufjs/path","@protobufjs/pool","@protobufjs/utf8","@silvia-odwyer/photon-node","@smithy/core","@smithy/credential-provider-imds","@smithy/fetch-http-handler","@smithy/is-array-buffer","@smithy/node-http-handler","@smithy/signature-v4","@smithy/types","@smithy/util-buffer-from","@smithy/util-utf8","@types/node","@xterm/headless","accepts","agent-base","ajv","ajv-formats","balanced-match","base64-js","bidi-js","bignumber.js","body-parser","bowser","brace-expansion","buffer-equal-constant-time","bytes","call-bind-apply-helpers","call-bound","chalk","content-disposition","content-type","cookie","cookie-signature","cors","cross-spawn","css-tree","data-uri-to-buffer","data-urls","debug","decimal.js","depd","diff","dunder-proto","ecdsa-sig-formatter","ee-first","encodeurl","entities","es-define-property","es-errors","es-object-atoms","escape-html","etag","eventsource","eventsource-parser","express","express-rate-limit","extend","fast-deep-equal","fast-uri","fast-xml-builder","fast-xml-parser","fetch-blob","finalhandler","formdata-polyfill","forwarded","fresh","function-bind","gaxios","gcp-metadata","get-east-asian-width","get-intrinsic","get-proto","glob","google-auth-library","google-logging-utils","gopd","graceful-fs","has-symbols","hasown","highlight.js","hono","hosted-git-info","html-encoding-sniffer","http-errors","http-proxy-agent","https-proxy-agent","iconv-lite","ignore","inherits","ip-address","ipaddr.js","is-potential-custom-element-name","is-promise","isexe","jiti","jose","jsdom","json-bigint","json-schema-to-ts","json-schema-traverse","json-schema-typed","jwa","jws","long","lru-cache","marked","math-intrinsics","mdn-data","media-typer","merge-descriptors","mime-db","mime-types","minimatch","minipass","ms","negotiator","node-domexception","node-fetch","object-assign","object-inspect","on-finished","once","openai","p-retry","parse5","parseurl","partial-json","path-expression-matcher","path-key","path-scurry","path-to-regexp","picomatch","pkce-challenge","proper-lockfile","protobufjs","proxy-addr","proxy-from-env","punycode","qs","range-parser","raw-body","require-from-string","retry","router","safe-buffer","safer-buffer","saxes","semver","send","serve-static","setprototypeof","shebang-command","shebang-regex","side-channel","side-channel-list","side-channel-map","side-channel-weakmap","signal-exit","source-map-js","statuses","strnum","symbol-tree","tldts","tldts-core","toidentifier","tough-cookie","tr46","ts-algebra","tslib","turndown","type-is","typebox","undici","undici-types","unpipe","vary","w3c-xmlserializer","web-streams-polyfill","webidl-conversions","whatwg-mimetype","whatwg-url","which","wrappy","ws","xml-name-validator","xml-naming","xmlchars","yaml","zod","zod-to-json-schema"],"optionalDependencies":{"@mariozechner/clipboard":"0.3.9"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.7.25_1784984398919_0.7790730190314168","host":"s3://npm-registry-packages-npm-production"}},"2026.7.25-2":{"name":"@code-yeongyu/senpi","version":"2026.7.25-2","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.7.25-2","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"senpi":"dist/cli.js"},"dist":{"shasum":"53223ea5faffd3c32498e3dec0dfaaba6f3cd134","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.7.25-2.tgz","fileCount":26508,"integrity":"sha512-QnyQqXn4pNrIY2bwwDne1qGqIIVdw8BUUtfwkOinPxe2dgEb4MVsjuLpWYgOXK26nfpmu6XNwpgeLFVelYYpEA==","signatures":[{"sig":"MEUCIQD/S5eAoIfZ1doGxLR/+LvfEQuBQcCpOHJOHvsaPf4bZwIgd5hhs2PcOlKxeqeKqpBbmIHfB8HEHQUCnFzbHY2ZAII=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.7.25-2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":165514468},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./rpc-entry":{"import":"./dist/rpc-entry.js"}},"gitHead":"0e78c323676d0d7c562eb7a824b5688e8f6de549","scripts":{"dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsgo -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js dist/rpc-entry.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/","build:binary":"npm --prefix ../tui run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm run build && bun build --compile --no-compile-autoload-dotenv --minify --keep-names ./dist/bun/cli.js ./src/utils/image-resize-worker.ts --outfile dist/pi && npm run copy-binary-assets","qa:app-server":"node scripts/qa-app-server/run-all.mjs","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html dist/export-html/ && shx cp src/core/export-html/vendor/*.js dist/export-html/vendor/ && shx cp -r docs dist/ && shx cp -r examples dist/ && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/ && node ../../scripts/copy-pty-native.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cb385a00-0239-4c6e-aeb9-4f5c48eb2124"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.2"},"rimraf":"6.1.2","protobufjs":"7.6.5","@hono/node-server":"2.0.10"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.16.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ms":"*","qs":"*","ws":"8.21.0","ajv":"*","jwa":"*","jws":"*","zod":"*","cors":"*","depd":"*","diff":"8.0.4","etag":"*","glob":"13.0.6","gopd":"*","hono":"*","jiti":"2.7.0","jose":"*","long":"*","once":"*","send":"*","tr46":"*","vary":"*","yaml":"2.9.0","bytes":"*","chalk":"5.6.2","debug":"*","fresh":"*","isexe":"*","jsdom":"29.1.1","retry":"*","saxes":"*","tldts":"*","tslib":"*","which":"*","bowser":"*","cookie":"*","extend":"*","gaxios":"*","hasown":"*","ignore":"7.0.5","marked":"18.0.5","openai":"6.26.0","parse5":"*","router":"*","semver":"7.8.0","strnum":"*","undici":"8.5.0","unpipe":"*","wrappy":"*","accepts":"*","bidi-js":"*","express":"*","mime-db":"*","p-retry":"*","type-is":"*","typebox":"1.1.38","css-tree":"*","ee-first":"*","entities":"*","fast-uri":"*","inherits":"*","mdn-data":"*","minipass":"*","parseurl":"*","path-key":"*","punycode":"*","raw-body":"*","statuses":"*","turndown":"7.2.4","xmlchars":"*","base64-js":"*","data-urls":"*","encodeurl":"*","es-errors":"*","forwarded":"*","get-proto":"*","ipaddr.js":"*","lru-cache":"*","minimatch":"10.2.5","picomatch":"4.0.4","agent-base":"*","call-bound":"*","decimal.js":"*","fetch-blob":"*","iconv-lite":"*","ip-address":"*","is-promise":"*","mime-types":"*","negotiator":"*","node-fetch":"*","protobufjs":"*","proxy-addr":"*","tldts-core":"*","ts-algebra":"*","whatwg-url":"*","xml-naming":"*","@types/node":"*","ajv-formats":"*","body-parser":"*","cross-spawn":"7.0.6","escape-html":"*","eventsource":"*","graceful-fs":"*","has-symbols":"*","http-errors":"*","json-bigint":"*","media-typer":"*","on-finished":"*","path-scurry":"*","safe-buffer":"*","signal-exit":"*","symbol-tree":"*","@babel/types":"*","@smithy/core":"*","bignumber.js":"*","content-type":"*","dunder-proto":"*","finalhandler":"*","gcp-metadata":"*","highlight.js":"10.7.3","partial-json":"0.1.7","range-parser":"*","safer-buffer":"*","serve-static":"*","side-channel":"*","toidentifier":"*","tough-cookie":"*","undici-types":"*","@aws-sdk/core":"*","@babel/parser":"*","@exodus/bytes":"*","@google/genai":"*","@smithy/types":"4.8.0","function-bind":"*","get-intrinsic":"*","object-assign":"*","shebang-regex":"*","source-map-js":"*","@aws-sdk/types":"*","@babel/runtime":"*","balanced-match":"*","object-inspect":"*","path-to-regexp":"*","pkce-challenge":"*","proxy-from-env":"1.1.0","setprototypeof":"*","@xterm/headless":"*","brace-expansion":"*","es-object-atoms":"*","fast-deep-equal":"*","fast-xml-parser":"*","hosted-git-info":"9.0.3","math-intrinsics":"*","proper-lockfile":"4.1.2","shebang-command":"*","whatwg-mimetype":"*","@aws-crypto/util":"*","@protobufjs/path":"*","@protobufjs/pool":"*","@protobufjs/utf8":"*","cookie-signature":"*","fast-xml-builder":"*","http-proxy-agent":"7.0.2","side-channel-map":"*","@anthropic-ai/sdk":"0.91.1","@aws-crypto/crc32":"*","@hono/node-server":"*","@nodable/entities":"*","@protobufjs/fetch":"*","@protobufjs/float":"*","@smithy/util-utf8":"*","formdata-polyfill":"*","https-proxy-agent":"7.0.6","json-schema-to-ts":"*","json-schema-typed":"*","merge-descriptors":"*","node-domexception":"*","side-channel-list":"*","w3c-xmlserializer":"*","@asamuzakjp/nwsapi":"*","@csstools/css-calc":"*","@mixmark-io/domino":"*","@opentelemetry/api":"1.9.0","@protobufjs/base64":"*","data-uri-to-buffer":"*","es-define-property":"*","eventsource-parser":"*","express-rate-limit":"*","webidl-conversions":"*","xml-name-validator":"*","zod-to-json-schema":"*","@bramus/specificity":"*","@protobufjs/codegen":"*","content-disposition":"*","ecdsa-sig-formatter":"*","google-auth-library":"*","require-from-string":"*","@aws-sdk/xml-builder":"*","@mistralai/mistralai":"2.2.6","@mozilla/readability":"0.6.0","@smithy/signature-v4":"*","get-east-asian-width":"1.6.0","google-logging-utils":"*","json-schema-traverse":"*","side-channel-weakmap":"*","web-streams-polyfill":"*","@asamuzakjp/css-color":"*","@aws-crypto/sha256-js":"*","@earendil-works/pi-ai":"^2026.7.25-2","@protobufjs/aspromise":"*","html-encoding-sniffer":"*","@earendil-works/pi-pty":"^2026.7.25-2","@earendil-works/pi-tui":"^2026.7.25-2","@aws-sdk/nested-clients":"*","@csstools/color-helpers":"*","@csstools/css-tokenizer":"*","@mariozechner/clipboard":"*","@smithy/is-array-buffer":"*","call-bind-apply-helpers":"*","path-expression-matcher":"*","@asamuzakjp/dom-selector":"*","@aws-sdk/token-providers":"*","@aws/lambda-invoke-store":"*","@protobufjs/eventemitter":"*","@smithy/util-buffer-from":"*","@modelcontextprotocol/sdk":"1.29.0","@smithy/node-http-handler":"4.7.3","@aws-crypto/sha256-browser":"*","@csstools/css-color-parser":"*","@silvia-odwyer/photon-node":"0.3.4","@smithy/fetch-http-handler":"*","buffer-equal-constant-time":"*","@aws-sdk/util-locate-window":"*","@babel/helper-string-parser":"*","@code-yeongyu/senpi-codemode":"^2026.7.25-2","@aws-sdk/middleware-websocket":"*","@earendil-works/pi-agent-core":"^2026.7.25-2","@asamuzakjp/generational-cache":"*","@aws-crypto/supports-web-crypto":"*","@aws-sdk/client-bedrock-runtime":"3.1048.0","@aws-sdk/middleware-eventstream":"*","@csstools/css-parser-algorithms":"*","@aws-sdk/credential-provider-env":"*","@aws-sdk/credential-provider-ini":"*","@aws-sdk/credential-provider-sso":"*","@smithy/credential-provider-imds":"*","is-potential-custom-element-name":"*","@aws-sdk/credential-provider-http":"*","@aws-sdk/credential-provider-node":"*","@aws-sdk/eventstream-handler-node":"*","@aws-sdk/credential-provider-login":"*","@aws-sdk/signature-v4-multi-region":"*","@babel/helper-validator-identifier":"*","@opentelemetry/semantic-conventions":"*","@aws-sdk/credential-provider-process":"*","@csstools/css-syntax-patches-for-csstree":"*","@aws-sdk/credential-provider-web-identity":"*"},"_hasShrinkwrap":false,"devDependencies":{"shx":"0.4.0","vitest":"4.1.9","@types/ms":"2.1.0","@types/ws":"8.18.1","typescript":"6.0.3","@types/diff":"7.0.2","@types/node":"25.9.1","@types/jsdom":"28.0.3","@types/semver":"7.7.1","@types/turndown":"5.0.6","@types/picomatch":"4.0.3","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@anthropic-ai/sdk","@asamuzakjp/css-color","@asamuzakjp/dom-selector","@asamuzakjp/generational-cache","@asamuzakjp/nwsapi","@aws-crypto/crc32","@aws-crypto/sha256-browser","@aws-crypto/sha256-js","@aws-crypto/supports-web-crypto","@aws-crypto/util","@aws-sdk/client-bedrock-runtime","@aws-sdk/core","@aws-sdk/credential-provider-env","@aws-sdk/credential-provider-http","@aws-sdk/credential-provider-ini","@aws-sdk/credential-provider-login","@aws-sdk/credential-provider-node","@aws-sdk/credential-provider-process","@aws-sdk/credential-provider-sso","@aws-sdk/credential-provider-web-identity","@aws-sdk/eventstream-handler-node","@aws-sdk/middleware-eventstream","@aws-sdk/middleware-websocket","@aws-sdk/nested-clients","@aws-sdk/signature-v4-multi-region","@aws-sdk/token-providers","@aws-sdk/types","@aws-sdk/util-locate-window","@aws-sdk/xml-builder","@aws/lambda-invoke-store","@babel/helper-string-parser","@babel/helper-validator-identifier","@babel/parser","@babel/runtime","@babel/types","@bramus/specificity","@code-yeongyu/senpi-codemode","@csstools/color-helpers","@csstools/css-calc","@csstools/css-color-parser","@csstools/css-parser-algorithms","@csstools/css-syntax-patches-for-csstree","@csstools/css-tokenizer","@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-pty","@earendil-works/pi-tui","@exodus/bytes","@google/genai","@hono/node-server","@mariozechner/clipboard","@mistralai/mistralai","@mixmark-io/domino","@modelcontextprotocol/sdk","@mozilla/readability","@nodable/entities","@opentelemetry/api","@opentelemetry/semantic-conventions","@protobufjs/aspromise","@protobufjs/base64","@protobufjs/codegen","@protobufjs/eventemitter","@protobufjs/fetch","@protobufjs/float","@protobufjs/path","@protobufjs/pool","@protobufjs/utf8","@silvia-odwyer/photon-node","@smithy/core","@smithy/credential-provider-imds","@smithy/fetch-http-handler","@smithy/is-array-buffer","@smithy/node-http-handler","@smithy/signature-v4","@smithy/types","@smithy/util-buffer-from","@smithy/util-utf8","@types/node","@xterm/headless","accepts","agent-base","ajv","ajv-formats","balanced-match","base64-js","bidi-js","bignumber.js","body-parser","bowser","brace-expansion","buffer-equal-constant-time","bytes","call-bind-apply-helpers","call-bound","chalk","content-disposition","content-type","cookie","cookie-signature","cors","cross-spawn","css-tree","data-uri-to-buffer","data-urls","debug","decimal.js","depd","diff","dunder-proto","ecdsa-sig-formatter","ee-first","encodeurl","entities","es-define-property","es-errors","es-object-atoms","escape-html","etag","eventsource","eventsource-parser","express","express-rate-limit","extend","fast-deep-equal","fast-uri","fast-xml-builder","fast-xml-parser","fetch-blob","finalhandler","formdata-polyfill","forwarded","fresh","function-bind","gaxios","gcp-metadata","get-east-asian-width","get-intrinsic","get-proto","glob","google-auth-library","google-logging-utils","gopd","graceful-fs","has-symbols","hasown","highlight.js","hono","hosted-git-info","html-encoding-sniffer","http-errors","http-proxy-agent","https-proxy-agent","iconv-lite","ignore","inherits","ip-address","ipaddr.js","is-potential-custom-element-name","is-promise","isexe","jiti","jose","jsdom","json-bigint","json-schema-to-ts","json-schema-traverse","json-schema-typed","jwa","jws","long","lru-cache","marked","math-intrinsics","mdn-data","media-typer","merge-descriptors","mime-db","mime-types","minimatch","minipass","ms","negotiator","node-domexception","node-fetch","object-assign","object-inspect","on-finished","once","openai","p-retry","parse5","parseurl","partial-json","path-expression-matcher","path-key","path-scurry","path-to-regexp","picomatch","pkce-challenge","proper-lockfile","protobufjs","proxy-addr","proxy-from-env","punycode","qs","range-parser","raw-body","require-from-string","retry","router","safe-buffer","safer-buffer","saxes","semver","send","serve-static","setprototypeof","shebang-command","shebang-regex","side-channel","side-channel-list","side-channel-map","side-channel-weakmap","signal-exit","source-map-js","statuses","strnum","symbol-tree","tldts","tldts-core","toidentifier","tough-cookie","tr46","ts-algebra","tslib","turndown","type-is","typebox","undici","undici-types","unpipe","vary","w3c-xmlserializer","web-streams-polyfill","webidl-conversions","whatwg-mimetype","whatwg-url","which","wrappy","ws","xml-name-validator","xml-naming","xmlchars","yaml","zod","zod-to-json-schema"],"optionalDependencies":{"@mariozechner/clipboard":"0.3.9"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.7.25-2_1785007630817_0.8204036893223574","host":"s3://npm-registry-packages-npm-production"}},"2026.7.26":{"name":"@code-yeongyu/senpi","version":"2026.7.26","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.7.26","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"senpi":"dist/cli.js"},"dist":{"shasum":"d4c74f184284b4ee2c910abb2ac6862b3de85861","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.7.26.tgz","fileCount":26499,"integrity":"sha512-/LWQ+e1Y4S15s2alTxSlwTUbLqRuaBK81PgXI2RwPDJZUkhSs5CZu9OPy8YNDUVRkc6FkvyBA6IbY0oQx6vg1Q==","signatures":[{"sig":"MEUCIGMgK4+dTQjJH+ovgRBuD3vk84TavET1MGwWUunZDsLsAiEA8n65icnExeHGtKW91Zoq6XU6isXG5hRhn1/BADwGcMs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.7.26","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":165578591},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./rpc-entry":{"import":"./dist/rpc-entry.js"}},"gitHead":"7c5162e477063b8b128eb16f5dc23419f436dd5c","scripts":{"dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsgo -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js dist/rpc-entry.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/","build:binary":"npm --prefix ../tui run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm run build && bun build --compile --compile-autoload-package-json --external=css-tree --no-compile-autoload-dotenv --minify --keep-names ./dist/bun/cli.js ./src/utils/image-resize-worker.ts --outfile dist/pi && npm run copy-binary-assets","qa:app-server":"node scripts/qa-app-server/run-all.mjs","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/export-html/ && shx cp -r docs dist/ && shx cp -r examples dist/ && shx mkdir -p dist/node_modules && shx cp -r ../../node_modules/css-tree ../../node_modules/mdn-data ../../node_modules/source-map-js dist/node_modules/ && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/ && shx mkdir -p dist/native/darwin dist/native/win32 && shx cp -r ../../packages/tui/native/darwin/prebuilds dist/native/darwin/ && shx cp -r ../../packages/tui/native/win32/prebuilds dist/native/win32/ && node ../../scripts/copy-pty-native.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ea548fc8-dac4-4dec-a439-6f4fa3870309"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.2"},"rimraf":"6.1.2","protobufjs":"7.6.5","@hono/node-server":"2.0.10"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.16.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ms":"*","qs":"*","ws":"8.21.0","ajv":"*","jwa":"*","jws":"*","zod":"*","cors":"*","depd":"*","diff":"8.0.4","etag":"*","glob":"13.0.6","gopd":"*","hono":"*","jiti":"2.7.0","jose":"*","long":"*","once":"*","send":"*","tr46":"*","vary":"*","yaml":"2.9.0","bytes":"*","chalk":"5.6.2","debug":"*","fresh":"*","isexe":"*","jsdom":"29.1.1","retry":"*","saxes":"*","tldts":"*","tslib":"*","which":"*","bowser":"*","cookie":"*","extend":"*","gaxios":"*","hasown":"*","ignore":"7.0.5","marked":"18.0.5","openai":"6.26.0","parse5":"*","router":"*","semver":"7.8.0","strnum":"*","undici":"8.5.0","unpipe":"*","wrappy":"*","accepts":"*","bidi-js":"*","express":"*","mime-db":"*","p-retry":"*","type-is":"*","typebox":"1.1.38","css-tree":"*","ee-first":"*","entities":"*","fast-uri":"*","inherits":"*","mdn-data":"*","minipass":"*","parseurl":"*","path-key":"*","punycode":"*","raw-body":"*","statuses":"*","turndown":"7.2.4","xmlchars":"*","base64-js":"*","data-urls":"*","encodeurl":"*","es-errors":"*","forwarded":"*","get-proto":"*","ipaddr.js":"*","lru-cache":"*","minimatch":"10.2.5","picomatch":"4.0.4","agent-base":"*","call-bound":"*","decimal.js":"*","fetch-blob":"*","iconv-lite":"*","ip-address":"*","is-promise":"*","mime-types":"*","negotiator":"*","node-fetch":"*","protobufjs":"*","proxy-addr":"*","tldts-core":"*","ts-algebra":"*","whatwg-url":"*","xml-naming":"*","@types/node":"*","ajv-formats":"*","body-parser":"*","cross-spawn":"7.0.6","escape-html":"*","eventsource":"*","graceful-fs":"*","has-symbols":"*","http-errors":"*","json-bigint":"*","media-typer":"*","on-finished":"*","path-scurry":"*","safe-buffer":"*","signal-exit":"*","symbol-tree":"*","@babel/types":"*","@smithy/core":"*","bignumber.js":"*","content-type":"*","dunder-proto":"*","finalhandler":"*","gcp-metadata":"*","highlight.js":"10.7.3","partial-json":"0.1.7","range-parser":"*","safer-buffer":"*","serve-static":"*","side-channel":"*","toidentifier":"*","tough-cookie":"*","undici-types":"*","@aws-sdk/core":"*","@babel/parser":"*","@exodus/bytes":"*","@google/genai":"*","@smithy/types":"4.8.0","function-bind":"*","get-intrinsic":"*","object-assign":"*","shebang-regex":"*","source-map-js":"*","@aws-sdk/types":"*","@babel/runtime":"*","balanced-match":"*","object-inspect":"*","path-to-regexp":"*","pkce-challenge":"*","proxy-from-env":"1.1.0","setprototypeof":"*","@xterm/headless":"*","brace-expansion":"*","es-object-atoms":"*","fast-deep-equal":"*","fast-xml-parser":"*","hosted-git-info":"9.0.3","math-intrinsics":"*","proper-lockfile":"4.1.2","shebang-command":"*","whatwg-mimetype":"*","@aws-crypto/util":"*","@protobufjs/path":"*","@protobufjs/pool":"*","@protobufjs/utf8":"*","cookie-signature":"*","fast-xml-builder":"*","http-proxy-agent":"7.0.2","side-channel-map":"*","@anthropic-ai/sdk":"0.91.1","@aws-crypto/crc32":"*","@hono/node-server":"*","@nodable/entities":"*","@protobufjs/fetch":"*","@protobufjs/float":"*","@smithy/util-utf8":"*","formdata-polyfill":"*","https-proxy-agent":"7.0.6","json-schema-to-ts":"*","json-schema-typed":"*","merge-descriptors":"*","node-domexception":"*","side-channel-list":"*","w3c-xmlserializer":"*","@asamuzakjp/nwsapi":"*","@csstools/css-calc":"*","@mixmark-io/domino":"*","@opentelemetry/api":"1.9.0","@protobufjs/base64":"*","data-uri-to-buffer":"*","es-define-property":"*","eventsource-parser":"*","express-rate-limit":"*","webidl-conversions":"*","xml-name-validator":"*","zod-to-json-schema":"*","@bramus/specificity":"*","@protobufjs/codegen":"*","content-disposition":"*","ecdsa-sig-formatter":"*","google-auth-library":"*","require-from-string":"*","@aws-sdk/xml-builder":"*","@mistralai/mistralai":"2.2.6","@mozilla/readability":"0.6.0","@smithy/signature-v4":"*","get-east-asian-width":"1.6.0","google-logging-utils":"*","json-schema-traverse":"*","side-channel-weakmap":"*","web-streams-polyfill":"*","@asamuzakjp/css-color":"*","@aws-crypto/sha256-js":"*","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@^2026.7.26","@protobufjs/aspromise":"*","html-encoding-sniffer":"*","@earendil-works/pi-pty":"npm:@code-yeongyu/senpi-pty@^2026.7.26","@earendil-works/pi-tui":"npm:@code-yeongyu/senpi-tui@^2026.7.26","@aws-sdk/nested-clients":"*","@csstools/color-helpers":"*","@csstools/css-tokenizer":"*","@mariozechner/clipboard":"*","@smithy/is-array-buffer":"*","call-bind-apply-helpers":"*","path-expression-matcher":"*","@asamuzakjp/dom-selector":"*","@aws-sdk/token-providers":"*","@aws/lambda-invoke-store":"*","@protobufjs/eventemitter":"*","@smithy/util-buffer-from":"*","@modelcontextprotocol/sdk":"1.29.0","@smithy/node-http-handler":"4.7.3","@aws-crypto/sha256-browser":"*","@csstools/css-color-parser":"*","@silvia-odwyer/photon-node":"0.3.4","@smithy/fetch-http-handler":"*","buffer-equal-constant-time":"*","@aws-sdk/util-locate-window":"*","@babel/helper-string-parser":"*","@code-yeongyu/senpi-codemode":"^2026.7.26","@aws-sdk/middleware-websocket":"*","@earendil-works/pi-agent-core":"npm:@code-yeongyu/senpi-agent-core@^2026.7.26","@asamuzakjp/generational-cache":"*","@aws-crypto/supports-web-crypto":"*","@aws-sdk/client-bedrock-runtime":"3.1048.0","@aws-sdk/middleware-eventstream":"*","@csstools/css-parser-algorithms":"*","@aws-sdk/credential-provider-env":"*","@aws-sdk/credential-provider-ini":"*","@aws-sdk/credential-provider-sso":"*","@smithy/credential-provider-imds":"*","is-potential-custom-element-name":"*","@aws-sdk/credential-provider-http":"*","@aws-sdk/credential-provider-node":"*","@aws-sdk/eventstream-handler-node":"*","@aws-sdk/credential-provider-login":"*","@aws-sdk/signature-v4-multi-region":"*","@babel/helper-validator-identifier":"*","@opentelemetry/semantic-conventions":"*","@aws-sdk/credential-provider-process":"*","@csstools/css-syntax-patches-for-csstree":"*","@aws-sdk/credential-provider-web-identity":"*"},"_hasShrinkwrap":false,"devDependencies":{"shx":"0.4.0","vitest":"4.1.9","@types/ms":"2.1.0","@types/ws":"8.18.1","typescript":"6.0.3","@types/diff":"7.0.2","@types/node":"25.9.1","@types/jsdom":"28.0.3","@types/semver":"7.7.1","@types/turndown":"5.0.6","@types/picomatch":"4.0.3","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@anthropic-ai/sdk","@asamuzakjp/css-color","@asamuzakjp/dom-selector","@asamuzakjp/generational-cache","@asamuzakjp/nwsapi","@aws-crypto/crc32","@aws-crypto/sha256-browser","@aws-crypto/sha256-js","@aws-crypto/supports-web-crypto","@aws-crypto/util","@aws-sdk/client-bedrock-runtime","@aws-sdk/core","@aws-sdk/credential-provider-env","@aws-sdk/credential-provider-http","@aws-sdk/credential-provider-ini","@aws-sdk/credential-provider-login","@aws-sdk/credential-provider-node","@aws-sdk/credential-provider-process","@aws-sdk/credential-provider-sso","@aws-sdk/credential-provider-web-identity","@aws-sdk/eventstream-handler-node","@aws-sdk/middleware-eventstream","@aws-sdk/middleware-websocket","@aws-sdk/nested-clients","@aws-sdk/signature-v4-multi-region","@aws-sdk/token-providers","@aws-sdk/types","@aws-sdk/util-locate-window","@aws-sdk/xml-builder","@aws/lambda-invoke-store","@babel/helper-string-parser","@babel/helper-validator-identifier","@babel/parser","@babel/runtime","@babel/types","@bramus/specificity","@code-yeongyu/senpi-codemode","@csstools/color-helpers","@csstools/css-calc","@csstools/css-color-parser","@csstools/css-parser-algorithms","@csstools/css-syntax-patches-for-csstree","@csstools/css-tokenizer","@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-pty","@earendil-works/pi-tui","@exodus/bytes","@google/genai","@hono/node-server","@mariozechner/clipboard","@mistralai/mistralai","@mixmark-io/domino","@modelcontextprotocol/sdk","@mozilla/readability","@nodable/entities","@opentelemetry/api","@opentelemetry/semantic-conventions","@protobufjs/aspromise","@protobufjs/base64","@protobufjs/codegen","@protobufjs/eventemitter","@protobufjs/fetch","@protobufjs/float","@protobufjs/path","@protobufjs/pool","@protobufjs/utf8","@silvia-odwyer/photon-node","@smithy/core","@smithy/credential-provider-imds","@smithy/fetch-http-handler","@smithy/is-array-buffer","@smithy/node-http-handler","@smithy/signature-v4","@smithy/types","@smithy/util-buffer-from","@smithy/util-utf8","@types/node","@xterm/headless","accepts","agent-base","ajv","ajv-formats","balanced-match","base64-js","bidi-js","bignumber.js","body-parser","bowser","brace-expansion","buffer-equal-constant-time","bytes","call-bind-apply-helpers","call-bound","chalk","content-disposition","content-type","cookie","cookie-signature","cors","cross-spawn","css-tree","data-uri-to-buffer","data-urls","debug","decimal.js","depd","diff","dunder-proto","ecdsa-sig-formatter","ee-first","encodeurl","entities","es-define-property","es-errors","es-object-atoms","escape-html","etag","eventsource","eventsource-parser","express","express-rate-limit","extend","fast-deep-equal","fast-uri","fast-xml-builder","fast-xml-parser","fetch-blob","finalhandler","formdata-polyfill","forwarded","fresh","function-bind","gaxios","gcp-metadata","get-east-asian-width","get-intrinsic","get-proto","glob","google-auth-library","google-logging-utils","gopd","graceful-fs","has-symbols","hasown","highlight.js","hono","hosted-git-info","html-encoding-sniffer","http-errors","http-proxy-agent","https-proxy-agent","iconv-lite","ignore","inherits","ip-address","ipaddr.js","is-potential-custom-element-name","is-promise","isexe","jiti","jose","jsdom","json-bigint","json-schema-to-ts","json-schema-traverse","json-schema-typed","jwa","jws","long","lru-cache","marked","math-intrinsics","mdn-data","media-typer","merge-descriptors","mime-db","mime-types","minimatch","minipass","ms","negotiator","node-domexception","node-fetch","object-assign","object-inspect","on-finished","once","openai","p-retry","parse5","parseurl","partial-json","path-expression-matcher","path-key","path-scurry","path-to-regexp","picomatch","pkce-challenge","proper-lockfile","protobufjs","proxy-addr","proxy-from-env","punycode","qs","range-parser","raw-body","require-from-string","retry","router","safe-buffer","safer-buffer","saxes","semver","send","serve-static","setprototypeof","shebang-command","shebang-regex","side-channel","side-channel-list","side-channel-map","side-channel-weakmap","signal-exit","source-map-js","statuses","strnum","symbol-tree","tldts","tldts-core","toidentifier","tough-cookie","tr46","ts-algebra","tslib","turndown","type-is","typebox","undici","undici-types","unpipe","vary","w3c-xmlserializer","web-streams-polyfill","webidl-conversions","whatwg-mimetype","whatwg-url","which","wrappy","ws","xml-name-validator","xml-naming","xmlchars","yaml","zod","zod-to-json-schema"],"optionalDependencies":{"@mariozechner/clipboard":"0.3.9"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.7.26_1785090202079_0.9801402270164001","host":"s3://npm-registry-packages-npm-production"}},"2026.7.28":{"name":"@code-yeongyu/senpi","version":"2026.7.28","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.7.28","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"senpi":"dist/cli.js"},"dist":{"shasum":"d1e685cd527508b7068c786ec4f6864dcb517f36","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.7.28.tgz","fileCount":26805,"integrity":"sha512-KJ9gilYcyPZahPT1dhErXPYR+Dq88DpeMOLQHCxoOSAr8DhI0ykxFPL+/D5hXnQPCcU/tB583ah0gBbfIHEOUg==","signatures":[{"sig":"MEQCIDUE86Vdl0bJuwPGz24awRTY6im6C/zer/TWvjSEJce/AiB6uKGUeIZCPqM9wFZ8dWGFBHbBn99BeGZSTJypXv9a9A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.7.28","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":445786547},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./rpc-entry":{"import":"./dist/rpc-entry.js"}},"gitHead":"8143aa15c3d9672d93fbe454e1708159804a1e6a","scripts":{"dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsgo -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js dist/rpc-entry.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/","build:binary":"npm --prefix ../tui run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm run build && bun build --compile --compile-autoload-package-json --external=css-tree --no-compile-autoload-dotenv --minify --keep-names ./dist/bun/cli.js ./src/utils/image-resize-worker.ts --outfile dist/pi && npm run copy-binary-assets","qa:app-server":"node scripts/qa-app-server/run-all.mjs","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/export-html/ && shx cp -r docs dist/ && shx cp -r examples dist/ && shx mkdir -p dist/node_modules && shx cp -r ../../node_modules/css-tree ../../node_modules/mdn-data ../../node_modules/source-map-js dist/node_modules/ && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/ && shx mkdir -p dist/native/darwin dist/native/win32 && shx cp -r ../../packages/tui/native/darwin/prebuilds dist/native/darwin/ && shx cp -r ../../packages/tui/native/win32/prebuilds dist/native/win32/ && node ../../scripts/copy-pty-native.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ea548fc8-dac4-4dec-a439-6f4fa3870309"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.2"},"rimraf":"6.1.2","protobufjs":"7.6.5","@hono/node-server":"2.0.10"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.16.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ms":"*","qs":"*","ws":"8.21.0","ajv":"*","jwa":"*","jws":"*","zod":"4.4.3","cors":"*","depd":"*","diff":"8.0.4","etag":"*","glob":"13.0.6","gopd":"*","hono":"*","jiti":"2.7.0","jose":"*","long":"*","once":"*","send":"*","tr46":"*","vary":"*","yaml":"2.9.0","bytes":"*","chalk":"5.6.2","debug":"*","fresh":"*","isexe":"*","jsdom":"29.1.1","retry":"*","saxes":"*","tldts":"*","tslib":"*","which":"*","bowser":"*","cookie":"*","extend":"*","gaxios":"*","hasown":"*","ignore":"7.0.5","marked":"18.0.5","openai":"6.26.0","parse5":"*","router":"*","semver":"7.8.0","strnum":"*","undici":"8.5.0","unpipe":"*","wrappy":"*","accepts":"*","bidi-js":"*","express":"*","mime-db":"*","p-retry":"*","type-is":"*","typebox":"1.1.38","css-tree":"*","ee-first":"*","entities":"*","fast-uri":"*","inherits":"*","mdn-data":"*","minipass":"*","parseurl":"*","path-key":"*","punycode":"*","raw-body":"*","statuses":"*","turndown":"7.2.4","xmlchars":"*","base64-js":"*","data-urls":"*","encodeurl":"*","es-errors":"*","forwarded":"*","get-proto":"*","ipaddr.js":"*","lru-cache":"*","minimatch":"10.2.5","picomatch":"4.0.4","agent-base":"*","call-bound":"*","decimal.js":"*","fetch-blob":"*","iconv-lite":"*","ip-address":"*","is-promise":"*","mime-types":"*","negotiator":"*","node-fetch":"*","protobufjs":"*","proxy-addr":"*","tldts-core":"*","ts-algebra":"*","whatwg-url":"*","xml-naming":"*","@types/node":"*","ajv-formats":"*","body-parser":"*","cross-spawn":"7.0.6","escape-html":"*","eventsource":"*","graceful-fs":"*","has-symbols":"*","http-errors":"*","json-bigint":"*","media-typer":"*","on-finished":"*","path-scurry":"*","safe-buffer":"*","signal-exit":"*","symbol-tree":"*","@babel/types":"*","@smithy/core":"*","bignumber.js":"*","content-type":"*","dunder-proto":"*","finalhandler":"*","gcp-metadata":"*","highlight.js":"10.7.3","partial-json":"0.1.7","range-parser":"*","safer-buffer":"*","serve-static":"*","side-channel":"*","toidentifier":"*","tough-cookie":"*","undici-types":"*","@aws-sdk/core":"*","@babel/parser":"*","@exodus/bytes":"*","@google/genai":"*","@smithy/types":"4.8.0","function-bind":"*","get-intrinsic":"*","object-assign":"*","shebang-regex":"*","source-map-js":"*","@aws-sdk/types":"*","@babel/runtime":"*","balanced-match":"*","object-inspect":"*","path-to-regexp":"*","pkce-challenge":"*","proxy-from-env":"1.1.0","setprototypeof":"*","@xterm/headless":"*","brace-expansion":"*","es-object-atoms":"*","fast-deep-equal":"*","fast-xml-parser":"*","hosted-git-info":"9.0.3","math-intrinsics":"*","proper-lockfile":"4.1.2","shebang-command":"*","whatwg-mimetype":"*","@aws-crypto/util":"*","@protobufjs/path":"*","@protobufjs/pool":"*","@protobufjs/utf8":"*","cookie-signature":"*","fast-xml-builder":"*","http-proxy-agent":"7.0.2","side-channel-map":"*","@anthropic-ai/sdk":"0.91.1","@aws-crypto/crc32":"*","@hono/node-server":"*","@nodable/entities":"*","@protobufjs/fetch":"*","@protobufjs/float":"*","@smithy/util-utf8":"*","formdata-polyfill":"*","https-proxy-agent":"7.0.6","json-schema-to-ts":"*","json-schema-typed":"*","merge-descriptors":"*","node-domexception":"*","side-channel-list":"*","w3c-xmlserializer":"*","@asamuzakjp/nwsapi":"*","@csstools/css-calc":"*","@mixmark-io/domino":"*","@opentelemetry/api":"1.9.0","@protobufjs/base64":"*","data-uri-to-buffer":"*","es-define-property":"*","eventsource-parser":"*","express-rate-limit":"*","webidl-conversions":"*","xml-name-validator":"*","zod-to-json-schema":"*","@bramus/specificity":"*","@protobufjs/codegen":"*","content-disposition":"*","ecdsa-sig-formatter":"*","google-auth-library":"*","require-from-string":"*","@aws-sdk/xml-builder":"*","@mistralai/mistralai":"2.2.6","@mozilla/readability":"0.6.0","@smithy/signature-v4":"*","get-east-asian-width":"1.6.0","google-logging-utils":"*","json-schema-traverse":"*","side-channel-weakmap":"*","web-streams-polyfill":"*","@asamuzakjp/css-color":"*","@aws-crypto/sha256-js":"*","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@^2026.7.28","@protobufjs/aspromise":"*","html-encoding-sniffer":"*","@earendil-works/pi-pty":"npm:@code-yeongyu/senpi-pty@^2026.7.28","@earendil-works/pi-tui":"npm:@code-yeongyu/senpi-tui@^2026.7.28","@aws-sdk/nested-clients":"*","@csstools/color-helpers":"*","@csstools/css-tokenizer":"*","@mariozechner/clipboard":"*","@smithy/is-array-buffer":"*","call-bind-apply-helpers":"*","path-expression-matcher":"*","@asamuzakjp/dom-selector":"*","@aws-sdk/token-providers":"*","@aws/lambda-invoke-store":"*","@protobufjs/eventemitter":"*","@smithy/util-buffer-from":"*","@modelcontextprotocol/sdk":"1.29.0","@smithy/node-http-handler":"4.7.3","@aws-crypto/sha256-browser":"*","@csstools/css-color-parser":"*","@silvia-odwyer/photon-node":"0.3.4","@smithy/fetch-http-handler":"*","buffer-equal-constant-time":"*","@aws-sdk/util-locate-window":"*","@babel/helper-string-parser":"*","@code-yeongyu/senpi-codemode":"^2026.7.28","@aws-sdk/middleware-websocket":"*","@earendil-works/pi-agent-core":"npm:@code-yeongyu/senpi-agent-core@^2026.7.28","@anthropic-ai/claude-agent-sdk":"0.3.220","@asamuzakjp/generational-cache":"*","@aws-crypto/supports-web-crypto":"*","@aws-sdk/client-bedrock-runtime":"3.1048.0","@aws-sdk/middleware-eventstream":"*","@csstools/css-parser-algorithms":"*","@aws-sdk/credential-provider-env":"*","@aws-sdk/credential-provider-ini":"*","@aws-sdk/credential-provider-sso":"*","@smithy/credential-provider-imds":"*","is-potential-custom-element-name":"*","@aws-sdk/credential-provider-http":"*","@aws-sdk/credential-provider-node":"*","@aws-sdk/eventstream-handler-node":"*","@aws-sdk/credential-provider-login":"*","@aws-sdk/signature-v4-multi-region":"*","@babel/helper-validator-identifier":"*","@opentelemetry/semantic-conventions":"*","@aws-sdk/credential-provider-process":"*","@csstools/css-syntax-patches-for-csstree":"*","@aws-sdk/credential-provider-web-identity":"*"},"_hasShrinkwrap":false,"devDependencies":{"shx":"0.4.0","vitest":"4.1.9","@types/ms":"2.1.0","@types/ws":"8.18.1","typescript":"6.0.3","@types/diff":"7.0.2","@types/node":"25.9.1","@types/jsdom":"28.0.3","@types/semver":"7.7.1","@types/turndown":"5.0.6","@types/picomatch":"4.0.3","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@anthropic-ai/claude-agent-sdk","@anthropic-ai/sdk","@asamuzakjp/css-color","@asamuzakjp/dom-selector","@asamuzakjp/generational-cache","@asamuzakjp/nwsapi","@aws-crypto/crc32","@aws-crypto/sha256-browser","@aws-crypto/sha256-js","@aws-crypto/supports-web-crypto","@aws-crypto/util","@aws-sdk/client-bedrock-runtime","@aws-sdk/core","@aws-sdk/credential-provider-env","@aws-sdk/credential-provider-http","@aws-sdk/credential-provider-ini","@aws-sdk/credential-provider-login","@aws-sdk/credential-provider-node","@aws-sdk/credential-provider-process","@aws-sdk/credential-provider-sso","@aws-sdk/credential-provider-web-identity","@aws-sdk/eventstream-handler-node","@aws-sdk/middleware-eventstream","@aws-sdk/middleware-websocket","@aws-sdk/nested-clients","@aws-sdk/signature-v4-multi-region","@aws-sdk/token-providers","@aws-sdk/types","@aws-sdk/util-locate-window","@aws-sdk/xml-builder","@aws/lambda-invoke-store","@babel/helper-string-parser","@babel/helper-validator-identifier","@babel/parser","@babel/runtime","@babel/types","@bramus/specificity","@code-yeongyu/senpi-codemode","@csstools/color-helpers","@csstools/css-calc","@csstools/css-color-parser","@csstools/css-parser-algorithms","@csstools/css-syntax-patches-for-csstree","@csstools/css-tokenizer","@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-pty","@earendil-works/pi-tui","@exodus/bytes","@google/genai","@hono/node-server","@mariozechner/clipboard","@mistralai/mistralai","@mixmark-io/domino","@modelcontextprotocol/sdk","@mozilla/readability","@nodable/entities","@opentelemetry/api","@opentelemetry/semantic-conventions","@protobufjs/aspromise","@protobufjs/base64","@protobufjs/codegen","@protobufjs/eventemitter","@protobufjs/fetch","@protobufjs/float","@protobufjs/path","@protobufjs/pool","@protobufjs/utf8","@silvia-odwyer/photon-node","@smithy/core","@smithy/credential-provider-imds","@smithy/fetch-http-handler","@smithy/is-array-buffer","@smithy/node-http-handler","@smithy/signature-v4","@smithy/types","@smithy/util-buffer-from","@smithy/util-utf8","@types/node","@xterm/headless","accepts","agent-base","ajv","ajv-formats","balanced-match","base64-js","bidi-js","bignumber.js","body-parser","bowser","brace-expansion","buffer-equal-constant-time","bytes","call-bind-apply-helpers","call-bound","chalk","content-disposition","content-type","cookie","cookie-signature","cors","cross-spawn","css-tree","data-uri-to-buffer","data-urls","debug","decimal.js","depd","diff","dunder-proto","ecdsa-sig-formatter","ee-first","encodeurl","entities","es-define-property","es-errors","es-object-atoms","escape-html","etag","eventsource","eventsource-parser","express","express-rate-limit","extend","fast-deep-equal","fast-uri","fast-xml-builder","fast-xml-parser","fetch-blob","finalhandler","formdata-polyfill","forwarded","fresh","function-bind","gaxios","gcp-metadata","get-east-asian-width","get-intrinsic","get-proto","glob","google-auth-library","google-logging-utils","gopd","graceful-fs","has-symbols","hasown","highlight.js","hono","hosted-git-info","html-encoding-sniffer","http-errors","http-proxy-agent","https-proxy-agent","iconv-lite","ignore","inherits","ip-address","ipaddr.js","is-potential-custom-element-name","is-promise","isexe","jiti","jose","jsdom","json-bigint","json-schema-to-ts","json-schema-traverse","json-schema-typed","jwa","jws","long","lru-cache","marked","math-intrinsics","mdn-data","media-typer","merge-descriptors","mime-db","mime-types","minimatch","minipass","ms","negotiator","node-domexception","node-fetch","object-assign","object-inspect","on-finished","once","openai","p-retry","parse5","parseurl","partial-json","path-expression-matcher","path-key","path-scurry","path-to-regexp","picomatch","pkce-challenge","proper-lockfile","protobufjs","proxy-addr","proxy-from-env","punycode","qs","range-parser","raw-body","require-from-string","retry","router","safe-buffer","safer-buffer","saxes","semver","send","serve-static","setprototypeof","shebang-command","shebang-regex","side-channel","side-channel-list","side-channel-map","side-channel-weakmap","signal-exit","source-map-js","statuses","strnum","symbol-tree","tldts","tldts-core","toidentifier","tough-cookie","tr46","ts-algebra","tslib","turndown","type-is","typebox","undici","undici-types","unpipe","vary","w3c-xmlserializer","web-streams-polyfill","webidl-conversions","whatwg-mimetype","whatwg-url","which","wrappy","ws","xml-name-validator","xml-naming","xmlchars","yaml","zod","zod-to-json-schema"],"optionalDependencies":{"@mariozechner/clipboard":"0.3.9"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.7.28_1785248820593_0.3537850579755848","host":"s3://npm-registry-packages-npm-production"}},"2026.7.28-2":{"name":"@code-yeongyu/senpi","version":"2026.7.28-2","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.7.28-2","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"senpi":"dist/cli.js"},"dist":{"shasum":"22e15cbec61174f4e950d867ec28076424ffb816","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.7.28-2.tgz","fileCount":26805,"integrity":"sha512-AmXZwRe2ou5ttjo6h2r5O23bpEPVAqlGpoHfPRBEEMEPSR3gAwRD9AWAbhjTQkvqhhcMKEIk57YwdZWe9G6HPA==","signatures":[{"sig":"MEUCIQDjeqhDRhF+XJcrHhm/Q77oEHuXRqzENfASc2dAJJG6xAIgT0NRty+vSL1LzWs4HDvZVv40f08WHd+KR+rK77oH8Cw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.7.28-2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":445803745},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./rpc-entry":{"import":"./dist/rpc-entry.js"}},"gitHead":"4dea9eaf9b1f8192971262d00648872ba4f1af0f","scripts":{"dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsgo -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js dist/rpc-entry.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/","build:binary":"npm --prefix ../tui run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm run build && bun build --compile --compile-autoload-package-json --external=css-tree --no-compile-autoload-dotenv --minify --keep-names ./dist/bun/cli.js ./src/utils/image-resize-worker.ts --outfile dist/pi && npm run copy-binary-assets","qa:app-server":"node scripts/qa-app-server/run-all.mjs","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/export-html/ && shx cp -r docs dist/ && shx cp -r examples dist/ && shx mkdir -p dist/node_modules && shx cp -r ../../node_modules/css-tree ../../node_modules/mdn-data ../../node_modules/source-map-js dist/node_modules/ && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/ && shx mkdir -p dist/native/darwin dist/native/win32 && shx cp -r ../../packages/tui/native/darwin/prebuilds dist/native/darwin/ && shx cp -r ../../packages/tui/native/win32/prebuilds dist/native/win32/ && node ../../scripts/copy-pty-native.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ea548fc8-dac4-4dec-a439-6f4fa3870309"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.2"},"rimraf":"6.1.2","protobufjs":"7.6.5","@hono/node-server":"2.0.10"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.16.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ms":"*","qs":"*","ws":"8.21.0","ajv":"*","jwa":"*","jws":"*","zod":"4.4.3","cors":"*","depd":"*","diff":"8.0.4","etag":"*","glob":"13.0.6","gopd":"*","hono":"*","jiti":"2.7.0","jose":"*","long":"*","once":"*","send":"*","tr46":"*","vary":"*","yaml":"2.9.0","bytes":"*","chalk":"5.6.2","debug":"*","fresh":"*","isexe":"*","jsdom":"29.1.1","retry":"*","saxes":"*","tldts":"*","tslib":"*","which":"*","bowser":"*","cookie":"*","extend":"*","gaxios":"*","hasown":"*","ignore":"7.0.5","marked":"18.0.5","openai":"6.26.0","parse5":"*","router":"*","semver":"7.8.0","strnum":"*","undici":"8.5.0","unpipe":"*","wrappy":"*","accepts":"*","bidi-js":"*","express":"*","mime-db":"*","p-retry":"*","type-is":"*","typebox":"1.1.38","css-tree":"*","ee-first":"*","entities":"*","fast-uri":"*","inherits":"*","mdn-data":"*","minipass":"*","parseurl":"*","path-key":"*","punycode":"*","raw-body":"*","statuses":"*","turndown":"7.2.4","xmlchars":"*","base64-js":"*","data-urls":"*","encodeurl":"*","es-errors":"*","forwarded":"*","get-proto":"*","ipaddr.js":"*","lru-cache":"*","minimatch":"10.2.5","picomatch":"4.0.4","agent-base":"*","call-bound":"*","decimal.js":"*","fetch-blob":"*","iconv-lite":"*","ip-address":"*","is-promise":"*","mime-types":"*","negotiator":"*","node-fetch":"*","protobufjs":"*","proxy-addr":"*","tldts-core":"*","ts-algebra":"*","whatwg-url":"*","xml-naming":"*","@types/node":"*","ajv-formats":"*","body-parser":"*","cross-spawn":"7.0.6","escape-html":"*","eventsource":"*","graceful-fs":"*","has-symbols":"*","http-errors":"*","json-bigint":"*","media-typer":"*","on-finished":"*","path-scurry":"*","safe-buffer":"*","signal-exit":"*","symbol-tree":"*","@babel/types":"*","@smithy/core":"*","bignumber.js":"*","content-type":"*","dunder-proto":"*","finalhandler":"*","gcp-metadata":"*","highlight.js":"10.7.3","partial-json":"0.1.7","range-parser":"*","safer-buffer":"*","serve-static":"*","side-channel":"*","toidentifier":"*","tough-cookie":"*","undici-types":"*","@aws-sdk/core":"*","@babel/parser":"*","@exodus/bytes":"*","@google/genai":"*","@smithy/types":"4.8.0","function-bind":"*","get-intrinsic":"*","object-assign":"*","shebang-regex":"*","source-map-js":"*","@aws-sdk/types":"*","@babel/runtime":"*","balanced-match":"*","object-inspect":"*","path-to-regexp":"*","pkce-challenge":"*","proxy-from-env":"1.1.0","setprototypeof":"*","@xterm/headless":"*","brace-expansion":"*","es-object-atoms":"*","fast-deep-equal":"*","fast-xml-parser":"*","hosted-git-info":"9.0.3","math-intrinsics":"*","proper-lockfile":"4.1.2","shebang-command":"*","whatwg-mimetype":"*","@aws-crypto/util":"*","@protobufjs/path":"*","@protobufjs/pool":"*","@protobufjs/utf8":"*","cookie-signature":"*","fast-xml-builder":"*","http-proxy-agent":"7.0.2","side-channel-map":"*","@anthropic-ai/sdk":"0.91.1","@aws-crypto/crc32":"*","@hono/node-server":"*","@nodable/entities":"*","@protobufjs/fetch":"*","@protobufjs/float":"*","@smithy/util-utf8":"*","formdata-polyfill":"*","https-proxy-agent":"7.0.6","json-schema-to-ts":"*","json-schema-typed":"*","merge-descriptors":"*","node-domexception":"*","side-channel-list":"*","w3c-xmlserializer":"*","@asamuzakjp/nwsapi":"*","@csstools/css-calc":"*","@mixmark-io/domino":"*","@opentelemetry/api":"1.9.0","@protobufjs/base64":"*","data-uri-to-buffer":"*","es-define-property":"*","eventsource-parser":"*","express-rate-limit":"*","webidl-conversions":"*","xml-name-validator":"*","zod-to-json-schema":"*","@bramus/specificity":"*","@protobufjs/codegen":"*","content-disposition":"*","ecdsa-sig-formatter":"*","google-auth-library":"*","require-from-string":"*","@aws-sdk/xml-builder":"*","@mistralai/mistralai":"2.2.6","@mozilla/readability":"0.6.0","@smithy/signature-v4":"*","get-east-asian-width":"1.6.0","google-logging-utils":"*","json-schema-traverse":"*","side-channel-weakmap":"*","web-streams-polyfill":"*","@asamuzakjp/css-color":"*","@aws-crypto/sha256-js":"*","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@^2026.7.28-2","@protobufjs/aspromise":"*","html-encoding-sniffer":"*","@earendil-works/pi-pty":"npm:@code-yeongyu/senpi-pty@^2026.7.28-2","@earendil-works/pi-tui":"npm:@code-yeongyu/senpi-tui@^2026.7.28-2","@aws-sdk/nested-clients":"*","@csstools/color-helpers":"*","@csstools/css-tokenizer":"*","@mariozechner/clipboard":"*","@smithy/is-array-buffer":"*","call-bind-apply-helpers":"*","path-expression-matcher":"*","@asamuzakjp/dom-selector":"*","@aws-sdk/token-providers":"*","@aws/lambda-invoke-store":"*","@protobufjs/eventemitter":"*","@smithy/util-buffer-from":"*","@modelcontextprotocol/sdk":"1.29.0","@smithy/node-http-handler":"4.7.3","@aws-crypto/sha256-browser":"*","@csstools/css-color-parser":"*","@silvia-odwyer/photon-node":"0.3.4","@smithy/fetch-http-handler":"*","buffer-equal-constant-time":"*","@aws-sdk/util-locate-window":"*","@babel/helper-string-parser":"*","@code-yeongyu/senpi-codemode":"^2026.7.28-2","@aws-sdk/middleware-websocket":"*","@earendil-works/pi-agent-core":"npm:@code-yeongyu/senpi-agent-core@^2026.7.28-2","@anthropic-ai/claude-agent-sdk":"0.3.220","@asamuzakjp/generational-cache":"*","@aws-crypto/supports-web-crypto":"*","@aws-sdk/client-bedrock-runtime":"3.1048.0","@aws-sdk/middleware-eventstream":"*","@csstools/css-parser-algorithms":"*","@aws-sdk/credential-provider-env":"*","@aws-sdk/credential-provider-ini":"*","@aws-sdk/credential-provider-sso":"*","@smithy/credential-provider-imds":"*","is-potential-custom-element-name":"*","@aws-sdk/credential-provider-http":"*","@aws-sdk/credential-provider-node":"*","@aws-sdk/eventstream-handler-node":"*","@aws-sdk/credential-provider-login":"*","@aws-sdk/signature-v4-multi-region":"*","@babel/helper-validator-identifier":"*","@opentelemetry/semantic-conventions":"*","@aws-sdk/credential-provider-process":"*","@csstools/css-syntax-patches-for-csstree":"*","@aws-sdk/credential-provider-web-identity":"*"},"_hasShrinkwrap":false,"devDependencies":{"shx":"0.4.0","vitest":"4.1.9","@types/ms":"2.1.0","@types/ws":"8.18.1","typescript":"6.0.3","@types/diff":"7.0.2","@types/node":"25.9.1","@types/jsdom":"28.0.3","@types/semver":"7.7.1","@types/turndown":"5.0.6","@types/picomatch":"4.0.3","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@anthropic-ai/claude-agent-sdk","@anthropic-ai/sdk","@asamuzakjp/css-color","@asamuzakjp/dom-selector","@asamuzakjp/generational-cache","@asamuzakjp/nwsapi","@aws-crypto/crc32","@aws-crypto/sha256-browser","@aws-crypto/sha256-js","@aws-crypto/supports-web-crypto","@aws-crypto/util","@aws-sdk/client-bedrock-runtime","@aws-sdk/core","@aws-sdk/credential-provider-env","@aws-sdk/credential-provider-http","@aws-sdk/credential-provider-ini","@aws-sdk/credential-provider-login","@aws-sdk/credential-provider-node","@aws-sdk/credential-provider-process","@aws-sdk/credential-provider-sso","@aws-sdk/credential-provider-web-identity","@aws-sdk/eventstream-handler-node","@aws-sdk/middleware-eventstream","@aws-sdk/middleware-websocket","@aws-sdk/nested-clients","@aws-sdk/signature-v4-multi-region","@aws-sdk/token-providers","@aws-sdk/types","@aws-sdk/util-locate-window","@aws-sdk/xml-builder","@aws/lambda-invoke-store","@babel/helper-string-parser","@babel/helper-validator-identifier","@babel/parser","@babel/runtime","@babel/types","@bramus/specificity","@code-yeongyu/senpi-codemode","@csstools/color-helpers","@csstools/css-calc","@csstools/css-color-parser","@csstools/css-parser-algorithms","@csstools/css-syntax-patches-for-csstree","@csstools/css-tokenizer","@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-pty","@earendil-works/pi-tui","@exodus/bytes","@google/genai","@hono/node-server","@mariozechner/clipboard","@mistralai/mistralai","@mixmark-io/domino","@modelcontextprotocol/sdk","@mozilla/readability","@nodable/entities","@opentelemetry/api","@opentelemetry/semantic-conventions","@protobufjs/aspromise","@protobufjs/base64","@protobufjs/codegen","@protobufjs/eventemitter","@protobufjs/fetch","@protobufjs/float","@protobufjs/path","@protobufjs/pool","@protobufjs/utf8","@silvia-odwyer/photon-node","@smithy/core","@smithy/credential-provider-imds","@smithy/fetch-http-handler","@smithy/is-array-buffer","@smithy/node-http-handler","@smithy/signature-v4","@smithy/types","@smithy/util-buffer-from","@smithy/util-utf8","@types/node","@xterm/headless","accepts","agent-base","ajv","ajv-formats","balanced-match","base64-js","bidi-js","bignumber.js","body-parser","bowser","brace-expansion","buffer-equal-constant-time","bytes","call-bind-apply-helpers","call-bound","chalk","content-disposition","content-type","cookie","cookie-signature","cors","cross-spawn","css-tree","data-uri-to-buffer","data-urls","debug","decimal.js","depd","diff","dunder-proto","ecdsa-sig-formatter","ee-first","encodeurl","entities","es-define-property","es-errors","es-object-atoms","escape-html","etag","eventsource","eventsource-parser","express","express-rate-limit","extend","fast-deep-equal","fast-uri","fast-xml-builder","fast-xml-parser","fetch-blob","finalhandler","formdata-polyfill","forwarded","fresh","function-bind","gaxios","gcp-metadata","get-east-asian-width","get-intrinsic","get-proto","glob","google-auth-library","google-logging-utils","gopd","graceful-fs","has-symbols","hasown","highlight.js","hono","hosted-git-info","html-encoding-sniffer","http-errors","http-proxy-agent","https-proxy-agent","iconv-lite","ignore","inherits","ip-address","ipaddr.js","is-potential-custom-element-name","is-promise","isexe","jiti","jose","jsdom","json-bigint","json-schema-to-ts","json-schema-traverse","json-schema-typed","jwa","jws","long","lru-cache","marked","math-intrinsics","mdn-data","media-typer","merge-descriptors","mime-db","mime-types","minimatch","minipass","ms","negotiator","node-domexception","node-fetch","object-assign","object-inspect","on-finished","once","openai","p-retry","parse5","parseurl","partial-json","path-expression-matcher","path-key","path-scurry","path-to-regexp","picomatch","pkce-challenge","proper-lockfile","protobufjs","proxy-addr","proxy-from-env","punycode","qs","range-parser","raw-body","require-from-string","retry","router","safe-buffer","safer-buffer","saxes","semver","send","serve-static","setprototypeof","shebang-command","shebang-regex","side-channel","side-channel-list","side-channel-map","side-channel-weakmap","signal-exit","source-map-js","statuses","strnum","symbol-tree","tldts","tldts-core","toidentifier","tough-cookie","tr46","ts-algebra","tslib","turndown","type-is","typebox","undici","undici-types","unpipe","vary","w3c-xmlserializer","web-streams-polyfill","webidl-conversions","whatwg-mimetype","whatwg-url","which","wrappy","ws","xml-name-validator","xml-naming","xmlchars","yaml","zod","zod-to-json-schema"],"optionalDependencies":{"@mariozechner/clipboard":"0.3.9"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.7.28-2_1785255846699_0.8456978057008471","host":"s3://npm-registry-packages-npm-production"}},"2026.7.28-3":{"name":"@code-yeongyu/senpi","version":"2026.7.28-3","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.7.28-3","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"senpi":"dist/cli.js"},"dist":{"shasum":"ec17708add59a90a03a97d3d3e01ec82fe4b539d","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.7.28-3.tgz","fileCount":26807,"integrity":"sha512-d1ZRjAYf1c2rrG+lMiNjmSWR3g37UWxBwU5e0xyy4B3jJeM51+VgcDBRFA6UcEi5PDCaM7O4ZJRDvi0r2JzI0Q==","signatures":[{"sig":"MEYCIQCM4MnG+UXmp5cC4e9cu+nyEqZIpRlUuAgcM6FH817PFgIhAK/RYgl+ySJH1FDh1Vip//x+tj+LGfyIZ3gc0Vhigse4","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.7.28-3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":445825827},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./rpc-entry":{"import":"./dist/rpc-entry.js"}},"gitHead":"e6af356dd91bb3afc5d0341da4274085d4853207","scripts":{"dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsgo -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js dist/rpc-entry.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/","build:binary":"npm --prefix ../tui run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm run build && bun build --compile --compile-autoload-package-json --external=css-tree --no-compile-autoload-dotenv --minify --keep-names ./dist/bun/cli.js ./src/utils/image-resize-worker.ts --outfile dist/pi && npm run copy-binary-assets","qa:app-server":"node scripts/qa-app-server/run-all.mjs","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/export-html/ && shx cp -r docs dist/ && shx cp -r examples dist/ && shx mkdir -p dist/node_modules && shx cp -r ../../node_modules/css-tree ../../node_modules/mdn-data ../../node_modules/source-map-js dist/node_modules/ && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/ && shx mkdir -p dist/native/darwin dist/native/win32 && shx cp -r ../../packages/tui/native/darwin/prebuilds dist/native/darwin/ && shx cp -r ../../packages/tui/native/win32/prebuilds dist/native/win32/ && node ../../scripts/copy-pty-native.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ea548fc8-dac4-4dec-a439-6f4fa3870309"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.2"},"rimraf":"6.1.2","protobufjs":"7.6.5","@hono/node-server":"2.0.10"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.16.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ms":"*","qs":"*","ws":"8.21.0","ajv":"*","jwa":"*","jws":"*","zod":"4.4.3","cors":"*","depd":"*","diff":"8.0.4","etag":"*","glob":"13.0.6","gopd":"*","hono":"*","jiti":"2.7.0","jose":"*","long":"*","once":"*","send":"*","tr46":"*","vary":"*","yaml":"2.9.0","bytes":"*","chalk":"5.6.2","debug":"*","fresh":"*","isexe":"*","jsdom":"29.1.1","retry":"*","saxes":"*","tldts":"*","tslib":"*","which":"*","bowser":"*","cookie":"*","extend":"*","gaxios":"*","hasown":"*","ignore":"7.0.5","marked":"18.0.5","openai":"6.26.0","parse5":"*","router":"*","semver":"7.8.0","strnum":"*","undici":"8.5.0","unpipe":"*","wrappy":"*","accepts":"*","bidi-js":"*","express":"*","mime-db":"*","p-retry":"*","type-is":"*","typebox":"1.1.38","css-tree":"*","ee-first":"*","entities":"*","fast-uri":"*","inherits":"*","mdn-data":"*","minipass":"*","parseurl":"*","path-key":"*","punycode":"*","raw-body":"*","statuses":"*","turndown":"7.2.4","xmlchars":"*","base64-js":"*","data-urls":"*","encodeurl":"*","es-errors":"*","forwarded":"*","get-proto":"*","ipaddr.js":"*","lru-cache":"*","minimatch":"10.2.5","picomatch":"4.0.4","agent-base":"*","call-bound":"*","decimal.js":"*","fetch-blob":"*","iconv-lite":"*","ip-address":"*","is-promise":"*","mime-types":"*","negotiator":"*","node-fetch":"*","protobufjs":"*","proxy-addr":"*","tldts-core":"*","ts-algebra":"*","whatwg-url":"*","xml-naming":"*","@types/node":"*","ajv-formats":"*","body-parser":"*","cross-spawn":"7.0.6","escape-html":"*","eventsource":"*","graceful-fs":"*","has-symbols":"*","http-errors":"*","json-bigint":"*","media-typer":"*","on-finished":"*","path-scurry":"*","safe-buffer":"*","signal-exit":"*","symbol-tree":"*","@babel/types":"*","@smithy/core":"*","bignumber.js":"*","content-type":"*","dunder-proto":"*","finalhandler":"*","gcp-metadata":"*","highlight.js":"10.7.3","partial-json":"0.1.7","range-parser":"*","safer-buffer":"*","serve-static":"*","side-channel":"*","toidentifier":"*","tough-cookie":"*","undici-types":"*","@aws-sdk/core":"*","@babel/parser":"*","@exodus/bytes":"*","@google/genai":"*","@smithy/types":"4.8.0","function-bind":"*","get-intrinsic":"*","object-assign":"*","shebang-regex":"*","source-map-js":"*","@aws-sdk/types":"*","@babel/runtime":"*","balanced-match":"*","object-inspect":"*","path-to-regexp":"*","pkce-challenge":"*","proxy-from-env":"1.1.0","setprototypeof":"*","@xterm/headless":"*","brace-expansion":"*","es-object-atoms":"*","fast-deep-equal":"*","fast-xml-parser":"*","hosted-git-info":"9.0.3","math-intrinsics":"*","proper-lockfile":"4.1.2","shebang-command":"*","whatwg-mimetype":"*","@aws-crypto/util":"*","@protobufjs/path":"*","@protobufjs/pool":"*","@protobufjs/utf8":"*","cookie-signature":"*","fast-xml-builder":"*","http-proxy-agent":"7.0.2","side-channel-map":"*","@anthropic-ai/sdk":"0.91.1","@aws-crypto/crc32":"*","@hono/node-server":"*","@nodable/entities":"*","@protobufjs/fetch":"*","@protobufjs/float":"*","@smithy/util-utf8":"*","formdata-polyfill":"*","https-proxy-agent":"7.0.6","json-schema-to-ts":"*","json-schema-typed":"*","merge-descriptors":"*","node-domexception":"*","side-channel-list":"*","w3c-xmlserializer":"*","@asamuzakjp/nwsapi":"*","@csstools/css-calc":"*","@mixmark-io/domino":"*","@opentelemetry/api":"1.9.0","@protobufjs/base64":"*","data-uri-to-buffer":"*","es-define-property":"*","eventsource-parser":"*","express-rate-limit":"*","webidl-conversions":"*","xml-name-validator":"*","zod-to-json-schema":"*","@bramus/specificity":"*","@protobufjs/codegen":"*","content-disposition":"*","ecdsa-sig-formatter":"*","google-auth-library":"*","require-from-string":"*","@aws-sdk/xml-builder":"*","@mistralai/mistralai":"2.2.6","@mozilla/readability":"0.6.0","@smithy/signature-v4":"*","get-east-asian-width":"1.6.0","google-logging-utils":"*","json-schema-traverse":"*","side-channel-weakmap":"*","web-streams-polyfill":"*","@asamuzakjp/css-color":"*","@aws-crypto/sha256-js":"*","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@^2026.7.28-3","@protobufjs/aspromise":"*","html-encoding-sniffer":"*","@earendil-works/pi-pty":"npm:@code-yeongyu/senpi-pty@^2026.7.28-3","@earendil-works/pi-tui":"npm:@code-yeongyu/senpi-tui@^2026.7.28-3","@aws-sdk/nested-clients":"*","@csstools/color-helpers":"*","@csstools/css-tokenizer":"*","@mariozechner/clipboard":"*","@smithy/is-array-buffer":"*","call-bind-apply-helpers":"*","path-expression-matcher":"*","@asamuzakjp/dom-selector":"*","@aws-sdk/token-providers":"*","@aws/lambda-invoke-store":"*","@protobufjs/eventemitter":"*","@smithy/util-buffer-from":"*","@modelcontextprotocol/sdk":"1.29.0","@smithy/node-http-handler":"4.7.3","@aws-crypto/sha256-browser":"*","@csstools/css-color-parser":"*","@silvia-odwyer/photon-node":"0.3.4","@smithy/fetch-http-handler":"*","buffer-equal-constant-time":"*","@aws-sdk/util-locate-window":"*","@babel/helper-string-parser":"*","@code-yeongyu/senpi-codemode":"^2026.7.28-3","@aws-sdk/middleware-websocket":"*","@earendil-works/pi-agent-core":"npm:@code-yeongyu/senpi-agent-core@^2026.7.28-3","@anthropic-ai/claude-agent-sdk":"0.3.220","@asamuzakjp/generational-cache":"*","@aws-crypto/supports-web-crypto":"*","@aws-sdk/client-bedrock-runtime":"3.1048.0","@aws-sdk/middleware-eventstream":"*","@csstools/css-parser-algorithms":"*","@aws-sdk/credential-provider-env":"*","@aws-sdk/credential-provider-ini":"*","@aws-sdk/credential-provider-sso":"*","@smithy/credential-provider-imds":"*","is-potential-custom-element-name":"*","@aws-sdk/credential-provider-http":"*","@aws-sdk/credential-provider-node":"*","@aws-sdk/eventstream-handler-node":"*","@aws-sdk/credential-provider-login":"*","@aws-sdk/signature-v4-multi-region":"*","@babel/helper-validator-identifier":"*","@opentelemetry/semantic-conventions":"*","@aws-sdk/credential-provider-process":"*","@csstools/css-syntax-patches-for-csstree":"*","@aws-sdk/credential-provider-web-identity":"*"},"_hasShrinkwrap":false,"devDependencies":{"shx":"0.4.0","vitest":"4.1.9","@types/ms":"2.1.0","@types/ws":"8.18.1","typescript":"6.0.3","@types/diff":"7.0.2","@types/node":"25.9.1","@types/jsdom":"28.0.3","@types/semver":"7.7.1","@types/turndown":"5.0.6","@types/picomatch":"4.0.3","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@anthropic-ai/claude-agent-sdk","@anthropic-ai/sdk","@asamuzakjp/css-color","@asamuzakjp/dom-selector","@asamuzakjp/generational-cache","@asamuzakjp/nwsapi","@aws-crypto/crc32","@aws-crypto/sha256-browser","@aws-crypto/sha256-js","@aws-crypto/supports-web-crypto","@aws-crypto/util","@aws-sdk/client-bedrock-runtime","@aws-sdk/core","@aws-sdk/credential-provider-env","@aws-sdk/credential-provider-http","@aws-sdk/credential-provider-ini","@aws-sdk/credential-provider-login","@aws-sdk/credential-provider-node","@aws-sdk/credential-provider-process","@aws-sdk/credential-provider-sso","@aws-sdk/credential-provider-web-identity","@aws-sdk/eventstream-handler-node","@aws-sdk/middleware-eventstream","@aws-sdk/middleware-websocket","@aws-sdk/nested-clients","@aws-sdk/signature-v4-multi-region","@aws-sdk/token-providers","@aws-sdk/types","@aws-sdk/util-locate-window","@aws-sdk/xml-builder","@aws/lambda-invoke-store","@babel/helper-string-parser","@babel/helper-validator-identifier","@babel/parser","@babel/runtime","@babel/types","@bramus/specificity","@code-yeongyu/senpi-codemode","@csstools/color-helpers","@csstools/css-calc","@csstools/css-color-parser","@csstools/css-parser-algorithms","@csstools/css-syntax-patches-for-csstree","@csstools/css-tokenizer","@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-pty","@earendil-works/pi-tui","@exodus/bytes","@google/genai","@hono/node-server","@mariozechner/clipboard","@mistralai/mistralai","@mixmark-io/domino","@modelcontextprotocol/sdk","@mozilla/readability","@nodable/entities","@opentelemetry/api","@opentelemetry/semantic-conventions","@protobufjs/aspromise","@protobufjs/base64","@protobufjs/codegen","@protobufjs/eventemitter","@protobufjs/fetch","@protobufjs/float","@protobufjs/path","@protobufjs/pool","@protobufjs/utf8","@silvia-odwyer/photon-node","@smithy/core","@smithy/credential-provider-imds","@smithy/fetch-http-handler","@smithy/is-array-buffer","@smithy/node-http-handler","@smithy/signature-v4","@smithy/types","@smithy/util-buffer-from","@smithy/util-utf8","@types/node","@xterm/headless","accepts","agent-base","ajv","ajv-formats","balanced-match","base64-js","bidi-js","bignumber.js","body-parser","bowser","brace-expansion","buffer-equal-constant-time","bytes","call-bind-apply-helpers","call-bound","chalk","content-disposition","content-type","cookie","cookie-signature","cors","cross-spawn","css-tree","data-uri-to-buffer","data-urls","debug","decimal.js","depd","diff","dunder-proto","ecdsa-sig-formatter","ee-first","encodeurl","entities","es-define-property","es-errors","es-object-atoms","escape-html","etag","eventsource","eventsource-parser","express","express-rate-limit","extend","fast-deep-equal","fast-uri","fast-xml-builder","fast-xml-parser","fetch-blob","finalhandler","formdata-polyfill","forwarded","fresh","function-bind","gaxios","gcp-metadata","get-east-asian-width","get-intrinsic","get-proto","glob","google-auth-library","google-logging-utils","gopd","graceful-fs","has-symbols","hasown","highlight.js","hono","hosted-git-info","html-encoding-sniffer","http-errors","http-proxy-agent","https-proxy-agent","iconv-lite","ignore","inherits","ip-address","ipaddr.js","is-potential-custom-element-name","is-promise","isexe","jiti","jose","jsdom","json-bigint","json-schema-to-ts","json-schema-traverse","json-schema-typed","jwa","jws","long","lru-cache","marked","math-intrinsics","mdn-data","media-typer","merge-descriptors","mime-db","mime-types","minimatch","minipass","ms","negotiator","node-domexception","node-fetch","object-assign","object-inspect","on-finished","once","openai","p-retry","parse5","parseurl","partial-json","path-expression-matcher","path-key","path-scurry","path-to-regexp","picomatch","pkce-challenge","proper-lockfile","protobufjs","proxy-addr","proxy-from-env","punycode","qs","range-parser","raw-body","require-from-string","retry","router","safe-buffer","safer-buffer","saxes","semver","send","serve-static","setprototypeof","shebang-command","shebang-regex","side-channel","side-channel-list","side-channel-map","side-channel-weakmap","signal-exit","source-map-js","statuses","strnum","symbol-tree","tldts","tldts-core","toidentifier","tough-cookie","tr46","ts-algebra","tslib","turndown","type-is","typebox","undici","undici-types","unpipe","vary","w3c-xmlserializer","web-streams-polyfill","webidl-conversions","whatwg-mimetype","whatwg-url","which","wrappy","ws","xml-name-validator","xml-naming","xmlchars","yaml","zod","zod-to-json-schema"],"optionalDependencies":{"@mariozechner/clipboard":"0.3.9"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.7.28-3_1785258215012_0.5503555583827566","host":"s3://npm-registry-packages-npm-production"}},"2026.7.29":{"name":"@code-yeongyu/senpi","version":"2026.7.29","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.7.29","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"senpi":"dist/cli.js"},"dist":{"shasum":"62795e57ed8761118fe3e0d8e277c7227ff51978","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.7.29.tgz","fileCount":28599,"integrity":"sha512-ewplIC3bAGriZjmEIXywTz0H5h3q/rSbPmBvPblnLr8gFFm8lwiZ4YN/o7sg50tx8fgmq+BGBKctc+dN0fA1aA==","signatures":[{"sig":"MEUCIQCahDVHQnjvld0cQ7TZZ0/mHH9+uKUiVZeiIeo/HvYVaAIgQDQ1/9niaWw76pWAgV43LcdnqmhBPOaw2XJ4vucd+YA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.7.29","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":450700940},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./rpc-entry":{"import":"./dist/rpc-entry.js"}},"gitHead":"357df49b9c1c2160ac106d04d832ac7d0ff8b1bb","scripts":{"dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsgo -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js dist/rpc-entry.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/","build:binary":"npm --prefix ../tui run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm run build && bun build --compile --compile-autoload-package-json --external=css-tree --no-compile-autoload-dotenv --minify --keep-names ./dist/bun/cli.js ./src/utils/image-resize-worker.ts --outfile dist/pi && npm run copy-binary-assets","qa:app-server":"node scripts/qa-app-server/run-all.mjs","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/export-html/ && shx cp -r docs dist/ && shx cp -r examples dist/ && shx mkdir -p dist/node_modules && shx cp -r ../../node_modules/css-tree ../../node_modules/mdn-data ../../node_modules/source-map-js dist/node_modules/ && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/ && shx mkdir -p dist/native/darwin dist/native/win32 && shx cp -r ../../packages/tui/native/darwin/prebuilds dist/native/darwin/ && shx cp -r ../../packages/tui/native/win32/prebuilds dist/native/win32/ && node ../../scripts/copy-pty-native.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ea548fc8-dac4-4dec-a439-6f4fa3870309"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.2"},"rimraf":"6.1.2","protobufjs":"7.6.5","@hono/node-server":"2.0.10"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.16.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ms":"*","qs":"*","ws":"8.21.1","ajv":"*","jwa":"*","jws":"*","zod":"4.4.3","cors":"*","depd":"*","diff":"9.0.0","etag":"*","glob":"13.0.6","gopd":"*","hono":"*","jiti":"2.7.0","jose":"*","long":"*","once":"*","send":"*","tr46":"*","vary":"*","yaml":"2.9.0","bytes":"*","chalk":"6.0.0","debug":"*","fresh":"*","isexe":"*","jsdom":"29.1.1","retry":"*","saxes":"*","tldts":"*","tslib":"*","which":"*","bowser":"*","cookie":"*","extend":"*","gaxios":"*","hasown":"*","ignore":"7.0.6","marked":"18.0.7","openai":"6.26.0","parse5":"*","router":"*","semver":"7.8.5","undici":"8.9.0","unpipe":"*","wrappy":"*","accepts":"*","bidi-js":"*","express":"*","mime-db":"*","p-retry":"*","type-is":"*","typebox":"1.3.8","css-tree":"*","ee-first":"*","entities":"*","fast-uri":"*","inherits":"*","mdn-data":"*","minipass":"*","parseurl":"*","path-key":"*","punycode":"*","raw-body":"*","statuses":"*","turndown":"7.2.4","xmlchars":"*","base64-js":"*","data-urls":"*","encodeurl":"*","es-errors":"*","forwarded":"*","get-proto":"*","ipaddr.js":"*","lru-cache":"*","minimatch":"10.2.5","picomatch":"4.0.5","agent-base":"*","call-bound":"*","decimal.js":"*","fetch-blob":"*","iconv-lite":"*","ip-address":"*","is-promise":"*","mime-types":"*","negotiator":"*","node-fetch":"*","protobufjs":"*","proxy-addr":"*","tldts-core":"*","ts-algebra":"*","whatwg-url":"*","@types/node":"*","ajv-formats":"*","body-parser":"*","cross-spawn":"7.0.6","escape-html":"*","eventsource":"*","graceful-fs":"*","has-symbols":"*","http-errors":"*","json-bigint":"*","media-typer":"*","on-finished":"*","path-scurry":"*","safe-buffer":"*","signal-exit":"*","symbol-tree":"*","@babel/types":"*","@smithy/core":"*","bignumber.js":"*","content-type":"*","dunder-proto":"*","finalhandler":"*","gcp-metadata":"*","highlight.js":"11.11.1","partial-json":"0.1.7","range-parser":"*","safer-buffer":"*","serve-static":"*","side-channel":"*","toidentifier":"*","tough-cookie":"*","@aws-sdk/core":"*","@babel/parser":"*","@exodus/bytes":"*","@google/genai":"*","@smithy/types":"4.16.1","function-bind":"*","get-intrinsic":"*","object-assign":"*","shebang-regex":"*","source-map-js":"*","@aws-sdk/types":"*","@babel/runtime":"*","balanced-match":"*","object-inspect":"*","path-to-regexp":"*","pkce-challenge":"*","proxy-from-env":"2.1.0","setprototypeof":"*","@xterm/headless":"*","brace-expansion":"*","es-object-atoms":"*","fast-deep-equal":"*","hosted-git-info":"10.1.1","math-intrinsics":"*","proper-lockfile":"4.1.2","shebang-command":"*","whatwg-mimetype":"*","@aws-crypto/util":"*","@protobufjs/path":"*","@protobufjs/pool":"*","@protobufjs/utf8":"*","cookie-signature":"*","http-proxy-agent":"9.1.0","side-channel-map":"*","@anthropic-ai/sdk":"0.91.1","@hono/node-server":"*","@protobufjs/fetch":"*","@protobufjs/float":"*","@smithy/util-utf8":"*","formdata-polyfill":"*","https-proxy-agent":"9.1.0","json-schema-to-ts":"*","json-schema-typed":"*","merge-descriptors":"*","node-domexception":"*","side-channel-list":"*","w3c-xmlserializer":"*","@asamuzakjp/nwsapi":"*","@csstools/css-calc":"*","@mixmark-io/domino":"*","@opentelemetry/api":"1.9.1","@protobufjs/base64":"*","data-uri-to-buffer":"*","es-define-property":"*","eventsource-parser":"*","express-rate-limit":"*","webidl-conversions":"*","xml-name-validator":"*","zod-to-json-schema":"*","@bramus/specificity":"*","@protobufjs/codegen":"*","content-disposition":"*","ecdsa-sig-formatter":"*","google-auth-library":"*","require-from-string":"*","@aws-sdk/xml-builder":"*","@mistralai/mistralai":"2.5.0","@mozilla/readability":"0.6.0","@smithy/signature-v4":"*","get-east-asian-width":"1.6.0","google-logging-utils":"*","json-schema-traverse":"*","side-channel-weakmap":"*","web-streams-polyfill":"*","@asamuzakjp/css-color":"*","@aws-crypto/sha256-js":"*","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@^2026.7.29","@protobufjs/aspromise":"*","html-encoding-sniffer":"*","@earendil-works/pi-pty":"npm:@code-yeongyu/senpi-pty@^2026.7.29","@earendil-works/pi-tui":"npm:@code-yeongyu/senpi-tui@^2026.7.29","@aws-sdk/nested-clients":"*","@csstools/color-helpers":"*","@csstools/css-tokenizer":"*","@mariozechner/clipboard":"*","@smithy/is-array-buffer":"*","call-bind-apply-helpers":"*","@asamuzakjp/dom-selector":"*","@aws-sdk/token-providers":"*","@aws/lambda-invoke-store":"*","@protobufjs/eventemitter":"*","@smithy/util-buffer-from":"*","@modelcontextprotocol/sdk":"1.29.0","@smithy/node-http-handler":"4.9.11","@aws-crypto/sha256-browser":"*","@csstools/css-color-parser":"*","@silvia-odwyer/photon-node":"0.3.4","@smithy/fetch-http-handler":"*","buffer-equal-constant-time":"*","@aws-sdk/util-locate-window":"*","@babel/helper-string-parser":"*","@code-yeongyu/senpi-codemode":"^2026.7.29","@aws-sdk/middleware-websocket":"*","@earendil-works/pi-agent-core":"npm:@code-yeongyu/senpi-agent-core@^2026.7.29","@anthropic-ai/claude-agent-sdk":"0.3.220","@asamuzakjp/generational-cache":"*","@aws-crypto/supports-web-crypto":"*","@aws-sdk/client-bedrock-runtime":"3.1095.0","@aws-sdk/middleware-eventstream":"*","@csstools/css-parser-algorithms":"*","@aws-sdk/credential-provider-env":"*","@aws-sdk/credential-provider-ini":"*","@aws-sdk/credential-provider-sso":"*","@smithy/credential-provider-imds":"*","is-potential-custom-element-name":"*","@aws-sdk/credential-provider-http":"*","@aws-sdk/credential-provider-node":"*","@aws-sdk/eventstream-handler-node":"*","@aws-sdk/credential-provider-login":"*","@aws-sdk/signature-v4-multi-region":"*","@babel/helper-validator-identifier":"*","@opentelemetry/semantic-conventions":"*","@aws-sdk/credential-provider-process":"*","@csstools/css-syntax-patches-for-csstree":"*","@aws-sdk/credential-provider-web-identity":"*"},"_hasShrinkwrap":false,"devDependencies":{"shx":"0.4.0","vitest":"4.1.10","@types/ms":"2.1.0","@types/ws":"8.18.1","typescript":"6.0.3","@types/node":"26.1.1","@types/jsdom":"28.0.3","@types/semver":"7.7.1","@types/turndown":"5.0.6","@types/picomatch":"4.0.3","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@anthropic-ai/claude-agent-sdk","@anthropic-ai/sdk","@asamuzakjp/css-color","@asamuzakjp/dom-selector","@asamuzakjp/generational-cache","@asamuzakjp/nwsapi","@aws-crypto/sha256-browser","@aws-crypto/sha256-js","@aws-crypto/supports-web-crypto","@aws-crypto/util","@aws-sdk/client-bedrock-runtime","@aws-sdk/core","@aws-sdk/credential-provider-env","@aws-sdk/credential-provider-http","@aws-sdk/credential-provider-ini","@aws-sdk/credential-provider-login","@aws-sdk/credential-provider-node","@aws-sdk/credential-provider-process","@aws-sdk/credential-provider-sso","@aws-sdk/credential-provider-web-identity","@aws-sdk/eventstream-handler-node","@aws-sdk/middleware-eventstream","@aws-sdk/middleware-websocket","@aws-sdk/nested-clients","@aws-sdk/signature-v4-multi-region","@aws-sdk/token-providers","@aws-sdk/types","@aws-sdk/util-locate-window","@aws-sdk/xml-builder","@aws/lambda-invoke-store","@babel/helper-string-parser","@babel/helper-validator-identifier","@babel/parser","@babel/runtime","@babel/types","@bramus/specificity","@code-yeongyu/senpi-codemode","@csstools/color-helpers","@csstools/css-calc","@csstools/css-color-parser","@csstools/css-parser-algorithms","@csstools/css-syntax-patches-for-csstree","@csstools/css-tokenizer","@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-pty","@earendil-works/pi-tui","@exodus/bytes","@google/genai","@hono/node-server","@mariozechner/clipboard","@mistralai/mistralai","@mixmark-io/domino","@modelcontextprotocol/sdk","@mozilla/readability","@opentelemetry/api","@opentelemetry/semantic-conventions","@protobufjs/aspromise","@protobufjs/base64","@protobufjs/codegen","@protobufjs/eventemitter","@protobufjs/fetch","@protobufjs/float","@protobufjs/path","@protobufjs/pool","@protobufjs/utf8","@silvia-odwyer/photon-node","@smithy/core","@smithy/credential-provider-imds","@smithy/fetch-http-handler","@smithy/is-array-buffer","@smithy/node-http-handler","@smithy/signature-v4","@smithy/types","@smithy/util-buffer-from","@smithy/util-utf8","@types/node","@xterm/headless","accepts","agent-base","ajv","ajv-formats","balanced-match","base64-js","bidi-js","bignumber.js","body-parser","bowser","brace-expansion","buffer-equal-constant-time","bytes","call-bind-apply-helpers","call-bound","chalk","content-disposition","content-type","cookie","cookie-signature","cors","cross-spawn","css-tree","data-uri-to-buffer","data-urls","debug","decimal.js","depd","diff","dunder-proto","ecdsa-sig-formatter","ee-first","encodeurl","entities","es-define-property","es-errors","es-object-atoms","escape-html","etag","eventsource","eventsource-parser","express","express-rate-limit","extend","fast-deep-equal","fast-uri","fetch-blob","finalhandler","formdata-polyfill","forwarded","fresh","function-bind","gaxios","gcp-metadata","get-east-asian-width","get-intrinsic","get-proto","glob","google-auth-library","google-logging-utils","gopd","graceful-fs","has-symbols","hasown","highlight.js","hono","hosted-git-info","html-encoding-sniffer","http-errors","http-proxy-agent","https-proxy-agent","iconv-lite","ignore","inherits","ip-address","ipaddr.js","is-potential-custom-element-name","is-promise","isexe","jiti","jose","jsdom","json-bigint","json-schema-to-ts","json-schema-traverse","json-schema-typed","jwa","jws","long","lru-cache","marked","math-intrinsics","mdn-data","media-typer","merge-descriptors","mime-db","mime-types","minimatch","minipass","ms","negotiator","node-domexception","node-fetch","object-assign","object-inspect","on-finished","once","openai","p-retry","parse5","parseurl","partial-json","path-key","path-scurry","path-to-regexp","picomatch","pkce-challenge","proper-lockfile","protobufjs","proxy-addr","proxy-from-env","punycode","qs","range-parser","raw-body","require-from-string","retry","router","safe-buffer","safer-buffer","saxes","semver","send","serve-static","setprototypeof","shebang-command","shebang-regex","side-channel","side-channel-list","side-channel-map","side-channel-weakmap","signal-exit","source-map-js","statuses","symbol-tree","tldts","tldts-core","toidentifier","tough-cookie","tr46","ts-algebra","tslib","turndown","type-is","typebox","undici","unpipe","vary","w3c-xmlserializer","web-streams-polyfill","webidl-conversions","whatwg-mimetype","whatwg-url","which","wrappy","ws","xml-name-validator","xmlchars","yaml","zod","zod-to-json-schema"],"optionalDependencies":{"@mariozechner/clipboard":"0.3.9"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.7.29_1785332394330_0.018851025260660847","host":"s3://npm-registry-packages-npm-production"}},"2026.7.29-3":{"name":"@code-yeongyu/senpi","version":"2026.7.29-3","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.7.29-3","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"senpi":"dist/cli.js"},"dist":{"shasum":"c481964044feb77f52f3ce407f0c0434dc25f864","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.7.29-3.tgz","fileCount":28679,"integrity":"sha512-0Y/LXjfuiDkbczEIaSsG5/4Z453W83aqWNDeTnJlFnuixvHFAuDIvbZhFTZREQSTkzBMFsnmeeRRRJHFS5mhig==","signatures":[{"sig":"MEUCIQDcR+XKtEgxE8l35MR5JzYz3zkZEqnDp7KJ6Ncdg0npowIgC+ST5otEt0ShyUGu/vWR1811uYWFPketNHcRQakz1tI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.7.29-3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":450985519},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./rpc-entry":{"import":"./dist/rpc-entry.js"}},"gitHead":"51327e1a505183e5cad9f1b463f13cc5e03d0675","scripts":{"dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsgo -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js dist/rpc-entry.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/","build:binary":"npm --prefix ../tui run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm run build && bun build --compile --compile-autoload-package-json --external=css-tree --no-compile-autoload-dotenv --minify --keep-names ./dist/bun/cli.js ./src/utils/image-resize-worker.ts --outfile dist/pi && npm run copy-binary-assets","qa:app-server":"node scripts/qa-app-server/run-all.mjs","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/export-html/ && shx cp -r docs dist/ && shx cp -r examples dist/ && shx mkdir -p dist/node_modules && shx cp -r ../../node_modules/css-tree ../../node_modules/mdn-data ../../node_modules/source-map-js dist/node_modules/ && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/ && shx mkdir -p dist/native/darwin dist/native/win32 && shx cp -r ../../packages/tui/native/darwin/prebuilds dist/native/darwin/ && shx cp -r ../../packages/tui/native/win32/prebuilds dist/native/win32/ && node ../../scripts/copy-pty-native.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ea548fc8-dac4-4dec-a439-6f4fa3870309"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.2"},"rimraf":"6.1.2","protobufjs":"7.6.5","@hono/node-server":"2.0.10"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.16.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ms":"*","qs":"*","ws":"8.21.1","ajv":"*","jwa":"*","jws":"*","zod":"4.4.3","cors":"*","depd":"*","diff":"9.0.0","etag":"*","glob":"13.0.6","gopd":"*","hono":"*","jiti":"2.7.0","jose":"*","long":"*","once":"*","send":"*","tr46":"*","vary":"*","yaml":"2.9.0","bytes":"*","chalk":"6.0.0","debug":"*","fresh":"*","isexe":"*","jsdom":"29.1.1","retry":"*","saxes":"*","tldts":"*","tslib":"*","which":"*","bowser":"*","cookie":"*","extend":"*","gaxios":"*","hasown":"*","ignore":"7.0.6","marked":"18.0.7","openai":"6.26.0","parse5":"*","router":"*","semver":"7.8.5","undici":"8.9.0","unpipe":"*","wrappy":"*","accepts":"*","bidi-js":"*","express":"*","mime-db":"*","p-retry":"*","type-is":"*","typebox":"1.3.8","css-tree":"*","ee-first":"*","entities":"*","fast-uri":"*","inherits":"*","mdn-data":"*","minipass":"*","parseurl":"*","path-key":"*","punycode":"*","raw-body":"*","statuses":"*","turndown":"7.2.4","xmlchars":"*","base64-js":"*","data-urls":"*","encodeurl":"*","es-errors":"*","forwarded":"*","get-proto":"*","ipaddr.js":"*","lru-cache":"*","minimatch":"10.2.5","picomatch":"4.0.5","agent-base":"*","call-bound":"*","decimal.js":"*","fetch-blob":"*","iconv-lite":"*","ip-address":"*","is-promise":"*","mime-types":"*","negotiator":"*","node-fetch":"*","protobufjs":"*","proxy-addr":"*","tldts-core":"*","ts-algebra":"*","whatwg-url":"*","@types/node":"*","ajv-formats":"*","body-parser":"*","cross-spawn":"7.0.6","escape-html":"*","eventsource":"*","graceful-fs":"*","has-symbols":"*","http-errors":"*","json-bigint":"*","media-typer":"*","on-finished":"*","path-scurry":"*","safe-buffer":"*","signal-exit":"*","symbol-tree":"*","@babel/types":"*","@smithy/core":"*","bignumber.js":"*","content-type":"*","dunder-proto":"*","finalhandler":"*","gcp-metadata":"*","highlight.js":"11.11.1","partial-json":"0.1.7","range-parser":"*","safer-buffer":"*","serve-static":"*","side-channel":"*","toidentifier":"*","tough-cookie":"*","@aws-sdk/core":"*","@babel/parser":"*","@exodus/bytes":"*","@google/genai":"*","@smithy/types":"4.16.1","function-bind":"*","get-intrinsic":"*","object-assign":"*","shebang-regex":"*","source-map-js":"*","@aws-sdk/types":"*","@babel/runtime":"*","balanced-match":"*","object-inspect":"*","path-to-regexp":"*","pkce-challenge":"*","proxy-from-env":"2.1.0","setprototypeof":"*","@xterm/headless":"*","brace-expansion":"*","es-object-atoms":"*","fast-deep-equal":"*","hosted-git-info":"10.1.1","math-intrinsics":"*","proper-lockfile":"4.1.2","shebang-command":"*","whatwg-mimetype":"*","@aws-crypto/util":"*","@protobufjs/path":"*","@protobufjs/pool":"*","@protobufjs/utf8":"*","cookie-signature":"*","http-proxy-agent":"9.1.0","side-channel-map":"*","@anthropic-ai/sdk":"0.91.1","@hono/node-server":"*","@protobufjs/fetch":"*","@protobufjs/float":"*","@smithy/util-utf8":"*","formdata-polyfill":"*","https-proxy-agent":"9.1.0","json-schema-to-ts":"*","json-schema-typed":"*","merge-descriptors":"*","node-domexception":"*","side-channel-list":"*","w3c-xmlserializer":"*","@asamuzakjp/nwsapi":"*","@csstools/css-calc":"*","@mixmark-io/domino":"*","@opentelemetry/api":"1.9.1","@protobufjs/base64":"*","data-uri-to-buffer":"*","es-define-property":"*","eventsource-parser":"*","express-rate-limit":"*","webidl-conversions":"*","xml-name-validator":"*","zod-to-json-schema":"*","@bramus/specificity":"*","@protobufjs/codegen":"*","content-disposition":"*","ecdsa-sig-formatter":"*","google-auth-library":"*","require-from-string":"*","@aws-sdk/xml-builder":"*","@mistralai/mistralai":"2.5.0","@mozilla/readability":"0.6.0","@smithy/signature-v4":"*","get-east-asian-width":"1.6.0","google-logging-utils":"*","json-schema-traverse":"*","side-channel-weakmap":"*","web-streams-polyfill":"*","@asamuzakjp/css-color":"*","@aws-crypto/sha256-js":"*","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@^2026.7.29-3","@protobufjs/aspromise":"*","html-encoding-sniffer":"*","@earendil-works/pi-pty":"npm:@code-yeongyu/senpi-pty@^2026.7.29-3","@earendil-works/pi-tui":"npm:@code-yeongyu/senpi-tui@^2026.7.29-3","@aws-sdk/nested-clients":"*","@csstools/color-helpers":"*","@csstools/css-tokenizer":"*","@mariozechner/clipboard":"*","@smithy/is-array-buffer":"*","call-bind-apply-helpers":"*","@asamuzakjp/dom-selector":"*","@aws-sdk/token-providers":"*","@aws/lambda-invoke-store":"*","@protobufjs/eventemitter":"*","@smithy/util-buffer-from":"*","@modelcontextprotocol/sdk":"1.29.0","@smithy/node-http-handler":"4.9.11","@aws-crypto/sha256-browser":"*","@csstools/css-color-parser":"*","@silvia-odwyer/photon-node":"0.3.4","@smithy/fetch-http-handler":"*","buffer-equal-constant-time":"*","@aws-sdk/util-locate-window":"*","@babel/helper-string-parser":"*","@code-yeongyu/senpi-codemode":"^2026.7.29-3","@aws-sdk/middleware-websocket":"*","@earendil-works/pi-agent-core":"npm:@code-yeongyu/senpi-agent-core@^2026.7.29-3","@anthropic-ai/claude-agent-sdk":"0.3.220","@asamuzakjp/generational-cache":"*","@aws-crypto/supports-web-crypto":"*","@aws-sdk/client-bedrock-runtime":"3.1095.0","@aws-sdk/middleware-eventstream":"*","@csstools/css-parser-algorithms":"*","@aws-sdk/credential-provider-env":"*","@aws-sdk/credential-provider-ini":"*","@aws-sdk/credential-provider-sso":"*","@smithy/credential-provider-imds":"*","is-potential-custom-element-name":"*","@aws-sdk/credential-provider-http":"*","@aws-sdk/credential-provider-node":"*","@aws-sdk/eventstream-handler-node":"*","@aws-sdk/credential-provider-login":"*","@aws-sdk/signature-v4-multi-region":"*","@babel/helper-validator-identifier":"*","@opentelemetry/semantic-conventions":"*","@aws-sdk/credential-provider-process":"*","@csstools/css-syntax-patches-for-csstree":"*","@aws-sdk/credential-provider-web-identity":"*"},"_hasShrinkwrap":false,"devDependencies":{"shx":"0.4.0","vitest":"4.1.10","@types/ms":"2.1.0","@types/ws":"8.18.1","typescript":"6.0.3","@types/node":"26.1.1","@types/jsdom":"28.0.3","@types/semver":"7.7.1","@types/turndown":"5.0.6","@types/picomatch":"4.0.3","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@anthropic-ai/claude-agent-sdk","@anthropic-ai/sdk","@asamuzakjp/css-color","@asamuzakjp/dom-selector","@asamuzakjp/generational-cache","@asamuzakjp/nwsapi","@aws-crypto/sha256-browser","@aws-crypto/sha256-js","@aws-crypto/supports-web-crypto","@aws-crypto/util","@aws-sdk/client-bedrock-runtime","@aws-sdk/core","@aws-sdk/credential-provider-env","@aws-sdk/credential-provider-http","@aws-sdk/credential-provider-ini","@aws-sdk/credential-provider-login","@aws-sdk/credential-provider-node","@aws-sdk/credential-provider-process","@aws-sdk/credential-provider-sso","@aws-sdk/credential-provider-web-identity","@aws-sdk/eventstream-handler-node","@aws-sdk/middleware-eventstream","@aws-sdk/middleware-websocket","@aws-sdk/nested-clients","@aws-sdk/signature-v4-multi-region","@aws-sdk/token-providers","@aws-sdk/types","@aws-sdk/util-locate-window","@aws-sdk/xml-builder","@aws/lambda-invoke-store","@babel/helper-string-parser","@babel/helper-validator-identifier","@babel/parser","@babel/runtime","@babel/types","@bramus/specificity","@code-yeongyu/senpi-codemode","@csstools/color-helpers","@csstools/css-calc","@csstools/css-color-parser","@csstools/css-parser-algorithms","@csstools/css-syntax-patches-for-csstree","@csstools/css-tokenizer","@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-pty","@earendil-works/pi-tui","@exodus/bytes","@google/genai","@hono/node-server","@mariozechner/clipboard","@mistralai/mistralai","@mixmark-io/domino","@modelcontextprotocol/sdk","@mozilla/readability","@opentelemetry/api","@opentelemetry/semantic-conventions","@protobufjs/aspromise","@protobufjs/base64","@protobufjs/codegen","@protobufjs/eventemitter","@protobufjs/fetch","@protobufjs/float","@protobufjs/path","@protobufjs/pool","@protobufjs/utf8","@silvia-odwyer/photon-node","@smithy/core","@smithy/credential-provider-imds","@smithy/fetch-http-handler","@smithy/is-array-buffer","@smithy/node-http-handler","@smithy/signature-v4","@smithy/types","@smithy/util-buffer-from","@smithy/util-utf8","@types/node","@xterm/headless","accepts","agent-base","ajv","ajv-formats","balanced-match","base64-js","bidi-js","bignumber.js","body-parser","bowser","brace-expansion","buffer-equal-constant-time","bytes","call-bind-apply-helpers","call-bound","chalk","content-disposition","content-type","cookie","cookie-signature","cors","cross-spawn","css-tree","data-uri-to-buffer","data-urls","debug","decimal.js","depd","diff","dunder-proto","ecdsa-sig-formatter","ee-first","encodeurl","entities","es-define-property","es-errors","es-object-atoms","escape-html","etag","eventsource","eventsource-parser","express","express-rate-limit","extend","fast-deep-equal","fast-uri","fetch-blob","finalhandler","formdata-polyfill","forwarded","fresh","function-bind","gaxios","gcp-metadata","get-east-asian-width","get-intrinsic","get-proto","glob","google-auth-library","google-logging-utils","gopd","graceful-fs","has-symbols","hasown","highlight.js","hono","hosted-git-info","html-encoding-sniffer","http-errors","http-proxy-agent","https-proxy-agent","iconv-lite","ignore","inherits","ip-address","ipaddr.js","is-potential-custom-element-name","is-promise","isexe","jiti","jose","jsdom","json-bigint","json-schema-to-ts","json-schema-traverse","json-schema-typed","jwa","jws","long","lru-cache","marked","math-intrinsics","mdn-data","media-typer","merge-descriptors","mime-db","mime-types","minimatch","minipass","ms","negotiator","node-domexception","node-fetch","object-assign","object-inspect","on-finished","once","openai","p-retry","parse5","parseurl","partial-json","path-key","path-scurry","path-to-regexp","picomatch","pkce-challenge","proper-lockfile","protobufjs","proxy-addr","proxy-from-env","punycode","qs","range-parser","raw-body","require-from-string","retry","router","safe-buffer","safer-buffer","saxes","semver","send","serve-static","setprototypeof","shebang-command","shebang-regex","side-channel","side-channel-list","side-channel-map","side-channel-weakmap","signal-exit","source-map-js","statuses","symbol-tree","tldts","tldts-core","toidentifier","tough-cookie","tr46","ts-algebra","tslib","turndown","type-is","typebox","undici","unpipe","vary","w3c-xmlserializer","web-streams-polyfill","webidl-conversions","whatwg-mimetype","whatwg-url","which","wrappy","ws","xml-name-validator","xmlchars","yaml","zod","zod-to-json-schema"],"optionalDependencies":{"@mariozechner/clipboard":"0.3.9","@mariozechner/clipboard-darwin-x64":"0.3.9","@mariozechner/clipboard-darwin-arm64":"0.3.9","@mariozechner/clipboard-linux-x64-gnu":"0.3.9","@mariozechner/clipboard-linux-x64-musl":"0.3.9","@mariozechner/clipboard-win32-x64-msvc":"0.3.9","@mariozechner/clipboard-linux-arm64-gnu":"0.3.9","@anthropic-ai/claude-agent-sdk-linux-x64":"0.3.220","@anthropic-ai/claude-agent-sdk-win32-x64":"0.3.220","@mariozechner/clipboard-darwin-universal":"0.3.9","@mariozechner/clipboard-linux-arm64-musl":"0.3.9","@mariozechner/clipboard-win32-arm64-msvc":"0.3.9","@anthropic-ai/claude-agent-sdk-darwin-x64":"0.3.220","@mariozechner/clipboard-linux-riscv64-gnu":"0.3.9","@anthropic-ai/claude-agent-sdk-linux-arm64":"0.3.220","@anthropic-ai/claude-agent-sdk-win32-arm64":"0.3.220","@anthropic-ai/claude-agent-sdk-darwin-arm64":"0.3.220","@anthropic-ai/claude-agent-sdk-linux-x64-musl":"0.3.220","@anthropic-ai/claude-agent-sdk-linux-arm64-musl":"0.3.220"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.7.29-3_1785346502850_0.2117403472796846","host":"s3://npm-registry-packages-npm-production"}},"2026.7.29-4":{"name":"@code-yeongyu/senpi","version":"2026.7.29-4","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.7.29-4","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"senpi":"dist/cli.js"},"dist":{"shasum":"24502715a00c9415f8d72e2883458a3fab08b92d","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.7.29-4.tgz","fileCount":28683,"integrity":"sha512-eY/NYdpPpjkTaimX/BPa4uh4WGNBi5dPIb9BkZ6hToaMtaAPf51Tfehn+gwJiRauEvwrv1MU7MhvJuI6l8eoZA==","signatures":[{"sig":"MEUCIQDaEdKsLNMcuxBSMSaXvoYu+stcbt/ADK1gvnsLqMDcqgIgNKbjLLO2dUXRxVLBrHo7yHdNPdRuKeHD2uWkd3FtkTg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.7.29-4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":451000746},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./rpc-entry":{"import":"./dist/rpc-entry.js"}},"gitHead":"ebe69db88a8f7c6a6cbcc68b0af782b2ed762414","scripts":{"dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsgo -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js dist/rpc-entry.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/","build:binary":"npm --prefix ../tui run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm run build && bun build --compile --compile-autoload-package-json --external=css-tree --no-compile-autoload-dotenv --minify --keep-names ./dist/bun/cli.js ./src/utils/image-resize-worker.ts --outfile dist/pi && npm run copy-binary-assets","qa:app-server":"node scripts/qa-app-server/run-all.mjs","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/export-html/ && shx cp -r docs dist/ && shx cp -r examples dist/ && shx mkdir -p dist/node_modules && shx cp -r ../../node_modules/css-tree ../../node_modules/mdn-data ../../node_modules/source-map-js dist/node_modules/ && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/ && shx mkdir -p dist/native/darwin dist/native/win32 && shx cp -r ../../packages/tui/native/darwin/prebuilds dist/native/darwin/ && shx cp -r ../../packages/tui/native/win32/prebuilds dist/native/win32/ && node ../../scripts/copy-pty-native.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ea548fc8-dac4-4dec-a439-6f4fa3870309"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.2"},"rimraf":"6.1.2","protobufjs":"7.6.5","@hono/node-server":"2.0.10"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.16.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ms":"*","qs":"*","ws":"8.21.1","ajv":"*","jwa":"*","jws":"*","zod":"4.4.3","cors":"*","depd":"*","diff":"9.0.0","etag":"*","glob":"13.0.6","gopd":"*","hono":"*","jiti":"2.7.0","jose":"*","long":"*","once":"*","send":"*","tr46":"*","vary":"*","yaml":"2.9.0","bytes":"*","chalk":"6.0.0","debug":"*","fresh":"*","isexe":"*","jsdom":"29.1.1","retry":"*","saxes":"*","tldts":"*","tslib":"*","which":"*","bowser":"*","cookie":"*","extend":"*","gaxios":"*","hasown":"*","ignore":"7.0.6","marked":"18.0.7","openai":"6.26.0","parse5":"*","router":"*","semver":"7.8.5","undici":"8.9.0","unpipe":"*","wrappy":"*","accepts":"*","bidi-js":"*","express":"*","mime-db":"*","p-retry":"*","type-is":"*","typebox":"1.3.8","css-tree":"*","ee-first":"*","entities":"*","fast-uri":"*","inherits":"*","mdn-data":"*","minipass":"*","parseurl":"*","path-key":"*","punycode":"*","raw-body":"*","statuses":"*","turndown":"7.2.4","xmlchars":"*","base64-js":"*","data-urls":"*","encodeurl":"*","es-errors":"*","forwarded":"*","get-proto":"*","ipaddr.js":"*","lru-cache":"*","minimatch":"10.2.5","picomatch":"4.0.5","agent-base":"*","call-bound":"*","decimal.js":"*","fetch-blob":"*","iconv-lite":"*","ip-address":"*","is-promise":"*","mime-types":"*","negotiator":"*","node-fetch":"*","protobufjs":"*","proxy-addr":"*","tldts-core":"*","ts-algebra":"*","whatwg-url":"*","@types/node":"*","ajv-formats":"*","body-parser":"*","cross-spawn":"7.0.6","escape-html":"*","eventsource":"*","graceful-fs":"*","has-symbols":"*","http-errors":"*","json-bigint":"*","media-typer":"*","on-finished":"*","path-scurry":"*","safe-buffer":"*","signal-exit":"*","symbol-tree":"*","@babel/types":"*","@smithy/core":"*","bignumber.js":"*","content-type":"*","dunder-proto":"*","finalhandler":"*","gcp-metadata":"*","highlight.js":"11.11.1","partial-json":"0.1.7","range-parser":"*","safer-buffer":"*","serve-static":"*","side-channel":"*","toidentifier":"*","tough-cookie":"*","@aws-sdk/core":"*","@babel/parser":"*","@exodus/bytes":"*","@google/genai":"*","@smithy/types":"4.16.1","function-bind":"*","get-intrinsic":"*","object-assign":"*","shebang-regex":"*","source-map-js":"*","@aws-sdk/types":"*","@babel/runtime":"*","balanced-match":"*","object-inspect":"*","path-to-regexp":"*","pkce-challenge":"*","proxy-from-env":"2.1.0","setprototypeof":"*","@xterm/headless":"*","brace-expansion":"*","es-object-atoms":"*","fast-deep-equal":"*","hosted-git-info":"10.1.1","math-intrinsics":"*","proper-lockfile":"4.1.2","shebang-command":"*","whatwg-mimetype":"*","@aws-crypto/util":"*","@protobufjs/path":"*","@protobufjs/pool":"*","@protobufjs/utf8":"*","cookie-signature":"*","http-proxy-agent":"9.1.0","side-channel-map":"*","@anthropic-ai/sdk":"0.91.1","@hono/node-server":"*","@protobufjs/fetch":"*","@protobufjs/float":"*","@smithy/util-utf8":"*","formdata-polyfill":"*","https-proxy-agent":"9.1.0","json-schema-to-ts":"*","json-schema-typed":"*","merge-descriptors":"*","node-domexception":"*","side-channel-list":"*","w3c-xmlserializer":"*","@asamuzakjp/nwsapi":"*","@csstools/css-calc":"*","@mixmark-io/domino":"*","@opentelemetry/api":"1.9.1","@protobufjs/base64":"*","data-uri-to-buffer":"*","es-define-property":"*","eventsource-parser":"*","express-rate-limit":"*","webidl-conversions":"*","xml-name-validator":"*","zod-to-json-schema":"*","@bramus/specificity":"*","@protobufjs/codegen":"*","content-disposition":"*","ecdsa-sig-formatter":"*","google-auth-library":"*","require-from-string":"*","@aws-sdk/xml-builder":"*","@mistralai/mistralai":"2.5.0","@mozilla/readability":"0.6.0","@smithy/signature-v4":"*","get-east-asian-width":"1.6.0","google-logging-utils":"*","json-schema-traverse":"*","side-channel-weakmap":"*","web-streams-polyfill":"*","@asamuzakjp/css-color":"*","@aws-crypto/sha256-js":"*","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@^2026.7.29-4","@protobufjs/aspromise":"*","html-encoding-sniffer":"*","@earendil-works/pi-pty":"npm:@code-yeongyu/senpi-pty@^2026.7.29-4","@earendil-works/pi-tui":"npm:@code-yeongyu/senpi-tui@^2026.7.29-4","@aws-sdk/nested-clients":"*","@csstools/color-helpers":"*","@csstools/css-tokenizer":"*","@mariozechner/clipboard":"*","@smithy/is-array-buffer":"*","call-bind-apply-helpers":"*","@asamuzakjp/dom-selector":"*","@aws-sdk/token-providers":"*","@aws/lambda-invoke-store":"*","@protobufjs/eventemitter":"*","@smithy/util-buffer-from":"*","@modelcontextprotocol/sdk":"1.29.0","@smithy/node-http-handler":"4.9.11","@aws-crypto/sha256-browser":"*","@csstools/css-color-parser":"*","@silvia-odwyer/photon-node":"0.3.4","@smithy/fetch-http-handler":"*","buffer-equal-constant-time":"*","@aws-sdk/util-locate-window":"*","@babel/helper-string-parser":"*","@code-yeongyu/senpi-codemode":"^2026.7.29-4","@aws-sdk/middleware-websocket":"*","@earendil-works/pi-agent-core":"npm:@code-yeongyu/senpi-agent-core@^2026.7.29-4","@anthropic-ai/claude-agent-sdk":"0.3.220","@asamuzakjp/generational-cache":"*","@aws-crypto/supports-web-crypto":"*","@aws-sdk/client-bedrock-runtime":"3.1095.0","@aws-sdk/middleware-eventstream":"*","@csstools/css-parser-algorithms":"*","@aws-sdk/credential-provider-env":"*","@aws-sdk/credential-provider-ini":"*","@aws-sdk/credential-provider-sso":"*","@smithy/credential-provider-imds":"*","is-potential-custom-element-name":"*","@aws-sdk/credential-provider-http":"*","@aws-sdk/credential-provider-node":"*","@aws-sdk/eventstream-handler-node":"*","@aws-sdk/credential-provider-login":"*","@aws-sdk/signature-v4-multi-region":"*","@babel/helper-validator-identifier":"*","@opentelemetry/semantic-conventions":"*","@aws-sdk/credential-provider-process":"*","@csstools/css-syntax-patches-for-csstree":"*","@aws-sdk/credential-provider-web-identity":"*"},"_hasShrinkwrap":false,"devDependencies":{"shx":"0.4.0","vitest":"4.1.10","@types/ms":"2.1.0","@types/ws":"8.18.1","typescript":"6.0.3","@types/node":"26.1.1","@types/jsdom":"28.0.3","@types/semver":"7.7.1","@types/turndown":"5.0.6","@types/picomatch":"4.0.3","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@anthropic-ai/claude-agent-sdk","@anthropic-ai/sdk","@asamuzakjp/css-color","@asamuzakjp/dom-selector","@asamuzakjp/generational-cache","@asamuzakjp/nwsapi","@aws-crypto/sha256-browser","@aws-crypto/sha256-js","@aws-crypto/supports-web-crypto","@aws-crypto/util","@aws-sdk/client-bedrock-runtime","@aws-sdk/core","@aws-sdk/credential-provider-env","@aws-sdk/credential-provider-http","@aws-sdk/credential-provider-ini","@aws-sdk/credential-provider-login","@aws-sdk/credential-provider-node","@aws-sdk/credential-provider-process","@aws-sdk/credential-provider-sso","@aws-sdk/credential-provider-web-identity","@aws-sdk/eventstream-handler-node","@aws-sdk/middleware-eventstream","@aws-sdk/middleware-websocket","@aws-sdk/nested-clients","@aws-sdk/signature-v4-multi-region","@aws-sdk/token-providers","@aws-sdk/types","@aws-sdk/util-locate-window","@aws-sdk/xml-builder","@aws/lambda-invoke-store","@babel/helper-string-parser","@babel/helper-validator-identifier","@babel/parser","@babel/runtime","@babel/types","@bramus/specificity","@code-yeongyu/senpi-codemode","@csstools/color-helpers","@csstools/css-calc","@csstools/css-color-parser","@csstools/css-parser-algorithms","@csstools/css-syntax-patches-for-csstree","@csstools/css-tokenizer","@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-pty","@earendil-works/pi-tui","@exodus/bytes","@google/genai","@hono/node-server","@mariozechner/clipboard","@mistralai/mistralai","@mixmark-io/domino","@modelcontextprotocol/sdk","@mozilla/readability","@opentelemetry/api","@opentelemetry/semantic-conventions","@protobufjs/aspromise","@protobufjs/base64","@protobufjs/codegen","@protobufjs/eventemitter","@protobufjs/fetch","@protobufjs/float","@protobufjs/path","@protobufjs/pool","@protobufjs/utf8","@silvia-odwyer/photon-node","@smithy/core","@smithy/credential-provider-imds","@smithy/fetch-http-handler","@smithy/is-array-buffer","@smithy/node-http-handler","@smithy/signature-v4","@smithy/types","@smithy/util-buffer-from","@smithy/util-utf8","@types/node","@xterm/headless","accepts","agent-base","ajv","ajv-formats","balanced-match","base64-js","bidi-js","bignumber.js","body-parser","bowser","brace-expansion","buffer-equal-constant-time","bytes","call-bind-apply-helpers","call-bound","chalk","content-disposition","content-type","cookie","cookie-signature","cors","cross-spawn","css-tree","data-uri-to-buffer","data-urls","debug","decimal.js","depd","diff","dunder-proto","ecdsa-sig-formatter","ee-first","encodeurl","entities","es-define-property","es-errors","es-object-atoms","escape-html","etag","eventsource","eventsource-parser","express","express-rate-limit","extend","fast-deep-equal","fast-uri","fetch-blob","finalhandler","formdata-polyfill","forwarded","fresh","function-bind","gaxios","gcp-metadata","get-east-asian-width","get-intrinsic","get-proto","glob","google-auth-library","google-logging-utils","gopd","graceful-fs","has-symbols","hasown","highlight.js","hono","hosted-git-info","html-encoding-sniffer","http-errors","http-proxy-agent","https-proxy-agent","iconv-lite","ignore","inherits","ip-address","ipaddr.js","is-potential-custom-element-name","is-promise","isexe","jiti","jose","jsdom","json-bigint","json-schema-to-ts","json-schema-traverse","json-schema-typed","jwa","jws","long","lru-cache","marked","math-intrinsics","mdn-data","media-typer","merge-descriptors","mime-db","mime-types","minimatch","minipass","ms","negotiator","node-domexception","node-fetch","object-assign","object-inspect","on-finished","once","openai","p-retry","parse5","parseurl","partial-json","path-key","path-scurry","path-to-regexp","picomatch","pkce-challenge","proper-lockfile","protobufjs","proxy-addr","proxy-from-env","punycode","qs","range-parser","raw-body","require-from-string","retry","router","safe-buffer","safer-buffer","saxes","semver","send","serve-static","setprototypeof","shebang-command","shebang-regex","side-channel","side-channel-list","side-channel-map","side-channel-weakmap","signal-exit","source-map-js","statuses","symbol-tree","tldts","tldts-core","toidentifier","tough-cookie","tr46","ts-algebra","tslib","turndown","type-is","typebox","undici","unpipe","vary","w3c-xmlserializer","web-streams-polyfill","webidl-conversions","whatwg-mimetype","whatwg-url","which","wrappy","ws","xml-name-validator","xmlchars","yaml","zod","zod-to-json-schema"],"optionalDependencies":{"@mariozechner/clipboard":"0.3.9","@mariozechner/clipboard-darwin-x64":"0.3.9","@mariozechner/clipboard-darwin-arm64":"0.3.9","@mariozechner/clipboard-linux-x64-gnu":"0.3.9","@mariozechner/clipboard-linux-x64-musl":"0.3.9","@mariozechner/clipboard-win32-x64-msvc":"0.3.9","@mariozechner/clipboard-linux-arm64-gnu":"0.3.9","@anthropic-ai/claude-agent-sdk-linux-x64":"0.3.220","@anthropic-ai/claude-agent-sdk-win32-x64":"0.3.220","@mariozechner/clipboard-darwin-universal":"0.3.9","@mariozechner/clipboard-linux-arm64-musl":"0.3.9","@mariozechner/clipboard-win32-arm64-msvc":"0.3.9","@anthropic-ai/claude-agent-sdk-darwin-x64":"0.3.220","@mariozechner/clipboard-linux-riscv64-gnu":"0.3.9","@anthropic-ai/claude-agent-sdk-linux-arm64":"0.3.220","@anthropic-ai/claude-agent-sdk-win32-arm64":"0.3.220","@anthropic-ai/claude-agent-sdk-darwin-arm64":"0.3.220","@anthropic-ai/claude-agent-sdk-linux-x64-musl":"0.3.220","@anthropic-ai/claude-agent-sdk-linux-arm64-musl":"0.3.220"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.7.29-4_1785348611454_0.3706077783342132","host":"s3://npm-registry-packages-npm-production"}},"2026.7.29-5":{"name":"@code-yeongyu/senpi","version":"2026.7.29-5","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.7.29-5","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"senpi":"dist/cli.js"},"dist":{"shasum":"495599904d63e50d26447d2aac82af1075ab6692","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.7.29-5.tgz","fileCount":28674,"integrity":"sha512-LRXN/P6wHHNWBYu8LypH6SaIQPx++sQV7fOmXIcXM9ophO+85nVCOfFN6cZvXAOc1iph69rrIWCEVFlt9fkm4Q==","signatures":[{"sig":"MEQCIHoDJ7HBjcj02qpybVOXtk1oQ+hTmBshqQWe9yCmArnQAiAEjwwGz1VY3NL4aHYKvu1YlP2iqwNBkdxmwN1eeK4ZBw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.7.29-5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":174608671},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./rpc-entry":{"import":"./dist/rpc-entry.js"}},"gitHead":"fa2128d939e94039ccec1792021df4701e6bd159","scripts":{"dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsgo -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js dist/rpc-entry.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/","build:binary":"npm --prefix ../tui run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm run build && bun build --compile --compile-autoload-package-json --external=css-tree --no-compile-autoload-dotenv --minify --keep-names ./dist/bun/cli.js ./src/utils/image-resize-worker.ts --outfile dist/pi && npm run copy-binary-assets","qa:app-server":"node scripts/qa-app-server/run-all.mjs","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/export-html/ && shx cp -r docs dist/ && shx cp -r examples dist/ && shx mkdir -p dist/node_modules && shx cp -r ../../node_modules/css-tree ../../node_modules/mdn-data ../../node_modules/source-map-js dist/node_modules/ && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/ && shx mkdir -p dist/native/darwin dist/native/win32 && shx cp -r ../../packages/tui/native/darwin/prebuilds dist/native/darwin/ && shx cp -r ../../packages/tui/native/win32/prebuilds dist/native/win32/ && node ../../scripts/copy-pty-native.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ea548fc8-dac4-4dec-a439-6f4fa3870309"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.2"},"rimraf":"6.1.2","protobufjs":"7.6.5","@hono/node-server":"2.0.10"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.16.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ms":"*","qs":"*","ws":"8.21.1","ajv":"*","jwa":"*","jws":"*","zod":"4.4.3","cors":"*","depd":"*","diff":"9.0.0","etag":"*","glob":"13.0.6","gopd":"*","hono":"*","jiti":"2.7.0","jose":"*","long":"*","once":"*","send":"*","tr46":"*","vary":"*","yaml":"2.9.0","bytes":"*","chalk":"6.0.0","debug":"*","fresh":"*","isexe":"*","jsdom":"29.1.1","retry":"*","saxes":"*","tldts":"*","tslib":"*","which":"*","bowser":"*","cookie":"*","extend":"*","gaxios":"*","hasown":"*","ignore":"7.0.6","marked":"18.0.7","openai":"6.26.0","parse5":"*","router":"*","semver":"7.8.5","undici":"8.9.0","unpipe":"*","wrappy":"*","accepts":"*","bidi-js":"*","express":"*","mime-db":"*","p-retry":"*","type-is":"*","typebox":"1.3.8","css-tree":"*","ee-first":"*","entities":"*","fast-uri":"*","inherits":"*","mdn-data":"*","minipass":"*","parseurl":"*","path-key":"*","punycode":"*","raw-body":"*","statuses":"*","turndown":"7.2.4","xmlchars":"*","base64-js":"*","data-urls":"*","encodeurl":"*","es-errors":"*","forwarded":"*","get-proto":"*","ipaddr.js":"*","lru-cache":"*","minimatch":"10.2.5","picomatch":"4.0.5","agent-base":"*","call-bound":"*","decimal.js":"*","fetch-blob":"*","iconv-lite":"*","ip-address":"*","is-promise":"*","mime-types":"*","negotiator":"*","node-fetch":"*","protobufjs":"*","proxy-addr":"*","tldts-core":"*","ts-algebra":"*","whatwg-url":"*","@types/node":"*","ajv-formats":"*","body-parser":"*","cross-spawn":"7.0.6","escape-html":"*","eventsource":"*","graceful-fs":"*","has-symbols":"*","http-errors":"*","json-bigint":"*","media-typer":"*","on-finished":"*","path-scurry":"*","safe-buffer":"*","signal-exit":"*","symbol-tree":"*","@babel/types":"*","@smithy/core":"*","bignumber.js":"*","content-type":"*","dunder-proto":"*","finalhandler":"*","gcp-metadata":"*","highlight.js":"11.11.1","partial-json":"0.1.7","range-parser":"*","safer-buffer":"*","serve-static":"*","side-channel":"*","toidentifier":"*","tough-cookie":"*","@aws-sdk/core":"*","@babel/parser":"*","@exodus/bytes":"*","@google/genai":"*","@smithy/types":"4.16.1","function-bind":"*","get-intrinsic":"*","object-assign":"*","shebang-regex":"*","source-map-js":"*","@aws-sdk/types":"*","@babel/runtime":"*","balanced-match":"*","object-inspect":"*","path-to-regexp":"*","pkce-challenge":"*","proxy-from-env":"2.1.0","setprototypeof":"*","@xterm/headless":"*","brace-expansion":"*","es-object-atoms":"*","fast-deep-equal":"*","hosted-git-info":"10.1.1","math-intrinsics":"*","proper-lockfile":"4.1.2","shebang-command":"*","whatwg-mimetype":"*","@aws-crypto/util":"*","@protobufjs/path":"*","@protobufjs/pool":"*","@protobufjs/utf8":"*","cookie-signature":"*","http-proxy-agent":"9.1.0","side-channel-map":"*","@anthropic-ai/sdk":"0.91.1","@hono/node-server":"*","@protobufjs/fetch":"*","@protobufjs/float":"*","@smithy/util-utf8":"*","formdata-polyfill":"*","https-proxy-agent":"9.1.0","json-schema-to-ts":"*","json-schema-typed":"*","merge-descriptors":"*","node-domexception":"*","side-channel-list":"*","w3c-xmlserializer":"*","@asamuzakjp/nwsapi":"*","@csstools/css-calc":"*","@mixmark-io/domino":"*","@opentelemetry/api":"1.9.1","@protobufjs/base64":"*","data-uri-to-buffer":"*","es-define-property":"*","eventsource-parser":"*","express-rate-limit":"*","webidl-conversions":"*","xml-name-validator":"*","zod-to-json-schema":"*","@bramus/specificity":"*","@protobufjs/codegen":"*","content-disposition":"*","ecdsa-sig-formatter":"*","google-auth-library":"*","require-from-string":"*","@aws-sdk/xml-builder":"*","@mistralai/mistralai":"2.5.0","@mozilla/readability":"0.6.0","@smithy/signature-v4":"*","get-east-asian-width":"1.6.0","google-logging-utils":"*","json-schema-traverse":"*","side-channel-weakmap":"*","web-streams-polyfill":"*","@asamuzakjp/css-color":"*","@aws-crypto/sha256-js":"*","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@^2026.7.29-5","@protobufjs/aspromise":"*","html-encoding-sniffer":"*","@earendil-works/pi-pty":"npm:@code-yeongyu/senpi-pty@^2026.7.29-5","@earendil-works/pi-tui":"npm:@code-yeongyu/senpi-tui@^2026.7.29-5","@aws-sdk/nested-clients":"*","@csstools/color-helpers":"*","@csstools/css-tokenizer":"*","@mariozechner/clipboard":"*","@smithy/is-array-buffer":"*","call-bind-apply-helpers":"*","@asamuzakjp/dom-selector":"*","@aws-sdk/token-providers":"*","@aws/lambda-invoke-store":"*","@protobufjs/eventemitter":"*","@smithy/util-buffer-from":"*","@modelcontextprotocol/sdk":"1.29.0","@smithy/node-http-handler":"4.9.11","@aws-crypto/sha256-browser":"*","@csstools/css-color-parser":"*","@silvia-odwyer/photon-node":"0.3.4","@smithy/fetch-http-handler":"*","buffer-equal-constant-time":"*","@aws-sdk/util-locate-window":"*","@babel/helper-string-parser":"*","@code-yeongyu/senpi-codemode":"^2026.7.29-5","@aws-sdk/middleware-websocket":"*","@earendil-works/pi-agent-core":"npm:@code-yeongyu/senpi-agent-core@^2026.7.29-5","@anthropic-ai/claude-agent-sdk":"0.3.220","@asamuzakjp/generational-cache":"*","@aws-crypto/supports-web-crypto":"*","@aws-sdk/client-bedrock-runtime":"3.1095.0","@aws-sdk/middleware-eventstream":"*","@csstools/css-parser-algorithms":"*","@aws-sdk/credential-provider-env":"*","@aws-sdk/credential-provider-ini":"*","@aws-sdk/credential-provider-sso":"*","@smithy/credential-provider-imds":"*","is-potential-custom-element-name":"*","@aws-sdk/credential-provider-http":"*","@aws-sdk/credential-provider-node":"*","@aws-sdk/eventstream-handler-node":"*","@aws-sdk/credential-provider-login":"*","@aws-sdk/signature-v4-multi-region":"*","@babel/helper-validator-identifier":"*","@opentelemetry/semantic-conventions":"*","@aws-sdk/credential-provider-process":"*","@csstools/css-syntax-patches-for-csstree":"*","@aws-sdk/credential-provider-web-identity":"*"},"_hasShrinkwrap":false,"devDependencies":{"shx":"0.4.0","vitest":"4.1.10","@types/ms":"2.1.0","@types/ws":"8.18.1","typescript":"6.0.3","@types/node":"26.1.1","@types/jsdom":"28.0.3","@types/semver":"7.7.1","@types/turndown":"5.0.6","@types/picomatch":"4.0.3","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@anthropic-ai/claude-agent-sdk","@anthropic-ai/sdk","@asamuzakjp/css-color","@asamuzakjp/dom-selector","@asamuzakjp/generational-cache","@asamuzakjp/nwsapi","@aws-crypto/sha256-browser","@aws-crypto/sha256-js","@aws-crypto/supports-web-crypto","@aws-crypto/util","@aws-sdk/client-bedrock-runtime","@aws-sdk/core","@aws-sdk/credential-provider-env","@aws-sdk/credential-provider-http","@aws-sdk/credential-provider-ini","@aws-sdk/credential-provider-login","@aws-sdk/credential-provider-node","@aws-sdk/credential-provider-process","@aws-sdk/credential-provider-sso","@aws-sdk/credential-provider-web-identity","@aws-sdk/eventstream-handler-node","@aws-sdk/middleware-eventstream","@aws-sdk/middleware-websocket","@aws-sdk/nested-clients","@aws-sdk/signature-v4-multi-region","@aws-sdk/token-providers","@aws-sdk/types","@aws-sdk/util-locate-window","@aws-sdk/xml-builder","@aws/lambda-invoke-store","@babel/helper-string-parser","@babel/helper-validator-identifier","@babel/parser","@babel/runtime","@babel/types","@bramus/specificity","@code-yeongyu/senpi-codemode","@csstools/color-helpers","@csstools/css-calc","@csstools/css-color-parser","@csstools/css-parser-algorithms","@csstools/css-syntax-patches-for-csstree","@csstools/css-tokenizer","@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-pty","@earendil-works/pi-tui","@exodus/bytes","@google/genai","@hono/node-server","@mariozechner/clipboard","@mistralai/mistralai","@mixmark-io/domino","@modelcontextprotocol/sdk","@mozilla/readability","@opentelemetry/api","@opentelemetry/semantic-conventions","@protobufjs/aspromise","@protobufjs/base64","@protobufjs/codegen","@protobufjs/eventemitter","@protobufjs/fetch","@protobufjs/float","@protobufjs/path","@protobufjs/pool","@protobufjs/utf8","@silvia-odwyer/photon-node","@smithy/core","@smithy/credential-provider-imds","@smithy/fetch-http-handler","@smithy/is-array-buffer","@smithy/node-http-handler","@smithy/signature-v4","@smithy/types","@smithy/util-buffer-from","@smithy/util-utf8","@types/node","@xterm/headless","accepts","agent-base","ajv","ajv-formats","balanced-match","base64-js","bidi-js","bignumber.js","body-parser","bowser","brace-expansion","buffer-equal-constant-time","bytes","call-bind-apply-helpers","call-bound","chalk","content-disposition","content-type","cookie","cookie-signature","cors","cross-spawn","css-tree","data-uri-to-buffer","data-urls","debug","decimal.js","depd","diff","dunder-proto","ecdsa-sig-formatter","ee-first","encodeurl","entities","es-define-property","es-errors","es-object-atoms","escape-html","etag","eventsource","eventsource-parser","express","express-rate-limit","extend","fast-deep-equal","fast-uri","fetch-blob","finalhandler","formdata-polyfill","forwarded","fresh","function-bind","gaxios","gcp-metadata","get-east-asian-width","get-intrinsic","get-proto","glob","google-auth-library","google-logging-utils","gopd","graceful-fs","has-symbols","hasown","highlight.js","hono","hosted-git-info","html-encoding-sniffer","http-errors","http-proxy-agent","https-proxy-agent","iconv-lite","ignore","inherits","ip-address","ipaddr.js","is-potential-custom-element-name","is-promise","isexe","jiti","jose","jsdom","json-bigint","json-schema-to-ts","json-schema-traverse","json-schema-typed","jwa","jws","long","lru-cache","marked","math-intrinsics","mdn-data","media-typer","merge-descriptors","mime-db","mime-types","minimatch","minipass","ms","negotiator","node-domexception","node-fetch","object-assign","object-inspect","on-finished","once","openai","p-retry","parse5","parseurl","partial-json","path-key","path-scurry","path-to-regexp","picomatch","pkce-challenge","proper-lockfile","protobufjs","proxy-addr","proxy-from-env","punycode","qs","range-parser","raw-body","require-from-string","retry","router","safe-buffer","safer-buffer","saxes","semver","send","serve-static","setprototypeof","shebang-command","shebang-regex","side-channel","side-channel-list","side-channel-map","side-channel-weakmap","signal-exit","source-map-js","statuses","symbol-tree","tldts","tldts-core","toidentifier","tough-cookie","tr46","ts-algebra","tslib","turndown","type-is","typebox","undici","unpipe","vary","w3c-xmlserializer","web-streams-polyfill","webidl-conversions","whatwg-mimetype","whatwg-url","which","wrappy","ws","xml-name-validator","xmlchars","yaml","zod","zod-to-json-schema"],"optionalDependencies":{"@mariozechner/clipboard":"0.3.9","@mariozechner/clipboard-darwin-x64":"0.3.9","@mariozechner/clipboard-darwin-arm64":"0.3.9","@mariozechner/clipboard-linux-x64-gnu":"0.3.9","@mariozechner/clipboard-linux-x64-musl":"0.3.9","@mariozechner/clipboard-win32-x64-msvc":"0.3.9","@mariozechner/clipboard-linux-arm64-gnu":"0.3.9","@anthropic-ai/claude-agent-sdk-linux-x64":"0.3.220","@anthropic-ai/claude-agent-sdk-win32-x64":"0.3.220","@mariozechner/clipboard-darwin-universal":"0.3.9","@mariozechner/clipboard-linux-arm64-musl":"0.3.9","@mariozechner/clipboard-win32-arm64-msvc":"0.3.9","@anthropic-ai/claude-agent-sdk-darwin-x64":"0.3.220","@mariozechner/clipboard-linux-riscv64-gnu":"0.3.9","@anthropic-ai/claude-agent-sdk-linux-arm64":"0.3.220","@anthropic-ai/claude-agent-sdk-win32-arm64":"0.3.220","@anthropic-ai/claude-agent-sdk-darwin-arm64":"0.3.220","@anthropic-ai/claude-agent-sdk-linux-x64-musl":"0.3.220","@anthropic-ai/claude-agent-sdk-linux-arm64-musl":"0.3.220"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.7.29-5_1785354058642_0.38613392032737903","host":"s3://npm-registry-packages-npm-production"}},"2026.7.29-6":{"name":"@code-yeongyu/senpi","version":"2026.7.29-6","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.7.29-6","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"senpi":"dist/cli.js"},"dist":{"shasum":"3ec5a5fceba2d7a78fcfec06b6e95f2e2dc263c0","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.7.29-6.tgz","fileCount":28674,"integrity":"sha512-Bw6q9geq8AKzBPOsCfWIhT5RpIgpgadowWf9tjw6wTKPsryKEYKbwNH5tLe2a0owjCUeCfbDi33P7AqURPBAbg==","signatures":[{"sig":"MEUCIQCJEVVpLHrtVAa8SwJb8KJBDarclE0V0pIu3dkqBzzv7gIgH0uqDb6b7Kt5wuT8l10SqejAeaC3efGJ+U9qwkjOOIw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.7.29-6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":174607889},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./rpc-entry":{"import":"./dist/rpc-entry.js"}},"gitHead":"44168f3d83967984c9594aa8db88adb5c2ce6119","scripts":{"dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsgo -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js dist/rpc-entry.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/","build:binary":"npm --prefix ../tui run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm run build && bun build --compile --compile-autoload-package-json --external=css-tree --no-compile-autoload-dotenv --minify --keep-names ./dist/bun/cli.js ./src/utils/image-resize-worker.ts --outfile dist/pi && npm run copy-binary-assets","qa:app-server":"node scripts/qa-app-server/run-all.mjs","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/export-html/ && shx cp -r docs dist/ && shx cp -r examples dist/ && shx mkdir -p dist/node_modules && shx cp -r ../../node_modules/css-tree ../../node_modules/mdn-data ../../node_modules/source-map-js dist/node_modules/ && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/ && shx mkdir -p dist/native/darwin dist/native/win32 && shx cp -r ../../packages/tui/native/darwin/prebuilds dist/native/darwin/ && shx cp -r ../../packages/tui/native/win32/prebuilds dist/native/win32/ && node ../../scripts/copy-pty-native.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ea548fc8-dac4-4dec-a439-6f4fa3870309"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.2"},"rimraf":"6.1.2","protobufjs":"7.6.5","@hono/node-server":"2.0.10"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.16.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ms":"*","qs":"*","ws":"8.21.1","ajv":"*","jwa":"*","jws":"*","zod":"4.4.3","cors":"*","depd":"*","diff":"9.0.0","etag":"*","glob":"13.0.6","gopd":"*","hono":"*","jiti":"2.7.0","jose":"*","long":"*","once":"*","send":"*","tr46":"*","vary":"*","yaml":"2.9.0","bytes":"*","chalk":"6.0.0","debug":"*","fresh":"*","isexe":"*","jsdom":"29.1.1","retry":"*","saxes":"*","tldts":"*","tslib":"*","which":"*","bowser":"*","cookie":"*","extend":"*","gaxios":"*","hasown":"*","ignore":"7.0.6","marked":"18.0.7","openai":"6.26.0","parse5":"*","router":"*","semver":"7.8.5","undici":"8.9.0","unpipe":"*","wrappy":"*","accepts":"*","bidi-js":"*","express":"*","mime-db":"*","p-retry":"*","type-is":"*","typebox":"1.3.8","css-tree":"*","ee-first":"*","entities":"*","fast-uri":"*","inherits":"*","mdn-data":"*","minipass":"*","parseurl":"*","path-key":"*","punycode":"*","raw-body":"*","statuses":"*","turndown":"7.2.4","xmlchars":"*","base64-js":"*","data-urls":"*","encodeurl":"*","es-errors":"*","forwarded":"*","get-proto":"*","ipaddr.js":"*","lru-cache":"*","minimatch":"10.2.5","picomatch":"4.0.5","agent-base":"*","call-bound":"*","decimal.js":"*","fetch-blob":"*","iconv-lite":"*","ip-address":"*","is-promise":"*","mime-types":"*","negotiator":"*","node-fetch":"*","protobufjs":"*","proxy-addr":"*","tldts-core":"*","ts-algebra":"*","whatwg-url":"*","@types/node":"*","ajv-formats":"*","body-parser":"*","cross-spawn":"7.0.6","escape-html":"*","eventsource":"*","graceful-fs":"*","has-symbols":"*","http-errors":"*","json-bigint":"*","media-typer":"*","on-finished":"*","path-scurry":"*","safe-buffer":"*","signal-exit":"*","symbol-tree":"*","@babel/types":"*","@smithy/core":"*","bignumber.js":"*","content-type":"*","dunder-proto":"*","finalhandler":"*","gcp-metadata":"*","highlight.js":"11.11.1","partial-json":"0.1.7","range-parser":"*","safer-buffer":"*","serve-static":"*","side-channel":"*","toidentifier":"*","tough-cookie":"*","@aws-sdk/core":"*","@babel/parser":"*","@exodus/bytes":"*","@google/genai":"*","@smithy/types":"4.16.1","function-bind":"*","get-intrinsic":"*","object-assign":"*","shebang-regex":"*","source-map-js":"*","@aws-sdk/types":"*","@babel/runtime":"*","balanced-match":"*","object-inspect":"*","path-to-regexp":"*","pkce-challenge":"*","proxy-from-env":"2.1.0","setprototypeof":"*","@xterm/headless":"*","brace-expansion":"*","es-object-atoms":"*","fast-deep-equal":"*","hosted-git-info":"10.1.1","math-intrinsics":"*","proper-lockfile":"4.1.2","shebang-command":"*","whatwg-mimetype":"*","@aws-crypto/util":"*","@protobufjs/path":"*","@protobufjs/pool":"*","@protobufjs/utf8":"*","cookie-signature":"*","http-proxy-agent":"9.1.0","side-channel-map":"*","@anthropic-ai/sdk":"0.91.1","@hono/node-server":"*","@protobufjs/fetch":"*","@protobufjs/float":"*","@smithy/util-utf8":"*","formdata-polyfill":"*","https-proxy-agent":"9.1.0","json-schema-to-ts":"*","json-schema-typed":"*","merge-descriptors":"*","node-domexception":"*","side-channel-list":"*","w3c-xmlserializer":"*","@asamuzakjp/nwsapi":"*","@csstools/css-calc":"*","@mixmark-io/domino":"*","@opentelemetry/api":"1.9.1","@protobufjs/base64":"*","data-uri-to-buffer":"*","es-define-property":"*","eventsource-parser":"*","express-rate-limit":"*","webidl-conversions":"*","xml-name-validator":"*","zod-to-json-schema":"*","@bramus/specificity":"*","@protobufjs/codegen":"*","content-disposition":"*","ecdsa-sig-formatter":"*","google-auth-library":"*","require-from-string":"*","@aws-sdk/xml-builder":"*","@mistralai/mistralai":"2.5.0","@mozilla/readability":"0.6.0","@smithy/signature-v4":"*","get-east-asian-width":"1.6.0","google-logging-utils":"*","json-schema-traverse":"*","side-channel-weakmap":"*","web-streams-polyfill":"*","@asamuzakjp/css-color":"*","@aws-crypto/sha256-js":"*","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@^2026.7.29-6","@protobufjs/aspromise":"*","html-encoding-sniffer":"*","@earendil-works/pi-pty":"npm:@code-yeongyu/senpi-pty@^2026.7.29-6","@earendil-works/pi-tui":"npm:@code-yeongyu/senpi-tui@^2026.7.29-6","@aws-sdk/nested-clients":"*","@csstools/color-helpers":"*","@csstools/css-tokenizer":"*","@mariozechner/clipboard":"*","@smithy/is-array-buffer":"*","call-bind-apply-helpers":"*","@asamuzakjp/dom-selector":"*","@aws-sdk/token-providers":"*","@aws/lambda-invoke-store":"*","@protobufjs/eventemitter":"*","@smithy/util-buffer-from":"*","@modelcontextprotocol/sdk":"1.29.0","@smithy/node-http-handler":"4.9.11","@aws-crypto/sha256-browser":"*","@csstools/css-color-parser":"*","@silvia-odwyer/photon-node":"0.3.4","@smithy/fetch-http-handler":"*","buffer-equal-constant-time":"*","@aws-sdk/util-locate-window":"*","@babel/helper-string-parser":"*","@code-yeongyu/senpi-codemode":"^2026.7.29-6","@aws-sdk/middleware-websocket":"*","@earendil-works/pi-agent-core":"npm:@code-yeongyu/senpi-agent-core@^2026.7.29-6","@anthropic-ai/claude-agent-sdk":"0.3.220","@asamuzakjp/generational-cache":"*","@aws-crypto/supports-web-crypto":"*","@aws-sdk/client-bedrock-runtime":"3.1095.0","@aws-sdk/middleware-eventstream":"*","@csstools/css-parser-algorithms":"*","@aws-sdk/credential-provider-env":"*","@aws-sdk/credential-provider-ini":"*","@aws-sdk/credential-provider-sso":"*","@smithy/credential-provider-imds":"*","is-potential-custom-element-name":"*","@aws-sdk/credential-provider-http":"*","@aws-sdk/credential-provider-node":"*","@aws-sdk/eventstream-handler-node":"*","@aws-sdk/credential-provider-login":"*","@aws-sdk/signature-v4-multi-region":"*","@babel/helper-validator-identifier":"*","@opentelemetry/semantic-conventions":"*","@aws-sdk/credential-provider-process":"*","@csstools/css-syntax-patches-for-csstree":"*","@aws-sdk/credential-provider-web-identity":"*"},"_hasShrinkwrap":false,"devDependencies":{"shx":"0.4.0","vitest":"4.1.10","@types/ms":"2.1.0","@types/ws":"8.18.1","typescript":"6.0.3","@types/node":"26.1.1","@types/jsdom":"28.0.3","@types/semver":"7.7.1","@types/turndown":"5.0.6","@types/picomatch":"4.0.3","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@anthropic-ai/claude-agent-sdk","@anthropic-ai/sdk","@asamuzakjp/css-color","@asamuzakjp/dom-selector","@asamuzakjp/generational-cache","@asamuzakjp/nwsapi","@aws-crypto/sha256-browser","@aws-crypto/sha256-js","@aws-crypto/supports-web-crypto","@aws-crypto/util","@aws-sdk/client-bedrock-runtime","@aws-sdk/core","@aws-sdk/credential-provider-env","@aws-sdk/credential-provider-http","@aws-sdk/credential-provider-ini","@aws-sdk/credential-provider-login","@aws-sdk/credential-provider-node","@aws-sdk/credential-provider-process","@aws-sdk/credential-provider-sso","@aws-sdk/credential-provider-web-identity","@aws-sdk/eventstream-handler-node","@aws-sdk/middleware-eventstream","@aws-sdk/middleware-websocket","@aws-sdk/nested-clients","@aws-sdk/signature-v4-multi-region","@aws-sdk/token-providers","@aws-sdk/types","@aws-sdk/util-locate-window","@aws-sdk/xml-builder","@aws/lambda-invoke-store","@babel/helper-string-parser","@babel/helper-validator-identifier","@babel/parser","@babel/runtime","@babel/types","@bramus/specificity","@code-yeongyu/senpi-codemode","@csstools/color-helpers","@csstools/css-calc","@csstools/css-color-parser","@csstools/css-parser-algorithms","@csstools/css-syntax-patches-for-csstree","@csstools/css-tokenizer","@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-pty","@earendil-works/pi-tui","@exodus/bytes","@google/genai","@hono/node-server","@mariozechner/clipboard","@mistralai/mistralai","@mixmark-io/domino","@modelcontextprotocol/sdk","@mozilla/readability","@opentelemetry/api","@opentelemetry/semantic-conventions","@protobufjs/aspromise","@protobufjs/base64","@protobufjs/codegen","@protobufjs/eventemitter","@protobufjs/fetch","@protobufjs/float","@protobufjs/path","@protobufjs/pool","@protobufjs/utf8","@silvia-odwyer/photon-node","@smithy/core","@smithy/credential-provider-imds","@smithy/fetch-http-handler","@smithy/is-array-buffer","@smithy/node-http-handler","@smithy/signature-v4","@smithy/types","@smithy/util-buffer-from","@smithy/util-utf8","@types/node","@xterm/headless","accepts","agent-base","ajv","ajv-formats","balanced-match","base64-js","bidi-js","bignumber.js","body-parser","bowser","brace-expansion","buffer-equal-constant-time","bytes","call-bind-apply-helpers","call-bound","chalk","content-disposition","content-type","cookie","cookie-signature","cors","cross-spawn","css-tree","data-uri-to-buffer","data-urls","debug","decimal.js","depd","diff","dunder-proto","ecdsa-sig-formatter","ee-first","encodeurl","entities","es-define-property","es-errors","es-object-atoms","escape-html","etag","eventsource","eventsource-parser","express","express-rate-limit","extend","fast-deep-equal","fast-uri","fetch-blob","finalhandler","formdata-polyfill","forwarded","fresh","function-bind","gaxios","gcp-metadata","get-east-asian-width","get-intrinsic","get-proto","glob","google-auth-library","google-logging-utils","gopd","graceful-fs","has-symbols","hasown","highlight.js","hono","hosted-git-info","html-encoding-sniffer","http-errors","http-proxy-agent","https-proxy-agent","iconv-lite","ignore","inherits","ip-address","ipaddr.js","is-potential-custom-element-name","is-promise","isexe","jiti","jose","jsdom","json-bigint","json-schema-to-ts","json-schema-traverse","json-schema-typed","jwa","jws","long","lru-cache","marked","math-intrinsics","mdn-data","media-typer","merge-descriptors","mime-db","mime-types","minimatch","minipass","ms","negotiator","node-domexception","node-fetch","object-assign","object-inspect","on-finished","once","openai","p-retry","parse5","parseurl","partial-json","path-key","path-scurry","path-to-regexp","picomatch","pkce-challenge","proper-lockfile","protobufjs","proxy-addr","proxy-from-env","punycode","qs","range-parser","raw-body","require-from-string","retry","router","safe-buffer","safer-buffer","saxes","semver","send","serve-static","setprototypeof","shebang-command","shebang-regex","side-channel","side-channel-list","side-channel-map","side-channel-weakmap","signal-exit","source-map-js","statuses","symbol-tree","tldts","tldts-core","toidentifier","tough-cookie","tr46","ts-algebra","tslib","turndown","type-is","typebox","undici","unpipe","vary","w3c-xmlserializer","web-streams-polyfill","webidl-conversions","whatwg-mimetype","whatwg-url","which","wrappy","ws","xml-name-validator","xmlchars","yaml","zod","zod-to-json-schema"],"optionalDependencies":{"@mariozechner/clipboard":"0.3.9","@mariozechner/clipboard-darwin-x64":"0.3.9","@mariozechner/clipboard-darwin-arm64":"0.3.9","@mariozechner/clipboard-linux-x64-gnu":"0.3.9","@mariozechner/clipboard-linux-x64-musl":"0.3.9","@mariozechner/clipboard-win32-x64-msvc":"0.3.9","@mariozechner/clipboard-linux-arm64-gnu":"0.3.9","@anthropic-ai/claude-agent-sdk-linux-x64":"0.3.220","@anthropic-ai/claude-agent-sdk-win32-x64":"0.3.220","@mariozechner/clipboard-darwin-universal":"0.3.9","@mariozechner/clipboard-linux-arm64-musl":"0.3.9","@mariozechner/clipboard-win32-arm64-msvc":"0.3.9","@anthropic-ai/claude-agent-sdk-darwin-x64":"0.3.220","@mariozechner/clipboard-linux-riscv64-gnu":"0.3.9","@anthropic-ai/claude-agent-sdk-linux-arm64":"0.3.220","@anthropic-ai/claude-agent-sdk-win32-arm64":"0.3.220","@anthropic-ai/claude-agent-sdk-darwin-arm64":"0.3.220","@anthropic-ai/claude-agent-sdk-linux-x64-musl":"0.3.220","@anthropic-ai/claude-agent-sdk-linux-arm64-musl":"0.3.220"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.7.29-6_1785357056473_0.16867085465982923","host":"s3://npm-registry-packages-npm-production"}},"2026.7.30":{"name":"@code-yeongyu/senpi","version":"2026.7.30","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.7.30","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"senpi":"dist/cli.js"},"dist":{"shasum":"a2b956a4de9fd24a842eebcfc3076ce333c8cf24","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.7.30.tgz","fileCount":28686,"integrity":"sha512-8YqTvgxrOwTepuFKlWv0tpSgYkMFPT94+SD+SUEfJs9KymLJc+usuynXs3ws/M0NV73tMh3nztTwzeWHs3NjKw==","signatures":[{"sig":"MEUCIQCToTed3SKFzv+wFLEXDrBezt0EDrTz1NgwsQaJ/wRTbQIgKs22/o404HMfWzutLfmxcxharyncAZa40op1i+dFHd8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.7.30","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":174669788},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./rpc-entry":{"import":"./dist/rpc-entry.js"}},"gitHead":"c6b591f370a2841cbbd6eb6e14b6b84314877aae","scripts":{"dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsgo -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js dist/rpc-entry.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/","build:binary":"npm --prefix ../tui run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm run build && bun build --compile --compile-autoload-package-json --external=css-tree --no-compile-autoload-dotenv --minify --keep-names ./dist/bun/cli.js ./src/utils/image-resize-worker.ts --outfile dist/pi && npm run copy-binary-assets","qa:app-server":"node scripts/qa-app-server/run-all.mjs","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/export-html/ && shx cp -r docs dist/ && shx cp -r examples dist/ && shx mkdir -p dist/node_modules && shx cp -r ../../node_modules/css-tree ../../node_modules/mdn-data ../../node_modules/source-map-js dist/node_modules/ && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/ && shx mkdir -p dist/native/darwin dist/native/win32 && shx cp -r ../../packages/tui/native/darwin/prebuilds dist/native/darwin/ && shx cp -r ../../packages/tui/native/win32/prebuilds dist/native/win32/ && node ../../scripts/copy-pty-native.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ea548fc8-dac4-4dec-a439-6f4fa3870309"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.2"},"rimraf":"6.1.2","protobufjs":"7.6.5","@hono/node-server":"2.0.10"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.16.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ms":"*","qs":"*","ws":"8.21.1","ajv":"*","jwa":"*","jws":"*","zod":"4.4.3","cors":"*","depd":"*","diff":"9.0.0","etag":"*","glob":"13.0.6","gopd":"*","hono":"*","jiti":"2.7.0","jose":"*","long":"*","once":"*","send":"*","tr46":"*","vary":"*","yaml":"2.9.0","bytes":"*","chalk":"6.0.0","debug":"*","fresh":"*","isexe":"*","jsdom":"29.1.1","retry":"*","saxes":"*","tldts":"*","tslib":"*","which":"*","bowser":"*","cookie":"*","extend":"*","gaxios":"*","hasown":"*","ignore":"7.0.6","marked":"18.0.7","openai":"6.26.0","parse5":"*","router":"*","semver":"7.8.5","undici":"8.9.0","unpipe":"*","wrappy":"*","accepts":"*","bidi-js":"*","express":"*","mime-db":"*","p-retry":"*","type-is":"*","typebox":"1.3.8","css-tree":"*","ee-first":"*","entities":"*","fast-uri":"*","inherits":"*","mdn-data":"*","minipass":"*","parseurl":"*","path-key":"*","punycode":"*","raw-body":"*","statuses":"*","turndown":"7.2.4","xmlchars":"*","base64-js":"*","data-urls":"*","encodeurl":"*","es-errors":"*","forwarded":"*","get-proto":"*","ipaddr.js":"*","lru-cache":"*","minimatch":"10.2.5","picomatch":"4.0.5","agent-base":"*","call-bound":"*","decimal.js":"*","fetch-blob":"*","iconv-lite":"*","ip-address":"*","is-promise":"*","mime-types":"*","negotiator":"*","node-fetch":"*","protobufjs":"*","proxy-addr":"*","tldts-core":"*","ts-algebra":"*","whatwg-url":"*","@types/node":"*","ajv-formats":"*","body-parser":"*","cross-spawn":"7.0.6","escape-html":"*","eventsource":"*","graceful-fs":"*","has-symbols":"*","http-errors":"*","json-bigint":"*","media-typer":"*","on-finished":"*","path-scurry":"*","safe-buffer":"*","signal-exit":"*","symbol-tree":"*","@babel/types":"*","@smithy/core":"*","bignumber.js":"*","content-type":"*","dunder-proto":"*","finalhandler":"*","gcp-metadata":"*","highlight.js":"11.11.1","partial-json":"0.1.7","range-parser":"*","safer-buffer":"*","serve-static":"*","side-channel":"*","toidentifier":"*","tough-cookie":"*","@aws-sdk/core":"*","@babel/parser":"*","@exodus/bytes":"*","@google/genai":"*","@smithy/types":"4.16.1","function-bind":"*","get-intrinsic":"*","object-assign":"*","shebang-regex":"*","source-map-js":"*","@aws-sdk/types":"*","@babel/runtime":"*","balanced-match":"*","object-inspect":"*","path-to-regexp":"*","pkce-challenge":"*","proxy-from-env":"2.1.0","setprototypeof":"*","@xterm/headless":"*","brace-expansion":"*","es-object-atoms":"*","fast-deep-equal":"*","hosted-git-info":"10.1.1","math-intrinsics":"*","proper-lockfile":"4.1.2","shebang-command":"*","whatwg-mimetype":"*","@aws-crypto/util":"*","@protobufjs/path":"*","@protobufjs/pool":"*","@protobufjs/utf8":"*","cookie-signature":"*","http-proxy-agent":"9.1.0","side-channel-map":"*","@anthropic-ai/sdk":"0.91.1","@hono/node-server":"*","@protobufjs/fetch":"*","@protobufjs/float":"*","@smithy/util-utf8":"*","formdata-polyfill":"*","https-proxy-agent":"9.1.0","json-schema-to-ts":"*","json-schema-typed":"*","merge-descriptors":"*","node-domexception":"*","side-channel-list":"*","w3c-xmlserializer":"*","@asamuzakjp/nwsapi":"*","@csstools/css-calc":"*","@mixmark-io/domino":"*","@opentelemetry/api":"1.9.1","@protobufjs/base64":"*","data-uri-to-buffer":"*","es-define-property":"*","eventsource-parser":"*","express-rate-limit":"*","webidl-conversions":"*","xml-name-validator":"*","zod-to-json-schema":"*","@bramus/specificity":"*","@protobufjs/codegen":"*","content-disposition":"*","ecdsa-sig-formatter":"*","google-auth-library":"*","require-from-string":"*","@aws-sdk/xml-builder":"*","@mistralai/mistralai":"2.5.0","@mozilla/readability":"0.6.0","@smithy/signature-v4":"*","get-east-asian-width":"1.6.0","google-logging-utils":"*","json-schema-traverse":"*","side-channel-weakmap":"*","web-streams-polyfill":"*","@asamuzakjp/css-color":"*","@aws-crypto/sha256-js":"*","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@^2026.7.30","@protobufjs/aspromise":"*","html-encoding-sniffer":"*","@earendil-works/pi-pty":"npm:@code-yeongyu/senpi-pty@^2026.7.30","@earendil-works/pi-tui":"npm:@code-yeongyu/senpi-tui@^2026.7.30","@aws-sdk/nested-clients":"*","@csstools/color-helpers":"*","@csstools/css-tokenizer":"*","@mariozechner/clipboard":"*","@smithy/is-array-buffer":"*","call-bind-apply-helpers":"*","@asamuzakjp/dom-selector":"*","@aws-sdk/token-providers":"*","@aws/lambda-invoke-store":"*","@protobufjs/eventemitter":"*","@smithy/util-buffer-from":"*","@modelcontextprotocol/sdk":"1.29.0","@smithy/node-http-handler":"4.9.11","@aws-crypto/sha256-browser":"*","@csstools/css-color-parser":"*","@silvia-odwyer/photon-node":"0.3.4","@smithy/fetch-http-handler":"*","buffer-equal-constant-time":"*","@aws-sdk/util-locate-window":"*","@babel/helper-string-parser":"*","@code-yeongyu/senpi-codemode":"^2026.7.30","@aws-sdk/middleware-websocket":"*","@earendil-works/pi-agent-core":"npm:@code-yeongyu/senpi-agent-core@^2026.7.30","@anthropic-ai/claude-agent-sdk":"0.3.220","@asamuzakjp/generational-cache":"*","@aws-crypto/supports-web-crypto":"*","@aws-sdk/client-bedrock-runtime":"3.1095.0","@aws-sdk/middleware-eventstream":"*","@csstools/css-parser-algorithms":"*","@aws-sdk/credential-provider-env":"*","@aws-sdk/credential-provider-ini":"*","@aws-sdk/credential-provider-sso":"*","@smithy/credential-provider-imds":"*","is-potential-custom-element-name":"*","@aws-sdk/credential-provider-http":"*","@aws-sdk/credential-provider-node":"*","@aws-sdk/eventstream-handler-node":"*","@aws-sdk/credential-provider-login":"*","@aws-sdk/signature-v4-multi-region":"*","@babel/helper-validator-identifier":"*","@opentelemetry/semantic-conventions":"*","@aws-sdk/credential-provider-process":"*","@csstools/css-syntax-patches-for-csstree":"*","@aws-sdk/credential-provider-web-identity":"*"},"_hasShrinkwrap":false,"devDependencies":{"shx":"0.4.0","vitest":"4.1.10","@types/ms":"2.1.0","@types/ws":"8.18.1","typescript":"6.0.3","@types/node":"26.1.1","@types/jsdom":"28.0.3","@types/semver":"7.7.1","@types/turndown":"5.0.6","@types/picomatch":"4.0.3","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@anthropic-ai/claude-agent-sdk","@anthropic-ai/sdk","@asamuzakjp/css-color","@asamuzakjp/dom-selector","@asamuzakjp/generational-cache","@asamuzakjp/nwsapi","@aws-crypto/sha256-browser","@aws-crypto/sha256-js","@aws-crypto/supports-web-crypto","@aws-crypto/util","@aws-sdk/client-bedrock-runtime","@aws-sdk/core","@aws-sdk/credential-provider-env","@aws-sdk/credential-provider-http","@aws-sdk/credential-provider-ini","@aws-sdk/credential-provider-login","@aws-sdk/credential-provider-node","@aws-sdk/credential-provider-process","@aws-sdk/credential-provider-sso","@aws-sdk/credential-provider-web-identity","@aws-sdk/eventstream-handler-node","@aws-sdk/middleware-eventstream","@aws-sdk/middleware-websocket","@aws-sdk/nested-clients","@aws-sdk/signature-v4-multi-region","@aws-sdk/token-providers","@aws-sdk/types","@aws-sdk/util-locate-window","@aws-sdk/xml-builder","@aws/lambda-invoke-store","@babel/helper-string-parser","@babel/helper-validator-identifier","@babel/parser","@babel/runtime","@babel/types","@bramus/specificity","@code-yeongyu/senpi-codemode","@csstools/color-helpers","@csstools/css-calc","@csstools/css-color-parser","@csstools/css-parser-algorithms","@csstools/css-syntax-patches-for-csstree","@csstools/css-tokenizer","@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-pty","@earendil-works/pi-tui","@exodus/bytes","@google/genai","@hono/node-server","@mariozechner/clipboard","@mistralai/mistralai","@mixmark-io/domino","@modelcontextprotocol/sdk","@mozilla/readability","@opentelemetry/api","@opentelemetry/semantic-conventions","@protobufjs/aspromise","@protobufjs/base64","@protobufjs/codegen","@protobufjs/eventemitter","@protobufjs/fetch","@protobufjs/float","@protobufjs/path","@protobufjs/pool","@protobufjs/utf8","@silvia-odwyer/photon-node","@smithy/core","@smithy/credential-provider-imds","@smithy/fetch-http-handler","@smithy/is-array-buffer","@smithy/node-http-handler","@smithy/signature-v4","@smithy/types","@smithy/util-buffer-from","@smithy/util-utf8","@types/node","@xterm/headless","accepts","agent-base","ajv","ajv-formats","balanced-match","base64-js","bidi-js","bignumber.js","body-parser","bowser","brace-expansion","buffer-equal-constant-time","bytes","call-bind-apply-helpers","call-bound","chalk","content-disposition","content-type","cookie","cookie-signature","cors","cross-spawn","css-tree","data-uri-to-buffer","data-urls","debug","decimal.js","depd","diff","dunder-proto","ecdsa-sig-formatter","ee-first","encodeurl","entities","es-define-property","es-errors","es-object-atoms","escape-html","etag","eventsource","eventsource-parser","express","express-rate-limit","extend","fast-deep-equal","fast-uri","fetch-blob","finalhandler","formdata-polyfill","forwarded","fresh","function-bind","gaxios","gcp-metadata","get-east-asian-width","get-intrinsic","get-proto","glob","google-auth-library","google-logging-utils","gopd","graceful-fs","has-symbols","hasown","highlight.js","hono","hosted-git-info","html-encoding-sniffer","http-errors","http-proxy-agent","https-proxy-agent","iconv-lite","ignore","inherits","ip-address","ipaddr.js","is-potential-custom-element-name","is-promise","isexe","jiti","jose","jsdom","json-bigint","json-schema-to-ts","json-schema-traverse","json-schema-typed","jwa","jws","long","lru-cache","marked","math-intrinsics","mdn-data","media-typer","merge-descriptors","mime-db","mime-types","minimatch","minipass","ms","negotiator","node-domexception","node-fetch","object-assign","object-inspect","on-finished","once","openai","p-retry","parse5","parseurl","partial-json","path-key","path-scurry","path-to-regexp","picomatch","pkce-challenge","proper-lockfile","protobufjs","proxy-addr","proxy-from-env","punycode","qs","range-parser","raw-body","require-from-string","retry","router","safe-buffer","safer-buffer","saxes","semver","send","serve-static","setprototypeof","shebang-command","shebang-regex","side-channel","side-channel-list","side-channel-map","side-channel-weakmap","signal-exit","source-map-js","statuses","symbol-tree","tldts","tldts-core","toidentifier","tough-cookie","tr46","ts-algebra","tslib","turndown","type-is","typebox","undici","unpipe","vary","w3c-xmlserializer","web-streams-polyfill","webidl-conversions","whatwg-mimetype","whatwg-url","which","wrappy","ws","xml-name-validator","xmlchars","yaml","zod","zod-to-json-schema"],"optionalDependencies":{"@mariozechner/clipboard":"0.3.9","@mariozechner/clipboard-darwin-x64":"0.3.9","@mariozechner/clipboard-darwin-arm64":"0.3.9","@mariozechner/clipboard-linux-x64-gnu":"0.3.9","@mariozechner/clipboard-linux-x64-musl":"0.3.9","@mariozechner/clipboard-win32-x64-msvc":"0.3.9","@mariozechner/clipboard-linux-arm64-gnu":"0.3.9","@anthropic-ai/claude-agent-sdk-linux-x64":"0.3.220","@anthropic-ai/claude-agent-sdk-win32-x64":"0.3.220","@mariozechner/clipboard-darwin-universal":"0.3.9","@mariozechner/clipboard-linux-arm64-musl":"0.3.9","@mariozechner/clipboard-win32-arm64-msvc":"0.3.9","@anthropic-ai/claude-agent-sdk-darwin-x64":"0.3.220","@mariozechner/clipboard-linux-riscv64-gnu":"0.3.9","@anthropic-ai/claude-agent-sdk-linux-arm64":"0.3.220","@anthropic-ai/claude-agent-sdk-win32-arm64":"0.3.220","@anthropic-ai/claude-agent-sdk-darwin-arm64":"0.3.220","@anthropic-ai/claude-agent-sdk-linux-x64-musl":"0.3.220","@anthropic-ai/claude-agent-sdk-linux-arm64-musl":"0.3.220"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.7.30_1785387056656_0.06540791427806059","host":"s3://npm-registry-packages-npm-production"}},"2026.7.30-2":{"name":"@code-yeongyu/senpi","version":"2026.7.30-2","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.7.30-2","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"senpi":"dist/cli.js"},"dist":{"shasum":"431e9e551e9c9ded610b2b872fce9ca9ad3cacaf","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.7.30-2.tgz","fileCount":28731,"integrity":"sha512-TVDU9dkPo4uG45vLo4qcFkZP7jei24pdrzUxZHhuHeyPWZP+tuzbHZJJVuX/5zf/W0560T5jDee+SW3sljPcMw==","signatures":[{"sig":"MEUCIGgOz3OUqelgOPKSGmeUQnX6m8XZCXWMi/BJ/nCOJU88AiEApGZOdm52BgAHKtcTRIpxroraF89jM07hMHc8LlsqyTo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.7.30-2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":174833234},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./rpc-entry":{"import":"./dist/rpc-entry.js"}},"gitHead":"9e3ca24eb6596d1f5c15bdfad7bbf512fde9045b","scripts":{"dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsgo -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js dist/rpc-entry.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/","build:binary":"npm --prefix ../tui run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm run build && bun build --compile --compile-autoload-package-json --external=css-tree --no-compile-autoload-dotenv --minify --keep-names ./dist/bun/cli.js ./src/utils/image-resize-worker.ts --outfile dist/pi && npm run copy-binary-assets","qa:app-server":"node scripts/qa-app-server/run-all.mjs","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/export-html/ && shx cp -r docs dist/ && shx cp -r examples dist/ && shx mkdir -p dist/node_modules && shx cp -r ../../node_modules/css-tree ../../node_modules/mdn-data ../../node_modules/source-map-js dist/node_modules/ && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/ && shx mkdir -p dist/native/darwin dist/native/win32 && shx cp -r ../../packages/tui/native/darwin/prebuilds dist/native/darwin/ && shx cp -r ../../packages/tui/native/win32/prebuilds dist/native/win32/ && node ../../scripts/copy-pty-native.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ea548fc8-dac4-4dec-a439-6f4fa3870309"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.2"},"rimraf":"6.1.2","protobufjs":"7.6.5","@hono/node-server":"2.0.10"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.16.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ms":"*","qs":"*","ws":"8.21.1","ajv":"*","jwa":"*","jws":"*","zod":"4.4.3","cors":"*","depd":"*","diff":"9.0.0","etag":"*","glob":"13.0.6","gopd":"*","hono":"*","jiti":"2.7.0","jose":"*","long":"*","once":"*","send":"*","tr46":"*","vary":"*","yaml":"2.9.0","bytes":"*","chalk":"6.0.0","debug":"*","fresh":"*","isexe":"*","jsdom":"29.1.1","retry":"*","saxes":"*","tldts":"*","tslib":"*","which":"*","bowser":"*","cookie":"*","extend":"*","gaxios":"*","hasown":"*","ignore":"7.0.6","marked":"18.0.7","openai":"6.26.0","parse5":"*","router":"*","semver":"7.8.5","undici":"8.9.0","unpipe":"*","wrappy":"*","accepts":"*","bidi-js":"*","express":"*","mime-db":"*","p-retry":"*","type-is":"*","typebox":"1.3.8","css-tree":"*","ee-first":"*","entities":"*","fast-uri":"*","inherits":"*","mdn-data":"*","minipass":"*","parseurl":"*","path-key":"*","punycode":"*","raw-body":"*","statuses":"*","turndown":"7.2.4","xmlchars":"*","base64-js":"*","data-urls":"*","encodeurl":"*","es-errors":"*","forwarded":"*","get-proto":"*","ipaddr.js":"*","lru-cache":"*","minimatch":"10.2.5","picomatch":"4.0.5","agent-base":"*","call-bound":"*","decimal.js":"*","fetch-blob":"*","iconv-lite":"*","ip-address":"*","is-promise":"*","mime-types":"*","negotiator":"*","node-fetch":"*","protobufjs":"*","proxy-addr":"*","tldts-core":"*","ts-algebra":"*","whatwg-url":"*","@types/node":"*","ajv-formats":"*","body-parser":"*","cross-spawn":"7.0.6","escape-html":"*","eventsource":"*","graceful-fs":"*","has-symbols":"*","http-errors":"*","json-bigint":"*","media-typer":"*","on-finished":"*","path-scurry":"*","safe-buffer":"*","signal-exit":"*","symbol-tree":"*","@babel/types":"*","@smithy/core":"*","bignumber.js":"*","content-type":"*","dunder-proto":"*","finalhandler":"*","gcp-metadata":"*","highlight.js":"11.11.1","partial-json":"0.1.7","range-parser":"*","safer-buffer":"*","serve-static":"*","side-channel":"*","toidentifier":"*","tough-cookie":"*","@aws-sdk/core":"*","@babel/parser":"*","@exodus/bytes":"*","@google/genai":"*","@smithy/types":"4.16.1","function-bind":"*","get-intrinsic":"*","object-assign":"*","shebang-regex":"*","source-map-js":"*","@aws-sdk/types":"*","@babel/runtime":"*","balanced-match":"*","object-inspect":"*","path-to-regexp":"*","pkce-challenge":"*","proxy-from-env":"2.1.0","setprototypeof":"*","@xterm/headless":"*","brace-expansion":"*","es-object-atoms":"*","fast-deep-equal":"*","hosted-git-info":"10.1.1","math-intrinsics":"*","proper-lockfile":"4.1.2","shebang-command":"*","whatwg-mimetype":"*","@aws-crypto/util":"*","@protobufjs/path":"*","@protobufjs/pool":"*","@protobufjs/utf8":"*","cookie-signature":"*","http-proxy-agent":"9.1.0","side-channel-map":"*","@anthropic-ai/sdk":"0.91.1","@hono/node-server":"*","@protobufjs/fetch":"*","@protobufjs/float":"*","@smithy/util-utf8":"*","formdata-polyfill":"*","https-proxy-agent":"9.1.0","json-schema-to-ts":"*","json-schema-typed":"*","merge-descriptors":"*","node-domexception":"*","side-channel-list":"*","w3c-xmlserializer":"*","@asamuzakjp/nwsapi":"*","@csstools/css-calc":"*","@mixmark-io/domino":"*","@opentelemetry/api":"1.9.1","@protobufjs/base64":"*","data-uri-to-buffer":"*","es-define-property":"*","eventsource-parser":"*","express-rate-limit":"*","webidl-conversions":"*","xml-name-validator":"*","zod-to-json-schema":"*","@bramus/specificity":"*","@protobufjs/codegen":"*","content-disposition":"*","ecdsa-sig-formatter":"*","google-auth-library":"*","require-from-string":"*","@aws-sdk/xml-builder":"*","@mistralai/mistralai":"2.5.0","@mozilla/readability":"0.6.0","@smithy/signature-v4":"*","get-east-asian-width":"1.6.0","google-logging-utils":"*","json-schema-traverse":"*","side-channel-weakmap":"*","web-streams-polyfill":"*","@asamuzakjp/css-color":"*","@aws-crypto/sha256-js":"*","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@^2026.7.30-2","@protobufjs/aspromise":"*","html-encoding-sniffer":"*","@earendil-works/pi-pty":"npm:@code-yeongyu/senpi-pty@^2026.7.30-2","@earendil-works/pi-tui":"npm:@code-yeongyu/senpi-tui@^2026.7.30-2","@aws-sdk/nested-clients":"*","@csstools/color-helpers":"*","@csstools/css-tokenizer":"*","@mariozechner/clipboard":"*","@smithy/is-array-buffer":"*","call-bind-apply-helpers":"*","@asamuzakjp/dom-selector":"*","@aws-sdk/token-providers":"*","@aws/lambda-invoke-store":"*","@protobufjs/eventemitter":"*","@smithy/util-buffer-from":"*","@modelcontextprotocol/sdk":"1.30.0","@smithy/node-http-handler":"4.9.11","@aws-crypto/sha256-browser":"*","@csstools/css-color-parser":"*","@silvia-odwyer/photon-node":"0.3.4","@smithy/fetch-http-handler":"*","buffer-equal-constant-time":"*","@aws-sdk/util-locate-window":"*","@babel/helper-string-parser":"*","@code-yeongyu/senpi-codemode":"^2026.7.30-2","@aws-sdk/middleware-websocket":"*","@earendil-works/pi-agent-core":"npm:@code-yeongyu/senpi-agent-core@^2026.7.30-2","@anthropic-ai/claude-agent-sdk":"0.3.220","@asamuzakjp/generational-cache":"*","@aws-crypto/supports-web-crypto":"*","@aws-sdk/client-bedrock-runtime":"3.1095.0","@aws-sdk/middleware-eventstream":"*","@csstools/css-parser-algorithms":"*","@aws-sdk/credential-provider-env":"*","@aws-sdk/credential-provider-ini":"*","@aws-sdk/credential-provider-sso":"*","@smithy/credential-provider-imds":"*","is-potential-custom-element-name":"*","@aws-sdk/credential-provider-http":"*","@aws-sdk/credential-provider-node":"*","@aws-sdk/eventstream-handler-node":"*","@aws-sdk/credential-provider-login":"*","@aws-sdk/signature-v4-multi-region":"*","@babel/helper-validator-identifier":"*","@opentelemetry/semantic-conventions":"*","@aws-sdk/credential-provider-process":"*","@csstools/css-syntax-patches-for-csstree":"*","@aws-sdk/credential-provider-web-identity":"*"},"_hasShrinkwrap":false,"devDependencies":{"shx":"0.4.0","vitest":"4.1.10","@types/ms":"2.1.0","@types/ws":"8.18.1","typescript":"6.0.3","@types/node":"26.1.1","@types/jsdom":"28.0.3","@types/semver":"7.7.1","@types/turndown":"5.0.6","@types/picomatch":"4.0.3","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@anthropic-ai/claude-agent-sdk","@anthropic-ai/sdk","@asamuzakjp/css-color","@asamuzakjp/dom-selector","@asamuzakjp/generational-cache","@asamuzakjp/nwsapi","@aws-crypto/sha256-browser","@aws-crypto/sha256-js","@aws-crypto/supports-web-crypto","@aws-crypto/util","@aws-sdk/client-bedrock-runtime","@aws-sdk/core","@aws-sdk/credential-provider-env","@aws-sdk/credential-provider-http","@aws-sdk/credential-provider-ini","@aws-sdk/credential-provider-login","@aws-sdk/credential-provider-node","@aws-sdk/credential-provider-process","@aws-sdk/credential-provider-sso","@aws-sdk/credential-provider-web-identity","@aws-sdk/eventstream-handler-node","@aws-sdk/middleware-eventstream","@aws-sdk/middleware-websocket","@aws-sdk/nested-clients","@aws-sdk/signature-v4-multi-region","@aws-sdk/token-providers","@aws-sdk/types","@aws-sdk/util-locate-window","@aws-sdk/xml-builder","@aws/lambda-invoke-store","@babel/helper-string-parser","@babel/helper-validator-identifier","@babel/parser","@babel/runtime","@babel/types","@bramus/specificity","@code-yeongyu/senpi-codemode","@csstools/color-helpers","@csstools/css-calc","@csstools/css-color-parser","@csstools/css-parser-algorithms","@csstools/css-syntax-patches-for-csstree","@csstools/css-tokenizer","@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-pty","@earendil-works/pi-tui","@exodus/bytes","@google/genai","@hono/node-server","@mariozechner/clipboard","@mistralai/mistralai","@mixmark-io/domino","@modelcontextprotocol/sdk","@mozilla/readability","@opentelemetry/api","@opentelemetry/semantic-conventions","@protobufjs/aspromise","@protobufjs/base64","@protobufjs/codegen","@protobufjs/eventemitter","@protobufjs/fetch","@protobufjs/float","@protobufjs/path","@protobufjs/pool","@protobufjs/utf8","@silvia-odwyer/photon-node","@smithy/core","@smithy/credential-provider-imds","@smithy/fetch-http-handler","@smithy/is-array-buffer","@smithy/node-http-handler","@smithy/signature-v4","@smithy/types","@smithy/util-buffer-from","@smithy/util-utf8","@types/node","@xterm/headless","accepts","agent-base","ajv","ajv-formats","balanced-match","base64-js","bidi-js","bignumber.js","body-parser","bowser","brace-expansion","buffer-equal-constant-time","bytes","call-bind-apply-helpers","call-bound","chalk","content-disposition","content-type","cookie","cookie-signature","cors","cross-spawn","css-tree","data-uri-to-buffer","data-urls","debug","decimal.js","depd","diff","dunder-proto","ecdsa-sig-formatter","ee-first","encodeurl","entities","es-define-property","es-errors","es-object-atoms","escape-html","etag","eventsource","eventsource-parser","express","express-rate-limit","extend","fast-deep-equal","fast-uri","fetch-blob","finalhandler","formdata-polyfill","forwarded","fresh","function-bind","gaxios","gcp-metadata","get-east-asian-width","get-intrinsic","get-proto","glob","google-auth-library","google-logging-utils","gopd","graceful-fs","has-symbols","hasown","highlight.js","hono","hosted-git-info","html-encoding-sniffer","http-errors","http-proxy-agent","https-proxy-agent","iconv-lite","ignore","inherits","ip-address","ipaddr.js","is-potential-custom-element-name","is-promise","isexe","jiti","jose","jsdom","json-bigint","json-schema-to-ts","json-schema-traverse","json-schema-typed","jwa","jws","long","lru-cache","marked","math-intrinsics","mdn-data","media-typer","merge-descriptors","mime-db","mime-types","minimatch","minipass","ms","negotiator","node-domexception","node-fetch","object-assign","object-inspect","on-finished","once","openai","p-retry","parse5","parseurl","partial-json","path-key","path-scurry","path-to-regexp","picomatch","pkce-challenge","proper-lockfile","protobufjs","proxy-addr","proxy-from-env","punycode","qs","range-parser","raw-body","require-from-string","retry","router","safe-buffer","safer-buffer","saxes","semver","send","serve-static","setprototypeof","shebang-command","shebang-regex","side-channel","side-channel-list","side-channel-map","side-channel-weakmap","signal-exit","source-map-js","statuses","symbol-tree","tldts","tldts-core","toidentifier","tough-cookie","tr46","ts-algebra","tslib","turndown","type-is","typebox","undici","unpipe","vary","w3c-xmlserializer","web-streams-polyfill","webidl-conversions","whatwg-mimetype","whatwg-url","which","wrappy","ws","xml-name-validator","xmlchars","yaml","zod","zod-to-json-schema"],"optionalDependencies":{"@mariozechner/clipboard":"0.3.9","@mariozechner/clipboard-darwin-x64":"0.3.9","@mariozechner/clipboard-darwin-arm64":"0.3.9","@mariozechner/clipboard-linux-x64-gnu":"0.3.9","@mariozechner/clipboard-linux-x64-musl":"0.3.9","@mariozechner/clipboard-win32-x64-msvc":"0.3.9","@mariozechner/clipboard-linux-arm64-gnu":"0.3.9","@anthropic-ai/claude-agent-sdk-linux-x64":"0.3.220","@anthropic-ai/claude-agent-sdk-win32-x64":"0.3.220","@mariozechner/clipboard-darwin-universal":"0.3.9","@mariozechner/clipboard-linux-arm64-musl":"0.3.9","@mariozechner/clipboard-win32-arm64-msvc":"0.3.9","@anthropic-ai/claude-agent-sdk-darwin-x64":"0.3.220","@mariozechner/clipboard-linux-riscv64-gnu":"0.3.9","@anthropic-ai/claude-agent-sdk-linux-arm64":"0.3.220","@anthropic-ai/claude-agent-sdk-win32-arm64":"0.3.220","@anthropic-ai/claude-agent-sdk-darwin-arm64":"0.3.220","@anthropic-ai/claude-agent-sdk-linux-x64-musl":"0.3.220","@anthropic-ai/claude-agent-sdk-linux-arm64-musl":"0.3.220"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.7.30-2_1785463185120_0.10487541614534002","host":"s3://npm-registry-packages-npm-production"}},"2026.7.31":{"name":"@code-yeongyu/senpi","version":"2026.7.31","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.7.31","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"senpi":"dist/cli.js"},"dist":{"shasum":"c3781bfcd31f106c64015693453e827b21648c88","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.7.31.tgz","fileCount":28731,"integrity":"sha512-qlZcUaNEKjWgKEctj5yEa4sD1i8fgVOzerrrQVIeMkVySOdHa3nu9UQySdj2hkvyQdwui0w0g6M1lBpGLEfojQ==","signatures":[{"sig":"MEQCIHRqpzNN9X2YZWZNdIXoASsifn0MudMqqLtVI0Aol3wIAiB9ImhpjPFcYdi2F5Fx6sYDe2fCiFUJlmmAgv/Vokmysg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.7.31","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":174838020},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./rpc-entry":{"import":"./dist/rpc-entry.js"}},"gitHead":"969202a0792514d5f98133e8d19a55072ddf1046","scripts":{"dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsgo -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js dist/rpc-entry.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/","build:binary":"npm --prefix ../tui run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm run build && bun build --compile --compile-autoload-package-json --external=css-tree --no-compile-autoload-dotenv --minify --keep-names ./dist/bun/cli.js ./src/utils/image-resize-worker.ts --outfile dist/pi && npm run copy-binary-assets","qa:app-server":"node scripts/qa-app-server/run-all.mjs","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/export-html/ && shx cp -r docs dist/ && shx cp -r examples dist/ && shx mkdir -p dist/node_modules && shx cp -r ../../node_modules/css-tree ../../node_modules/mdn-data ../../node_modules/source-map-js dist/node_modules/ && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/ && shx mkdir -p dist/native/darwin dist/native/win32 && shx cp -r ../../packages/tui/native/darwin/prebuilds dist/native/darwin/ && shx cp -r ../../packages/tui/native/win32/prebuilds dist/native/win32/ && node ../../scripts/copy-pty-native.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ea548fc8-dac4-4dec-a439-6f4fa3870309"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.2"},"rimraf":"6.1.2","protobufjs":"7.6.5","@hono/node-server":"2.0.10"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.16.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ms":"*","qs":"*","ws":"8.21.1","ajv":"*","jwa":"*","jws":"*","zod":"4.4.3","cors":"*","depd":"*","diff":"9.0.0","etag":"*","glob":"13.0.6","gopd":"*","hono":"*","jiti":"2.7.0","jose":"*","long":"*","once":"*","send":"*","tr46":"*","vary":"*","yaml":"2.9.0","bytes":"*","chalk":"6.0.0","debug":"*","fresh":"*","isexe":"*","jsdom":"29.1.1","retry":"*","saxes":"*","tldts":"*","tslib":"*","which":"*","bowser":"*","cookie":"*","extend":"*","gaxios":"*","hasown":"*","ignore":"7.0.6","marked":"18.0.7","openai":"6.26.0","parse5":"*","router":"*","semver":"7.8.5","undici":"8.9.0","unpipe":"*","wrappy":"*","accepts":"*","bidi-js":"*","express":"*","mime-db":"*","p-retry":"*","type-is":"*","typebox":"1.3.8","css-tree":"*","ee-first":"*","entities":"*","fast-uri":"*","inherits":"*","mdn-data":"*","minipass":"*","parseurl":"*","path-key":"*","punycode":"*","raw-body":"*","statuses":"*","turndown":"7.2.4","xmlchars":"*","base64-js":"*","data-urls":"*","encodeurl":"*","es-errors":"*","forwarded":"*","get-proto":"*","ipaddr.js":"*","lru-cache":"*","minimatch":"10.2.5","picomatch":"4.0.5","agent-base":"*","call-bound":"*","decimal.js":"*","fetch-blob":"*","iconv-lite":"*","ip-address":"*","is-promise":"*","mime-types":"*","negotiator":"*","node-fetch":"*","protobufjs":"*","proxy-addr":"*","tldts-core":"*","ts-algebra":"*","whatwg-url":"*","@types/node":"*","ajv-formats":"*","body-parser":"*","cross-spawn":"7.0.6","escape-html":"*","eventsource":"*","graceful-fs":"*","has-symbols":"*","http-errors":"*","json-bigint":"*","media-typer":"*","on-finished":"*","path-scurry":"*","safe-buffer":"*","signal-exit":"*","symbol-tree":"*","@babel/types":"*","@smithy/core":"*","bignumber.js":"*","content-type":"*","dunder-proto":"*","finalhandler":"*","gcp-metadata":"*","highlight.js":"11.11.1","partial-json":"0.1.7","range-parser":"*","safer-buffer":"*","serve-static":"*","side-channel":"*","toidentifier":"*","tough-cookie":"*","@aws-sdk/core":"*","@babel/parser":"*","@exodus/bytes":"*","@google/genai":"*","@smithy/types":"4.16.1","function-bind":"*","get-intrinsic":"*","object-assign":"*","shebang-regex":"*","source-map-js":"*","@aws-sdk/types":"*","@babel/runtime":"*","balanced-match":"*","object-inspect":"*","path-to-regexp":"*","pkce-challenge":"*","proxy-from-env":"2.1.0","setprototypeof":"*","@xterm/headless":"*","brace-expansion":"*","es-object-atoms":"*","fast-deep-equal":"*","hosted-git-info":"10.1.1","math-intrinsics":"*","proper-lockfile":"4.1.2","shebang-command":"*","whatwg-mimetype":"*","@aws-crypto/util":"*","@protobufjs/path":"*","@protobufjs/pool":"*","@protobufjs/utf8":"*","cookie-signature":"*","http-proxy-agent":"9.1.0","side-channel-map":"*","@anthropic-ai/sdk":"0.91.1","@hono/node-server":"*","@protobufjs/fetch":"*","@protobufjs/float":"*","@smithy/util-utf8":"*","formdata-polyfill":"*","https-proxy-agent":"9.1.0","json-schema-to-ts":"*","json-schema-typed":"*","merge-descriptors":"*","node-domexception":"*","side-channel-list":"*","w3c-xmlserializer":"*","@asamuzakjp/nwsapi":"*","@csstools/css-calc":"*","@mixmark-io/domino":"*","@opentelemetry/api":"1.9.1","@protobufjs/base64":"*","data-uri-to-buffer":"*","es-define-property":"*","eventsource-parser":"*","express-rate-limit":"*","webidl-conversions":"*","xml-name-validator":"*","zod-to-json-schema":"*","@bramus/specificity":"*","@protobufjs/codegen":"*","content-disposition":"*","ecdsa-sig-formatter":"*","google-auth-library":"*","require-from-string":"*","@aws-sdk/xml-builder":"*","@mistralai/mistralai":"2.5.0","@mozilla/readability":"0.6.0","@smithy/signature-v4":"*","get-east-asian-width":"1.6.0","google-logging-utils":"*","json-schema-traverse":"*","side-channel-weakmap":"*","web-streams-polyfill":"*","@asamuzakjp/css-color":"*","@aws-crypto/sha256-js":"*","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@^2026.7.31","@protobufjs/aspromise":"*","html-encoding-sniffer":"*","@earendil-works/pi-pty":"npm:@code-yeongyu/senpi-pty@^2026.7.31","@earendil-works/pi-tui":"npm:@code-yeongyu/senpi-tui@^2026.7.31","@aws-sdk/nested-clients":"*","@csstools/color-helpers":"*","@csstools/css-tokenizer":"*","@mariozechner/clipboard":"*","@smithy/is-array-buffer":"*","call-bind-apply-helpers":"*","@asamuzakjp/dom-selector":"*","@aws-sdk/token-providers":"*","@aws/lambda-invoke-store":"*","@protobufjs/eventemitter":"*","@smithy/util-buffer-from":"*","@modelcontextprotocol/sdk":"1.30.0","@smithy/node-http-handler":"4.9.11","@aws-crypto/sha256-browser":"*","@csstools/css-color-parser":"*","@silvia-odwyer/photon-node":"0.3.4","@smithy/fetch-http-handler":"*","buffer-equal-constant-time":"*","@aws-sdk/util-locate-window":"*","@babel/helper-string-parser":"*","@code-yeongyu/senpi-codemode":"^2026.7.31","@aws-sdk/middleware-websocket":"*","@earendil-works/pi-agent-core":"npm:@code-yeongyu/senpi-agent-core@^2026.7.31","@anthropic-ai/claude-agent-sdk":"0.3.220","@asamuzakjp/generational-cache":"*","@aws-crypto/supports-web-crypto":"*","@aws-sdk/client-bedrock-runtime":"3.1095.0","@aws-sdk/middleware-eventstream":"*","@csstools/css-parser-algorithms":"*","@aws-sdk/credential-provider-env":"*","@aws-sdk/credential-provider-ini":"*","@aws-sdk/credential-provider-sso":"*","@smithy/credential-provider-imds":"*","is-potential-custom-element-name":"*","@aws-sdk/credential-provider-http":"*","@aws-sdk/credential-provider-node":"*","@aws-sdk/eventstream-handler-node":"*","@aws-sdk/credential-provider-login":"*","@aws-sdk/signature-v4-multi-region":"*","@babel/helper-validator-identifier":"*","@opentelemetry/semantic-conventions":"*","@aws-sdk/credential-provider-process":"*","@csstools/css-syntax-patches-for-csstree":"*","@aws-sdk/credential-provider-web-identity":"*"},"_hasShrinkwrap":false,"devDependencies":{"shx":"0.4.0","vitest":"4.1.10","@types/ms":"2.1.0","@types/ws":"8.18.1","typescript":"6.0.3","@types/node":"26.1.1","@types/jsdom":"28.0.3","@types/semver":"7.7.1","@types/turndown":"5.0.6","@types/picomatch":"4.0.3","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@anthropic-ai/claude-agent-sdk","@anthropic-ai/sdk","@asamuzakjp/css-color","@asamuzakjp/dom-selector","@asamuzakjp/generational-cache","@asamuzakjp/nwsapi","@aws-crypto/sha256-browser","@aws-crypto/sha256-js","@aws-crypto/supports-web-crypto","@aws-crypto/util","@aws-sdk/client-bedrock-runtime","@aws-sdk/core","@aws-sdk/credential-provider-env","@aws-sdk/credential-provider-http","@aws-sdk/credential-provider-ini","@aws-sdk/credential-provider-login","@aws-sdk/credential-provider-node","@aws-sdk/credential-provider-process","@aws-sdk/credential-provider-sso","@aws-sdk/credential-provider-web-identity","@aws-sdk/eventstream-handler-node","@aws-sdk/middleware-eventstream","@aws-sdk/middleware-websocket","@aws-sdk/nested-clients","@aws-sdk/signature-v4-multi-region","@aws-sdk/token-providers","@aws-sdk/types","@aws-sdk/util-locate-window","@aws-sdk/xml-builder","@aws/lambda-invoke-store","@babel/helper-string-parser","@babel/helper-validator-identifier","@babel/parser","@babel/runtime","@babel/types","@bramus/specificity","@code-yeongyu/senpi-codemode","@csstools/color-helpers","@csstools/css-calc","@csstools/css-color-parser","@csstools/css-parser-algorithms","@csstools/css-syntax-patches-for-csstree","@csstools/css-tokenizer","@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-pty","@earendil-works/pi-tui","@exodus/bytes","@google/genai","@hono/node-server","@mariozechner/clipboard","@mistralai/mistralai","@mixmark-io/domino","@modelcontextprotocol/sdk","@mozilla/readability","@opentelemetry/api","@opentelemetry/semantic-conventions","@protobufjs/aspromise","@protobufjs/base64","@protobufjs/codegen","@protobufjs/eventemitter","@protobufjs/fetch","@protobufjs/float","@protobufjs/path","@protobufjs/pool","@protobufjs/utf8","@silvia-odwyer/photon-node","@smithy/core","@smithy/credential-provider-imds","@smithy/fetch-http-handler","@smithy/is-array-buffer","@smithy/node-http-handler","@smithy/signature-v4","@smithy/types","@smithy/util-buffer-from","@smithy/util-utf8","@types/node","@xterm/headless","accepts","agent-base","ajv","ajv-formats","balanced-match","base64-js","bidi-js","bignumber.js","body-parser","bowser","brace-expansion","buffer-equal-constant-time","bytes","call-bind-apply-helpers","call-bound","chalk","content-disposition","content-type","cookie","cookie-signature","cors","cross-spawn","css-tree","data-uri-to-buffer","data-urls","debug","decimal.js","depd","diff","dunder-proto","ecdsa-sig-formatter","ee-first","encodeurl","entities","es-define-property","es-errors","es-object-atoms","escape-html","etag","eventsource","eventsource-parser","express","express-rate-limit","extend","fast-deep-equal","fast-uri","fetch-blob","finalhandler","formdata-polyfill","forwarded","fresh","function-bind","gaxios","gcp-metadata","get-east-asian-width","get-intrinsic","get-proto","glob","google-auth-library","google-logging-utils","gopd","graceful-fs","has-symbols","hasown","highlight.js","hono","hosted-git-info","html-encoding-sniffer","http-errors","http-proxy-agent","https-proxy-agent","iconv-lite","ignore","inherits","ip-address","ipaddr.js","is-potential-custom-element-name","is-promise","isexe","jiti","jose","jsdom","json-bigint","json-schema-to-ts","json-schema-traverse","json-schema-typed","jwa","jws","long","lru-cache","marked","math-intrinsics","mdn-data","media-typer","merge-descriptors","mime-db","mime-types","minimatch","minipass","ms","negotiator","node-domexception","node-fetch","object-assign","object-inspect","on-finished","once","openai","p-retry","parse5","parseurl","partial-json","path-key","path-scurry","path-to-regexp","picomatch","pkce-challenge","proper-lockfile","protobufjs","proxy-addr","proxy-from-env","punycode","qs","range-parser","raw-body","require-from-string","retry","router","safe-buffer","safer-buffer","saxes","semver","send","serve-static","setprototypeof","shebang-command","shebang-regex","side-channel","side-channel-list","side-channel-map","side-channel-weakmap","signal-exit","source-map-js","statuses","symbol-tree","tldts","tldts-core","toidentifier","tough-cookie","tr46","ts-algebra","tslib","turndown","type-is","typebox","undici","unpipe","vary","w3c-xmlserializer","web-streams-polyfill","webidl-conversions","whatwg-mimetype","whatwg-url","which","wrappy","ws","xml-name-validator","xmlchars","yaml","zod","zod-to-json-schema"],"optionalDependencies":{"@mariozechner/clipboard":"0.3.9","@mariozechner/clipboard-darwin-x64":"0.3.9","@mariozechner/clipboard-darwin-arm64":"0.3.9","@mariozechner/clipboard-linux-x64-gnu":"0.3.9","@mariozechner/clipboard-linux-x64-musl":"0.3.9","@mariozechner/clipboard-win32-x64-msvc":"0.3.9","@mariozechner/clipboard-linux-arm64-gnu":"0.3.9","@anthropic-ai/claude-agent-sdk-linux-x64":"0.3.220","@anthropic-ai/claude-agent-sdk-win32-x64":"0.3.220","@mariozechner/clipboard-darwin-universal":"0.3.9","@mariozechner/clipboard-linux-arm64-musl":"0.3.9","@mariozechner/clipboard-win32-arm64-msvc":"0.3.9","@anthropic-ai/claude-agent-sdk-darwin-x64":"0.3.220","@mariozechner/clipboard-linux-riscv64-gnu":"0.3.9","@anthropic-ai/claude-agent-sdk-linux-arm64":"0.3.220","@anthropic-ai/claude-agent-sdk-win32-arm64":"0.3.220","@anthropic-ai/claude-agent-sdk-darwin-arm64":"0.3.220","@anthropic-ai/claude-agent-sdk-linux-x64-musl":"0.3.220","@anthropic-ai/claude-agent-sdk-linux-arm64-musl":"0.3.220"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.7.31_1785464527751_0.9884458073910722","host":"s3://npm-registry-packages-npm-production"}},"2026.7.31-2":{"name":"@code-yeongyu/senpi","version":"2026.7.31-2","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.7.31-2","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"senpi":"dist/cli.js"},"dist":{"shasum":"bd1b2a9850818301fc81fac9b3a8dc381887b86a","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.7.31-2.tgz","fileCount":28820,"integrity":"sha512-m2aeTT1T14JaOvHVLurWQ4LzY7buSjxgq5/4T13jHWSzgMp2gJtwT9TjPW34d9AhBC8rAi99tRvBmkWZUam6mg==","signatures":[{"sig":"MEUCIQDeGPI+mOVirL1bzx5hHAgYxp6K1KZyVlvWsWFehWVIMAIgSZ8jqsTCtF0DYa57dUz+VkvhswzArLtBQXcTE5VeqUo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.7.31-2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":175220509},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./rpc-entry":{"import":"./dist/rpc-entry.js"}},"gitHead":"2dcd616736f5cf40a5ce3b3ed94eb321ce9eadab","scripts":{"dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsgo -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js dist/rpc-entry.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/","build:binary":"npm --prefix ../tui run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm run build && bun build --compile --compile-autoload-package-json --external=css-tree --no-compile-autoload-dotenv --minify --keep-names ./dist/bun/cli.js ./src/utils/image-resize-worker.ts --outfile dist/pi && npm run copy-binary-assets","qa:app-server":"node scripts/qa-app-server/run-all.mjs","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/export-html/ && shx cp -r docs dist/ && shx cp -r examples dist/ && shx mkdir -p dist/node_modules && shx cp -r ../../node_modules/css-tree ../../node_modules/mdn-data ../../node_modules/source-map-js dist/node_modules/ && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/ && shx mkdir -p dist/native/darwin dist/native/win32 && shx cp -r ../../packages/tui/native/darwin/prebuilds dist/native/darwin/ && shx cp -r ../../packages/tui/native/win32/prebuilds dist/native/win32/ && node ../../scripts/copy-pty-native.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ea548fc8-dac4-4dec-a439-6f4fa3870309"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.2"},"rimraf":"6.1.2","protobufjs":"7.6.5","@hono/node-server":"2.0.10"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.16.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ms":"*","qs":"*","ws":"8.21.1","ajv":"*","jwa":"*","jws":"*","zod":"4.4.3","cors":"*","depd":"*","diff":"9.0.0","etag":"*","glob":"13.0.6","gopd":"*","hono":"*","jiti":"2.7.0","jose":"*","long":"*","once":"*","send":"*","tr46":"*","vary":"*","yaml":"2.9.0","bytes":"*","chalk":"6.0.0","debug":"*","fresh":"*","isexe":"*","jsdom":"29.1.1","retry":"*","saxes":"*","tldts":"*","tslib":"*","which":"*","bowser":"*","cookie":"*","extend":"*","gaxios":"*","hasown":"*","ignore":"7.0.6","marked":"18.0.7","openai":"6.26.0","parse5":"*","router":"*","semver":"7.8.5","undici":"8.9.0","unpipe":"*","wrappy":"*","accepts":"*","bidi-js":"*","express":"*","mime-db":"*","p-retry":"*","type-is":"*","typebox":"1.3.8","css-tree":"*","ee-first":"*","entities":"*","fast-uri":"*","inherits":"*","mdn-data":"*","minipass":"*","parseurl":"*","path-key":"*","punycode":"*","raw-body":"*","statuses":"*","turndown":"7.2.4","xmlchars":"*","base64-js":"*","data-urls":"*","encodeurl":"*","es-errors":"*","forwarded":"*","get-proto":"*","ipaddr.js":"*","lru-cache":"*","minimatch":"10.2.5","picomatch":"4.0.5","agent-base":"*","call-bound":"*","decimal.js":"*","fetch-blob":"*","iconv-lite":"*","ip-address":"*","is-promise":"*","mime-types":"*","negotiator":"*","node-fetch":"*","protobufjs":"*","proxy-addr":"*","tldts-core":"*","ts-algebra":"*","whatwg-url":"*","@types/node":"*","ajv-formats":"*","body-parser":"*","cross-spawn":"7.0.6","escape-html":"*","eventsource":"*","graceful-fs":"*","has-symbols":"*","http-errors":"*","json-bigint":"*","media-typer":"*","on-finished":"*","path-scurry":"*","safe-buffer":"*","signal-exit":"*","symbol-tree":"*","@babel/types":"*","@smithy/core":"*","bignumber.js":"*","content-type":"*","dunder-proto":"*","finalhandler":"*","gcp-metadata":"*","highlight.js":"11.11.1","partial-json":"0.1.7","range-parser":"*","safer-buffer":"*","serve-static":"*","side-channel":"*","toidentifier":"*","tough-cookie":"*","@aws-sdk/core":"*","@babel/parser":"*","@exodus/bytes":"*","@google/genai":"*","@smithy/types":"4.16.1","function-bind":"*","get-intrinsic":"*","object-assign":"*","shebang-regex":"*","source-map-js":"*","@aws-sdk/types":"*","@babel/runtime":"*","balanced-match":"*","object-inspect":"*","path-to-regexp":"*","pkce-challenge":"*","proxy-from-env":"2.1.0","setprototypeof":"*","@xterm/headless":"*","brace-expansion":"*","es-object-atoms":"*","fast-deep-equal":"*","hosted-git-info":"10.1.1","math-intrinsics":"*","proper-lockfile":"4.1.2","shebang-command":"*","whatwg-mimetype":"*","@aws-crypto/util":"*","@protobufjs/path":"*","@protobufjs/pool":"*","@protobufjs/utf8":"*","cookie-signature":"*","http-proxy-agent":"9.1.0","side-channel-map":"*","@anthropic-ai/sdk":"0.91.1","@hono/node-server":"*","@protobufjs/fetch":"*","@protobufjs/float":"*","@smithy/util-utf8":"*","formdata-polyfill":"*","https-proxy-agent":"9.1.0","json-schema-to-ts":"*","json-schema-typed":"*","merge-descriptors":"*","node-domexception":"*","side-channel-list":"*","w3c-xmlserializer":"*","@asamuzakjp/nwsapi":"*","@csstools/css-calc":"*","@mixmark-io/domino":"*","@opentelemetry/api":"1.9.1","@protobufjs/base64":"*","data-uri-to-buffer":"*","es-define-property":"*","eventsource-parser":"*","express-rate-limit":"*","webidl-conversions":"*","xml-name-validator":"*","zod-to-json-schema":"*","@bramus/specificity":"*","@protobufjs/codegen":"*","content-disposition":"*","ecdsa-sig-formatter":"*","google-auth-library":"*","require-from-string":"*","@aws-sdk/xml-builder":"*","@mistralai/mistralai":"2.5.0","@mozilla/readability":"0.6.0","@smithy/signature-v4":"*","get-east-asian-width":"1.6.0","google-logging-utils":"*","json-schema-traverse":"*","side-channel-weakmap":"*","web-streams-polyfill":"*","@asamuzakjp/css-color":"*","@aws-crypto/sha256-js":"*","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@^2026.7.31-2","@protobufjs/aspromise":"*","html-encoding-sniffer":"*","@earendil-works/pi-pty":"npm:@code-yeongyu/senpi-pty@^2026.7.31-2","@earendil-works/pi-tui":"npm:@code-yeongyu/senpi-tui@^2026.7.31-2","@aws-sdk/nested-clients":"*","@csstools/color-helpers":"*","@csstools/css-tokenizer":"*","@mariozechner/clipboard":"*","@smithy/is-array-buffer":"*","call-bind-apply-helpers":"*","@asamuzakjp/dom-selector":"*","@aws-sdk/token-providers":"*","@aws/lambda-invoke-store":"*","@protobufjs/eventemitter":"*","@smithy/util-buffer-from":"*","@modelcontextprotocol/sdk":"1.30.0","@smithy/node-http-handler":"4.9.11","@aws-crypto/sha256-browser":"*","@csstools/css-color-parser":"*","@silvia-odwyer/photon-node":"0.3.4","@smithy/fetch-http-handler":"*","buffer-equal-constant-time":"*","@aws-sdk/util-locate-window":"*","@babel/helper-string-parser":"*","@code-yeongyu/senpi-codemode":"^2026.7.31-2","@aws-sdk/middleware-websocket":"*","@earendil-works/pi-agent-core":"npm:@code-yeongyu/senpi-agent-core@^2026.7.31-2","@anthropic-ai/claude-agent-sdk":"0.3.220","@asamuzakjp/generational-cache":"*","@aws-crypto/supports-web-crypto":"*","@aws-sdk/client-bedrock-runtime":"3.1095.0","@aws-sdk/middleware-eventstream":"*","@csstools/css-parser-algorithms":"*","@aws-sdk/credential-provider-env":"*","@aws-sdk/credential-provider-ini":"*","@aws-sdk/credential-provider-sso":"*","@smithy/credential-provider-imds":"*","is-potential-custom-element-name":"*","@aws-sdk/credential-provider-http":"*","@aws-sdk/credential-provider-node":"*","@aws-sdk/eventstream-handler-node":"*","@aws-sdk/credential-provider-login":"*","@aws-sdk/signature-v4-multi-region":"*","@babel/helper-validator-identifier":"*","@opentelemetry/semantic-conventions":"*","@aws-sdk/credential-provider-process":"*","@csstools/css-syntax-patches-for-csstree":"*","@aws-sdk/credential-provider-web-identity":"*"},"_hasShrinkwrap":false,"devDependencies":{"shx":"0.4.0","vitest":"4.1.10","@types/ms":"2.1.0","@types/ws":"8.18.1","typescript":"6.0.3","@types/node":"26.1.1","@types/jsdom":"28.0.3","@types/semver":"7.7.1","@types/turndown":"5.0.6","@types/picomatch":"4.0.3","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@anthropic-ai/claude-agent-sdk","@anthropic-ai/sdk","@asamuzakjp/css-color","@asamuzakjp/dom-selector","@asamuzakjp/generational-cache","@asamuzakjp/nwsapi","@aws-crypto/sha256-browser","@aws-crypto/sha256-js","@aws-crypto/supports-web-crypto","@aws-crypto/util","@aws-sdk/client-bedrock-runtime","@aws-sdk/core","@aws-sdk/credential-provider-env","@aws-sdk/credential-provider-http","@aws-sdk/credential-provider-ini","@aws-sdk/credential-provider-login","@aws-sdk/credential-provider-node","@aws-sdk/credential-provider-process","@aws-sdk/credential-provider-sso","@aws-sdk/credential-provider-web-identity","@aws-sdk/eventstream-handler-node","@aws-sdk/middleware-eventstream","@aws-sdk/middleware-websocket","@aws-sdk/nested-clients","@aws-sdk/signature-v4-multi-region","@aws-sdk/token-providers","@aws-sdk/types","@aws-sdk/util-locate-window","@aws-sdk/xml-builder","@aws/lambda-invoke-store","@babel/helper-string-parser","@babel/helper-validator-identifier","@babel/parser","@babel/runtime","@babel/types","@bramus/specificity","@code-yeongyu/senpi-codemode","@csstools/color-helpers","@csstools/css-calc","@csstools/css-color-parser","@csstools/css-parser-algorithms","@csstools/css-syntax-patches-for-csstree","@csstools/css-tokenizer","@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-pty","@earendil-works/pi-tui","@exodus/bytes","@google/genai","@hono/node-server","@mariozechner/clipboard","@mistralai/mistralai","@mixmark-io/domino","@modelcontextprotocol/sdk","@mozilla/readability","@opentelemetry/api","@opentelemetry/semantic-conventions","@protobufjs/aspromise","@protobufjs/base64","@protobufjs/codegen","@protobufjs/eventemitter","@protobufjs/fetch","@protobufjs/float","@protobufjs/path","@protobufjs/pool","@protobufjs/utf8","@silvia-odwyer/photon-node","@smithy/core","@smithy/credential-provider-imds","@smithy/fetch-http-handler","@smithy/is-array-buffer","@smithy/node-http-handler","@smithy/signature-v4","@smithy/types","@smithy/util-buffer-from","@smithy/util-utf8","@types/node","@xterm/headless","accepts","agent-base","ajv","ajv-formats","balanced-match","base64-js","bidi-js","bignumber.js","body-parser","bowser","brace-expansion","buffer-equal-constant-time","bytes","call-bind-apply-helpers","call-bound","chalk","content-disposition","content-type","cookie","cookie-signature","cors","cross-spawn","css-tree","data-uri-to-buffer","data-urls","debug","decimal.js","depd","diff","dunder-proto","ecdsa-sig-formatter","ee-first","encodeurl","entities","es-define-property","es-errors","es-object-atoms","escape-html","etag","eventsource","eventsource-parser","express","express-rate-limit","extend","fast-deep-equal","fast-uri","fetch-blob","finalhandler","formdata-polyfill","forwarded","fresh","function-bind","gaxios","gcp-metadata","get-east-asian-width","get-intrinsic","get-proto","glob","google-auth-library","google-logging-utils","gopd","graceful-fs","has-symbols","hasown","highlight.js","hono","hosted-git-info","html-encoding-sniffer","http-errors","http-proxy-agent","https-proxy-agent","iconv-lite","ignore","inherits","ip-address","ipaddr.js","is-potential-custom-element-name","is-promise","isexe","jiti","jose","jsdom","json-bigint","json-schema-to-ts","json-schema-traverse","json-schema-typed","jwa","jws","long","lru-cache","marked","math-intrinsics","mdn-data","media-typer","merge-descriptors","mime-db","mime-types","minimatch","minipass","ms","negotiator","node-domexception","node-fetch","object-assign","object-inspect","on-finished","once","openai","p-retry","parse5","parseurl","partial-json","path-key","path-scurry","path-to-regexp","picomatch","pkce-challenge","proper-lockfile","protobufjs","proxy-addr","proxy-from-env","punycode","qs","range-parser","raw-body","require-from-string","retry","router","safe-buffer","safer-buffer","saxes","semver","send","serve-static","setprototypeof","shebang-command","shebang-regex","side-channel","side-channel-list","side-channel-map","side-channel-weakmap","signal-exit","source-map-js","statuses","symbol-tree","tldts","tldts-core","toidentifier","tough-cookie","tr46","ts-algebra","tslib","turndown","type-is","typebox","undici","unpipe","vary","w3c-xmlserializer","web-streams-polyfill","webidl-conversions","whatwg-mimetype","whatwg-url","which","wrappy","ws","xml-name-validator","xmlchars","yaml","zod","zod-to-json-schema"],"optionalDependencies":{"@mariozechner/clipboard":"0.3.9","@mariozechner/clipboard-darwin-x64":"0.3.9","@mariozechner/clipboard-darwin-arm64":"0.3.9","@mariozechner/clipboard-linux-x64-gnu":"0.3.9","@mariozechner/clipboard-linux-x64-musl":"0.3.9","@mariozechner/clipboard-win32-x64-msvc":"0.3.9","@mariozechner/clipboard-linux-arm64-gnu":"0.3.9","@anthropic-ai/claude-agent-sdk-linux-x64":"0.3.220","@anthropic-ai/claude-agent-sdk-win32-x64":"0.3.220","@mariozechner/clipboard-darwin-universal":"0.3.9","@mariozechner/clipboard-linux-arm64-musl":"0.3.9","@mariozechner/clipboard-win32-arm64-msvc":"0.3.9","@anthropic-ai/claude-agent-sdk-darwin-x64":"0.3.220","@mariozechner/clipboard-linux-riscv64-gnu":"0.3.9","@anthropic-ai/claude-agent-sdk-linux-arm64":"0.3.220","@anthropic-ai/claude-agent-sdk-win32-arm64":"0.3.220","@anthropic-ai/claude-agent-sdk-darwin-arm64":"0.3.220","@anthropic-ai/claude-agent-sdk-linux-x64-musl":"0.3.220","@anthropic-ai/claude-agent-sdk-linux-arm64-musl":"0.3.220"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.7.31-2_1785491502822_0.9249913286907314","host":"s3://npm-registry-packages-npm-production"}},"2026.8.1":{"name":"@code-yeongyu/senpi","version":"2026.8.1","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.8.1","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"senpi":"dist/cli.js"},"dist":{"shasum":"b6cccdd86daa597e09a7441015586cd9fcbe5577","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.8.1.tgz","fileCount":28857,"integrity":"sha512-qsSBsKHqmwCygM0u5AqtBpis4ZqIEIRwp2s96BH2uURfR8aAJv5HobocD+OMFSFHEPJzEbtl7cff3UxhHFo3UA==","signatures":[{"sig":"MEYCIQCs/FvdAnc0EWwHN5Groh+dS/dTGKoc44M0qbXux2EBAQIhAL3nSJH8fyByop5gotRCFp49jMU9wPPFOGQwJx39ICeA","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.8.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":175302212},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./rpc-entry":{"import":"./dist/rpc-entry.js"}},"gitHead":"fda2078aa40ab69bfd67976a7660a10a910aea98","scripts":{"dev":"tsgo -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsgo -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js dist/rpc-entry.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/","build:binary":"npm --prefix ../tui run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm run build && bun build --compile --compile-autoload-package-json --external=css-tree --no-compile-autoload-dotenv --minify --keep-names ./dist/bun/cli.js ./src/utils/image-resize-worker.ts --outfile dist/pi && npm run copy-binary-assets","qa:app-server":"node scripts/qa-app-server/run-all.mjs","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/export-html/ && shx cp -r docs dist/ && shx cp -r examples dist/ && shx mkdir -p dist/node_modules && shx cp -r ../../node_modules/css-tree ../../node_modules/mdn-data ../../node_modules/source-map-js dist/node_modules/ && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/ && shx mkdir -p dist/native/darwin dist/native/win32 && shx cp -r ../../packages/tui/native/darwin/prebuilds dist/native/darwin/ && shx cp -r ../../packages/tui/native/win32/prebuilds dist/native/win32/ && node ../../scripts/copy-pty-native.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ea548fc8-dac4-4dec-a439-6f4fa3870309"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.2"},"rimraf":"6.1.2","protobufjs":"7.6.5","@hono/node-server":"2.0.10"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.16.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ms":"*","qs":"*","ws":"8.21.1","ajv":"*","jwa":"*","jws":"*","zod":"4.4.3","cors":"*","depd":"*","diff":"9.0.0","etag":"*","glob":"13.0.6","gopd":"*","hono":"*","jiti":"2.7.0","jose":"*","long":"*","once":"*","send":"*","tr46":"*","vary":"*","yaml":"2.9.0","bytes":"*","chalk":"6.0.0","debug":"*","fresh":"*","isexe":"*","jsdom":"29.1.1","retry":"*","saxes":"*","tldts":"*","tslib":"*","which":"*","bowser":"*","cookie":"*","extend":"*","gaxios":"*","hasown":"*","ignore":"7.0.6","marked":"18.0.7","openai":"6.26.0","parse5":"*","router":"*","semver":"7.8.5","undici":"8.9.0","unpipe":"*","wrappy":"*","accepts":"*","bidi-js":"*","express":"*","mime-db":"*","p-retry":"*","type-is":"*","typebox":"1.3.8","css-tree":"*","ee-first":"*","entities":"*","fast-uri":"*","inherits":"*","mdn-data":"*","minipass":"*","parseurl":"*","path-key":"*","punycode":"*","raw-body":"*","statuses":"*","turndown":"7.2.4","xmlchars":"*","base64-js":"*","data-urls":"*","encodeurl":"*","es-errors":"*","forwarded":"*","get-proto":"*","ipaddr.js":"*","lru-cache":"*","minimatch":"10.2.5","picomatch":"4.0.5","agent-base":"*","call-bound":"*","decimal.js":"*","fetch-blob":"*","iconv-lite":"*","ip-address":"*","is-promise":"*","mime-types":"*","negotiator":"*","node-fetch":"*","protobufjs":"*","proxy-addr":"*","tldts-core":"*","ts-algebra":"*","whatwg-url":"*","@types/node":"*","ajv-formats":"*","body-parser":"*","cross-spawn":"7.0.6","escape-html":"*","eventsource":"*","graceful-fs":"*","has-symbols":"*","http-errors":"*","json-bigint":"*","media-typer":"*","on-finished":"*","path-scurry":"*","safe-buffer":"*","signal-exit":"*","symbol-tree":"*","@babel/types":"*","@smithy/core":"*","bignumber.js":"*","content-type":"*","dunder-proto":"*","finalhandler":"*","gcp-metadata":"*","highlight.js":"11.11.1","partial-json":"0.1.7","range-parser":"*","safer-buffer":"*","serve-static":"*","side-channel":"*","toidentifier":"*","tough-cookie":"*","@aws-sdk/core":"*","@babel/parser":"*","@exodus/bytes":"*","@google/genai":"*","@smithy/types":"4.16.1","function-bind":"*","get-intrinsic":"*","object-assign":"*","shebang-regex":"*","source-map-js":"*","@aws-sdk/types":"*","@babel/runtime":"*","balanced-match":"*","object-inspect":"*","path-to-regexp":"*","pkce-challenge":"*","proxy-from-env":"2.1.0","setprototypeof":"*","@xterm/headless":"*","brace-expansion":"*","es-object-atoms":"*","fast-deep-equal":"*","hosted-git-info":"10.1.1","math-intrinsics":"*","proper-lockfile":"4.1.2","shebang-command":"*","whatwg-mimetype":"*","@aws-crypto/util":"*","@protobufjs/path":"*","@protobufjs/pool":"*","@protobufjs/utf8":"*","cookie-signature":"*","http-proxy-agent":"9.1.0","side-channel-map":"*","@anthropic-ai/sdk":"0.91.1","@hono/node-server":"*","@protobufjs/fetch":"*","@protobufjs/float":"*","@smithy/util-utf8":"*","formdata-polyfill":"*","https-proxy-agent":"9.1.0","json-schema-to-ts":"*","json-schema-typed":"*","merge-descriptors":"*","node-domexception":"*","side-channel-list":"*","w3c-xmlserializer":"*","@asamuzakjp/nwsapi":"*","@csstools/css-calc":"*","@mixmark-io/domino":"*","@opentelemetry/api":"1.9.1","@protobufjs/base64":"*","data-uri-to-buffer":"*","es-define-property":"*","eventsource-parser":"*","express-rate-limit":"*","webidl-conversions":"*","xml-name-validator":"*","zod-to-json-schema":"*","@bramus/specificity":"*","@protobufjs/codegen":"*","content-disposition":"*","ecdsa-sig-formatter":"*","google-auth-library":"*","require-from-string":"*","@aws-sdk/xml-builder":"*","@mistralai/mistralai":"2.5.0","@mozilla/readability":"0.6.0","@smithy/signature-v4":"*","get-east-asian-width":"1.6.0","google-logging-utils":"*","json-schema-traverse":"*","side-channel-weakmap":"*","web-streams-polyfill":"*","@asamuzakjp/css-color":"*","@aws-crypto/sha256-js":"*","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@^2026.8.1","@protobufjs/aspromise":"*","html-encoding-sniffer":"*","@earendil-works/pi-pty":"npm:@code-yeongyu/senpi-pty@^2026.8.1","@earendil-works/pi-tui":"npm:@code-yeongyu/senpi-tui@^2026.8.1","@aws-sdk/nested-clients":"*","@csstools/color-helpers":"*","@csstools/css-tokenizer":"*","@mariozechner/clipboard":"*","@smithy/is-array-buffer":"*","call-bind-apply-helpers":"*","@asamuzakjp/dom-selector":"*","@aws-sdk/token-providers":"*","@aws/lambda-invoke-store":"*","@protobufjs/eventemitter":"*","@smithy/util-buffer-from":"*","@modelcontextprotocol/sdk":"1.30.0","@smithy/node-http-handler":"4.9.11","@aws-crypto/sha256-browser":"*","@csstools/css-color-parser":"*","@silvia-odwyer/photon-node":"0.3.4","@smithy/fetch-http-handler":"*","buffer-equal-constant-time":"*","@aws-sdk/util-locate-window":"*","@babel/helper-string-parser":"*","@code-yeongyu/senpi-codemode":"^2026.8.1","@aws-sdk/middleware-websocket":"*","@earendil-works/pi-agent-core":"npm:@code-yeongyu/senpi-agent-core@^2026.8.1","@anthropic-ai/claude-agent-sdk":"0.3.220","@asamuzakjp/generational-cache":"*","@aws-crypto/supports-web-crypto":"*","@aws-sdk/client-bedrock-runtime":"3.1095.0","@aws-sdk/middleware-eventstream":"*","@csstools/css-parser-algorithms":"*","@aws-sdk/credential-provider-env":"*","@aws-sdk/credential-provider-ini":"*","@aws-sdk/credential-provider-sso":"*","@smithy/credential-provider-imds":"*","is-potential-custom-element-name":"*","@aws-sdk/credential-provider-http":"*","@aws-sdk/credential-provider-node":"*","@aws-sdk/eventstream-handler-node":"*","@aws-sdk/credential-provider-login":"*","@aws-sdk/signature-v4-multi-region":"*","@babel/helper-validator-identifier":"*","@opentelemetry/semantic-conventions":"*","@aws-sdk/credential-provider-process":"*","@csstools/css-syntax-patches-for-csstree":"*","@aws-sdk/credential-provider-web-identity":"*"},"_hasShrinkwrap":false,"devDependencies":{"shx":"0.4.0","vitest":"4.1.10","@types/ms":"2.1.0","@types/ws":"8.18.1","typescript":"6.0.3","@types/node":"26.1.1","@types/jsdom":"28.0.3","@types/semver":"7.7.1","@types/turndown":"5.0.6","@types/picomatch":"4.0.3","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@anthropic-ai/claude-agent-sdk","@anthropic-ai/sdk","@asamuzakjp/css-color","@asamuzakjp/dom-selector","@asamuzakjp/generational-cache","@asamuzakjp/nwsapi","@aws-crypto/sha256-browser","@aws-crypto/sha256-js","@aws-crypto/supports-web-crypto","@aws-crypto/util","@aws-sdk/client-bedrock-runtime","@aws-sdk/core","@aws-sdk/credential-provider-env","@aws-sdk/credential-provider-http","@aws-sdk/credential-provider-ini","@aws-sdk/credential-provider-login","@aws-sdk/credential-provider-node","@aws-sdk/credential-provider-process","@aws-sdk/credential-provider-sso","@aws-sdk/credential-provider-web-identity","@aws-sdk/eventstream-handler-node","@aws-sdk/middleware-eventstream","@aws-sdk/middleware-websocket","@aws-sdk/nested-clients","@aws-sdk/signature-v4-multi-region","@aws-sdk/token-providers","@aws-sdk/types","@aws-sdk/util-locate-window","@aws-sdk/xml-builder","@aws/lambda-invoke-store","@babel/helper-string-parser","@babel/helper-validator-identifier","@babel/parser","@babel/runtime","@babel/types","@bramus/specificity","@code-yeongyu/senpi-codemode","@csstools/color-helpers","@csstools/css-calc","@csstools/css-color-parser","@csstools/css-parser-algorithms","@csstools/css-syntax-patches-for-csstree","@csstools/css-tokenizer","@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-pty","@earendil-works/pi-tui","@exodus/bytes","@google/genai","@hono/node-server","@mariozechner/clipboard","@mistralai/mistralai","@mixmark-io/domino","@modelcontextprotocol/sdk","@mozilla/readability","@opentelemetry/api","@opentelemetry/semantic-conventions","@protobufjs/aspromise","@protobufjs/base64","@protobufjs/codegen","@protobufjs/eventemitter","@protobufjs/fetch","@protobufjs/float","@protobufjs/path","@protobufjs/pool","@protobufjs/utf8","@silvia-odwyer/photon-node","@smithy/core","@smithy/credential-provider-imds","@smithy/fetch-http-handler","@smithy/is-array-buffer","@smithy/node-http-handler","@smithy/signature-v4","@smithy/types","@smithy/util-buffer-from","@smithy/util-utf8","@types/node","@xterm/headless","accepts","agent-base","ajv","ajv-formats","balanced-match","base64-js","bidi-js","bignumber.js","body-parser","bowser","brace-expansion","buffer-equal-constant-time","bytes","call-bind-apply-helpers","call-bound","chalk","content-disposition","content-type","cookie","cookie-signature","cors","cross-spawn","css-tree","data-uri-to-buffer","data-urls","debug","decimal.js","depd","diff","dunder-proto","ecdsa-sig-formatter","ee-first","encodeurl","entities","es-define-property","es-errors","es-object-atoms","escape-html","etag","eventsource","eventsource-parser","express","express-rate-limit","extend","fast-deep-equal","fast-uri","fetch-blob","finalhandler","formdata-polyfill","forwarded","fresh","function-bind","gaxios","gcp-metadata","get-east-asian-width","get-intrinsic","get-proto","glob","google-auth-library","google-logging-utils","gopd","graceful-fs","has-symbols","hasown","highlight.js","hono","hosted-git-info","html-encoding-sniffer","http-errors","http-proxy-agent","https-proxy-agent","iconv-lite","ignore","inherits","ip-address","ipaddr.js","is-potential-custom-element-name","is-promise","isexe","jiti","jose","jsdom","json-bigint","json-schema-to-ts","json-schema-traverse","json-schema-typed","jwa","jws","long","lru-cache","marked","math-intrinsics","mdn-data","media-typer","merge-descriptors","mime-db","mime-types","minimatch","minipass","ms","negotiator","node-domexception","node-fetch","object-assign","object-inspect","on-finished","once","openai","p-retry","parse5","parseurl","partial-json","path-key","path-scurry","path-to-regexp","picomatch","pkce-challenge","proper-lockfile","protobufjs","proxy-addr","proxy-from-env","punycode","qs","range-parser","raw-body","require-from-string","retry","router","safe-buffer","safer-buffer","saxes","semver","send","serve-static","setprototypeof","shebang-command","shebang-regex","side-channel","side-channel-list","side-channel-map","side-channel-weakmap","signal-exit","source-map-js","statuses","symbol-tree","tldts","tldts-core","toidentifier","tough-cookie","tr46","ts-algebra","tslib","turndown","type-is","typebox","undici","unpipe","vary","w3c-xmlserializer","web-streams-polyfill","webidl-conversions","whatwg-mimetype","whatwg-url","which","wrappy","ws","xml-name-validator","xmlchars","yaml","zod","zod-to-json-schema"],"optionalDependencies":{"@mariozechner/clipboard":"0.3.9","@mariozechner/clipboard-darwin-x64":"0.3.9","@mariozechner/clipboard-darwin-arm64":"0.3.9","@mariozechner/clipboard-linux-x64-gnu":"0.3.9","@mariozechner/clipboard-linux-x64-musl":"0.3.9","@mariozechner/clipboard-win32-x64-msvc":"0.3.9","@mariozechner/clipboard-linux-arm64-gnu":"0.3.9","@anthropic-ai/claude-agent-sdk-linux-x64":"0.3.220","@anthropic-ai/claude-agent-sdk-win32-x64":"0.3.220","@mariozechner/clipboard-darwin-universal":"0.3.9","@mariozechner/clipboard-linux-arm64-musl":"0.3.9","@mariozechner/clipboard-win32-arm64-msvc":"0.3.9","@anthropic-ai/claude-agent-sdk-darwin-x64":"0.3.220","@mariozechner/clipboard-linux-riscv64-gnu":"0.3.9","@anthropic-ai/claude-agent-sdk-linux-arm64":"0.3.220","@anthropic-ai/claude-agent-sdk-win32-arm64":"0.3.220","@anthropic-ai/claude-agent-sdk-darwin-arm64":"0.3.220","@anthropic-ai/claude-agent-sdk-linux-x64-musl":"0.3.220","@anthropic-ai/claude-agent-sdk-linux-arm64-musl":"0.3.220"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.8.1_1785568371334_0.8767765262594409","host":"s3://npm-registry-packages-npm-production"}},"2026.8.3":{"name":"@code-yeongyu/senpi","version":"2026.8.3","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.8.3","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"senpi":"dist/cli.js"},"dist":{"shasum":"0e4e856f918f302034de5d324921015dedba2c54","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.8.3.tgz","fileCount":29058,"integrity":"sha512-lkxv+BBl0T7W2r4BWV9bUCoFoscp3JeYsZw4cg6m5nHNzPXqQ/DrA765grJoEBMKylowjymYsrRnBcxfls1M2w==","signatures":[{"sig":"MEUCIFmuLGNXWhNl+trPGH1NjdRcNxROP3GMGaLrnFseXF5jAiEA2AgEh2rL6tcGRx7DocPWhYBRggnIJ1tYlyp1rfCuRo0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.8.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":177041444},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.js"},"./rpc-entry":{"import":"./dist/rpc-entry.js"}},"gitHead":"05d17ceb5317534f8d3a564a6a4710e370e57e97","scripts":{"dev":"tsc -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsc -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js dist/rpc-entry.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/","build:binary":"npm --prefix ../tui run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm --prefix ../protocol run build && npm --prefix ../client run build && npm run build && bun build --compile --compile-autoload-package-json --external=css-tree --no-compile-autoload-dotenv --minify --keep-names ./dist/bun/cli.js ./src/utils/image-resize-worker.ts --outfile dist/pi && npm run copy-binary-assets","qa:app-server":"node scripts/qa-app-server/run-all.mjs","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/export-html/ && shx cp -r docs dist/ && shx cp -r examples dist/ && shx mkdir -p dist/node_modules && shx cp -r ../../node_modules/css-tree ../../node_modules/mdn-data ../../node_modules/source-map-js dist/node_modules/ && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/ && shx mkdir -p dist/native/darwin dist/native/win32 && shx cp -r ../../packages/tui/native/darwin/prebuilds dist/native/darwin/ && shx cp -r ../../packages/tui/native/win32/prebuilds dist/native/win32/ && node ../../scripts/copy-pty-native.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ea548fc8-dac4-4dec-a439-6f4fa3870309"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.2"},"rimraf":"6.1.2","protobufjs":"7.6.5","@hono/node-server":"2.0.10"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.16.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ms":"*","qs":"*","ws":"8.21.1","ajv":"*","jwa":"*","jws":"*","zod":"4.4.3","cors":"*","depd":"*","diff":"9.0.0","etag":"*","glob":"13.0.6","gopd":"*","hono":"*","jiti":"2.7.0","jose":"*","long":"*","once":"*","send":"*","tr46":"*","vary":"*","yaml":"2.9.0","bytes":"*","chalk":"6.0.0","debug":"*","fresh":"*","isexe":"*","jsdom":"29.1.1","retry":"*","saxes":"*","tldts":"*","tslib":"*","which":"*","bowser":"*","cookie":"*","extend":"*","gaxios":"*","hasown":"*","ignore":"7.0.6","marked":"18.0.7","openai":"6.26.0","parse5":"*","router":"*","semver":"7.8.5","undici":"8.9.0","unpipe":"*","wrappy":"*","accepts":"*","bidi-js":"*","express":"*","mime-db":"*","p-retry":"*","type-is":"*","typebox":"1.3.8","css-tree":"*","ee-first":"*","entities":"*","fast-uri":"*","inherits":"*","mdn-data":"*","minipass":"*","parseurl":"*","path-key":"*","punycode":"*","raw-body":"*","statuses":"*","turndown":"7.2.4","xmlchars":"*","base64-js":"*","data-urls":"*","encodeurl":"*","es-errors":"*","forwarded":"*","get-proto":"*","ipaddr.js":"*","lru-cache":"*","minimatch":"10.2.5","picomatch":"4.0.5","agent-base":"*","call-bound":"*","decimal.js":"*","fetch-blob":"*","iconv-lite":"*","ip-address":"*","is-promise":"*","mime-types":"*","negotiator":"*","node-fetch":"*","protobufjs":"*","proxy-addr":"*","tldts-core":"*","ts-algebra":"*","whatwg-url":"*","@types/node":"*","ajv-formats":"*","body-parser":"*","cross-spawn":"7.0.6","escape-html":"*","eventsource":"*","graceful-fs":"*","has-symbols":"*","http-errors":"*","json-bigint":"*","media-typer":"*","on-finished":"*","path-scurry":"*","safe-buffer":"*","signal-exit":"*","symbol-tree":"*","@babel/types":"*","@smithy/core":"*","bignumber.js":"*","content-type":"*","dunder-proto":"*","finalhandler":"*","gcp-metadata":"*","highlight.js":"11.11.1","partial-json":"0.1.7","range-parser":"*","safer-buffer":"*","serve-static":"*","side-channel":"*","toidentifier":"*","tough-cookie":"*","@aws-sdk/core":"*","@babel/parser":"*","@exodus/bytes":"*","@google/genai":"*","@smithy/types":"4.16.1","function-bind":"*","get-intrinsic":"*","object-assign":"*","shebang-regex":"*","source-map-js":"*","@aws-sdk/types":"*","@babel/runtime":"*","balanced-match":"*","object-inspect":"*","path-to-regexp":"*","pkce-challenge":"*","proxy-from-env":"2.1.0","setprototypeof":"*","@xterm/headless":"*","brace-expansion":"*","es-object-atoms":"*","fast-deep-equal":"*","hosted-git-info":"10.1.1","math-intrinsics":"*","proper-lockfile":"4.1.2","shebang-command":"*","whatwg-mimetype":"*","@aws-crypto/util":"*","@protobufjs/path":"*","@protobufjs/pool":"*","@protobufjs/utf8":"*","cookie-signature":"*","http-proxy-agent":"9.1.0","side-channel-map":"*","@anthropic-ai/sdk":"0.91.1","@hono/node-server":"*","@protobufjs/fetch":"*","@protobufjs/float":"*","@smithy/util-utf8":"*","formdata-polyfill":"*","https-proxy-agent":"9.1.0","json-schema-to-ts":"*","json-schema-typed":"*","merge-descriptors":"*","node-domexception":"*","side-channel-list":"*","w3c-xmlserializer":"*","@asamuzakjp/nwsapi":"*","@csstools/css-calc":"*","@mixmark-io/domino":"*","@opentelemetry/api":"1.9.1","@protobufjs/base64":"*","data-uri-to-buffer":"*","es-define-property":"*","eventsource-parser":"*","express-rate-limit":"*","webidl-conversions":"*","xml-name-validator":"*","zod-to-json-schema":"*","@bramus/specificity":"*","@protobufjs/codegen":"*","content-disposition":"*","ecdsa-sig-formatter":"*","google-auth-library":"*","require-from-string":"*","@aws-sdk/xml-builder":"*","@mistralai/mistralai":"2.5.0","@mozilla/readability":"0.6.0","@smithy/signature-v4":"*","get-east-asian-width":"1.6.0","google-logging-utils":"*","json-schema-traverse":"*","side-channel-weakmap":"*","web-streams-polyfill":"*","@asamuzakjp/css-color":"*","@aws-crypto/sha256-js":"*","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@^2026.8.3","@protobufjs/aspromise":"*","html-encoding-sniffer":"*","@earendil-works/pi-pty":"npm:@code-yeongyu/senpi-pty@^2026.8.3","@earendil-works/pi-tui":"npm:@code-yeongyu/senpi-tui@^2026.8.3","@aws-sdk/nested-clients":"*","@csstools/color-helpers":"*","@csstools/css-tokenizer":"*","@mariozechner/clipboard":"*","@smithy/is-array-buffer":"*","call-bind-apply-helpers":"*","@asamuzakjp/dom-selector":"*","@aws-sdk/token-providers":"*","@aws/lambda-invoke-store":"*","@protobufjs/eventemitter":"*","@smithy/util-buffer-from":"*","@earendil-works/pi-client":"^2026.8.3","@modelcontextprotocol/sdk":"1.30.0","@smithy/node-http-handler":"4.9.11","@aws-crypto/sha256-browser":"*","@csstools/css-color-parser":"*","@silvia-odwyer/photon-node":"0.3.4","@smithy/fetch-http-handler":"*","buffer-equal-constant-time":"*","@aws-sdk/util-locate-window":"*","@babel/helper-string-parser":"*","@earendil-works/pi-protocol":"^2026.8.3","@code-yeongyu/senpi-codemode":"^2026.8.3","@aws-sdk/middleware-websocket":"*","@earendil-works/pi-agent-core":"npm:@code-yeongyu/senpi-agent-core@^2026.8.3","@anthropic-ai/claude-agent-sdk":"0.3.220","@asamuzakjp/generational-cache":"*","@aws-crypto/supports-web-crypto":"*","@aws-sdk/client-bedrock-runtime":"3.1095.0","@aws-sdk/middleware-eventstream":"*","@csstools/css-parser-algorithms":"*","@aws-sdk/credential-provider-env":"*","@aws-sdk/credential-provider-ini":"*","@aws-sdk/credential-provider-sso":"*","@smithy/credential-provider-imds":"*","is-potential-custom-element-name":"*","@aws-sdk/credential-provider-http":"*","@aws-sdk/credential-provider-node":"*","@aws-sdk/eventstream-handler-node":"*","@aws-sdk/credential-provider-login":"*","@aws-sdk/signature-v4-multi-region":"*","@babel/helper-validator-identifier":"*","@opentelemetry/semantic-conventions":"*","@aws-sdk/credential-provider-process":"*","@csstools/css-syntax-patches-for-csstree":"*","@aws-sdk/credential-provider-web-identity":"*"},"_hasShrinkwrap":false,"devDependencies":{"shx":"0.4.0","vitest":"4.1.10","@types/ms":"2.1.0","@types/ws":"8.18.1","typescript":"7.0.2","@types/node":"26.1.1","@types/jsdom":"28.0.3","@types/semver":"7.7.1","@types/turndown":"5.0.6","@types/picomatch":"4.0.3","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@anthropic-ai/claude-agent-sdk","@anthropic-ai/sdk","@asamuzakjp/css-color","@asamuzakjp/dom-selector","@asamuzakjp/generational-cache","@asamuzakjp/nwsapi","@aws-crypto/sha256-browser","@aws-crypto/sha256-js","@aws-crypto/supports-web-crypto","@aws-crypto/util","@aws-sdk/client-bedrock-runtime","@aws-sdk/core","@aws-sdk/credential-provider-env","@aws-sdk/credential-provider-http","@aws-sdk/credential-provider-ini","@aws-sdk/credential-provider-login","@aws-sdk/credential-provider-node","@aws-sdk/credential-provider-process","@aws-sdk/credential-provider-sso","@aws-sdk/credential-provider-web-identity","@aws-sdk/eventstream-handler-node","@aws-sdk/middleware-eventstream","@aws-sdk/middleware-websocket","@aws-sdk/nested-clients","@aws-sdk/signature-v4-multi-region","@aws-sdk/token-providers","@aws-sdk/types","@aws-sdk/util-locate-window","@aws-sdk/xml-builder","@aws/lambda-invoke-store","@babel/helper-string-parser","@babel/helper-validator-identifier","@babel/parser","@babel/runtime","@babel/types","@bramus/specificity","@code-yeongyu/senpi-codemode","@csstools/color-helpers","@csstools/css-calc","@csstools/css-color-parser","@csstools/css-parser-algorithms","@csstools/css-syntax-patches-for-csstree","@csstools/css-tokenizer","@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-client","@earendil-works/pi-protocol","@earendil-works/pi-pty","@earendil-works/pi-tui","@exodus/bytes","@google/genai","@hono/node-server","@mariozechner/clipboard","@mistralai/mistralai","@mixmark-io/domino","@modelcontextprotocol/sdk","@mozilla/readability","@opentelemetry/api","@opentelemetry/semantic-conventions","@protobufjs/aspromise","@protobufjs/base64","@protobufjs/codegen","@protobufjs/eventemitter","@protobufjs/fetch","@protobufjs/float","@protobufjs/path","@protobufjs/pool","@protobufjs/utf8","@silvia-odwyer/photon-node","@smithy/core","@smithy/credential-provider-imds","@smithy/fetch-http-handler","@smithy/is-array-buffer","@smithy/node-http-handler","@smithy/signature-v4","@smithy/types","@smithy/util-buffer-from","@smithy/util-utf8","@types/node","@xterm/headless","accepts","agent-base","ajv","ajv-formats","balanced-match","base64-js","bidi-js","bignumber.js","body-parser","bowser","brace-expansion","buffer-equal-constant-time","bytes","call-bind-apply-helpers","call-bound","chalk","content-disposition","content-type","cookie","cookie-signature","cors","cross-spawn","css-tree","data-uri-to-buffer","data-urls","debug","decimal.js","depd","diff","dunder-proto","ecdsa-sig-formatter","ee-first","encodeurl","entities","es-define-property","es-errors","es-object-atoms","escape-html","etag","eventsource","eventsource-parser","express","express-rate-limit","extend","fast-deep-equal","fast-uri","fetch-blob","finalhandler","formdata-polyfill","forwarded","fresh","function-bind","gaxios","gcp-metadata","get-east-asian-width","get-intrinsic","get-proto","glob","google-auth-library","google-logging-utils","gopd","graceful-fs","has-symbols","hasown","highlight.js","hono","hosted-git-info","html-encoding-sniffer","http-errors","http-proxy-agent","https-proxy-agent","iconv-lite","ignore","inherits","ip-address","ipaddr.js","is-potential-custom-element-name","is-promise","isexe","jiti","jose","jsdom","json-bigint","json-schema-to-ts","json-schema-traverse","json-schema-typed","jwa","jws","long","lru-cache","marked","math-intrinsics","mdn-data","media-typer","merge-descriptors","mime-db","mime-types","minimatch","minipass","ms","negotiator","node-domexception","node-fetch","object-assign","object-inspect","on-finished","once","openai","p-retry","parse5","parseurl","partial-json","path-key","path-scurry","path-to-regexp","picomatch","pkce-challenge","proper-lockfile","protobufjs","proxy-addr","proxy-from-env","punycode","qs","range-parser","raw-body","require-from-string","retry","router","safe-buffer","safer-buffer","saxes","semver","send","serve-static","setprototypeof","shebang-command","shebang-regex","side-channel","side-channel-list","side-channel-map","side-channel-weakmap","signal-exit","source-map-js","statuses","symbol-tree","tldts","tldts-core","toidentifier","tough-cookie","tr46","ts-algebra","tslib","turndown","type-is","typebox","undici","unpipe","vary","w3c-xmlserializer","web-streams-polyfill","webidl-conversions","whatwg-mimetype","whatwg-url","which","wrappy","ws","xml-name-validator","xmlchars","yaml","zod","zod-to-json-schema"],"optionalDependencies":{"@mariozechner/clipboard":"0.3.9","@mariozechner/clipboard-darwin-x64":"0.3.9","@mariozechner/clipboard-darwin-arm64":"0.3.9","@mariozechner/clipboard-linux-x64-gnu":"0.3.9","@mariozechner/clipboard-linux-x64-musl":"0.3.9","@mariozechner/clipboard-win32-x64-msvc":"0.3.9","@mariozechner/clipboard-linux-arm64-gnu":"0.3.9","@anthropic-ai/claude-agent-sdk-linux-x64":"0.3.220","@anthropic-ai/claude-agent-sdk-win32-x64":"0.3.220","@mariozechner/clipboard-darwin-universal":"0.3.9","@mariozechner/clipboard-linux-arm64-musl":"0.3.9","@mariozechner/clipboard-win32-arm64-msvc":"0.3.9","@anthropic-ai/claude-agent-sdk-darwin-x64":"0.3.220","@mariozechner/clipboard-linux-riscv64-gnu":"0.3.9","@anthropic-ai/claude-agent-sdk-linux-arm64":"0.3.220","@anthropic-ai/claude-agent-sdk-win32-arm64":"0.3.220","@anthropic-ai/claude-agent-sdk-darwin-arm64":"0.3.220","@anthropic-ai/claude-agent-sdk-linux-x64-musl":"0.3.220","@anthropic-ai/claude-agent-sdk-linux-arm64-musl":"0.3.220"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.8.3_1785740059326_0.5812597062105662","host":"s3://npm-registry-packages-npm-production"}},"2026.8.3-3":{"name":"@code-yeongyu/senpi","version":"2026.8.3-3","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.8.3-3","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"senpi":"dist/cli.js"},"dist":{"shasum":"dafc83203b8d0678b930689f3127af578abe4442","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.8.3-3.tgz","fileCount":29069,"integrity":"sha512-2sQkmBLD9KN4N9xBNT9UDgPCePLCqeppbTDOWHlq1SHGu1TsIAGjCqkfKR/DXnRFgrP8QEuFrv8IZ/KQ+evkFQ==","signatures":[{"sig":"MEUCIHt3BNj0j6KZYnu+Dispp9CjMpePbBwFRcENgjxCq/5aAiEAuhQSq597J6FiQel2xCzDhrGRONR70FJWqk+9C+xkz8s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.8.3-3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":177114788},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.js"},"./rpc-entry":{"import":"./dist/rpc-entry.js"}},"gitHead":"b5f49b0c3ce79fbe378ebf840a75238734cec33f","scripts":{"dev":"tsc -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsc -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js dist/rpc-entry.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/","build:binary":"npm --prefix ../tui run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm --prefix ../protocol run build && npm --prefix ../client run build && npm run build && bun build --compile --compile-autoload-package-json --external=css-tree --no-compile-autoload-dotenv --minify --keep-names ./dist/bun/cli.js ./src/utils/image-resize-worker.ts --outfile dist/pi && npm run copy-binary-assets","qa:app-server":"node scripts/qa-app-server/run-all.mjs","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/export-html/ && shx cp -r docs dist/ && shx cp -r examples dist/ && shx mkdir -p dist/node_modules && shx cp -r ../../node_modules/css-tree ../../node_modules/mdn-data ../../node_modules/source-map-js dist/node_modules/ && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/ && shx mkdir -p dist/native/darwin dist/native/win32 && shx cp -r ../../packages/tui/native/darwin/prebuilds dist/native/darwin/ && shx cp -r ../../packages/tui/native/win32/prebuilds dist/native/win32/ && node ../../scripts/copy-pty-native.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ea548fc8-dac4-4dec-a439-6f4fa3870309"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.2"},"rimraf":"6.1.2","protobufjs":"7.6.5","@hono/node-server":"2.0.10"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.16.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ms":"*","qs":"*","ws":"8.21.1","ajv":"*","jwa":"*","jws":"*","zod":"4.4.3","cors":"*","depd":"*","diff":"9.0.0","etag":"*","glob":"13.0.6","gopd":"*","hono":"*","jiti":"2.7.0","jose":"*","long":"*","once":"*","send":"*","tr46":"*","vary":"*","yaml":"2.9.0","bytes":"*","chalk":"6.0.0","debug":"*","fresh":"*","isexe":"*","jsdom":"29.1.1","retry":"*","saxes":"*","tldts":"*","tslib":"*","which":"*","bowser":"*","cookie":"*","extend":"*","gaxios":"*","hasown":"*","ignore":"7.0.6","marked":"18.0.7","openai":"6.26.0","parse5":"*","router":"*","semver":"7.8.5","undici":"8.9.0","unpipe":"*","wrappy":"*","accepts":"*","bidi-js":"*","express":"*","mime-db":"*","p-retry":"*","type-is":"*","typebox":"1.3.8","css-tree":"*","ee-first":"*","entities":"*","fast-uri":"*","inherits":"*","mdn-data":"*","minipass":"*","parseurl":"*","path-key":"*","punycode":"*","raw-body":"*","statuses":"*","turndown":"7.2.4","xmlchars":"*","base64-js":"*","data-urls":"*","encodeurl":"*","es-errors":"*","forwarded":"*","get-proto":"*","ipaddr.js":"*","lru-cache":"*","minimatch":"10.2.5","picomatch":"4.0.5","agent-base":"*","call-bound":"*","decimal.js":"*","fetch-blob":"*","iconv-lite":"*","ip-address":"*","is-promise":"*","mime-types":"*","negotiator":"*","node-fetch":"*","protobufjs":"*","proxy-addr":"*","tldts-core":"*","ts-algebra":"*","whatwg-url":"*","@types/node":"*","ajv-formats":"*","body-parser":"*","cross-spawn":"7.0.6","escape-html":"*","eventsource":"*","graceful-fs":"*","has-symbols":"*","http-errors":"*","json-bigint":"*","media-typer":"*","on-finished":"*","path-scurry":"*","safe-buffer":"*","signal-exit":"*","symbol-tree":"*","@babel/types":"*","@smithy/core":"*","bignumber.js":"*","content-type":"*","dunder-proto":"*","finalhandler":"*","gcp-metadata":"*","highlight.js":"11.11.1","partial-json":"0.1.7","range-parser":"*","safer-buffer":"*","serve-static":"*","side-channel":"*","toidentifier":"*","tough-cookie":"*","@aws-sdk/core":"*","@babel/parser":"*","@exodus/bytes":"*","@google/genai":"*","@smithy/types":"4.16.1","function-bind":"*","get-intrinsic":"*","object-assign":"*","shebang-regex":"*","source-map-js":"*","@aws-sdk/types":"*","@babel/runtime":"*","balanced-match":"*","object-inspect":"*","path-to-regexp":"*","pkce-challenge":"*","proxy-from-env":"2.1.0","setprototypeof":"*","@xterm/headless":"*","brace-expansion":"*","es-object-atoms":"*","fast-deep-equal":"*","hosted-git-info":"10.1.1","math-intrinsics":"*","proper-lockfile":"4.1.2","shebang-command":"*","whatwg-mimetype":"*","@aws-crypto/util":"*","@protobufjs/path":"*","@protobufjs/pool":"*","@protobufjs/utf8":"*","cookie-signature":"*","http-proxy-agent":"9.1.0","side-channel-map":"*","@anthropic-ai/sdk":"0.91.1","@hono/node-server":"*","@protobufjs/fetch":"*","@protobufjs/float":"*","@smithy/util-utf8":"*","formdata-polyfill":"*","https-proxy-agent":"9.1.0","json-schema-to-ts":"*","json-schema-typed":"*","merge-descriptors":"*","node-domexception":"*","side-channel-list":"*","w3c-xmlserializer":"*","@asamuzakjp/nwsapi":"*","@csstools/css-calc":"*","@mixmark-io/domino":"*","@opentelemetry/api":"1.9.1","@protobufjs/base64":"*","data-uri-to-buffer":"*","es-define-property":"*","eventsource-parser":"*","express-rate-limit":"*","webidl-conversions":"*","xml-name-validator":"*","zod-to-json-schema":"*","@bramus/specificity":"*","@protobufjs/codegen":"*","content-disposition":"*","ecdsa-sig-formatter":"*","google-auth-library":"*","require-from-string":"*","@aws-sdk/xml-builder":"*","@mistralai/mistralai":"2.5.0","@mozilla/readability":"0.6.0","@smithy/signature-v4":"*","get-east-asian-width":"1.6.0","google-logging-utils":"*","json-schema-traverse":"*","side-channel-weakmap":"*","web-streams-polyfill":"*","@asamuzakjp/css-color":"*","@aws-crypto/sha256-js":"*","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.8.3-3","@protobufjs/aspromise":"*","html-encoding-sniffer":"*","@earendil-works/pi-pty":"npm:@code-yeongyu/senpi-pty@2026.8.3-3","@earendil-works/pi-tui":"npm:@code-yeongyu/senpi-tui@2026.8.3-3","@aws-sdk/nested-clients":"*","@csstools/color-helpers":"*","@csstools/css-tokenizer":"*","@mariozechner/clipboard":"*","@smithy/is-array-buffer":"*","call-bind-apply-helpers":"*","@asamuzakjp/dom-selector":"*","@aws-sdk/token-providers":"*","@aws/lambda-invoke-store":"*","@protobufjs/eventemitter":"*","@smithy/util-buffer-from":"*","@modelcontextprotocol/sdk":"1.30.0","@smithy/node-http-handler":"4.9.11","@aws-crypto/sha256-browser":"*","@csstools/css-color-parser":"*","@silvia-odwyer/photon-node":"0.3.4","@smithy/fetch-http-handler":"*","buffer-equal-constant-time":"*","@aws-sdk/util-locate-window":"*","@babel/helper-string-parser":"*","@code-yeongyu/senpi-codemode":"2026.8.3-3","@aws-sdk/middleware-websocket":"*","@earendil-works/pi-agent-core":"npm:@code-yeongyu/senpi-agent-core@2026.8.3-3","@anthropic-ai/claude-agent-sdk":"0.3.220","@asamuzakjp/generational-cache":"*","@aws-crypto/supports-web-crypto":"*","@aws-sdk/client-bedrock-runtime":"3.1095.0","@aws-sdk/middleware-eventstream":"*","@csstools/css-parser-algorithms":"*","@aws-sdk/credential-provider-env":"*","@aws-sdk/credential-provider-ini":"*","@aws-sdk/credential-provider-sso":"*","@smithy/credential-provider-imds":"*","is-potential-custom-element-name":"*","@aws-sdk/credential-provider-http":"*","@aws-sdk/credential-provider-node":"*","@aws-sdk/eventstream-handler-node":"*","@aws-sdk/credential-provider-login":"*","@aws-sdk/signature-v4-multi-region":"*","@babel/helper-validator-identifier":"*","@opentelemetry/semantic-conventions":"*","@aws-sdk/credential-provider-process":"*","@csstools/css-syntax-patches-for-csstree":"*","@aws-sdk/credential-provider-web-identity":"*"},"_hasShrinkwrap":false,"devDependencies":{"shx":"0.4.0","vitest":"4.1.10","@types/ms":"2.1.0","@types/ws":"8.18.1","typescript":"7.0.2","@types/node":"26.1.1","@types/jsdom":"28.0.3","@types/semver":"7.7.1","@types/turndown":"5.0.6","@types/picomatch":"4.0.3","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@anthropic-ai/claude-agent-sdk","@anthropic-ai/sdk","@asamuzakjp/css-color","@asamuzakjp/dom-selector","@asamuzakjp/generational-cache","@asamuzakjp/nwsapi","@aws-crypto/sha256-browser","@aws-crypto/sha256-js","@aws-crypto/supports-web-crypto","@aws-crypto/util","@aws-sdk/client-bedrock-runtime","@aws-sdk/core","@aws-sdk/credential-provider-env","@aws-sdk/credential-provider-http","@aws-sdk/credential-provider-ini","@aws-sdk/credential-provider-login","@aws-sdk/credential-provider-node","@aws-sdk/credential-provider-process","@aws-sdk/credential-provider-sso","@aws-sdk/credential-provider-web-identity","@aws-sdk/eventstream-handler-node","@aws-sdk/middleware-eventstream","@aws-sdk/middleware-websocket","@aws-sdk/nested-clients","@aws-sdk/signature-v4-multi-region","@aws-sdk/token-providers","@aws-sdk/types","@aws-sdk/util-locate-window","@aws-sdk/xml-builder","@aws/lambda-invoke-store","@babel/helper-string-parser","@babel/helper-validator-identifier","@babel/parser","@babel/runtime","@babel/types","@bramus/specificity","@code-yeongyu/senpi-codemode","@csstools/color-helpers","@csstools/css-calc","@csstools/css-color-parser","@csstools/css-parser-algorithms","@csstools/css-syntax-patches-for-csstree","@csstools/css-tokenizer","@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-pty","@earendil-works/pi-tui","@exodus/bytes","@google/genai","@hono/node-server","@mariozechner/clipboard","@mistralai/mistralai","@mixmark-io/domino","@modelcontextprotocol/sdk","@mozilla/readability","@opentelemetry/api","@opentelemetry/semantic-conventions","@protobufjs/aspromise","@protobufjs/base64","@protobufjs/codegen","@protobufjs/eventemitter","@protobufjs/fetch","@protobufjs/float","@protobufjs/path","@protobufjs/pool","@protobufjs/utf8","@silvia-odwyer/photon-node","@smithy/core","@smithy/credential-provider-imds","@smithy/fetch-http-handler","@smithy/is-array-buffer","@smithy/node-http-handler","@smithy/signature-v4","@smithy/types","@smithy/util-buffer-from","@smithy/util-utf8","@types/node","@xterm/headless","accepts","agent-base","ajv","ajv-formats","balanced-match","base64-js","bidi-js","bignumber.js","body-parser","bowser","brace-expansion","buffer-equal-constant-time","bytes","call-bind-apply-helpers","call-bound","chalk","content-disposition","content-type","cookie","cookie-signature","cors","cross-spawn","css-tree","data-uri-to-buffer","data-urls","debug","decimal.js","depd","diff","dunder-proto","ecdsa-sig-formatter","ee-first","encodeurl","entities","es-define-property","es-errors","es-object-atoms","escape-html","etag","eventsource","eventsource-parser","express","express-rate-limit","extend","fast-deep-equal","fast-uri","fetch-blob","finalhandler","formdata-polyfill","forwarded","fresh","function-bind","gaxios","gcp-metadata","get-east-asian-width","get-intrinsic","get-proto","glob","google-auth-library","google-logging-utils","gopd","graceful-fs","has-symbols","hasown","highlight.js","hono","hosted-git-info","html-encoding-sniffer","http-errors","http-proxy-agent","https-proxy-agent","iconv-lite","ignore","inherits","ip-address","ipaddr.js","is-potential-custom-element-name","is-promise","isexe","jiti","jose","jsdom","json-bigint","json-schema-to-ts","json-schema-traverse","json-schema-typed","jwa","jws","long","lru-cache","marked","math-intrinsics","mdn-data","media-typer","merge-descriptors","mime-db","mime-types","minimatch","minipass","ms","negotiator","node-domexception","node-fetch","object-assign","object-inspect","on-finished","once","openai","p-retry","parse5","parseurl","partial-json","path-key","path-scurry","path-to-regexp","picomatch","pkce-challenge","proper-lockfile","protobufjs","proxy-addr","proxy-from-env","punycode","qs","range-parser","raw-body","require-from-string","retry","router","safe-buffer","safer-buffer","saxes","semver","send","serve-static","setprototypeof","shebang-command","shebang-regex","side-channel","side-channel-list","side-channel-map","side-channel-weakmap","signal-exit","source-map-js","statuses","symbol-tree","tldts","tldts-core","toidentifier","tough-cookie","tr46","ts-algebra","tslib","turndown","type-is","typebox","undici","unpipe","vary","w3c-xmlserializer","web-streams-polyfill","webidl-conversions","whatwg-mimetype","whatwg-url","which","wrappy","ws","xml-name-validator","xmlchars","yaml","zod","zod-to-json-schema"],"optionalDependencies":{"@mariozechner/clipboard":"0.3.9","@mariozechner/clipboard-darwin-x64":"0.3.9","@mariozechner/clipboard-darwin-arm64":"0.3.9","@mariozechner/clipboard-linux-x64-gnu":"0.3.9","@mariozechner/clipboard-linux-x64-musl":"0.3.9","@mariozechner/clipboard-win32-x64-msvc":"0.3.9","@mariozechner/clipboard-linux-arm64-gnu":"0.3.9","@anthropic-ai/claude-agent-sdk-linux-x64":"0.3.220","@anthropic-ai/claude-agent-sdk-win32-x64":"0.3.220","@mariozechner/clipboard-darwin-universal":"0.3.9","@mariozechner/clipboard-linux-arm64-musl":"0.3.9","@mariozechner/clipboard-win32-arm64-msvc":"0.3.9","@anthropic-ai/claude-agent-sdk-darwin-x64":"0.3.220","@mariozechner/clipboard-linux-riscv64-gnu":"0.3.9","@anthropic-ai/claude-agent-sdk-linux-arm64":"0.3.220","@anthropic-ai/claude-agent-sdk-win32-arm64":"0.3.220","@anthropic-ai/claude-agent-sdk-darwin-arm64":"0.3.220","@anthropic-ai/claude-agent-sdk-linux-x64-musl":"0.3.220","@anthropic-ai/claude-agent-sdk-linux-arm64-musl":"0.3.220"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.8.3-3_1785752019419_0.5048693418558856","host":"s3://npm-registry-packages-npm-production"}},"2026.8.4":{"name":"@code-yeongyu/senpi","version":"2026.8.4","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.8.4","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"senpi":"dist/cli.js"},"dist":{"shasum":"9ff05e06f7ea7ffd66b2c2c2cc4eb2243367c94f","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.8.4.tgz","fileCount":29113,"integrity":"sha512-VS4B9F45gCD0H/jq5OqQoMHaMLyRVqNp69Q8XQrTBz0kaecNFKtQYSwFLnwTm3g/IfPu+6VhRMDw9DcXMKRAiA==","signatures":[{"sig":"MEUCIQC8yRz7dX/zwRKctR6KPpXyxPhfu/rxiFzgBIfG/oN7KgIgYGMIVXowL9cZnlDci0JHXasWKh9kwB3Ub9kO/RFSlPE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.8.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":177244729},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.js"},"./rpc-entry":{"import":"./dist/rpc-entry.js"}},"gitHead":"f368ac080f9dfebe17ba3d7c0b759d58ce92b590","scripts":{"dev":"tsc -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsc -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js dist/rpc-entry.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/","build:binary":"npm --prefix ../tui run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm --prefix ../protocol run build && npm --prefix ../client run build && npm run build && bun build --compile --compile-autoload-package-json --external=css-tree --no-compile-autoload-dotenv --minify --keep-names ./dist/bun/cli.js ./src/utils/image-resize-worker.ts --outfile dist/pi && npm run copy-binary-assets","qa:app-server":"node scripts/qa-app-server/run-all.mjs","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/export-html/ && shx cp -r docs dist/ && shx cp -r examples dist/ && shx mkdir -p dist/node_modules && shx cp -r ../../node_modules/css-tree ../../node_modules/mdn-data ../../node_modules/source-map-js dist/node_modules/ && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/ && shx mkdir -p dist/native/darwin dist/native/win32 && shx cp -r ../../packages/tui/native/darwin/prebuilds dist/native/darwin/ && shx cp -r ../../packages/tui/native/win32/prebuilds dist/native/win32/ && node ../../scripts/copy-pty-native.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ea548fc8-dac4-4dec-a439-6f4fa3870309"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.2"},"rimraf":"6.1.2","protobufjs":"7.6.5","@hono/node-server":"2.0.10"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.16.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ms":"*","qs":"*","ws":"8.21.1","ajv":"*","jwa":"*","jws":"*","zod":"4.4.3","cors":"*","depd":"*","diff":"9.0.0","etag":"*","glob":"13.0.6","gopd":"*","hono":"*","jiti":"2.7.0","jose":"*","long":"*","once":"*","send":"*","tr46":"*","vary":"*","yaml":"2.9.0","bytes":"*","chalk":"6.0.0","debug":"*","fresh":"*","isexe":"*","jsdom":"29.1.1","retry":"*","saxes":"*","tldts":"*","tslib":"*","which":"*","bowser":"*","cookie":"*","extend":"*","gaxios":"*","hasown":"*","ignore":"7.0.6","marked":"18.0.7","openai":"6.26.0","parse5":"*","router":"*","semver":"7.8.5","undici":"8.9.0","unpipe":"*","wrappy":"*","accepts":"*","bidi-js":"*","express":"*","mime-db":"*","p-retry":"*","type-is":"*","typebox":"1.3.8","css-tree":"*","ee-first":"*","entities":"*","fast-uri":"*","inherits":"*","mdn-data":"*","minipass":"*","parseurl":"*","path-key":"*","punycode":"*","raw-body":"*","statuses":"*","turndown":"7.2.4","xmlchars":"*","base64-js":"*","data-urls":"*","encodeurl":"*","es-errors":"*","forwarded":"*","get-proto":"*","ipaddr.js":"*","lru-cache":"*","minimatch":"10.2.5","picomatch":"4.0.5","agent-base":"*","call-bound":"*","decimal.js":"*","fetch-blob":"*","iconv-lite":"*","ip-address":"*","is-promise":"*","mime-types":"*","negotiator":"*","node-fetch":"*","protobufjs":"*","proxy-addr":"*","tldts-core":"*","ts-algebra":"*","whatwg-url":"*","@types/node":"*","ajv-formats":"*","body-parser":"*","cross-spawn":"7.0.6","escape-html":"*","eventsource":"*","graceful-fs":"*","has-symbols":"*","http-errors":"*","json-bigint":"*","media-typer":"*","on-finished":"*","path-scurry":"*","safe-buffer":"*","signal-exit":"*","symbol-tree":"*","@babel/types":"*","@smithy/core":"*","bignumber.js":"*","content-type":"*","dunder-proto":"*","finalhandler":"*","gcp-metadata":"*","highlight.js":"11.11.1","partial-json":"0.1.7","range-parser":"*","safer-buffer":"*","serve-static":"*","side-channel":"*","toidentifier":"*","tough-cookie":"*","@aws-sdk/core":"*","@babel/parser":"*","@exodus/bytes":"*","@google/genai":"*","@smithy/types":"4.16.1","function-bind":"*","get-intrinsic":"*","object-assign":"*","shebang-regex":"*","source-map-js":"*","@aws-sdk/types":"*","@babel/runtime":"*","balanced-match":"*","object-inspect":"*","path-to-regexp":"*","pkce-challenge":"*","proxy-from-env":"2.1.0","setprototypeof":"*","@xterm/headless":"*","brace-expansion":"*","es-object-atoms":"*","fast-deep-equal":"*","hosted-git-info":"10.1.1","math-intrinsics":"*","proper-lockfile":"4.1.2","shebang-command":"*","whatwg-mimetype":"*","@aws-crypto/util":"*","@protobufjs/path":"*","@protobufjs/pool":"*","@protobufjs/utf8":"*","cookie-signature":"*","http-proxy-agent":"9.1.0","side-channel-map":"*","@anthropic-ai/sdk":"0.91.1","@hono/node-server":"*","@protobufjs/fetch":"*","@protobufjs/float":"*","@smithy/util-utf8":"*","formdata-polyfill":"*","https-proxy-agent":"9.1.0","json-schema-to-ts":"*","json-schema-typed":"*","merge-descriptors":"*","node-domexception":"*","side-channel-list":"*","w3c-xmlserializer":"*","@asamuzakjp/nwsapi":"*","@csstools/css-calc":"*","@mixmark-io/domino":"*","@opentelemetry/api":"1.9.1","@protobufjs/base64":"*","data-uri-to-buffer":"*","es-define-property":"*","eventsource-parser":"*","express-rate-limit":"*","webidl-conversions":"*","xml-name-validator":"*","zod-to-json-schema":"*","@bramus/specificity":"*","@protobufjs/codegen":"*","content-disposition":"*","ecdsa-sig-formatter":"*","google-auth-library":"*","require-from-string":"*","@aws-sdk/xml-builder":"*","@mistralai/mistralai":"2.5.0","@mozilla/readability":"0.6.0","@smithy/signature-v4":"*","get-east-asian-width":"1.6.0","google-logging-utils":"*","json-schema-traverse":"*","side-channel-weakmap":"*","web-streams-polyfill":"*","@asamuzakjp/css-color":"*","@aws-crypto/sha256-js":"*","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.8.4","@protobufjs/aspromise":"*","html-encoding-sniffer":"*","@earendil-works/pi-pty":"npm:@code-yeongyu/senpi-pty@2026.8.4","@earendil-works/pi-tui":"npm:@code-yeongyu/senpi-tui@2026.8.4","@aws-sdk/nested-clients":"*","@csstools/color-helpers":"*","@csstools/css-tokenizer":"*","@mariozechner/clipboard":"*","@smithy/is-array-buffer":"*","call-bind-apply-helpers":"*","@asamuzakjp/dom-selector":"*","@aws-sdk/token-providers":"*","@aws/lambda-invoke-store":"*","@protobufjs/eventemitter":"*","@smithy/util-buffer-from":"*","@modelcontextprotocol/sdk":"1.30.0","@smithy/node-http-handler":"4.9.11","@aws-crypto/sha256-browser":"*","@csstools/css-color-parser":"*","@silvia-odwyer/photon-node":"0.3.4","@smithy/fetch-http-handler":"*","buffer-equal-constant-time":"*","@aws-sdk/util-locate-window":"*","@babel/helper-string-parser":"*","@code-yeongyu/senpi-codemode":"2026.8.4","@aws-sdk/middleware-websocket":"*","@earendil-works/pi-agent-core":"npm:@code-yeongyu/senpi-agent-core@2026.8.4","@anthropic-ai/claude-agent-sdk":"0.3.220","@asamuzakjp/generational-cache":"*","@aws-crypto/supports-web-crypto":"*","@aws-sdk/client-bedrock-runtime":"3.1095.0","@aws-sdk/middleware-eventstream":"*","@csstools/css-parser-algorithms":"*","@aws-sdk/credential-provider-env":"*","@aws-sdk/credential-provider-ini":"*","@aws-sdk/credential-provider-sso":"*","@smithy/credential-provider-imds":"*","is-potential-custom-element-name":"*","@aws-sdk/credential-provider-http":"*","@aws-sdk/credential-provider-node":"*","@aws-sdk/eventstream-handler-node":"*","@aws-sdk/credential-provider-login":"*","@aws-sdk/signature-v4-multi-region":"*","@babel/helper-validator-identifier":"*","@opentelemetry/semantic-conventions":"*","@aws-sdk/credential-provider-process":"*","@csstools/css-syntax-patches-for-csstree":"*","@aws-sdk/credential-provider-web-identity":"*"},"_hasShrinkwrap":false,"devDependencies":{"shx":"0.4.0","vitest":"4.1.10","@types/ms":"2.1.0","@types/ws":"8.18.1","typescript":"7.0.2","@types/node":"26.1.1","@types/jsdom":"28.0.3","@types/semver":"7.7.1","@types/turndown":"5.0.6","@types/picomatch":"4.0.3","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@anthropic-ai/claude-agent-sdk","@anthropic-ai/sdk","@asamuzakjp/css-color","@asamuzakjp/dom-selector","@asamuzakjp/generational-cache","@asamuzakjp/nwsapi","@aws-crypto/sha256-browser","@aws-crypto/sha256-js","@aws-crypto/supports-web-crypto","@aws-crypto/util","@aws-sdk/client-bedrock-runtime","@aws-sdk/core","@aws-sdk/credential-provider-env","@aws-sdk/credential-provider-http","@aws-sdk/credential-provider-ini","@aws-sdk/credential-provider-login","@aws-sdk/credential-provider-node","@aws-sdk/credential-provider-process","@aws-sdk/credential-provider-sso","@aws-sdk/credential-provider-web-identity","@aws-sdk/eventstream-handler-node","@aws-sdk/middleware-eventstream","@aws-sdk/middleware-websocket","@aws-sdk/nested-clients","@aws-sdk/signature-v4-multi-region","@aws-sdk/token-providers","@aws-sdk/types","@aws-sdk/util-locate-window","@aws-sdk/xml-builder","@aws/lambda-invoke-store","@babel/helper-string-parser","@babel/helper-validator-identifier","@babel/parser","@babel/runtime","@babel/types","@bramus/specificity","@code-yeongyu/senpi-codemode","@csstools/color-helpers","@csstools/css-calc","@csstools/css-color-parser","@csstools/css-parser-algorithms","@csstools/css-syntax-patches-for-csstree","@csstools/css-tokenizer","@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-pty","@earendil-works/pi-tui","@exodus/bytes","@google/genai","@hono/node-server","@mariozechner/clipboard","@mistralai/mistralai","@mixmark-io/domino","@modelcontextprotocol/sdk","@mozilla/readability","@opentelemetry/api","@opentelemetry/semantic-conventions","@protobufjs/aspromise","@protobufjs/base64","@protobufjs/codegen","@protobufjs/eventemitter","@protobufjs/fetch","@protobufjs/float","@protobufjs/path","@protobufjs/pool","@protobufjs/utf8","@silvia-odwyer/photon-node","@smithy/core","@smithy/credential-provider-imds","@smithy/fetch-http-handler","@smithy/is-array-buffer","@smithy/node-http-handler","@smithy/signature-v4","@smithy/types","@smithy/util-buffer-from","@smithy/util-utf8","@types/node","@xterm/headless","accepts","agent-base","ajv","ajv-formats","balanced-match","base64-js","bidi-js","bignumber.js","body-parser","bowser","brace-expansion","buffer-equal-constant-time","bytes","call-bind-apply-helpers","call-bound","chalk","content-disposition","content-type","cookie","cookie-signature","cors","cross-spawn","css-tree","data-uri-to-buffer","data-urls","debug","decimal.js","depd","diff","dunder-proto","ecdsa-sig-formatter","ee-first","encodeurl","entities","es-define-property","es-errors","es-object-atoms","escape-html","etag","eventsource","eventsource-parser","express","express-rate-limit","extend","fast-deep-equal","fast-uri","fetch-blob","finalhandler","formdata-polyfill","forwarded","fresh","function-bind","gaxios","gcp-metadata","get-east-asian-width","get-intrinsic","get-proto","glob","google-auth-library","google-logging-utils","gopd","graceful-fs","has-symbols","hasown","highlight.js","hono","hosted-git-info","html-encoding-sniffer","http-errors","http-proxy-agent","https-proxy-agent","iconv-lite","ignore","inherits","ip-address","ipaddr.js","is-potential-custom-element-name","is-promise","isexe","jiti","jose","jsdom","json-bigint","json-schema-to-ts","json-schema-traverse","json-schema-typed","jwa","jws","long","lru-cache","marked","math-intrinsics","mdn-data","media-typer","merge-descriptors","mime-db","mime-types","minimatch","minipass","ms","negotiator","node-domexception","node-fetch","object-assign","object-inspect","on-finished","once","openai","p-retry","parse5","parseurl","partial-json","path-key","path-scurry","path-to-regexp","picomatch","pkce-challenge","proper-lockfile","protobufjs","proxy-addr","proxy-from-env","punycode","qs","range-parser","raw-body","require-from-string","retry","router","safe-buffer","safer-buffer","saxes","semver","send","serve-static","setprototypeof","shebang-command","shebang-regex","side-channel","side-channel-list","side-channel-map","side-channel-weakmap","signal-exit","source-map-js","statuses","symbol-tree","tldts","tldts-core","toidentifier","tough-cookie","tr46","ts-algebra","tslib","turndown","type-is","typebox","undici","unpipe","vary","w3c-xmlserializer","web-streams-polyfill","webidl-conversions","whatwg-mimetype","whatwg-url","which","wrappy","ws","xml-name-validator","xmlchars","yaml","zod","zod-to-json-schema"],"optionalDependencies":{"@mariozechner/clipboard":"0.3.9","@mariozechner/clipboard-darwin-x64":"0.3.9","@mariozechner/clipboard-darwin-arm64":"0.3.9","@mariozechner/clipboard-linux-x64-gnu":"0.3.9","@mariozechner/clipboard-linux-x64-musl":"0.3.9","@mariozechner/clipboard-win32-x64-msvc":"0.3.9","@mariozechner/clipboard-linux-arm64-gnu":"0.3.9","@anthropic-ai/claude-agent-sdk-linux-x64":"0.3.220","@anthropic-ai/claude-agent-sdk-win32-x64":"0.3.220","@mariozechner/clipboard-darwin-universal":"0.3.9","@mariozechner/clipboard-linux-arm64-musl":"0.3.9","@mariozechner/clipboard-win32-arm64-msvc":"0.3.9","@anthropic-ai/claude-agent-sdk-darwin-x64":"0.3.220","@mariozechner/clipboard-linux-riscv64-gnu":"0.3.9","@anthropic-ai/claude-agent-sdk-linux-arm64":"0.3.220","@anthropic-ai/claude-agent-sdk-win32-arm64":"0.3.220","@anthropic-ai/claude-agent-sdk-darwin-arm64":"0.3.220","@anthropic-ai/claude-agent-sdk-linux-x64-musl":"0.3.220","@anthropic-ai/claude-agent-sdk-linux-arm64-musl":"0.3.220"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.8.4_1785836652331_0.023207828508923667","host":"s3://npm-registry-packages-npm-production"}},"2026.8.4-2":{"name":"@code-yeongyu/senpi","version":"2026.8.4-2","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.8.4-2","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"senpi":"dist/cli.js"},"dist":{"shasum":"94569354e6aa96fd66ed5d21c74e3facc466e562","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.8.4-2.tgz","fileCount":29117,"integrity":"sha512-5JulA/Or7hScFYxb2JsNQ4I2laaVej7RoQz+cEJeiMF02cMyd7vsIDGWbAwrhaKs07wT7eD6o0xMNbRDqHv5+Q==","signatures":[{"sig":"MEUCIA4Q7vGzAO0TgfI+xEnAXp9fgT0qviDLX20detWxos4/AiEAgjuWmDwXImW0Obu3TVSpNi2tJOlyw5OrC+T9GXuUS+w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.8.4-2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":177272370},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.js"},"./rpc-entry":{"import":"./dist/rpc-entry.js"}},"gitHead":"e6df02df2cef6bad23a9f23fab1333bf7c35ade8","scripts":{"dev":"tsc -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsc -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js dist/rpc-entry.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/","build:binary":"npm --prefix ../tui run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm --prefix ../protocol run build && npm --prefix ../client run build && npm run build && bun build --compile --compile-autoload-package-json --external=css-tree --no-compile-autoload-dotenv --minify --keep-names ./dist/bun/cli.js ./src/utils/image-resize-worker.ts --outfile dist/pi && npm run copy-binary-assets","qa:app-server":"node scripts/qa-app-server/run-all.mjs","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/export-html/ && shx cp -r docs dist/ && shx cp -r examples dist/ && shx mkdir -p dist/node_modules && shx cp -r ../../node_modules/css-tree ../../node_modules/mdn-data ../../node_modules/source-map-js dist/node_modules/ && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/ && shx mkdir -p dist/native/darwin dist/native/win32 && shx cp -r ../../packages/tui/native/darwin/prebuilds dist/native/darwin/ && shx cp -r ../../packages/tui/native/win32/prebuilds dist/native/win32/ && node ../../scripts/copy-pty-native.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ea548fc8-dac4-4dec-a439-6f4fa3870309"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.2"},"rimraf":"6.1.2","protobufjs":"7.6.5","@hono/node-server":"2.0.10"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.16.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ms":"*","qs":"*","ws":"8.21.1","ajv":"*","jwa":"*","jws":"*","zod":"4.4.3","cors":"*","depd":"*","diff":"9.0.0","etag":"*","glob":"13.0.6","gopd":"*","hono":"*","jiti":"2.7.0","jose":"*","long":"*","once":"*","send":"*","tr46":"*","vary":"*","yaml":"2.9.0","bytes":"*","chalk":"6.0.0","debug":"*","fresh":"*","isexe":"*","jsdom":"29.1.1","retry":"*","saxes":"*","tldts":"*","tslib":"*","which":"*","bowser":"*","cookie":"*","extend":"*","gaxios":"*","hasown":"*","ignore":"7.0.6","marked":"18.0.7","openai":"6.26.0","parse5":"*","router":"*","semver":"7.8.5","undici":"8.9.0","unpipe":"*","wrappy":"*","accepts":"*","bidi-js":"*","express":"*","mime-db":"*","p-retry":"*","type-is":"*","typebox":"1.3.8","css-tree":"*","ee-first":"*","entities":"*","fast-uri":"*","inherits":"*","mdn-data":"*","minipass":"*","parseurl":"*","path-key":"*","punycode":"*","raw-body":"*","statuses":"*","turndown":"7.2.4","xmlchars":"*","base64-js":"*","data-urls":"*","encodeurl":"*","es-errors":"*","forwarded":"*","get-proto":"*","ipaddr.js":"*","lru-cache":"*","minimatch":"10.2.5","picomatch":"4.0.5","agent-base":"*","call-bound":"*","decimal.js":"*","fetch-blob":"*","iconv-lite":"*","ip-address":"*","is-promise":"*","mime-types":"*","negotiator":"*","node-fetch":"*","protobufjs":"*","proxy-addr":"*","tldts-core":"*","ts-algebra":"*","whatwg-url":"*","@types/node":"*","ajv-formats":"*","body-parser":"*","cross-spawn":"7.0.6","escape-html":"*","eventsource":"*","graceful-fs":"*","has-symbols":"*","http-errors":"*","json-bigint":"*","media-typer":"*","on-finished":"*","path-scurry":"*","safe-buffer":"*","signal-exit":"*","symbol-tree":"*","@babel/types":"*","@smithy/core":"*","bignumber.js":"*","content-type":"*","dunder-proto":"*","finalhandler":"*","gcp-metadata":"*","highlight.js":"11.11.1","partial-json":"0.1.7","range-parser":"*","safer-buffer":"*","serve-static":"*","side-channel":"*","toidentifier":"*","tough-cookie":"*","@aws-sdk/core":"*","@babel/parser":"*","@exodus/bytes":"*","@google/genai":"*","@smithy/types":"4.16.1","function-bind":"*","get-intrinsic":"*","object-assign":"*","shebang-regex":"*","source-map-js":"*","@aws-sdk/types":"*","@babel/runtime":"*","balanced-match":"*","object-inspect":"*","path-to-regexp":"*","pkce-challenge":"*","proxy-from-env":"2.1.0","setprototypeof":"*","@xterm/headless":"*","brace-expansion":"*","es-object-atoms":"*","fast-deep-equal":"*","hosted-git-info":"10.1.1","math-intrinsics":"*","proper-lockfile":"4.1.2","shebang-command":"*","whatwg-mimetype":"*","@aws-crypto/util":"*","@protobufjs/path":"*","@protobufjs/pool":"*","@protobufjs/utf8":"*","cookie-signature":"*","http-proxy-agent":"9.1.0","side-channel-map":"*","@anthropic-ai/sdk":"0.91.1","@hono/node-server":"*","@protobufjs/fetch":"*","@protobufjs/float":"*","@smithy/util-utf8":"*","formdata-polyfill":"*","https-proxy-agent":"9.1.0","json-schema-to-ts":"*","json-schema-typed":"*","merge-descriptors":"*","node-domexception":"*","side-channel-list":"*","w3c-xmlserializer":"*","@asamuzakjp/nwsapi":"*","@csstools/css-calc":"*","@mixmark-io/domino":"*","@opentelemetry/api":"1.9.1","@protobufjs/base64":"*","data-uri-to-buffer":"*","es-define-property":"*","eventsource-parser":"*","express-rate-limit":"*","webidl-conversions":"*","xml-name-validator":"*","zod-to-json-schema":"*","@bramus/specificity":"*","@protobufjs/codegen":"*","content-disposition":"*","ecdsa-sig-formatter":"*","google-auth-library":"*","require-from-string":"*","@aws-sdk/xml-builder":"*","@mistralai/mistralai":"2.5.0","@mozilla/readability":"0.6.0","@smithy/signature-v4":"*","get-east-asian-width":"1.6.0","google-logging-utils":"*","json-schema-traverse":"*","side-channel-weakmap":"*","web-streams-polyfill":"*","@asamuzakjp/css-color":"*","@aws-crypto/sha256-js":"*","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.8.4-2","@protobufjs/aspromise":"*","html-encoding-sniffer":"*","@earendil-works/pi-pty":"npm:@code-yeongyu/senpi-pty@2026.8.4-2","@earendil-works/pi-tui":"npm:@code-yeongyu/senpi-tui@2026.8.4-2","@aws-sdk/nested-clients":"*","@csstools/color-helpers":"*","@csstools/css-tokenizer":"*","@mariozechner/clipboard":"*","@smithy/is-array-buffer":"*","call-bind-apply-helpers":"*","@asamuzakjp/dom-selector":"*","@aws-sdk/token-providers":"*","@aws/lambda-invoke-store":"*","@protobufjs/eventemitter":"*","@smithy/util-buffer-from":"*","@modelcontextprotocol/sdk":"1.30.0","@smithy/node-http-handler":"4.9.11","@aws-crypto/sha256-browser":"*","@csstools/css-color-parser":"*","@silvia-odwyer/photon-node":"0.3.4","@smithy/fetch-http-handler":"*","buffer-equal-constant-time":"*","@aws-sdk/util-locate-window":"*","@babel/helper-string-parser":"*","@code-yeongyu/senpi-codemode":"2026.8.4-2","@aws-sdk/middleware-websocket":"*","@earendil-works/pi-agent-core":"npm:@code-yeongyu/senpi-agent-core@2026.8.4-2","@anthropic-ai/claude-agent-sdk":"0.3.220","@asamuzakjp/generational-cache":"*","@aws-crypto/supports-web-crypto":"*","@aws-sdk/client-bedrock-runtime":"3.1095.0","@aws-sdk/middleware-eventstream":"*","@csstools/css-parser-algorithms":"*","@aws-sdk/credential-provider-env":"*","@aws-sdk/credential-provider-ini":"*","@aws-sdk/credential-provider-sso":"*","@smithy/credential-provider-imds":"*","is-potential-custom-element-name":"*","@aws-sdk/credential-provider-http":"*","@aws-sdk/credential-provider-node":"*","@aws-sdk/eventstream-handler-node":"*","@aws-sdk/credential-provider-login":"*","@aws-sdk/signature-v4-multi-region":"*","@babel/helper-validator-identifier":"*","@opentelemetry/semantic-conventions":"*","@aws-sdk/credential-provider-process":"*","@csstools/css-syntax-patches-for-csstree":"*","@aws-sdk/credential-provider-web-identity":"*"},"_hasShrinkwrap":false,"devDependencies":{"shx":"0.4.0","vitest":"4.1.10","@types/ms":"2.1.0","@types/ws":"8.18.1","typescript":"7.0.2","@types/node":"26.1.1","@types/jsdom":"28.0.3","@types/semver":"7.7.1","@types/turndown":"5.0.6","@types/picomatch":"4.0.3","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@anthropic-ai/claude-agent-sdk","@anthropic-ai/sdk","@asamuzakjp/css-color","@asamuzakjp/dom-selector","@asamuzakjp/generational-cache","@asamuzakjp/nwsapi","@aws-crypto/sha256-browser","@aws-crypto/sha256-js","@aws-crypto/supports-web-crypto","@aws-crypto/util","@aws-sdk/client-bedrock-runtime","@aws-sdk/core","@aws-sdk/credential-provider-env","@aws-sdk/credential-provider-http","@aws-sdk/credential-provider-ini","@aws-sdk/credential-provider-login","@aws-sdk/credential-provider-node","@aws-sdk/credential-provider-process","@aws-sdk/credential-provider-sso","@aws-sdk/credential-provider-web-identity","@aws-sdk/eventstream-handler-node","@aws-sdk/middleware-eventstream","@aws-sdk/middleware-websocket","@aws-sdk/nested-clients","@aws-sdk/signature-v4-multi-region","@aws-sdk/token-providers","@aws-sdk/types","@aws-sdk/util-locate-window","@aws-sdk/xml-builder","@aws/lambda-invoke-store","@babel/helper-string-parser","@babel/helper-validator-identifier","@babel/parser","@babel/runtime","@babel/types","@bramus/specificity","@code-yeongyu/senpi-codemode","@csstools/color-helpers","@csstools/css-calc","@csstools/css-color-parser","@csstools/css-parser-algorithms","@csstools/css-syntax-patches-for-csstree","@csstools/css-tokenizer","@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-pty","@earendil-works/pi-tui","@exodus/bytes","@google/genai","@hono/node-server","@mariozechner/clipboard","@mistralai/mistralai","@mixmark-io/domino","@modelcontextprotocol/sdk","@mozilla/readability","@opentelemetry/api","@opentelemetry/semantic-conventions","@protobufjs/aspromise","@protobufjs/base64","@protobufjs/codegen","@protobufjs/eventemitter","@protobufjs/fetch","@protobufjs/float","@protobufjs/path","@protobufjs/pool","@protobufjs/utf8","@silvia-odwyer/photon-node","@smithy/core","@smithy/credential-provider-imds","@smithy/fetch-http-handler","@smithy/is-array-buffer","@smithy/node-http-handler","@smithy/signature-v4","@smithy/types","@smithy/util-buffer-from","@smithy/util-utf8","@types/node","@xterm/headless","accepts","agent-base","ajv","ajv-formats","balanced-match","base64-js","bidi-js","bignumber.js","body-parser","bowser","brace-expansion","buffer-equal-constant-time","bytes","call-bind-apply-helpers","call-bound","chalk","content-disposition","content-type","cookie","cookie-signature","cors","cross-spawn","css-tree","data-uri-to-buffer","data-urls","debug","decimal.js","depd","diff","dunder-proto","ecdsa-sig-formatter","ee-first","encodeurl","entities","es-define-property","es-errors","es-object-atoms","escape-html","etag","eventsource","eventsource-parser","express","express-rate-limit","extend","fast-deep-equal","fast-uri","fetch-blob","finalhandler","formdata-polyfill","forwarded","fresh","function-bind","gaxios","gcp-metadata","get-east-asian-width","get-intrinsic","get-proto","glob","google-auth-library","google-logging-utils","gopd","graceful-fs","has-symbols","hasown","highlight.js","hono","hosted-git-info","html-encoding-sniffer","http-errors","http-proxy-agent","https-proxy-agent","iconv-lite","ignore","inherits","ip-address","ipaddr.js","is-potential-custom-element-name","is-promise","isexe","jiti","jose","jsdom","json-bigint","json-schema-to-ts","json-schema-traverse","json-schema-typed","jwa","jws","long","lru-cache","marked","math-intrinsics","mdn-data","media-typer","merge-descriptors","mime-db","mime-types","minimatch","minipass","ms","negotiator","node-domexception","node-fetch","object-assign","object-inspect","on-finished","once","openai","p-retry","parse5","parseurl","partial-json","path-key","path-scurry","path-to-regexp","picomatch","pkce-challenge","proper-lockfile","protobufjs","proxy-addr","proxy-from-env","punycode","qs","range-parser","raw-body","require-from-string","retry","router","safe-buffer","safer-buffer","saxes","semver","send","serve-static","setprototypeof","shebang-command","shebang-regex","side-channel","side-channel-list","side-channel-map","side-channel-weakmap","signal-exit","source-map-js","statuses","symbol-tree","tldts","tldts-core","toidentifier","tough-cookie","tr46","ts-algebra","tslib","turndown","type-is","typebox","undici","unpipe","vary","w3c-xmlserializer","web-streams-polyfill","webidl-conversions","whatwg-mimetype","whatwg-url","which","wrappy","ws","xml-name-validator","xmlchars","yaml","zod","zod-to-json-schema"],"optionalDependencies":{"@mariozechner/clipboard":"0.3.9","@mariozechner/clipboard-darwin-x64":"0.3.9","@mariozechner/clipboard-darwin-arm64":"0.3.9","@mariozechner/clipboard-linux-x64-gnu":"0.3.9","@mariozechner/clipboard-linux-x64-musl":"0.3.9","@mariozechner/clipboard-win32-x64-msvc":"0.3.9","@mariozechner/clipboard-linux-arm64-gnu":"0.3.9","@anthropic-ai/claude-agent-sdk-linux-x64":"0.3.220","@anthropic-ai/claude-agent-sdk-win32-x64":"0.3.220","@mariozechner/clipboard-darwin-universal":"0.3.9","@mariozechner/clipboard-linux-arm64-musl":"0.3.9","@mariozechner/clipboard-win32-arm64-msvc":"0.3.9","@anthropic-ai/claude-agent-sdk-darwin-x64":"0.3.220","@mariozechner/clipboard-linux-riscv64-gnu":"0.3.9","@anthropic-ai/claude-agent-sdk-linux-arm64":"0.3.220","@anthropic-ai/claude-agent-sdk-win32-arm64":"0.3.220","@anthropic-ai/claude-agent-sdk-darwin-arm64":"0.3.220","@anthropic-ai/claude-agent-sdk-linux-x64-musl":"0.3.220","@anthropic-ai/claude-agent-sdk-linux-arm64-musl":"0.3.220"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.8.4-2_1785883654074_0.36784673037054083","host":"s3://npm-registry-packages-npm-production"}},"2026.8.5":{"name":"@code-yeongyu/senpi","version":"2026.8.5","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.8.5","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"senpi":"dist/cli.js"},"dist":{"shasum":"149ef8a4f8f86bbfd75b633c89f7064d24d1d7b9","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.8.5.tgz","fileCount":29121,"integrity":"sha512-fr0pvh3gtaRm7uW03zIitATtuPkey9KlzlmQHtOab01R5QKEz08QRxPfSzHcKD3lIfyCkHf+EahddiJ7W1O50w==","signatures":[{"sig":"MEUCIFUK6F3t69YnvaxE8wBHO9I8H1PelxHn+V2826jBfLOmAiEA55HLXkgIO+17WaH3aEYPTvOFFH7SUrgp0yphHDsGuuQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.8.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":177292262},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.js"},"./rpc-entry":{"import":"./dist/rpc-entry.js"}},"gitHead":"ec7b62e8aab1da4d7c784cfec83df3af70741333","scripts":{"dev":"tsc -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsc -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js dist/rpc-entry.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/","build:binary":"npm --prefix ../tui run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm --prefix ../protocol run build && npm --prefix ../client run build && npm run build && bun build --compile --compile-autoload-package-json --external=css-tree --no-compile-autoload-dotenv --minify --keep-names ./dist/bun/cli.js ./src/utils/image-resize-worker.ts --outfile dist/pi && npm run copy-binary-assets","qa:app-server":"node scripts/qa-app-server/run-all.mjs","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/export-html/ && shx cp -r docs dist/ && shx cp -r examples dist/ && shx mkdir -p dist/node_modules && shx cp -r ../../node_modules/css-tree ../../node_modules/mdn-data ../../node_modules/source-map-js dist/node_modules/ && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/ && shx mkdir -p dist/native/darwin dist/native/win32 && shx cp -r ../../packages/tui/native/darwin/prebuilds dist/native/darwin/ && shx cp -r ../../packages/tui/native/win32/prebuilds dist/native/win32/ && node ../../scripts/copy-pty-native.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ea548fc8-dac4-4dec-a439-6f4fa3870309"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.2"},"rimraf":"6.1.2","protobufjs":"7.6.5","@hono/node-server":"2.0.10"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.16.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ms":"*","qs":"*","ws":"8.21.1","ajv":"*","jwa":"*","jws":"*","zod":"4.4.3","cors":"*","depd":"*","diff":"9.0.0","etag":"*","glob":"13.0.6","gopd":"*","hono":"*","jiti":"2.7.0","jose":"*","long":"*","once":"*","send":"*","tr46":"*","vary":"*","yaml":"2.9.0","bytes":"*","chalk":"6.0.0","debug":"*","fresh":"*","isexe":"*","jsdom":"29.1.1","retry":"*","saxes":"*","tldts":"*","tslib":"*","which":"*","bowser":"*","cookie":"*","extend":"*","gaxios":"*","hasown":"*","ignore":"7.0.6","marked":"18.0.7","openai":"6.26.0","parse5":"*","router":"*","semver":"7.8.5","undici":"8.9.0","unpipe":"*","wrappy":"*","accepts":"*","bidi-js":"*","express":"*","mime-db":"*","p-retry":"*","type-is":"*","typebox":"1.3.8","css-tree":"*","ee-first":"*","entities":"*","fast-uri":"*","inherits":"*","mdn-data":"*","minipass":"*","parseurl":"*","path-key":"*","punycode":"*","raw-body":"*","statuses":"*","turndown":"7.2.4","xmlchars":"*","base64-js":"*","data-urls":"*","encodeurl":"*","es-errors":"*","forwarded":"*","get-proto":"*","ipaddr.js":"*","lru-cache":"*","minimatch":"10.2.5","picomatch":"4.0.5","agent-base":"*","call-bound":"*","decimal.js":"*","fetch-blob":"*","iconv-lite":"*","ip-address":"*","is-promise":"*","mime-types":"*","negotiator":"*","node-fetch":"*","protobufjs":"*","proxy-addr":"*","tldts-core":"*","ts-algebra":"*","whatwg-url":"*","@types/node":"*","ajv-formats":"*","body-parser":"*","cross-spawn":"7.0.6","escape-html":"*","eventsource":"*","graceful-fs":"*","has-symbols":"*","http-errors":"*","json-bigint":"*","media-typer":"*","on-finished":"*","path-scurry":"*","safe-buffer":"*","signal-exit":"*","symbol-tree":"*","@babel/types":"*","@smithy/core":"*","bignumber.js":"*","content-type":"*","dunder-proto":"*","finalhandler":"*","gcp-metadata":"*","highlight.js":"11.11.1","partial-json":"0.1.7","range-parser":"*","safer-buffer":"*","serve-static":"*","side-channel":"*","toidentifier":"*","tough-cookie":"*","@aws-sdk/core":"*","@babel/parser":"*","@exodus/bytes":"*","@google/genai":"*","@smithy/types":"4.16.1","function-bind":"*","get-intrinsic":"*","object-assign":"*","shebang-regex":"*","source-map-js":"*","@aws-sdk/types":"*","@babel/runtime":"*","balanced-match":"*","object-inspect":"*","path-to-regexp":"*","pkce-challenge":"*","proxy-from-env":"2.1.0","setprototypeof":"*","@xterm/headless":"*","brace-expansion":"*","es-object-atoms":"*","fast-deep-equal":"*","hosted-git-info":"10.1.1","math-intrinsics":"*","proper-lockfile":"4.1.2","shebang-command":"*","whatwg-mimetype":"*","@aws-crypto/util":"*","@protobufjs/path":"*","@protobufjs/pool":"*","@protobufjs/utf8":"*","cookie-signature":"*","http-proxy-agent":"9.1.0","side-channel-map":"*","@anthropic-ai/sdk":"0.91.1","@hono/node-server":"*","@protobufjs/fetch":"*","@protobufjs/float":"*","@smithy/util-utf8":"*","formdata-polyfill":"*","https-proxy-agent":"9.1.0","json-schema-to-ts":"*","json-schema-typed":"*","merge-descriptors":"*","node-domexception":"*","side-channel-list":"*","w3c-xmlserializer":"*","@asamuzakjp/nwsapi":"*","@csstools/css-calc":"*","@mixmark-io/domino":"*","@opentelemetry/api":"1.9.1","@protobufjs/base64":"*","data-uri-to-buffer":"*","es-define-property":"*","eventsource-parser":"*","express-rate-limit":"*","webidl-conversions":"*","xml-name-validator":"*","zod-to-json-schema":"*","@bramus/specificity":"*","@protobufjs/codegen":"*","content-disposition":"*","ecdsa-sig-formatter":"*","google-auth-library":"*","require-from-string":"*","@aws-sdk/xml-builder":"*","@mistralai/mistralai":"2.5.0","@mozilla/readability":"0.6.0","@smithy/signature-v4":"*","get-east-asian-width":"1.6.0","google-logging-utils":"*","json-schema-traverse":"*","side-channel-weakmap":"*","web-streams-polyfill":"*","@asamuzakjp/css-color":"*","@aws-crypto/sha256-js":"*","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.8.5","@protobufjs/aspromise":"*","html-encoding-sniffer":"*","@earendil-works/pi-pty":"npm:@code-yeongyu/senpi-pty@2026.8.5","@earendil-works/pi-tui":"npm:@code-yeongyu/senpi-tui@2026.8.5","@aws-sdk/nested-clients":"*","@csstools/color-helpers":"*","@csstools/css-tokenizer":"*","@mariozechner/clipboard":"*","@smithy/is-array-buffer":"*","call-bind-apply-helpers":"*","@asamuzakjp/dom-selector":"*","@aws-sdk/token-providers":"*","@aws/lambda-invoke-store":"*","@protobufjs/eventemitter":"*","@smithy/util-buffer-from":"*","@modelcontextprotocol/sdk":"1.30.0","@smithy/node-http-handler":"4.9.11","@aws-crypto/sha256-browser":"*","@csstools/css-color-parser":"*","@silvia-odwyer/photon-node":"0.3.4","@smithy/fetch-http-handler":"*","buffer-equal-constant-time":"*","@aws-sdk/util-locate-window":"*","@babel/helper-string-parser":"*","@code-yeongyu/senpi-codemode":"2026.8.5","@aws-sdk/middleware-websocket":"*","@earendil-works/pi-agent-core":"npm:@code-yeongyu/senpi-agent-core@2026.8.5","@anthropic-ai/claude-agent-sdk":"0.3.220","@asamuzakjp/generational-cache":"*","@aws-crypto/supports-web-crypto":"*","@aws-sdk/client-bedrock-runtime":"3.1095.0","@aws-sdk/middleware-eventstream":"*","@csstools/css-parser-algorithms":"*","@aws-sdk/credential-provider-env":"*","@aws-sdk/credential-provider-ini":"*","@aws-sdk/credential-provider-sso":"*","@smithy/credential-provider-imds":"*","is-potential-custom-element-name":"*","@aws-sdk/credential-provider-http":"*","@aws-sdk/credential-provider-node":"*","@aws-sdk/eventstream-handler-node":"*","@aws-sdk/credential-provider-login":"*","@aws-sdk/signature-v4-multi-region":"*","@babel/helper-validator-identifier":"*","@opentelemetry/semantic-conventions":"*","@aws-sdk/credential-provider-process":"*","@csstools/css-syntax-patches-for-csstree":"*","@aws-sdk/credential-provider-web-identity":"*"},"_hasShrinkwrap":false,"devDependencies":{"shx":"0.4.0","vitest":"4.1.10","@types/ms":"2.1.0","@types/ws":"8.18.1","typescript":"7.0.2","@types/node":"26.1.1","@types/jsdom":"28.0.3","@types/semver":"7.7.1","@types/turndown":"5.0.6","@types/picomatch":"4.0.3","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@anthropic-ai/claude-agent-sdk","@anthropic-ai/sdk","@asamuzakjp/css-color","@asamuzakjp/dom-selector","@asamuzakjp/generational-cache","@asamuzakjp/nwsapi","@aws-crypto/sha256-browser","@aws-crypto/sha256-js","@aws-crypto/supports-web-crypto","@aws-crypto/util","@aws-sdk/client-bedrock-runtime","@aws-sdk/core","@aws-sdk/credential-provider-env","@aws-sdk/credential-provider-http","@aws-sdk/credential-provider-ini","@aws-sdk/credential-provider-login","@aws-sdk/credential-provider-node","@aws-sdk/credential-provider-process","@aws-sdk/credential-provider-sso","@aws-sdk/credential-provider-web-identity","@aws-sdk/eventstream-handler-node","@aws-sdk/middleware-eventstream","@aws-sdk/middleware-websocket","@aws-sdk/nested-clients","@aws-sdk/signature-v4-multi-region","@aws-sdk/token-providers","@aws-sdk/types","@aws-sdk/util-locate-window","@aws-sdk/xml-builder","@aws/lambda-invoke-store","@babel/helper-string-parser","@babel/helper-validator-identifier","@babel/parser","@babel/runtime","@babel/types","@bramus/specificity","@code-yeongyu/senpi-codemode","@csstools/color-helpers","@csstools/css-calc","@csstools/css-color-parser","@csstools/css-parser-algorithms","@csstools/css-syntax-patches-for-csstree","@csstools/css-tokenizer","@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-pty","@earendil-works/pi-tui","@exodus/bytes","@google/genai","@hono/node-server","@mariozechner/clipboard","@mistralai/mistralai","@mixmark-io/domino","@modelcontextprotocol/sdk","@mozilla/readability","@opentelemetry/api","@opentelemetry/semantic-conventions","@protobufjs/aspromise","@protobufjs/base64","@protobufjs/codegen","@protobufjs/eventemitter","@protobufjs/fetch","@protobufjs/float","@protobufjs/path","@protobufjs/pool","@protobufjs/utf8","@silvia-odwyer/photon-node","@smithy/core","@smithy/credential-provider-imds","@smithy/fetch-http-handler","@smithy/is-array-buffer","@smithy/node-http-handler","@smithy/signature-v4","@smithy/types","@smithy/util-buffer-from","@smithy/util-utf8","@types/node","@xterm/headless","accepts","agent-base","ajv","ajv-formats","balanced-match","base64-js","bidi-js","bignumber.js","body-parser","bowser","brace-expansion","buffer-equal-constant-time","bytes","call-bind-apply-helpers","call-bound","chalk","content-disposition","content-type","cookie","cookie-signature","cors","cross-spawn","css-tree","data-uri-to-buffer","data-urls","debug","decimal.js","depd","diff","dunder-proto","ecdsa-sig-formatter","ee-first","encodeurl","entities","es-define-property","es-errors","es-object-atoms","escape-html","etag","eventsource","eventsource-parser","express","express-rate-limit","extend","fast-deep-equal","fast-uri","fetch-blob","finalhandler","formdata-polyfill","forwarded","fresh","function-bind","gaxios","gcp-metadata","get-east-asian-width","get-intrinsic","get-proto","glob","google-auth-library","google-logging-utils","gopd","graceful-fs","has-symbols","hasown","highlight.js","hono","hosted-git-info","html-encoding-sniffer","http-errors","http-proxy-agent","https-proxy-agent","iconv-lite","ignore","inherits","ip-address","ipaddr.js","is-potential-custom-element-name","is-promise","isexe","jiti","jose","jsdom","json-bigint","json-schema-to-ts","json-schema-traverse","json-schema-typed","jwa","jws","long","lru-cache","marked","math-intrinsics","mdn-data","media-typer","merge-descriptors","mime-db","mime-types","minimatch","minipass","ms","negotiator","node-domexception","node-fetch","object-assign","object-inspect","on-finished","once","openai","p-retry","parse5","parseurl","partial-json","path-key","path-scurry","path-to-regexp","picomatch","pkce-challenge","proper-lockfile","protobufjs","proxy-addr","proxy-from-env","punycode","qs","range-parser","raw-body","require-from-string","retry","router","safe-buffer","safer-buffer","saxes","semver","send","serve-static","setprototypeof","shebang-command","shebang-regex","side-channel","side-channel-list","side-channel-map","side-channel-weakmap","signal-exit","source-map-js","statuses","symbol-tree","tldts","tldts-core","toidentifier","tough-cookie","tr46","ts-algebra","tslib","turndown","type-is","typebox","undici","unpipe","vary","w3c-xmlserializer","web-streams-polyfill","webidl-conversions","whatwg-mimetype","whatwg-url","which","wrappy","ws","xml-name-validator","xmlchars","yaml","zod","zod-to-json-schema"],"optionalDependencies":{"@mariozechner/clipboard":"0.3.9","@mariozechner/clipboard-darwin-x64":"0.3.9","@mariozechner/clipboard-darwin-arm64":"0.3.9","@mariozechner/clipboard-linux-x64-gnu":"0.3.9","@mariozechner/clipboard-linux-x64-musl":"0.3.9","@mariozechner/clipboard-win32-x64-msvc":"0.3.9","@mariozechner/clipboard-linux-arm64-gnu":"0.3.9","@anthropic-ai/claude-agent-sdk-linux-x64":"0.3.220","@anthropic-ai/claude-agent-sdk-win32-x64":"0.3.220","@mariozechner/clipboard-darwin-universal":"0.3.9","@mariozechner/clipboard-linux-arm64-musl":"0.3.9","@mariozechner/clipboard-win32-arm64-msvc":"0.3.9","@anthropic-ai/claude-agent-sdk-darwin-x64":"0.3.220","@mariozechner/clipboard-linux-riscv64-gnu":"0.3.9","@anthropic-ai/claude-agent-sdk-linux-arm64":"0.3.220","@anthropic-ai/claude-agent-sdk-win32-arm64":"0.3.220","@anthropic-ai/claude-agent-sdk-darwin-arm64":"0.3.220","@anthropic-ai/claude-agent-sdk-linux-x64-musl":"0.3.220","@anthropic-ai/claude-agent-sdk-linux-arm64-musl":"0.3.220"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.8.5_1785891757922_0.7711788439926579","host":"s3://npm-registry-packages-npm-production"}},"2026.8.5-2":{"name":"@code-yeongyu/senpi","version":"2026.8.5-2","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.8.5-2","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"senpi":"dist/cli.js"},"dist":{"shasum":"45fe96d41c56b432ede44d0f56dbffc6c4cd6870","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.8.5-2.tgz","fileCount":29121,"integrity":"sha512-C6QAE1m9M5WjLNQkRlAK6+4/zBFOVRq5eVXb0atk9TatOA4mIM0qnt9M7jztmawby7pYzhYIKlee3Y5SzaMPQQ==","signatures":[{"sig":"MEUCIC+2bIHRHwjyVl3lo/a37KJQCRdrjv43Jxf5FJ/NakM+AiEA+cwfkCc/pwptEZgQ+GCGpAonHsz/LvaJGbUeAKFjAdw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.8.5-2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":177292990},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.js"},"./rpc-entry":{"import":"./dist/rpc-entry.js"}},"gitHead":"b4a300fc847c221ab056cea8543ed555adab270e","scripts":{"dev":"tsc -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsc -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js dist/rpc-entry.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/","build:binary":"npm --prefix ../tui run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm --prefix ../protocol run build && npm --prefix ../client run build && npm run build && node ../../scripts/prepare-bun-compile-assets.mjs && bun build --compile --compile-autoload-package-json --external=css-tree --no-compile-autoload-dotenv --minify --keep-names ./dist/bun/cli.js ./src/utils/image-resize-worker.ts ../../node_modules/jsdom/lib/jsdom/living/xhr/xhr-sync-worker.js --outfile dist/pi && npm run copy-binary-assets","qa:app-server":"node scripts/qa-app-server/run-all.mjs","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/export-html/ && shx cp -r docs dist/ && shx cp -r examples dist/ && shx mkdir -p dist/node_modules && shx cp -r ../../node_modules/css-tree ../../node_modules/mdn-data ../../node_modules/source-map-js dist/node_modules/ && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/ && shx mkdir -p dist/native/darwin dist/native/win32 && shx cp -r ../../packages/tui/native/darwin/prebuilds dist/native/darwin/ && shx cp -r ../../packages/tui/native/win32/prebuilds dist/native/win32/ && node ../../scripts/copy-pty-native.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ea548fc8-dac4-4dec-a439-6f4fa3870309"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.2"},"rimraf":"6.1.2","protobufjs":"7.6.5","@hono/node-server":"2.0.10"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.16.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ms":"*","qs":"*","ws":"8.21.1","ajv":"*","jwa":"*","jws":"*","zod":"4.4.3","cors":"*","depd":"*","diff":"9.0.0","etag":"*","glob":"13.0.6","gopd":"*","hono":"*","jiti":"2.7.0","jose":"*","long":"*","once":"*","send":"*","tr46":"*","vary":"*","yaml":"2.9.0","bytes":"*","chalk":"6.0.0","debug":"*","fresh":"*","isexe":"*","jsdom":"29.1.1","retry":"*","saxes":"*","tldts":"*","tslib":"*","which":"*","bowser":"*","cookie":"*","extend":"*","gaxios":"*","hasown":"*","ignore":"7.0.6","marked":"18.0.7","openai":"6.26.0","parse5":"*","router":"*","semver":"7.8.5","undici":"8.9.0","unpipe":"*","wrappy":"*","accepts":"*","bidi-js":"*","express":"*","mime-db":"*","p-retry":"*","type-is":"*","typebox":"1.3.8","css-tree":"*","ee-first":"*","entities":"*","fast-uri":"*","inherits":"*","mdn-data":"*","minipass":"*","parseurl":"*","path-key":"*","punycode":"*","raw-body":"*","statuses":"*","turndown":"7.2.4","xmlchars":"*","base64-js":"*","data-urls":"*","encodeurl":"*","es-errors":"*","forwarded":"*","get-proto":"*","ipaddr.js":"*","lru-cache":"*","minimatch":"10.2.5","picomatch":"4.0.5","agent-base":"*","call-bound":"*","decimal.js":"*","fetch-blob":"*","iconv-lite":"*","ip-address":"*","is-promise":"*","mime-types":"*","negotiator":"*","node-fetch":"*","protobufjs":"*","proxy-addr":"*","tldts-core":"*","ts-algebra":"*","whatwg-url":"*","@types/node":"*","ajv-formats":"*","body-parser":"*","cross-spawn":"7.0.6","escape-html":"*","eventsource":"*","graceful-fs":"*","has-symbols":"*","http-errors":"*","json-bigint":"*","media-typer":"*","on-finished":"*","path-scurry":"*","safe-buffer":"*","signal-exit":"*","symbol-tree":"*","@babel/types":"*","@smithy/core":"*","bignumber.js":"*","content-type":"*","dunder-proto":"*","finalhandler":"*","gcp-metadata":"*","highlight.js":"11.11.1","partial-json":"0.1.7","range-parser":"*","safer-buffer":"*","serve-static":"*","side-channel":"*","toidentifier":"*","tough-cookie":"*","@aws-sdk/core":"*","@babel/parser":"*","@exodus/bytes":"*","@google/genai":"*","@smithy/types":"4.16.1","function-bind":"*","get-intrinsic":"*","object-assign":"*","shebang-regex":"*","source-map-js":"*","@aws-sdk/types":"*","@babel/runtime":"*","balanced-match":"*","object-inspect":"*","path-to-regexp":"*","pkce-challenge":"*","proxy-from-env":"2.1.0","setprototypeof":"*","@xterm/headless":"*","brace-expansion":"*","es-object-atoms":"*","fast-deep-equal":"*","hosted-git-info":"10.1.1","math-intrinsics":"*","proper-lockfile":"4.1.2","shebang-command":"*","whatwg-mimetype":"*","@aws-crypto/util":"*","@protobufjs/path":"*","@protobufjs/pool":"*","@protobufjs/utf8":"*","cookie-signature":"*","http-proxy-agent":"9.1.0","side-channel-map":"*","@anthropic-ai/sdk":"0.91.1","@hono/node-server":"*","@protobufjs/fetch":"*","@protobufjs/float":"*","@smithy/util-utf8":"*","formdata-polyfill":"*","https-proxy-agent":"9.1.0","json-schema-to-ts":"*","json-schema-typed":"*","merge-descriptors":"*","node-domexception":"*","side-channel-list":"*","w3c-xmlserializer":"*","@asamuzakjp/nwsapi":"*","@csstools/css-calc":"*","@mixmark-io/domino":"*","@opentelemetry/api":"1.9.1","@protobufjs/base64":"*","data-uri-to-buffer":"*","es-define-property":"*","eventsource-parser":"*","express-rate-limit":"*","webidl-conversions":"*","xml-name-validator":"*","zod-to-json-schema":"*","@bramus/specificity":"*","@protobufjs/codegen":"*","content-disposition":"*","ecdsa-sig-formatter":"*","google-auth-library":"*","require-from-string":"*","@aws-sdk/xml-builder":"*","@mistralai/mistralai":"2.5.0","@mozilla/readability":"0.6.0","@smithy/signature-v4":"*","get-east-asian-width":"1.6.0","google-logging-utils":"*","json-schema-traverse":"*","side-channel-weakmap":"*","web-streams-polyfill":"*","@asamuzakjp/css-color":"*","@aws-crypto/sha256-js":"*","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.8.5-2","@protobufjs/aspromise":"*","html-encoding-sniffer":"*","@earendil-works/pi-pty":"npm:@code-yeongyu/senpi-pty@2026.8.5-2","@earendil-works/pi-tui":"npm:@code-yeongyu/senpi-tui@2026.8.5-2","@aws-sdk/nested-clients":"*","@csstools/color-helpers":"*","@csstools/css-tokenizer":"*","@mariozechner/clipboard":"*","@smithy/is-array-buffer":"*","call-bind-apply-helpers":"*","@asamuzakjp/dom-selector":"*","@aws-sdk/token-providers":"*","@aws/lambda-invoke-store":"*","@protobufjs/eventemitter":"*","@smithy/util-buffer-from":"*","@modelcontextprotocol/sdk":"1.30.0","@smithy/node-http-handler":"4.9.11","@aws-crypto/sha256-browser":"*","@csstools/css-color-parser":"*","@silvia-odwyer/photon-node":"0.3.4","@smithy/fetch-http-handler":"*","buffer-equal-constant-time":"*","@aws-sdk/util-locate-window":"*","@babel/helper-string-parser":"*","@code-yeongyu/senpi-codemode":"2026.8.5-2","@aws-sdk/middleware-websocket":"*","@earendil-works/pi-agent-core":"npm:@code-yeongyu/senpi-agent-core@2026.8.5-2","@anthropic-ai/claude-agent-sdk":"0.3.220","@asamuzakjp/generational-cache":"*","@aws-crypto/supports-web-crypto":"*","@aws-sdk/client-bedrock-runtime":"3.1095.0","@aws-sdk/middleware-eventstream":"*","@csstools/css-parser-algorithms":"*","@aws-sdk/credential-provider-env":"*","@aws-sdk/credential-provider-ini":"*","@aws-sdk/credential-provider-sso":"*","@smithy/credential-provider-imds":"*","is-potential-custom-element-name":"*","@aws-sdk/credential-provider-http":"*","@aws-sdk/credential-provider-node":"*","@aws-sdk/eventstream-handler-node":"*","@aws-sdk/credential-provider-login":"*","@aws-sdk/signature-v4-multi-region":"*","@babel/helper-validator-identifier":"*","@opentelemetry/semantic-conventions":"*","@aws-sdk/credential-provider-process":"*","@csstools/css-syntax-patches-for-csstree":"*","@aws-sdk/credential-provider-web-identity":"*"},"_hasShrinkwrap":false,"devDependencies":{"shx":"0.4.0","vitest":"4.1.10","@types/ms":"2.1.0","@types/ws":"8.18.1","typescript":"7.0.2","@types/node":"26.1.1","@types/jsdom":"28.0.3","@types/semver":"7.7.1","@types/turndown":"5.0.6","@types/picomatch":"4.0.3","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@anthropic-ai/claude-agent-sdk","@anthropic-ai/sdk","@asamuzakjp/css-color","@asamuzakjp/dom-selector","@asamuzakjp/generational-cache","@asamuzakjp/nwsapi","@aws-crypto/sha256-browser","@aws-crypto/sha256-js","@aws-crypto/supports-web-crypto","@aws-crypto/util","@aws-sdk/client-bedrock-runtime","@aws-sdk/core","@aws-sdk/credential-provider-env","@aws-sdk/credential-provider-http","@aws-sdk/credential-provider-ini","@aws-sdk/credential-provider-login","@aws-sdk/credential-provider-node","@aws-sdk/credential-provider-process","@aws-sdk/credential-provider-sso","@aws-sdk/credential-provider-web-identity","@aws-sdk/eventstream-handler-node","@aws-sdk/middleware-eventstream","@aws-sdk/middleware-websocket","@aws-sdk/nested-clients","@aws-sdk/signature-v4-multi-region","@aws-sdk/token-providers","@aws-sdk/types","@aws-sdk/util-locate-window","@aws-sdk/xml-builder","@aws/lambda-invoke-store","@babel/helper-string-parser","@babel/helper-validator-identifier","@babel/parser","@babel/runtime","@babel/types","@bramus/specificity","@code-yeongyu/senpi-codemode","@csstools/color-helpers","@csstools/css-calc","@csstools/css-color-parser","@csstools/css-parser-algorithms","@csstools/css-syntax-patches-for-csstree","@csstools/css-tokenizer","@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-pty","@earendil-works/pi-tui","@exodus/bytes","@google/genai","@hono/node-server","@mariozechner/clipboard","@mistralai/mistralai","@mixmark-io/domino","@modelcontextprotocol/sdk","@mozilla/readability","@opentelemetry/api","@opentelemetry/semantic-conventions","@protobufjs/aspromise","@protobufjs/base64","@protobufjs/codegen","@protobufjs/eventemitter","@protobufjs/fetch","@protobufjs/float","@protobufjs/path","@protobufjs/pool","@protobufjs/utf8","@silvia-odwyer/photon-node","@smithy/core","@smithy/credential-provider-imds","@smithy/fetch-http-handler","@smithy/is-array-buffer","@smithy/node-http-handler","@smithy/signature-v4","@smithy/types","@smithy/util-buffer-from","@smithy/util-utf8","@types/node","@xterm/headless","accepts","agent-base","ajv","ajv-formats","balanced-match","base64-js","bidi-js","bignumber.js","body-parser","bowser","brace-expansion","buffer-equal-constant-time","bytes","call-bind-apply-helpers","call-bound","chalk","content-disposition","content-type","cookie","cookie-signature","cors","cross-spawn","css-tree","data-uri-to-buffer","data-urls","debug","decimal.js","depd","diff","dunder-proto","ecdsa-sig-formatter","ee-first","encodeurl","entities","es-define-property","es-errors","es-object-atoms","escape-html","etag","eventsource","eventsource-parser","express","express-rate-limit","extend","fast-deep-equal","fast-uri","fetch-blob","finalhandler","formdata-polyfill","forwarded","fresh","function-bind","gaxios","gcp-metadata","get-east-asian-width","get-intrinsic","get-proto","glob","google-auth-library","google-logging-utils","gopd","graceful-fs","has-symbols","hasown","highlight.js","hono","hosted-git-info","html-encoding-sniffer","http-errors","http-proxy-agent","https-proxy-agent","iconv-lite","ignore","inherits","ip-address","ipaddr.js","is-potential-custom-element-name","is-promise","isexe","jiti","jose","jsdom","json-bigint","json-schema-to-ts","json-schema-traverse","json-schema-typed","jwa","jws","long","lru-cache","marked","math-intrinsics","mdn-data","media-typer","merge-descriptors","mime-db","mime-types","minimatch","minipass","ms","negotiator","node-domexception","node-fetch","object-assign","object-inspect","on-finished","once","openai","p-retry","parse5","parseurl","partial-json","path-key","path-scurry","path-to-regexp","picomatch","pkce-challenge","proper-lockfile","protobufjs","proxy-addr","proxy-from-env","punycode","qs","range-parser","raw-body","require-from-string","retry","router","safe-buffer","safer-buffer","saxes","semver","send","serve-static","setprototypeof","shebang-command","shebang-regex","side-channel","side-channel-list","side-channel-map","side-channel-weakmap","signal-exit","source-map-js","statuses","symbol-tree","tldts","tldts-core","toidentifier","tough-cookie","tr46","ts-algebra","tslib","turndown","type-is","typebox","undici","unpipe","vary","w3c-xmlserializer","web-streams-polyfill","webidl-conversions","whatwg-mimetype","whatwg-url","which","wrappy","ws","xml-name-validator","xmlchars","yaml","zod","zod-to-json-schema"],"optionalDependencies":{"@mariozechner/clipboard":"0.3.9","@mariozechner/clipboard-darwin-x64":"0.3.9","@mariozechner/clipboard-darwin-arm64":"0.3.9","@mariozechner/clipboard-linux-x64-gnu":"0.3.9","@mariozechner/clipboard-linux-x64-musl":"0.3.9","@mariozechner/clipboard-win32-x64-msvc":"0.3.9","@mariozechner/clipboard-linux-arm64-gnu":"0.3.9","@anthropic-ai/claude-agent-sdk-linux-x64":"0.3.220","@anthropic-ai/claude-agent-sdk-win32-x64":"0.3.220","@mariozechner/clipboard-darwin-universal":"0.3.9","@mariozechner/clipboard-linux-arm64-musl":"0.3.9","@mariozechner/clipboard-win32-arm64-msvc":"0.3.9","@anthropic-ai/claude-agent-sdk-darwin-x64":"0.3.220","@mariozechner/clipboard-linux-riscv64-gnu":"0.3.9","@anthropic-ai/claude-agent-sdk-linux-arm64":"0.3.220","@anthropic-ai/claude-agent-sdk-win32-arm64":"0.3.220","@anthropic-ai/claude-agent-sdk-darwin-arm64":"0.3.220","@anthropic-ai/claude-agent-sdk-linux-x64-musl":"0.3.220","@anthropic-ai/claude-agent-sdk-linux-arm64-musl":"0.3.220"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.8.5-2_1785904901472_0.9335306936387346","host":"s3://npm-registry-packages-npm-production"}},"2026.8.6":{"name":"@code-yeongyu/senpi","version":"2026.8.6","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.8.6","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"senpi":"dist/cli.js"},"dist":{"shasum":"8039ba7ea5be3add9ad0225c03b6bc8a92c84ccc","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.8.6.tgz","fileCount":29149,"integrity":"sha512-yzx5pSl+xdkYeE/3ppWcD6BKS/hHnbq/WurpbgN5Zak7QavGDcFSlDGWsuIDfZAKAU+MPxsC0k6oBi57PFgVmQ==","signatures":[{"sig":"MEUCIGQs8WmfiX7U6bBoyWfua0RdBAQ3JgQQeTZhAmLq2Ux9AiEA8k2kGX8ZbSJu1Xdl9okqUa1MWqH+MYaQgvkNuUfEE5E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.8.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":177336201},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.js"},"./rpc-entry":{"import":"./dist/rpc-entry.js"}},"gitHead":"3d8daee30243e2f7687c7a1234b94beccd9d2194","scripts":{"dev":"tsc -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsc -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js dist/rpc-entry.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/","build:binary":"npm --prefix ../tui run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm --prefix ../protocol run build && npm --prefix ../client run build && npm run build && node ../../scripts/prepare-bun-compile-assets.mjs && bun build --compile --compile-autoload-package-json --external=css-tree --no-compile-autoload-dotenv --minify --keep-names ./dist/bun/cli.js ./src/utils/image-resize-worker.ts ../../node_modules/jsdom/lib/jsdom/living/xhr/xhr-sync-worker.js --outfile dist/pi && npm run copy-binary-assets","qa:app-server":"node scripts/qa-app-server/run-all.mjs","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/export-html/ && shx cp -r docs dist/ && shx cp -r examples dist/ && shx mkdir -p dist/node_modules && shx cp -r ../../node_modules/css-tree ../../node_modules/mdn-data ../../node_modules/source-map-js dist/node_modules/ && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/ && shx mkdir -p dist/native/darwin dist/native/win32 && shx cp -r ../../packages/tui/native/darwin/prebuilds dist/native/darwin/ && shx cp -r ../../packages/tui/native/win32/prebuilds dist/native/win32/ && node ../../scripts/copy-pty-native.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ea548fc8-dac4-4dec-a439-6f4fa3870309"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.2"},"rimraf":"6.1.2","protobufjs":"7.6.5","@hono/node-server":"2.0.10"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.16.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ms":"*","qs":"*","ws":"8.21.1","ajv":"*","jwa":"*","jws":"*","zod":"4.4.3","cors":"*","depd":"*","diff":"9.0.0","etag":"*","glob":"13.0.6","gopd":"*","hono":"*","jiti":"2.7.0","jose":"*","long":"*","once":"*","send":"*","tr46":"*","vary":"*","yaml":"2.9.0","bytes":"*","chalk":"6.0.0","debug":"*","fresh":"*","isexe":"*","jsdom":"29.1.1","retry":"*","saxes":"*","tldts":"*","tslib":"*","which":"*","bowser":"*","cookie":"*","extend":"*","gaxios":"*","hasown":"*","ignore":"7.0.6","marked":"18.0.7","openai":"6.26.0","parse5":"*","router":"*","semver":"7.8.5","undici":"8.9.0","unpipe":"*","wrappy":"*","accepts":"*","bidi-js":"*","express":"*","mime-db":"*","p-retry":"*","type-is":"*","typebox":"1.3.8","css-tree":"*","ee-first":"*","entities":"*","fast-uri":"*","inherits":"*","mdn-data":"*","minipass":"*","parseurl":"*","path-key":"*","punycode":"*","raw-body":"*","statuses":"*","turndown":"7.2.4","xmlchars":"*","base64-js":"*","data-urls":"*","encodeurl":"*","es-errors":"*","forwarded":"*","get-proto":"*","ipaddr.js":"*","lru-cache":"*","minimatch":"10.2.5","picomatch":"4.0.5","agent-base":"*","call-bound":"*","decimal.js":"*","fetch-blob":"*","iconv-lite":"*","ip-address":"*","is-promise":"*","mime-types":"*","negotiator":"*","node-fetch":"*","protobufjs":"*","proxy-addr":"*","tldts-core":"*","ts-algebra":"*","whatwg-url":"*","@types/node":"*","ajv-formats":"*","body-parser":"*","cross-spawn":"7.0.6","escape-html":"*","eventsource":"*","graceful-fs":"*","has-symbols":"*","http-errors":"*","json-bigint":"*","media-typer":"*","on-finished":"*","path-scurry":"*","safe-buffer":"*","signal-exit":"*","symbol-tree":"*","@babel/types":"*","@smithy/core":"*","bignumber.js":"*","content-type":"*","dunder-proto":"*","finalhandler":"*","gcp-metadata":"*","highlight.js":"11.11.1","partial-json":"0.1.7","range-parser":"*","safer-buffer":"*","serve-static":"*","side-channel":"*","toidentifier":"*","tough-cookie":"*","@aws-sdk/core":"*","@babel/parser":"*","@exodus/bytes":"*","@google/genai":"*","@smithy/types":"4.16.1","function-bind":"*","get-intrinsic":"*","object-assign":"*","shebang-regex":"*","source-map-js":"*","@aws-sdk/types":"*","@babel/runtime":"*","balanced-match":"*","object-inspect":"*","path-to-regexp":"*","pkce-challenge":"*","proxy-from-env":"2.1.0","setprototypeof":"*","@xterm/headless":"*","brace-expansion":"*","es-object-atoms":"*","fast-deep-equal":"*","hosted-git-info":"10.1.1","math-intrinsics":"*","proper-lockfile":"4.1.2","shebang-command":"*","whatwg-mimetype":"*","@aws-crypto/util":"*","@protobufjs/path":"*","@protobufjs/pool":"*","@protobufjs/utf8":"*","cookie-signature":"*","http-proxy-agent":"9.1.0","side-channel-map":"*","@anthropic-ai/sdk":"0.91.1","@hono/node-server":"*","@protobufjs/fetch":"*","@protobufjs/float":"*","@smithy/util-utf8":"*","formdata-polyfill":"*","https-proxy-agent":"9.1.0","json-schema-to-ts":"*","json-schema-typed":"*","merge-descriptors":"*","node-domexception":"*","side-channel-list":"*","w3c-xmlserializer":"*","@asamuzakjp/nwsapi":"*","@csstools/css-calc":"*","@mixmark-io/domino":"*","@opentelemetry/api":"1.9.1","@protobufjs/base64":"*","data-uri-to-buffer":"*","es-define-property":"*","eventsource-parser":"*","express-rate-limit":"*","webidl-conversions":"*","xml-name-validator":"*","zod-to-json-schema":"*","@bramus/specificity":"*","@protobufjs/codegen":"*","content-disposition":"*","ecdsa-sig-formatter":"*","google-auth-library":"*","require-from-string":"*","@aws-sdk/xml-builder":"*","@mistralai/mistralai":"2.5.0","@mozilla/readability":"0.6.0","@smithy/signature-v4":"*","get-east-asian-width":"1.6.0","google-logging-utils":"*","json-schema-traverse":"*","side-channel-weakmap":"*","web-streams-polyfill":"*","@asamuzakjp/css-color":"*","@aws-crypto/sha256-js":"*","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.8.6","@protobufjs/aspromise":"*","html-encoding-sniffer":"*","@earendil-works/pi-pty":"npm:@code-yeongyu/senpi-pty@2026.8.6","@earendil-works/pi-tui":"npm:@code-yeongyu/senpi-tui@2026.8.6","@aws-sdk/nested-clients":"*","@csstools/color-helpers":"*","@csstools/css-tokenizer":"*","@mariozechner/clipboard":"*","@smithy/is-array-buffer":"*","call-bind-apply-helpers":"*","@asamuzakjp/dom-selector":"*","@aws-sdk/token-providers":"*","@aws/lambda-invoke-store":"*","@protobufjs/eventemitter":"*","@smithy/util-buffer-from":"*","@modelcontextprotocol/sdk":"1.30.0","@smithy/node-http-handler":"4.9.11","@aws-crypto/sha256-browser":"*","@csstools/css-color-parser":"*","@silvia-odwyer/photon-node":"0.3.4","@smithy/fetch-http-handler":"*","buffer-equal-constant-time":"*","@aws-sdk/util-locate-window":"*","@babel/helper-string-parser":"*","@code-yeongyu/senpi-codemode":"2026.8.6","@aws-sdk/middleware-websocket":"*","@earendil-works/pi-agent-core":"npm:@code-yeongyu/senpi-agent-core@2026.8.6","@anthropic-ai/claude-agent-sdk":"0.3.220","@asamuzakjp/generational-cache":"*","@aws-crypto/supports-web-crypto":"*","@aws-sdk/client-bedrock-runtime":"3.1095.0","@aws-sdk/middleware-eventstream":"*","@csstools/css-parser-algorithms":"*","@aws-sdk/credential-provider-env":"*","@aws-sdk/credential-provider-ini":"*","@aws-sdk/credential-provider-sso":"*","@smithy/credential-provider-imds":"*","is-potential-custom-element-name":"*","@aws-sdk/credential-provider-http":"*","@aws-sdk/credential-provider-node":"*","@aws-sdk/eventstream-handler-node":"*","@aws-sdk/credential-provider-login":"*","@aws-sdk/signature-v4-multi-region":"*","@babel/helper-validator-identifier":"*","@opentelemetry/semantic-conventions":"*","@aws-sdk/credential-provider-process":"*","@csstools/css-syntax-patches-for-csstree":"*","@aws-sdk/credential-provider-web-identity":"*"},"_hasShrinkwrap":false,"devDependencies":{"shx":"0.4.0","vitest":"4.1.10","@types/ms":"2.1.0","@types/ws":"8.18.1","typescript":"7.0.2","@types/node":"26.1.1","@types/jsdom":"28.0.3","@types/semver":"7.7.1","@types/turndown":"5.0.6","@types/picomatch":"4.0.3","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@anthropic-ai/claude-agent-sdk","@anthropic-ai/sdk","@asamuzakjp/css-color","@asamuzakjp/dom-selector","@asamuzakjp/generational-cache","@asamuzakjp/nwsapi","@aws-crypto/sha256-browser","@aws-crypto/sha256-js","@aws-crypto/supports-web-crypto","@aws-crypto/util","@aws-sdk/client-bedrock-runtime","@aws-sdk/core","@aws-sdk/credential-provider-env","@aws-sdk/credential-provider-http","@aws-sdk/credential-provider-ini","@aws-sdk/credential-provider-login","@aws-sdk/credential-provider-node","@aws-sdk/credential-provider-process","@aws-sdk/credential-provider-sso","@aws-sdk/credential-provider-web-identity","@aws-sdk/eventstream-handler-node","@aws-sdk/middleware-eventstream","@aws-sdk/middleware-websocket","@aws-sdk/nested-clients","@aws-sdk/signature-v4-multi-region","@aws-sdk/token-providers","@aws-sdk/types","@aws-sdk/util-locate-window","@aws-sdk/xml-builder","@aws/lambda-invoke-store","@babel/helper-string-parser","@babel/helper-validator-identifier","@babel/parser","@babel/runtime","@babel/types","@bramus/specificity","@code-yeongyu/senpi-codemode","@csstools/color-helpers","@csstools/css-calc","@csstools/css-color-parser","@csstools/css-parser-algorithms","@csstools/css-syntax-patches-for-csstree","@csstools/css-tokenizer","@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-pty","@earendil-works/pi-tui","@exodus/bytes","@google/genai","@hono/node-server","@mariozechner/clipboard","@mistralai/mistralai","@mixmark-io/domino","@modelcontextprotocol/sdk","@mozilla/readability","@opentelemetry/api","@opentelemetry/semantic-conventions","@protobufjs/aspromise","@protobufjs/base64","@protobufjs/codegen","@protobufjs/eventemitter","@protobufjs/fetch","@protobufjs/float","@protobufjs/path","@protobufjs/pool","@protobufjs/utf8","@silvia-odwyer/photon-node","@smithy/core","@smithy/credential-provider-imds","@smithy/fetch-http-handler","@smithy/is-array-buffer","@smithy/node-http-handler","@smithy/signature-v4","@smithy/types","@smithy/util-buffer-from","@smithy/util-utf8","@types/node","@xterm/headless","accepts","agent-base","ajv","ajv-formats","balanced-match","base64-js","bidi-js","bignumber.js","body-parser","bowser","brace-expansion","buffer-equal-constant-time","bytes","call-bind-apply-helpers","call-bound","chalk","content-disposition","content-type","cookie","cookie-signature","cors","cross-spawn","css-tree","data-uri-to-buffer","data-urls","debug","decimal.js","depd","diff","dunder-proto","ecdsa-sig-formatter","ee-first","encodeurl","entities","es-define-property","es-errors","es-object-atoms","escape-html","etag","eventsource","eventsource-parser","express","express-rate-limit","extend","fast-deep-equal","fast-uri","fetch-blob","finalhandler","formdata-polyfill","forwarded","fresh","function-bind","gaxios","gcp-metadata","get-east-asian-width","get-intrinsic","get-proto","glob","google-auth-library","google-logging-utils","gopd","graceful-fs","has-symbols","hasown","highlight.js","hono","hosted-git-info","html-encoding-sniffer","http-errors","http-proxy-agent","https-proxy-agent","iconv-lite","ignore","inherits","ip-address","ipaddr.js","is-potential-custom-element-name","is-promise","isexe","jiti","jose","jsdom","json-bigint","json-schema-to-ts","json-schema-traverse","json-schema-typed","jwa","jws","long","lru-cache","marked","math-intrinsics","mdn-data","media-typer","merge-descriptors","mime-db","mime-types","minimatch","minipass","ms","negotiator","node-domexception","node-fetch","object-assign","object-inspect","on-finished","once","openai","p-retry","parse5","parseurl","partial-json","path-key","path-scurry","path-to-regexp","picomatch","pkce-challenge","proper-lockfile","protobufjs","proxy-addr","proxy-from-env","punycode","qs","range-parser","raw-body","require-from-string","retry","router","safe-buffer","safer-buffer","saxes","semver","send","serve-static","setprototypeof","shebang-command","shebang-regex","side-channel","side-channel-list","side-channel-map","side-channel-weakmap","signal-exit","source-map-js","statuses","symbol-tree","tldts","tldts-core","toidentifier","tough-cookie","tr46","ts-algebra","tslib","turndown","type-is","typebox","undici","unpipe","vary","w3c-xmlserializer","web-streams-polyfill","webidl-conversions","whatwg-mimetype","whatwg-url","which","wrappy","ws","xml-name-validator","xmlchars","yaml","zod","zod-to-json-schema"],"optionalDependencies":{"@mariozechner/clipboard":"0.3.9","@mariozechner/clipboard-darwin-x64":"0.3.9","@mariozechner/clipboard-darwin-arm64":"0.3.9","@mariozechner/clipboard-linux-x64-gnu":"0.3.9","@mariozechner/clipboard-linux-x64-musl":"0.3.9","@mariozechner/clipboard-win32-x64-msvc":"0.3.9","@mariozechner/clipboard-linux-arm64-gnu":"0.3.9","@anthropic-ai/claude-agent-sdk-linux-x64":"0.3.220","@anthropic-ai/claude-agent-sdk-win32-x64":"0.3.220","@mariozechner/clipboard-darwin-universal":"0.3.9","@mariozechner/clipboard-linux-arm64-musl":"0.3.9","@mariozechner/clipboard-win32-arm64-msvc":"0.3.9","@anthropic-ai/claude-agent-sdk-darwin-x64":"0.3.220","@mariozechner/clipboard-linux-riscv64-gnu":"0.3.9","@anthropic-ai/claude-agent-sdk-linux-arm64":"0.3.220","@anthropic-ai/claude-agent-sdk-win32-arm64":"0.3.220","@anthropic-ai/claude-agent-sdk-darwin-arm64":"0.3.220","@anthropic-ai/claude-agent-sdk-linux-x64-musl":"0.3.220","@anthropic-ai/claude-agent-sdk-linux-arm64-musl":"0.3.220"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.8.6_1785985453864_0.9786349889742898","host":"s3://npm-registry-packages-npm-production"}},"2026.8.7":{"name":"@code-yeongyu/senpi","version":"2026.8.7","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.8.7","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"senpi":"dist/cli.js"},"dist":{"shasum":"5ede809b64179b0aa14a17916fbf52b453bb930f","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.8.7.tgz","fileCount":29157,"integrity":"sha512-IkF7mHSA9Pq79Cn6eJVq7J2C8sKbksrPCo+P+YW4lKbAD1fpbsGhlfQ7G82RZbni/xZl1R3BTrtdDvvj0Ft9Fg==","signatures":[{"sig":"MEYCIQDOIFQho0hB+YV5KDY/B0D7vWFgvVdh62731OQ1PbYc9QIhAPr8+PTtYdl1LsW5+P156LF3rc58Y+ePMhXPn5DQq4Pw","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.8.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":177386040},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.js"},"./rpc-entry":{"import":"./dist/rpc-entry.js"}},"gitHead":"f62c206ed9130d9106d3ceac3d221535f44e41b9","scripts":{"dev":"tsc -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsc -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js dist/rpc-entry.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/","build:binary":"npm --prefix ../tui run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm --prefix ../protocol run build && npm --prefix ../client run build && npm run build && node ../../scripts/prepare-bun-compile-assets.mjs && bun build --compile --compile-autoload-package-json --external=css-tree --no-compile-autoload-dotenv --minify --keep-names ./dist/bun/cli.js ./src/utils/image-resize-worker.ts ../../node_modules/jsdom/lib/jsdom/living/xhr/xhr-sync-worker.js --outfile dist/pi && npm run copy-binary-assets","qa:app-server":"node scripts/qa-app-server/run-all.mjs","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/export-html/ && shx cp -r docs dist/ && shx cp -r examples dist/ && shx mkdir -p dist/node_modules && shx cp -r ../../node_modules/css-tree ../../node_modules/mdn-data ../../node_modules/source-map-js dist/node_modules/ && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/ && shx mkdir -p dist/native/darwin dist/native/win32 && shx cp -r ../../packages/tui/native/darwin/prebuilds dist/native/darwin/ && shx cp -r ../../packages/tui/native/win32/prebuilds dist/native/win32/ && node ../../scripts/copy-pty-native.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ea548fc8-dac4-4dec-a439-6f4fa3870309"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.2"},"rimraf":"6.1.2","protobufjs":"7.6.5","@hono/node-server":"2.0.10"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.16.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ms":"*","qs":"*","ws":"8.21.1","ajv":"*","jwa":"*","jws":"*","zod":"4.4.3","cors":"*","depd":"*","diff":"9.0.0","etag":"*","glob":"13.0.6","gopd":"*","hono":"*","jiti":"2.7.0","jose":"*","long":"*","once":"*","send":"*","tr46":"*","vary":"*","yaml":"2.9.0","bytes":"*","chalk":"6.0.0","debug":"*","fresh":"*","isexe":"*","jsdom":"29.1.1","retry":"*","saxes":"*","tldts":"*","tslib":"*","which":"*","bowser":"*","cookie":"*","extend":"*","gaxios":"*","hasown":"*","ignore":"7.0.6","marked":"18.0.7","openai":"6.26.0","parse5":"*","router":"*","semver":"7.8.5","undici":"8.9.0","unpipe":"*","wrappy":"*","accepts":"*","bidi-js":"*","express":"*","mime-db":"*","p-retry":"*","type-is":"*","typebox":"1.3.8","css-tree":"*","ee-first":"*","entities":"*","fast-uri":"*","inherits":"*","mdn-data":"*","minipass":"*","parseurl":"*","path-key":"*","punycode":"*","raw-body":"*","statuses":"*","turndown":"7.2.4","xmlchars":"*","base64-js":"*","data-urls":"*","encodeurl":"*","es-errors":"*","forwarded":"*","get-proto":"*","ipaddr.js":"*","lru-cache":"*","minimatch":"10.2.5","picomatch":"4.0.5","agent-base":"*","call-bound":"*","decimal.js":"*","fetch-blob":"*","iconv-lite":"*","ip-address":"*","is-promise":"*","mime-types":"*","negotiator":"*","node-fetch":"*","protobufjs":"*","proxy-addr":"*","tldts-core":"*","ts-algebra":"*","whatwg-url":"*","@types/node":"*","ajv-formats":"*","body-parser":"*","cross-spawn":"7.0.6","escape-html":"*","eventsource":"*","graceful-fs":"*","has-symbols":"*","http-errors":"*","json-bigint":"*","media-typer":"*","on-finished":"*","path-scurry":"*","safe-buffer":"*","signal-exit":"*","symbol-tree":"*","@babel/types":"*","@smithy/core":"*","bignumber.js":"*","content-type":"*","dunder-proto":"*","finalhandler":"*","gcp-metadata":"*","highlight.js":"11.11.1","partial-json":"0.1.7","range-parser":"*","safer-buffer":"*","serve-static":"*","side-channel":"*","toidentifier":"*","tough-cookie":"*","@aws-sdk/core":"*","@babel/parser":"*","@exodus/bytes":"*","@google/genai":"*","@smithy/types":"4.16.1","function-bind":"*","get-intrinsic":"*","object-assign":"*","shebang-regex":"*","source-map-js":"*","@aws-sdk/types":"*","@babel/runtime":"*","balanced-match":"*","object-inspect":"*","path-to-regexp":"*","pkce-challenge":"*","proxy-from-env":"2.1.0","setprototypeof":"*","@xterm/headless":"*","brace-expansion":"*","es-object-atoms":"*","fast-deep-equal":"*","hosted-git-info":"10.1.1","math-intrinsics":"*","proper-lockfile":"4.1.2","shebang-command":"*","whatwg-mimetype":"*","@aws-crypto/util":"*","@protobufjs/path":"*","@protobufjs/pool":"*","@protobufjs/utf8":"*","cookie-signature":"*","http-proxy-agent":"9.1.0","side-channel-map":"*","@anthropic-ai/sdk":"0.91.1","@hono/node-server":"*","@protobufjs/fetch":"*","@protobufjs/float":"*","@smithy/util-utf8":"*","formdata-polyfill":"*","https-proxy-agent":"9.1.0","json-schema-to-ts":"*","json-schema-typed":"*","merge-descriptors":"*","node-domexception":"*","side-channel-list":"*","w3c-xmlserializer":"*","@asamuzakjp/nwsapi":"*","@csstools/css-calc":"*","@mixmark-io/domino":"*","@opentelemetry/api":"1.9.1","@protobufjs/base64":"*","data-uri-to-buffer":"*","es-define-property":"*","eventsource-parser":"*","express-rate-limit":"*","webidl-conversions":"*","xml-name-validator":"*","zod-to-json-schema":"*","@bramus/specificity":"*","@protobufjs/codegen":"*","content-disposition":"*","ecdsa-sig-formatter":"*","google-auth-library":"*","require-from-string":"*","@aws-sdk/xml-builder":"*","@mistralai/mistralai":"2.5.0","@mozilla/readability":"0.6.0","@smithy/signature-v4":"*","get-east-asian-width":"1.6.0","google-logging-utils":"*","json-schema-traverse":"*","side-channel-weakmap":"*","web-streams-polyfill":"*","@asamuzakjp/css-color":"*","@aws-crypto/sha256-js":"*","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.8.7","@protobufjs/aspromise":"*","html-encoding-sniffer":"*","@earendil-works/pi-pty":"npm:@code-yeongyu/senpi-pty@2026.8.7","@earendil-works/pi-tui":"npm:@code-yeongyu/senpi-tui@2026.8.7","@aws-sdk/nested-clients":"*","@csstools/color-helpers":"*","@csstools/css-tokenizer":"*","@mariozechner/clipboard":"*","@smithy/is-array-buffer":"*","call-bind-apply-helpers":"*","@asamuzakjp/dom-selector":"*","@aws-sdk/token-providers":"*","@aws/lambda-invoke-store":"*","@protobufjs/eventemitter":"*","@smithy/util-buffer-from":"*","@modelcontextprotocol/sdk":"1.30.0","@smithy/node-http-handler":"4.9.11","@aws-crypto/sha256-browser":"*","@csstools/css-color-parser":"*","@silvia-odwyer/photon-node":"0.3.4","@smithy/fetch-http-handler":"*","buffer-equal-constant-time":"*","@aws-sdk/util-locate-window":"*","@babel/helper-string-parser":"*","@code-yeongyu/senpi-codemode":"2026.8.7","@aws-sdk/middleware-websocket":"*","@earendil-works/pi-agent-core":"npm:@code-yeongyu/senpi-agent-core@2026.8.7","@anthropic-ai/claude-agent-sdk":"0.3.220","@asamuzakjp/generational-cache":"*","@aws-crypto/supports-web-crypto":"*","@aws-sdk/client-bedrock-runtime":"3.1095.0","@aws-sdk/middleware-eventstream":"*","@csstools/css-parser-algorithms":"*","@aws-sdk/credential-provider-env":"*","@aws-sdk/credential-provider-ini":"*","@aws-sdk/credential-provider-sso":"*","@smithy/credential-provider-imds":"*","is-potential-custom-element-name":"*","@aws-sdk/credential-provider-http":"*","@aws-sdk/credential-provider-node":"*","@aws-sdk/eventstream-handler-node":"*","@aws-sdk/credential-provider-login":"*","@aws-sdk/signature-v4-multi-region":"*","@babel/helper-validator-identifier":"*","@opentelemetry/semantic-conventions":"*","@aws-sdk/credential-provider-process":"*","@csstools/css-syntax-patches-for-csstree":"*","@aws-sdk/credential-provider-web-identity":"*"},"_hasShrinkwrap":false,"devDependencies":{"shx":"0.4.0","vitest":"4.1.10","@types/ms":"2.1.0","@types/ws":"8.18.1","typescript":"7.0.2","@types/node":"26.1.1","@types/jsdom":"28.0.3","@types/semver":"7.7.1","@types/turndown":"5.0.6","@types/picomatch":"4.0.3","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@anthropic-ai/claude-agent-sdk","@anthropic-ai/sdk","@asamuzakjp/css-color","@asamuzakjp/dom-selector","@asamuzakjp/generational-cache","@asamuzakjp/nwsapi","@aws-crypto/sha256-browser","@aws-crypto/sha256-js","@aws-crypto/supports-web-crypto","@aws-crypto/util","@aws-sdk/client-bedrock-runtime","@aws-sdk/core","@aws-sdk/credential-provider-env","@aws-sdk/credential-provider-http","@aws-sdk/credential-provider-ini","@aws-sdk/credential-provider-login","@aws-sdk/credential-provider-node","@aws-sdk/credential-provider-process","@aws-sdk/credential-provider-sso","@aws-sdk/credential-provider-web-identity","@aws-sdk/eventstream-handler-node","@aws-sdk/middleware-eventstream","@aws-sdk/middleware-websocket","@aws-sdk/nested-clients","@aws-sdk/signature-v4-multi-region","@aws-sdk/token-providers","@aws-sdk/types","@aws-sdk/util-locate-window","@aws-sdk/xml-builder","@aws/lambda-invoke-store","@babel/helper-string-parser","@babel/helper-validator-identifier","@babel/parser","@babel/runtime","@babel/types","@bramus/specificity","@code-yeongyu/senpi-codemode","@csstools/color-helpers","@csstools/css-calc","@csstools/css-color-parser","@csstools/css-parser-algorithms","@csstools/css-syntax-patches-for-csstree","@csstools/css-tokenizer","@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-pty","@earendil-works/pi-tui","@exodus/bytes","@google/genai","@hono/node-server","@mariozechner/clipboard","@mistralai/mistralai","@mixmark-io/domino","@modelcontextprotocol/sdk","@mozilla/readability","@opentelemetry/api","@opentelemetry/semantic-conventions","@protobufjs/aspromise","@protobufjs/base64","@protobufjs/codegen","@protobufjs/eventemitter","@protobufjs/fetch","@protobufjs/float","@protobufjs/path","@protobufjs/pool","@protobufjs/utf8","@silvia-odwyer/photon-node","@smithy/core","@smithy/credential-provider-imds","@smithy/fetch-http-handler","@smithy/is-array-buffer","@smithy/node-http-handler","@smithy/signature-v4","@smithy/types","@smithy/util-buffer-from","@smithy/util-utf8","@types/node","@xterm/headless","accepts","agent-base","ajv","ajv-formats","balanced-match","base64-js","bidi-js","bignumber.js","body-parser","bowser","brace-expansion","buffer-equal-constant-time","bytes","call-bind-apply-helpers","call-bound","chalk","content-disposition","content-type","cookie","cookie-signature","cors","cross-spawn","css-tree","data-uri-to-buffer","data-urls","debug","decimal.js","depd","diff","dunder-proto","ecdsa-sig-formatter","ee-first","encodeurl","entities","es-define-property","es-errors","es-object-atoms","escape-html","etag","eventsource","eventsource-parser","express","express-rate-limit","extend","fast-deep-equal","fast-uri","fetch-blob","finalhandler","formdata-polyfill","forwarded","fresh","function-bind","gaxios","gcp-metadata","get-east-asian-width","get-intrinsic","get-proto","glob","google-auth-library","google-logging-utils","gopd","graceful-fs","has-symbols","hasown","highlight.js","hono","hosted-git-info","html-encoding-sniffer","http-errors","http-proxy-agent","https-proxy-agent","iconv-lite","ignore","inherits","ip-address","ipaddr.js","is-potential-custom-element-name","is-promise","isexe","jiti","jose","jsdom","json-bigint","json-schema-to-ts","json-schema-traverse","json-schema-typed","jwa","jws","long","lru-cache","marked","math-intrinsics","mdn-data","media-typer","merge-descriptors","mime-db","mime-types","minimatch","minipass","ms","negotiator","node-domexception","node-fetch","object-assign","object-inspect","on-finished","once","openai","p-retry","parse5","parseurl","partial-json","path-key","path-scurry","path-to-regexp","picomatch","pkce-challenge","proper-lockfile","protobufjs","proxy-addr","proxy-from-env","punycode","qs","range-parser","raw-body","require-from-string","retry","router","safe-buffer","safer-buffer","saxes","semver","send","serve-static","setprototypeof","shebang-command","shebang-regex","side-channel","side-channel-list","side-channel-map","side-channel-weakmap","signal-exit","source-map-js","statuses","symbol-tree","tldts","tldts-core","toidentifier","tough-cookie","tr46","ts-algebra","tslib","turndown","type-is","typebox","undici","unpipe","vary","w3c-xmlserializer","web-streams-polyfill","webidl-conversions","whatwg-mimetype","whatwg-url","which","wrappy","ws","xml-name-validator","xmlchars","yaml","zod","zod-to-json-schema"],"optionalDependencies":{"@mariozechner/clipboard":"0.3.9","@mariozechner/clipboard-darwin-x64":"0.3.9","@mariozechner/clipboard-darwin-arm64":"0.3.9","@mariozechner/clipboard-linux-x64-gnu":"0.3.9","@mariozechner/clipboard-linux-x64-musl":"0.3.9","@mariozechner/clipboard-win32-x64-msvc":"0.3.9","@mariozechner/clipboard-linux-arm64-gnu":"0.3.9","@anthropic-ai/claude-agent-sdk-linux-x64":"0.3.220","@anthropic-ai/claude-agent-sdk-win32-x64":"0.3.220","@mariozechner/clipboard-darwin-universal":"0.3.9","@mariozechner/clipboard-linux-arm64-musl":"0.3.9","@mariozechner/clipboard-win32-arm64-msvc":"0.3.9","@anthropic-ai/claude-agent-sdk-darwin-x64":"0.3.220","@mariozechner/clipboard-linux-riscv64-gnu":"0.3.9","@anthropic-ai/claude-agent-sdk-linux-arm64":"0.3.220","@anthropic-ai/claude-agent-sdk-win32-arm64":"0.3.220","@anthropic-ai/claude-agent-sdk-darwin-arm64":"0.3.220","@anthropic-ai/claude-agent-sdk-linux-x64-musl":"0.3.220","@anthropic-ai/claude-agent-sdk-linux-arm64-musl":"0.3.220"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.8.7_1786077969233_0.8112401185006934","host":"s3://npm-registry-packages-npm-production"}},"2026.8.9":{"name":"@code-yeongyu/senpi","version":"2026.8.9","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.8.9","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"senpi":"dist/cli.js"},"dist":{"shasum":"638b5da44b0cfec5f3b9f5d6a060558839bb57d4","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.8.9.tgz","fileCount":29174,"integrity":"sha512-JxT2mssiXnVRL4reZQRS9qcq52nJohcBg/+VN/Fn9e3B1YlO5zS+Vke6utoQE6QIG9ShiXq1GzZMrSIsW66AuQ==","signatures":[{"sig":"MEYCIQDhU6x4hUduckQcZmm9+92RbL/hXlkJSGSwzxG+OhDFmgIhAMan8HOPxC+j0ZWjKhclTVMT+rmjlVurr/jKEODJHv6e","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.8.9","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":177493470},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.js"},"./rpc-entry":{"import":"./dist/rpc-entry.js"}},"gitHead":"04f90952edddb8b1a892929ba59ccc7e26b0e36b","scripts":{"dev":"tsc -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsc -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js dist/rpc-entry.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/","build:binary":"npm --prefix ../tui run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm --prefix ../protocol run build && npm --prefix ../client run build && npm run build && node ../../scripts/prepare-bun-compile-assets.mjs && bun build --compile --compile-autoload-package-json --external=css-tree --no-compile-autoload-dotenv --minify --keep-names ./dist/bun/cli.js ./src/utils/image-resize-worker.ts ../../node_modules/jsdom/lib/jsdom/living/xhr/xhr-sync-worker.js --outfile dist/pi && npm run copy-binary-assets","qa:app-server":"node scripts/qa-app-server/run-all.mjs","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/export-html/ && shx cp -r docs dist/ && shx cp -r examples dist/ && shx mkdir -p dist/node_modules && shx cp -r ../../node_modules/css-tree ../../node_modules/mdn-data ../../node_modules/source-map-js dist/node_modules/ && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/ && shx mkdir -p dist/native/darwin dist/native/win32 && shx cp -r ../../packages/tui/native/darwin/prebuilds dist/native/darwin/ && shx cp -r ../../packages/tui/native/win32/prebuilds dist/native/win32/ && node ../../scripts/copy-pty-native.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ea548fc8-dac4-4dec-a439-6f4fa3870309"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.2"},"rimraf":"6.1.2","protobufjs":"7.6.5","@hono/node-server":"2.0.10"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.16.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ms":"*","qs":"*","ws":"8.21.1","ajv":"*","jwa":"*","jws":"*","zod":"4.4.3","cors":"*","depd":"*","diff":"9.0.0","etag":"*","glob":"13.0.6","gopd":"*","hono":"*","jiti":"2.7.0","jose":"*","long":"*","once":"*","send":"*","tr46":"*","vary":"*","yaml":"2.9.0","bytes":"*","chalk":"6.0.0","debug":"*","fresh":"*","isexe":"*","jsdom":"29.1.1","retry":"*","saxes":"*","tldts":"*","tslib":"*","which":"*","bowser":"*","cookie":"*","extend":"*","gaxios":"*","hasown":"*","ignore":"7.0.6","marked":"18.0.7","openai":"6.26.0","parse5":"*","router":"*","semver":"7.8.5","undici":"8.9.0","unpipe":"*","wrappy":"*","accepts":"*","bidi-js":"*","express":"*","mime-db":"*","p-retry":"*","type-is":"*","typebox":"1.3.8","css-tree":"*","ee-first":"*","entities":"*","fast-uri":"*","inherits":"*","mdn-data":"*","minipass":"*","parseurl":"*","path-key":"*","punycode":"*","raw-body":"*","statuses":"*","turndown":"7.2.4","xmlchars":"*","base64-js":"*","data-urls":"*","encodeurl":"*","es-errors":"*","forwarded":"*","get-proto":"*","ipaddr.js":"*","lru-cache":"*","minimatch":"10.2.5","picomatch":"4.0.5","agent-base":"*","call-bound":"*","decimal.js":"*","fetch-blob":"*","iconv-lite":"*","ip-address":"*","is-promise":"*","mime-types":"*","negotiator":"*","node-fetch":"*","protobufjs":"*","proxy-addr":"*","tldts-core":"*","ts-algebra":"*","whatwg-url":"*","@types/node":"*","ajv-formats":"*","body-parser":"*","cross-spawn":"7.0.6","escape-html":"*","eventsource":"*","graceful-fs":"*","has-symbols":"*","http-errors":"*","json-bigint":"*","media-typer":"*","on-finished":"*","path-scurry":"*","safe-buffer":"*","signal-exit":"*","symbol-tree":"*","@babel/types":"*","@smithy/core":"*","bignumber.js":"*","content-type":"*","dunder-proto":"*","finalhandler":"*","gcp-metadata":"*","highlight.js":"11.11.1","partial-json":"0.1.7","range-parser":"*","safer-buffer":"*","serve-static":"*","side-channel":"*","toidentifier":"*","tough-cookie":"*","@aws-sdk/core":"*","@babel/parser":"*","@exodus/bytes":"*","@google/genai":"*","@smithy/types":"4.16.1","function-bind":"*","get-intrinsic":"*","object-assign":"*","shebang-regex":"*","source-map-js":"*","@aws-sdk/types":"*","@babel/runtime":"*","balanced-match":"*","object-inspect":"*","path-to-regexp":"*","pkce-challenge":"*","proxy-from-env":"2.1.0","setprototypeof":"*","@xterm/headless":"*","brace-expansion":"*","es-object-atoms":"*","fast-deep-equal":"*","hosted-git-info":"10.1.1","math-intrinsics":"*","proper-lockfile":"4.1.2","shebang-command":"*","whatwg-mimetype":"*","@aws-crypto/util":"*","@protobufjs/path":"*","@protobufjs/pool":"*","@protobufjs/utf8":"*","cookie-signature":"*","http-proxy-agent":"9.1.0","side-channel-map":"*","@anthropic-ai/sdk":"0.91.1","@hono/node-server":"*","@protobufjs/fetch":"*","@protobufjs/float":"*","@smithy/util-utf8":"*","formdata-polyfill":"*","https-proxy-agent":"9.1.0","json-schema-to-ts":"*","json-schema-typed":"*","merge-descriptors":"*","node-domexception":"*","side-channel-list":"*","w3c-xmlserializer":"*","@asamuzakjp/nwsapi":"*","@csstools/css-calc":"*","@mixmark-io/domino":"*","@opentelemetry/api":"1.9.1","@protobufjs/base64":"*","data-uri-to-buffer":"*","es-define-property":"*","eventsource-parser":"*","express-rate-limit":"*","webidl-conversions":"*","xml-name-validator":"*","zod-to-json-schema":"*","@bramus/specificity":"*","@protobufjs/codegen":"*","content-disposition":"*","ecdsa-sig-formatter":"*","google-auth-library":"*","require-from-string":"*","@aws-sdk/xml-builder":"*","@mistralai/mistralai":"2.5.0","@mozilla/readability":"0.6.0","@smithy/signature-v4":"*","get-east-asian-width":"1.6.0","google-logging-utils":"*","json-schema-traverse":"*","side-channel-weakmap":"*","web-streams-polyfill":"*","@asamuzakjp/css-color":"*","@aws-crypto/sha256-js":"*","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.8.9","@protobufjs/aspromise":"*","html-encoding-sniffer":"*","@earendil-works/pi-pty":"npm:@code-yeongyu/senpi-pty@2026.8.9","@earendil-works/pi-tui":"npm:@code-yeongyu/senpi-tui@2026.8.9","@aws-sdk/nested-clients":"*","@csstools/color-helpers":"*","@csstools/css-tokenizer":"*","@mariozechner/clipboard":"*","@smithy/is-array-buffer":"*","call-bind-apply-helpers":"*","@asamuzakjp/dom-selector":"*","@aws-sdk/token-providers":"*","@aws/lambda-invoke-store":"*","@protobufjs/eventemitter":"*","@smithy/util-buffer-from":"*","@modelcontextprotocol/sdk":"1.30.0","@smithy/node-http-handler":"4.9.11","@aws-crypto/sha256-browser":"*","@csstools/css-color-parser":"*","@silvia-odwyer/photon-node":"0.3.4","@smithy/fetch-http-handler":"*","buffer-equal-constant-time":"*","@aws-sdk/util-locate-window":"*","@babel/helper-string-parser":"*","@code-yeongyu/senpi-codemode":"2026.8.9","@aws-sdk/middleware-websocket":"*","@earendil-works/pi-agent-core":"npm:@code-yeongyu/senpi-agent-core@2026.8.9","@anthropic-ai/claude-agent-sdk":"0.3.220","@asamuzakjp/generational-cache":"*","@aws-crypto/supports-web-crypto":"*","@aws-sdk/client-bedrock-runtime":"3.1095.0","@aws-sdk/middleware-eventstream":"*","@csstools/css-parser-algorithms":"*","@aws-sdk/credential-provider-env":"*","@aws-sdk/credential-provider-ini":"*","@aws-sdk/credential-provider-sso":"*","@smithy/credential-provider-imds":"*","is-potential-custom-element-name":"*","@aws-sdk/credential-provider-http":"*","@aws-sdk/credential-provider-node":"*","@aws-sdk/eventstream-handler-node":"*","@aws-sdk/credential-provider-login":"*","@aws-sdk/signature-v4-multi-region":"*","@babel/helper-validator-identifier":"*","@opentelemetry/semantic-conventions":"*","@aws-sdk/credential-provider-process":"*","@csstools/css-syntax-patches-for-csstree":"*","@aws-sdk/credential-provider-web-identity":"*"},"_hasShrinkwrap":false,"devDependencies":{"shx":"0.4.0","vitest":"4.1.10","@types/ms":"2.1.0","@types/ws":"8.18.1","typescript":"7.0.2","@types/node":"26.1.1","@types/jsdom":"28.0.3","@types/semver":"7.7.1","@types/turndown":"5.0.6","@types/picomatch":"4.0.3","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@anthropic-ai/claude-agent-sdk","@anthropic-ai/sdk","@asamuzakjp/css-color","@asamuzakjp/dom-selector","@asamuzakjp/generational-cache","@asamuzakjp/nwsapi","@aws-crypto/sha256-browser","@aws-crypto/sha256-js","@aws-crypto/supports-web-crypto","@aws-crypto/util","@aws-sdk/client-bedrock-runtime","@aws-sdk/core","@aws-sdk/credential-provider-env","@aws-sdk/credential-provider-http","@aws-sdk/credential-provider-ini","@aws-sdk/credential-provider-login","@aws-sdk/credential-provider-node","@aws-sdk/credential-provider-process","@aws-sdk/credential-provider-sso","@aws-sdk/credential-provider-web-identity","@aws-sdk/eventstream-handler-node","@aws-sdk/middleware-eventstream","@aws-sdk/middleware-websocket","@aws-sdk/nested-clients","@aws-sdk/signature-v4-multi-region","@aws-sdk/token-providers","@aws-sdk/types","@aws-sdk/util-locate-window","@aws-sdk/xml-builder","@aws/lambda-invoke-store","@babel/helper-string-parser","@babel/helper-validator-identifier","@babel/parser","@babel/runtime","@babel/types","@bramus/specificity","@code-yeongyu/senpi-codemode","@csstools/color-helpers","@csstools/css-calc","@csstools/css-color-parser","@csstools/css-parser-algorithms","@csstools/css-syntax-patches-for-csstree","@csstools/css-tokenizer","@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-pty","@earendil-works/pi-tui","@exodus/bytes","@google/genai","@hono/node-server","@mariozechner/clipboard","@mistralai/mistralai","@mixmark-io/domino","@modelcontextprotocol/sdk","@mozilla/readability","@opentelemetry/api","@opentelemetry/semantic-conventions","@protobufjs/aspromise","@protobufjs/base64","@protobufjs/codegen","@protobufjs/eventemitter","@protobufjs/fetch","@protobufjs/float","@protobufjs/path","@protobufjs/pool","@protobufjs/utf8","@silvia-odwyer/photon-node","@smithy/core","@smithy/credential-provider-imds","@smithy/fetch-http-handler","@smithy/is-array-buffer","@smithy/node-http-handler","@smithy/signature-v4","@smithy/types","@smithy/util-buffer-from","@smithy/util-utf8","@types/node","@xterm/headless","accepts","agent-base","ajv","ajv-formats","balanced-match","base64-js","bidi-js","bignumber.js","body-parser","bowser","brace-expansion","buffer-equal-constant-time","bytes","call-bind-apply-helpers","call-bound","chalk","content-disposition","content-type","cookie","cookie-signature","cors","cross-spawn","css-tree","data-uri-to-buffer","data-urls","debug","decimal.js","depd","diff","dunder-proto","ecdsa-sig-formatter","ee-first","encodeurl","entities","es-define-property","es-errors","es-object-atoms","escape-html","etag","eventsource","eventsource-parser","express","express-rate-limit","extend","fast-deep-equal","fast-uri","fetch-blob","finalhandler","formdata-polyfill","forwarded","fresh","function-bind","gaxios","gcp-metadata","get-east-asian-width","get-intrinsic","get-proto","glob","google-auth-library","google-logging-utils","gopd","graceful-fs","has-symbols","hasown","highlight.js","hono","hosted-git-info","html-encoding-sniffer","http-errors","http-proxy-agent","https-proxy-agent","iconv-lite","ignore","inherits","ip-address","ipaddr.js","is-potential-custom-element-name","is-promise","isexe","jiti","jose","jsdom","json-bigint","json-schema-to-ts","json-schema-traverse","json-schema-typed","jwa","jws","long","lru-cache","marked","math-intrinsics","mdn-data","media-typer","merge-descriptors","mime-db","mime-types","minimatch","minipass","ms","negotiator","node-domexception","node-fetch","object-assign","object-inspect","on-finished","once","openai","p-retry","parse5","parseurl","partial-json","path-key","path-scurry","path-to-regexp","picomatch","pkce-challenge","proper-lockfile","protobufjs","proxy-addr","proxy-from-env","punycode","qs","range-parser","raw-body","require-from-string","retry","router","safe-buffer","safer-buffer","saxes","semver","send","serve-static","setprototypeof","shebang-command","shebang-regex","side-channel","side-channel-list","side-channel-map","side-channel-weakmap","signal-exit","source-map-js","statuses","symbol-tree","tldts","tldts-core","toidentifier","tough-cookie","tr46","ts-algebra","tslib","turndown","type-is","typebox","undici","unpipe","vary","w3c-xmlserializer","web-streams-polyfill","webidl-conversions","whatwg-mimetype","whatwg-url","which","wrappy","ws","xml-name-validator","xmlchars","yaml","zod","zod-to-json-schema"],"optionalDependencies":{"@mariozechner/clipboard":"0.3.9","@mariozechner/clipboard-darwin-x64":"0.3.9","@mariozechner/clipboard-darwin-arm64":"0.3.9","@mariozechner/clipboard-linux-x64-gnu":"0.3.9","@mariozechner/clipboard-linux-x64-musl":"0.3.9","@mariozechner/clipboard-win32-x64-msvc":"0.3.9","@mariozechner/clipboard-linux-arm64-gnu":"0.3.9","@anthropic-ai/claude-agent-sdk-linux-x64":"0.3.220","@anthropic-ai/claude-agent-sdk-win32-x64":"0.3.220","@mariozechner/clipboard-darwin-universal":"0.3.9","@mariozechner/clipboard-linux-arm64-musl":"0.3.9","@mariozechner/clipboard-win32-arm64-msvc":"0.3.9","@anthropic-ai/claude-agent-sdk-darwin-x64":"0.3.220","@mariozechner/clipboard-linux-riscv64-gnu":"0.3.9","@anthropic-ai/claude-agent-sdk-linux-arm64":"0.3.220","@anthropic-ai/claude-agent-sdk-win32-arm64":"0.3.220","@anthropic-ai/claude-agent-sdk-darwin-arm64":"0.3.220","@anthropic-ai/claude-agent-sdk-linux-x64-musl":"0.3.220","@anthropic-ai/claude-agent-sdk-linux-arm64-musl":"0.3.220"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.8.9_1786264323573_0.6996871122706607","host":"s3://npm-registry-packages-npm-production"}},"2026.8.9-2":{"name":"@code-yeongyu/senpi","version":"2026.8.9-2","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.8.9-2","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"senpi":"dist/cli.js"},"dist":{"shasum":"e714f5a2fe8fa81de0b700d6c7e3c2393eed9b65","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.8.9-2.tgz","fileCount":29182,"integrity":"sha512-TemPxkCoMXrrP17ihh4TQS462GCgG0HOuHRxjCWAOdPmg2J7L0y44Rahqt/9f3V29cE9lH6Bvnku2wRZPqRq0w==","signatures":[{"sig":"MEUCIQDHMqqXIsns/c4JEvgc2G5wAPrkhRg9iygFESR7wdr+4QIgF+7bsmVqxvNtzyVpAWsXFGSltJL+xh47jYscEEXeDJc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.8.9-2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":177614395},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.js"},"./rpc-entry":{"import":"./dist/rpc-entry.js"}},"gitHead":"0cb8120e1c28e035813a1491724c4a5ec9403f88","scripts":{"dev":"tsc -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsc -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js dist/rpc-entry.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/","build:binary":"npm --prefix ../tui run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm --prefix ../protocol run build && npm --prefix ../client run build && npm run build && node ../../scripts/prepare-bun-compile-assets.mjs && bun build --compile --compile-autoload-package-json --external=css-tree --no-compile-autoload-dotenv --minify --keep-names ./dist/bun/cli.js ./src/utils/image-resize-worker.ts ../../node_modules/jsdom/lib/jsdom/living/xhr/xhr-sync-worker.js --outfile dist/pi && npm run copy-binary-assets","qa:app-server":"node scripts/qa-app-server/run-all.mjs","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/export-html/ && shx cp -r docs dist/ && shx cp -r examples dist/ && shx mkdir -p dist/node_modules && shx cp -r ../../node_modules/css-tree ../../node_modules/mdn-data ../../node_modules/source-map-js dist/node_modules/ && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/ && shx mkdir -p dist/native/darwin dist/native/win32 && shx cp -r ../../packages/tui/native/darwin/prebuilds dist/native/darwin/ && shx cp -r ../../packages/tui/native/win32/prebuilds dist/native/win32/ && node ../../scripts/copy-pty-native.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ea548fc8-dac4-4dec-a439-6f4fa3870309"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.2"},"rimraf":"6.1.2","protobufjs":"7.6.5","@hono/node-server":"2.0.10"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.16.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ms":"*","qs":"*","ws":"8.21.1","ajv":"*","jwa":"*","jws":"*","zod":"4.4.3","cors":"*","depd":"*","diff":"9.0.0","etag":"*","glob":"13.0.6","gopd":"*","hono":"*","jiti":"2.7.0","jose":"*","long":"*","once":"*","send":"*","tr46":"*","vary":"*","yaml":"2.9.0","bytes":"*","chalk":"6.0.0","debug":"*","fresh":"*","isexe":"*","jsdom":"29.1.1","retry":"*","saxes":"*","tldts":"*","tslib":"*","which":"*","bowser":"*","cookie":"*","extend":"*","gaxios":"*","hasown":"*","ignore":"7.0.6","marked":"18.0.7","openai":"6.26.0","parse5":"*","router":"*","semver":"7.8.5","undici":"8.9.0","unpipe":"*","wrappy":"*","accepts":"*","bidi-js":"*","express":"*","mime-db":"*","p-retry":"*","type-is":"*","typebox":"1.3.8","css-tree":"*","ee-first":"*","entities":"*","fast-uri":"*","inherits":"*","mdn-data":"*","minipass":"*","parseurl":"*","path-key":"*","punycode":"*","raw-body":"*","statuses":"*","turndown":"7.2.4","xmlchars":"*","base64-js":"*","data-urls":"*","encodeurl":"*","es-errors":"*","forwarded":"*","get-proto":"*","ipaddr.js":"*","lru-cache":"*","minimatch":"10.2.5","picomatch":"4.0.5","agent-base":"*","call-bound":"*","decimal.js":"*","fetch-blob":"*","iconv-lite":"*","ip-address":"*","is-promise":"*","mime-types":"*","negotiator":"*","node-fetch":"*","protobufjs":"*","proxy-addr":"*","tldts-core":"*","ts-algebra":"*","whatwg-url":"*","@types/node":"*","ajv-formats":"*","body-parser":"*","cross-spawn":"7.0.6","escape-html":"*","eventsource":"*","graceful-fs":"*","has-symbols":"*","http-errors":"*","json-bigint":"*","media-typer":"*","on-finished":"*","path-scurry":"*","safe-buffer":"*","signal-exit":"*","symbol-tree":"*","@babel/types":"*","@smithy/core":"*","bignumber.js":"*","content-type":"*","dunder-proto":"*","finalhandler":"*","gcp-metadata":"*","highlight.js":"11.11.1","partial-json":"0.1.7","range-parser":"*","safer-buffer":"*","serve-static":"*","side-channel":"*","toidentifier":"*","tough-cookie":"*","@aws-sdk/core":"*","@babel/parser":"*","@exodus/bytes":"*","@google/genai":"*","@smithy/types":"4.16.1","function-bind":"*","get-intrinsic":"*","object-assign":"*","shebang-regex":"*","source-map-js":"*","@aws-sdk/types":"*","@babel/runtime":"*","balanced-match":"*","object-inspect":"*","path-to-regexp":"*","pkce-challenge":"*","proxy-from-env":"2.1.0","setprototypeof":"*","@xterm/headless":"*","brace-expansion":"*","es-object-atoms":"*","fast-deep-equal":"*","hosted-git-info":"10.1.1","math-intrinsics":"*","proper-lockfile":"4.1.2","shebang-command":"*","whatwg-mimetype":"*","@aws-crypto/util":"*","@protobufjs/path":"*","@protobufjs/pool":"*","@protobufjs/utf8":"*","cookie-signature":"*","http-proxy-agent":"9.1.0","side-channel-map":"*","@anthropic-ai/sdk":"0.91.1","@hono/node-server":"*","@protobufjs/fetch":"*","@protobufjs/float":"*","@smithy/util-utf8":"*","formdata-polyfill":"*","https-proxy-agent":"9.1.0","json-schema-to-ts":"*","json-schema-typed":"*","merge-descriptors":"*","node-domexception":"*","side-channel-list":"*","w3c-xmlserializer":"*","@asamuzakjp/nwsapi":"*","@csstools/css-calc":"*","@mixmark-io/domino":"*","@opentelemetry/api":"1.9.1","@protobufjs/base64":"*","data-uri-to-buffer":"*","es-define-property":"*","eventsource-parser":"*","express-rate-limit":"*","webidl-conversions":"*","xml-name-validator":"*","zod-to-json-schema":"*","@bramus/specificity":"*","@protobufjs/codegen":"*","content-disposition":"*","ecdsa-sig-formatter":"*","google-auth-library":"*","require-from-string":"*","@aws-sdk/xml-builder":"*","@mistralai/mistralai":"2.5.0","@mozilla/readability":"0.6.0","@smithy/signature-v4":"*","get-east-asian-width":"1.6.0","google-logging-utils":"*","json-schema-traverse":"*","side-channel-weakmap":"*","web-streams-polyfill":"*","@asamuzakjp/css-color":"*","@aws-crypto/sha256-js":"*","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.8.9-2","@protobufjs/aspromise":"*","html-encoding-sniffer":"*","@earendil-works/pi-pty":"npm:@code-yeongyu/senpi-pty@2026.8.9-2","@earendil-works/pi-tui":"npm:@code-yeongyu/senpi-tui@2026.8.9-2","@aws-sdk/nested-clients":"*","@csstools/color-helpers":"*","@csstools/css-tokenizer":"*","@mariozechner/clipboard":"*","@smithy/is-array-buffer":"*","call-bind-apply-helpers":"*","@asamuzakjp/dom-selector":"*","@aws-sdk/token-providers":"*","@aws/lambda-invoke-store":"*","@protobufjs/eventemitter":"*","@smithy/util-buffer-from":"*","@modelcontextprotocol/sdk":"1.30.0","@smithy/node-http-handler":"4.9.11","@aws-crypto/sha256-browser":"*","@csstools/css-color-parser":"*","@silvia-odwyer/photon-node":"0.3.4","@smithy/fetch-http-handler":"*","buffer-equal-constant-time":"*","@aws-sdk/util-locate-window":"*","@babel/helper-string-parser":"*","@code-yeongyu/senpi-codemode":"2026.8.9-2","@aws-sdk/middleware-websocket":"*","@earendil-works/pi-agent-core":"npm:@code-yeongyu/senpi-agent-core@2026.8.9-2","@anthropic-ai/claude-agent-sdk":"0.3.220","@asamuzakjp/generational-cache":"*","@aws-crypto/supports-web-crypto":"*","@aws-sdk/client-bedrock-runtime":"3.1095.0","@aws-sdk/middleware-eventstream":"*","@csstools/css-parser-algorithms":"*","@aws-sdk/credential-provider-env":"*","@aws-sdk/credential-provider-ini":"*","@aws-sdk/credential-provider-sso":"*","@smithy/credential-provider-imds":"*","is-potential-custom-element-name":"*","@aws-sdk/credential-provider-http":"*","@aws-sdk/credential-provider-node":"*","@aws-sdk/eventstream-handler-node":"*","@aws-sdk/credential-provider-login":"*","@aws-sdk/signature-v4-multi-region":"*","@babel/helper-validator-identifier":"*","@opentelemetry/semantic-conventions":"*","@aws-sdk/credential-provider-process":"*","@csstools/css-syntax-patches-for-csstree":"*","@aws-sdk/credential-provider-web-identity":"*"},"_hasShrinkwrap":false,"devDependencies":{"shx":"0.4.0","vitest":"4.1.10","@types/ms":"2.1.0","@types/ws":"8.18.1","typescript":"7.0.2","@types/node":"26.1.1","@types/jsdom":"28.0.3","@types/semver":"7.7.1","@types/turndown":"5.0.6","@types/picomatch":"4.0.3","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@anthropic-ai/claude-agent-sdk","@anthropic-ai/sdk","@asamuzakjp/css-color","@asamuzakjp/dom-selector","@asamuzakjp/generational-cache","@asamuzakjp/nwsapi","@aws-crypto/sha256-browser","@aws-crypto/sha256-js","@aws-crypto/supports-web-crypto","@aws-crypto/util","@aws-sdk/client-bedrock-runtime","@aws-sdk/core","@aws-sdk/credential-provider-env","@aws-sdk/credential-provider-http","@aws-sdk/credential-provider-ini","@aws-sdk/credential-provider-login","@aws-sdk/credential-provider-node","@aws-sdk/credential-provider-process","@aws-sdk/credential-provider-sso","@aws-sdk/credential-provider-web-identity","@aws-sdk/eventstream-handler-node","@aws-sdk/middleware-eventstream","@aws-sdk/middleware-websocket","@aws-sdk/nested-clients","@aws-sdk/signature-v4-multi-region","@aws-sdk/token-providers","@aws-sdk/types","@aws-sdk/util-locate-window","@aws-sdk/xml-builder","@aws/lambda-invoke-store","@babel/helper-string-parser","@babel/helper-validator-identifier","@babel/parser","@babel/runtime","@babel/types","@bramus/specificity","@code-yeongyu/senpi-codemode","@csstools/color-helpers","@csstools/css-calc","@csstools/css-color-parser","@csstools/css-parser-algorithms","@csstools/css-syntax-patches-for-csstree","@csstools/css-tokenizer","@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-pty","@earendil-works/pi-tui","@exodus/bytes","@google/genai","@hono/node-server","@mariozechner/clipboard","@mistralai/mistralai","@mixmark-io/domino","@modelcontextprotocol/sdk","@mozilla/readability","@opentelemetry/api","@opentelemetry/semantic-conventions","@protobufjs/aspromise","@protobufjs/base64","@protobufjs/codegen","@protobufjs/eventemitter","@protobufjs/fetch","@protobufjs/float","@protobufjs/path","@protobufjs/pool","@protobufjs/utf8","@silvia-odwyer/photon-node","@smithy/core","@smithy/credential-provider-imds","@smithy/fetch-http-handler","@smithy/is-array-buffer","@smithy/node-http-handler","@smithy/signature-v4","@smithy/types","@smithy/util-buffer-from","@smithy/util-utf8","@types/node","@xterm/headless","accepts","agent-base","ajv","ajv-formats","balanced-match","base64-js","bidi-js","bignumber.js","body-parser","bowser","brace-expansion","buffer-equal-constant-time","bytes","call-bind-apply-helpers","call-bound","chalk","content-disposition","content-type","cookie","cookie-signature","cors","cross-spawn","css-tree","data-uri-to-buffer","data-urls","debug","decimal.js","depd","diff","dunder-proto","ecdsa-sig-formatter","ee-first","encodeurl","entities","es-define-property","es-errors","es-object-atoms","escape-html","etag","eventsource","eventsource-parser","express","express-rate-limit","extend","fast-deep-equal","fast-uri","fetch-blob","finalhandler","formdata-polyfill","forwarded","fresh","function-bind","gaxios","gcp-metadata","get-east-asian-width","get-intrinsic","get-proto","glob","google-auth-library","google-logging-utils","gopd","graceful-fs","has-symbols","hasown","highlight.js","hono","hosted-git-info","html-encoding-sniffer","http-errors","http-proxy-agent","https-proxy-agent","iconv-lite","ignore","inherits","ip-address","ipaddr.js","is-potential-custom-element-name","is-promise","isexe","jiti","jose","jsdom","json-bigint","json-schema-to-ts","json-schema-traverse","json-schema-typed","jwa","jws","long","lru-cache","marked","math-intrinsics","mdn-data","media-typer","merge-descriptors","mime-db","mime-types","minimatch","minipass","ms","negotiator","node-domexception","node-fetch","object-assign","object-inspect","on-finished","once","openai","p-retry","parse5","parseurl","partial-json","path-key","path-scurry","path-to-regexp","picomatch","pkce-challenge","proper-lockfile","protobufjs","proxy-addr","proxy-from-env","punycode","qs","range-parser","raw-body","require-from-string","retry","router","safe-buffer","safer-buffer","saxes","semver","send","serve-static","setprototypeof","shebang-command","shebang-regex","side-channel","side-channel-list","side-channel-map","side-channel-weakmap","signal-exit","source-map-js","statuses","symbol-tree","tldts","tldts-core","toidentifier","tough-cookie","tr46","ts-algebra","tslib","turndown","type-is","typebox","undici","unpipe","vary","w3c-xmlserializer","web-streams-polyfill","webidl-conversions","whatwg-mimetype","whatwg-url","which","wrappy","ws","xml-name-validator","xmlchars","yaml","zod","zod-to-json-schema"],"optionalDependencies":{"@mariozechner/clipboard":"0.3.9","@mariozechner/clipboard-darwin-x64":"0.3.9","@mariozechner/clipboard-darwin-arm64":"0.3.9","@mariozechner/clipboard-linux-x64-gnu":"0.3.9","@mariozechner/clipboard-linux-x64-musl":"0.3.9","@mariozechner/clipboard-win32-x64-msvc":"0.3.9","@mariozechner/clipboard-linux-arm64-gnu":"0.3.9","@anthropic-ai/claude-agent-sdk-linux-x64":"0.3.220","@anthropic-ai/claude-agent-sdk-win32-x64":"0.3.220","@mariozechner/clipboard-darwin-universal":"0.3.9","@mariozechner/clipboard-linux-arm64-musl":"0.3.9","@mariozechner/clipboard-win32-arm64-msvc":"0.3.9","@anthropic-ai/claude-agent-sdk-darwin-x64":"0.3.220","@mariozechner/clipboard-linux-riscv64-gnu":"0.3.9","@anthropic-ai/claude-agent-sdk-linux-arm64":"0.3.220","@anthropic-ai/claude-agent-sdk-win32-arm64":"0.3.220","@anthropic-ai/claude-agent-sdk-darwin-arm64":"0.3.220","@anthropic-ai/claude-agent-sdk-linux-x64-musl":"0.3.220","@anthropic-ai/claude-agent-sdk-linux-arm64-musl":"0.3.220"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.8.9-2_1786284784123_0.8457231912844296","host":"s3://npm-registry-packages-npm-production"}},"2026.8.10":{"name":"@code-yeongyu/senpi","version":"2026.8.10","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.8.10","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"senpi":"dist/cli.js"},"dist":{"shasum":"265a18257d8b3b35866a5e4b6260bf460ad58509","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.8.10.tgz","fileCount":29194,"integrity":"sha512-jsuMSanzEWrCQH46p3+PGk4huxukU2zaqbvbMDfJskNtVxK0vL2uJI6bzUwJRSS38m5Gxre7+3QhoT97LymSTw==","signatures":[{"sig":"MEUCIC4jpupriPIK+6WuIXZJH94OJuqEhiFTz/1IEzc0Y7OdAiEA0zZ8+2HuCDsRaF1iy8lsoLgdqi9AK4la/W2aaUhTcCQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.8.10","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":177660289},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.js"},"./rpc-entry":{"import":"./dist/rpc-entry.js"}},"gitHead":"01b7a188c470808f92f750d56d8450510193da89","scripts":{"dev":"tsc -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsc -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js dist/rpc-entry.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/","build:binary":"npm --prefix ../tui run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm --prefix ../protocol run build && npm --prefix ../client run build && npm run build && node ../../scripts/prepare-bun-compile-assets.mjs && bun build --compile --compile-autoload-package-json --external=css-tree --no-compile-autoload-dotenv --minify --keep-names ./dist/bun/cli.js ./src/utils/image-resize-worker.ts ../../node_modules/jsdom/lib/jsdom/living/xhr/xhr-sync-worker.js --outfile dist/pi && npm run copy-binary-assets","qa:app-server":"node scripts/qa-app-server/run-all.mjs","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/export-html/ && shx cp -r docs dist/ && shx cp -r examples dist/ && shx mkdir -p dist/node_modules && shx cp -r ../../node_modules/css-tree ../../node_modules/mdn-data ../../node_modules/source-map-js dist/node_modules/ && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/ && shx mkdir -p dist/native/darwin dist/native/win32 && shx cp -r ../../packages/tui/native/darwin/prebuilds dist/native/darwin/ && shx cp -r ../../packages/tui/native/win32/prebuilds dist/native/win32/ && node ../../scripts/copy-pty-native.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ea548fc8-dac4-4dec-a439-6f4fa3870309"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.2"},"rimraf":"6.1.2","protobufjs":"7.6.5","@hono/node-server":"2.0.10"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.16.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ms":"*","qs":"*","ws":"8.21.1","ajv":"*","jwa":"*","jws":"*","zod":"4.4.3","cors":"*","depd":"*","diff":"9.0.0","etag":"*","glob":"13.0.6","gopd":"*","hono":"*","jiti":"2.7.0","jose":"*","long":"*","once":"*","send":"*","tr46":"*","vary":"*","yaml":"2.9.0","bytes":"*","chalk":"6.0.0","debug":"*","fresh":"*","isexe":"*","jsdom":"29.1.1","retry":"*","saxes":"*","tldts":"*","tslib":"*","which":"*","bowser":"*","cookie":"*","extend":"*","gaxios":"*","hasown":"*","ignore":"7.0.6","marked":"18.0.7","openai":"6.26.0","parse5":"*","router":"*","semver":"7.8.5","undici":"8.9.0","unpipe":"*","wrappy":"*","accepts":"*","bidi-js":"*","express":"*","mime-db":"*","p-retry":"*","type-is":"*","typebox":"1.3.8","css-tree":"*","ee-first":"*","entities":"*","fast-uri":"*","inherits":"*","mdn-data":"*","minipass":"*","parseurl":"*","path-key":"*","punycode":"*","raw-body":"*","statuses":"*","turndown":"7.2.4","xmlchars":"*","base64-js":"*","data-urls":"*","encodeurl":"*","es-errors":"*","forwarded":"*","get-proto":"*","ipaddr.js":"*","lru-cache":"*","minimatch":"10.2.5","picomatch":"4.0.5","agent-base":"*","call-bound":"*","decimal.js":"*","fetch-blob":"*","iconv-lite":"*","ip-address":"*","is-promise":"*","mime-types":"*","negotiator":"*","node-fetch":"*","protobufjs":"*","proxy-addr":"*","tldts-core":"*","ts-algebra":"*","whatwg-url":"*","@types/node":"*","ajv-formats":"*","body-parser":"*","cross-spawn":"7.0.6","escape-html":"*","eventsource":"*","graceful-fs":"*","has-symbols":"*","http-errors":"*","json-bigint":"*","media-typer":"*","on-finished":"*","path-scurry":"*","safe-buffer":"*","signal-exit":"*","symbol-tree":"*","@babel/types":"*","@smithy/core":"*","bignumber.js":"*","content-type":"*","dunder-proto":"*","finalhandler":"*","gcp-metadata":"*","highlight.js":"11.11.1","partial-json":"0.1.7","range-parser":"*","safer-buffer":"*","serve-static":"*","side-channel":"*","toidentifier":"*","tough-cookie":"*","@aws-sdk/core":"*","@babel/parser":"*","@exodus/bytes":"*","@google/genai":"*","@smithy/types":"4.16.1","function-bind":"*","get-intrinsic":"*","object-assign":"*","shebang-regex":"*","source-map-js":"*","@aws-sdk/types":"*","@babel/runtime":"*","balanced-match":"*","object-inspect":"*","path-to-regexp":"*","pkce-challenge":"*","proxy-from-env":"2.1.0","setprototypeof":"*","@xterm/headless":"*","brace-expansion":"*","es-object-atoms":"*","fast-deep-equal":"*","hosted-git-info":"10.1.1","math-intrinsics":"*","proper-lockfile":"4.1.2","shebang-command":"*","whatwg-mimetype":"*","@aws-crypto/util":"*","@protobufjs/path":"*","@protobufjs/pool":"*","@protobufjs/utf8":"*","cookie-signature":"*","http-proxy-agent":"9.1.0","side-channel-map":"*","@anthropic-ai/sdk":"0.91.1","@hono/node-server":"*","@protobufjs/fetch":"*","@protobufjs/float":"*","@smithy/util-utf8":"*","formdata-polyfill":"*","https-proxy-agent":"9.1.0","json-schema-to-ts":"*","json-schema-typed":"*","merge-descriptors":"*","node-domexception":"*","side-channel-list":"*","w3c-xmlserializer":"*","@asamuzakjp/nwsapi":"*","@csstools/css-calc":"*","@mixmark-io/domino":"*","@opentelemetry/api":"1.9.1","@protobufjs/base64":"*","data-uri-to-buffer":"*","es-define-property":"*","eventsource-parser":"*","express-rate-limit":"*","webidl-conversions":"*","xml-name-validator":"*","zod-to-json-schema":"*","@bramus/specificity":"*","@protobufjs/codegen":"*","content-disposition":"*","ecdsa-sig-formatter":"*","google-auth-library":"*","require-from-string":"*","@aws-sdk/xml-builder":"*","@mistralai/mistralai":"2.5.0","@mozilla/readability":"0.6.0","@smithy/signature-v4":"*","get-east-asian-width":"1.6.0","google-logging-utils":"*","json-schema-traverse":"*","side-channel-weakmap":"*","web-streams-polyfill":"*","@asamuzakjp/css-color":"*","@aws-crypto/sha256-js":"*","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.8.10","@protobufjs/aspromise":"*","html-encoding-sniffer":"*","@earendil-works/pi-pty":"npm:@code-yeongyu/senpi-pty@2026.8.10","@earendil-works/pi-tui":"npm:@code-yeongyu/senpi-tui@2026.8.10","@aws-sdk/nested-clients":"*","@csstools/color-helpers":"*","@csstools/css-tokenizer":"*","@mariozechner/clipboard":"*","@smithy/is-array-buffer":"*","call-bind-apply-helpers":"*","@asamuzakjp/dom-selector":"*","@aws-sdk/token-providers":"*","@aws/lambda-invoke-store":"*","@protobufjs/eventemitter":"*","@smithy/util-buffer-from":"*","@modelcontextprotocol/sdk":"1.30.0","@smithy/node-http-handler":"4.9.11","@aws-crypto/sha256-browser":"*","@csstools/css-color-parser":"*","@silvia-odwyer/photon-node":"0.3.4","@smithy/fetch-http-handler":"*","buffer-equal-constant-time":"*","@aws-sdk/util-locate-window":"*","@babel/helper-string-parser":"*","@code-yeongyu/senpi-codemode":"2026.8.10","@aws-sdk/middleware-websocket":"*","@earendil-works/pi-agent-core":"npm:@code-yeongyu/senpi-agent-core@2026.8.10","@anthropic-ai/claude-agent-sdk":"0.3.220","@asamuzakjp/generational-cache":"*","@aws-crypto/supports-web-crypto":"*","@aws-sdk/client-bedrock-runtime":"3.1095.0","@aws-sdk/middleware-eventstream":"*","@csstools/css-parser-algorithms":"*","@aws-sdk/credential-provider-env":"*","@aws-sdk/credential-provider-ini":"*","@aws-sdk/credential-provider-sso":"*","@smithy/credential-provider-imds":"*","is-potential-custom-element-name":"*","@aws-sdk/credential-provider-http":"*","@aws-sdk/credential-provider-node":"*","@aws-sdk/eventstream-handler-node":"*","@aws-sdk/credential-provider-login":"*","@aws-sdk/signature-v4-multi-region":"*","@babel/helper-validator-identifier":"*","@opentelemetry/semantic-conventions":"*","@aws-sdk/credential-provider-process":"*","@csstools/css-syntax-patches-for-csstree":"*","@aws-sdk/credential-provider-web-identity":"*"},"_hasShrinkwrap":false,"devDependencies":{"shx":"0.4.0","vitest":"4.1.10","@types/ms":"2.1.0","@types/ws":"8.18.1","typescript":"7.0.2","@types/node":"26.1.1","@types/jsdom":"28.0.3","@types/semver":"7.7.1","@types/turndown":"5.0.6","@types/picomatch":"4.0.3","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@anthropic-ai/claude-agent-sdk","@anthropic-ai/sdk","@asamuzakjp/css-color","@asamuzakjp/dom-selector","@asamuzakjp/generational-cache","@asamuzakjp/nwsapi","@aws-crypto/sha256-browser","@aws-crypto/sha256-js","@aws-crypto/supports-web-crypto","@aws-crypto/util","@aws-sdk/client-bedrock-runtime","@aws-sdk/core","@aws-sdk/credential-provider-env","@aws-sdk/credential-provider-http","@aws-sdk/credential-provider-ini","@aws-sdk/credential-provider-login","@aws-sdk/credential-provider-node","@aws-sdk/credential-provider-process","@aws-sdk/credential-provider-sso","@aws-sdk/credential-provider-web-identity","@aws-sdk/eventstream-handler-node","@aws-sdk/middleware-eventstream","@aws-sdk/middleware-websocket","@aws-sdk/nested-clients","@aws-sdk/signature-v4-multi-region","@aws-sdk/token-providers","@aws-sdk/types","@aws-sdk/util-locate-window","@aws-sdk/xml-builder","@aws/lambda-invoke-store","@babel/helper-string-parser","@babel/helper-validator-identifier","@babel/parser","@babel/runtime","@babel/types","@bramus/specificity","@code-yeongyu/senpi-codemode","@csstools/color-helpers","@csstools/css-calc","@csstools/css-color-parser","@csstools/css-parser-algorithms","@csstools/css-syntax-patches-for-csstree","@csstools/css-tokenizer","@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-pty","@earendil-works/pi-tui","@exodus/bytes","@google/genai","@hono/node-server","@mariozechner/clipboard","@mistralai/mistralai","@mixmark-io/domino","@modelcontextprotocol/sdk","@mozilla/readability","@opentelemetry/api","@opentelemetry/semantic-conventions","@protobufjs/aspromise","@protobufjs/base64","@protobufjs/codegen","@protobufjs/eventemitter","@protobufjs/fetch","@protobufjs/float","@protobufjs/path","@protobufjs/pool","@protobufjs/utf8","@silvia-odwyer/photon-node","@smithy/core","@smithy/credential-provider-imds","@smithy/fetch-http-handler","@smithy/is-array-buffer","@smithy/node-http-handler","@smithy/signature-v4","@smithy/types","@smithy/util-buffer-from","@smithy/util-utf8","@types/node","@xterm/headless","accepts","agent-base","ajv","ajv-formats","balanced-match","base64-js","bidi-js","bignumber.js","body-parser","bowser","brace-expansion","buffer-equal-constant-time","bytes","call-bind-apply-helpers","call-bound","chalk","content-disposition","content-type","cookie","cookie-signature","cors","cross-spawn","css-tree","data-uri-to-buffer","data-urls","debug","decimal.js","depd","diff","dunder-proto","ecdsa-sig-formatter","ee-first","encodeurl","entities","es-define-property","es-errors","es-object-atoms","escape-html","etag","eventsource","eventsource-parser","express","express-rate-limit","extend","fast-deep-equal","fast-uri","fetch-blob","finalhandler","formdata-polyfill","forwarded","fresh","function-bind","gaxios","gcp-metadata","get-east-asian-width","get-intrinsic","get-proto","glob","google-auth-library","google-logging-utils","gopd","graceful-fs","has-symbols","hasown","highlight.js","hono","hosted-git-info","html-encoding-sniffer","http-errors","http-proxy-agent","https-proxy-agent","iconv-lite","ignore","inherits","ip-address","ipaddr.js","is-potential-custom-element-name","is-promise","isexe","jiti","jose","jsdom","json-bigint","json-schema-to-ts","json-schema-traverse","json-schema-typed","jwa","jws","long","lru-cache","marked","math-intrinsics","mdn-data","media-typer","merge-descriptors","mime-db","mime-types","minimatch","minipass","ms","negotiator","node-domexception","node-fetch","object-assign","object-inspect","on-finished","once","openai","p-retry","parse5","parseurl","partial-json","path-key","path-scurry","path-to-regexp","picomatch","pkce-challenge","proper-lockfile","protobufjs","proxy-addr","proxy-from-env","punycode","qs","range-parser","raw-body","require-from-string","retry","router","safe-buffer","safer-buffer","saxes","semver","send","serve-static","setprototypeof","shebang-command","shebang-regex","side-channel","side-channel-list","side-channel-map","side-channel-weakmap","signal-exit","source-map-js","statuses","symbol-tree","tldts","tldts-core","toidentifier","tough-cookie","tr46","ts-algebra","tslib","turndown","type-is","typebox","undici","unpipe","vary","w3c-xmlserializer","web-streams-polyfill","webidl-conversions","whatwg-mimetype","whatwg-url","which","wrappy","ws","xml-name-validator","xmlchars","yaml","zod","zod-to-json-schema"],"optionalDependencies":{"@mariozechner/clipboard":"0.3.9","@mariozechner/clipboard-darwin-x64":"0.3.9","@mariozechner/clipboard-darwin-arm64":"0.3.9","@mariozechner/clipboard-linux-x64-gnu":"0.3.9","@mariozechner/clipboard-linux-x64-musl":"0.3.9","@mariozechner/clipboard-win32-x64-msvc":"0.3.9","@mariozechner/clipboard-linux-arm64-gnu":"0.3.9","@anthropic-ai/claude-agent-sdk-linux-x64":"0.3.220","@anthropic-ai/claude-agent-sdk-win32-x64":"0.3.220","@mariozechner/clipboard-darwin-universal":"0.3.9","@mariozechner/clipboard-linux-arm64-musl":"0.3.9","@mariozechner/clipboard-win32-arm64-msvc":"0.3.9","@anthropic-ai/claude-agent-sdk-darwin-x64":"0.3.220","@mariozechner/clipboard-linux-riscv64-gnu":"0.3.9","@anthropic-ai/claude-agent-sdk-linux-arm64":"0.3.220","@anthropic-ai/claude-agent-sdk-win32-arm64":"0.3.220","@anthropic-ai/claude-agent-sdk-darwin-arm64":"0.3.220","@anthropic-ai/claude-agent-sdk-linux-x64-musl":"0.3.220","@anthropic-ai/claude-agent-sdk-linux-arm64-musl":"0.3.220"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.8.10_1786330674797_0.6595748875444516","host":"s3://npm-registry-packages-npm-production"}},"2026.8.11":{"name":"@code-yeongyu/senpi","version":"2026.8.11","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.8.11","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"senpi":"dist/cli.js"},"dist":{"shasum":"fcb5ea521ec3090c1567508f6e4c123e3cae3227","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.8.11.tgz","fileCount":29182,"integrity":"sha512-Pegw84WbXmQ8V2JfTMbJm3hkm79mdfFO+oqg9EwcKrysJo0GdPmbEL2rPTPlP9b/RfPvg+8agQCZQHs77CJRfw==","signatures":[{"sig":"MEYCIQDVANwlN+q14IwHx+W62LtEFTJpcYb7qfrqIMcHX+1YtQIhAND00zhCZrW/+t4O9rq+LmKr5FKvC5msgZTc/I4+OBOv","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.8.11","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":177634845},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.js"},"./rpc-entry":{"import":"./dist/rpc-entry.js"}},"gitHead":"9938789c0737bf2906a2405f5342f5501dbb5a89","scripts":{"dev":"tsc -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsc -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js dist/rpc-entry.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/","build:binary":"npm --prefix ../tui run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm --prefix ../protocol run build && npm --prefix ../client run build && npm run build && node ../../scripts/prepare-bun-compile-assets.mjs && bun build --compile --compile-autoload-package-json --external=css-tree --no-compile-autoload-dotenv --minify --keep-names ./dist/bun/cli.js ./src/utils/image-resize-worker.ts ../../node_modules/jsdom/lib/jsdom/living/xhr/xhr-sync-worker.js --outfile dist/pi && npm run copy-binary-assets","qa:app-server":"node scripts/qa-app-server/run-all.mjs","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/export-html/ && shx cp -r docs dist/ && shx cp -r examples dist/ && shx mkdir -p dist/node_modules && shx cp -r ../../node_modules/css-tree ../../node_modules/mdn-data ../../node_modules/source-map-js dist/node_modules/ && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/ && shx mkdir -p dist/native/darwin dist/native/win32 && shx cp -r ../../packages/tui/native/darwin/prebuilds dist/native/darwin/ && shx cp -r ../../packages/tui/native/win32/prebuilds dist/native/win32/ && node ../../scripts/copy-pty-native.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ea548fc8-dac4-4dec-a439-6f4fa3870309"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.2"},"rimraf":"6.1.2","protobufjs":"7.6.5","@hono/node-server":"2.0.10"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.16.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ms":"*","qs":"*","ws":"8.21.1","ajv":"*","jwa":"*","jws":"*","zod":"4.4.3","cors":"*","depd":"*","diff":"9.0.0","etag":"*","glob":"13.0.6","gopd":"*","hono":"*","jiti":"2.7.0","jose":"*","long":"*","once":"*","send":"*","tr46":"*","vary":"*","yaml":"2.9.0","bytes":"*","chalk":"6.0.0","debug":"*","fresh":"*","isexe":"*","jsdom":"29.1.1","retry":"*","saxes":"*","tldts":"*","tslib":"*","which":"*","bowser":"*","cookie":"*","extend":"*","gaxios":"*","hasown":"*","ignore":"7.0.6","marked":"18.0.7","openai":"6.26.0","parse5":"*","router":"*","semver":"7.8.5","undici":"8.9.0","unpipe":"*","wrappy":"*","accepts":"*","bidi-js":"*","express":"*","mime-db":"*","p-retry":"*","type-is":"*","typebox":"1.3.8","css-tree":"*","ee-first":"*","entities":"*","fast-uri":"*","inherits":"*","mdn-data":"*","minipass":"*","parseurl":"*","path-key":"*","punycode":"*","raw-body":"*","statuses":"*","turndown":"7.2.4","xmlchars":"*","base64-js":"*","data-urls":"*","encodeurl":"*","es-errors":"*","forwarded":"*","get-proto":"*","ipaddr.js":"*","lru-cache":"*","minimatch":"10.2.5","picomatch":"4.0.5","agent-base":"*","call-bound":"*","decimal.js":"*","fetch-blob":"*","iconv-lite":"*","ip-address":"*","is-promise":"*","mime-types":"*","negotiator":"*","node-fetch":"*","protobufjs":"*","proxy-addr":"*","tldts-core":"*","ts-algebra":"*","whatwg-url":"*","@types/node":"*","ajv-formats":"*","body-parser":"*","cross-spawn":"7.0.6","escape-html":"*","eventsource":"*","graceful-fs":"*","has-symbols":"*","http-errors":"*","json-bigint":"*","media-typer":"*","on-finished":"*","path-scurry":"*","safe-buffer":"*","signal-exit":"*","symbol-tree":"*","@babel/types":"*","@smithy/core":"*","bignumber.js":"*","content-type":"*","dunder-proto":"*","finalhandler":"*","gcp-metadata":"*","highlight.js":"11.11.1","partial-json":"0.1.7","range-parser":"*","safer-buffer":"*","serve-static":"*","side-channel":"*","toidentifier":"*","tough-cookie":"*","@aws-sdk/core":"*","@babel/parser":"*","@exodus/bytes":"*","@google/genai":"*","@smithy/types":"4.16.1","function-bind":"*","get-intrinsic":"*","object-assign":"*","shebang-regex":"*","source-map-js":"*","@aws-sdk/types":"*","@babel/runtime":"*","balanced-match":"*","object-inspect":"*","path-to-regexp":"*","pkce-challenge":"*","proxy-from-env":"2.1.0","setprototypeof":"*","@xterm/headless":"*","brace-expansion":"*","es-object-atoms":"*","fast-deep-equal":"*","hosted-git-info":"10.1.1","math-intrinsics":"*","proper-lockfile":"4.1.2","shebang-command":"*","whatwg-mimetype":"*","@aws-crypto/util":"*","@protobufjs/path":"*","@protobufjs/pool":"*","@protobufjs/utf8":"*","cookie-signature":"*","http-proxy-agent":"9.1.0","side-channel-map":"*","@anthropic-ai/sdk":"0.91.1","@hono/node-server":"*","@protobufjs/fetch":"*","@protobufjs/float":"*","@smithy/util-utf8":"*","formdata-polyfill":"*","https-proxy-agent":"9.1.0","json-schema-to-ts":"*","json-schema-typed":"*","merge-descriptors":"*","node-domexception":"*","side-channel-list":"*","w3c-xmlserializer":"*","@asamuzakjp/nwsapi":"*","@csstools/css-calc":"*","@mixmark-io/domino":"*","@opentelemetry/api":"1.9.1","@protobufjs/base64":"*","data-uri-to-buffer":"*","es-define-property":"*","eventsource-parser":"*","express-rate-limit":"*","webidl-conversions":"*","xml-name-validator":"*","zod-to-json-schema":"*","@bramus/specificity":"*","@protobufjs/codegen":"*","content-disposition":"*","ecdsa-sig-formatter":"*","google-auth-library":"*","require-from-string":"*","@aws-sdk/xml-builder":"*","@mistralai/mistralai":"2.5.0","@mozilla/readability":"0.6.0","@smithy/signature-v4":"*","get-east-asian-width":"1.6.0","google-logging-utils":"*","json-schema-traverse":"*","side-channel-weakmap":"*","web-streams-polyfill":"*","@asamuzakjp/css-color":"*","@aws-crypto/sha256-js":"*","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.8.11","@protobufjs/aspromise":"*","html-encoding-sniffer":"*","@earendil-works/pi-pty":"npm:@code-yeongyu/senpi-pty@2026.8.11","@earendil-works/pi-tui":"npm:@code-yeongyu/senpi-tui@2026.8.11","@aws-sdk/nested-clients":"*","@csstools/color-helpers":"*","@csstools/css-tokenizer":"*","@mariozechner/clipboard":"*","@smithy/is-array-buffer":"*","call-bind-apply-helpers":"*","@asamuzakjp/dom-selector":"*","@aws-sdk/token-providers":"*","@aws/lambda-invoke-store":"*","@protobufjs/eventemitter":"*","@smithy/util-buffer-from":"*","@modelcontextprotocol/sdk":"1.30.0","@smithy/node-http-handler":"4.9.11","@aws-crypto/sha256-browser":"*","@csstools/css-color-parser":"*","@silvia-odwyer/photon-node":"0.3.4","@smithy/fetch-http-handler":"*","buffer-equal-constant-time":"*","@aws-sdk/util-locate-window":"*","@babel/helper-string-parser":"*","@code-yeongyu/senpi-codemode":"2026.8.11","@aws-sdk/middleware-websocket":"*","@earendil-works/pi-agent-core":"npm:@code-yeongyu/senpi-agent-core@2026.8.11","@anthropic-ai/claude-agent-sdk":"0.3.220","@asamuzakjp/generational-cache":"*","@aws-crypto/supports-web-crypto":"*","@aws-sdk/client-bedrock-runtime":"3.1095.0","@aws-sdk/middleware-eventstream":"*","@csstools/css-parser-algorithms":"*","@aws-sdk/credential-provider-env":"*","@aws-sdk/credential-provider-ini":"*","@aws-sdk/credential-provider-sso":"*","@smithy/credential-provider-imds":"*","is-potential-custom-element-name":"*","@aws-sdk/credential-provider-http":"*","@aws-sdk/credential-provider-node":"*","@aws-sdk/eventstream-handler-node":"*","@aws-sdk/credential-provider-login":"*","@aws-sdk/signature-v4-multi-region":"*","@babel/helper-validator-identifier":"*","@opentelemetry/semantic-conventions":"*","@aws-sdk/credential-provider-process":"*","@csstools/css-syntax-patches-for-csstree":"*","@aws-sdk/credential-provider-web-identity":"*"},"_hasShrinkwrap":false,"devDependencies":{"shx":"0.4.0","vitest":"4.1.10","@types/ms":"2.1.0","@types/ws":"8.18.1","typescript":"7.0.2","@types/node":"26.1.1","@types/jsdom":"28.0.3","@types/semver":"7.7.1","@types/turndown":"5.0.6","@types/picomatch":"4.0.3","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@anthropic-ai/claude-agent-sdk","@anthropic-ai/sdk","@asamuzakjp/css-color","@asamuzakjp/dom-selector","@asamuzakjp/generational-cache","@asamuzakjp/nwsapi","@aws-crypto/sha256-browser","@aws-crypto/sha256-js","@aws-crypto/supports-web-crypto","@aws-crypto/util","@aws-sdk/client-bedrock-runtime","@aws-sdk/core","@aws-sdk/credential-provider-env","@aws-sdk/credential-provider-http","@aws-sdk/credential-provider-ini","@aws-sdk/credential-provider-login","@aws-sdk/credential-provider-node","@aws-sdk/credential-provider-process","@aws-sdk/credential-provider-sso","@aws-sdk/credential-provider-web-identity","@aws-sdk/eventstream-handler-node","@aws-sdk/middleware-eventstream","@aws-sdk/middleware-websocket","@aws-sdk/nested-clients","@aws-sdk/signature-v4-multi-region","@aws-sdk/token-providers","@aws-sdk/types","@aws-sdk/util-locate-window","@aws-sdk/xml-builder","@aws/lambda-invoke-store","@babel/helper-string-parser","@babel/helper-validator-identifier","@babel/parser","@babel/runtime","@babel/types","@bramus/specificity","@code-yeongyu/senpi-codemode","@csstools/color-helpers","@csstools/css-calc","@csstools/css-color-parser","@csstools/css-parser-algorithms","@csstools/css-syntax-patches-for-csstree","@csstools/css-tokenizer","@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-pty","@earendil-works/pi-tui","@exodus/bytes","@google/genai","@hono/node-server","@mariozechner/clipboard","@mistralai/mistralai","@mixmark-io/domino","@modelcontextprotocol/sdk","@mozilla/readability","@opentelemetry/api","@opentelemetry/semantic-conventions","@protobufjs/aspromise","@protobufjs/base64","@protobufjs/codegen","@protobufjs/eventemitter","@protobufjs/fetch","@protobufjs/float","@protobufjs/path","@protobufjs/pool","@protobufjs/utf8","@silvia-odwyer/photon-node","@smithy/core","@smithy/credential-provider-imds","@smithy/fetch-http-handler","@smithy/is-array-buffer","@smithy/node-http-handler","@smithy/signature-v4","@smithy/types","@smithy/util-buffer-from","@smithy/util-utf8","@types/node","@xterm/headless","accepts","agent-base","ajv","ajv-formats","balanced-match","base64-js","bidi-js","bignumber.js","body-parser","bowser","brace-expansion","buffer-equal-constant-time","bytes","call-bind-apply-helpers","call-bound","chalk","content-disposition","content-type","cookie","cookie-signature","cors","cross-spawn","css-tree","data-uri-to-buffer","data-urls","debug","decimal.js","depd","diff","dunder-proto","ecdsa-sig-formatter","ee-first","encodeurl","entities","es-define-property","es-errors","es-object-atoms","escape-html","etag","eventsource","eventsource-parser","express","express-rate-limit","extend","fast-deep-equal","fast-uri","fetch-blob","finalhandler","formdata-polyfill","forwarded","fresh","function-bind","gaxios","gcp-metadata","get-east-asian-width","get-intrinsic","get-proto","glob","google-auth-library","google-logging-utils","gopd","graceful-fs","has-symbols","hasown","highlight.js","hono","hosted-git-info","html-encoding-sniffer","http-errors","http-proxy-agent","https-proxy-agent","iconv-lite","ignore","inherits","ip-address","ipaddr.js","is-potential-custom-element-name","is-promise","isexe","jiti","jose","jsdom","json-bigint","json-schema-to-ts","json-schema-traverse","json-schema-typed","jwa","jws","long","lru-cache","marked","math-intrinsics","mdn-data","media-typer","merge-descriptors","mime-db","mime-types","minimatch","minipass","ms","negotiator","node-domexception","node-fetch","object-assign","object-inspect","on-finished","once","openai","p-retry","parse5","parseurl","partial-json","path-key","path-scurry","path-to-regexp","picomatch","pkce-challenge","proper-lockfile","protobufjs","proxy-addr","proxy-from-env","punycode","qs","range-parser","raw-body","require-from-string","retry","router","safe-buffer","safer-buffer","saxes","semver","send","serve-static","setprototypeof","shebang-command","shebang-regex","side-channel","side-channel-list","side-channel-map","side-channel-weakmap","signal-exit","source-map-js","statuses","symbol-tree","tldts","tldts-core","toidentifier","tough-cookie","tr46","ts-algebra","tslib","turndown","type-is","typebox","undici","unpipe","vary","w3c-xmlserializer","web-streams-polyfill","webidl-conversions","whatwg-mimetype","whatwg-url","which","wrappy","ws","xml-name-validator","xmlchars","yaml","zod","zod-to-json-schema"],"optionalDependencies":{"@mariozechner/clipboard":"0.3.9","@mariozechner/clipboard-darwin-x64":"0.3.9","@mariozechner/clipboard-darwin-arm64":"0.3.9","@mariozechner/clipboard-linux-x64-gnu":"0.3.9","@mariozechner/clipboard-linux-x64-musl":"0.3.9","@mariozechner/clipboard-win32-x64-msvc":"0.3.9","@mariozechner/clipboard-linux-arm64-gnu":"0.3.9","@anthropic-ai/claude-agent-sdk-linux-x64":"0.3.220","@anthropic-ai/claude-agent-sdk-win32-x64":"0.3.220","@mariozechner/clipboard-darwin-universal":"0.3.9","@mariozechner/clipboard-linux-arm64-musl":"0.3.9","@mariozechner/clipboard-win32-arm64-msvc":"0.3.9","@anthropic-ai/claude-agent-sdk-darwin-x64":"0.3.220","@mariozechner/clipboard-linux-riscv64-gnu":"0.3.9","@anthropic-ai/claude-agent-sdk-linux-arm64":"0.3.220","@anthropic-ai/claude-agent-sdk-win32-arm64":"0.3.220","@anthropic-ai/claude-agent-sdk-darwin-arm64":"0.3.220","@anthropic-ai/claude-agent-sdk-linux-x64-musl":"0.3.220","@anthropic-ai/claude-agent-sdk-linux-arm64-musl":"0.3.220"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.8.11_1786333298105_0.046262426548822955","host":"s3://npm-registry-packages-npm-production"}},"2026.8.11-2":{"name":"@code-yeongyu/senpi","version":"2026.8.11-2","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.8.11-2","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"senpi":"dist/cli.js"},"dist":{"shasum":"24d7286986141b426f4cbed4f0ade308fd296a27","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.8.11-2.tgz","fileCount":29198,"integrity":"sha512-0khiNObDen+zKsNk30G2r2/5G3sbkQGtnwCa+H5+ekXtaX8XtPVM9UQ96A9MGCdy5ez1ejzpFtUIGLzc5B4mTQ==","signatures":[{"sig":"MEUCIHjSBOWV+JcCulEns3mGFvHWTNHGFvXqmnltMjuIzztkAiEAjiYy5kEr3bHi+6jlOsovYqQ7Ko2PHCIf52R0XQJUehU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.8.11-2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":177706764},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.js"},"./rpc-entry":{"import":"./dist/rpc-entry.js"}},"gitHead":"d428f17900af09ec6f24c76e8e42af6b36f5fa39","scripts":{"dev":"tsc -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsc -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js dist/rpc-entry.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/","build:binary":"npm --prefix ../tui run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm --prefix ../protocol run build && npm --prefix ../client run build && npm run build && node ../../scripts/prepare-bun-compile-assets.mjs && bun build --compile --compile-autoload-package-json --external=css-tree --no-compile-autoload-dotenv --minify --keep-names ./dist/bun/cli.js ./src/utils/image-resize-worker.ts ../../node_modules/jsdom/lib/jsdom/living/xhr/xhr-sync-worker.js --outfile dist/pi && npm run copy-binary-assets","qa:app-server":"node scripts/qa-app-server/run-all.mjs","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/export-html/ && shx cp -r docs dist/ && shx cp -r examples dist/ && shx mkdir -p dist/node_modules && shx cp -r ../../node_modules/css-tree ../../node_modules/mdn-data ../../node_modules/source-map-js dist/node_modules/ && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/ && shx mkdir -p dist/native/darwin dist/native/win32 && shx cp -r ../../packages/tui/native/darwin/prebuilds dist/native/darwin/ && shx cp -r ../../packages/tui/native/win32/prebuilds dist/native/win32/ && node ../../scripts/copy-pty-native.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ea548fc8-dac4-4dec-a439-6f4fa3870309"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.2"},"rimraf":"6.1.2","protobufjs":"7.6.5","@hono/node-server":"2.0.10"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.16.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ms":"*","qs":"*","ws":"8.21.1","ajv":"*","jwa":"*","jws":"*","zod":"4.4.3","cors":"*","depd":"*","diff":"9.0.0","etag":"*","glob":"13.0.6","gopd":"*","hono":"*","jiti":"2.7.0","jose":"*","long":"*","once":"*","send":"*","tr46":"*","vary":"*","yaml":"2.9.0","bytes":"*","chalk":"6.0.0","debug":"*","fresh":"*","isexe":"*","jsdom":"29.1.1","retry":"*","saxes":"*","tldts":"*","tslib":"*","which":"*","bowser":"*","cookie":"*","extend":"*","gaxios":"*","hasown":"*","ignore":"7.0.6","marked":"18.0.7","openai":"6.26.0","parse5":"*","router":"*","semver":"7.8.5","undici":"8.9.0","unpipe":"*","wrappy":"*","accepts":"*","bidi-js":"*","express":"*","mime-db":"*","p-retry":"*","type-is":"*","typebox":"1.3.8","css-tree":"*","ee-first":"*","entities":"*","fast-uri":"*","inherits":"*","mdn-data":"*","minipass":"*","parseurl":"*","path-key":"*","punycode":"*","raw-body":"*","statuses":"*","turndown":"7.2.4","xmlchars":"*","base64-js":"*","data-urls":"*","encodeurl":"*","es-errors":"*","forwarded":"*","get-proto":"*","ipaddr.js":"*","lru-cache":"*","minimatch":"10.2.5","picomatch":"4.0.5","agent-base":"*","call-bound":"*","decimal.js":"*","fetch-blob":"*","iconv-lite":"*","ip-address":"*","is-promise":"*","mime-types":"*","negotiator":"*","node-fetch":"*","protobufjs":"*","proxy-addr":"*","tldts-core":"*","ts-algebra":"*","whatwg-url":"*","@types/node":"*","ajv-formats":"*","body-parser":"*","cross-spawn":"7.0.6","escape-html":"*","eventsource":"*","graceful-fs":"*","has-symbols":"*","http-errors":"*","json-bigint":"*","media-typer":"*","on-finished":"*","path-scurry":"*","safe-buffer":"*","signal-exit":"*","symbol-tree":"*","@babel/types":"*","@smithy/core":"*","bignumber.js":"*","content-type":"*","dunder-proto":"*","finalhandler":"*","gcp-metadata":"*","highlight.js":"11.11.1","partial-json":"0.1.7","range-parser":"*","safer-buffer":"*","serve-static":"*","side-channel":"*","toidentifier":"*","tough-cookie":"*","@aws-sdk/core":"*","@babel/parser":"*","@exodus/bytes":"*","@google/genai":"*","@smithy/types":"4.16.1","function-bind":"*","get-intrinsic":"*","object-assign":"*","shebang-regex":"*","source-map-js":"*","@aws-sdk/types":"*","@babel/runtime":"*","balanced-match":"*","object-inspect":"*","path-to-regexp":"*","pkce-challenge":"*","proxy-from-env":"2.1.0","setprototypeof":"*","@xterm/headless":"*","brace-expansion":"*","es-object-atoms":"*","fast-deep-equal":"*","hosted-git-info":"10.1.1","math-intrinsics":"*","proper-lockfile":"4.1.2","shebang-command":"*","whatwg-mimetype":"*","@aws-crypto/util":"*","@protobufjs/path":"*","@protobufjs/pool":"*","@protobufjs/utf8":"*","cookie-signature":"*","http-proxy-agent":"9.1.0","side-channel-map":"*","@anthropic-ai/sdk":"0.91.1","@hono/node-server":"*","@protobufjs/fetch":"*","@protobufjs/float":"*","@smithy/util-utf8":"*","formdata-polyfill":"*","https-proxy-agent":"9.1.0","json-schema-to-ts":"*","json-schema-typed":"*","merge-descriptors":"*","node-domexception":"*","side-channel-list":"*","w3c-xmlserializer":"*","@asamuzakjp/nwsapi":"*","@csstools/css-calc":"*","@mixmark-io/domino":"*","@opentelemetry/api":"1.9.1","@protobufjs/base64":"*","data-uri-to-buffer":"*","es-define-property":"*","eventsource-parser":"*","express-rate-limit":"*","webidl-conversions":"*","xml-name-validator":"*","zod-to-json-schema":"*","@bramus/specificity":"*","@protobufjs/codegen":"*","content-disposition":"*","ecdsa-sig-formatter":"*","google-auth-library":"*","require-from-string":"*","@aws-sdk/xml-builder":"*","@mistralai/mistralai":"2.5.0","@mozilla/readability":"0.6.0","@smithy/signature-v4":"*","get-east-asian-width":"1.6.0","google-logging-utils":"*","json-schema-traverse":"*","side-channel-weakmap":"*","web-streams-polyfill":"*","@asamuzakjp/css-color":"*","@aws-crypto/sha256-js":"*","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.8.11-2","@protobufjs/aspromise":"*","html-encoding-sniffer":"*","@earendil-works/pi-pty":"npm:@code-yeongyu/senpi-pty@2026.8.11-2","@earendil-works/pi-tui":"npm:@code-yeongyu/senpi-tui@2026.8.11-2","@aws-sdk/nested-clients":"*","@csstools/color-helpers":"*","@csstools/css-tokenizer":"*","@mariozechner/clipboard":"*","@smithy/is-array-buffer":"*","call-bind-apply-helpers":"*","@asamuzakjp/dom-selector":"*","@aws-sdk/token-providers":"*","@aws/lambda-invoke-store":"*","@protobufjs/eventemitter":"*","@smithy/util-buffer-from":"*","@modelcontextprotocol/sdk":"1.30.0","@smithy/node-http-handler":"4.9.11","@aws-crypto/sha256-browser":"*","@csstools/css-color-parser":"*","@silvia-odwyer/photon-node":"0.3.4","@smithy/fetch-http-handler":"*","buffer-equal-constant-time":"*","@aws-sdk/util-locate-window":"*","@babel/helper-string-parser":"*","@code-yeongyu/senpi-codemode":"2026.8.11-2","@aws-sdk/middleware-websocket":"*","@earendil-works/pi-agent-core":"npm:@code-yeongyu/senpi-agent-core@2026.8.11-2","@anthropic-ai/claude-agent-sdk":"0.3.220","@asamuzakjp/generational-cache":"*","@aws-crypto/supports-web-crypto":"*","@aws-sdk/client-bedrock-runtime":"3.1095.0","@aws-sdk/middleware-eventstream":"*","@csstools/css-parser-algorithms":"*","@aws-sdk/credential-provider-env":"*","@aws-sdk/credential-provider-ini":"*","@aws-sdk/credential-provider-sso":"*","@smithy/credential-provider-imds":"*","is-potential-custom-element-name":"*","@aws-sdk/credential-provider-http":"*","@aws-sdk/credential-provider-node":"*","@aws-sdk/eventstream-handler-node":"*","@aws-sdk/credential-provider-login":"*","@aws-sdk/signature-v4-multi-region":"*","@babel/helper-validator-identifier":"*","@opentelemetry/semantic-conventions":"*","@aws-sdk/credential-provider-process":"*","@csstools/css-syntax-patches-for-csstree":"*","@aws-sdk/credential-provider-web-identity":"*"},"_hasShrinkwrap":false,"devDependencies":{"shx":"0.4.0","vitest":"4.1.10","@types/ms":"2.1.0","@types/ws":"8.18.1","typescript":"7.0.2","@types/node":"26.1.1","@types/jsdom":"28.0.3","@types/semver":"7.7.1","@types/turndown":"5.0.6","@types/picomatch":"4.0.3","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@anthropic-ai/claude-agent-sdk","@anthropic-ai/sdk","@asamuzakjp/css-color","@asamuzakjp/dom-selector","@asamuzakjp/generational-cache","@asamuzakjp/nwsapi","@aws-crypto/sha256-browser","@aws-crypto/sha256-js","@aws-crypto/supports-web-crypto","@aws-crypto/util","@aws-sdk/client-bedrock-runtime","@aws-sdk/core","@aws-sdk/credential-provider-env","@aws-sdk/credential-provider-http","@aws-sdk/credential-provider-ini","@aws-sdk/credential-provider-login","@aws-sdk/credential-provider-node","@aws-sdk/credential-provider-process","@aws-sdk/credential-provider-sso","@aws-sdk/credential-provider-web-identity","@aws-sdk/eventstream-handler-node","@aws-sdk/middleware-eventstream","@aws-sdk/middleware-websocket","@aws-sdk/nested-clients","@aws-sdk/signature-v4-multi-region","@aws-sdk/token-providers","@aws-sdk/types","@aws-sdk/util-locate-window","@aws-sdk/xml-builder","@aws/lambda-invoke-store","@babel/helper-string-parser","@babel/helper-validator-identifier","@babel/parser","@babel/runtime","@babel/types","@bramus/specificity","@code-yeongyu/senpi-codemode","@csstools/color-helpers","@csstools/css-calc","@csstools/css-color-parser","@csstools/css-parser-algorithms","@csstools/css-syntax-patches-for-csstree","@csstools/css-tokenizer","@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-pty","@earendil-works/pi-tui","@exodus/bytes","@google/genai","@hono/node-server","@mariozechner/clipboard","@mistralai/mistralai","@mixmark-io/domino","@modelcontextprotocol/sdk","@mozilla/readability","@opentelemetry/api","@opentelemetry/semantic-conventions","@protobufjs/aspromise","@protobufjs/base64","@protobufjs/codegen","@protobufjs/eventemitter","@protobufjs/fetch","@protobufjs/float","@protobufjs/path","@protobufjs/pool","@protobufjs/utf8","@silvia-odwyer/photon-node","@smithy/core","@smithy/credential-provider-imds","@smithy/fetch-http-handler","@smithy/is-array-buffer","@smithy/node-http-handler","@smithy/signature-v4","@smithy/types","@smithy/util-buffer-from","@smithy/util-utf8","@types/node","@xterm/headless","accepts","agent-base","ajv","ajv-formats","balanced-match","base64-js","bidi-js","bignumber.js","body-parser","bowser","brace-expansion","buffer-equal-constant-time","bytes","call-bind-apply-helpers","call-bound","chalk","content-disposition","content-type","cookie","cookie-signature","cors","cross-spawn","css-tree","data-uri-to-buffer","data-urls","debug","decimal.js","depd","diff","dunder-proto","ecdsa-sig-formatter","ee-first","encodeurl","entities","es-define-property","es-errors","es-object-atoms","escape-html","etag","eventsource","eventsource-parser","express","express-rate-limit","extend","fast-deep-equal","fast-uri","fetch-blob","finalhandler","formdata-polyfill","forwarded","fresh","function-bind","gaxios","gcp-metadata","get-east-asian-width","get-intrinsic","get-proto","glob","google-auth-library","google-logging-utils","gopd","graceful-fs","has-symbols","hasown","highlight.js","hono","hosted-git-info","html-encoding-sniffer","http-errors","http-proxy-agent","https-proxy-agent","iconv-lite","ignore","inherits","ip-address","ipaddr.js","is-potential-custom-element-name","is-promise","isexe","jiti","jose","jsdom","json-bigint","json-schema-to-ts","json-schema-traverse","json-schema-typed","jwa","jws","long","lru-cache","marked","math-intrinsics","mdn-data","media-typer","merge-descriptors","mime-db","mime-types","minimatch","minipass","ms","negotiator","node-domexception","node-fetch","object-assign","object-inspect","on-finished","once","openai","p-retry","parse5","parseurl","partial-json","path-key","path-scurry","path-to-regexp","picomatch","pkce-challenge","proper-lockfile","protobufjs","proxy-addr","proxy-from-env","punycode","qs","range-parser","raw-body","require-from-string","retry","router","safe-buffer","safer-buffer","saxes","semver","send","serve-static","setprototypeof","shebang-command","shebang-regex","side-channel","side-channel-list","side-channel-map","side-channel-weakmap","signal-exit","source-map-js","statuses","symbol-tree","tldts","tldts-core","toidentifier","tough-cookie","tr46","ts-algebra","tslib","turndown","type-is","typebox","undici","unpipe","vary","w3c-xmlserializer","web-streams-polyfill","webidl-conversions","whatwg-mimetype","whatwg-url","which","wrappy","ws","xml-name-validator","xmlchars","yaml","zod","zod-to-json-schema"],"optionalDependencies":{"@mariozechner/clipboard":"0.3.9","@mariozechner/clipboard-darwin-x64":"0.3.9","@mariozechner/clipboard-darwin-arm64":"0.3.9","@mariozechner/clipboard-linux-x64-gnu":"0.3.9","@mariozechner/clipboard-linux-x64-musl":"0.3.9","@mariozechner/clipboard-win32-x64-msvc":"0.3.9","@mariozechner/clipboard-linux-arm64-gnu":"0.3.9","@anthropic-ai/claude-agent-sdk-linux-x64":"0.3.220","@anthropic-ai/claude-agent-sdk-win32-x64":"0.3.220","@mariozechner/clipboard-darwin-universal":"0.3.9","@mariozechner/clipboard-linux-arm64-musl":"0.3.9","@mariozechner/clipboard-win32-arm64-msvc":"0.3.9","@anthropic-ai/claude-agent-sdk-darwin-x64":"0.3.220","@mariozechner/clipboard-linux-riscv64-gnu":"0.3.9","@anthropic-ai/claude-agent-sdk-linux-arm64":"0.3.220","@anthropic-ai/claude-agent-sdk-win32-arm64":"0.3.220","@anthropic-ai/claude-agent-sdk-darwin-arm64":"0.3.220","@anthropic-ai/claude-agent-sdk-linux-x64-musl":"0.3.220","@anthropic-ai/claude-agent-sdk-linux-arm64-musl":"0.3.220"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.8.11-2_1786344393966_0.7329876027703184","host":"s3://npm-registry-packages-npm-production"}},"2026.8.11-3":{"name":"@code-yeongyu/senpi","version":"2026.8.11-3","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.8.11-3","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"senpi":"dist/cli.js"},"dist":{"shasum":"32e2c214c5a0f769aa85fd5664ef42c47ce4432c","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.8.11-3.tgz","fileCount":29276,"integrity":"sha512-gR+MZQdBX6gFHlPg6QDBd6h41TtVGfh/32cKyFrzvO90M5kHXS2FSmOe5tFBqZJ4aRUYBY45zHgx9uV+D8Uvvw==","signatures":[{"sig":"MEUCIC+YNc8sj1XAZzsokZxIQvwyJW800TCNNJPLCI1oh1DsAiEA44VS4tuGlt+luHkLXwpKABh4bt8ft+4lEEtm7H4ltlg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.8.11-3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":178024499},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.js"},"./rpc-entry":{"import":"./dist/rpc-entry.js"}},"gitHead":"f44c9f875b5499d95f7618bca46bba94e934af2b","scripts":{"dev":"tsc -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsc -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js dist/rpc-entry.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/","build:binary":"npm --prefix ../tui run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm --prefix ../protocol run build && npm --prefix ../client run build && npm run build && node ../../scripts/prepare-bun-compile-assets.mjs && bun build --compile --compile-autoload-package-json --external=css-tree --no-compile-autoload-dotenv --minify --keep-names ./dist/bun/cli.js ./src/utils/image-resize-worker.ts ../../node_modules/jsdom/lib/jsdom/living/xhr/xhr-sync-worker.js --outfile dist/pi && npm run copy-binary-assets","qa:app-server":"node scripts/qa-app-server/run-all.mjs","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/export-html/ && shx cp -r docs dist/ && shx cp -r examples dist/ && shx mkdir -p dist/node_modules && shx cp -r ../../node_modules/css-tree ../../node_modules/mdn-data ../../node_modules/source-map-js dist/node_modules/ && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/ && shx mkdir -p dist/native/darwin dist/native/win32 && shx cp -r ../../packages/tui/native/darwin/prebuilds dist/native/darwin/ && shx cp -r ../../packages/tui/native/win32/prebuilds dist/native/win32/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/ && node ../../scripts/copy-pty-native.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ea548fc8-dac4-4dec-a439-6f4fa3870309"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.2"},"rimraf":"6.1.2","protobufjs":"7.6.5","@hono/node-server":"2.0.10"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.16.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ms":"*","qs":"*","ws":"8.21.1","ajv":"*","jwa":"*","jws":"*","zod":"4.4.3","cors":"*","depd":"*","diff":"9.0.0","etag":"*","glob":"13.0.6","gopd":"*","hono":"*","jiti":"2.7.0","jose":"*","long":"*","once":"*","send":"*","tr46":"*","vary":"*","yaml":"2.9.0","bytes":"*","chalk":"6.0.0","debug":"*","fresh":"*","isexe":"*","jsdom":"29.1.1","retry":"*","saxes":"*","tldts":"*","tslib":"*","which":"*","bowser":"*","cookie":"*","extend":"*","gaxios":"*","hasown":"*","ignore":"7.0.6","marked":"18.0.7","openai":"6.26.0","parse5":"*","router":"*","semver":"7.8.5","undici":"8.9.0","unpipe":"*","wrappy":"*","accepts":"*","bidi-js":"*","express":"*","mime-db":"*","p-retry":"*","type-is":"*","typebox":"1.3.8","css-tree":"*","ee-first":"*","entities":"*","fast-uri":"*","inherits":"*","mdn-data":"*","minipass":"*","parseurl":"*","path-key":"*","punycode":"*","raw-body":"*","statuses":"*","turndown":"7.2.4","xmlchars":"*","base64-js":"*","data-urls":"*","encodeurl":"*","es-errors":"*","forwarded":"*","get-proto":"*","ipaddr.js":"*","lru-cache":"*","minimatch":"10.2.5","picomatch":"4.0.5","agent-base":"*","call-bound":"*","decimal.js":"*","fetch-blob":"*","iconv-lite":"*","ip-address":"*","is-promise":"*","mime-types":"*","negotiator":"*","node-fetch":"*","protobufjs":"*","proxy-addr":"*","tldts-core":"*","ts-algebra":"*","whatwg-url":"*","@types/node":"*","ajv-formats":"*","body-parser":"*","cross-spawn":"7.0.6","escape-html":"*","eventsource":"*","graceful-fs":"*","has-symbols":"*","http-errors":"*","json-bigint":"*","media-typer":"*","on-finished":"*","path-scurry":"*","safe-buffer":"*","signal-exit":"*","symbol-tree":"*","@babel/types":"*","@smithy/core":"*","bignumber.js":"*","content-type":"*","dunder-proto":"*","finalhandler":"*","gcp-metadata":"*","highlight.js":"11.11.1","partial-json":"0.1.7","range-parser":"*","safer-buffer":"*","serve-static":"*","side-channel":"*","toidentifier":"*","tough-cookie":"*","@aws-sdk/core":"*","@babel/parser":"*","@exodus/bytes":"*","@google/genai":"*","@smithy/types":"4.16.1","function-bind":"*","get-intrinsic":"*","object-assign":"*","shebang-regex":"*","source-map-js":"*","@aws-sdk/types":"*","@babel/runtime":"*","balanced-match":"*","object-inspect":"*","path-to-regexp":"*","pkce-challenge":"*","proxy-from-env":"2.1.0","setprototypeof":"*","@xterm/headless":"*","brace-expansion":"*","es-object-atoms":"*","fast-deep-equal":"*","hosted-git-info":"10.1.1","math-intrinsics":"*","proper-lockfile":"4.1.2","shebang-command":"*","whatwg-mimetype":"*","@aws-crypto/util":"*","@protobufjs/path":"*","@protobufjs/pool":"*","@protobufjs/utf8":"*","cookie-signature":"*","http-proxy-agent":"9.1.0","side-channel-map":"*","@anthropic-ai/sdk":"0.91.1","@hono/node-server":"*","@protobufjs/fetch":"*","@protobufjs/float":"*","@smithy/util-utf8":"*","formdata-polyfill":"*","https-proxy-agent":"9.1.0","json-schema-to-ts":"*","json-schema-typed":"*","merge-descriptors":"*","node-domexception":"*","side-channel-list":"*","w3c-xmlserializer":"*","@asamuzakjp/nwsapi":"*","@csstools/css-calc":"*","@mixmark-io/domino":"*","@opentelemetry/api":"1.9.1","@protobufjs/base64":"*","data-uri-to-buffer":"*","es-define-property":"*","eventsource-parser":"*","express-rate-limit":"*","webidl-conversions":"*","xml-name-validator":"*","zod-to-json-schema":"*","@bramus/specificity":"*","@protobufjs/codegen":"*","content-disposition":"*","ecdsa-sig-formatter":"*","google-auth-library":"*","require-from-string":"*","@aws-sdk/xml-builder":"*","@mistralai/mistralai":"2.5.0","@mozilla/readability":"0.6.0","@smithy/signature-v4":"*","get-east-asian-width":"1.6.0","google-logging-utils":"*","json-schema-traverse":"*","side-channel-weakmap":"*","web-streams-polyfill":"*","@asamuzakjp/css-color":"*","@aws-crypto/sha256-js":"*","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.8.11-3","@protobufjs/aspromise":"*","html-encoding-sniffer":"*","@earendil-works/pi-pty":"npm:@code-yeongyu/senpi-pty@2026.8.11-3","@earendil-works/pi-tui":"npm:@code-yeongyu/senpi-tui@2026.8.11-3","@aws-sdk/nested-clients":"*","@csstools/color-helpers":"*","@csstools/css-tokenizer":"*","@mariozechner/clipboard":"*","@smithy/is-array-buffer":"*","call-bind-apply-helpers":"*","@asamuzakjp/dom-selector":"*","@aws-sdk/token-providers":"*","@aws/lambda-invoke-store":"*","@protobufjs/eventemitter":"*","@smithy/util-buffer-from":"*","@modelcontextprotocol/sdk":"1.30.0","@smithy/node-http-handler":"4.9.11","@aws-crypto/sha256-browser":"*","@csstools/css-color-parser":"*","@silvia-odwyer/photon-node":"0.3.4","@smithy/fetch-http-handler":"*","buffer-equal-constant-time":"*","@aws-sdk/util-locate-window":"*","@babel/helper-string-parser":"*","@code-yeongyu/senpi-codemode":"2026.8.11-3","@aws-sdk/middleware-websocket":"*","@earendil-works/pi-agent-core":"npm:@code-yeongyu/senpi-agent-core@2026.8.11-3","@anthropic-ai/claude-agent-sdk":"0.3.220","@asamuzakjp/generational-cache":"*","@aws-crypto/supports-web-crypto":"*","@aws-sdk/client-bedrock-runtime":"3.1095.0","@aws-sdk/middleware-eventstream":"*","@csstools/css-parser-algorithms":"*","@aws-sdk/credential-provider-env":"*","@aws-sdk/credential-provider-ini":"*","@aws-sdk/credential-provider-sso":"*","@smithy/credential-provider-imds":"*","is-potential-custom-element-name":"*","@aws-sdk/credential-provider-http":"*","@aws-sdk/credential-provider-node":"*","@aws-sdk/eventstream-handler-node":"*","@aws-sdk/credential-provider-login":"*","@aws-sdk/signature-v4-multi-region":"*","@babel/helper-validator-identifier":"*","@opentelemetry/semantic-conventions":"*","@aws-sdk/credential-provider-process":"*","@csstools/css-syntax-patches-for-csstree":"*","@aws-sdk/credential-provider-web-identity":"*"},"_hasShrinkwrap":false,"devDependencies":{"shx":"0.4.0","vitest":"4.1.10","@types/ms":"2.1.0","@types/ws":"8.18.1","typescript":"7.0.2","@types/node":"26.1.1","@types/jsdom":"28.0.3","@types/semver":"7.7.1","@types/turndown":"5.0.6","@types/picomatch":"4.0.3","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@anthropic-ai/claude-agent-sdk","@anthropic-ai/sdk","@asamuzakjp/css-color","@asamuzakjp/dom-selector","@asamuzakjp/generational-cache","@asamuzakjp/nwsapi","@aws-crypto/sha256-browser","@aws-crypto/sha256-js","@aws-crypto/supports-web-crypto","@aws-crypto/util","@aws-sdk/client-bedrock-runtime","@aws-sdk/core","@aws-sdk/credential-provider-env","@aws-sdk/credential-provider-http","@aws-sdk/credential-provider-ini","@aws-sdk/credential-provider-login","@aws-sdk/credential-provider-node","@aws-sdk/credential-provider-process","@aws-sdk/credential-provider-sso","@aws-sdk/credential-provider-web-identity","@aws-sdk/eventstream-handler-node","@aws-sdk/middleware-eventstream","@aws-sdk/middleware-websocket","@aws-sdk/nested-clients","@aws-sdk/signature-v4-multi-region","@aws-sdk/token-providers","@aws-sdk/types","@aws-sdk/util-locate-window","@aws-sdk/xml-builder","@aws/lambda-invoke-store","@babel/helper-string-parser","@babel/helper-validator-identifier","@babel/parser","@babel/runtime","@babel/types","@bramus/specificity","@code-yeongyu/senpi-codemode","@csstools/color-helpers","@csstools/css-calc","@csstools/css-color-parser","@csstools/css-parser-algorithms","@csstools/css-syntax-patches-for-csstree","@csstools/css-tokenizer","@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-pty","@earendil-works/pi-tui","@exodus/bytes","@google/genai","@hono/node-server","@mariozechner/clipboard","@mistralai/mistralai","@mixmark-io/domino","@modelcontextprotocol/sdk","@mozilla/readability","@opentelemetry/api","@opentelemetry/semantic-conventions","@protobufjs/aspromise","@protobufjs/base64","@protobufjs/codegen","@protobufjs/eventemitter","@protobufjs/fetch","@protobufjs/float","@protobufjs/path","@protobufjs/pool","@protobufjs/utf8","@silvia-odwyer/photon-node","@smithy/core","@smithy/credential-provider-imds","@smithy/fetch-http-handler","@smithy/is-array-buffer","@smithy/node-http-handler","@smithy/signature-v4","@smithy/types","@smithy/util-buffer-from","@smithy/util-utf8","@types/node","@xterm/headless","accepts","agent-base","ajv","ajv-formats","balanced-match","base64-js","bidi-js","bignumber.js","body-parser","bowser","brace-expansion","buffer-equal-constant-time","bytes","call-bind-apply-helpers","call-bound","chalk","content-disposition","content-type","cookie","cookie-signature","cors","cross-spawn","css-tree","data-uri-to-buffer","data-urls","debug","decimal.js","depd","diff","dunder-proto","ecdsa-sig-formatter","ee-first","encodeurl","entities","es-define-property","es-errors","es-object-atoms","escape-html","etag","eventsource","eventsource-parser","express","express-rate-limit","extend","fast-deep-equal","fast-uri","fetch-blob","finalhandler","formdata-polyfill","forwarded","fresh","function-bind","gaxios","gcp-metadata","get-east-asian-width","get-intrinsic","get-proto","glob","google-auth-library","google-logging-utils","gopd","graceful-fs","has-symbols","hasown","highlight.js","hono","hosted-git-info","html-encoding-sniffer","http-errors","http-proxy-agent","https-proxy-agent","iconv-lite","ignore","inherits","ip-address","ipaddr.js","is-potential-custom-element-name","is-promise","isexe","jiti","jose","jsdom","json-bigint","json-schema-to-ts","json-schema-traverse","json-schema-typed","jwa","jws","long","lru-cache","marked","math-intrinsics","mdn-data","media-typer","merge-descriptors","mime-db","mime-types","minimatch","minipass","ms","negotiator","node-domexception","node-fetch","object-assign","object-inspect","on-finished","once","openai","p-retry","parse5","parseurl","partial-json","path-key","path-scurry","path-to-regexp","picomatch","pkce-challenge","proper-lockfile","protobufjs","proxy-addr","proxy-from-env","punycode","qs","range-parser","raw-body","require-from-string","retry","router","safe-buffer","safer-buffer","saxes","semver","send","serve-static","setprototypeof","shebang-command","shebang-regex","side-channel","side-channel-list","side-channel-map","side-channel-weakmap","signal-exit","source-map-js","statuses","symbol-tree","tldts","tldts-core","toidentifier","tough-cookie","tr46","ts-algebra","tslib","turndown","type-is","typebox","undici","unpipe","vary","w3c-xmlserializer","web-streams-polyfill","webidl-conversions","whatwg-mimetype","whatwg-url","which","wrappy","ws","xml-name-validator","xmlchars","yaml","zod","zod-to-json-schema"],"optionalDependencies":{"@mariozechner/clipboard":"0.3.9","@mariozechner/clipboard-darwin-x64":"0.3.9","@mariozechner/clipboard-darwin-arm64":"0.3.9","@mariozechner/clipboard-linux-x64-gnu":"0.3.9","@mariozechner/clipboard-linux-x64-musl":"0.3.9","@mariozechner/clipboard-win32-x64-msvc":"0.3.9","@mariozechner/clipboard-linux-arm64-gnu":"0.3.9","@anthropic-ai/claude-agent-sdk-linux-x64":"0.3.220","@anthropic-ai/claude-agent-sdk-win32-x64":"0.3.220","@mariozechner/clipboard-darwin-universal":"0.3.9","@mariozechner/clipboard-linux-arm64-musl":"0.3.9","@mariozechner/clipboard-win32-arm64-msvc":"0.3.9","@anthropic-ai/claude-agent-sdk-darwin-x64":"0.3.220","@mariozechner/clipboard-linux-riscv64-gnu":"0.3.9","@anthropic-ai/claude-agent-sdk-linux-arm64":"0.3.220","@anthropic-ai/claude-agent-sdk-win32-arm64":"0.3.220","@anthropic-ai/claude-agent-sdk-darwin-arm64":"0.3.220","@anthropic-ai/claude-agent-sdk-linux-x64-musl":"0.3.220","@anthropic-ai/claude-agent-sdk-linux-arm64-musl":"0.3.220"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.8.11-3_1786445198522_0.6359427278313134","host":"s3://npm-registry-packages-npm-production"}},"2026.8.11-4":{"name":"@code-yeongyu/senpi","version":"2026.8.11-4","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.8.11-4","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"senpi":"dist/cli.js"},"dist":{"shasum":"d4ee3bf9a31a2be601fadd24f504699d04da1c6b","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.8.11-4.tgz","fileCount":29277,"integrity":"sha512-n2gb6C+UBy6kNTQ0G8cvkoAXwc12hAi4a5DbMbRBHJv9BqpyPDJb0Rp0aiNpo1ygHFPWFHD9tFho8pPJxf9WVg==","signatures":[{"sig":"MEUCIC3Bs6g/gT42qRbjBRA2WYMli5kAymNXVaAbwj9naGQwAiEAnB8cLmypOFwehvWU6Asy9m9ZwK2VJvTxFrw4NuK14nE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.8.11-4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":178029842},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.js"},"./rpc-entry":{"import":"./dist/rpc-entry.js"}},"gitHead":"822835eafd2b47267a74f3151e2cb3c0597188d9","scripts":{"dev":"tsc -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsc -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js dist/rpc-entry.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/","build:binary":"npm --prefix ../tui run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm --prefix ../protocol run build && npm --prefix ../client run build && npm --prefix ../pty run build && npm run build && node ../../scripts/prepare-bun-compile-assets.mjs && bun build --compile --compile-autoload-package-json --no-compile-autoload-dotenv --minify --keep-names ./dist/bun/cli.js ./src/utils/image-resize-worker.ts ../../node_modules/jsdom/lib/jsdom/living/xhr/xhr-sync-worker.js --outfile dist/pi && npm run copy-binary-assets","qa:app-server":"node scripts/qa-app-server/run-all.mjs","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/export-html/ && shx cp -r docs dist/ && shx cp -r examples dist/ && shx mkdir -p dist/node_modules && shx cp -r ../../node_modules/css-tree ../../node_modules/mdn-data ../../node_modules/source-map-js dist/node_modules/ && node ../../scripts/copy-codemode-sidecar.mjs dist && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/ && shx mkdir -p dist/native/darwin dist/native/win32 && shx cp -r ../../packages/tui/native/darwin/prebuilds dist/native/darwin/ && shx cp -r ../../packages/tui/native/win32/prebuilds dist/native/win32/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/ && node ../../scripts/copy-pty-native.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ea548fc8-dac4-4dec-a439-6f4fa3870309"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.2"},"rimraf":"6.1.2","protobufjs":"7.6.5","@hono/node-server":"2.0.10"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.16.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ms":"*","qs":"*","ws":"8.21.1","ajv":"*","jwa":"*","jws":"*","zod":"4.4.3","cors":"*","depd":"*","diff":"9.0.0","etag":"*","glob":"13.0.6","gopd":"*","hono":"*","jiti":"2.7.0","jose":"*","long":"*","once":"*","send":"*","tr46":"*","vary":"*","yaml":"2.9.0","bytes":"*","chalk":"6.0.0","debug":"*","fresh":"*","isexe":"*","jsdom":"29.1.1","retry":"*","saxes":"*","tldts":"*","tslib":"*","which":"*","bowser":"*","cookie":"*","extend":"*","gaxios":"*","hasown":"*","ignore":"7.0.6","marked":"18.0.7","openai":"6.26.0","parse5":"*","router":"*","semver":"7.8.5","undici":"8.9.0","unpipe":"*","wrappy":"*","accepts":"*","bidi-js":"*","express":"*","mime-db":"*","p-retry":"*","type-is":"*","typebox":"1.3.8","css-tree":"*","ee-first":"*","entities":"*","fast-uri":"*","inherits":"*","mdn-data":"*","minipass":"*","parseurl":"*","path-key":"*","punycode":"*","raw-body":"*","statuses":"*","turndown":"7.2.4","xmlchars":"*","base64-js":"*","data-urls":"*","encodeurl":"*","es-errors":"*","forwarded":"*","get-proto":"*","ipaddr.js":"*","lru-cache":"*","minimatch":"10.2.5","picomatch":"4.0.5","agent-base":"*","call-bound":"*","decimal.js":"*","fetch-blob":"*","iconv-lite":"*","ip-address":"*","is-promise":"*","mime-types":"*","negotiator":"*","node-fetch":"*","protobufjs":"*","proxy-addr":"*","tldts-core":"*","ts-algebra":"*","whatwg-url":"*","@types/node":"*","ajv-formats":"*","body-parser":"*","cross-spawn":"7.0.6","escape-html":"*","eventsource":"*","graceful-fs":"*","has-symbols":"*","http-errors":"*","json-bigint":"*","media-typer":"*","on-finished":"*","path-scurry":"*","safe-buffer":"*","signal-exit":"*","symbol-tree":"*","@babel/types":"*","@smithy/core":"*","bignumber.js":"*","content-type":"*","dunder-proto":"*","finalhandler":"*","gcp-metadata":"*","highlight.js":"11.11.1","partial-json":"0.1.7","range-parser":"*","safer-buffer":"*","serve-static":"*","side-channel":"*","toidentifier":"*","tough-cookie":"*","@aws-sdk/core":"*","@babel/parser":"*","@exodus/bytes":"*","@google/genai":"*","@smithy/types":"4.16.1","function-bind":"*","get-intrinsic":"*","object-assign":"*","shebang-regex":"*","source-map-js":"*","@aws-sdk/types":"*","@babel/runtime":"*","balanced-match":"*","object-inspect":"*","path-to-regexp":"*","pkce-challenge":"*","proxy-from-env":"2.1.0","setprototypeof":"*","@xterm/headless":"*","brace-expansion":"*","es-object-atoms":"*","fast-deep-equal":"*","hosted-git-info":"10.1.1","math-intrinsics":"*","proper-lockfile":"4.1.2","shebang-command":"*","whatwg-mimetype":"*","@aws-crypto/util":"*","@protobufjs/path":"*","@protobufjs/pool":"*","@protobufjs/utf8":"*","cookie-signature":"*","http-proxy-agent":"9.1.0","side-channel-map":"*","@anthropic-ai/sdk":"0.91.1","@hono/node-server":"*","@protobufjs/fetch":"*","@protobufjs/float":"*","@smithy/util-utf8":"*","formdata-polyfill":"*","https-proxy-agent":"9.1.0","json-schema-to-ts":"*","json-schema-typed":"*","merge-descriptors":"*","node-domexception":"*","side-channel-list":"*","w3c-xmlserializer":"*","@asamuzakjp/nwsapi":"*","@csstools/css-calc":"*","@mixmark-io/domino":"*","@opentelemetry/api":"1.9.1","@protobufjs/base64":"*","data-uri-to-buffer":"*","es-define-property":"*","eventsource-parser":"*","express-rate-limit":"*","webidl-conversions":"*","xml-name-validator":"*","zod-to-json-schema":"*","@bramus/specificity":"*","@protobufjs/codegen":"*","content-disposition":"*","ecdsa-sig-formatter":"*","google-auth-library":"*","require-from-string":"*","@aws-sdk/xml-builder":"*","@mistralai/mistralai":"2.5.0","@mozilla/readability":"0.6.0","@smithy/signature-v4":"*","get-east-asian-width":"1.6.0","google-logging-utils":"*","json-schema-traverse":"*","side-channel-weakmap":"*","web-streams-polyfill":"*","@asamuzakjp/css-color":"*","@aws-crypto/sha256-js":"*","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.8.11-4","@protobufjs/aspromise":"*","html-encoding-sniffer":"*","@earendil-works/pi-pty":"npm:@code-yeongyu/senpi-pty@2026.8.11-4","@earendil-works/pi-tui":"npm:@code-yeongyu/senpi-tui@2026.8.11-4","@aws-sdk/nested-clients":"*","@csstools/color-helpers":"*","@csstools/css-tokenizer":"*","@mariozechner/clipboard":"*","@smithy/is-array-buffer":"*","call-bind-apply-helpers":"*","@asamuzakjp/dom-selector":"*","@aws-sdk/token-providers":"*","@aws/lambda-invoke-store":"*","@protobufjs/eventemitter":"*","@smithy/util-buffer-from":"*","@modelcontextprotocol/sdk":"1.30.0","@smithy/node-http-handler":"4.9.11","@aws-crypto/sha256-browser":"*","@csstools/css-color-parser":"*","@silvia-odwyer/photon-node":"0.3.4","@smithy/fetch-http-handler":"*","buffer-equal-constant-time":"*","@aws-sdk/util-locate-window":"*","@babel/helper-string-parser":"*","@code-yeongyu/senpi-codemode":"2026.8.11-4","@aws-sdk/middleware-websocket":"*","@earendil-works/pi-agent-core":"npm:@code-yeongyu/senpi-agent-core@2026.8.11-4","@anthropic-ai/claude-agent-sdk":"0.3.220","@asamuzakjp/generational-cache":"*","@aws-crypto/supports-web-crypto":"*","@aws-sdk/client-bedrock-runtime":"3.1095.0","@aws-sdk/middleware-eventstream":"*","@csstools/css-parser-algorithms":"*","@aws-sdk/credential-provider-env":"*","@aws-sdk/credential-provider-ini":"*","@aws-sdk/credential-provider-sso":"*","@smithy/credential-provider-imds":"*","is-potential-custom-element-name":"*","@aws-sdk/credential-provider-http":"*","@aws-sdk/credential-provider-node":"*","@aws-sdk/eventstream-handler-node":"*","@aws-sdk/credential-provider-login":"*","@aws-sdk/signature-v4-multi-region":"*","@babel/helper-validator-identifier":"*","@opentelemetry/semantic-conventions":"*","@aws-sdk/credential-provider-process":"*","@csstools/css-syntax-patches-for-csstree":"*","@aws-sdk/credential-provider-web-identity":"*"},"_hasShrinkwrap":false,"devDependencies":{"shx":"0.4.0","vitest":"4.1.10","@types/ms":"2.1.0","@types/ws":"8.18.1","typescript":"7.0.2","@types/node":"26.1.1","@types/jsdom":"28.0.3","@types/semver":"7.7.1","@types/turndown":"5.0.6","@types/picomatch":"4.0.3","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@anthropic-ai/claude-agent-sdk","@anthropic-ai/sdk","@asamuzakjp/css-color","@asamuzakjp/dom-selector","@asamuzakjp/generational-cache","@asamuzakjp/nwsapi","@aws-crypto/sha256-browser","@aws-crypto/sha256-js","@aws-crypto/supports-web-crypto","@aws-crypto/util","@aws-sdk/client-bedrock-runtime","@aws-sdk/core","@aws-sdk/credential-provider-env","@aws-sdk/credential-provider-http","@aws-sdk/credential-provider-ini","@aws-sdk/credential-provider-login","@aws-sdk/credential-provider-node","@aws-sdk/credential-provider-process","@aws-sdk/credential-provider-sso","@aws-sdk/credential-provider-web-identity","@aws-sdk/eventstream-handler-node","@aws-sdk/middleware-eventstream","@aws-sdk/middleware-websocket","@aws-sdk/nested-clients","@aws-sdk/signature-v4-multi-region","@aws-sdk/token-providers","@aws-sdk/types","@aws-sdk/util-locate-window","@aws-sdk/xml-builder","@aws/lambda-invoke-store","@babel/helper-string-parser","@babel/helper-validator-identifier","@babel/parser","@babel/runtime","@babel/types","@bramus/specificity","@code-yeongyu/senpi-codemode","@csstools/color-helpers","@csstools/css-calc","@csstools/css-color-parser","@csstools/css-parser-algorithms","@csstools/css-syntax-patches-for-csstree","@csstools/css-tokenizer","@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-pty","@earendil-works/pi-tui","@exodus/bytes","@google/genai","@hono/node-server","@mariozechner/clipboard","@mistralai/mistralai","@mixmark-io/domino","@modelcontextprotocol/sdk","@mozilla/readability","@opentelemetry/api","@opentelemetry/semantic-conventions","@protobufjs/aspromise","@protobufjs/base64","@protobufjs/codegen","@protobufjs/eventemitter","@protobufjs/fetch","@protobufjs/float","@protobufjs/path","@protobufjs/pool","@protobufjs/utf8","@silvia-odwyer/photon-node","@smithy/core","@smithy/credential-provider-imds","@smithy/fetch-http-handler","@smithy/is-array-buffer","@smithy/node-http-handler","@smithy/signature-v4","@smithy/types","@smithy/util-buffer-from","@smithy/util-utf8","@types/node","@xterm/headless","accepts","agent-base","ajv","ajv-formats","balanced-match","base64-js","bidi-js","bignumber.js","body-parser","bowser","brace-expansion","buffer-equal-constant-time","bytes","call-bind-apply-helpers","call-bound","chalk","content-disposition","content-type","cookie","cookie-signature","cors","cross-spawn","css-tree","data-uri-to-buffer","data-urls","debug","decimal.js","depd","diff","dunder-proto","ecdsa-sig-formatter","ee-first","encodeurl","entities","es-define-property","es-errors","es-object-atoms","escape-html","etag","eventsource","eventsource-parser","express","express-rate-limit","extend","fast-deep-equal","fast-uri","fetch-blob","finalhandler","formdata-polyfill","forwarded","fresh","function-bind","gaxios","gcp-metadata","get-east-asian-width","get-intrinsic","get-proto","glob","google-auth-library","google-logging-utils","gopd","graceful-fs","has-symbols","hasown","highlight.js","hono","hosted-git-info","html-encoding-sniffer","http-errors","http-proxy-agent","https-proxy-agent","iconv-lite","ignore","inherits","ip-address","ipaddr.js","is-potential-custom-element-name","is-promise","isexe","jiti","jose","jsdom","json-bigint","json-schema-to-ts","json-schema-traverse","json-schema-typed","jwa","jws","long","lru-cache","marked","math-intrinsics","mdn-data","media-typer","merge-descriptors","mime-db","mime-types","minimatch","minipass","ms","negotiator","node-domexception","node-fetch","object-assign","object-inspect","on-finished","once","openai","p-retry","parse5","parseurl","partial-json","path-key","path-scurry","path-to-regexp","picomatch","pkce-challenge","proper-lockfile","protobufjs","proxy-addr","proxy-from-env","punycode","qs","range-parser","raw-body","require-from-string","retry","router","safe-buffer","safer-buffer","saxes","semver","send","serve-static","setprototypeof","shebang-command","shebang-regex","side-channel","side-channel-list","side-channel-map","side-channel-weakmap","signal-exit","source-map-js","statuses","symbol-tree","tldts","tldts-core","toidentifier","tough-cookie","tr46","ts-algebra","tslib","turndown","type-is","typebox","undici","unpipe","vary","w3c-xmlserializer","web-streams-polyfill","webidl-conversions","whatwg-mimetype","whatwg-url","which","wrappy","ws","xml-name-validator","xmlchars","yaml","zod","zod-to-json-schema"],"optionalDependencies":{"@mariozechner/clipboard":"0.3.9","@mariozechner/clipboard-darwin-x64":"0.3.9","@mariozechner/clipboard-darwin-arm64":"0.3.9","@mariozechner/clipboard-linux-x64-gnu":"0.3.9","@mariozechner/clipboard-linux-x64-musl":"0.3.9","@mariozechner/clipboard-win32-x64-msvc":"0.3.9","@mariozechner/clipboard-linux-arm64-gnu":"0.3.9","@anthropic-ai/claude-agent-sdk-linux-x64":"0.3.220","@anthropic-ai/claude-agent-sdk-win32-x64":"0.3.220","@mariozechner/clipboard-darwin-universal":"0.3.9","@mariozechner/clipboard-linux-arm64-musl":"0.3.9","@mariozechner/clipboard-win32-arm64-msvc":"0.3.9","@anthropic-ai/claude-agent-sdk-darwin-x64":"0.3.220","@mariozechner/clipboard-linux-riscv64-gnu":"0.3.9","@anthropic-ai/claude-agent-sdk-linux-arm64":"0.3.220","@anthropic-ai/claude-agent-sdk-win32-arm64":"0.3.220","@anthropic-ai/claude-agent-sdk-darwin-arm64":"0.3.220","@anthropic-ai/claude-agent-sdk-linux-x64-musl":"0.3.220","@anthropic-ai/claude-agent-sdk-linux-arm64-musl":"0.3.220"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.8.11-4_1786451145477_0.2251910001648878","host":"s3://npm-registry-packages-npm-production"}},"2026.8.11-5":{"name":"@code-yeongyu/senpi","version":"2026.8.11-5","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.8.11-5","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"senpi":"dist/cli.js"},"dist":{"shasum":"89c5b642b01a2c1913abf014837146995a092212","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.8.11-5.tgz","fileCount":29277,"integrity":"sha512-inFUysf/3EUX8cpKMmrj0s7PpSItaZ0CMeQwBr+3k+C2nj61m06oYssJpdQihV23iU13gboMLxZC7n7z1FW45Q==","signatures":[{"sig":"MEQCIGtE7ypBPjWnXeihQ39WFUG7ynvLBex6gP5CVb8YmD7KAiAU3URxPwkODU9gkAyUl8v47bqIcb1UE/kDXclHFtpnng==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.8.11-5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":178041653},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.js"},"./rpc-entry":{"import":"./dist/rpc-entry.js"}},"gitHead":"648037616d2bb1f93b9ab041e227862e86006e04","scripts":{"dev":"tsc -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsc -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js dist/rpc-entry.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/","build:binary":"npm --prefix ../tui run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm --prefix ../protocol run build && npm --prefix ../client run build && npm --prefix ../pty run build && npm run build && node ../../scripts/prepare-bun-compile-assets.mjs && bun build --compile --compile-autoload-package-json --no-compile-autoload-dotenv --minify --keep-names ./dist/bun/cli.js ./src/utils/image-resize-worker.ts ../../node_modules/jsdom/lib/jsdom/living/xhr/xhr-sync-worker.js --outfile dist/pi && npm run copy-binary-assets","qa:app-server":"node scripts/qa-app-server/run-all.mjs","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/export-html/ && shx cp -r docs dist/ && shx cp -r examples dist/ && shx mkdir -p dist/node_modules && shx cp -r ../../node_modules/css-tree ../../node_modules/mdn-data ../../node_modules/source-map-js dist/node_modules/ && node ../../scripts/copy-codemode-sidecar.mjs dist && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/ && shx mkdir -p dist/native/darwin dist/native/win32 && shx cp -r ../../packages/tui/native/darwin/prebuilds dist/native/darwin/ && shx cp -r ../../packages/tui/native/win32/prebuilds dist/native/win32/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/ && node ../../scripts/copy-pty-native.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ea548fc8-dac4-4dec-a439-6f4fa3870309"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.2"},"rimraf":"6.1.2","protobufjs":"7.6.5","@hono/node-server":"2.0.10"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.16.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ms":"*","qs":"*","ws":"8.21.1","ajv":"*","jwa":"*","jws":"*","zod":"4.4.3","cors":"*","depd":"*","diff":"9.0.0","etag":"*","glob":"13.0.6","gopd":"*","hono":"*","jiti":"2.7.0","jose":"*","long":"*","once":"*","send":"*","tr46":"*","vary":"*","yaml":"2.9.0","bytes":"*","chalk":"6.0.0","debug":"*","fresh":"*","isexe":"*","jsdom":"29.1.1","retry":"*","saxes":"*","tldts":"*","tslib":"*","which":"*","bowser":"*","cookie":"*","extend":"*","gaxios":"*","hasown":"*","ignore":"7.0.6","marked":"18.0.7","openai":"6.26.0","parse5":"*","router":"*","semver":"7.8.5","undici":"8.9.0","unpipe":"*","wrappy":"*","accepts":"*","bidi-js":"*","express":"*","mime-db":"*","p-retry":"*","type-is":"*","typebox":"1.3.8","css-tree":"*","ee-first":"*","entities":"*","fast-uri":"*","inherits":"*","mdn-data":"*","minipass":"*","parseurl":"*","path-key":"*","punycode":"*","raw-body":"*","statuses":"*","turndown":"7.2.4","xmlchars":"*","base64-js":"*","data-urls":"*","encodeurl":"*","es-errors":"*","forwarded":"*","get-proto":"*","ipaddr.js":"*","lru-cache":"*","minimatch":"10.2.5","picomatch":"4.0.5","agent-base":"*","call-bound":"*","decimal.js":"*","fetch-blob":"*","iconv-lite":"*","ip-address":"*","is-promise":"*","mime-types":"*","negotiator":"*","node-fetch":"*","protobufjs":"*","proxy-addr":"*","tldts-core":"*","ts-algebra":"*","whatwg-url":"*","@types/node":"*","ajv-formats":"*","body-parser":"*","cross-spawn":"7.0.6","escape-html":"*","eventsource":"*","graceful-fs":"*","has-symbols":"*","http-errors":"*","json-bigint":"*","media-typer":"*","on-finished":"*","path-scurry":"*","safe-buffer":"*","signal-exit":"*","symbol-tree":"*","@babel/types":"*","@smithy/core":"*","bignumber.js":"*","content-type":"*","dunder-proto":"*","finalhandler":"*","gcp-metadata":"*","highlight.js":"11.11.1","partial-json":"0.1.7","range-parser":"*","safer-buffer":"*","serve-static":"*","side-channel":"*","toidentifier":"*","tough-cookie":"*","@aws-sdk/core":"*","@babel/parser":"*","@exodus/bytes":"*","@google/genai":"*","@smithy/types":"4.16.1","function-bind":"*","get-intrinsic":"*","object-assign":"*","shebang-regex":"*","source-map-js":"*","@aws-sdk/types":"*","@babel/runtime":"*","balanced-match":"*","object-inspect":"*","path-to-regexp":"*","pkce-challenge":"*","proxy-from-env":"2.1.0","setprototypeof":"*","@xterm/headless":"*","brace-expansion":"*","es-object-atoms":"*","fast-deep-equal":"*","hosted-git-info":"10.1.1","math-intrinsics":"*","proper-lockfile":"4.1.2","shebang-command":"*","whatwg-mimetype":"*","@aws-crypto/util":"*","@protobufjs/path":"*","@protobufjs/pool":"*","@protobufjs/utf8":"*","cookie-signature":"*","http-proxy-agent":"9.1.0","side-channel-map":"*","@anthropic-ai/sdk":"0.91.1","@hono/node-server":"*","@protobufjs/fetch":"*","@protobufjs/float":"*","@smithy/util-utf8":"*","formdata-polyfill":"*","https-proxy-agent":"9.1.0","json-schema-to-ts":"*","json-schema-typed":"*","merge-descriptors":"*","node-domexception":"*","side-channel-list":"*","w3c-xmlserializer":"*","@asamuzakjp/nwsapi":"*","@csstools/css-calc":"*","@mixmark-io/domino":"*","@opentelemetry/api":"1.9.1","@protobufjs/base64":"*","data-uri-to-buffer":"*","es-define-property":"*","eventsource-parser":"*","express-rate-limit":"*","webidl-conversions":"*","xml-name-validator":"*","zod-to-json-schema":"*","@bramus/specificity":"*","@protobufjs/codegen":"*","content-disposition":"*","ecdsa-sig-formatter":"*","google-auth-library":"*","require-from-string":"*","@aws-sdk/xml-builder":"*","@mistralai/mistralai":"2.5.0","@mozilla/readability":"0.6.0","@smithy/signature-v4":"*","get-east-asian-width":"1.6.0","google-logging-utils":"*","json-schema-traverse":"*","side-channel-weakmap":"*","web-streams-polyfill":"*","@asamuzakjp/css-color":"*","@aws-crypto/sha256-js":"*","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.8.11-5","@protobufjs/aspromise":"*","html-encoding-sniffer":"*","@earendil-works/pi-pty":"npm:@code-yeongyu/senpi-pty@2026.8.11-5","@earendil-works/pi-tui":"npm:@code-yeongyu/senpi-tui@2026.8.11-5","@aws-sdk/nested-clients":"*","@csstools/color-helpers":"*","@csstools/css-tokenizer":"*","@mariozechner/clipboard":"*","@smithy/is-array-buffer":"*","call-bind-apply-helpers":"*","@asamuzakjp/dom-selector":"*","@aws-sdk/token-providers":"*","@aws/lambda-invoke-store":"*","@protobufjs/eventemitter":"*","@smithy/util-buffer-from":"*","@modelcontextprotocol/sdk":"1.30.0","@smithy/node-http-handler":"4.9.11","@aws-crypto/sha256-browser":"*","@csstools/css-color-parser":"*","@silvia-odwyer/photon-node":"0.3.4","@smithy/fetch-http-handler":"*","buffer-equal-constant-time":"*","@aws-sdk/util-locate-window":"*","@babel/helper-string-parser":"*","@code-yeongyu/senpi-codemode":"2026.8.11-5","@aws-sdk/middleware-websocket":"*","@earendil-works/pi-agent-core":"npm:@code-yeongyu/senpi-agent-core@2026.8.11-5","@anthropic-ai/claude-agent-sdk":"0.3.220","@asamuzakjp/generational-cache":"*","@aws-crypto/supports-web-crypto":"*","@aws-sdk/client-bedrock-runtime":"3.1095.0","@aws-sdk/middleware-eventstream":"*","@csstools/css-parser-algorithms":"*","@aws-sdk/credential-provider-env":"*","@aws-sdk/credential-provider-ini":"*","@aws-sdk/credential-provider-sso":"*","@smithy/credential-provider-imds":"*","is-potential-custom-element-name":"*","@aws-sdk/credential-provider-http":"*","@aws-sdk/credential-provider-node":"*","@aws-sdk/eventstream-handler-node":"*","@aws-sdk/credential-provider-login":"*","@aws-sdk/signature-v4-multi-region":"*","@babel/helper-validator-identifier":"*","@opentelemetry/semantic-conventions":"*","@aws-sdk/credential-provider-process":"*","@csstools/css-syntax-patches-for-csstree":"*","@aws-sdk/credential-provider-web-identity":"*"},"_hasShrinkwrap":false,"devDependencies":{"shx":"0.4.0","vitest":"4.1.10","@types/ms":"2.1.0","@types/ws":"8.18.1","typescript":"7.0.2","@types/node":"26.1.1","@types/jsdom":"28.0.3","@types/semver":"7.7.1","@types/turndown":"5.0.6","@types/picomatch":"4.0.3","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@anthropic-ai/claude-agent-sdk","@anthropic-ai/sdk","@asamuzakjp/css-color","@asamuzakjp/dom-selector","@asamuzakjp/generational-cache","@asamuzakjp/nwsapi","@aws-crypto/sha256-browser","@aws-crypto/sha256-js","@aws-crypto/supports-web-crypto","@aws-crypto/util","@aws-sdk/client-bedrock-runtime","@aws-sdk/core","@aws-sdk/credential-provider-env","@aws-sdk/credential-provider-http","@aws-sdk/credential-provider-ini","@aws-sdk/credential-provider-login","@aws-sdk/credential-provider-node","@aws-sdk/credential-provider-process","@aws-sdk/credential-provider-sso","@aws-sdk/credential-provider-web-identity","@aws-sdk/eventstream-handler-node","@aws-sdk/middleware-eventstream","@aws-sdk/middleware-websocket","@aws-sdk/nested-clients","@aws-sdk/signature-v4-multi-region","@aws-sdk/token-providers","@aws-sdk/types","@aws-sdk/util-locate-window","@aws-sdk/xml-builder","@aws/lambda-invoke-store","@babel/helper-string-parser","@babel/helper-validator-identifier","@babel/parser","@babel/runtime","@babel/types","@bramus/specificity","@code-yeongyu/senpi-codemode","@csstools/color-helpers","@csstools/css-calc","@csstools/css-color-parser","@csstools/css-parser-algorithms","@csstools/css-syntax-patches-for-csstree","@csstools/css-tokenizer","@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-pty","@earendil-works/pi-tui","@exodus/bytes","@google/genai","@hono/node-server","@mariozechner/clipboard","@mistralai/mistralai","@mixmark-io/domino","@modelcontextprotocol/sdk","@mozilla/readability","@opentelemetry/api","@opentelemetry/semantic-conventions","@protobufjs/aspromise","@protobufjs/base64","@protobufjs/codegen","@protobufjs/eventemitter","@protobufjs/fetch","@protobufjs/float","@protobufjs/path","@protobufjs/pool","@protobufjs/utf8","@silvia-odwyer/photon-node","@smithy/core","@smithy/credential-provider-imds","@smithy/fetch-http-handler","@smithy/is-array-buffer","@smithy/node-http-handler","@smithy/signature-v4","@smithy/types","@smithy/util-buffer-from","@smithy/util-utf8","@types/node","@xterm/headless","accepts","agent-base","ajv","ajv-formats","balanced-match","base64-js","bidi-js","bignumber.js","body-parser","bowser","brace-expansion","buffer-equal-constant-time","bytes","call-bind-apply-helpers","call-bound","chalk","content-disposition","content-type","cookie","cookie-signature","cors","cross-spawn","css-tree","data-uri-to-buffer","data-urls","debug","decimal.js","depd","diff","dunder-proto","ecdsa-sig-formatter","ee-first","encodeurl","entities","es-define-property","es-errors","es-object-atoms","escape-html","etag","eventsource","eventsource-parser","express","express-rate-limit","extend","fast-deep-equal","fast-uri","fetch-blob","finalhandler","formdata-polyfill","forwarded","fresh","function-bind","gaxios","gcp-metadata","get-east-asian-width","get-intrinsic","get-proto","glob","google-auth-library","google-logging-utils","gopd","graceful-fs","has-symbols","hasown","highlight.js","hono","hosted-git-info","html-encoding-sniffer","http-errors","http-proxy-agent","https-proxy-agent","iconv-lite","ignore","inherits","ip-address","ipaddr.js","is-potential-custom-element-name","is-promise","isexe","jiti","jose","jsdom","json-bigint","json-schema-to-ts","json-schema-traverse","json-schema-typed","jwa","jws","long","lru-cache","marked","math-intrinsics","mdn-data","media-typer","merge-descriptors","mime-db","mime-types","minimatch","minipass","ms","negotiator","node-domexception","node-fetch","object-assign","object-inspect","on-finished","once","openai","p-retry","parse5","parseurl","partial-json","path-key","path-scurry","path-to-regexp","picomatch","pkce-challenge","proper-lockfile","protobufjs","proxy-addr","proxy-from-env","punycode","qs","range-parser","raw-body","require-from-string","retry","router","safe-buffer","safer-buffer","saxes","semver","send","serve-static","setprototypeof","shebang-command","shebang-regex","side-channel","side-channel-list","side-channel-map","side-channel-weakmap","signal-exit","source-map-js","statuses","symbol-tree","tldts","tldts-core","toidentifier","tough-cookie","tr46","ts-algebra","tslib","turndown","type-is","typebox","undici","unpipe","vary","w3c-xmlserializer","web-streams-polyfill","webidl-conversions","whatwg-mimetype","whatwg-url","which","wrappy","ws","xml-name-validator","xmlchars","yaml","zod","zod-to-json-schema"],"optionalDependencies":{"@mariozechner/clipboard":"0.3.9","@mariozechner/clipboard-darwin-x64":"0.3.9","@mariozechner/clipboard-darwin-arm64":"0.3.9","@mariozechner/clipboard-linux-x64-gnu":"0.3.9","@mariozechner/clipboard-linux-x64-musl":"0.3.9","@mariozechner/clipboard-win32-x64-msvc":"0.3.9","@mariozechner/clipboard-linux-arm64-gnu":"0.3.9","@anthropic-ai/claude-agent-sdk-linux-x64":"0.3.220","@anthropic-ai/claude-agent-sdk-win32-x64":"0.3.220","@mariozechner/clipboard-darwin-universal":"0.3.9","@mariozechner/clipboard-linux-arm64-musl":"0.3.9","@mariozechner/clipboard-win32-arm64-msvc":"0.3.9","@anthropic-ai/claude-agent-sdk-darwin-x64":"0.3.220","@mariozechner/clipboard-linux-riscv64-gnu":"0.3.9","@anthropic-ai/claude-agent-sdk-linux-arm64":"0.3.220","@anthropic-ai/claude-agent-sdk-win32-arm64":"0.3.220","@anthropic-ai/claude-agent-sdk-darwin-arm64":"0.3.220","@anthropic-ai/claude-agent-sdk-linux-x64-musl":"0.3.220","@anthropic-ai/claude-agent-sdk-linux-arm64-musl":"0.3.220"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.8.11-5_1786467489703_0.5765024283807065","host":"s3://npm-registry-packages-npm-production"}},"2026.8.11-6":{"name":"@code-yeongyu/senpi","version":"2026.8.11-6","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.8.11-6","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"senpi":"dist/cli.js"},"dist":{"shasum":"25c49dfe14302665d4aa2ef1b916a9873510b8e6","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.8.11-6.tgz","fileCount":29277,"integrity":"sha512-1HMV5RdDPy9cpcteunmsvQSo6ZMsjfjCETP4L5TeWNrzWbcwdvPcjhf5eNS+MEdx/aklOekLkCrDnzKz+AAnxA==","signatures":[{"sig":"MEUCIQDxCGJ7aDZYQ8irWCT5wt+hqjWqse6UU804HdhN1gJyFAIgSl65WpzeSA2jLgQhQyDqiesXCcabJtd32rADwRAKNl8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.8.11-6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":178054513},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.js"},"./rpc-entry":{"import":"./dist/rpc-entry.js"}},"gitHead":"20d33e8e46bef8ad38fcf1e99f8196b599741c44","scripts":{"dev":"tsc -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsc -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js dist/rpc-entry.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/","build:binary":"npm --prefix ../tui run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm --prefix ../protocol run build && npm --prefix ../client run build && npm --prefix ../pty run build && npm run build && node ../../scripts/prepare-bun-compile-assets.mjs && bun build --compile --compile-autoload-package-json --no-compile-autoload-dotenv --minify --keep-names ./dist/bun/cli.js ./src/utils/image-resize-worker.ts ../../node_modules/jsdom/lib/jsdom/living/xhr/xhr-sync-worker.js --outfile dist/pi && npm run copy-binary-assets","qa:app-server":"node scripts/qa-app-server/run-all.mjs","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/export-html/ && shx cp -r docs dist/ && shx cp -r examples dist/ && shx mkdir -p dist/node_modules && shx cp -r ../../node_modules/css-tree ../../node_modules/mdn-data ../../node_modules/source-map-js dist/node_modules/ && node ../../scripts/copy-codemode-sidecar.mjs dist && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/ && shx mkdir -p dist/native/darwin dist/native/win32 && shx cp -r ../../packages/tui/native/darwin/prebuilds dist/native/darwin/ && shx cp -r ../../packages/tui/native/win32/prebuilds dist/native/win32/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/ && node ../../scripts/copy-pty-native.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ea548fc8-dac4-4dec-a439-6f4fa3870309"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.2"},"rimraf":"6.1.2","protobufjs":"7.6.5","@hono/node-server":"2.0.10"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.16.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ms":"*","qs":"*","ws":"8.21.1","ajv":"*","jwa":"*","jws":"*","zod":"4.4.3","cors":"*","depd":"*","diff":"9.0.0","etag":"*","glob":"13.0.6","gopd":"*","hono":"*","jiti":"2.7.0","jose":"*","long":"*","once":"*","send":"*","tr46":"*","vary":"*","yaml":"2.9.0","bytes":"*","chalk":"6.0.0","debug":"*","fresh":"*","isexe":"*","jsdom":"29.1.1","retry":"*","saxes":"*","tldts":"*","tslib":"*","which":"*","bowser":"*","cookie":"*","extend":"*","gaxios":"*","hasown":"*","ignore":"7.0.6","marked":"18.0.7","openai":"6.26.0","parse5":"*","router":"*","semver":"7.8.5","undici":"8.9.0","unpipe":"*","wrappy":"*","accepts":"*","bidi-js":"*","express":"*","mime-db":"*","p-retry":"*","type-is":"*","typebox":"1.3.8","css-tree":"*","ee-first":"*","entities":"*","fast-uri":"*","inherits":"*","mdn-data":"*","minipass":"*","parseurl":"*","path-key":"*","punycode":"*","raw-body":"*","statuses":"*","turndown":"7.2.4","xmlchars":"*","base64-js":"*","data-urls":"*","encodeurl":"*","es-errors":"*","forwarded":"*","get-proto":"*","ipaddr.js":"*","lru-cache":"*","minimatch":"10.2.5","picomatch":"4.0.5","agent-base":"*","call-bound":"*","decimal.js":"*","fetch-blob":"*","iconv-lite":"*","ip-address":"*","is-promise":"*","mime-types":"*","negotiator":"*","node-fetch":"*","protobufjs":"*","proxy-addr":"*","tldts-core":"*","ts-algebra":"*","whatwg-url":"*","@types/node":"*","ajv-formats":"*","body-parser":"*","cross-spawn":"7.0.6","escape-html":"*","eventsource":"*","graceful-fs":"*","has-symbols":"*","http-errors":"*","json-bigint":"*","media-typer":"*","on-finished":"*","path-scurry":"*","safe-buffer":"*","signal-exit":"*","symbol-tree":"*","@babel/types":"*","@smithy/core":"*","bignumber.js":"*","content-type":"*","dunder-proto":"*","finalhandler":"*","gcp-metadata":"*","highlight.js":"11.11.1","partial-json":"0.1.7","range-parser":"*","safer-buffer":"*","serve-static":"*","side-channel":"*","toidentifier":"*","tough-cookie":"*","@aws-sdk/core":"*","@babel/parser":"*","@exodus/bytes":"*","@google/genai":"*","@smithy/types":"4.16.1","function-bind":"*","get-intrinsic":"*","object-assign":"*","shebang-regex":"*","source-map-js":"*","@aws-sdk/types":"*","@babel/runtime":"*","balanced-match":"*","object-inspect":"*","path-to-regexp":"*","pkce-challenge":"*","proxy-from-env":"2.1.0","setprototypeof":"*","@xterm/headless":"*","brace-expansion":"*","es-object-atoms":"*","fast-deep-equal":"*","hosted-git-info":"10.1.1","math-intrinsics":"*","proper-lockfile":"4.1.2","shebang-command":"*","whatwg-mimetype":"*","@aws-crypto/util":"*","@protobufjs/path":"*","@protobufjs/pool":"*","@protobufjs/utf8":"*","cookie-signature":"*","http-proxy-agent":"9.1.0","side-channel-map":"*","@anthropic-ai/sdk":"0.91.1","@hono/node-server":"*","@protobufjs/fetch":"*","@protobufjs/float":"*","@smithy/util-utf8":"*","formdata-polyfill":"*","https-proxy-agent":"9.1.0","json-schema-to-ts":"*","json-schema-typed":"*","merge-descriptors":"*","node-domexception":"*","side-channel-list":"*","w3c-xmlserializer":"*","@asamuzakjp/nwsapi":"*","@csstools/css-calc":"*","@mixmark-io/domino":"*","@opentelemetry/api":"1.9.1","@protobufjs/base64":"*","data-uri-to-buffer":"*","es-define-property":"*","eventsource-parser":"*","express-rate-limit":"*","webidl-conversions":"*","xml-name-validator":"*","zod-to-json-schema":"*","@bramus/specificity":"*","@protobufjs/codegen":"*","content-disposition":"*","ecdsa-sig-formatter":"*","google-auth-library":"*","require-from-string":"*","@aws-sdk/xml-builder":"*","@mistralai/mistralai":"2.5.0","@mozilla/readability":"0.6.0","@smithy/signature-v4":"*","get-east-asian-width":"1.6.0","google-logging-utils":"*","json-schema-traverse":"*","side-channel-weakmap":"*","web-streams-polyfill":"*","@asamuzakjp/css-color":"*","@aws-crypto/sha256-js":"*","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.8.11-6","@protobufjs/aspromise":"*","html-encoding-sniffer":"*","@earendil-works/pi-pty":"npm:@code-yeongyu/senpi-pty@2026.8.11-6","@earendil-works/pi-tui":"npm:@code-yeongyu/senpi-tui@2026.8.11-6","@aws-sdk/nested-clients":"*","@csstools/color-helpers":"*","@csstools/css-tokenizer":"*","@mariozechner/clipboard":"*","@smithy/is-array-buffer":"*","call-bind-apply-helpers":"*","@asamuzakjp/dom-selector":"*","@aws-sdk/token-providers":"*","@aws/lambda-invoke-store":"*","@protobufjs/eventemitter":"*","@smithy/util-buffer-from":"*","@modelcontextprotocol/sdk":"1.30.0","@smithy/node-http-handler":"4.9.11","@aws-crypto/sha256-browser":"*","@csstools/css-color-parser":"*","@silvia-odwyer/photon-node":"0.3.4","@smithy/fetch-http-handler":"*","buffer-equal-constant-time":"*","@aws-sdk/util-locate-window":"*","@babel/helper-string-parser":"*","@code-yeongyu/senpi-codemode":"2026.8.11-6","@aws-sdk/middleware-websocket":"*","@earendil-works/pi-agent-core":"npm:@code-yeongyu/senpi-agent-core@2026.8.11-6","@anthropic-ai/claude-agent-sdk":"0.3.220","@asamuzakjp/generational-cache":"*","@aws-crypto/supports-web-crypto":"*","@aws-sdk/client-bedrock-runtime":"3.1095.0","@aws-sdk/middleware-eventstream":"*","@csstools/css-parser-algorithms":"*","@aws-sdk/credential-provider-env":"*","@aws-sdk/credential-provider-ini":"*","@aws-sdk/credential-provider-sso":"*","@smithy/credential-provider-imds":"*","is-potential-custom-element-name":"*","@aws-sdk/credential-provider-http":"*","@aws-sdk/credential-provider-node":"*","@aws-sdk/eventstream-handler-node":"*","@aws-sdk/credential-provider-login":"*","@aws-sdk/signature-v4-multi-region":"*","@babel/helper-validator-identifier":"*","@opentelemetry/semantic-conventions":"*","@aws-sdk/credential-provider-process":"*","@csstools/css-syntax-patches-for-csstree":"*","@aws-sdk/credential-provider-web-identity":"*"},"_hasShrinkwrap":false,"devDependencies":{"shx":"0.4.0","vitest":"4.1.10","@types/ms":"2.1.0","@types/ws":"8.18.1","typescript":"7.0.2","@types/node":"26.1.1","@types/jsdom":"28.0.3","@types/semver":"7.7.1","@types/turndown":"5.0.6","@types/picomatch":"4.0.3","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@anthropic-ai/claude-agent-sdk","@anthropic-ai/sdk","@asamuzakjp/css-color","@asamuzakjp/dom-selector","@asamuzakjp/generational-cache","@asamuzakjp/nwsapi","@aws-crypto/sha256-browser","@aws-crypto/sha256-js","@aws-crypto/supports-web-crypto","@aws-crypto/util","@aws-sdk/client-bedrock-runtime","@aws-sdk/core","@aws-sdk/credential-provider-env","@aws-sdk/credential-provider-http","@aws-sdk/credential-provider-ini","@aws-sdk/credential-provider-login","@aws-sdk/credential-provider-node","@aws-sdk/credential-provider-process","@aws-sdk/credential-provider-sso","@aws-sdk/credential-provider-web-identity","@aws-sdk/eventstream-handler-node","@aws-sdk/middleware-eventstream","@aws-sdk/middleware-websocket","@aws-sdk/nested-clients","@aws-sdk/signature-v4-multi-region","@aws-sdk/token-providers","@aws-sdk/types","@aws-sdk/util-locate-window","@aws-sdk/xml-builder","@aws/lambda-invoke-store","@babel/helper-string-parser","@babel/helper-validator-identifier","@babel/parser","@babel/runtime","@babel/types","@bramus/specificity","@code-yeongyu/senpi-codemode","@csstools/color-helpers","@csstools/css-calc","@csstools/css-color-parser","@csstools/css-parser-algorithms","@csstools/css-syntax-patches-for-csstree","@csstools/css-tokenizer","@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-pty","@earendil-works/pi-tui","@exodus/bytes","@google/genai","@hono/node-server","@mariozechner/clipboard","@mistralai/mistralai","@mixmark-io/domino","@modelcontextprotocol/sdk","@mozilla/readability","@opentelemetry/api","@opentelemetry/semantic-conventions","@protobufjs/aspromise","@protobufjs/base64","@protobufjs/codegen","@protobufjs/eventemitter","@protobufjs/fetch","@protobufjs/float","@protobufjs/path","@protobufjs/pool","@protobufjs/utf8","@silvia-odwyer/photon-node","@smithy/core","@smithy/credential-provider-imds","@smithy/fetch-http-handler","@smithy/is-array-buffer","@smithy/node-http-handler","@smithy/signature-v4","@smithy/types","@smithy/util-buffer-from","@smithy/util-utf8","@types/node","@xterm/headless","accepts","agent-base","ajv","ajv-formats","balanced-match","base64-js","bidi-js","bignumber.js","body-parser","bowser","brace-expansion","buffer-equal-constant-time","bytes","call-bind-apply-helpers","call-bound","chalk","content-disposition","content-type","cookie","cookie-signature","cors","cross-spawn","css-tree","data-uri-to-buffer","data-urls","debug","decimal.js","depd","diff","dunder-proto","ecdsa-sig-formatter","ee-first","encodeurl","entities","es-define-property","es-errors","es-object-atoms","escape-html","etag","eventsource","eventsource-parser","express","express-rate-limit","extend","fast-deep-equal","fast-uri","fetch-blob","finalhandler","formdata-polyfill","forwarded","fresh","function-bind","gaxios","gcp-metadata","get-east-asian-width","get-intrinsic","get-proto","glob","google-auth-library","google-logging-utils","gopd","graceful-fs","has-symbols","hasown","highlight.js","hono","hosted-git-info","html-encoding-sniffer","http-errors","http-proxy-agent","https-proxy-agent","iconv-lite","ignore","inherits","ip-address","ipaddr.js","is-potential-custom-element-name","is-promise","isexe","jiti","jose","jsdom","json-bigint","json-schema-to-ts","json-schema-traverse","json-schema-typed","jwa","jws","long","lru-cache","marked","math-intrinsics","mdn-data","media-typer","merge-descriptors","mime-db","mime-types","minimatch","minipass","ms","negotiator","node-domexception","node-fetch","object-assign","object-inspect","on-finished","once","openai","p-retry","parse5","parseurl","partial-json","path-key","path-scurry","path-to-regexp","picomatch","pkce-challenge","proper-lockfile","protobufjs","proxy-addr","proxy-from-env","punycode","qs","range-parser","raw-body","require-from-string","retry","router","safe-buffer","safer-buffer","saxes","semver","send","serve-static","setprototypeof","shebang-command","shebang-regex","side-channel","side-channel-list","side-channel-map","side-channel-weakmap","signal-exit","source-map-js","statuses","symbol-tree","tldts","tldts-core","toidentifier","tough-cookie","tr46","ts-algebra","tslib","turndown","type-is","typebox","undici","unpipe","vary","w3c-xmlserializer","web-streams-polyfill","webidl-conversions","whatwg-mimetype","whatwg-url","which","wrappy","ws","xml-name-validator","xmlchars","yaml","zod","zod-to-json-schema"],"optionalDependencies":{"@mariozechner/clipboard":"0.3.9","@mariozechner/clipboard-darwin-x64":"0.3.9","@mariozechner/clipboard-darwin-arm64":"0.3.9","@mariozechner/clipboard-linux-x64-gnu":"0.3.9","@mariozechner/clipboard-linux-x64-musl":"0.3.9","@mariozechner/clipboard-win32-x64-msvc":"0.3.9","@mariozechner/clipboard-linux-arm64-gnu":"0.3.9","@anthropic-ai/claude-agent-sdk-linux-x64":"0.3.220","@anthropic-ai/claude-agent-sdk-win32-x64":"0.3.220","@mariozechner/clipboard-darwin-universal":"0.3.9","@mariozechner/clipboard-linux-arm64-musl":"0.3.9","@mariozechner/clipboard-win32-arm64-msvc":"0.3.9","@anthropic-ai/claude-agent-sdk-darwin-x64":"0.3.220","@mariozechner/clipboard-linux-riscv64-gnu":"0.3.9","@anthropic-ai/claude-agent-sdk-linux-arm64":"0.3.220","@anthropic-ai/claude-agent-sdk-win32-arm64":"0.3.220","@anthropic-ai/claude-agent-sdk-darwin-arm64":"0.3.220","@anthropic-ai/claude-agent-sdk-linux-x64-musl":"0.3.220","@anthropic-ai/claude-agent-sdk-linux-arm64-musl":"0.3.220"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.8.11-6_1786475150364_0.21073537148076804","host":"s3://npm-registry-packages-npm-production"}},"2026.8.12":{"name":"@code-yeongyu/senpi","version":"2026.8.12","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.8.12","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"senpi":"dist/cli.js"},"dist":{"shasum":"8f2001b06e1309091f9cbf951a6a79cf456caebb","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.8.12.tgz","fileCount":29277,"integrity":"sha512-ECDwgaVuA/1t+9CwIoDklc8QqEFLURbS3XV1rF14QDdVTTxYgiRD6cX5XeLsfuBh67YoP2SBK9AyoyALn9QP5Q==","signatures":[{"sig":"MEYCIQCSfGnW3o02jWZECrHmyR3cbM44a3Ln05pBmAtM6Yu3rwIhAPW8PtovxM6xPg7jcVWm/cJbpg3MNen5L2wjzygln4BN","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.8.12","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":178066111},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.js"},"./rpc-entry":{"import":"./dist/rpc-entry.js"}},"gitHead":"8257c6dfcdb6976a8c18055cecac9a3a83799141","scripts":{"dev":"tsc -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsc -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js dist/rpc-entry.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/","build:binary":"npm --prefix ../tui run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm --prefix ../protocol run build && npm --prefix ../client run build && npm --prefix ../pty run build && npm run build && node ../../scripts/prepare-bun-compile-assets.mjs && bun build --compile --compile-autoload-package-json --no-compile-autoload-dotenv --minify --keep-names ./dist/bun/cli.js ./src/utils/image-resize-worker.ts ../../node_modules/jsdom/lib/jsdom/living/xhr/xhr-sync-worker.js --outfile dist/pi && npm run copy-binary-assets","qa:app-server":"node scripts/qa-app-server/run-all.mjs","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/export-html/ && shx cp -r docs dist/ && shx cp -r examples dist/ && shx mkdir -p dist/node_modules && shx cp -r ../../node_modules/css-tree ../../node_modules/mdn-data ../../node_modules/source-map-js dist/node_modules/ && node ../../scripts/copy-codemode-sidecar.mjs dist && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/ && shx mkdir -p dist/native/darwin dist/native/win32 && shx cp -r ../../packages/tui/native/darwin/prebuilds dist/native/darwin/ && shx cp -r ../../packages/tui/native/win32/prebuilds dist/native/win32/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/ && node ../../scripts/copy-pty-native.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ea548fc8-dac4-4dec-a439-6f4fa3870309"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.2"},"rimraf":"6.1.2","protobufjs":"7.6.5","@hono/node-server":"2.0.10"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.16.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ms":"*","qs":"*","ws":"8.21.1","ajv":"*","jwa":"*","jws":"*","zod":"4.4.3","cors":"*","depd":"*","diff":"9.0.0","etag":"*","glob":"13.0.6","gopd":"*","hono":"*","jiti":"2.7.0","jose":"*","long":"*","once":"*","send":"*","tr46":"*","vary":"*","yaml":"2.9.0","bytes":"*","chalk":"6.0.0","debug":"*","fresh":"*","isexe":"*","jsdom":"29.1.1","retry":"*","saxes":"*","tldts":"*","tslib":"*","which":"*","bowser":"*","cookie":"*","extend":"*","gaxios":"*","hasown":"*","ignore":"7.0.6","marked":"18.0.7","openai":"6.26.0","parse5":"*","router":"*","semver":"7.8.5","undici":"8.9.0","unpipe":"*","wrappy":"*","accepts":"*","bidi-js":"*","express":"*","mime-db":"*","p-retry":"*","type-is":"*","typebox":"1.3.8","css-tree":"*","ee-first":"*","entities":"*","fast-uri":"*","inherits":"*","mdn-data":"*","minipass":"*","parseurl":"*","path-key":"*","punycode":"*","raw-body":"*","statuses":"*","turndown":"7.2.4","xmlchars":"*","base64-js":"*","data-urls":"*","encodeurl":"*","es-errors":"*","forwarded":"*","get-proto":"*","ipaddr.js":"*","lru-cache":"*","minimatch":"10.2.5","picomatch":"4.0.5","agent-base":"*","call-bound":"*","decimal.js":"*","fetch-blob":"*","iconv-lite":"*","ip-address":"*","is-promise":"*","mime-types":"*","negotiator":"*","node-fetch":"*","protobufjs":"*","proxy-addr":"*","tldts-core":"*","ts-algebra":"*","whatwg-url":"*","@types/node":"*","ajv-formats":"*","body-parser":"*","cross-spawn":"7.0.6","escape-html":"*","eventsource":"*","graceful-fs":"*","has-symbols":"*","http-errors":"*","json-bigint":"*","media-typer":"*","on-finished":"*","path-scurry":"*","safe-buffer":"*","signal-exit":"*","symbol-tree":"*","@babel/types":"*","@smithy/core":"*","bignumber.js":"*","content-type":"*","dunder-proto":"*","finalhandler":"*","gcp-metadata":"*","highlight.js":"11.11.1","partial-json":"0.1.7","range-parser":"*","safer-buffer":"*","serve-static":"*","side-channel":"*","toidentifier":"*","tough-cookie":"*","@aws-sdk/core":"*","@babel/parser":"*","@exodus/bytes":"*","@google/genai":"*","@smithy/types":"4.16.1","function-bind":"*","get-intrinsic":"*","object-assign":"*","shebang-regex":"*","source-map-js":"*","@aws-sdk/types":"*","@babel/runtime":"*","balanced-match":"*","object-inspect":"*","path-to-regexp":"*","pkce-challenge":"*","proxy-from-env":"2.1.0","setprototypeof":"*","@xterm/headless":"*","brace-expansion":"*","es-object-atoms":"*","fast-deep-equal":"*","hosted-git-info":"10.1.1","math-intrinsics":"*","proper-lockfile":"4.1.2","shebang-command":"*","whatwg-mimetype":"*","@aws-crypto/util":"*","@protobufjs/path":"*","@protobufjs/pool":"*","@protobufjs/utf8":"*","cookie-signature":"*","http-proxy-agent":"9.1.0","side-channel-map":"*","@anthropic-ai/sdk":"0.91.1","@hono/node-server":"*","@protobufjs/fetch":"*","@protobufjs/float":"*","@smithy/util-utf8":"*","formdata-polyfill":"*","https-proxy-agent":"9.1.0","json-schema-to-ts":"*","json-schema-typed":"*","merge-descriptors":"*","node-domexception":"*","side-channel-list":"*","w3c-xmlserializer":"*","@asamuzakjp/nwsapi":"*","@csstools/css-calc":"*","@mixmark-io/domino":"*","@opentelemetry/api":"1.9.1","@protobufjs/base64":"*","data-uri-to-buffer":"*","es-define-property":"*","eventsource-parser":"*","express-rate-limit":"*","webidl-conversions":"*","xml-name-validator":"*","zod-to-json-schema":"*","@bramus/specificity":"*","@protobufjs/codegen":"*","content-disposition":"*","ecdsa-sig-formatter":"*","google-auth-library":"*","require-from-string":"*","@aws-sdk/xml-builder":"*","@mistralai/mistralai":"2.5.0","@mozilla/readability":"0.6.0","@smithy/signature-v4":"*","get-east-asian-width":"1.6.0","google-logging-utils":"*","json-schema-traverse":"*","side-channel-weakmap":"*","web-streams-polyfill":"*","@asamuzakjp/css-color":"*","@aws-crypto/sha256-js":"*","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.8.12","@protobufjs/aspromise":"*","html-encoding-sniffer":"*","@earendil-works/pi-pty":"npm:@code-yeongyu/senpi-pty@2026.8.12","@earendil-works/pi-tui":"npm:@code-yeongyu/senpi-tui@2026.8.12","@aws-sdk/nested-clients":"*","@csstools/color-helpers":"*","@csstools/css-tokenizer":"*","@mariozechner/clipboard":"*","@smithy/is-array-buffer":"*","call-bind-apply-helpers":"*","@asamuzakjp/dom-selector":"*","@aws-sdk/token-providers":"*","@aws/lambda-invoke-store":"*","@protobufjs/eventemitter":"*","@smithy/util-buffer-from":"*","@modelcontextprotocol/sdk":"1.30.0","@smithy/node-http-handler":"4.9.11","@aws-crypto/sha256-browser":"*","@csstools/css-color-parser":"*","@silvia-odwyer/photon-node":"0.3.4","@smithy/fetch-http-handler":"*","buffer-equal-constant-time":"*","@aws-sdk/util-locate-window":"*","@babel/helper-string-parser":"*","@code-yeongyu/senpi-codemode":"2026.8.12","@aws-sdk/middleware-websocket":"*","@earendil-works/pi-agent-core":"npm:@code-yeongyu/senpi-agent-core@2026.8.12","@anthropic-ai/claude-agent-sdk":"0.3.220","@asamuzakjp/generational-cache":"*","@aws-crypto/supports-web-crypto":"*","@aws-sdk/client-bedrock-runtime":"3.1095.0","@aws-sdk/middleware-eventstream":"*","@csstools/css-parser-algorithms":"*","@aws-sdk/credential-provider-env":"*","@aws-sdk/credential-provider-ini":"*","@aws-sdk/credential-provider-sso":"*","@smithy/credential-provider-imds":"*","is-potential-custom-element-name":"*","@aws-sdk/credential-provider-http":"*","@aws-sdk/credential-provider-node":"*","@aws-sdk/eventstream-handler-node":"*","@aws-sdk/credential-provider-login":"*","@aws-sdk/signature-v4-multi-region":"*","@babel/helper-validator-identifier":"*","@opentelemetry/semantic-conventions":"*","@aws-sdk/credential-provider-process":"*","@csstools/css-syntax-patches-for-csstree":"*","@aws-sdk/credential-provider-web-identity":"*"},"_hasShrinkwrap":false,"devDependencies":{"shx":"0.4.0","vitest":"4.1.10","@types/ms":"2.1.0","@types/ws":"8.18.1","typescript":"7.0.2","@types/node":"26.1.1","@types/jsdom":"28.0.3","@types/semver":"7.7.1","@types/turndown":"5.0.6","@types/picomatch":"4.0.3","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@anthropic-ai/claude-agent-sdk","@anthropic-ai/sdk","@asamuzakjp/css-color","@asamuzakjp/dom-selector","@asamuzakjp/generational-cache","@asamuzakjp/nwsapi","@aws-crypto/sha256-browser","@aws-crypto/sha256-js","@aws-crypto/supports-web-crypto","@aws-crypto/util","@aws-sdk/client-bedrock-runtime","@aws-sdk/core","@aws-sdk/credential-provider-env","@aws-sdk/credential-provider-http","@aws-sdk/credential-provider-ini","@aws-sdk/credential-provider-login","@aws-sdk/credential-provider-node","@aws-sdk/credential-provider-process","@aws-sdk/credential-provider-sso","@aws-sdk/credential-provider-web-identity","@aws-sdk/eventstream-handler-node","@aws-sdk/middleware-eventstream","@aws-sdk/middleware-websocket","@aws-sdk/nested-clients","@aws-sdk/signature-v4-multi-region","@aws-sdk/token-providers","@aws-sdk/types","@aws-sdk/util-locate-window","@aws-sdk/xml-builder","@aws/lambda-invoke-store","@babel/helper-string-parser","@babel/helper-validator-identifier","@babel/parser","@babel/runtime","@babel/types","@bramus/specificity","@code-yeongyu/senpi-codemode","@csstools/color-helpers","@csstools/css-calc","@csstools/css-color-parser","@csstools/css-parser-algorithms","@csstools/css-syntax-patches-for-csstree","@csstools/css-tokenizer","@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-pty","@earendil-works/pi-tui","@exodus/bytes","@google/genai","@hono/node-server","@mariozechner/clipboard","@mistralai/mistralai","@mixmark-io/domino","@modelcontextprotocol/sdk","@mozilla/readability","@opentelemetry/api","@opentelemetry/semantic-conventions","@protobufjs/aspromise","@protobufjs/base64","@protobufjs/codegen","@protobufjs/eventemitter","@protobufjs/fetch","@protobufjs/float","@protobufjs/path","@protobufjs/pool","@protobufjs/utf8","@silvia-odwyer/photon-node","@smithy/core","@smithy/credential-provider-imds","@smithy/fetch-http-handler","@smithy/is-array-buffer","@smithy/node-http-handler","@smithy/signature-v4","@smithy/types","@smithy/util-buffer-from","@smithy/util-utf8","@types/node","@xterm/headless","accepts","agent-base","ajv","ajv-formats","balanced-match","base64-js","bidi-js","bignumber.js","body-parser","bowser","brace-expansion","buffer-equal-constant-time","bytes","call-bind-apply-helpers","call-bound","chalk","content-disposition","content-type","cookie","cookie-signature","cors","cross-spawn","css-tree","data-uri-to-buffer","data-urls","debug","decimal.js","depd","diff","dunder-proto","ecdsa-sig-formatter","ee-first","encodeurl","entities","es-define-property","es-errors","es-object-atoms","escape-html","etag","eventsource","eventsource-parser","express","express-rate-limit","extend","fast-deep-equal","fast-uri","fetch-blob","finalhandler","formdata-polyfill","forwarded","fresh","function-bind","gaxios","gcp-metadata","get-east-asian-width","get-intrinsic","get-proto","glob","google-auth-library","google-logging-utils","gopd","graceful-fs","has-symbols","hasown","highlight.js","hono","hosted-git-info","html-encoding-sniffer","http-errors","http-proxy-agent","https-proxy-agent","iconv-lite","ignore","inherits","ip-address","ipaddr.js","is-potential-custom-element-name","is-promise","isexe","jiti","jose","jsdom","json-bigint","json-schema-to-ts","json-schema-traverse","json-schema-typed","jwa","jws","long","lru-cache","marked","math-intrinsics","mdn-data","media-typer","merge-descriptors","mime-db","mime-types","minimatch","minipass","ms","negotiator","node-domexception","node-fetch","object-assign","object-inspect","on-finished","once","openai","p-retry","parse5","parseurl","partial-json","path-key","path-scurry","path-to-regexp","picomatch","pkce-challenge","proper-lockfile","protobufjs","proxy-addr","proxy-from-env","punycode","qs","range-parser","raw-body","require-from-string","retry","router","safe-buffer","safer-buffer","saxes","semver","send","serve-static","setprototypeof","shebang-command","shebang-regex","side-channel","side-channel-list","side-channel-map","side-channel-weakmap","signal-exit","source-map-js","statuses","symbol-tree","tldts","tldts-core","toidentifier","tough-cookie","tr46","ts-algebra","tslib","turndown","type-is","typebox","undici","unpipe","vary","w3c-xmlserializer","web-streams-polyfill","webidl-conversions","whatwg-mimetype","whatwg-url","which","wrappy","ws","xml-name-validator","xmlchars","yaml","zod","zod-to-json-schema"],"optionalDependencies":{"@mariozechner/clipboard":"0.3.9","@mariozechner/clipboard-darwin-x64":"0.3.9","@mariozechner/clipboard-darwin-arm64":"0.3.9","@mariozechner/clipboard-linux-x64-gnu":"0.3.9","@mariozechner/clipboard-linux-x64-musl":"0.3.9","@mariozechner/clipboard-win32-x64-msvc":"0.3.9","@mariozechner/clipboard-linux-arm64-gnu":"0.3.9","@anthropic-ai/claude-agent-sdk-linux-x64":"0.3.220","@anthropic-ai/claude-agent-sdk-win32-x64":"0.3.220","@mariozechner/clipboard-darwin-universal":"0.3.9","@mariozechner/clipboard-linux-arm64-musl":"0.3.9","@mariozechner/clipboard-win32-arm64-msvc":"0.3.9","@anthropic-ai/claude-agent-sdk-darwin-x64":"0.3.220","@mariozechner/clipboard-linux-riscv64-gnu":"0.3.9","@anthropic-ai/claude-agent-sdk-linux-arm64":"0.3.220","@anthropic-ai/claude-agent-sdk-win32-arm64":"0.3.220","@anthropic-ai/claude-agent-sdk-darwin-arm64":"0.3.220","@anthropic-ai/claude-agent-sdk-linux-x64-musl":"0.3.220","@anthropic-ai/claude-agent-sdk-linux-arm64-musl":"0.3.220"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.8.12_1786519682309_0.6133063943595991","host":"s3://npm-registry-packages-npm-production"}},"2026.8.12-2":{"name":"@code-yeongyu/senpi","version":"2026.8.12-2","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.8.12-2","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"senpi":"dist/cli.js"},"dist":{"shasum":"541583279455509d141b5a31f57b4bc7fea90660","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.8.12-2.tgz","fileCount":29277,"integrity":"sha512-y7OSLFHRqgn8+K7mCDwx8NMJokS/FnuY9kwV9Vj/AKcvwPpkoRgxGNxzwAQ27KPSa5/uHcYDbqXL5t85H409Dw==","signatures":[{"sig":"MEYCIQDT4++nAfkWWqh+npKJmNJP3Wc8z0w6ZPnjt2dgJqHL8QIhAK6AbAYW2ELI5dlsB0BYVnmZ3dHrzy67sF+HN62jtU5y","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.8.12-2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":178069703},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.js"},"./rpc-entry":{"import":"./dist/rpc-entry.js"}},"gitHead":"f04a69e84534656c14c2cfc0a8678ec59ae40e2a","scripts":{"dev":"tsc -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsc -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js dist/rpc-entry.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/","build:binary":"npm --prefix ../tui run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm --prefix ../protocol run build && npm --prefix ../client run build && npm --prefix ../pty run build && npm run build && node ../../scripts/prepare-bun-compile-assets.mjs && bun build --compile --compile-autoload-package-json --no-compile-autoload-dotenv --minify --keep-names ./dist/bun/cli.js ./src/utils/image-resize-worker.ts ../../node_modules/jsdom/lib/jsdom/living/xhr/xhr-sync-worker.js --outfile dist/pi && npm run copy-binary-assets","qa:app-server":"node scripts/qa-app-server/run-all.mjs","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/export-html/ && shx cp -r docs dist/ && shx cp -r examples dist/ && shx mkdir -p dist/node_modules && shx cp -r ../../node_modules/css-tree ../../node_modules/mdn-data ../../node_modules/source-map-js dist/node_modules/ && node ../../scripts/copy-codemode-sidecar.mjs dist && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/ && shx mkdir -p dist/native/darwin dist/native/win32 && shx cp -r ../../packages/tui/native/darwin/prebuilds dist/native/darwin/ && shx cp -r ../../packages/tui/native/win32/prebuilds dist/native/win32/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/ && node ../../scripts/copy-pty-native.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ea548fc8-dac4-4dec-a439-6f4fa3870309"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.2"},"rimraf":"6.1.2","protobufjs":"7.6.5","@hono/node-server":"2.0.10"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.17.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.19.0","dependencies":{"ms":"*","qs":"*","ws":"8.21.1","ajv":"*","jwa":"*","jws":"*","zod":"4.4.3","cors":"*","depd":"*","diff":"9.0.0","etag":"*","glob":"13.0.6","gopd":"*","hono":"*","jiti":"2.7.0","jose":"*","long":"*","once":"*","send":"*","tr46":"*","vary":"*","yaml":"2.9.0","bytes":"*","chalk":"6.0.0","debug":"*","fresh":"*","isexe":"*","jsdom":"29.1.1","retry":"*","saxes":"*","tldts":"*","tslib":"*","which":"*","bowser":"*","cookie":"*","extend":"*","gaxios":"*","hasown":"*","ignore":"7.0.6","marked":"18.0.7","openai":"6.26.0","parse5":"*","router":"*","semver":"7.8.5","undici":"8.9.0","unpipe":"*","wrappy":"*","accepts":"*","bidi-js":"*","express":"*","mime-db":"*","p-retry":"*","type-is":"*","typebox":"1.3.8","css-tree":"*","ee-first":"*","entities":"*","fast-uri":"*","inherits":"*","mdn-data":"*","minipass":"*","parseurl":"*","path-key":"*","punycode":"*","raw-body":"*","statuses":"*","turndown":"7.2.4","xmlchars":"*","base64-js":"*","data-urls":"*","encodeurl":"*","es-errors":"*","forwarded":"*","get-proto":"*","ipaddr.js":"*","lru-cache":"*","minimatch":"10.2.5","picomatch":"4.0.5","agent-base":"*","call-bound":"*","decimal.js":"*","fetch-blob":"*","iconv-lite":"*","ip-address":"*","is-promise":"*","mime-types":"*","negotiator":"*","node-fetch":"*","protobufjs":"*","proxy-addr":"*","tldts-core":"*","ts-algebra":"*","whatwg-url":"*","@types/node":"*","ajv-formats":"*","body-parser":"*","cross-spawn":"7.0.6","escape-html":"*","eventsource":"*","graceful-fs":"*","has-symbols":"*","http-errors":"*","json-bigint":"*","media-typer":"*","on-finished":"*","path-scurry":"*","safe-buffer":"*","signal-exit":"*","symbol-tree":"*","@babel/types":"*","@smithy/core":"*","bignumber.js":"*","content-type":"*","dunder-proto":"*","finalhandler":"*","gcp-metadata":"*","highlight.js":"11.11.1","partial-json":"0.1.7","range-parser":"*","safer-buffer":"*","serve-static":"*","side-channel":"*","toidentifier":"*","tough-cookie":"*","@aws-sdk/core":"*","@babel/parser":"*","@exodus/bytes":"*","@google/genai":"*","@smithy/types":"4.16.1","function-bind":"*","get-intrinsic":"*","object-assign":"*","shebang-regex":"*","source-map-js":"*","@aws-sdk/types":"*","@babel/runtime":"*","balanced-match":"*","object-inspect":"*","path-to-regexp":"*","pkce-challenge":"*","proxy-from-env":"2.1.0","setprototypeof":"*","@xterm/headless":"*","brace-expansion":"*","es-object-atoms":"*","fast-deep-equal":"*","hosted-git-info":"10.1.1","math-intrinsics":"*","proper-lockfile":"4.1.2","shebang-command":"*","whatwg-mimetype":"*","@aws-crypto/util":"*","@protobufjs/path":"*","@protobufjs/pool":"*","@protobufjs/utf8":"*","cookie-signature":"*","http-proxy-agent":"9.1.0","side-channel-map":"*","@anthropic-ai/sdk":"0.91.1","@hono/node-server":"*","@protobufjs/fetch":"*","@protobufjs/float":"*","@smithy/util-utf8":"*","formdata-polyfill":"*","https-proxy-agent":"9.1.0","json-schema-to-ts":"*","json-schema-typed":"*","merge-descriptors":"*","node-domexception":"*","side-channel-list":"*","w3c-xmlserializer":"*","@asamuzakjp/nwsapi":"*","@csstools/css-calc":"*","@mixmark-io/domino":"*","@opentelemetry/api":"1.9.1","@protobufjs/base64":"*","data-uri-to-buffer":"*","es-define-property":"*","eventsource-parser":"*","express-rate-limit":"*","webidl-conversions":"*","xml-name-validator":"*","zod-to-json-schema":"*","@bramus/specificity":"*","@protobufjs/codegen":"*","content-disposition":"*","ecdsa-sig-formatter":"*","google-auth-library":"*","require-from-string":"*","@aws-sdk/xml-builder":"*","@mistralai/mistralai":"2.5.0","@mozilla/readability":"0.6.0","@smithy/signature-v4":"*","get-east-asian-width":"1.6.0","google-logging-utils":"*","json-schema-traverse":"*","side-channel-weakmap":"*","web-streams-polyfill":"*","@asamuzakjp/css-color":"*","@aws-crypto/sha256-js":"*","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.8.12-2","@protobufjs/aspromise":"*","html-encoding-sniffer":"*","@earendil-works/pi-pty":"npm:@code-yeongyu/senpi-pty@2026.8.12-2","@earendil-works/pi-tui":"npm:@code-yeongyu/senpi-tui@2026.8.12-2","@aws-sdk/nested-clients":"*","@csstools/color-helpers":"*","@csstools/css-tokenizer":"*","@mariozechner/clipboard":"*","@smithy/is-array-buffer":"*","call-bind-apply-helpers":"*","@asamuzakjp/dom-selector":"*","@aws-sdk/token-providers":"*","@aws/lambda-invoke-store":"*","@protobufjs/eventemitter":"*","@smithy/util-buffer-from":"*","@modelcontextprotocol/sdk":"1.30.0","@smithy/node-http-handler":"4.9.11","@aws-crypto/sha256-browser":"*","@csstools/css-color-parser":"*","@silvia-odwyer/photon-node":"0.3.4","@smithy/fetch-http-handler":"*","buffer-equal-constant-time":"*","@aws-sdk/util-locate-window":"*","@babel/helper-string-parser":"*","@code-yeongyu/senpi-codemode":"2026.8.12-2","@aws-sdk/middleware-websocket":"*","@earendil-works/pi-agent-core":"npm:@code-yeongyu/senpi-agent-core@2026.8.12-2","@anthropic-ai/claude-agent-sdk":"0.3.220","@asamuzakjp/generational-cache":"*","@aws-crypto/supports-web-crypto":"*","@aws-sdk/client-bedrock-runtime":"3.1095.0","@aws-sdk/middleware-eventstream":"*","@csstools/css-parser-algorithms":"*","@aws-sdk/credential-provider-env":"*","@aws-sdk/credential-provider-ini":"*","@aws-sdk/credential-provider-sso":"*","@smithy/credential-provider-imds":"*","is-potential-custom-element-name":"*","@aws-sdk/credential-provider-http":"*","@aws-sdk/credential-provider-node":"*","@aws-sdk/eventstream-handler-node":"*","@aws-sdk/credential-provider-login":"*","@aws-sdk/signature-v4-multi-region":"*","@babel/helper-validator-identifier":"*","@opentelemetry/semantic-conventions":"*","@aws-sdk/credential-provider-process":"*","@csstools/css-syntax-patches-for-csstree":"*","@aws-sdk/credential-provider-web-identity":"*"},"_hasShrinkwrap":false,"devDependencies":{"shx":"0.4.0","vitest":"4.1.10","@types/ms":"2.1.0","@types/ws":"8.18.1","typescript":"7.0.2","@types/node":"26.1.1","@types/jsdom":"28.0.3","@types/semver":"7.7.1","@types/turndown":"5.0.6","@types/picomatch":"4.0.3","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@anthropic-ai/claude-agent-sdk","@anthropic-ai/sdk","@asamuzakjp/css-color","@asamuzakjp/dom-selector","@asamuzakjp/generational-cache","@asamuzakjp/nwsapi","@aws-crypto/sha256-browser","@aws-crypto/sha256-js","@aws-crypto/supports-web-crypto","@aws-crypto/util","@aws-sdk/client-bedrock-runtime","@aws-sdk/core","@aws-sdk/credential-provider-env","@aws-sdk/credential-provider-http","@aws-sdk/credential-provider-ini","@aws-sdk/credential-provider-login","@aws-sdk/credential-provider-node","@aws-sdk/credential-provider-process","@aws-sdk/credential-provider-sso","@aws-sdk/credential-provider-web-identity","@aws-sdk/eventstream-handler-node","@aws-sdk/middleware-eventstream","@aws-sdk/middleware-websocket","@aws-sdk/nested-clients","@aws-sdk/signature-v4-multi-region","@aws-sdk/token-providers","@aws-sdk/types","@aws-sdk/util-locate-window","@aws-sdk/xml-builder","@aws/lambda-invoke-store","@babel/helper-string-parser","@babel/helper-validator-identifier","@babel/parser","@babel/runtime","@babel/types","@bramus/specificity","@code-yeongyu/senpi-codemode","@csstools/color-helpers","@csstools/css-calc","@csstools/css-color-parser","@csstools/css-parser-algorithms","@csstools/css-syntax-patches-for-csstree","@csstools/css-tokenizer","@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-pty","@earendil-works/pi-tui","@exodus/bytes","@google/genai","@hono/node-server","@mariozechner/clipboard","@mistralai/mistralai","@mixmark-io/domino","@modelcontextprotocol/sdk","@mozilla/readability","@opentelemetry/api","@opentelemetry/semantic-conventions","@protobufjs/aspromise","@protobufjs/base64","@protobufjs/codegen","@protobufjs/eventemitter","@protobufjs/fetch","@protobufjs/float","@protobufjs/path","@protobufjs/pool","@protobufjs/utf8","@silvia-odwyer/photon-node","@smithy/core","@smithy/credential-provider-imds","@smithy/fetch-http-handler","@smithy/is-array-buffer","@smithy/node-http-handler","@smithy/signature-v4","@smithy/types","@smithy/util-buffer-from","@smithy/util-utf8","@types/node","@xterm/headless","accepts","agent-base","ajv","ajv-formats","balanced-match","base64-js","bidi-js","bignumber.js","body-parser","bowser","brace-expansion","buffer-equal-constant-time","bytes","call-bind-apply-helpers","call-bound","chalk","content-disposition","content-type","cookie","cookie-signature","cors","cross-spawn","css-tree","data-uri-to-buffer","data-urls","debug","decimal.js","depd","diff","dunder-proto","ecdsa-sig-formatter","ee-first","encodeurl","entities","es-define-property","es-errors","es-object-atoms","escape-html","etag","eventsource","eventsource-parser","express","express-rate-limit","extend","fast-deep-equal","fast-uri","fetch-blob","finalhandler","formdata-polyfill","forwarded","fresh","function-bind","gaxios","gcp-metadata","get-east-asian-width","get-intrinsic","get-proto","glob","google-auth-library","google-logging-utils","gopd","graceful-fs","has-symbols","hasown","highlight.js","hono","hosted-git-info","html-encoding-sniffer","http-errors","http-proxy-agent","https-proxy-agent","iconv-lite","ignore","inherits","ip-address","ipaddr.js","is-potential-custom-element-name","is-promise","isexe","jiti","jose","jsdom","json-bigint","json-schema-to-ts","json-schema-traverse","json-schema-typed","jwa","jws","long","lru-cache","marked","math-intrinsics","mdn-data","media-typer","merge-descriptors","mime-db","mime-types","minimatch","minipass","ms","negotiator","node-domexception","node-fetch","object-assign","object-inspect","on-finished","once","openai","p-retry","parse5","parseurl","partial-json","path-key","path-scurry","path-to-regexp","picomatch","pkce-challenge","proper-lockfile","protobufjs","proxy-addr","proxy-from-env","punycode","qs","range-parser","raw-body","require-from-string","retry","router","safe-buffer","safer-buffer","saxes","semver","send","serve-static","setprototypeof","shebang-command","shebang-regex","side-channel","side-channel-list","side-channel-map","side-channel-weakmap","signal-exit","source-map-js","statuses","symbol-tree","tldts","tldts-core","toidentifier","tough-cookie","tr46","ts-algebra","tslib","turndown","type-is","typebox","undici","unpipe","vary","w3c-xmlserializer","web-streams-polyfill","webidl-conversions","whatwg-mimetype","whatwg-url","which","wrappy","ws","xml-name-validator","xmlchars","yaml","zod","zod-to-json-schema"],"optionalDependencies":{"@mariozechner/clipboard":"0.3.9","@mariozechner/clipboard-darwin-x64":"0.3.9","@mariozechner/clipboard-darwin-arm64":"0.3.9","@mariozechner/clipboard-linux-x64-gnu":"0.3.9","@mariozechner/clipboard-linux-x64-musl":"0.3.9","@mariozechner/clipboard-win32-x64-msvc":"0.3.9","@mariozechner/clipboard-linux-arm64-gnu":"0.3.9","@anthropic-ai/claude-agent-sdk-linux-x64":"0.3.220","@anthropic-ai/claude-agent-sdk-win32-x64":"0.3.220","@mariozechner/clipboard-darwin-universal":"0.3.9","@mariozechner/clipboard-linux-arm64-musl":"0.3.9","@mariozechner/clipboard-win32-arm64-msvc":"0.3.9","@anthropic-ai/claude-agent-sdk-darwin-x64":"0.3.220","@mariozechner/clipboard-linux-riscv64-gnu":"0.3.9","@anthropic-ai/claude-agent-sdk-linux-arm64":"0.3.220","@anthropic-ai/claude-agent-sdk-win32-arm64":"0.3.220","@anthropic-ai/claude-agent-sdk-darwin-arm64":"0.3.220","@anthropic-ai/claude-agent-sdk-linux-x64-musl":"0.3.220","@anthropic-ai/claude-agent-sdk-linux-arm64-musl":"0.3.220"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.8.12-2_1786521108797_0.8078161276717422","host":"s3://npm-registry-packages-npm-production"}},"2026.8.12-3":{"name":"@code-yeongyu/senpi","version":"2026.8.12-3","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.8.12-3","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"senpi":"dist/cli.js"},"dist":{"shasum":"8301d5f80b7d613b664187890d0e5d0d1057cacd","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.8.12-3.tgz","fileCount":29277,"integrity":"sha512-1ccwuG+wJvSVahry+6jjKsNNjX7gA75DHEYK0VMqPN8DqePsWXzA5hzfLVSmT/urYh13njzvL3cQSTxqT5vCPw==","signatures":[{"sig":"MEQCIAqMYEGcnGvsih7XwTmIgsglxSURRVfNgKRQUMAguSspAiAHgqMxbl2WahjjTvQMKioLE61GGlzq6szkqz89C9Yx5g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.8.12-3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":178070223},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.js"},"./rpc-entry":{"import":"./dist/rpc-entry.js"}},"gitHead":"0bb395b8bad056405465b75a4a0b702aed6725c5","scripts":{"dev":"tsc -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsc -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js dist/rpc-entry.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/","build:binary":"npm --prefix ../tui run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm --prefix ../protocol run build && npm --prefix ../client run build && npm --prefix ../pty run build && npm run build && node ../../scripts/prepare-bun-compile-assets.mjs && bun build --compile --compile-autoload-package-json --no-compile-autoload-dotenv --minify --keep-names ./dist/bun/cli.js ./src/utils/image-resize-worker.ts ../../node_modules/jsdom/lib/jsdom/living/xhr/xhr-sync-worker.js --outfile dist/pi && npm run copy-binary-assets","qa:app-server":"node scripts/qa-app-server/run-all.mjs","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/export-html/ && shx cp -r docs dist/ && shx cp -r examples dist/ && shx mkdir -p dist/node_modules && shx cp -r ../../node_modules/css-tree ../../node_modules/mdn-data ../../node_modules/source-map-js dist/node_modules/ && node ../../scripts/copy-codemode-sidecar.mjs dist && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/ && shx mkdir -p dist/native/darwin dist/native/win32 && shx cp -r ../../packages/tui/native/darwin/prebuilds dist/native/darwin/ && shx cp -r ../../packages/tui/native/win32/prebuilds dist/native/win32/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/ && node ../../scripts/copy-pty-native.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ea548fc8-dac4-4dec-a439-6f4fa3870309"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.2"},"rimraf":"6.1.2","protobufjs":"7.6.5","@hono/node-server":"2.0.10"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.16.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ms":"*","qs":"*","ws":"8.21.1","ajv":"*","jwa":"*","jws":"*","zod":"4.4.3","cors":"*","depd":"*","diff":"9.0.0","etag":"*","glob":"13.0.6","gopd":"*","hono":"*","jiti":"2.7.0","jose":"*","long":"*","once":"*","send":"*","tr46":"*","vary":"*","yaml":"2.9.0","bytes":"*","chalk":"6.0.0","debug":"*","fresh":"*","isexe":"*","jsdom":"29.1.1","retry":"*","saxes":"*","tldts":"*","tslib":"*","which":"*","bowser":"*","cookie":"*","extend":"*","gaxios":"*","hasown":"*","ignore":"7.0.6","marked":"18.0.7","openai":"6.26.0","parse5":"*","router":"*","semver":"7.8.5","undici":"8.9.0","unpipe":"*","wrappy":"*","accepts":"*","bidi-js":"*","express":"*","mime-db":"*","p-retry":"*","type-is":"*","typebox":"1.3.8","css-tree":"*","ee-first":"*","entities":"*","fast-uri":"*","inherits":"*","mdn-data":"*","minipass":"*","parseurl":"*","path-key":"*","punycode":"*","raw-body":"*","statuses":"*","turndown":"7.2.4","xmlchars":"*","base64-js":"*","data-urls":"*","encodeurl":"*","es-errors":"*","forwarded":"*","get-proto":"*","ipaddr.js":"*","lru-cache":"*","minimatch":"10.2.5","picomatch":"4.0.5","agent-base":"*","call-bound":"*","decimal.js":"*","fetch-blob":"*","iconv-lite":"*","ip-address":"*","is-promise":"*","mime-types":"*","negotiator":"*","node-fetch":"*","protobufjs":"*","proxy-addr":"*","tldts-core":"*","ts-algebra":"*","whatwg-url":"*","@types/node":"*","ajv-formats":"*","body-parser":"*","cross-spawn":"7.0.6","escape-html":"*","eventsource":"*","graceful-fs":"*","has-symbols":"*","http-errors":"*","json-bigint":"*","media-typer":"*","on-finished":"*","path-scurry":"*","safe-buffer":"*","signal-exit":"3.0.7","symbol-tree":"*","@babel/types":"*","@smithy/core":"*","bignumber.js":"*","content-type":"*","dunder-proto":"*","finalhandler":"*","gcp-metadata":"*","highlight.js":"11.11.1","partial-json":"0.1.7","range-parser":"*","safer-buffer":"*","serve-static":"*","side-channel":"*","toidentifier":"*","tough-cookie":"*","@aws-sdk/core":"*","@babel/parser":"*","@exodus/bytes":"*","@google/genai":"*","@smithy/types":"4.16.1","function-bind":"*","get-intrinsic":"*","object-assign":"*","shebang-regex":"*","source-map-js":"*","@aws-sdk/types":"*","@babel/runtime":"*","balanced-match":"*","object-inspect":"*","path-to-regexp":"*","pkce-challenge":"*","proxy-from-env":"2.1.0","setprototypeof":"*","@xterm/headless":"*","brace-expansion":"*","es-object-atoms":"*","fast-deep-equal":"*","hosted-git-info":"10.1.1","math-intrinsics":"*","proper-lockfile":"4.1.2","shebang-command":"*","whatwg-mimetype":"*","@aws-crypto/util":"*","@protobufjs/path":"*","@protobufjs/pool":"*","@protobufjs/utf8":"*","cookie-signature":"*","http-proxy-agent":"9.1.0","side-channel-map":"*","@anthropic-ai/sdk":"0.91.1","@hono/node-server":"*","@protobufjs/fetch":"*","@protobufjs/float":"*","@smithy/util-utf8":"*","formdata-polyfill":"*","https-proxy-agent":"9.1.0","json-schema-to-ts":"*","json-schema-typed":"*","merge-descriptors":"*","node-domexception":"*","side-channel-list":"*","w3c-xmlserializer":"*","@asamuzakjp/nwsapi":"*","@csstools/css-calc":"*","@mixmark-io/domino":"*","@opentelemetry/api":"1.9.1","@protobufjs/base64":"*","data-uri-to-buffer":"*","es-define-property":"*","eventsource-parser":"*","express-rate-limit":"*","webidl-conversions":"*","xml-name-validator":"*","zod-to-json-schema":"*","@bramus/specificity":"*","@protobufjs/codegen":"*","content-disposition":"*","ecdsa-sig-formatter":"*","google-auth-library":"*","require-from-string":"*","@aws-sdk/xml-builder":"*","@mistralai/mistralai":"2.5.0","@mozilla/readability":"0.6.0","@smithy/signature-v4":"*","get-east-asian-width":"1.6.0","google-logging-utils":"*","json-schema-traverse":"*","side-channel-weakmap":"*","web-streams-polyfill":"*","@asamuzakjp/css-color":"*","@aws-crypto/sha256-js":"*","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.8.12-3","@protobufjs/aspromise":"*","html-encoding-sniffer":"*","@earendil-works/pi-pty":"npm:@code-yeongyu/senpi-pty@2026.8.12-3","@earendil-works/pi-tui":"npm:@code-yeongyu/senpi-tui@2026.8.12-3","@aws-sdk/nested-clients":"*","@csstools/color-helpers":"*","@csstools/css-tokenizer":"*","@mariozechner/clipboard":"*","@smithy/is-array-buffer":"*","call-bind-apply-helpers":"*","@asamuzakjp/dom-selector":"*","@aws-sdk/token-providers":"*","@aws/lambda-invoke-store":"*","@protobufjs/eventemitter":"*","@smithy/util-buffer-from":"*","@modelcontextprotocol/sdk":"1.30.0","@smithy/node-http-handler":"4.9.11","@aws-crypto/sha256-browser":"*","@csstools/css-color-parser":"*","@silvia-odwyer/photon-node":"0.3.4","@smithy/fetch-http-handler":"*","buffer-equal-constant-time":"*","@aws-sdk/util-locate-window":"*","@babel/helper-string-parser":"*","@code-yeongyu/senpi-codemode":"2026.8.12-3","@aws-sdk/middleware-websocket":"*","@earendil-works/pi-agent-core":"npm:@code-yeongyu/senpi-agent-core@2026.8.12-3","@anthropic-ai/claude-agent-sdk":"0.3.220","@asamuzakjp/generational-cache":"*","@aws-crypto/supports-web-crypto":"*","@aws-sdk/client-bedrock-runtime":"3.1095.0","@aws-sdk/middleware-eventstream":"*","@csstools/css-parser-algorithms":"*","@aws-sdk/credential-provider-env":"*","@aws-sdk/credential-provider-ini":"*","@aws-sdk/credential-provider-sso":"*","@smithy/credential-provider-imds":"*","is-potential-custom-element-name":"*","@aws-sdk/credential-provider-http":"*","@aws-sdk/credential-provider-node":"*","@aws-sdk/eventstream-handler-node":"*","@aws-sdk/credential-provider-login":"*","@aws-sdk/signature-v4-multi-region":"*","@babel/helper-validator-identifier":"*","@opentelemetry/semantic-conventions":"*","@aws-sdk/credential-provider-process":"*","@csstools/css-syntax-patches-for-csstree":"*","@aws-sdk/credential-provider-web-identity":"*"},"_hasShrinkwrap":false,"devDependencies":{"shx":"0.4.0","vitest":"4.1.10","@types/ms":"2.1.0","@types/ws":"8.18.1","typescript":"7.0.2","@types/node":"26.1.1","@types/jsdom":"28.0.3","@types/semver":"7.7.1","@types/turndown":"5.0.6","@types/picomatch":"4.0.3","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@anthropic-ai/claude-agent-sdk","@anthropic-ai/sdk","@asamuzakjp/css-color","@asamuzakjp/dom-selector","@asamuzakjp/generational-cache","@asamuzakjp/nwsapi","@aws-crypto/sha256-browser","@aws-crypto/sha256-js","@aws-crypto/supports-web-crypto","@aws-crypto/util","@aws-sdk/client-bedrock-runtime","@aws-sdk/core","@aws-sdk/credential-provider-env","@aws-sdk/credential-provider-http","@aws-sdk/credential-provider-ini","@aws-sdk/credential-provider-login","@aws-sdk/credential-provider-node","@aws-sdk/credential-provider-process","@aws-sdk/credential-provider-sso","@aws-sdk/credential-provider-web-identity","@aws-sdk/eventstream-handler-node","@aws-sdk/middleware-eventstream","@aws-sdk/middleware-websocket","@aws-sdk/nested-clients","@aws-sdk/signature-v4-multi-region","@aws-sdk/token-providers","@aws-sdk/types","@aws-sdk/util-locate-window","@aws-sdk/xml-builder","@aws/lambda-invoke-store","@babel/helper-string-parser","@babel/helper-validator-identifier","@babel/parser","@babel/runtime","@babel/types","@bramus/specificity","@code-yeongyu/senpi-codemode","@csstools/color-helpers","@csstools/css-calc","@csstools/css-color-parser","@csstools/css-parser-algorithms","@csstools/css-syntax-patches-for-csstree","@csstools/css-tokenizer","@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-pty","@earendil-works/pi-tui","@exodus/bytes","@google/genai","@hono/node-server","@mariozechner/clipboard","@mistralai/mistralai","@mixmark-io/domino","@modelcontextprotocol/sdk","@mozilla/readability","@opentelemetry/api","@opentelemetry/semantic-conventions","@protobufjs/aspromise","@protobufjs/base64","@protobufjs/codegen","@protobufjs/eventemitter","@protobufjs/fetch","@protobufjs/float","@protobufjs/path","@protobufjs/pool","@protobufjs/utf8","@silvia-odwyer/photon-node","@smithy/core","@smithy/credential-provider-imds","@smithy/fetch-http-handler","@smithy/is-array-buffer","@smithy/node-http-handler","@smithy/signature-v4","@smithy/types","@smithy/util-buffer-from","@smithy/util-utf8","@types/node","@xterm/headless","accepts","agent-base","ajv","ajv-formats","balanced-match","base64-js","bidi-js","bignumber.js","body-parser","bowser","brace-expansion","buffer-equal-constant-time","bytes","call-bind-apply-helpers","call-bound","chalk","content-disposition","content-type","cookie","cookie-signature","cors","cross-spawn","css-tree","data-uri-to-buffer","data-urls","debug","decimal.js","depd","diff","dunder-proto","ecdsa-sig-formatter","ee-first","encodeurl","entities","es-define-property","es-errors","es-object-atoms","escape-html","etag","eventsource","eventsource-parser","express","express-rate-limit","extend","fast-deep-equal","fast-uri","fetch-blob","finalhandler","formdata-polyfill","forwarded","fresh","function-bind","gaxios","gcp-metadata","get-east-asian-width","get-intrinsic","get-proto","glob","google-auth-library","google-logging-utils","gopd","graceful-fs","has-symbols","hasown","highlight.js","hono","hosted-git-info","html-encoding-sniffer","http-errors","http-proxy-agent","https-proxy-agent","iconv-lite","ignore","inherits","ip-address","ipaddr.js","is-potential-custom-element-name","is-promise","isexe","jiti","jose","jsdom","json-bigint","json-schema-to-ts","json-schema-traverse","json-schema-typed","jwa","jws","long","lru-cache","marked","math-intrinsics","mdn-data","media-typer","merge-descriptors","mime-db","mime-types","minimatch","minipass","ms","negotiator","node-domexception","node-fetch","object-assign","object-inspect","on-finished","once","openai","p-retry","parse5","parseurl","partial-json","path-key","path-scurry","path-to-regexp","picomatch","pkce-challenge","proper-lockfile","protobufjs","proxy-addr","proxy-from-env","punycode","qs","range-parser","raw-body","require-from-string","retry","router","safe-buffer","safer-buffer","saxes","semver","send","serve-static","setprototypeof","shebang-command","shebang-regex","side-channel","side-channel-list","side-channel-map","side-channel-weakmap","signal-exit","source-map-js","statuses","symbol-tree","tldts","tldts-core","toidentifier","tough-cookie","tr46","ts-algebra","tslib","turndown","type-is","typebox","undici","unpipe","vary","w3c-xmlserializer","web-streams-polyfill","webidl-conversions","whatwg-mimetype","whatwg-url","which","wrappy","ws","xml-name-validator","xmlchars","yaml","zod","zod-to-json-schema"],"optionalDependencies":{"@mariozechner/clipboard":"0.3.9","@mariozechner/clipboard-darwin-x64":"0.3.9","@mariozechner/clipboard-darwin-arm64":"0.3.9","@mariozechner/clipboard-linux-x64-gnu":"0.3.9","@mariozechner/clipboard-linux-x64-musl":"0.3.9","@mariozechner/clipboard-win32-x64-msvc":"0.3.9","@mariozechner/clipboard-linux-arm64-gnu":"0.3.9","@anthropic-ai/claude-agent-sdk-linux-x64":"0.3.220","@anthropic-ai/claude-agent-sdk-win32-x64":"0.3.220","@mariozechner/clipboard-darwin-universal":"0.3.9","@mariozechner/clipboard-linux-arm64-musl":"0.3.9","@mariozechner/clipboard-win32-arm64-msvc":"0.3.9","@anthropic-ai/claude-agent-sdk-darwin-x64":"0.3.220","@mariozechner/clipboard-linux-riscv64-gnu":"0.3.9","@anthropic-ai/claude-agent-sdk-linux-arm64":"0.3.220","@anthropic-ai/claude-agent-sdk-win32-arm64":"0.3.220","@anthropic-ai/claude-agent-sdk-darwin-arm64":"0.3.220","@anthropic-ai/claude-agent-sdk-linux-x64-musl":"0.3.220","@anthropic-ai/claude-agent-sdk-linux-arm64-musl":"0.3.220"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.8.12-3_1786522125485_0.2289822032851332","host":"s3://npm-registry-packages-npm-production"}},"2026.8.12-4":{"name":"@code-yeongyu/senpi","version":"2026.8.12-4","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.8.12-4","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"senpi":"dist/cli.js"},"dist":{"shasum":"ef197ebbebf6de01566a6eaa78ba023bb058bf3d","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.8.12-4.tgz","fileCount":29290,"integrity":"sha512-0tbtnK/G9+B2WiuOJh2/3h/qVAFERc7XUnSlg6x+j/K9AXOsDeeRpOyy/HFsj5Upes31Sy6Ggy0V5qxDcHUPXw==","signatures":[{"sig":"MEUCIQDaWpMwJuIA8zneAXsuone4VWPmoTO6cFuRf1N1il7ZggIgONyebU+nUULSvaZo+i7UPOwMVzrF/YyO1CEvkkppfAI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.8.12-4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":178130134},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.js"},"./rpc-entry":{"import":"./dist/rpc-entry.js"}},"gitHead":"1504cf3e1c31387fdf6745950d85aa00ef76e8ea","scripts":{"dev":"tsc -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsc -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js dist/rpc-entry.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/","build:binary":"npm --prefix ../tui run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm --prefix ../protocol run build && npm --prefix ../client run build && npm --prefix ../pty run build && npm run build && node ../../scripts/prepare-bun-compile-assets.mjs && bun build --compile --compile-autoload-package-json --no-compile-autoload-dotenv --minify --keep-names ./dist/bun/cli.js ./src/utils/image-resize-worker.ts ../../node_modules/jsdom/lib/jsdom/living/xhr/xhr-sync-worker.js --outfile dist/pi && npm run copy-binary-assets","qa:app-server":"node scripts/qa-app-server/run-all.mjs","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/export-html/ && shx cp -r docs dist/ && shx cp -r examples dist/ && shx mkdir -p dist/node_modules && shx cp -r ../../node_modules/css-tree ../../node_modules/mdn-data ../../node_modules/source-map-js dist/node_modules/ && node ../../scripts/copy-codemode-sidecar.mjs dist && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/ && shx mkdir -p dist/native/darwin dist/native/win32 && shx cp -r ../../packages/tui/native/darwin/prebuilds dist/native/darwin/ && shx cp -r ../../packages/tui/native/win32/prebuilds dist/native/win32/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/ && node ../../scripts/copy-pty-native.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ea548fc8-dac4-4dec-a439-6f4fa3870309"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.2"},"rimraf":"6.1.2","protobufjs":"7.6.5","@hono/node-server":"2.0.10"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.16.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ms":"*","qs":"*","ws":"8.21.1","ajv":"*","jwa":"*","jws":"*","zod":"4.4.3","cors":"*","depd":"*","diff":"9.0.0","etag":"*","glob":"13.0.6","gopd":"*","hono":"*","jiti":"2.7.0","jose":"*","long":"*","once":"*","send":"*","tr46":"*","vary":"*","yaml":"2.9.0","bytes":"*","chalk":"6.0.0","debug":"*","fresh":"*","isexe":"*","jsdom":"29.1.1","retry":"*","saxes":"*","tldts":"*","tslib":"*","which":"*","bowser":"*","cookie":"*","extend":"*","gaxios":"*","hasown":"*","ignore":"7.0.6","marked":"18.0.7","openai":"6.26.0","parse5":"*","router":"*","semver":"7.8.5","undici":"8.9.0","unpipe":"*","wrappy":"*","accepts":"*","bidi-js":"*","express":"*","mime-db":"*","p-retry":"*","type-is":"*","typebox":"1.3.8","css-tree":"*","ee-first":"*","entities":"*","fast-uri":"*","inherits":"*","mdn-data":"*","minipass":"*","parseurl":"*","path-key":"*","punycode":"*","raw-body":"*","statuses":"*","turndown":"7.2.4","xmlchars":"*","base64-js":"*","data-urls":"*","encodeurl":"*","es-errors":"*","forwarded":"*","get-proto":"*","ipaddr.js":"*","lru-cache":"*","minimatch":"10.2.5","picomatch":"4.0.5","agent-base":"*","call-bound":"*","decimal.js":"*","fetch-blob":"*","iconv-lite":"*","ip-address":"*","is-promise":"*","mime-types":"*","negotiator":"*","node-fetch":"*","protobufjs":"*","proxy-addr":"*","tldts-core":"*","ts-algebra":"*","whatwg-url":"*","@types/node":"*","ajv-formats":"*","body-parser":"*","cross-spawn":"7.0.6","escape-html":"*","eventsource":"*","graceful-fs":"*","has-symbols":"*","http-errors":"*","json-bigint":"*","media-typer":"*","on-finished":"*","path-scurry":"*","safe-buffer":"*","signal-exit":"3.0.7","symbol-tree":"*","@babel/types":"*","@smithy/core":"*","bignumber.js":"*","content-type":"*","dunder-proto":"*","finalhandler":"*","gcp-metadata":"*","highlight.js":"11.11.1","partial-json":"0.1.7","range-parser":"*","safer-buffer":"*","serve-static":"*","side-channel":"*","toidentifier":"*","tough-cookie":"*","@aws-sdk/core":"*","@babel/parser":"*","@exodus/bytes":"*","@google/genai":"*","@smithy/types":"4.16.1","function-bind":"*","get-intrinsic":"*","object-assign":"*","shebang-regex":"*","source-map-js":"*","@aws-sdk/types":"*","@babel/runtime":"*","balanced-match":"*","object-inspect":"*","path-to-regexp":"*","pkce-challenge":"*","proxy-from-env":"2.1.0","setprototypeof":"*","@xterm/headless":"*","brace-expansion":"*","es-object-atoms":"*","fast-deep-equal":"*","hosted-git-info":"10.1.1","math-intrinsics":"*","proper-lockfile":"4.1.2","shebang-command":"*","whatwg-mimetype":"*","@aws-crypto/util":"*","@protobufjs/path":"*","@protobufjs/pool":"*","@protobufjs/utf8":"*","cookie-signature":"*","http-proxy-agent":"9.1.0","side-channel-map":"*","@anthropic-ai/sdk":"0.91.1","@hono/node-server":"*","@protobufjs/fetch":"*","@protobufjs/float":"*","@smithy/util-utf8":"*","formdata-polyfill":"*","https-proxy-agent":"9.1.0","json-schema-to-ts":"*","json-schema-typed":"*","merge-descriptors":"*","node-domexception":"*","side-channel-list":"*","w3c-xmlserializer":"*","@asamuzakjp/nwsapi":"*","@csstools/css-calc":"*","@mixmark-io/domino":"*","@opentelemetry/api":"1.9.1","@protobufjs/base64":"*","data-uri-to-buffer":"*","es-define-property":"*","eventsource-parser":"*","express-rate-limit":"*","webidl-conversions":"*","xml-name-validator":"*","zod-to-json-schema":"*","@bramus/specificity":"*","@protobufjs/codegen":"*","content-disposition":"*","ecdsa-sig-formatter":"*","google-auth-library":"*","require-from-string":"*","@aws-sdk/xml-builder":"*","@mistralai/mistralai":"2.5.0","@mozilla/readability":"0.6.0","@smithy/signature-v4":"*","get-east-asian-width":"1.6.0","google-logging-utils":"*","json-schema-traverse":"*","side-channel-weakmap":"*","web-streams-polyfill":"*","@asamuzakjp/css-color":"*","@aws-crypto/sha256-js":"*","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.8.12-4","@protobufjs/aspromise":"*","html-encoding-sniffer":"*","@earendil-works/pi-pty":"npm:@code-yeongyu/senpi-pty@2026.8.12-4","@earendil-works/pi-tui":"npm:@code-yeongyu/senpi-tui@2026.8.12-4","@aws-sdk/nested-clients":"*","@csstools/color-helpers":"*","@csstools/css-tokenizer":"*","@mariozechner/clipboard":"*","@smithy/is-array-buffer":"*","call-bind-apply-helpers":"*","@asamuzakjp/dom-selector":"*","@aws-sdk/token-providers":"*","@aws/lambda-invoke-store":"*","@protobufjs/eventemitter":"*","@smithy/util-buffer-from":"*","@modelcontextprotocol/sdk":"1.30.0","@smithy/node-http-handler":"4.9.11","@aws-crypto/sha256-browser":"*","@csstools/css-color-parser":"*","@silvia-odwyer/photon-node":"0.3.4","@smithy/fetch-http-handler":"*","buffer-equal-constant-time":"*","@aws-sdk/util-locate-window":"*","@babel/helper-string-parser":"*","@code-yeongyu/senpi-codemode":"2026.8.12-4","@aws-sdk/middleware-websocket":"*","@earendil-works/pi-agent-core":"npm:@code-yeongyu/senpi-agent-core@2026.8.12-4","@anthropic-ai/claude-agent-sdk":"0.3.220","@asamuzakjp/generational-cache":"*","@aws-crypto/supports-web-crypto":"*","@aws-sdk/client-bedrock-runtime":"3.1095.0","@aws-sdk/middleware-eventstream":"*","@csstools/css-parser-algorithms":"*","@aws-sdk/credential-provider-env":"*","@aws-sdk/credential-provider-ini":"*","@aws-sdk/credential-provider-sso":"*","@smithy/credential-provider-imds":"*","is-potential-custom-element-name":"*","@aws-sdk/credential-provider-http":"*","@aws-sdk/credential-provider-node":"*","@aws-sdk/eventstream-handler-node":"*","@aws-sdk/credential-provider-login":"*","@aws-sdk/signature-v4-multi-region":"*","@babel/helper-validator-identifier":"*","@opentelemetry/semantic-conventions":"*","@aws-sdk/credential-provider-process":"*","@csstools/css-syntax-patches-for-csstree":"*","@aws-sdk/credential-provider-web-identity":"*"},"_hasShrinkwrap":false,"devDependencies":{"shx":"0.4.0","vitest":"4.1.10","@types/ms":"2.1.0","@types/ws":"8.18.1","typescript":"7.0.2","@types/node":"26.1.1","@types/jsdom":"28.0.3","@types/semver":"7.7.1","@types/turndown":"5.0.6","@types/picomatch":"4.0.3","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@anthropic-ai/claude-agent-sdk","@anthropic-ai/sdk","@asamuzakjp/css-color","@asamuzakjp/dom-selector","@asamuzakjp/generational-cache","@asamuzakjp/nwsapi","@aws-crypto/sha256-browser","@aws-crypto/sha256-js","@aws-crypto/supports-web-crypto","@aws-crypto/util","@aws-sdk/client-bedrock-runtime","@aws-sdk/core","@aws-sdk/credential-provider-env","@aws-sdk/credential-provider-http","@aws-sdk/credential-provider-ini","@aws-sdk/credential-provider-login","@aws-sdk/credential-provider-node","@aws-sdk/credential-provider-process","@aws-sdk/credential-provider-sso","@aws-sdk/credential-provider-web-identity","@aws-sdk/eventstream-handler-node","@aws-sdk/middleware-eventstream","@aws-sdk/middleware-websocket","@aws-sdk/nested-clients","@aws-sdk/signature-v4-multi-region","@aws-sdk/token-providers","@aws-sdk/types","@aws-sdk/util-locate-window","@aws-sdk/xml-builder","@aws/lambda-invoke-store","@babel/helper-string-parser","@babel/helper-validator-identifier","@babel/parser","@babel/runtime","@babel/types","@bramus/specificity","@code-yeongyu/senpi-codemode","@csstools/color-helpers","@csstools/css-calc","@csstools/css-color-parser","@csstools/css-parser-algorithms","@csstools/css-syntax-patches-for-csstree","@csstools/css-tokenizer","@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-pty","@earendil-works/pi-tui","@exodus/bytes","@google/genai","@hono/node-server","@mariozechner/clipboard","@mistralai/mistralai","@mixmark-io/domino","@modelcontextprotocol/sdk","@mozilla/readability","@opentelemetry/api","@opentelemetry/semantic-conventions","@protobufjs/aspromise","@protobufjs/base64","@protobufjs/codegen","@protobufjs/eventemitter","@protobufjs/fetch","@protobufjs/float","@protobufjs/path","@protobufjs/pool","@protobufjs/utf8","@silvia-odwyer/photon-node","@smithy/core","@smithy/credential-provider-imds","@smithy/fetch-http-handler","@smithy/is-array-buffer","@smithy/node-http-handler","@smithy/signature-v4","@smithy/types","@smithy/util-buffer-from","@smithy/util-utf8","@types/node","@xterm/headless","accepts","agent-base","ajv","ajv-formats","balanced-match","base64-js","bidi-js","bignumber.js","body-parser","bowser","brace-expansion","buffer-equal-constant-time","bytes","call-bind-apply-helpers","call-bound","chalk","content-disposition","content-type","cookie","cookie-signature","cors","cross-spawn","css-tree","data-uri-to-buffer","data-urls","debug","decimal.js","depd","diff","dunder-proto","ecdsa-sig-formatter","ee-first","encodeurl","entities","es-define-property","es-errors","es-object-atoms","escape-html","etag","eventsource","eventsource-parser","express","express-rate-limit","extend","fast-deep-equal","fast-uri","fetch-blob","finalhandler","formdata-polyfill","forwarded","fresh","function-bind","gaxios","gcp-metadata","get-east-asian-width","get-intrinsic","get-proto","glob","google-auth-library","google-logging-utils","gopd","graceful-fs","has-symbols","hasown","highlight.js","hono","hosted-git-info","html-encoding-sniffer","http-errors","http-proxy-agent","https-proxy-agent","iconv-lite","ignore","inherits","ip-address","ipaddr.js","is-potential-custom-element-name","is-promise","isexe","jiti","jose","jsdom","json-bigint","json-schema-to-ts","json-schema-traverse","json-schema-typed","jwa","jws","long","lru-cache","marked","math-intrinsics","mdn-data","media-typer","merge-descriptors","mime-db","mime-types","minimatch","minipass","ms","negotiator","node-domexception","node-fetch","object-assign","object-inspect","on-finished","once","openai","p-retry","parse5","parseurl","partial-json","path-key","path-scurry","path-to-regexp","picomatch","pkce-challenge","proper-lockfile","protobufjs","proxy-addr","proxy-from-env","punycode","qs","range-parser","raw-body","require-from-string","retry","router","safe-buffer","safer-buffer","saxes","semver","send","serve-static","setprototypeof","shebang-command","shebang-regex","side-channel","side-channel-list","side-channel-map","side-channel-weakmap","signal-exit","source-map-js","statuses","symbol-tree","tldts","tldts-core","toidentifier","tough-cookie","tr46","ts-algebra","tslib","turndown","type-is","typebox","undici","unpipe","vary","w3c-xmlserializer","web-streams-polyfill","webidl-conversions","whatwg-mimetype","whatwg-url","which","wrappy","ws","xml-name-validator","xmlchars","yaml","zod","zod-to-json-schema"],"optionalDependencies":{"@mariozechner/clipboard":"0.3.9","@mariozechner/clipboard-darwin-x64":"0.3.9","@mariozechner/clipboard-darwin-arm64":"0.3.9","@mariozechner/clipboard-linux-x64-gnu":"0.3.9","@mariozechner/clipboard-linux-x64-musl":"0.3.9","@mariozechner/clipboard-win32-x64-msvc":"0.3.9","@mariozechner/clipboard-linux-arm64-gnu":"0.3.9","@anthropic-ai/claude-agent-sdk-linux-x64":"0.3.220","@anthropic-ai/claude-agent-sdk-win32-x64":"0.3.220","@mariozechner/clipboard-darwin-universal":"0.3.9","@mariozechner/clipboard-linux-arm64-musl":"0.3.9","@mariozechner/clipboard-win32-arm64-msvc":"0.3.9","@anthropic-ai/claude-agent-sdk-darwin-x64":"0.3.220","@mariozechner/clipboard-linux-riscv64-gnu":"0.3.9","@anthropic-ai/claude-agent-sdk-linux-arm64":"0.3.220","@anthropic-ai/claude-agent-sdk-win32-arm64":"0.3.220","@anthropic-ai/claude-agent-sdk-darwin-arm64":"0.3.220","@anthropic-ai/claude-agent-sdk-linux-x64-musl":"0.3.220","@anthropic-ai/claude-agent-sdk-linux-arm64-musl":"0.3.220"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.8.12-4_1786529185781_0.8527572183018488","host":"s3://npm-registry-packages-npm-production"}},"2026.8.13":{"name":"@code-yeongyu/senpi","version":"2026.8.13","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.8.13","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"senpi":"dist/cli.js"},"dist":{"shasum":"28e9c6a0d52520b8da1da379ad7fed289dca9d3e","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.8.13.tgz","fileCount":29651,"integrity":"sha512-11Wv8lvwUJE94V95VQawu8fWCusMipoB5t5NzS1qpHFGPCDZthx1FCrKPAiikVKzMd3jcxX+ITXiwACSAWppiQ==","signatures":[{"sig":"MEYCIQDxiCe5EAjMRYIenqvy3RE1S+oGZq/XXcRjn/H/Kc4XEwIhAIyqQ/vdvTBk4Yi5vrsq0+EgvDUUVuRvTrQXv7SErS1e","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":161138834},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.js"},"./rpc-entry":{"import":"./dist/rpc-entry.js"}},"scripts":{"dev":"tsc -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsc -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js dist/rpc-entry.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/","build:binary":"npm --prefix ../tui run build && npm --prefix ../telemetry run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm --prefix ../protocol run build && npm --prefix ../client run build && npm --prefix ../pty run build && npm run build && node ../../scripts/prepare-bun-compile-assets.mjs && bun build --compile --compile-autoload-package-json --no-compile-autoload-dotenv --no-compile-autoload-bunfig --minify --keep-names ./dist/bun/cli.js ./src/utils/image-resize-worker.ts ../../node_modules/jsdom/lib/jsdom/living/xhr/xhr-sync-worker.js --outfile dist/pi && npm run copy-binary-assets","qa:app-server":"node scripts/qa-app-server/run-all.mjs","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/export-html/ && shx cp -r docs dist/ && shx cp -r examples dist/ && shx mkdir -p dist/node_modules && shx cp -r ../../node_modules/css-tree ../../node_modules/mdn-data ../../node_modules/source-map-js dist/node_modules/ && node ../../scripts/copy-codemode-sidecar.mjs dist && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/ && shx mkdir -p dist/native/darwin dist/native/win32 && shx cp -r ../../packages/tui/native/darwin/prebuilds dist/native/darwin/ && shx cp -r ../../packages/tui/native/win32/prebuilds dist/native/win32/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/ && node ../../scripts/copy-pty-native.mjs"},"_npmUser":{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.2"},"rimraf":"6.1.2","protobufjs":"7.6.5","@hono/node-server":"2.0.10"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.18.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"26.6.0","dependencies":{"ms":"2.1.3","qs":"6.15.3","ws":"8.21.1","ajv":"8.20.0","jwa":"2.0.1","jws":"4.0.1","zod":"4.4.3","cors":"2.8.6","depd":"2.0.0","diff":"9.0.0","etag":"1.8.1","glob":"13.0.6","gopd":"1.2.0","hono":"4.12.27","jiti":"2.7.0","jose":"6.2.3","long":"5.3.2","once":"1.4.0","send":"1.2.1","tr46":"6.0.0","vary":"1.1.2","yaml":"2.9.0","bytes":"3.1.2","chalk":"6.0.0","debug":"4.4.3","fresh":"2.0.0","isexe":"2.0.0","jsdom":"29.1.1","retry":"0.13.1","saxes":"6.0.0","tldts":"7.4.3","tslib":"2.8.1","which":"2.0.2","bowser":"2.14.1","cookie":"0.7.2","extend":"3.0.2","gaxios":"7.1.4","hasown":"2.0.3","ignore":"7.0.6","marked":"18.0.7","openai":"6.26.0","parse5":"8.0.1","router":"2.2.0","semver":"7.8.5","undici":"8.9.0","unpipe":"1.0.0","wrappy":"1.0.2","accepts":"2.0.0","bidi-js":"1.0.3","express":"5.2.1","mime-db":"1.54.0","p-retry":"4.6.2","type-is":"2.1.0","typebox":"1.3.8","css-tree":"3.2.1","ee-first":"1.1.1","entities":"8.0.0","fast-uri":"3.1.4","inherits":"2.0.4","mdn-data":"2.27.1","minipass":"7.1.3","parseurl":"1.3.3","path-key":"3.1.1","punycode":"2.3.1","raw-body":"3.0.2","statuses":"2.0.2","turndown":"7.2.4","xmlchars":"2.2.0","base64-js":"1.5.1","data-urls":"7.0.0","encodeurl":"2.0.0","es-errors":"1.3.0","forwarded":"0.2.0","get-proto":"1.0.1","ipaddr.js":"1.9.1","lru-cache":"11.4.0","minimatch":"10.2.5","picomatch":"4.0.5","agent-base":"7.1.4","call-bound":"1.0.4","decimal.js":"10.6.0","fetch-blob":"3.2.0","iconv-lite":"0.7.3","ip-address":"10.2.0","is-promise":"4.0.0","mime-types":"3.0.2","negotiator":"1.0.0","node-fetch":"3.3.2","protobufjs":"7.6.5","proxy-addr":"2.0.7","tldts-core":"7.4.3","ts-algebra":"2.0.0","whatwg-url":"16.0.1","@types/node":"26.1.1","ajv-formats":"3.0.1","body-parser":"2.3.0","cross-spawn":"7.0.6","escape-html":"1.0.3","eventsource":"3.0.7","graceful-fs":"4.2.11","has-symbols":"1.1.0","http-errors":"2.0.1","json-bigint":"1.0.0","media-typer":"1.1.0","on-finished":"2.4.1","path-scurry":"2.0.2","safe-buffer":"5.2.1","signal-exit":"3.0.7","symbol-tree":"3.2.4","@smithy/core":"3.30.0","bignumber.js":"9.3.1","content-type":"1.0.5","dunder-proto":"1.0.1","finalhandler":"2.1.1","gcp-metadata":"8.1.2","grok-mermaid":"0.2.2","highlight.js":"11.11.1","partial-json":"0.1.7","range-parser":"1.3.0","safer-buffer":"2.1.2","serve-static":"2.2.1","side-channel":"1.1.1","toidentifier":"1.0.1","tough-cookie":"6.0.1","@aws-sdk/core":"3.977.1","@exodus/bytes":"1.15.1","@smithy/types":"4.16.1","function-bind":"1.1.2","get-intrinsic":"1.3.0","object-assign":"4.1.1","shebang-regex":"3.0.0","source-map-js":"1.2.1","@aws-sdk/types":"3.974.2","@babel/runtime":"7.29.2","balanced-match":"4.0.4","object-inspect":"1.13.4","path-to-regexp":"8.4.2","pkce-challenge":"5.0.1","proxy-from-env":"2.1.0","setprototypeof":"1.2.0","@xterm/headless":"6.0.0","brace-expansion":"5.0.8","es-object-atoms":"1.1.2","fast-deep-equal":"3.1.3","hosted-git-info":"10.1.1","math-intrinsics":"1.1.0","proper-lockfile":"4.1.2","shebang-command":"2.0.0","whatwg-mimetype":"5.0.0","@protobufjs/path":"1.1.2","@protobufjs/pool":"1.1.0","@protobufjs/utf8":"1.1.1","cookie-signature":"1.2.2","http-proxy-agent":"9.1.0","side-channel-map":"1.0.1","@anthropic-ai/sdk":"0.91.1","@hono/node-server":"2.0.10","@protobufjs/fetch":"1.1.1","@protobufjs/float":"1.0.2","formdata-polyfill":"4.0.10","https-proxy-agent":"9.1.0","json-schema-to-ts":"3.1.1","json-schema-typed":"8.0.2","merge-descriptors":"2.0.0","node-domexception":"1.0.0","side-channel-list":"1.0.1","w3c-xmlserializer":"5.0.0","@asamuzakjp/nwsapi":"2.3.9","@csstools/css-calc":"3.2.1","@mixmark-io/domino":"2.2.0","@opentelemetry/api":"1.9.1","@protobufjs/base64":"1.1.2","data-uri-to-buffer":"4.0.1","es-define-property":"1.0.1","eventsource-parser":"3.1.0","express-rate-limit":"8.5.2","webidl-conversions":"8.0.1","xml-name-validator":"5.0.0","zod-to-json-schema":"3.25.2","@bramus/specificity":"2.4.2","@protobufjs/codegen":"2.0.5","content-disposition":"1.1.0","ecdsa-sig-formatter":"1.0.11","google-auth-library":"10.6.2","require-from-string":"2.0.2","@aws-sdk/xml-builder":"3.972.37","@mistralai/mistralai":"2.5.0","@mozilla/readability":"0.6.0","@smithy/signature-v4":"5.6.10","get-east-asian-width":"1.6.0","google-logging-utils":"1.1.3","json-schema-traverse":"1.0.0","side-channel-weakmap":"1.0.2","web-streams-polyfill":"3.3.3","@asamuzakjp/css-color":"5.1.11","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.8.13","@protobufjs/aspromise":"1.1.2","html-encoding-sniffer":"6.0.0","proxy-agent-negotiate":"1.1.0","@earendil-works/pi-pty":"npm:@code-yeongyu/senpi-pty@2026.8.13","@earendil-works/pi-tui":"npm:@code-yeongyu/senpi-tui@2026.8.13","@aws-sdk/nested-clients":"3.997.35","@csstools/color-helpers":"6.0.2","@csstools/css-tokenizer":"4.0.0","@mariozechner/clipboard":"*","call-bind-apply-helpers":"1.0.2","@asamuzakjp/dom-selector":"7.1.1","@aws-sdk/token-providers":"3.1095.0","@aws/lambda-invoke-store":"0.3.0","@protobufjs/eventemitter":"1.1.1","@modelcontextprotocol/sdk":"1.30.0","@smithy/node-http-handler":"4.9.11","@csstools/css-color-parser":"4.1.8","@silvia-odwyer/photon-node":"0.3.4","@smithy/fetch-http-handler":"5.6.11","buffer-equal-constant-time":"1.0.1","@code-yeongyu/senpi-codemode":"2026.8.13","@earendil-works/pi-telemetry":"npm:@code-yeongyu/senpi-telemetry@2026.8.13","@aws-sdk/middleware-websocket":"3.972.43","@earendil-works/pi-agent-core":"npm:@code-yeongyu/senpi-agent-core@2026.8.13","@anthropic-ai/claude-agent-sdk":"0.3.220","@asamuzakjp/generational-cache":"1.0.1","@aws-sdk/client-bedrock-runtime":"3.1095.0","@aws-sdk/middleware-eventstream":"3.972.25","@csstools/css-parser-algorithms":"4.0.0","@aws-sdk/credential-provider-env":"3.972.61","@aws-sdk/credential-provider-ini":"3.973.6","@aws-sdk/credential-provider-sso":"3.973.5","@smithy/credential-provider-imds":"4.4.14","is-potential-custom-element-name":"1.0.1","@aws-sdk/credential-provider-http":"3.972.63","@aws-sdk/credential-provider-node":"3.972.72","@aws-sdk/eventstream-handler-node":"3.972.30","@aws-sdk/credential-provider-login":"3.972.68","@aws-sdk/signature-v4-multi-region":"3.996.42","@opentelemetry/semantic-conventions":"1.41.1","@aws-sdk/credential-provider-process":"3.972.61","@csstools/css-syntax-patches-for-csstree":"1.1.5","@aws-sdk/credential-provider-web-identity":"3.972.67"},"_hasShrinkwrap":false,"devDependencies":{"shx":"0.4.0","vitest":"4.1.10","@types/ms":"2.1.0","@types/ws":"8.18.1","typescript":"7.0.2","@types/node":"26.1.1","@types/jsdom":"28.0.3","@types/semver":"7.7.1","@types/turndown":"5.0.6","@types/picomatch":"4.0.3","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@anthropic-ai/claude-agent-sdk","@anthropic-ai/sdk","@asamuzakjp/css-color","@asamuzakjp/dom-selector","@asamuzakjp/generational-cache","@asamuzakjp/nwsapi","@aws-sdk/client-bedrock-runtime","@aws-sdk/core","@aws-sdk/credential-provider-env","@aws-sdk/credential-provider-http","@aws-sdk/credential-provider-ini","@aws-sdk/credential-provider-login","@aws-sdk/credential-provider-node","@aws-sdk/credential-provider-process","@aws-sdk/credential-provider-sso","@aws-sdk/credential-provider-web-identity","@aws-sdk/eventstream-handler-node","@aws-sdk/middleware-eventstream","@aws-sdk/middleware-websocket","@aws-sdk/nested-clients","@aws-sdk/signature-v4-multi-region","@aws-sdk/token-providers","@aws-sdk/types","@aws-sdk/xml-builder","@aws/lambda-invoke-store","@babel/runtime","@bramus/specificity","@code-yeongyu/senpi-codemode","@csstools/color-helpers","@csstools/css-calc","@csstools/css-color-parser","@csstools/css-parser-algorithms","@csstools/css-syntax-patches-for-csstree","@csstools/css-tokenizer","@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-pty","@earendil-works/pi-telemetry","@earendil-works/pi-tui","@exodus/bytes","@hono/node-server","@mariozechner/clipboard","@mistralai/mistralai","@mixmark-io/domino","@modelcontextprotocol/sdk","@mozilla/readability","@opentelemetry/api","@opentelemetry/semantic-conventions","@protobufjs/aspromise","@protobufjs/base64","@protobufjs/codegen","@protobufjs/eventemitter","@protobufjs/fetch","@protobufjs/float","@protobufjs/path","@protobufjs/pool","@protobufjs/utf8","@silvia-odwyer/photon-node","@smithy/core","@smithy/credential-provider-imds","@smithy/fetch-http-handler","@smithy/node-http-handler","@smithy/signature-v4","@smithy/types","@types/node","@xterm/headless","accepts","agent-base","ajv","ajv-formats","balanced-match","base64-js","bidi-js","bignumber.js","body-parser","bowser","brace-expansion","buffer-equal-constant-time","bytes","call-bind-apply-helpers","call-bound","chalk","content-disposition","content-type","cookie","cookie-signature","cors","cross-spawn","css-tree","data-uri-to-buffer","data-urls","debug","decimal.js","depd","diff","dunder-proto","ecdsa-sig-formatter","ee-first","encodeurl","entities","es-define-property","es-errors","es-object-atoms","escape-html","etag","eventsource","eventsource-parser","express","express-rate-limit","extend","fast-deep-equal","fast-uri","fetch-blob","finalhandler","formdata-polyfill","forwarded","fresh","function-bind","gaxios","gcp-metadata","get-east-asian-width","get-intrinsic","get-proto","glob","google-auth-library","google-logging-utils","gopd","graceful-fs","grok-mermaid","has-symbols","hasown","highlight.js","hono","hosted-git-info","html-encoding-sniffer","http-errors","http-proxy-agent","https-proxy-agent","iconv-lite","ignore","inherits","ip-address","ipaddr.js","is-potential-custom-element-name","is-promise","isexe","jiti","jose","jsdom","json-bigint","json-schema-to-ts","json-schema-traverse","json-schema-typed","jwa","jws","long","lru-cache","marked","math-intrinsics","mdn-data","media-typer","merge-descriptors","mime-db","mime-types","minimatch","minipass","ms","negotiator","node-domexception","node-fetch","object-assign","object-inspect","on-finished","once","openai","p-retry","parse5","parseurl","partial-json","path-key","path-scurry","path-to-regexp","picomatch","pkce-challenge","proper-lockfile","protobufjs","proxy-addr","proxy-agent-negotiate","proxy-from-env","punycode","qs","range-parser","raw-body","require-from-string","retry","router","safe-buffer","safer-buffer","saxes","semver","send","serve-static","setprototypeof","shebang-command","shebang-regex","side-channel","side-channel-list","side-channel-map","side-channel-weakmap","signal-exit","source-map-js","statuses","symbol-tree","tldts","tldts-core","toidentifier","tough-cookie","tr46","ts-algebra","tslib","turndown","type-is","typebox","undici","unpipe","vary","w3c-xmlserializer","web-streams-polyfill","webidl-conversions","whatwg-mimetype","whatwg-url","which","wrappy","ws","xml-name-validator","xmlchars","yaml","zod","zod-to-json-schema"],"optionalDependencies":{"@mariozechner/clipboard":"0.3.9","@mariozechner/clipboard-darwin-x64":"0.3.9","@mariozechner/clipboard-darwin-arm64":"0.3.9","@mariozechner/clipboard-linux-x64-gnu":"0.3.9","@mariozechner/clipboard-linux-x64-musl":"0.3.9","@mariozechner/clipboard-win32-x64-msvc":"0.3.9","@mariozechner/clipboard-linux-arm64-gnu":"0.3.9","@anthropic-ai/claude-agent-sdk-linux-x64":"0.3.220","@anthropic-ai/claude-agent-sdk-win32-x64":"0.3.220","@mariozechner/clipboard-darwin-universal":"0.3.9","@mariozechner/clipboard-linux-arm64-musl":"0.3.9","@mariozechner/clipboard-win32-arm64-msvc":"0.3.9","@anthropic-ai/claude-agent-sdk-darwin-x64":"0.3.220","@mariozechner/clipboard-linux-riscv64-gnu":"0.3.9","@anthropic-ai/claude-agent-sdk-linux-arm64":"0.3.220","@anthropic-ai/claude-agent-sdk-win32-arm64":"0.3.220","@anthropic-ai/claude-agent-sdk-darwin-arm64":"0.3.220","@anthropic-ai/claude-agent-sdk-linux-x64-musl":"0.3.220","@anthropic-ai/claude-agent-sdk-linux-arm64-musl":"0.3.220"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.8.13_1786614847239_0.585104983462662","host":"s3://npm-registry-packages-npm-production"}},"2026.8.14":{"name":"@code-yeongyu/senpi","version":"2026.8.14","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.8.14","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"senpi":"dist/cli.js"},"dist":{"shasum":"7caecc1804ec24343e65059cb8a46c8add2b16cf","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.8.14.tgz","fileCount":29651,"integrity":"sha512-XhkkPrk3MoHm3YRg8yiSp5TMOrljuhzn1wSIp/oiC2UEnlaZFXNJUra2EYuU/f/NQIk2xW7Ifr7B45WJdh1JaA==","signatures":[{"sig":"MEUCIC1BX9fMukYyrdYhlIfZ4gISc5FqBshJ1Acrk+bvhyY1AiEA8NYe+TJbO2YrC0tHYz7ZlHoHpKuRrUY4z42evLEwAKY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.8.14","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":161171219},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.js"},"./rpc-entry":{"import":"./dist/rpc-entry.js"}},"scripts":{"dev":"tsc -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsc -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js dist/rpc-entry.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/","build:binary":"npm --prefix ../tui run build && npm --prefix ../telemetry run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm --prefix ../protocol run build && npm --prefix ../client run build && npm --prefix ../pty run build && npm run build && node ../../scripts/prepare-bun-compile-assets.mjs && bun build --compile --compile-autoload-package-json --no-compile-autoload-dotenv --no-compile-autoload-bunfig --minify --keep-names ./dist/bun/cli.js ./src/utils/image-resize-worker.ts ../../node_modules/jsdom/lib/jsdom/living/xhr/xhr-sync-worker.js --outfile dist/pi && npm run copy-binary-assets","qa:app-server":"node scripts/qa-app-server/run-all.mjs","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/export-html/ && shx cp -r docs dist/ && shx cp -r examples dist/ && shx mkdir -p dist/node_modules && shx cp -r ../../node_modules/css-tree ../../node_modules/mdn-data ../../node_modules/source-map-js dist/node_modules/ && node ../../scripts/copy-codemode-sidecar.mjs dist && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/ && shx mkdir -p dist/native/darwin dist/native/win32 && shx cp -r ../../packages/tui/native/darwin/prebuilds dist/native/darwin/ && shx cp -r ../../packages/tui/native/win32/prebuilds dist/native/win32/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/ && node ../../scripts/copy-pty-native.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ea548fc8-dac4-4dec-a439-6f4fa3870309"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.2"},"rimraf":"6.1.2","protobufjs":"7.6.5","@hono/node-server":"2.0.10"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.16.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ms":"2.1.3","qs":"6.15.3","ws":"8.21.1","ajv":"8.20.0","jwa":"2.0.1","jws":"4.0.1","zod":"4.4.3","cors":"2.8.6","depd":"2.0.0","diff":"9.0.0","etag":"1.8.1","glob":"13.0.6","gopd":"1.2.0","hono":"4.12.27","jiti":"2.7.0","jose":"6.2.3","long":"5.3.2","once":"1.4.0","send":"1.2.1","tr46":"6.0.0","vary":"1.1.2","yaml":"2.9.0","bytes":"3.1.2","chalk":"6.0.0","debug":"4.4.3","fresh":"2.0.0","isexe":"2.0.0","jsdom":"29.1.1","retry":"0.13.1","saxes":"6.0.0","tldts":"7.4.3","tslib":"2.8.1","which":"2.0.2","bowser":"2.14.1","cookie":"0.7.2","extend":"3.0.2","gaxios":"7.1.4","hasown":"2.0.3","ignore":"7.0.6","marked":"18.0.7","openai":"6.26.0","parse5":"8.0.1","router":"2.2.0","semver":"7.8.5","undici":"8.9.0","unpipe":"1.0.0","wrappy":"1.0.2","accepts":"2.0.0","bidi-js":"1.0.3","express":"5.2.1","mime-db":"1.54.0","p-retry":"4.6.2","type-is":"2.1.0","typebox":"1.3.8","css-tree":"3.2.1","ee-first":"1.1.1","entities":"8.0.0","fast-uri":"3.1.4","inherits":"2.0.4","mdn-data":"2.27.1","minipass":"7.1.3","parseurl":"1.3.3","path-key":"3.1.1","punycode":"2.3.1","raw-body":"3.0.2","statuses":"2.0.2","turndown":"7.2.4","xmlchars":"2.2.0","base64-js":"1.5.1","data-urls":"7.0.0","encodeurl":"2.0.0","es-errors":"1.3.0","forwarded":"0.2.0","get-proto":"1.0.1","ipaddr.js":"1.9.1","lru-cache":"11.4.0","minimatch":"10.2.5","picomatch":"4.0.5","agent-base":"7.1.4","call-bound":"1.0.4","decimal.js":"10.6.0","fetch-blob":"3.2.0","iconv-lite":"0.7.3","ip-address":"10.2.0","is-promise":"4.0.0","mime-types":"3.0.2","negotiator":"1.0.0","node-fetch":"3.3.2","protobufjs":"7.6.5","proxy-addr":"2.0.7","tldts-core":"7.4.3","ts-algebra":"2.0.0","whatwg-url":"16.0.1","@types/node":"26.1.1","ajv-formats":"3.0.1","body-parser":"2.3.0","cross-spawn":"7.0.6","escape-html":"1.0.3","eventsource":"3.0.7","graceful-fs":"4.2.11","has-symbols":"1.1.0","http-errors":"2.0.1","json-bigint":"1.0.0","media-typer":"1.1.0","on-finished":"2.4.1","path-scurry":"2.0.2","safe-buffer":"5.2.1","signal-exit":"3.0.7","symbol-tree":"3.2.4","@smithy/core":"3.30.0","bignumber.js":"9.3.1","content-type":"1.0.5","dunder-proto":"1.0.1","finalhandler":"2.1.1","gcp-metadata":"8.1.2","grok-mermaid":"0.2.2","highlight.js":"11.11.1","partial-json":"0.1.7","range-parser":"1.3.0","safer-buffer":"2.1.2","serve-static":"2.2.1","side-channel":"1.1.1","toidentifier":"1.0.1","tough-cookie":"6.0.1","@aws-sdk/core":"3.977.1","@exodus/bytes":"1.15.1","@smithy/types":"4.16.1","function-bind":"1.1.2","get-intrinsic":"1.3.0","object-assign":"4.1.1","shebang-regex":"3.0.0","source-map-js":"1.2.1","@aws-sdk/types":"3.974.2","@babel/runtime":"7.29.2","balanced-match":"4.0.4","object-inspect":"1.13.4","path-to-regexp":"8.4.2","pkce-challenge":"5.0.1","proxy-from-env":"2.1.0","setprototypeof":"1.2.0","@xterm/headless":"6.0.0","brace-expansion":"5.0.8","es-object-atoms":"1.1.2","fast-deep-equal":"3.1.3","hosted-git-info":"10.1.1","math-intrinsics":"1.1.0","proper-lockfile":"4.1.2","shebang-command":"2.0.0","whatwg-mimetype":"5.0.0","@protobufjs/path":"1.1.2","@protobufjs/pool":"1.1.0","@protobufjs/utf8":"1.1.1","cookie-signature":"1.2.2","http-proxy-agent":"9.1.0","side-channel-map":"1.0.1","@anthropic-ai/sdk":"0.91.1","@hono/node-server":"2.0.10","@protobufjs/fetch":"1.1.1","@protobufjs/float":"1.0.2","formdata-polyfill":"4.0.10","https-proxy-agent":"9.1.0","json-schema-to-ts":"3.1.1","json-schema-typed":"8.0.2","merge-descriptors":"2.0.0","node-domexception":"1.0.0","side-channel-list":"1.0.1","w3c-xmlserializer":"5.0.0","@asamuzakjp/nwsapi":"2.3.9","@csstools/css-calc":"3.2.1","@mixmark-io/domino":"2.2.0","@opentelemetry/api":"1.9.1","@protobufjs/base64":"1.1.2","data-uri-to-buffer":"4.0.1","es-define-property":"1.0.1","eventsource-parser":"3.1.0","express-rate-limit":"8.5.2","webidl-conversions":"8.0.1","xml-name-validator":"5.0.0","zod-to-json-schema":"3.25.2","@bramus/specificity":"2.4.2","@protobufjs/codegen":"2.0.5","content-disposition":"1.1.0","ecdsa-sig-formatter":"1.0.11","google-auth-library":"10.6.2","require-from-string":"2.0.2","@aws-sdk/xml-builder":"3.972.37","@mistralai/mistralai":"2.5.0","@mozilla/readability":"0.6.0","@smithy/signature-v4":"5.6.10","get-east-asian-width":"1.6.0","google-logging-utils":"1.1.3","json-schema-traverse":"1.0.0","side-channel-weakmap":"1.0.2","web-streams-polyfill":"3.3.3","@asamuzakjp/css-color":"5.1.11","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.8.14","@protobufjs/aspromise":"1.1.2","html-encoding-sniffer":"6.0.0","proxy-agent-negotiate":"1.1.0","@earendil-works/pi-pty":"npm:@code-yeongyu/senpi-pty@2026.8.14","@earendil-works/pi-tui":"npm:@code-yeongyu/senpi-tui@2026.8.14","@aws-sdk/nested-clients":"3.997.35","@csstools/color-helpers":"6.0.2","@csstools/css-tokenizer":"4.0.0","@mariozechner/clipboard":"*","call-bind-apply-helpers":"1.0.2","@asamuzakjp/dom-selector":"7.1.1","@aws-sdk/token-providers":"3.1095.0","@aws/lambda-invoke-store":"0.3.0","@protobufjs/eventemitter":"1.1.1","@modelcontextprotocol/sdk":"1.30.0","@smithy/node-http-handler":"4.9.11","@csstools/css-color-parser":"4.1.8","@silvia-odwyer/photon-node":"0.3.4","@smithy/fetch-http-handler":"5.6.11","buffer-equal-constant-time":"1.0.1","@code-yeongyu/senpi-codemode":"2026.8.14","@earendil-works/pi-telemetry":"npm:@code-yeongyu/senpi-telemetry@2026.8.14","@aws-sdk/middleware-websocket":"3.972.43","@earendil-works/pi-agent-core":"npm:@code-yeongyu/senpi-agent-core@2026.8.14","@anthropic-ai/claude-agent-sdk":"0.3.220","@asamuzakjp/generational-cache":"1.0.1","@aws-sdk/client-bedrock-runtime":"3.1095.0","@aws-sdk/middleware-eventstream":"3.972.25","@csstools/css-parser-algorithms":"4.0.0","@aws-sdk/credential-provider-env":"3.972.61","@aws-sdk/credential-provider-ini":"3.973.6","@aws-sdk/credential-provider-sso":"3.973.5","@smithy/credential-provider-imds":"4.4.14","is-potential-custom-element-name":"1.0.1","@aws-sdk/credential-provider-http":"3.972.63","@aws-sdk/credential-provider-node":"3.972.72","@aws-sdk/eventstream-handler-node":"3.972.30","@aws-sdk/credential-provider-login":"3.972.68","@aws-sdk/signature-v4-multi-region":"3.996.42","@opentelemetry/semantic-conventions":"1.41.1","@aws-sdk/credential-provider-process":"3.972.61","@csstools/css-syntax-patches-for-csstree":"1.1.5","@aws-sdk/credential-provider-web-identity":"3.972.67"},"_hasShrinkwrap":false,"devDependencies":{"shx":"0.4.0","vitest":"4.1.10","@types/ms":"2.1.0","@types/ws":"8.18.1","typescript":"7.0.2","@types/node":"26.1.1","@types/jsdom":"28.0.3","@types/semver":"7.7.1","@types/turndown":"5.0.6","@types/picomatch":"4.0.3","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@anthropic-ai/claude-agent-sdk","@anthropic-ai/sdk","@asamuzakjp/css-color","@asamuzakjp/dom-selector","@asamuzakjp/generational-cache","@asamuzakjp/nwsapi","@aws-sdk/client-bedrock-runtime","@aws-sdk/core","@aws-sdk/credential-provider-env","@aws-sdk/credential-provider-http","@aws-sdk/credential-provider-ini","@aws-sdk/credential-provider-login","@aws-sdk/credential-provider-node","@aws-sdk/credential-provider-process","@aws-sdk/credential-provider-sso","@aws-sdk/credential-provider-web-identity","@aws-sdk/eventstream-handler-node","@aws-sdk/middleware-eventstream","@aws-sdk/middleware-websocket","@aws-sdk/nested-clients","@aws-sdk/signature-v4-multi-region","@aws-sdk/token-providers","@aws-sdk/types","@aws-sdk/xml-builder","@aws/lambda-invoke-store","@babel/runtime","@bramus/specificity","@code-yeongyu/senpi-codemode","@csstools/color-helpers","@csstools/css-calc","@csstools/css-color-parser","@csstools/css-parser-algorithms","@csstools/css-syntax-patches-for-csstree","@csstools/css-tokenizer","@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-pty","@earendil-works/pi-telemetry","@earendil-works/pi-tui","@exodus/bytes","@hono/node-server","@mariozechner/clipboard","@mistralai/mistralai","@mixmark-io/domino","@modelcontextprotocol/sdk","@mozilla/readability","@opentelemetry/api","@opentelemetry/semantic-conventions","@protobufjs/aspromise","@protobufjs/base64","@protobufjs/codegen","@protobufjs/eventemitter","@protobufjs/fetch","@protobufjs/float","@protobufjs/path","@protobufjs/pool","@protobufjs/utf8","@silvia-odwyer/photon-node","@smithy/core","@smithy/credential-provider-imds","@smithy/fetch-http-handler","@smithy/node-http-handler","@smithy/signature-v4","@smithy/types","@types/node","@xterm/headless","accepts","agent-base","ajv","ajv-formats","balanced-match","base64-js","bidi-js","bignumber.js","body-parser","bowser","brace-expansion","buffer-equal-constant-time","bytes","call-bind-apply-helpers","call-bound","chalk","content-disposition","content-type","cookie","cookie-signature","cors","cross-spawn","css-tree","data-uri-to-buffer","data-urls","debug","decimal.js","depd","diff","dunder-proto","ecdsa-sig-formatter","ee-first","encodeurl","entities","es-define-property","es-errors","es-object-atoms","escape-html","etag","eventsource","eventsource-parser","express","express-rate-limit","extend","fast-deep-equal","fast-uri","fetch-blob","finalhandler","formdata-polyfill","forwarded","fresh","function-bind","gaxios","gcp-metadata","get-east-asian-width","get-intrinsic","get-proto","glob","google-auth-library","google-logging-utils","gopd","graceful-fs","grok-mermaid","has-symbols","hasown","highlight.js","hono","hosted-git-info","html-encoding-sniffer","http-errors","http-proxy-agent","https-proxy-agent","iconv-lite","ignore","inherits","ip-address","ipaddr.js","is-potential-custom-element-name","is-promise","isexe","jiti","jose","jsdom","json-bigint","json-schema-to-ts","json-schema-traverse","json-schema-typed","jwa","jws","long","lru-cache","marked","math-intrinsics","mdn-data","media-typer","merge-descriptors","mime-db","mime-types","minimatch","minipass","ms","negotiator","node-domexception","node-fetch","object-assign","object-inspect","on-finished","once","openai","p-retry","parse5","parseurl","partial-json","path-key","path-scurry","path-to-regexp","picomatch","pkce-challenge","proper-lockfile","protobufjs","proxy-addr","proxy-agent-negotiate","proxy-from-env","punycode","qs","range-parser","raw-body","require-from-string","retry","router","safe-buffer","safer-buffer","saxes","semver","send","serve-static","setprototypeof","shebang-command","shebang-regex","side-channel","side-channel-list","side-channel-map","side-channel-weakmap","signal-exit","source-map-js","statuses","symbol-tree","tldts","tldts-core","toidentifier","tough-cookie","tr46","ts-algebra","tslib","turndown","type-is","typebox","undici","unpipe","vary","w3c-xmlserializer","web-streams-polyfill","webidl-conversions","whatwg-mimetype","whatwg-url","which","wrappy","ws","xml-name-validator","xmlchars","yaml","zod","zod-to-json-schema"],"optionalDependencies":{"@mariozechner/clipboard":"0.3.9","@mariozechner/clipboard-darwin-x64":"0.3.9","@mariozechner/clipboard-darwin-arm64":"0.3.9","@mariozechner/clipboard-linux-x64-gnu":"0.3.9","@mariozechner/clipboard-linux-x64-musl":"0.3.9","@mariozechner/clipboard-win32-x64-msvc":"0.3.9","@mariozechner/clipboard-linux-arm64-gnu":"0.3.9","@anthropic-ai/claude-agent-sdk-linux-x64":"0.3.220","@anthropic-ai/claude-agent-sdk-win32-x64":"0.3.220","@mariozechner/clipboard-darwin-universal":"0.3.9","@mariozechner/clipboard-linux-arm64-musl":"0.3.9","@mariozechner/clipboard-win32-arm64-msvc":"0.3.9","@anthropic-ai/claude-agent-sdk-darwin-x64":"0.3.220","@mariozechner/clipboard-linux-riscv64-gnu":"0.3.9","@anthropic-ai/claude-agent-sdk-linux-arm64":"0.3.220","@anthropic-ai/claude-agent-sdk-win32-arm64":"0.3.220","@anthropic-ai/claude-agent-sdk-darwin-arm64":"0.3.220","@anthropic-ai/claude-agent-sdk-linux-x64-musl":"0.3.220","@anthropic-ai/claude-agent-sdk-linux-arm64-musl":"0.3.220"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.8.14_1786686739571_0.7458417869045766","host":"s3://npm-registry-packages-npm-production"}},"2026.8.16":{"name":"@code-yeongyu/senpi","version":"2026.8.16","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.8.16","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"senpi":"dist/cli.js"},"dist":{"shasum":"b196ed75b4771285638fe182e16c677ab8e0d19c","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.8.16.tgz","fileCount":29712,"integrity":"sha512-hlAWe0Cl3l+fMXW5jTumVb3tGhUSAChuzpgZbGGnwC+7jIaXdFJT0hJpNloO90LYB/xpwY4J/viVX//kWbbgzg==","signatures":[{"sig":"MEQCIEmn7ef0Pq47pdC4UYqbEAiw+unLdyRas8TKcD1wHSpdAiAaP30GpBKYrzhuua6ufkcb3zR9MxkSCdd8XE/5bihc4A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.8.16","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":161818354},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.js"},"./rpc-entry":{"import":"./dist/rpc-entry.js"}},"scripts":{"dev":"tsc -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsc -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js dist/rpc-entry.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/","build:binary":"npm --prefix ../tui run build && npm --prefix ../telemetry run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm --prefix ../protocol run build && npm --prefix ../client run build && npm --prefix ../pty run build && npm run build && node ../../scripts/prepare-bun-compile-assets.mjs && bun build --compile --compile-autoload-package-json --no-compile-autoload-dotenv --no-compile-autoload-bunfig --minify --keep-names ./dist/bun/cli.js ./src/utils/image-resize-worker.ts ../../node_modules/jsdom/lib/jsdom/living/xhr/xhr-sync-worker.js --outfile dist/pi && npm run copy-binary-assets","qa:app-server":"node scripts/qa-app-server/run-all.mjs","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/export-html/ && shx cp -r docs dist/ && shx cp -r examples dist/ && shx mkdir -p dist/node_modules && shx cp -r ../../node_modules/css-tree ../../node_modules/mdn-data ../../node_modules/source-map-js dist/node_modules/ && node ../../scripts/copy-codemode-sidecar.mjs dist && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/ && shx mkdir -p dist/native/darwin dist/native/win32 && shx cp -r ../../packages/tui/native/darwin/prebuilds dist/native/darwin/ && shx cp -r ../../packages/tui/native/win32/prebuilds dist/native/win32/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/ && node ../../scripts/copy-pty-native.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ea548fc8-dac4-4dec-a439-6f4fa3870309"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.2"},"rimraf":"6.1.2","protobufjs":"7.6.5","@hono/node-server":"2.0.10"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.17.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.19.0","dependencies":{"ms":"2.1.3","qs":"6.15.3","ws":"8.21.1","ajv":"8.20.0","jwa":"2.0.1","jws":"4.0.1","zod":"4.4.3","cors":"2.8.6","depd":"2.0.0","diff":"9.0.0","etag":"1.8.1","glob":"13.0.6","gopd":"1.2.0","hono":"4.12.27","jiti":"2.7.0","jose":"6.2.3","long":"5.3.2","once":"1.4.0","send":"1.2.1","tr46":"6.0.0","vary":"1.1.2","yaml":"2.9.0","bytes":"3.1.2","chalk":"6.0.0","debug":"4.4.3","fresh":"2.0.0","isexe":"2.0.0","jsdom":"29.1.1","retry":"0.13.1","saxes":"6.0.0","tldts":"7.4.3","tslib":"2.8.1","which":"2.0.2","bowser":"2.14.1","cookie":"0.7.2","extend":"3.0.2","gaxios":"7.1.4","hasown":"2.0.3","ignore":"7.0.6","marked":"18.0.7","openai":"6.26.0","parse5":"8.0.1","router":"2.2.0","semver":"7.8.5","undici":"8.9.0","unpipe":"1.0.0","wrappy":"1.0.2","accepts":"2.0.0","bidi-js":"1.0.3","express":"5.2.1","mime-db":"1.54.0","p-retry":"4.6.2","type-is":"2.1.0","typebox":"1.3.8","css-tree":"3.2.1","ee-first":"1.1.1","entities":"8.0.0","fast-uri":"3.1.4","inherits":"2.0.4","mdn-data":"2.27.1","minipass":"7.1.3","parseurl":"1.3.3","path-key":"3.1.1","punycode":"2.3.1","raw-body":"3.0.2","statuses":"2.0.2","turndown":"7.2.4","xmlchars":"2.2.0","base64-js":"1.5.1","data-urls":"7.0.0","encodeurl":"2.0.0","es-errors":"1.3.0","forwarded":"0.2.0","get-proto":"1.0.1","ipaddr.js":"1.9.1","lru-cache":"11.4.0","minimatch":"10.2.5","picomatch":"4.0.5","agent-base":"7.1.4","call-bound":"1.0.4","decimal.js":"10.6.0","fetch-blob":"3.2.0","iconv-lite":"0.7.3","ip-address":"10.2.0","is-promise":"4.0.0","mime-types":"3.0.2","negotiator":"1.0.0","node-fetch":"3.3.2","protobufjs":"7.6.5","proxy-addr":"2.0.7","tldts-core":"7.4.3","ts-algebra":"2.0.0","whatwg-url":"16.0.1","@types/node":"26.1.1","ajv-formats":"3.0.1","body-parser":"2.3.0","cross-spawn":"7.0.6","escape-html":"1.0.3","eventsource":"3.0.7","graceful-fs":"4.2.11","has-symbols":"1.1.0","http-errors":"2.0.1","json-bigint":"1.0.0","media-typer":"1.1.0","on-finished":"2.4.1","path-scurry":"2.0.2","safe-buffer":"5.2.1","signal-exit":"3.0.7","symbol-tree":"3.2.4","@smithy/core":"3.30.0","bignumber.js":"9.3.1","content-type":"1.0.5","dunder-proto":"1.0.1","finalhandler":"2.1.1","gcp-metadata":"8.1.2","grok-mermaid":"0.2.2","highlight.js":"11.11.1","partial-json":"0.1.7","range-parser":"1.3.0","safer-buffer":"2.1.2","serve-static":"2.2.1","side-channel":"1.1.1","toidentifier":"1.0.1","tough-cookie":"6.0.1","@aws-sdk/core":"3.977.1","@exodus/bytes":"1.15.1","@smithy/types":"4.16.1","function-bind":"1.1.2","get-intrinsic":"1.3.0","object-assign":"4.1.1","shebang-regex":"3.0.0","source-map-js":"1.2.1","@aws-sdk/types":"3.974.2","@babel/runtime":"7.29.2","balanced-match":"4.0.4","object-inspect":"1.13.4","path-to-regexp":"8.4.2","pkce-challenge":"5.0.1","proxy-from-env":"2.1.0","setprototypeof":"1.2.0","@xterm/headless":"6.0.0","brace-expansion":"5.0.8","es-object-atoms":"1.1.2","fast-deep-equal":"3.1.3","hosted-git-info":"10.1.1","math-intrinsics":"1.1.0","proper-lockfile":"4.1.2","shebang-command":"2.0.0","whatwg-mimetype":"5.0.0","@protobufjs/path":"1.1.2","@protobufjs/pool":"1.1.0","@protobufjs/utf8":"1.1.1","cookie-signature":"1.2.2","http-proxy-agent":"9.1.0","side-channel-map":"1.0.1","@anthropic-ai/sdk":"0.91.1","@hono/node-server":"2.0.10","@protobufjs/fetch":"1.1.1","@protobufjs/float":"1.0.2","formdata-polyfill":"4.0.10","https-proxy-agent":"9.1.0","json-schema-to-ts":"3.1.1","json-schema-typed":"8.0.2","merge-descriptors":"2.0.0","node-domexception":"1.0.0","side-channel-list":"1.0.1","w3c-xmlserializer":"5.0.0","@asamuzakjp/nwsapi":"2.3.9","@csstools/css-calc":"3.2.1","@mixmark-io/domino":"2.2.0","@opentelemetry/api":"1.9.1","@protobufjs/base64":"1.1.2","data-uri-to-buffer":"4.0.1","es-define-property":"1.0.1","eventsource-parser":"3.1.0","express-rate-limit":"8.5.2","webidl-conversions":"8.0.1","xml-name-validator":"5.0.0","zod-to-json-schema":"3.25.2","@bramus/specificity":"2.4.2","@protobufjs/codegen":"2.0.5","content-disposition":"1.1.0","ecdsa-sig-formatter":"1.0.11","google-auth-library":"10.6.2","require-from-string":"2.0.2","@aws-sdk/xml-builder":"3.972.37","@mistralai/mistralai":"2.5.0","@mozilla/readability":"0.6.0","@smithy/signature-v4":"5.6.10","get-east-asian-width":"1.6.0","google-logging-utils":"1.1.3","json-schema-traverse":"1.0.0","side-channel-weakmap":"1.0.2","web-streams-polyfill":"3.3.3","@asamuzakjp/css-color":"5.1.11","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.8.16","@protobufjs/aspromise":"1.1.2","html-encoding-sniffer":"6.0.0","proxy-agent-negotiate":"1.1.0","@earendil-works/pi-pty":"npm:@code-yeongyu/senpi-pty@2026.8.16","@earendil-works/pi-tui":"npm:@code-yeongyu/senpi-tui@2026.8.16","@aws-sdk/nested-clients":"3.997.35","@csstools/color-helpers":"6.0.2","@csstools/css-tokenizer":"4.0.0","@mariozechner/clipboard":"*","call-bind-apply-helpers":"1.0.2","@asamuzakjp/dom-selector":"7.1.1","@aws-sdk/token-providers":"3.1095.0","@aws/lambda-invoke-store":"0.3.0","@protobufjs/eventemitter":"1.1.1","@modelcontextprotocol/sdk":"1.30.0","@smithy/node-http-handler":"4.9.11","@csstools/css-color-parser":"4.1.8","@silvia-odwyer/photon-node":"0.3.4","@smithy/fetch-http-handler":"5.6.11","buffer-equal-constant-time":"1.0.1","@code-yeongyu/senpi-codemode":"2026.8.16","@earendil-works/pi-telemetry":"npm:@code-yeongyu/senpi-telemetry@2026.8.16","@aws-sdk/middleware-websocket":"3.972.43","@earendil-works/pi-agent-core":"npm:@code-yeongyu/senpi-agent-core@2026.8.16","@anthropic-ai/claude-agent-sdk":"0.3.220","@asamuzakjp/generational-cache":"1.0.1","@aws-sdk/client-bedrock-runtime":"3.1095.0","@aws-sdk/middleware-eventstream":"3.972.25","@csstools/css-parser-algorithms":"4.0.0","@aws-sdk/credential-provider-env":"3.972.61","@aws-sdk/credential-provider-ini":"3.973.6","@aws-sdk/credential-provider-sso":"3.973.5","@smithy/credential-provider-imds":"4.4.14","is-potential-custom-element-name":"1.0.1","@aws-sdk/credential-provider-http":"3.972.63","@aws-sdk/credential-provider-node":"3.972.72","@aws-sdk/eventstream-handler-node":"3.972.30","@aws-sdk/credential-provider-login":"3.972.68","@aws-sdk/signature-v4-multi-region":"3.996.42","@opentelemetry/semantic-conventions":"1.41.1","@aws-sdk/credential-provider-process":"3.972.61","@csstools/css-syntax-patches-for-csstree":"1.1.5","@aws-sdk/credential-provider-web-identity":"3.972.67"},"_hasShrinkwrap":false,"devDependencies":{"shx":"0.4.0","vitest":"4.1.10","@types/ms":"2.1.0","@types/ws":"8.18.1","typescript":"7.0.2","@types/node":"26.1.1","@types/jsdom":"28.0.3","@types/semver":"7.7.1","@types/turndown":"5.0.6","@types/picomatch":"4.0.3","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@anthropic-ai/claude-agent-sdk","@anthropic-ai/sdk","@asamuzakjp/css-color","@asamuzakjp/dom-selector","@asamuzakjp/generational-cache","@asamuzakjp/nwsapi","@aws-sdk/client-bedrock-runtime","@aws-sdk/core","@aws-sdk/credential-provider-env","@aws-sdk/credential-provider-http","@aws-sdk/credential-provider-ini","@aws-sdk/credential-provider-login","@aws-sdk/credential-provider-node","@aws-sdk/credential-provider-process","@aws-sdk/credential-provider-sso","@aws-sdk/credential-provider-web-identity","@aws-sdk/eventstream-handler-node","@aws-sdk/middleware-eventstream","@aws-sdk/middleware-websocket","@aws-sdk/nested-clients","@aws-sdk/signature-v4-multi-region","@aws-sdk/token-providers","@aws-sdk/types","@aws-sdk/xml-builder","@aws/lambda-invoke-store","@babel/runtime","@bramus/specificity","@code-yeongyu/senpi-codemode","@csstools/color-helpers","@csstools/css-calc","@csstools/css-color-parser","@csstools/css-parser-algorithms","@csstools/css-syntax-patches-for-csstree","@csstools/css-tokenizer","@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-pty","@earendil-works/pi-telemetry","@earendil-works/pi-tui","@exodus/bytes","@hono/node-server","@mariozechner/clipboard","@mistralai/mistralai","@mixmark-io/domino","@modelcontextprotocol/sdk","@mozilla/readability","@opentelemetry/api","@opentelemetry/semantic-conventions","@protobufjs/aspromise","@protobufjs/base64","@protobufjs/codegen","@protobufjs/eventemitter","@protobufjs/fetch","@protobufjs/float","@protobufjs/path","@protobufjs/pool","@protobufjs/utf8","@silvia-odwyer/photon-node","@smithy/core","@smithy/credential-provider-imds","@smithy/fetch-http-handler","@smithy/node-http-handler","@smithy/signature-v4","@smithy/types","@types/node","@xterm/headless","accepts","agent-base","ajv","ajv-formats","balanced-match","base64-js","bidi-js","bignumber.js","body-parser","bowser","brace-expansion","buffer-equal-constant-time","bytes","call-bind-apply-helpers","call-bound","chalk","content-disposition","content-type","cookie","cookie-signature","cors","cross-spawn","css-tree","data-uri-to-buffer","data-urls","debug","decimal.js","depd","diff","dunder-proto","ecdsa-sig-formatter","ee-first","encodeurl","entities","es-define-property","es-errors","es-object-atoms","escape-html","etag","eventsource","eventsource-parser","express","express-rate-limit","extend","fast-deep-equal","fast-uri","fetch-blob","finalhandler","formdata-polyfill","forwarded","fresh","function-bind","gaxios","gcp-metadata","get-east-asian-width","get-intrinsic","get-proto","glob","google-auth-library","google-logging-utils","gopd","graceful-fs","grok-mermaid","has-symbols","hasown","highlight.js","hono","hosted-git-info","html-encoding-sniffer","http-errors","http-proxy-agent","https-proxy-agent","iconv-lite","ignore","inherits","ip-address","ipaddr.js","is-potential-custom-element-name","is-promise","isexe","jiti","jose","jsdom","json-bigint","json-schema-to-ts","json-schema-traverse","json-schema-typed","jwa","jws","long","lru-cache","marked","math-intrinsics","mdn-data","media-typer","merge-descriptors","mime-db","mime-types","minimatch","minipass","ms","negotiator","node-domexception","node-fetch","object-assign","object-inspect","on-finished","once","openai","p-retry","parse5","parseurl","partial-json","path-key","path-scurry","path-to-regexp","picomatch","pkce-challenge","proper-lockfile","protobufjs","proxy-addr","proxy-agent-negotiate","proxy-from-env","punycode","qs","range-parser","raw-body","require-from-string","retry","router","safe-buffer","safer-buffer","saxes","semver","send","serve-static","setprototypeof","shebang-command","shebang-regex","side-channel","side-channel-list","side-channel-map","side-channel-weakmap","signal-exit","source-map-js","statuses","symbol-tree","tldts","tldts-core","toidentifier","tough-cookie","tr46","ts-algebra","tslib","turndown","type-is","typebox","undici","unpipe","vary","w3c-xmlserializer","web-streams-polyfill","webidl-conversions","whatwg-mimetype","whatwg-url","which","wrappy","ws","xml-name-validator","xmlchars","yaml","zod","zod-to-json-schema"],"optionalDependencies":{"@mariozechner/clipboard":"0.3.9","@mariozechner/clipboard-darwin-x64":"0.3.9","@mariozechner/clipboard-darwin-arm64":"0.3.9","@mariozechner/clipboard-linux-x64-gnu":"0.3.9","@mariozechner/clipboard-linux-x64-musl":"0.3.9","@mariozechner/clipboard-win32-x64-msvc":"0.3.9","@mariozechner/clipboard-linux-arm64-gnu":"0.3.9","@anthropic-ai/claude-agent-sdk-linux-x64":"0.3.220","@anthropic-ai/claude-agent-sdk-win32-x64":"0.3.220","@mariozechner/clipboard-darwin-universal":"0.3.9","@mariozechner/clipboard-linux-arm64-musl":"0.3.9","@mariozechner/clipboard-win32-arm64-msvc":"0.3.9","@anthropic-ai/claude-agent-sdk-darwin-x64":"0.3.220","@mariozechner/clipboard-linux-riscv64-gnu":"0.3.9","@anthropic-ai/claude-agent-sdk-linux-arm64":"0.3.220","@anthropic-ai/claude-agent-sdk-win32-arm64":"0.3.220","@anthropic-ai/claude-agent-sdk-darwin-arm64":"0.3.220","@anthropic-ai/claude-agent-sdk-linux-x64-musl":"0.3.220","@anthropic-ai/claude-agent-sdk-linux-arm64-musl":"0.3.220"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.8.16_1786902437918_0.11690163708965162","host":"s3://npm-registry-packages-npm-production"}},"2026.8.17":{"name":"@code-yeongyu/senpi","version":"2026.8.17","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.8.17","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"senpi":"dist/cli.js"},"dist":{"shasum":"01933388ca870291f09c2d54c63d45e6b15608fd","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.8.17.tgz","fileCount":30196,"integrity":"sha512-dKvlLHH3UPNe6jk0sAb5BsM6BejI3KEuJUmAmM3h/PiW4DHgGTaz/e7jorHzrpbiSQnwmZCI9GQG2+EwJDJypA==","signatures":[{"sig":"MEUCIQDUyhNuV5k9FtOWH3iJQHvAjP0SX/woHMQRHGGqwosevgIgfQR6y3npghke6axsA1HxZIAABGakXdWa0P4ejG8bjKM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.8.17","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":166617473},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.js"},"./rpc-entry":{"import":"./dist/rpc-entry.js"}},"scripts":{"dev":"tsc -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsc -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js dist/rpc-entry.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/","build:binary":"npm --prefix ../tui run build && npm --prefix ../telemetry run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm --prefix ../protocol run build && npm --prefix ../client run build && npm --prefix ../pty run build && npm run build && node ../../scripts/prepare-bun-compile-assets.mjs && bun build --compile --compile-autoload-package-json --no-compile-autoload-dotenv --no-compile-autoload-bunfig --minify --keep-names ./dist/bun/cli.js ./src/utils/image-resize-worker.ts ../../node_modules/jsdom/lib/jsdom/living/xhr/xhr-sync-worker.js --outfile dist/pi && npm run copy-binary-assets","qa:app-server":"node scripts/qa-app-server/run-all.mjs","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/export-html/ && shx cp -r docs dist/ && shx cp -r examples dist/ && shx mkdir -p dist/node_modules && shx cp -r ../../node_modules/css-tree ../../node_modules/mdn-data ../../node_modules/source-map-js dist/node_modules/ && node ../../scripts/copy-codemode-sidecar.mjs dist && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/ && shx mkdir -p dist/native/darwin dist/native/win32 && shx cp -r ../../packages/tui/native/darwin/prebuilds dist/native/darwin/ && shx cp -r ../../packages/tui/native/win32/prebuilds dist/native/win32/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/ && node ../../scripts/copy-pty-native.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ea548fc8-dac4-4dec-a439-6f4fa3870309"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.2"},"rimraf":"6.1.2","protobufjs":"7.6.5","@hono/node-server":"2.0.10"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.17.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.19.0","dependencies":{"ms":"2.1.3","qs":"6.15.3","ws":"8.21.1","ajv":"8.20.0","jwa":"2.0.1","jws":"4.0.1","zod":"4.4.3","cors":"2.8.6","depd":"2.0.0","diff":"9.0.0","etag":"1.8.1","glob":"13.0.6","gopd":"1.2.0","hono":"4.12.27","jiti":"2.7.0","jose":"6.2.3","long":"5.3.2","once":"1.4.0","send":"1.2.1","tr46":"6.0.0","vary":"1.1.2","yaml":"2.9.0","bytes":"3.1.2","chalk":"6.0.0","debug":"4.4.3","fresh":"2.0.0","isexe":"2.0.0","jsdom":"29.1.1","retry":"0.13.1","saxes":"6.0.0","tldts":"7.4.3","tslib":"2.8.1","which":"2.0.2","bowser":"2.14.1","cookie":"0.7.2","extend":"3.0.2","gaxios":"7.1.4","hasown":"2.0.3","ignore":"7.0.6","marked":"18.0.7","openai":"6.26.0","parse5":"8.0.1","router":"2.2.0","semver":"7.8.5","undici":"8.9.0","unpipe":"1.0.0","wrappy":"1.0.2","accepts":"2.0.0","bidi-js":"1.0.3","express":"5.2.1","mime-db":"1.54.0","p-retry":"4.6.2","type-is":"2.1.0","typebox":"1.3.8","css-tree":"3.2.1","ee-first":"1.1.1","entities":"8.0.0","fast-uri":"3.1.4","inherits":"2.0.4","mdn-data":"2.27.1","minipass":"7.1.3","parseurl":"1.3.3","path-key":"3.1.1","punycode":"2.3.1","raw-body":"3.0.2","statuses":"2.0.2","turndown":"7.2.4","xmlchars":"2.2.0","base64-js":"1.5.1","data-urls":"7.0.0","encodeurl":"2.0.0","es-errors":"1.3.0","forwarded":"0.2.0","get-proto":"1.0.1","ipaddr.js":"1.9.1","lru-cache":"11.4.0","minimatch":"10.2.5","picomatch":"4.0.5","agent-base":"7.1.4","call-bound":"1.0.4","decimal.js":"10.6.0","fetch-blob":"3.2.0","iconv-lite":"0.7.3","ip-address":"10.2.0","is-promise":"4.0.0","mime-types":"3.0.2","negotiator":"1.0.0","node-fetch":"3.3.2","protobufjs":"7.6.5","proxy-addr":"2.0.7","tldts-core":"7.4.3","ts-algebra":"2.0.0","whatwg-url":"16.0.1","@types/node":"26.1.1","ajv-formats":"3.0.1","body-parser":"2.3.0","cross-spawn":"7.0.6","escape-html":"1.0.3","eventsource":"3.0.7","graceful-fs":"4.2.11","has-symbols":"1.1.0","http-errors":"2.0.1","json-bigint":"1.0.0","media-typer":"1.1.0","on-finished":"2.4.1","path-scurry":"2.0.2","safe-buffer":"5.2.1","signal-exit":"3.0.7","symbol-tree":"3.2.4","@smithy/core":"3.30.0","bignumber.js":"9.3.1","content-type":"1.0.5","dunder-proto":"1.0.1","finalhandler":"2.1.1","gcp-metadata":"8.1.2","grok-mermaid":"0.2.2","highlight.js":"11.11.1","partial-json":"0.1.7","range-parser":"1.3.0","safer-buffer":"2.1.2","serve-static":"2.2.1","side-channel":"1.1.1","toidentifier":"1.0.1","tough-cookie":"6.0.1","@aws-sdk/core":"3.977.1","@exodus/bytes":"1.15.1","@smithy/types":"4.16.1","function-bind":"1.1.2","get-intrinsic":"1.3.0","object-assign":"4.1.1","shebang-regex":"3.0.0","source-map-js":"1.2.1","@aws-sdk/types":"3.974.2","@babel/runtime":"7.29.2","balanced-match":"4.0.4","object-inspect":"1.13.4","path-to-regexp":"8.4.2","pkce-challenge":"5.0.1","proxy-from-env":"2.1.0","setprototypeof":"1.2.0","@xterm/headless":"6.0.0","brace-expansion":"5.0.8","es-object-atoms":"1.1.2","fast-deep-equal":"3.1.3","hosted-git-info":"10.1.1","math-intrinsics":"1.1.0","proper-lockfile":"4.1.2","shebang-command":"2.0.0","whatwg-mimetype":"5.0.0","@protobufjs/path":"1.1.2","@protobufjs/pool":"1.1.0","@protobufjs/utf8":"1.1.1","cookie-signature":"1.2.2","http-proxy-agent":"9.1.0","side-channel-map":"1.0.1","@anthropic-ai/sdk":"0.91.1","@hono/node-server":"2.0.10","@protobufjs/fetch":"1.1.1","@protobufjs/float":"1.0.2","formdata-polyfill":"4.0.10","https-proxy-agent":"9.1.0","json-schema-to-ts":"3.1.1","json-schema-typed":"8.0.2","merge-descriptors":"2.0.0","node-domexception":"1.0.0","side-channel-list":"1.0.1","w3c-xmlserializer":"5.0.0","@asamuzakjp/nwsapi":"2.3.9","@bufbuild/protobuf":"2.13.0","@csstools/css-calc":"3.2.1","@mixmark-io/domino":"2.2.0","@opentelemetry/api":"1.9.1","@protobufjs/base64":"1.1.2","data-uri-to-buffer":"4.0.1","es-define-property":"1.0.1","eventsource-parser":"3.1.0","express-rate-limit":"8.5.2","webidl-conversions":"8.0.1","xml-name-validator":"5.0.0","zod-to-json-schema":"3.25.2","@bramus/specificity":"2.4.2","@protobufjs/codegen":"2.0.5","content-disposition":"1.1.0","ecdsa-sig-formatter":"1.0.11","google-auth-library":"10.6.2","require-from-string":"2.0.2","@aws-sdk/xml-builder":"3.972.37","@mistralai/mistralai":"2.5.0","@mozilla/readability":"0.6.0","@smithy/signature-v4":"5.6.10","get-east-asian-width":"1.6.0","google-logging-utils":"1.1.3","json-schema-traverse":"1.0.0","side-channel-weakmap":"1.0.2","web-streams-polyfill":"3.3.3","@asamuzakjp/css-color":"5.1.11","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.8.17","@protobufjs/aspromise":"1.1.2","html-encoding-sniffer":"6.0.0","proxy-agent-negotiate":"1.1.0","@earendil-works/pi-pty":"npm:@code-yeongyu/senpi-pty@2026.8.17","@earendil-works/pi-tui":"npm:@code-yeongyu/senpi-tui@2026.8.17","@aws-sdk/nested-clients":"3.997.35","@csstools/color-helpers":"6.0.2","@csstools/css-tokenizer":"4.0.0","@mariozechner/clipboard":"*","call-bind-apply-helpers":"1.0.2","@asamuzakjp/dom-selector":"7.1.1","@aws-sdk/token-providers":"3.1095.0","@aws/lambda-invoke-store":"0.3.0","@protobufjs/eventemitter":"1.1.1","@modelcontextprotocol/sdk":"1.30.0","@smithy/node-http-handler":"4.9.11","@csstools/css-color-parser":"4.1.8","@silvia-odwyer/photon-node":"0.3.4","@smithy/fetch-http-handler":"5.6.11","buffer-equal-constant-time":"1.0.1","@code-yeongyu/senpi-codemode":"2026.8.17","@earendil-works/pi-telemetry":"npm:@code-yeongyu/senpi-telemetry@2026.8.17","@aws-sdk/middleware-websocket":"3.972.43","@earendil-works/pi-agent-core":"npm:@code-yeongyu/senpi-agent-core@2026.8.17","@anthropic-ai/claude-agent-sdk":"0.3.220","@asamuzakjp/generational-cache":"1.0.1","@aws-sdk/client-bedrock-runtime":"3.1095.0","@aws-sdk/middleware-eventstream":"3.972.25","@csstools/css-parser-algorithms":"4.0.0","@aws-sdk/credential-provider-env":"3.972.61","@aws-sdk/credential-provider-ini":"3.973.6","@aws-sdk/credential-provider-sso":"3.973.5","@smithy/credential-provider-imds":"4.4.14","is-potential-custom-element-name":"1.0.1","@aws-sdk/credential-provider-http":"3.972.63","@aws-sdk/credential-provider-node":"3.972.72","@aws-sdk/eventstream-handler-node":"3.972.30","@aws-sdk/credential-provider-login":"3.972.68","@aws-sdk/signature-v4-multi-region":"3.996.42","@opentelemetry/semantic-conventions":"1.41.1","@aws-sdk/credential-provider-process":"3.972.61","@csstools/css-syntax-patches-for-csstree":"1.1.5","@aws-sdk/credential-provider-web-identity":"3.972.67"},"_hasShrinkwrap":false,"devDependencies":{"shx":"0.4.0","vitest":"4.1.10","@types/ms":"2.1.0","@types/ws":"8.18.1","typescript":"7.0.2","@types/node":"26.1.1","@types/jsdom":"28.0.3","@types/semver":"7.7.1","@types/turndown":"5.0.6","@types/picomatch":"4.0.3","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@anthropic-ai/claude-agent-sdk","@anthropic-ai/sdk","@asamuzakjp/css-color","@asamuzakjp/dom-selector","@asamuzakjp/generational-cache","@asamuzakjp/nwsapi","@aws-sdk/client-bedrock-runtime","@aws-sdk/core","@aws-sdk/credential-provider-env","@aws-sdk/credential-provider-http","@aws-sdk/credential-provider-ini","@aws-sdk/credential-provider-login","@aws-sdk/credential-provider-node","@aws-sdk/credential-provider-process","@aws-sdk/credential-provider-sso","@aws-sdk/credential-provider-web-identity","@aws-sdk/eventstream-handler-node","@aws-sdk/middleware-eventstream","@aws-sdk/middleware-websocket","@aws-sdk/nested-clients","@aws-sdk/signature-v4-multi-region","@aws-sdk/token-providers","@aws-sdk/types","@aws-sdk/xml-builder","@aws/lambda-invoke-store","@babel/runtime","@bramus/specificity","@bufbuild/protobuf","@code-yeongyu/senpi-codemode","@csstools/color-helpers","@csstools/css-calc","@csstools/css-color-parser","@csstools/css-parser-algorithms","@csstools/css-syntax-patches-for-csstree","@csstools/css-tokenizer","@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-pty","@earendil-works/pi-telemetry","@earendil-works/pi-tui","@exodus/bytes","@hono/node-server","@mariozechner/clipboard","@mistralai/mistralai","@mixmark-io/domino","@modelcontextprotocol/sdk","@mozilla/readability","@opentelemetry/api","@opentelemetry/semantic-conventions","@protobufjs/aspromise","@protobufjs/base64","@protobufjs/codegen","@protobufjs/eventemitter","@protobufjs/fetch","@protobufjs/float","@protobufjs/path","@protobufjs/pool","@protobufjs/utf8","@silvia-odwyer/photon-node","@smithy/core","@smithy/credential-provider-imds","@smithy/fetch-http-handler","@smithy/node-http-handler","@smithy/signature-v4","@smithy/types","@types/node","@xterm/headless","accepts","agent-base","ajv","ajv-formats","balanced-match","base64-js","bidi-js","bignumber.js","body-parser","bowser","brace-expansion","buffer-equal-constant-time","bytes","call-bind-apply-helpers","call-bound","chalk","content-disposition","content-type","cookie","cookie-signature","cors","cross-spawn","css-tree","data-uri-to-buffer","data-urls","debug","decimal.js","depd","diff","dunder-proto","ecdsa-sig-formatter","ee-first","encodeurl","entities","es-define-property","es-errors","es-object-atoms","escape-html","etag","eventsource","eventsource-parser","express","express-rate-limit","extend","fast-deep-equal","fast-uri","fetch-blob","finalhandler","formdata-polyfill","forwarded","fresh","function-bind","gaxios","gcp-metadata","get-east-asian-width","get-intrinsic","get-proto","glob","google-auth-library","google-logging-utils","gopd","graceful-fs","grok-mermaid","has-symbols","hasown","highlight.js","hono","hosted-git-info","html-encoding-sniffer","http-errors","http-proxy-agent","https-proxy-agent","iconv-lite","ignore","inherits","ip-address","ipaddr.js","is-potential-custom-element-name","is-promise","isexe","jiti","jose","jsdom","json-bigint","json-schema-to-ts","json-schema-traverse","json-schema-typed","jwa","jws","long","lru-cache","marked","math-intrinsics","mdn-data","media-typer","merge-descriptors","mime-db","mime-types","minimatch","minipass","ms","negotiator","node-domexception","node-fetch","object-assign","object-inspect","on-finished","once","openai","p-retry","parse5","parseurl","partial-json","path-key","path-scurry","path-to-regexp","picomatch","pkce-challenge","proper-lockfile","protobufjs","proxy-addr","proxy-agent-negotiate","proxy-from-env","punycode","qs","range-parser","raw-body","require-from-string","retry","router","safe-buffer","safer-buffer","saxes","semver","send","serve-static","setprototypeof","shebang-command","shebang-regex","side-channel","side-channel-list","side-channel-map","side-channel-weakmap","signal-exit","source-map-js","statuses","symbol-tree","tldts","tldts-core","toidentifier","tough-cookie","tr46","ts-algebra","tslib","turndown","type-is","typebox","undici","unpipe","vary","w3c-xmlserializer","web-streams-polyfill","webidl-conversions","whatwg-mimetype","whatwg-url","which","wrappy","ws","xml-name-validator","xmlchars","yaml","zod","zod-to-json-schema"],"optionalDependencies":{"@mariozechner/clipboard":"0.3.9","@mariozechner/clipboard-darwin-x64":"0.3.9","@mariozechner/clipboard-darwin-arm64":"0.3.9","@mariozechner/clipboard-linux-x64-gnu":"0.3.9","@mariozechner/clipboard-linux-x64-musl":"0.3.9","@mariozechner/clipboard-win32-x64-msvc":"0.3.9","@mariozechner/clipboard-linux-arm64-gnu":"0.3.9","@anthropic-ai/claude-agent-sdk-linux-x64":"0.3.220","@anthropic-ai/claude-agent-sdk-win32-x64":"0.3.220","@mariozechner/clipboard-darwin-universal":"0.3.9","@mariozechner/clipboard-linux-arm64-musl":"0.3.9","@mariozechner/clipboard-win32-arm64-msvc":"0.3.9","@anthropic-ai/claude-agent-sdk-darwin-x64":"0.3.220","@mariozechner/clipboard-linux-riscv64-gnu":"0.3.9","@anthropic-ai/claude-agent-sdk-linux-arm64":"0.3.220","@anthropic-ai/claude-agent-sdk-win32-arm64":"0.3.220","@anthropic-ai/claude-agent-sdk-darwin-arm64":"0.3.220","@anthropic-ai/claude-agent-sdk-linux-x64-musl":"0.3.220","@anthropic-ai/claude-agent-sdk-linux-arm64-musl":"0.3.220"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.8.17_1786997989517_0.7578119451001015","host":"s3://npm-registry-packages-npm-production"}},"2026.8.18":{"name":"@code-yeongyu/senpi","version":"2026.8.18","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.8.18","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"senpi":"dist/cli.js"},"dist":{"shasum":"1956b734905e1a68c8af128094867412d9864f94","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.8.18.tgz","fileCount":30196,"integrity":"sha512-h7XQJnUgfTkJ/SUnU7LzvKeqP5wlOCJWCJrhb+dO5ZYdOTFn/OVsusrnRJpUvwrFeVu1StL7E5bHszuxqkv/ow==","signatures":[{"sig":"MEUCIA0ct8lZgvat/UbO6uXmSoAH95edlQUP+AWnqVuE1v0nAiEAtt4/gNRL8KJuv1OGSbcOItzzs0R3n9WXA71Gx/dVKiA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.8.18","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":166640039},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.js"},"./rpc-entry":{"import":"./dist/rpc-entry.js"}},"scripts":{"dev":"tsc -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsc -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js dist/rpc-entry.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/","build:binary":"npm --prefix ../tui run build && npm --prefix ../telemetry run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm --prefix ../protocol run build && npm --prefix ../client run build && npm --prefix ../pty run build && npm run build && node ../../scripts/prepare-bun-compile-assets.mjs && bun build --compile --compile-autoload-package-json --no-compile-autoload-dotenv --no-compile-autoload-bunfig --minify --keep-names ./dist/bun/cli.js ./src/utils/image-resize-worker.ts ../../node_modules/jsdom/lib/jsdom/living/xhr/xhr-sync-worker.js --outfile dist/pi && npm run copy-binary-assets","qa:app-server":"node scripts/qa-app-server/run-all.mjs","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/export-html/ && shx cp -r docs dist/ && shx cp -r examples dist/ && shx mkdir -p dist/node_modules && shx cp -r ../../node_modules/css-tree ../../node_modules/mdn-data ../../node_modules/source-map-js dist/node_modules/ && node ../../scripts/copy-codemode-sidecar.mjs dist && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/ && shx mkdir -p dist/native/darwin dist/native/win32 && shx cp -r ../../packages/tui/native/darwin/prebuilds dist/native/darwin/ && shx cp -r ../../packages/tui/native/win32/prebuilds dist/native/win32/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/ && node ../../scripts/copy-pty-native.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ea548fc8-dac4-4dec-a439-6f4fa3870309"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.2"},"rimraf":"6.1.2","protobufjs":"7.6.5","@hono/node-server":"2.0.10"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.17.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.19.0","dependencies":{"ms":"2.1.3","qs":"6.15.3","ws":"8.21.1","ajv":"8.20.0","jwa":"2.0.1","jws":"4.0.1","zod":"4.4.3","cors":"2.8.6","depd":"2.0.0","diff":"9.0.0","etag":"1.8.1","glob":"13.0.6","gopd":"1.2.0","hono":"4.12.27","jiti":"2.7.0","jose":"6.2.3","long":"5.3.2","once":"1.4.0","send":"1.2.1","tr46":"6.0.0","vary":"1.1.2","yaml":"2.9.0","bytes":"3.1.2","chalk":"6.0.0","debug":"4.4.3","fresh":"2.0.0","isexe":"2.0.0","jsdom":"29.1.1","retry":"0.13.1","saxes":"6.0.0","tldts":"7.4.3","tslib":"2.8.1","which":"2.0.2","bowser":"2.14.1","cookie":"0.7.2","extend":"3.0.2","gaxios":"7.1.4","hasown":"2.0.3","ignore":"7.0.6","marked":"18.0.7","openai":"6.26.0","parse5":"8.0.1","router":"2.2.0","semver":"7.8.5","undici":"8.9.0","unpipe":"1.0.0","wrappy":"1.0.2","accepts":"2.0.0","bidi-js":"1.0.3","express":"5.2.1","mime-db":"1.54.0","p-retry":"4.6.2","type-is":"2.1.0","typebox":"1.3.8","css-tree":"3.2.1","ee-first":"1.1.1","entities":"8.0.0","fast-uri":"3.1.4","inherits":"2.0.4","mdn-data":"2.27.1","minipass":"7.1.3","parseurl":"1.3.3","path-key":"3.1.1","punycode":"2.3.1","raw-body":"3.0.2","statuses":"2.0.2","turndown":"7.2.4","xmlchars":"2.2.0","base64-js":"1.5.1","data-urls":"7.0.0","encodeurl":"2.0.0","es-errors":"1.3.0","forwarded":"0.2.0","get-proto":"1.0.1","ipaddr.js":"1.9.1","lru-cache":"11.4.0","minimatch":"10.2.5","picomatch":"4.0.5","agent-base":"7.1.4","call-bound":"1.0.4","decimal.js":"10.6.0","fetch-blob":"3.2.0","iconv-lite":"0.7.3","ip-address":"10.2.0","is-promise":"4.0.0","mime-types":"3.0.2","negotiator":"1.0.0","node-fetch":"3.3.2","protobufjs":"7.6.5","proxy-addr":"2.0.7","tldts-core":"7.4.3","ts-algebra":"2.0.0","whatwg-url":"16.0.1","@types/node":"26.1.1","ajv-formats":"3.0.1","body-parser":"2.3.0","cross-spawn":"7.0.6","escape-html":"1.0.3","eventsource":"3.0.7","graceful-fs":"4.2.11","has-symbols":"1.1.0","http-errors":"2.0.1","json-bigint":"1.0.0","media-typer":"1.1.0","on-finished":"2.4.1","path-scurry":"2.0.2","safe-buffer":"5.2.1","signal-exit":"3.0.7","symbol-tree":"3.2.4","@smithy/core":"3.30.0","bignumber.js":"9.3.1","content-type":"1.0.5","dunder-proto":"1.0.1","finalhandler":"2.1.1","gcp-metadata":"8.1.2","grok-mermaid":"0.2.2","highlight.js":"11.11.1","partial-json":"0.1.7","range-parser":"1.3.0","safer-buffer":"2.1.2","serve-static":"2.2.1","side-channel":"1.1.1","toidentifier":"1.0.1","tough-cookie":"6.0.1","@aws-sdk/core":"3.977.1","@exodus/bytes":"1.15.1","@smithy/types":"4.16.1","function-bind":"1.1.2","get-intrinsic":"1.3.0","object-assign":"4.1.1","shebang-regex":"3.0.0","source-map-js":"1.2.1","@aws-sdk/types":"3.974.2","@babel/runtime":"7.29.2","balanced-match":"4.0.4","object-inspect":"1.13.4","path-to-regexp":"8.4.2","pkce-challenge":"5.0.1","proxy-from-env":"2.1.0","setprototypeof":"1.2.0","@xterm/headless":"6.0.0","brace-expansion":"5.0.8","es-object-atoms":"1.1.2","fast-deep-equal":"3.1.3","hosted-git-info":"10.1.1","math-intrinsics":"1.1.0","proper-lockfile":"4.1.2","shebang-command":"2.0.0","whatwg-mimetype":"5.0.0","@protobufjs/path":"1.1.2","@protobufjs/pool":"1.1.0","@protobufjs/utf8":"1.1.1","cookie-signature":"1.2.2","http-proxy-agent":"9.1.0","side-channel-map":"1.0.1","@anthropic-ai/sdk":"0.91.1","@hono/node-server":"2.0.10","@protobufjs/fetch":"1.1.1","@protobufjs/float":"1.0.2","formdata-polyfill":"4.0.10","https-proxy-agent":"9.1.0","json-schema-to-ts":"3.1.1","json-schema-typed":"8.0.2","merge-descriptors":"2.0.0","node-domexception":"1.0.0","side-channel-list":"1.0.1","w3c-xmlserializer":"5.0.0","@asamuzakjp/nwsapi":"2.3.9","@bufbuild/protobuf":"2.13.0","@csstools/css-calc":"3.2.1","@mixmark-io/domino":"2.2.0","@opentelemetry/api":"1.9.1","@protobufjs/base64":"1.1.2","data-uri-to-buffer":"4.0.1","es-define-property":"1.0.1","eventsource-parser":"3.1.0","express-rate-limit":"8.5.2","webidl-conversions":"8.0.1","xml-name-validator":"5.0.0","zod-to-json-schema":"3.25.2","@bramus/specificity":"2.4.2","@protobufjs/codegen":"2.0.5","content-disposition":"1.1.0","ecdsa-sig-formatter":"1.0.11","google-auth-library":"10.6.2","require-from-string":"2.0.2","@aws-sdk/xml-builder":"3.972.37","@mistralai/mistralai":"2.5.0","@mozilla/readability":"0.6.0","@smithy/signature-v4":"5.6.10","get-east-asian-width":"1.6.0","google-logging-utils":"1.1.3","json-schema-traverse":"1.0.0","side-channel-weakmap":"1.0.2","web-streams-polyfill":"3.3.3","@asamuzakjp/css-color":"5.1.11","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.8.18","@protobufjs/aspromise":"1.1.2","html-encoding-sniffer":"6.0.0","proxy-agent-negotiate":"1.1.0","@earendil-works/pi-pty":"npm:@code-yeongyu/senpi-pty@2026.8.18","@earendil-works/pi-tui":"npm:@code-yeongyu/senpi-tui@2026.8.18","@aws-sdk/nested-clients":"3.997.35","@csstools/color-helpers":"6.0.2","@csstools/css-tokenizer":"4.0.0","@mariozechner/clipboard":"*","call-bind-apply-helpers":"1.0.2","@asamuzakjp/dom-selector":"7.1.1","@aws-sdk/token-providers":"3.1095.0","@aws/lambda-invoke-store":"0.3.0","@protobufjs/eventemitter":"1.1.1","@modelcontextprotocol/sdk":"1.30.0","@smithy/node-http-handler":"4.9.11","@csstools/css-color-parser":"4.1.8","@silvia-odwyer/photon-node":"0.3.4","@smithy/fetch-http-handler":"5.6.11","buffer-equal-constant-time":"1.0.1","@code-yeongyu/senpi-codemode":"2026.8.18","@earendil-works/pi-telemetry":"npm:@code-yeongyu/senpi-telemetry@2026.8.18","@aws-sdk/middleware-websocket":"3.972.43","@earendil-works/pi-agent-core":"npm:@code-yeongyu/senpi-agent-core@2026.8.18","@anthropic-ai/claude-agent-sdk":"0.3.220","@asamuzakjp/generational-cache":"1.0.1","@aws-sdk/client-bedrock-runtime":"3.1095.0","@aws-sdk/middleware-eventstream":"3.972.25","@csstools/css-parser-algorithms":"4.0.0","@aws-sdk/credential-provider-env":"3.972.61","@aws-sdk/credential-provider-ini":"3.973.6","@aws-sdk/credential-provider-sso":"3.973.5","@smithy/credential-provider-imds":"4.4.14","is-potential-custom-element-name":"1.0.1","@aws-sdk/credential-provider-http":"3.972.63","@aws-sdk/credential-provider-node":"3.972.72","@aws-sdk/eventstream-handler-node":"3.972.30","@aws-sdk/credential-provider-login":"3.972.68","@aws-sdk/signature-v4-multi-region":"3.996.42","@opentelemetry/semantic-conventions":"1.41.1","@aws-sdk/credential-provider-process":"3.972.61","@csstools/css-syntax-patches-for-csstree":"1.1.5","@aws-sdk/credential-provider-web-identity":"3.972.67"},"_hasShrinkwrap":false,"devDependencies":{"shx":"0.4.0","vitest":"4.1.10","@types/ms":"2.1.0","@types/ws":"8.18.1","typescript":"7.0.2","@types/node":"26.1.1","@types/jsdom":"28.0.3","@types/semver":"7.7.1","@types/turndown":"5.0.6","@types/picomatch":"4.0.3","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@anthropic-ai/claude-agent-sdk","@anthropic-ai/sdk","@asamuzakjp/css-color","@asamuzakjp/dom-selector","@asamuzakjp/generational-cache","@asamuzakjp/nwsapi","@aws-sdk/client-bedrock-runtime","@aws-sdk/core","@aws-sdk/credential-provider-env","@aws-sdk/credential-provider-http","@aws-sdk/credential-provider-ini","@aws-sdk/credential-provider-login","@aws-sdk/credential-provider-node","@aws-sdk/credential-provider-process","@aws-sdk/credential-provider-sso","@aws-sdk/credential-provider-web-identity","@aws-sdk/eventstream-handler-node","@aws-sdk/middleware-eventstream","@aws-sdk/middleware-websocket","@aws-sdk/nested-clients","@aws-sdk/signature-v4-multi-region","@aws-sdk/token-providers","@aws-sdk/types","@aws-sdk/xml-builder","@aws/lambda-invoke-store","@babel/runtime","@bramus/specificity","@bufbuild/protobuf","@code-yeongyu/senpi-codemode","@csstools/color-helpers","@csstools/css-calc","@csstools/css-color-parser","@csstools/css-parser-algorithms","@csstools/css-syntax-patches-for-csstree","@csstools/css-tokenizer","@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-pty","@earendil-works/pi-telemetry","@earendil-works/pi-tui","@exodus/bytes","@hono/node-server","@mariozechner/clipboard","@mistralai/mistralai","@mixmark-io/domino","@modelcontextprotocol/sdk","@mozilla/readability","@opentelemetry/api","@opentelemetry/semantic-conventions","@protobufjs/aspromise","@protobufjs/base64","@protobufjs/codegen","@protobufjs/eventemitter","@protobufjs/fetch","@protobufjs/float","@protobufjs/path","@protobufjs/pool","@protobufjs/utf8","@silvia-odwyer/photon-node","@smithy/core","@smithy/credential-provider-imds","@smithy/fetch-http-handler","@smithy/node-http-handler","@smithy/signature-v4","@smithy/types","@types/node","@xterm/headless","accepts","agent-base","ajv","ajv-formats","balanced-match","base64-js","bidi-js","bignumber.js","body-parser","bowser","brace-expansion","buffer-equal-constant-time","bytes","call-bind-apply-helpers","call-bound","chalk","content-disposition","content-type","cookie","cookie-signature","cors","cross-spawn","css-tree","data-uri-to-buffer","data-urls","debug","decimal.js","depd","diff","dunder-proto","ecdsa-sig-formatter","ee-first","encodeurl","entities","es-define-property","es-errors","es-object-atoms","escape-html","etag","eventsource","eventsource-parser","express","express-rate-limit","extend","fast-deep-equal","fast-uri","fetch-blob","finalhandler","formdata-polyfill","forwarded","fresh","function-bind","gaxios","gcp-metadata","get-east-asian-width","get-intrinsic","get-proto","glob","google-auth-library","google-logging-utils","gopd","graceful-fs","grok-mermaid","has-symbols","hasown","highlight.js","hono","hosted-git-info","html-encoding-sniffer","http-errors","http-proxy-agent","https-proxy-agent","iconv-lite","ignore","inherits","ip-address","ipaddr.js","is-potential-custom-element-name","is-promise","isexe","jiti","jose","jsdom","json-bigint","json-schema-to-ts","json-schema-traverse","json-schema-typed","jwa","jws","long","lru-cache","marked","math-intrinsics","mdn-data","media-typer","merge-descriptors","mime-db","mime-types","minimatch","minipass","ms","negotiator","node-domexception","node-fetch","object-assign","object-inspect","on-finished","once","openai","p-retry","parse5","parseurl","partial-json","path-key","path-scurry","path-to-regexp","picomatch","pkce-challenge","proper-lockfile","protobufjs","proxy-addr","proxy-agent-negotiate","proxy-from-env","punycode","qs","range-parser","raw-body","require-from-string","retry","router","safe-buffer","safer-buffer","saxes","semver","send","serve-static","setprototypeof","shebang-command","shebang-regex","side-channel","side-channel-list","side-channel-map","side-channel-weakmap","signal-exit","source-map-js","statuses","symbol-tree","tldts","tldts-core","toidentifier","tough-cookie","tr46","ts-algebra","tslib","turndown","type-is","typebox","undici","unpipe","vary","w3c-xmlserializer","web-streams-polyfill","webidl-conversions","whatwg-mimetype","whatwg-url","which","wrappy","ws","xml-name-validator","xmlchars","yaml","zod","zod-to-json-schema"],"optionalDependencies":{"@mariozechner/clipboard":"0.3.9","@mariozechner/clipboard-darwin-x64":"0.3.9","@mariozechner/clipboard-darwin-arm64":"0.3.9","@mariozechner/clipboard-linux-x64-gnu":"0.3.9","@mariozechner/clipboard-linux-x64-musl":"0.3.9","@mariozechner/clipboard-win32-x64-msvc":"0.3.9","@mariozechner/clipboard-linux-arm64-gnu":"0.3.9","@anthropic-ai/claude-agent-sdk-linux-x64":"0.3.220","@anthropic-ai/claude-agent-sdk-win32-x64":"0.3.220","@mariozechner/clipboard-darwin-universal":"0.3.9","@mariozechner/clipboard-linux-arm64-musl":"0.3.9","@mariozechner/clipboard-win32-arm64-msvc":"0.3.9","@anthropic-ai/claude-agent-sdk-darwin-x64":"0.3.220","@mariozechner/clipboard-linux-riscv64-gnu":"0.3.9","@anthropic-ai/claude-agent-sdk-linux-arm64":"0.3.220","@anthropic-ai/claude-agent-sdk-win32-arm64":"0.3.220","@anthropic-ai/claude-agent-sdk-darwin-arm64":"0.3.220","@anthropic-ai/claude-agent-sdk-linux-x64-musl":"0.3.220","@anthropic-ai/claude-agent-sdk-linux-arm64-musl":"0.3.220"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.8.18_1787027726173_0.536172525257089","host":"s3://npm-registry-packages-npm-production"}},"2026.8.18-2":{"name":"@code-yeongyu/senpi","version":"2026.8.18-2","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.8.18-2","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"senpi":"dist/cli.js"},"dist":{"shasum":"acb24758eb3cfa051e8662cae9b3137cf28f4a2c","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.8.18-2.tgz","fileCount":30204,"integrity":"sha512-MjUm+ZgxXS7s+WhiqSjv/usVleF89trsXN76LLAzFi19RrxcT3Ssfbxik82O6JogqQEbmWxAeGdnBk2jYWDQ7g==","signatures":[{"sig":"MEUCIEO5T9Ghh34iYNRHDfZGlKmqJwhw1+kNLvILRZp+Nmt6AiEArvqKl2svIfwymncvJVrsUXhMmPsm1rfeqxZ8SsY3y7M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.8.18-2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":166665797},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.js"},"./rpc-entry":{"import":"./dist/rpc-entry.js"}},"scripts":{"dev":"tsc -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsc -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js dist/rpc-entry.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/","build:binary":"npm --prefix ../tui run build && npm --prefix ../telemetry run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm --prefix ../protocol run build && npm --prefix ../client run build && npm --prefix ../pty run build && npm run build && node ../../scripts/prepare-bun-compile-assets.mjs && bun build --compile --compile-autoload-package-json --no-compile-autoload-dotenv --no-compile-autoload-bunfig --minify --keep-names ./dist/bun/cli.js ./src/utils/image-resize-worker.ts ../../node_modules/jsdom/lib/jsdom/living/xhr/xhr-sync-worker.js --outfile dist/pi && npm run copy-binary-assets","qa:app-server":"node scripts/qa-app-server/run-all.mjs","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/export-html/ && shx cp -r docs dist/ && shx cp -r examples dist/ && shx mkdir -p dist/node_modules && shx cp -r ../../node_modules/css-tree ../../node_modules/mdn-data ../../node_modules/source-map-js dist/node_modules/ && node ../../scripts/copy-codemode-sidecar.mjs dist && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/ && shx mkdir -p dist/native/darwin dist/native/win32 && shx cp -r ../../packages/tui/native/darwin/prebuilds dist/native/darwin/ && shx cp -r ../../packages/tui/native/win32/prebuilds dist/native/win32/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/ && node ../../scripts/copy-pty-native.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ea548fc8-dac4-4dec-a439-6f4fa3870309"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.2"},"rimraf":"6.1.2","protobufjs":"7.6.5","@hono/node-server":"2.0.10"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.17.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.19.0","dependencies":{"ms":"2.1.3","qs":"6.15.3","ws":"8.21.1","ajv":"8.20.0","jwa":"2.0.1","jws":"4.0.1","zod":"4.4.3","cors":"2.8.6","depd":"2.0.0","diff":"9.0.0","etag":"1.8.1","glob":"13.0.6","gopd":"1.2.0","hono":"4.12.27","jiti":"2.7.0","jose":"6.2.3","long":"5.3.2","once":"1.4.0","send":"1.2.1","tr46":"6.0.0","vary":"1.1.2","yaml":"2.9.0","bytes":"3.1.2","chalk":"6.0.0","debug":"4.4.3","fresh":"2.0.0","isexe":"2.0.0","jsdom":"29.1.1","retry":"0.13.1","saxes":"6.0.0","tldts":"7.4.3","tslib":"2.8.1","which":"2.0.2","bowser":"2.14.1","cookie":"0.7.2","extend":"3.0.2","gaxios":"7.1.4","hasown":"2.0.3","ignore":"7.0.6","marked":"18.0.7","openai":"6.26.0","parse5":"8.0.1","router":"2.2.0","semver":"7.8.5","undici":"8.9.0","unpipe":"1.0.0","wrappy":"1.0.2","accepts":"2.0.0","bidi-js":"1.0.3","express":"5.2.1","mime-db":"1.54.0","p-retry":"4.6.2","type-is":"2.1.0","typebox":"1.3.8","css-tree":"3.2.1","ee-first":"1.1.1","entities":"8.0.0","fast-uri":"3.1.4","inherits":"2.0.4","mdn-data":"2.27.1","minipass":"7.1.3","parseurl":"1.3.3","path-key":"3.1.1","punycode":"2.3.1","raw-body":"3.0.2","statuses":"2.0.2","turndown":"7.2.4","xmlchars":"2.2.0","base64-js":"1.5.1","data-urls":"7.0.0","encodeurl":"2.0.0","es-errors":"1.3.0","forwarded":"0.2.0","get-proto":"1.0.1","ipaddr.js":"1.9.1","lru-cache":"11.4.0","minimatch":"10.2.5","picomatch":"4.0.5","agent-base":"7.1.4","call-bound":"1.0.4","decimal.js":"10.6.0","fetch-blob":"3.2.0","iconv-lite":"0.7.3","ip-address":"10.2.0","is-promise":"4.0.0","mime-types":"3.0.2","negotiator":"1.0.0","node-fetch":"3.3.2","protobufjs":"7.6.5","proxy-addr":"2.0.7","tldts-core":"7.4.3","ts-algebra":"2.0.0","whatwg-url":"16.0.1","@types/node":"26.1.1","ajv-formats":"3.0.1","body-parser":"2.3.0","cross-spawn":"7.0.6","escape-html":"1.0.3","eventsource":"3.0.7","graceful-fs":"4.2.11","has-symbols":"1.1.0","http-errors":"2.0.1","json-bigint":"1.0.0","media-typer":"1.1.0","on-finished":"2.4.1","path-scurry":"2.0.2","safe-buffer":"5.2.1","signal-exit":"3.0.7","symbol-tree":"3.2.4","@smithy/core":"3.30.0","bignumber.js":"9.3.1","content-type":"1.0.5","dunder-proto":"1.0.1","finalhandler":"2.1.1","gcp-metadata":"8.1.2","grok-mermaid":"0.2.2","highlight.js":"11.11.1","partial-json":"0.1.7","range-parser":"1.3.0","safer-buffer":"2.1.2","serve-static":"2.2.1","side-channel":"1.1.1","toidentifier":"1.0.1","tough-cookie":"6.0.1","@aws-sdk/core":"3.977.1","@exodus/bytes":"1.15.1","@smithy/types":"4.16.1","function-bind":"1.1.2","get-intrinsic":"1.3.0","object-assign":"4.1.1","shebang-regex":"3.0.0","source-map-js":"1.2.1","@aws-sdk/types":"3.974.2","@babel/runtime":"7.29.2","balanced-match":"4.0.4","object-inspect":"1.13.4","path-to-regexp":"8.4.2","pkce-challenge":"5.0.1","proxy-from-env":"2.1.0","setprototypeof":"1.2.0","@xterm/headless":"6.0.0","brace-expansion":"5.0.8","es-object-atoms":"1.1.2","fast-deep-equal":"3.1.3","hosted-git-info":"10.1.1","math-intrinsics":"1.1.0","proper-lockfile":"4.1.2","shebang-command":"2.0.0","whatwg-mimetype":"5.0.0","@protobufjs/path":"1.1.2","@protobufjs/pool":"1.1.0","@protobufjs/utf8":"1.1.1","cookie-signature":"1.2.2","http-proxy-agent":"9.1.0","side-channel-map":"1.0.1","@anthropic-ai/sdk":"0.91.1","@hono/node-server":"2.0.10","@protobufjs/fetch":"1.1.1","@protobufjs/float":"1.0.2","formdata-polyfill":"4.0.10","https-proxy-agent":"9.1.0","json-schema-to-ts":"3.1.1","json-schema-typed":"8.0.2","merge-descriptors":"2.0.0","node-domexception":"1.0.0","side-channel-list":"1.0.1","w3c-xmlserializer":"5.0.0","@asamuzakjp/nwsapi":"2.3.9","@bufbuild/protobuf":"2.13.0","@csstools/css-calc":"3.2.1","@mixmark-io/domino":"2.2.0","@opentelemetry/api":"1.9.1","@protobufjs/base64":"1.1.2","data-uri-to-buffer":"4.0.1","es-define-property":"1.0.1","eventsource-parser":"3.1.0","express-rate-limit":"8.5.2","webidl-conversions":"8.0.1","xml-name-validator":"5.0.0","zod-to-json-schema":"3.25.2","@bramus/specificity":"2.4.2","@protobufjs/codegen":"2.0.5","content-disposition":"1.1.0","ecdsa-sig-formatter":"1.0.11","google-auth-library":"10.6.2","require-from-string":"2.0.2","@aws-sdk/xml-builder":"3.972.37","@mistralai/mistralai":"2.5.0","@mozilla/readability":"0.6.0","@smithy/signature-v4":"5.6.10","get-east-asian-width":"1.6.0","google-logging-utils":"1.1.3","json-schema-traverse":"1.0.0","side-channel-weakmap":"1.0.2","web-streams-polyfill":"3.3.3","@asamuzakjp/css-color":"5.1.11","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.8.18-2","@protobufjs/aspromise":"1.1.2","html-encoding-sniffer":"6.0.0","proxy-agent-negotiate":"1.1.0","@earendil-works/pi-pty":"npm:@code-yeongyu/senpi-pty@2026.8.18-2","@earendil-works/pi-tui":"npm:@code-yeongyu/senpi-tui@2026.8.18-2","@aws-sdk/nested-clients":"3.997.35","@csstools/color-helpers":"6.0.2","@csstools/css-tokenizer":"4.0.0","@mariozechner/clipboard":"*","call-bind-apply-helpers":"1.0.2","@asamuzakjp/dom-selector":"7.1.1","@aws-sdk/token-providers":"3.1095.0","@aws/lambda-invoke-store":"0.3.0","@protobufjs/eventemitter":"1.1.1","@modelcontextprotocol/sdk":"1.30.0","@smithy/node-http-handler":"4.9.11","@csstools/css-color-parser":"4.1.8","@silvia-odwyer/photon-node":"0.3.4","@smithy/fetch-http-handler":"5.6.11","buffer-equal-constant-time":"1.0.1","@code-yeongyu/senpi-codemode":"2026.8.18-2","@earendil-works/pi-telemetry":"npm:@code-yeongyu/senpi-telemetry@2026.8.18-2","@aws-sdk/middleware-websocket":"3.972.43","@earendil-works/pi-agent-core":"npm:@code-yeongyu/senpi-agent-core@2026.8.18-2","@anthropic-ai/claude-agent-sdk":"0.3.220","@asamuzakjp/generational-cache":"1.0.1","@aws-sdk/client-bedrock-runtime":"3.1095.0","@aws-sdk/middleware-eventstream":"3.972.25","@csstools/css-parser-algorithms":"4.0.0","@aws-sdk/credential-provider-env":"3.972.61","@aws-sdk/credential-provider-ini":"3.973.6","@aws-sdk/credential-provider-sso":"3.973.5","@smithy/credential-provider-imds":"4.4.14","is-potential-custom-element-name":"1.0.1","@aws-sdk/credential-provider-http":"3.972.63","@aws-sdk/credential-provider-node":"3.972.72","@aws-sdk/eventstream-handler-node":"3.972.30","@aws-sdk/credential-provider-login":"3.972.68","@aws-sdk/signature-v4-multi-region":"3.996.42","@opentelemetry/semantic-conventions":"1.41.1","@aws-sdk/credential-provider-process":"3.972.61","@csstools/css-syntax-patches-for-csstree":"1.1.5","@aws-sdk/credential-provider-web-identity":"3.972.67"},"_hasShrinkwrap":false,"devDependencies":{"shx":"0.4.0","vitest":"4.1.10","@types/ms":"2.1.0","@types/ws":"8.18.1","typescript":"7.0.2","@types/node":"26.1.1","@types/jsdom":"28.0.3","@types/semver":"7.7.1","@types/turndown":"5.0.6","@types/picomatch":"4.0.3","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@anthropic-ai/claude-agent-sdk","@anthropic-ai/sdk","@asamuzakjp/css-color","@asamuzakjp/dom-selector","@asamuzakjp/generational-cache","@asamuzakjp/nwsapi","@aws-sdk/client-bedrock-runtime","@aws-sdk/core","@aws-sdk/credential-provider-env","@aws-sdk/credential-provider-http","@aws-sdk/credential-provider-ini","@aws-sdk/credential-provider-login","@aws-sdk/credential-provider-node","@aws-sdk/credential-provider-process","@aws-sdk/credential-provider-sso","@aws-sdk/credential-provider-web-identity","@aws-sdk/eventstream-handler-node","@aws-sdk/middleware-eventstream","@aws-sdk/middleware-websocket","@aws-sdk/nested-clients","@aws-sdk/signature-v4-multi-region","@aws-sdk/token-providers","@aws-sdk/types","@aws-sdk/xml-builder","@aws/lambda-invoke-store","@babel/runtime","@bramus/specificity","@bufbuild/protobuf","@code-yeongyu/senpi-codemode","@csstools/color-helpers","@csstools/css-calc","@csstools/css-color-parser","@csstools/css-parser-algorithms","@csstools/css-syntax-patches-for-csstree","@csstools/css-tokenizer","@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-pty","@earendil-works/pi-telemetry","@earendil-works/pi-tui","@exodus/bytes","@hono/node-server","@mariozechner/clipboard","@mistralai/mistralai","@mixmark-io/domino","@modelcontextprotocol/sdk","@mozilla/readability","@opentelemetry/api","@opentelemetry/semantic-conventions","@protobufjs/aspromise","@protobufjs/base64","@protobufjs/codegen","@protobufjs/eventemitter","@protobufjs/fetch","@protobufjs/float","@protobufjs/path","@protobufjs/pool","@protobufjs/utf8","@silvia-odwyer/photon-node","@smithy/core","@smithy/credential-provider-imds","@smithy/fetch-http-handler","@smithy/node-http-handler","@smithy/signature-v4","@smithy/types","@types/node","@xterm/headless","accepts","agent-base","ajv","ajv-formats","balanced-match","base64-js","bidi-js","bignumber.js","body-parser","bowser","brace-expansion","buffer-equal-constant-time","bytes","call-bind-apply-helpers","call-bound","chalk","content-disposition","content-type","cookie","cookie-signature","cors","cross-spawn","css-tree","data-uri-to-buffer","data-urls","debug","decimal.js","depd","diff","dunder-proto","ecdsa-sig-formatter","ee-first","encodeurl","entities","es-define-property","es-errors","es-object-atoms","escape-html","etag","eventsource","eventsource-parser","express","express-rate-limit","extend","fast-deep-equal","fast-uri","fetch-blob","finalhandler","formdata-polyfill","forwarded","fresh","function-bind","gaxios","gcp-metadata","get-east-asian-width","get-intrinsic","get-proto","glob","google-auth-library","google-logging-utils","gopd","graceful-fs","grok-mermaid","has-symbols","hasown","highlight.js","hono","hosted-git-info","html-encoding-sniffer","http-errors","http-proxy-agent","https-proxy-agent","iconv-lite","ignore","inherits","ip-address","ipaddr.js","is-potential-custom-element-name","is-promise","isexe","jiti","jose","jsdom","json-bigint","json-schema-to-ts","json-schema-traverse","json-schema-typed","jwa","jws","long","lru-cache","marked","math-intrinsics","mdn-data","media-typer","merge-descriptors","mime-db","mime-types","minimatch","minipass","ms","negotiator","node-domexception","node-fetch","object-assign","object-inspect","on-finished","once","openai","p-retry","parse5","parseurl","partial-json","path-key","path-scurry","path-to-regexp","picomatch","pkce-challenge","proper-lockfile","protobufjs","proxy-addr","proxy-agent-negotiate","proxy-from-env","punycode","qs","range-parser","raw-body","require-from-string","retry","router","safe-buffer","safer-buffer","saxes","semver","send","serve-static","setprototypeof","shebang-command","shebang-regex","side-channel","side-channel-list","side-channel-map","side-channel-weakmap","signal-exit","source-map-js","statuses","symbol-tree","tldts","tldts-core","toidentifier","tough-cookie","tr46","ts-algebra","tslib","turndown","type-is","typebox","undici","unpipe","vary","w3c-xmlserializer","web-streams-polyfill","webidl-conversions","whatwg-mimetype","whatwg-url","which","wrappy","ws","xml-name-validator","xmlchars","yaml","zod","zod-to-json-schema"],"optionalDependencies":{"@mariozechner/clipboard":"0.3.9","@mariozechner/clipboard-darwin-x64":"0.3.9","@mariozechner/clipboard-darwin-arm64":"0.3.9","@mariozechner/clipboard-linux-x64-gnu":"0.3.9","@mariozechner/clipboard-linux-x64-musl":"0.3.9","@mariozechner/clipboard-win32-x64-msvc":"0.3.9","@mariozechner/clipboard-linux-arm64-gnu":"0.3.9","@anthropic-ai/claude-agent-sdk-linux-x64":"0.3.220","@anthropic-ai/claude-agent-sdk-win32-x64":"0.3.220","@mariozechner/clipboard-darwin-universal":"0.3.9","@mariozechner/clipboard-linux-arm64-musl":"0.3.9","@mariozechner/clipboard-win32-arm64-msvc":"0.3.9","@anthropic-ai/claude-agent-sdk-darwin-x64":"0.3.220","@mariozechner/clipboard-linux-riscv64-gnu":"0.3.9","@anthropic-ai/claude-agent-sdk-linux-arm64":"0.3.220","@anthropic-ai/claude-agent-sdk-win32-arm64":"0.3.220","@anthropic-ai/claude-agent-sdk-darwin-arm64":"0.3.220","@anthropic-ai/claude-agent-sdk-linux-x64-musl":"0.3.220","@anthropic-ai/claude-agent-sdk-linux-arm64-musl":"0.3.220"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.8.18-2_1787044378089_0.23258261162259197","host":"s3://npm-registry-packages-npm-production"}},"2026.8.18-3":{"name":"@code-yeongyu/senpi","version":"2026.8.18-3","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.8.18-3","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"senpi":"dist/cli.js"},"dist":{"shasum":"1ad4625ba49784e8b00576ecbbc4b0fbd9d7d5b2","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.8.18-3.tgz","fileCount":31640,"integrity":"sha512-qzrSwkOuJmsTo2OwyO0ytmc3lAmYtFQurz+yZb+GbFgRKjffW5UrAkp84AEpdampi0RpNv/ANoO8TWuqN+bdEw==","signatures":[{"sig":"MEQCIGbusJimdtYcOz2/8ZAwS+yM+7yfTEWyOottTWFFuVVVAiBttT6COg3m3AgYMppkvaIOh4G+yxAf9P5jWAb+j7WsBg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.8.18-3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":172605463},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.js"},"./rpc-entry":{"import":"./dist/rpc-entry.js"}},"scripts":{"dev":"tsc -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsc -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js dist/rpc-entry.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/","build:binary":"npm --prefix ../tui run build && npm --prefix ../telemetry run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm --prefix ../protocol run build && npm --prefix ../client run build && npm --prefix ../pty run build && npm run build && node ../../scripts/prepare-bun-compile-assets.mjs && bun build --compile --compile-autoload-package-json --no-compile-autoload-dotenv --no-compile-autoload-bunfig --minify --keep-names ./dist/bun/cli.js ./src/utils/image-resize-worker.ts ../../node_modules/jsdom/lib/jsdom/living/xhr/xhr-sync-worker.js --outfile dist/pi && npm run copy-binary-assets","qa:app-server":"node scripts/qa-app-server/run-all.mjs","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/export-html/ && shx cp -r docs dist/ && shx cp -r examples dist/ && shx mkdir -p dist/node_modules && shx cp -r ../../node_modules/css-tree ../../node_modules/mdn-data ../../node_modules/source-map-js dist/node_modules/ && node ../../scripts/copy-codemode-sidecar.mjs dist && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/ && shx mkdir -p dist/native/darwin dist/native/win32 && shx cp -r ../../packages/tui/native/darwin/prebuilds dist/native/darwin/ && shx cp -r ../../packages/tui/native/win32/prebuilds dist/native/win32/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/ && node ../../scripts/copy-pty-native.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ea548fc8-dac4-4dec-a439-6f4fa3870309"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.2"},"rimraf":"6.1.2","protobufjs":"7.6.5","@hono/node-server":"2.0.10"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.17.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.19.0","dependencies":{"ms":"2.1.3","qs":"6.15.3","ws":"8.21.1","ajv":"8.20.0","jwa":"2.0.1","jws":"4.0.1","zod":"4.4.3","cors":"2.8.6","depd":"2.0.0","diff":"9.0.0","etag":"1.8.1","glob":"13.0.6","gopd":"1.2.0","hono":"4.12.27","jiti":"2.7.0","jose":"6.2.3","long":"5.3.2","once":"1.4.0","send":"1.2.1","tr46":"6.0.0","vary":"1.1.2","yaml":"2.9.0","bytes":"3.1.2","chalk":"6.0.0","debug":"4.4.3","fresh":"2.0.0","isexe":"2.0.0","jsdom":"29.1.1","retry":"0.13.1","saxes":"6.0.0","tldts":"7.4.3","tslib":"2.8.1","which":"2.0.2","bowser":"2.14.1","cookie":"0.7.2","extend":"3.0.2","gaxios":"7.1.4","hasown":"2.0.3","ignore":"7.0.6","marked":"18.0.7","openai":"6.26.0","parse5":"8.0.1","router":"2.2.0","semver":"7.8.5","undici":"8.9.0","unpipe":"1.0.0","wrappy":"1.0.2","accepts":"2.0.0","bidi-js":"1.0.3","express":"5.2.1","mime-db":"1.54.0","p-retry":"4.6.2","type-is":"2.1.0","typebox":"1.3.8","css-tree":"3.2.1","ee-first":"1.1.1","entities":"8.0.0","fast-uri":"3.1.4","inherits":"2.0.4","mdn-data":"2.27.1","minipass":"7.1.3","parseurl":"1.3.3","path-key":"3.1.1","punycode":"2.3.1","raw-body":"3.0.2","statuses":"2.0.2","turndown":"7.2.4","xmlchars":"2.2.0","base64-js":"1.5.1","data-urls":"7.0.0","encodeurl":"2.0.0","es-errors":"1.3.0","forwarded":"0.2.0","get-proto":"1.0.1","ipaddr.js":"1.9.1","lru-cache":"11.4.0","minimatch":"10.2.5","picomatch":"4.0.5","agent-base":"7.1.4","call-bound":"1.0.4","decimal.js":"10.6.0","fetch-blob":"3.2.0","iconv-lite":"0.7.3","ip-address":"10.2.0","is-promise":"4.0.0","mime-types":"3.0.2","negotiator":"1.0.0","node-fetch":"3.3.2","protobufjs":"7.6.5","proxy-addr":"2.0.7","tldts-core":"7.4.3","ts-algebra":"2.0.0","whatwg-url":"16.0.1","@types/node":"26.1.1","ajv-formats":"3.0.1","body-parser":"2.3.0","cross-spawn":"7.0.6","escape-html":"1.0.3","eventsource":"3.0.7","graceful-fs":"4.2.11","has-symbols":"1.1.0","http-errors":"2.0.1","json-bigint":"1.0.0","media-typer":"1.1.0","on-finished":"2.4.1","path-scurry":"2.0.2","safe-buffer":"5.2.1","signal-exit":"3.0.7","symbol-tree":"3.2.4","@smithy/core":"3.30.0","bignumber.js":"9.3.1","content-type":"1.0.5","dunder-proto":"1.0.1","finalhandler":"2.1.1","gcp-metadata":"8.1.2","grok-mermaid":"0.2.2","highlight.js":"11.11.1","partial-json":"0.1.7","range-parser":"1.3.0","safer-buffer":"2.1.2","serve-static":"2.2.1","side-channel":"1.1.1","toidentifier":"1.0.1","tough-cookie":"6.0.1","@aws-sdk/core":"3.977.1","@exodus/bytes":"1.15.1","@smithy/types":"4.16.1","function-bind":"1.1.2","get-intrinsic":"1.3.0","object-assign":"4.1.1","shebang-regex":"3.0.0","source-map-js":"1.2.1","@aws-sdk/types":"3.974.2","@babel/runtime":"7.29.2","balanced-match":"4.0.4","object-inspect":"1.13.4","path-to-regexp":"8.4.2","pkce-challenge":"5.0.1","proxy-from-env":"2.1.0","setprototypeof":"1.2.0","@xterm/headless":"6.0.0","brace-expansion":"5.0.8","es-object-atoms":"1.1.2","fast-deep-equal":"3.1.3","hosted-git-info":"10.1.1","math-intrinsics":"1.1.0","proper-lockfile":"4.1.2","shebang-command":"2.0.0","whatwg-mimetype":"5.0.0","@protobufjs/path":"1.1.2","@protobufjs/pool":"1.1.0","@protobufjs/utf8":"1.1.1","cookie-signature":"1.2.2","http-proxy-agent":"9.1.0","side-channel-map":"1.0.1","@anthropic-ai/sdk":"0.91.1","@hono/node-server":"2.0.10","@protobufjs/fetch":"1.1.1","@protobufjs/float":"1.0.2","formdata-polyfill":"4.0.10","https-proxy-agent":"9.1.0","json-schema-to-ts":"3.1.1","json-schema-typed":"8.0.2","merge-descriptors":"2.0.0","node-domexception":"1.0.0","side-channel-list":"1.0.1","w3c-xmlserializer":"5.0.0","@asamuzakjp/nwsapi":"2.3.9","@bufbuild/protobuf":"2.13.0","@csstools/css-calc":"3.2.1","@mixmark-io/domino":"2.2.0","@opentelemetry/api":"1.9.1","@protobufjs/base64":"1.1.2","data-uri-to-buffer":"4.0.1","es-define-property":"1.0.1","eventsource-parser":"3.1.0","express-rate-limit":"8.5.2","webidl-conversions":"8.0.1","xml-name-validator":"5.0.0","zod-to-json-schema":"3.25.2","@bramus/specificity":"2.4.2","@protobufjs/codegen":"2.0.5","content-disposition":"1.1.0","ecdsa-sig-formatter":"1.0.11","google-auth-library":"10.6.2","require-from-string":"2.0.2","@aws-sdk/xml-builder":"3.972.37","@mistralai/mistralai":"2.5.0","@mozilla/readability":"0.6.0","@smithy/signature-v4":"5.6.10","get-east-asian-width":"1.6.0","google-logging-utils":"1.1.3","json-schema-traverse":"1.0.0","side-channel-weakmap":"1.0.2","web-streams-polyfill":"3.3.3","@asamuzakjp/css-color":"5.1.11","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.8.18-3","@protobufjs/aspromise":"1.1.2","html-encoding-sniffer":"6.0.0","proxy-agent-negotiate":"1.1.0","@earendil-works/pi-pty":"npm:@code-yeongyu/senpi-pty@2026.8.18-3","@earendil-works/pi-tui":"npm:@code-yeongyu/senpi-tui@2026.8.18-3","@aws-sdk/nested-clients":"3.997.35","@csstools/color-helpers":"6.0.2","@csstools/css-tokenizer":"4.0.0","@mariozechner/clipboard":"*","call-bind-apply-helpers":"1.0.2","@asamuzakjp/dom-selector":"7.1.1","@aws-sdk/token-providers":"3.1095.0","@aws/lambda-invoke-store":"0.3.0","@protobufjs/eventemitter":"1.1.1","@modelcontextprotocol/sdk":"1.30.0","@smithy/node-http-handler":"4.9.11","@csstools/css-color-parser":"4.1.8","@silvia-odwyer/photon-node":"0.3.4","@smithy/fetch-http-handler":"5.6.11","buffer-equal-constant-time":"1.0.1","@code-yeongyu/senpi-codemode":"2026.8.18-3","@earendil-works/pi-telemetry":"npm:@code-yeongyu/senpi-telemetry@2026.8.18-3","@aws-sdk/middleware-websocket":"3.972.43","@earendil-works/pi-agent-core":"npm:@code-yeongyu/senpi-agent-core@2026.8.18-3","@anthropic-ai/claude-agent-sdk":"0.3.220","@asamuzakjp/generational-cache":"1.0.1","@aws-sdk/client-bedrock-runtime":"3.1095.0","@aws-sdk/middleware-eventstream":"3.972.25","@csstools/css-parser-algorithms":"4.0.0","@aws-sdk/credential-provider-env":"3.972.61","@aws-sdk/credential-provider-ini":"3.973.6","@aws-sdk/credential-provider-sso":"3.973.5","@smithy/credential-provider-imds":"4.4.14","is-potential-custom-element-name":"1.0.1","@aws-sdk/credential-provider-http":"3.972.63","@aws-sdk/credential-provider-node":"3.972.72","@aws-sdk/eventstream-handler-node":"3.972.30","@aws-sdk/credential-provider-login":"3.972.68","@aws-sdk/signature-v4-multi-region":"3.996.42","@opentelemetry/semantic-conventions":"1.41.1","@aws-sdk/credential-provider-process":"3.972.61","@csstools/css-syntax-patches-for-csstree":"1.1.5","@aws-sdk/credential-provider-web-identity":"3.972.67"},"_hasShrinkwrap":false,"devDependencies":{"shx":"0.4.0","vitest":"4.1.10","@types/ms":"2.1.0","@types/ws":"8.18.1","typescript":"7.0.2","@types/node":"26.1.1","@types/jsdom":"28.0.3","@types/semver":"7.7.1","@types/turndown":"5.0.6","@types/picomatch":"4.0.3","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@anthropic-ai/claude-agent-sdk","@anthropic-ai/sdk","@asamuzakjp/css-color","@asamuzakjp/dom-selector","@asamuzakjp/generational-cache","@asamuzakjp/nwsapi","@aws-sdk/client-bedrock-runtime","@aws-sdk/core","@aws-sdk/credential-provider-env","@aws-sdk/credential-provider-http","@aws-sdk/credential-provider-ini","@aws-sdk/credential-provider-login","@aws-sdk/credential-provider-node","@aws-sdk/credential-provider-process","@aws-sdk/credential-provider-sso","@aws-sdk/credential-provider-web-identity","@aws-sdk/eventstream-handler-node","@aws-sdk/middleware-eventstream","@aws-sdk/middleware-websocket","@aws-sdk/nested-clients","@aws-sdk/signature-v4-multi-region","@aws-sdk/token-providers","@aws-sdk/types","@aws-sdk/xml-builder","@aws/lambda-invoke-store","@babel/runtime","@bramus/specificity","@bufbuild/protobuf","@code-yeongyu/senpi-codemode","@csstools/color-helpers","@csstools/css-calc","@csstools/css-color-parser","@csstools/css-parser-algorithms","@csstools/css-syntax-patches-for-csstree","@csstools/css-tokenizer","@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-pty","@earendil-works/pi-telemetry","@earendil-works/pi-tui","@exodus/bytes","@hono/node-server","@mariozechner/clipboard","@mistralai/mistralai","@mixmark-io/domino","@modelcontextprotocol/sdk","@mozilla/readability","@opentelemetry/api","@opentelemetry/semantic-conventions","@protobufjs/aspromise","@protobufjs/base64","@protobufjs/codegen","@protobufjs/eventemitter","@protobufjs/fetch","@protobufjs/float","@protobufjs/path","@protobufjs/pool","@protobufjs/utf8","@silvia-odwyer/photon-node","@smithy/core","@smithy/credential-provider-imds","@smithy/fetch-http-handler","@smithy/node-http-handler","@smithy/signature-v4","@smithy/types","@types/node","@xterm/headless","accepts","agent-base","ajv","ajv-formats","balanced-match","base64-js","bidi-js","bignumber.js","body-parser","bowser","brace-expansion","buffer-equal-constant-time","bytes","call-bind-apply-helpers","call-bound","chalk","content-disposition","content-type","cookie","cookie-signature","cors","cross-spawn","css-tree","data-uri-to-buffer","data-urls","debug","decimal.js","depd","diff","dunder-proto","ecdsa-sig-formatter","ee-first","encodeurl","entities","es-define-property","es-errors","es-object-atoms","escape-html","etag","eventsource","eventsource-parser","express","express-rate-limit","extend","fast-deep-equal","fast-uri","fetch-blob","finalhandler","formdata-polyfill","forwarded","fresh","function-bind","gaxios","gcp-metadata","get-east-asian-width","get-intrinsic","get-proto","glob","google-auth-library","google-logging-utils","gopd","graceful-fs","grok-mermaid","has-symbols","hasown","highlight.js","hono","hosted-git-info","html-encoding-sniffer","http-errors","http-proxy-agent","https-proxy-agent","iconv-lite","ignore","inherits","ip-address","ipaddr.js","is-potential-custom-element-name","is-promise","isexe","jiti","jose","jsdom","json-bigint","json-schema-to-ts","json-schema-traverse","json-schema-typed","jwa","jws","long","lru-cache","marked","math-intrinsics","mdn-data","media-typer","merge-descriptors","mime-db","mime-types","minimatch","minipass","ms","negotiator","node-domexception","node-fetch","object-assign","object-inspect","on-finished","once","openai","p-retry","parse5","parseurl","partial-json","path-key","path-scurry","path-to-regexp","picomatch","pkce-challenge","proper-lockfile","protobufjs","proxy-addr","proxy-agent-negotiate","proxy-from-env","punycode","qs","range-parser","raw-body","require-from-string","retry","router","safe-buffer","safer-buffer","saxes","semver","send","serve-static","setprototypeof","shebang-command","shebang-regex","side-channel","side-channel-list","side-channel-map","side-channel-weakmap","signal-exit","source-map-js","statuses","symbol-tree","tldts","tldts-core","toidentifier","tough-cookie","tr46","ts-algebra","tslib","turndown","type-is","typebox","undici","unpipe","vary","w3c-xmlserializer","web-streams-polyfill","webidl-conversions","whatwg-mimetype","whatwg-url","which","wrappy","ws","xml-name-validator","xmlchars","yaml","zod","zod-to-json-schema"],"optionalDependencies":{"@mariozechner/clipboard":"0.3.9","@mariozechner/clipboard-darwin-x64":"0.3.9","@mariozechner/clipboard-darwin-arm64":"0.3.9","@mariozechner/clipboard-linux-x64-gnu":"0.3.9","@mariozechner/clipboard-linux-x64-musl":"0.3.9","@mariozechner/clipboard-win32-x64-msvc":"0.3.9","@mariozechner/clipboard-linux-arm64-gnu":"0.3.9","@anthropic-ai/claude-agent-sdk-linux-x64":"0.3.220","@anthropic-ai/claude-agent-sdk-win32-x64":"0.3.220","@mariozechner/clipboard-darwin-universal":"0.3.9","@mariozechner/clipboard-linux-arm64-musl":"0.3.9","@mariozechner/clipboard-win32-arm64-msvc":"0.3.9","@anthropic-ai/claude-agent-sdk-darwin-x64":"0.3.220","@mariozechner/clipboard-linux-riscv64-gnu":"0.3.9","@anthropic-ai/claude-agent-sdk-linux-arm64":"0.3.220","@anthropic-ai/claude-agent-sdk-win32-arm64":"0.3.220","@anthropic-ai/claude-agent-sdk-darwin-arm64":"0.3.220","@anthropic-ai/claude-agent-sdk-linux-x64-musl":"0.3.220","@anthropic-ai/claude-agent-sdk-linux-arm64-musl":"0.3.220"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.8.18-3_1787068915288_0.40286896374353875","host":"s3://npm-registry-packages-npm-production"}},"2026.8.19":{"name":"@code-yeongyu/senpi","version":"2026.8.19","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.8.19","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"senpi":"dist/cli.js"},"dist":{"shasum":"1e139a8d92bded27b2a8085188dfaefbf4028a71","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.8.19.tgz","fileCount":31704,"integrity":"sha512-Uo+oI3DeYNn43ehmaLBFn9zDB+TojNtOecrTTrjE9iouxhIvMgee6yiMPveVIU5e5rk6sX3T96POOSTR/9eODQ==","signatures":[{"sig":"MEUCIQD7uy9Z2XKD+RMZVH0wcJFCeMtte8wagVC7QVYoYqsVnwIgQroizcIwhX8mbxzxjoJhPfOc0Mv1VbmiiNiNIRRjAQ8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.8.19","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":173322678},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.js"},"./rpc-entry":{"import":"./dist/rpc-entry.js"}},"scripts":{"dev":"tsc -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsc -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js dist/rpc-entry.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/","build:binary":"npm --prefix ../tui run build && npm --prefix ../telemetry run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm --prefix ../protocol run build && npm --prefix ../client run build && npm --prefix ../pty run build && npm run build && node ../../scripts/prepare-bun-compile-assets.mjs && bun build --compile --compile-autoload-package-json --no-compile-autoload-dotenv --no-compile-autoload-bunfig --minify --keep-names ./dist/bun/cli.js ./src/utils/image-resize-worker.ts ../../node_modules/jsdom/lib/jsdom/living/xhr/xhr-sync-worker.js --outfile dist/pi && npm run copy-binary-assets","qa:app-server":"node scripts/qa-app-server/run-all.mjs","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/export-html/ && shx cp -r docs dist/ && shx cp -r examples dist/ && shx mkdir -p dist/node_modules && shx cp -r ../../node_modules/css-tree ../../node_modules/mdn-data ../../node_modules/source-map-js dist/node_modules/ && node ../../scripts/copy-codemode-sidecar.mjs dist && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/ && shx mkdir -p dist/native/darwin dist/native/win32 && shx cp -r ../../packages/tui/native/darwin/prebuilds dist/native/darwin/ && shx cp -r ../../packages/tui/native/win32/prebuilds dist/native/win32/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/ && node ../../scripts/copy-pty-native.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ea548fc8-dac4-4dec-a439-6f4fa3870309"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.2"},"rimraf":"6.1.2","protobufjs":"7.6.5","@hono/node-server":"2.0.10"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.17.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.19.0","dependencies":{"ms":"2.1.3","qs":"6.15.3","ws":"8.21.1","ajv":"8.20.0","jwa":"2.0.1","jws":"4.0.1","zod":"4.4.3","cors":"2.8.6","depd":"2.0.0","diff":"9.0.0","etag":"1.8.1","glob":"13.0.6","gopd":"1.2.0","hono":"4.12.27","jiti":"2.7.0","jose":"6.2.3","long":"5.3.2","once":"1.4.0","send":"1.2.1","tr46":"6.0.0","vary":"1.1.2","yaml":"2.9.0","bytes":"3.1.2","chalk":"6.0.0","debug":"4.4.3","fresh":"2.0.0","isexe":"2.0.0","jsdom":"29.1.1","retry":"0.13.1","saxes":"6.0.0","tldts":"7.4.3","tslib":"2.8.1","which":"2.0.2","bowser":"2.14.1","cookie":"0.7.2","extend":"3.0.2","gaxios":"7.1.4","hasown":"2.0.3","ignore":"7.0.6","marked":"18.0.7","openai":"6.26.0","parse5":"8.0.1","router":"2.2.0","semver":"7.8.5","undici":"8.9.0","unpipe":"1.0.0","wrappy":"1.0.2","accepts":"2.0.0","bidi-js":"1.0.3","express":"5.2.1","mime-db":"1.54.0","p-retry":"4.6.2","type-is":"2.1.0","typebox":"1.3.8","css-tree":"3.2.1","ee-first":"1.1.1","entities":"8.0.0","fast-uri":"3.1.4","inherits":"2.0.4","mdn-data":"2.27.1","minipass":"7.1.3","parseurl":"1.3.3","path-key":"3.1.1","punycode":"2.3.1","raw-body":"3.0.2","statuses":"2.0.2","turndown":"7.2.4","xmlchars":"2.2.0","base64-js":"1.5.1","data-urls":"7.0.0","encodeurl":"2.0.0","es-errors":"1.3.0","forwarded":"0.2.0","get-proto":"1.0.1","ipaddr.js":"1.9.1","lru-cache":"11.4.0","minimatch":"10.2.5","picomatch":"4.0.5","agent-base":"7.1.4","call-bound":"1.0.4","decimal.js":"10.6.0","fetch-blob":"3.2.0","iconv-lite":"0.7.3","ip-address":"10.2.0","is-promise":"4.0.0","mime-types":"3.0.2","negotiator":"1.0.0","node-fetch":"3.3.2","protobufjs":"7.6.5","proxy-addr":"2.0.7","tldts-core":"7.4.3","ts-algebra":"2.0.0","whatwg-url":"16.0.1","@types/node":"26.1.1","ajv-formats":"3.0.1","body-parser":"2.3.0","cross-spawn":"7.0.6","escape-html":"1.0.3","eventsource":"3.0.7","graceful-fs":"4.2.11","has-symbols":"1.1.0","http-errors":"2.0.1","json-bigint":"1.0.0","media-typer":"1.1.0","on-finished":"2.4.1","path-scurry":"2.0.2","safe-buffer":"5.2.1","signal-exit":"3.0.7","symbol-tree":"3.2.4","@smithy/core":"3.30.0","bignumber.js":"9.3.1","content-type":"1.0.5","dunder-proto":"1.0.1","finalhandler":"2.1.1","gcp-metadata":"8.1.2","grok-mermaid":"0.2.2","highlight.js":"11.11.1","partial-json":"0.1.7","range-parser":"1.3.0","safer-buffer":"2.1.2","serve-static":"2.2.1","side-channel":"1.1.1","toidentifier":"1.0.1","tough-cookie":"6.0.1","@aws-sdk/core":"3.977.1","@exodus/bytes":"1.15.1","@smithy/types":"4.16.1","function-bind":"1.1.2","get-intrinsic":"1.3.0","object-assign":"4.1.1","shebang-regex":"3.0.0","source-map-js":"1.2.1","@aws-sdk/types":"3.974.2","@babel/runtime":"7.29.2","balanced-match":"4.0.4","object-inspect":"1.13.4","path-to-regexp":"8.4.2","pkce-challenge":"5.0.1","proxy-from-env":"2.1.0","setprototypeof":"1.2.0","@xterm/headless":"6.0.0","brace-expansion":"5.0.8","es-object-atoms":"1.1.2","fast-deep-equal":"3.1.3","hosted-git-info":"10.1.1","math-intrinsics":"1.1.0","proper-lockfile":"4.1.2","shebang-command":"2.0.0","whatwg-mimetype":"5.0.0","@protobufjs/path":"1.1.2","@protobufjs/pool":"1.1.0","@protobufjs/utf8":"1.1.1","cookie-signature":"1.2.2","http-proxy-agent":"9.1.0","side-channel-map":"1.0.1","@anthropic-ai/sdk":"0.91.1","@hono/node-server":"2.0.10","@protobufjs/fetch":"1.1.1","@protobufjs/float":"1.0.2","formdata-polyfill":"4.0.10","https-proxy-agent":"9.1.0","json-schema-to-ts":"3.1.1","json-schema-typed":"8.0.2","merge-descriptors":"2.0.0","node-domexception":"1.0.0","side-channel-list":"1.0.1","w3c-xmlserializer":"5.0.0","@asamuzakjp/nwsapi":"2.3.9","@bufbuild/protobuf":"2.13.0","@csstools/css-calc":"3.2.1","@mixmark-io/domino":"2.2.0","@opentelemetry/api":"1.9.1","@protobufjs/base64":"1.1.2","data-uri-to-buffer":"4.0.1","es-define-property":"1.0.1","eventsource-parser":"3.1.0","express-rate-limit":"8.5.2","webidl-conversions":"8.0.1","xml-name-validator":"5.0.0","zod-to-json-schema":"3.25.2","@bramus/specificity":"2.4.2","@protobufjs/codegen":"2.0.5","content-disposition":"1.1.0","ecdsa-sig-formatter":"1.0.11","google-auth-library":"10.6.2","require-from-string":"2.0.2","@aws-sdk/xml-builder":"3.972.37","@mistralai/mistralai":"2.5.0","@mozilla/readability":"0.6.0","@smithy/signature-v4":"5.6.10","get-east-asian-width":"1.6.0","google-logging-utils":"1.1.3","json-schema-traverse":"1.0.0","side-channel-weakmap":"1.0.2","web-streams-polyfill":"3.3.3","@asamuzakjp/css-color":"5.1.11","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.8.19","@protobufjs/aspromise":"1.1.2","html-encoding-sniffer":"6.0.0","proxy-agent-negotiate":"1.1.0","@earendil-works/pi-pty":"npm:@code-yeongyu/senpi-pty@2026.8.19","@earendil-works/pi-tui":"npm:@code-yeongyu/senpi-tui@2026.8.19","@aws-sdk/nested-clients":"3.997.35","@csstools/color-helpers":"6.0.2","@csstools/css-tokenizer":"4.0.0","@mariozechner/clipboard":"*","call-bind-apply-helpers":"1.0.2","@asamuzakjp/dom-selector":"7.1.1","@aws-sdk/token-providers":"3.1095.0","@aws/lambda-invoke-store":"0.3.0","@protobufjs/eventemitter":"1.1.1","@modelcontextprotocol/sdk":"1.30.0","@smithy/node-http-handler":"4.9.11","@csstools/css-color-parser":"4.1.8","@silvia-odwyer/photon-node":"0.3.4","@smithy/fetch-http-handler":"5.6.11","buffer-equal-constant-time":"1.0.1","@code-yeongyu/senpi-codemode":"2026.8.19","@earendil-works/pi-telemetry":"npm:@code-yeongyu/senpi-telemetry@2026.8.19","@aws-sdk/middleware-websocket":"3.972.43","@earendil-works/pi-agent-core":"npm:@code-yeongyu/senpi-agent-core@2026.8.19","@anthropic-ai/claude-agent-sdk":"0.3.220","@asamuzakjp/generational-cache":"1.0.1","@aws-sdk/client-bedrock-runtime":"3.1095.0","@aws-sdk/middleware-eventstream":"3.972.25","@csstools/css-parser-algorithms":"4.0.0","@aws-sdk/credential-provider-env":"3.972.61","@aws-sdk/credential-provider-ini":"3.973.6","@aws-sdk/credential-provider-sso":"3.973.5","@smithy/credential-provider-imds":"4.4.14","is-potential-custom-element-name":"1.0.1","@aws-sdk/credential-provider-http":"3.972.63","@aws-sdk/credential-provider-node":"3.972.72","@aws-sdk/eventstream-handler-node":"3.972.30","@aws-sdk/credential-provider-login":"3.972.68","@aws-sdk/signature-v4-multi-region":"3.996.42","@opentelemetry/semantic-conventions":"1.41.1","@aws-sdk/credential-provider-process":"3.972.61","@csstools/css-syntax-patches-for-csstree":"1.1.5","@aws-sdk/credential-provider-web-identity":"3.972.67"},"_hasShrinkwrap":false,"devDependencies":{"shx":"0.4.0","vitest":"4.1.10","@types/ms":"2.1.0","@types/ws":"8.18.1","typescript":"7.0.2","@types/node":"26.1.1","@types/jsdom":"28.0.3","@types/semver":"7.7.1","@types/turndown":"5.0.6","@types/picomatch":"4.0.3","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@anthropic-ai/claude-agent-sdk","@anthropic-ai/sdk","@asamuzakjp/css-color","@asamuzakjp/dom-selector","@asamuzakjp/generational-cache","@asamuzakjp/nwsapi","@aws-sdk/client-bedrock-runtime","@aws-sdk/core","@aws-sdk/credential-provider-env","@aws-sdk/credential-provider-http","@aws-sdk/credential-provider-ini","@aws-sdk/credential-provider-login","@aws-sdk/credential-provider-node","@aws-sdk/credential-provider-process","@aws-sdk/credential-provider-sso","@aws-sdk/credential-provider-web-identity","@aws-sdk/eventstream-handler-node","@aws-sdk/middleware-eventstream","@aws-sdk/middleware-websocket","@aws-sdk/nested-clients","@aws-sdk/signature-v4-multi-region","@aws-sdk/token-providers","@aws-sdk/types","@aws-sdk/xml-builder","@aws/lambda-invoke-store","@babel/runtime","@bramus/specificity","@bufbuild/protobuf","@code-yeongyu/senpi-codemode","@csstools/color-helpers","@csstools/css-calc","@csstools/css-color-parser","@csstools/css-parser-algorithms","@csstools/css-syntax-patches-for-csstree","@csstools/css-tokenizer","@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-pty","@earendil-works/pi-telemetry","@earendil-works/pi-tui","@exodus/bytes","@hono/node-server","@mariozechner/clipboard","@mistralai/mistralai","@mixmark-io/domino","@modelcontextprotocol/sdk","@mozilla/readability","@opentelemetry/api","@opentelemetry/semantic-conventions","@protobufjs/aspromise","@protobufjs/base64","@protobufjs/codegen","@protobufjs/eventemitter","@protobufjs/fetch","@protobufjs/float","@protobufjs/path","@protobufjs/pool","@protobufjs/utf8","@silvia-odwyer/photon-node","@smithy/core","@smithy/credential-provider-imds","@smithy/fetch-http-handler","@smithy/node-http-handler","@smithy/signature-v4","@smithy/types","@types/node","@xterm/headless","accepts","agent-base","ajv","ajv-formats","balanced-match","base64-js","bidi-js","bignumber.js","body-parser","bowser","brace-expansion","buffer-equal-constant-time","bytes","call-bind-apply-helpers","call-bound","chalk","content-disposition","content-type","cookie","cookie-signature","cors","cross-spawn","css-tree","data-uri-to-buffer","data-urls","debug","decimal.js","depd","diff","dunder-proto","ecdsa-sig-formatter","ee-first","encodeurl","entities","es-define-property","es-errors","es-object-atoms","escape-html","etag","eventsource","eventsource-parser","express","express-rate-limit","extend","fast-deep-equal","fast-uri","fetch-blob","finalhandler","formdata-polyfill","forwarded","fresh","function-bind","gaxios","gcp-metadata","get-east-asian-width","get-intrinsic","get-proto","glob","google-auth-library","google-logging-utils","gopd","graceful-fs","grok-mermaid","has-symbols","hasown","highlight.js","hono","hosted-git-info","html-encoding-sniffer","http-errors","http-proxy-agent","https-proxy-agent","iconv-lite","ignore","inherits","ip-address","ipaddr.js","is-potential-custom-element-name","is-promise","isexe","jiti","jose","jsdom","json-bigint","json-schema-to-ts","json-schema-traverse","json-schema-typed","jwa","jws","long","lru-cache","marked","math-intrinsics","mdn-data","media-typer","merge-descriptors","mime-db","mime-types","minimatch","minipass","ms","negotiator","node-domexception","node-fetch","object-assign","object-inspect","on-finished","once","openai","p-retry","parse5","parseurl","partial-json","path-key","path-scurry","path-to-regexp","picomatch","pkce-challenge","proper-lockfile","protobufjs","proxy-addr","proxy-agent-negotiate","proxy-from-env","punycode","qs","range-parser","raw-body","require-from-string","retry","router","safe-buffer","safer-buffer","saxes","semver","send","serve-static","setprototypeof","shebang-command","shebang-regex","side-channel","side-channel-list","side-channel-map","side-channel-weakmap","signal-exit","source-map-js","statuses","symbol-tree","tldts","tldts-core","toidentifier","tough-cookie","tr46","ts-algebra","tslib","turndown","type-is","typebox","undici","unpipe","vary","w3c-xmlserializer","web-streams-polyfill","webidl-conversions","whatwg-mimetype","whatwg-url","which","wrappy","ws","xml-name-validator","xmlchars","yaml","zod","zod-to-json-schema"],"optionalDependencies":{"@mariozechner/clipboard":"0.3.9","@mariozechner/clipboard-darwin-x64":"0.3.9","@mariozechner/clipboard-darwin-arm64":"0.3.9","@mariozechner/clipboard-linux-x64-gnu":"0.3.9","@mariozechner/clipboard-linux-x64-musl":"0.3.9","@mariozechner/clipboard-win32-x64-msvc":"0.3.9","@mariozechner/clipboard-linux-arm64-gnu":"0.3.9","@anthropic-ai/claude-agent-sdk-linux-x64":"0.3.220","@anthropic-ai/claude-agent-sdk-win32-x64":"0.3.220","@mariozechner/clipboard-darwin-universal":"0.3.9","@mariozechner/clipboard-linux-arm64-musl":"0.3.9","@mariozechner/clipboard-win32-arm64-msvc":"0.3.9","@anthropic-ai/claude-agent-sdk-darwin-x64":"0.3.220","@mariozechner/clipboard-linux-riscv64-gnu":"0.3.9","@anthropic-ai/claude-agent-sdk-linux-arm64":"0.3.220","@anthropic-ai/claude-agent-sdk-win32-arm64":"0.3.220","@anthropic-ai/claude-agent-sdk-darwin-arm64":"0.3.220","@anthropic-ai/claude-agent-sdk-linux-x64-musl":"0.3.220","@anthropic-ai/claude-agent-sdk-linux-arm64-musl":"0.3.220"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.8.19_1787148515987_0.9043825189088348","host":"s3://npm-registry-packages-npm-production"}},"2026.8.20":{"name":"@code-yeongyu/senpi","version":"2026.8.20","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.8.20","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"senpi":"dist/cli.js"},"dist":{"shasum":"efdf077d868c5293db770bca409f883a6ee70f92","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.8.20.tgz","fileCount":31760,"integrity":"sha512-8xEvXN9B4FBecc2YEDYzWL99K0h6Bs6q6dCKdDmn9hSOiQbNRFqSS046kkR7cB9Z2vztabKr4weL3gdkN0x35w==","signatures":[{"sig":"MEYCIQCGkebk/S5viJS1XX6jPR6hc4jlluvjxLVNC8U0mPfs8AIhAIbSIw3oI3wsr3vfaSGa7d0mDILCaXtGIiBjWWtays9/","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.8.20","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":173531841},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.js"},"./rpc-entry":{"import":"./dist/rpc-entry.js"}},"scripts":{"dev":"tsc -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsc -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js dist/rpc-entry.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/","build:binary":"npm --prefix ../tui run build && npm --prefix ../telemetry run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm --prefix ../protocol run build && npm --prefix ../client run build && npm --prefix ../pty run build && npm run build && node ../../scripts/prepare-bun-compile-assets.mjs && bun build --compile --compile-autoload-package-json --no-compile-autoload-dotenv --no-compile-autoload-bunfig --minify --keep-names ./dist/bun/cli.js ./src/utils/image-resize-worker.ts ../../node_modules/jsdom/lib/jsdom/living/xhr/xhr-sync-worker.js --outfile dist/pi && npm run copy-binary-assets","qa:app-server":"node scripts/qa-app-server/run-all.mjs","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/export-html/ && shx cp -r docs dist/ && shx cp -r examples dist/ && shx mkdir -p dist/node_modules && shx cp -r ../../node_modules/css-tree ../../node_modules/mdn-data ../../node_modules/source-map-js dist/node_modules/ && node ../../scripts/copy-codemode-sidecar.mjs dist && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/ && shx mkdir -p dist/native/darwin dist/native/win32 && shx cp -r ../../packages/tui/native/darwin/prebuilds dist/native/darwin/ && shx cp -r ../../packages/tui/native/win32/prebuilds dist/native/win32/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/ && node ../../scripts/copy-pty-native.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ea548fc8-dac4-4dec-a439-6f4fa3870309"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.2"},"rimraf":"6.1.2","protobufjs":"7.6.5","@hono/node-server":"2.0.10"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.17.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.19.0","dependencies":{"ms":"2.1.3","qs":"6.15.3","ws":"8.21.1","ajv":"8.20.0","jwa":"2.0.1","jws":"4.0.1","zod":"4.4.3","cors":"2.8.6","depd":"2.0.0","diff":"9.0.0","etag":"1.8.1","glob":"13.0.6","gopd":"1.2.0","hono":"4.12.27","jiti":"2.7.0","jose":"6.2.3","long":"5.3.2","once":"1.4.0","send":"1.2.1","tr46":"6.0.0","vary":"1.1.2","yaml":"2.9.0","bytes":"3.1.2","chalk":"6.0.0","debug":"4.4.3","fresh":"2.0.0","isexe":"2.0.0","jsdom":"29.1.1","retry":"0.13.1","saxes":"6.0.0","tldts":"7.4.3","tslib":"2.8.1","which":"2.0.2","bowser":"2.14.1","cookie":"0.7.2","extend":"3.0.2","gaxios":"7.1.4","hasown":"2.0.3","ignore":"7.0.6","marked":"18.0.7","openai":"6.26.0","parse5":"8.0.1","router":"2.2.0","semver":"7.8.5","undici":"8.9.0","unpipe":"1.0.0","wrappy":"1.0.2","accepts":"2.0.0","bidi-js":"1.0.3","express":"5.2.1","mime-db":"1.54.0","p-retry":"4.6.2","type-is":"2.1.0","typebox":"1.3.8","css-tree":"3.2.1","ee-first":"1.1.1","entities":"8.0.0","fast-uri":"3.1.4","inherits":"2.0.4","mdn-data":"2.27.1","minipass":"7.1.3","parseurl":"1.3.3","path-key":"3.1.1","punycode":"2.3.1","raw-body":"3.0.2","statuses":"2.0.2","turndown":"7.2.4","xmlchars":"2.2.0","base64-js":"1.5.1","data-urls":"7.0.0","encodeurl":"2.0.0","es-errors":"1.3.0","forwarded":"0.2.0","get-proto":"1.0.1","ipaddr.js":"1.9.1","lru-cache":"11.4.0","minimatch":"10.2.5","picomatch":"4.0.5","agent-base":"7.1.4","call-bound":"1.0.4","decimal.js":"10.6.0","fetch-blob":"3.2.0","iconv-lite":"0.7.3","ip-address":"10.2.0","is-promise":"4.0.0","mime-types":"3.0.2","negotiator":"1.0.0","node-fetch":"3.3.2","protobufjs":"7.6.5","proxy-addr":"2.0.7","tldts-core":"7.4.3","ts-algebra":"2.0.0","whatwg-url":"16.0.1","@types/node":"26.1.1","ajv-formats":"3.0.1","body-parser":"2.3.0","cross-spawn":"7.0.6","escape-html":"1.0.3","eventsource":"3.0.7","graceful-fs":"4.2.11","has-symbols":"1.1.0","http-errors":"2.0.1","json-bigint":"1.0.0","media-typer":"1.1.0","on-finished":"2.4.1","path-scurry":"2.0.2","safe-buffer":"5.2.1","signal-exit":"3.0.7","symbol-tree":"3.2.4","@smithy/core":"3.30.0","bignumber.js":"9.3.1","content-type":"1.0.5","dunder-proto":"1.0.1","finalhandler":"2.1.1","gcp-metadata":"8.1.2","grok-mermaid":"0.2.2","highlight.js":"11.11.1","partial-json":"0.1.7","range-parser":"1.3.0","safer-buffer":"2.1.2","serve-static":"2.2.1","side-channel":"1.1.1","toidentifier":"1.0.1","tough-cookie":"6.0.1","@aws-sdk/core":"3.977.1","@exodus/bytes":"1.15.1","@smithy/types":"4.16.1","function-bind":"1.1.2","get-intrinsic":"1.3.0","object-assign":"4.1.1","shebang-regex":"3.0.0","source-map-js":"1.2.1","@aws-sdk/types":"3.974.2","@babel/runtime":"7.29.2","balanced-match":"4.0.4","object-inspect":"1.13.4","path-to-regexp":"8.4.2","pkce-challenge":"5.0.1","proxy-from-env":"2.1.0","setprototypeof":"1.2.0","@xterm/headless":"6.0.0","brace-expansion":"5.0.8","es-object-atoms":"1.1.2","fast-deep-equal":"3.1.3","hosted-git-info":"10.1.1","math-intrinsics":"1.1.0","proper-lockfile":"4.1.2","shebang-command":"2.0.0","whatwg-mimetype":"5.0.0","@protobufjs/path":"1.1.2","@protobufjs/pool":"1.1.0","@protobufjs/utf8":"1.1.1","cookie-signature":"1.2.2","http-proxy-agent":"9.1.0","side-channel-map":"1.0.1","@anthropic-ai/sdk":"0.91.1","@hono/node-server":"2.0.10","@protobufjs/fetch":"1.1.1","@protobufjs/float":"1.0.2","formdata-polyfill":"4.0.10","https-proxy-agent":"9.1.0","json-schema-to-ts":"3.1.1","json-schema-typed":"8.0.2","merge-descriptors":"2.0.0","node-domexception":"1.0.0","side-channel-list":"1.0.1","w3c-xmlserializer":"5.0.0","@asamuzakjp/nwsapi":"2.3.9","@bufbuild/protobuf":"2.13.0","@csstools/css-calc":"3.2.1","@mixmark-io/domino":"2.2.0","@opentelemetry/api":"1.9.1","@protobufjs/base64":"1.1.2","data-uri-to-buffer":"4.0.1","es-define-property":"1.0.1","eventsource-parser":"3.1.0","express-rate-limit":"8.5.2","webidl-conversions":"8.0.1","xml-name-validator":"5.0.0","zod-to-json-schema":"3.25.2","@bramus/specificity":"2.4.2","@protobufjs/codegen":"2.0.5","content-disposition":"1.1.0","ecdsa-sig-formatter":"1.0.11","google-auth-library":"10.6.2","require-from-string":"2.0.2","@aws-sdk/xml-builder":"3.972.37","@mistralai/mistralai":"2.5.0","@mozilla/readability":"0.6.0","@smithy/signature-v4":"5.6.10","get-east-asian-width":"1.6.0","google-logging-utils":"1.1.3","json-schema-traverse":"1.0.0","side-channel-weakmap":"1.0.2","web-streams-polyfill":"3.3.3","@asamuzakjp/css-color":"5.1.11","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.8.20","@protobufjs/aspromise":"1.1.2","html-encoding-sniffer":"6.0.0","proxy-agent-negotiate":"1.1.0","@earendil-works/pi-pty":"npm:@code-yeongyu/senpi-pty@2026.8.20","@earendil-works/pi-tui":"npm:@code-yeongyu/senpi-tui@2026.8.20","@aws-sdk/nested-clients":"3.997.35","@csstools/color-helpers":"6.0.2","@csstools/css-tokenizer":"4.0.0","@mariozechner/clipboard":"*","call-bind-apply-helpers":"1.0.2","@asamuzakjp/dom-selector":"7.1.1","@aws-sdk/token-providers":"3.1095.0","@aws/lambda-invoke-store":"0.3.0","@protobufjs/eventemitter":"1.1.1","@modelcontextprotocol/sdk":"1.30.0","@smithy/node-http-handler":"4.9.11","@csstools/css-color-parser":"4.1.8","@silvia-odwyer/photon-node":"0.3.4","@smithy/fetch-http-handler":"5.6.11","buffer-equal-constant-time":"1.0.1","@code-yeongyu/senpi-codemode":"2026.8.20","@earendil-works/pi-telemetry":"npm:@code-yeongyu/senpi-telemetry@2026.8.20","@aws-sdk/middleware-websocket":"3.972.43","@earendil-works/pi-agent-core":"npm:@code-yeongyu/senpi-agent-core@2026.8.20","@anthropic-ai/claude-agent-sdk":"0.3.220","@asamuzakjp/generational-cache":"1.0.1","@aws-sdk/client-bedrock-runtime":"3.1095.0","@aws-sdk/middleware-eventstream":"3.972.25","@csstools/css-parser-algorithms":"4.0.0","@aws-sdk/credential-provider-env":"3.972.61","@aws-sdk/credential-provider-ini":"3.973.6","@aws-sdk/credential-provider-sso":"3.973.5","@smithy/credential-provider-imds":"4.4.14","is-potential-custom-element-name":"1.0.1","@aws-sdk/credential-provider-http":"3.972.63","@aws-sdk/credential-provider-node":"3.972.72","@aws-sdk/eventstream-handler-node":"3.972.30","@aws-sdk/credential-provider-login":"3.972.68","@aws-sdk/signature-v4-multi-region":"3.996.42","@opentelemetry/semantic-conventions":"1.41.1","@aws-sdk/credential-provider-process":"3.972.61","@csstools/css-syntax-patches-for-csstree":"1.1.5","@aws-sdk/credential-provider-web-identity":"3.972.67"},"_hasShrinkwrap":false,"devDependencies":{"shx":"0.4.0","vitest":"4.1.10","@types/ms":"2.1.0","@types/ws":"8.18.1","typescript":"7.0.2","@types/node":"26.1.1","@types/jsdom":"28.0.3","@types/semver":"7.7.1","@types/turndown":"5.0.6","@types/picomatch":"4.0.3","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@anthropic-ai/claude-agent-sdk","@anthropic-ai/sdk","@asamuzakjp/css-color","@asamuzakjp/dom-selector","@asamuzakjp/generational-cache","@asamuzakjp/nwsapi","@aws-sdk/client-bedrock-runtime","@aws-sdk/core","@aws-sdk/credential-provider-env","@aws-sdk/credential-provider-http","@aws-sdk/credential-provider-ini","@aws-sdk/credential-provider-login","@aws-sdk/credential-provider-node","@aws-sdk/credential-provider-process","@aws-sdk/credential-provider-sso","@aws-sdk/credential-provider-web-identity","@aws-sdk/eventstream-handler-node","@aws-sdk/middleware-eventstream","@aws-sdk/middleware-websocket","@aws-sdk/nested-clients","@aws-sdk/signature-v4-multi-region","@aws-sdk/token-providers","@aws-sdk/types","@aws-sdk/xml-builder","@aws/lambda-invoke-store","@babel/runtime","@bramus/specificity","@bufbuild/protobuf","@code-yeongyu/senpi-codemode","@csstools/color-helpers","@csstools/css-calc","@csstools/css-color-parser","@csstools/css-parser-algorithms","@csstools/css-syntax-patches-for-csstree","@csstools/css-tokenizer","@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-pty","@earendil-works/pi-telemetry","@earendil-works/pi-tui","@exodus/bytes","@hono/node-server","@mariozechner/clipboard","@mistralai/mistralai","@mixmark-io/domino","@modelcontextprotocol/sdk","@mozilla/readability","@opentelemetry/api","@opentelemetry/semantic-conventions","@protobufjs/aspromise","@protobufjs/base64","@protobufjs/codegen","@protobufjs/eventemitter","@protobufjs/fetch","@protobufjs/float","@protobufjs/path","@protobufjs/pool","@protobufjs/utf8","@silvia-odwyer/photon-node","@smithy/core","@smithy/credential-provider-imds","@smithy/fetch-http-handler","@smithy/node-http-handler","@smithy/signature-v4","@smithy/types","@types/node","@xterm/headless","accepts","agent-base","ajv","ajv-formats","balanced-match","base64-js","bidi-js","bignumber.js","body-parser","bowser","brace-expansion","buffer-equal-constant-time","bytes","call-bind-apply-helpers","call-bound","chalk","content-disposition","content-type","cookie","cookie-signature","cors","cross-spawn","css-tree","data-uri-to-buffer","data-urls","debug","decimal.js","depd","diff","dunder-proto","ecdsa-sig-formatter","ee-first","encodeurl","entities","es-define-property","es-errors","es-object-atoms","escape-html","etag","eventsource","eventsource-parser","express","express-rate-limit","extend","fast-deep-equal","fast-uri","fetch-blob","finalhandler","formdata-polyfill","forwarded","fresh","function-bind","gaxios","gcp-metadata","get-east-asian-width","get-intrinsic","get-proto","glob","google-auth-library","google-logging-utils","gopd","graceful-fs","grok-mermaid","has-symbols","hasown","highlight.js","hono","hosted-git-info","html-encoding-sniffer","http-errors","http-proxy-agent","https-proxy-agent","iconv-lite","ignore","inherits","ip-address","ipaddr.js","is-potential-custom-element-name","is-promise","isexe","jiti","jose","jsdom","json-bigint","json-schema-to-ts","json-schema-traverse","json-schema-typed","jwa","jws","long","lru-cache","marked","math-intrinsics","mdn-data","media-typer","merge-descriptors","mime-db","mime-types","minimatch","minipass","ms","negotiator","node-domexception","node-fetch","object-assign","object-inspect","on-finished","once","openai","p-retry","parse5","parseurl","partial-json","path-key","path-scurry","path-to-regexp","picomatch","pkce-challenge","proper-lockfile","protobufjs","proxy-addr","proxy-agent-negotiate","proxy-from-env","punycode","qs","range-parser","raw-body","require-from-string","retry","router","safe-buffer","safer-buffer","saxes","semver","send","serve-static","setprototypeof","shebang-command","shebang-regex","side-channel","side-channel-list","side-channel-map","side-channel-weakmap","signal-exit","source-map-js","statuses","symbol-tree","tldts","tldts-core","toidentifier","tough-cookie","tr46","ts-algebra","tslib","turndown","type-is","typebox","undici","unpipe","vary","w3c-xmlserializer","web-streams-polyfill","webidl-conversions","whatwg-mimetype","whatwg-url","which","wrappy","ws","xml-name-validator","xmlchars","yaml","zod","zod-to-json-schema"],"optionalDependencies":{"@mariozechner/clipboard":"0.3.9","@mariozechner/clipboard-darwin-x64":"0.3.9","@mariozechner/clipboard-darwin-arm64":"0.3.9","@mariozechner/clipboard-linux-x64-gnu":"0.3.9","@mariozechner/clipboard-linux-x64-musl":"0.3.9","@mariozechner/clipboard-win32-x64-msvc":"0.3.9","@mariozechner/clipboard-linux-arm64-gnu":"0.3.9","@anthropic-ai/claude-agent-sdk-linux-x64":"0.3.220","@anthropic-ai/claude-agent-sdk-win32-x64":"0.3.220","@mariozechner/clipboard-darwin-universal":"0.3.9","@mariozechner/clipboard-linux-arm64-musl":"0.3.9","@mariozechner/clipboard-win32-arm64-msvc":"0.3.9","@anthropic-ai/claude-agent-sdk-darwin-x64":"0.3.220","@mariozechner/clipboard-linux-riscv64-gnu":"0.3.9","@anthropic-ai/claude-agent-sdk-linux-arm64":"0.3.220","@anthropic-ai/claude-agent-sdk-win32-arm64":"0.3.220","@anthropic-ai/claude-agent-sdk-darwin-arm64":"0.3.220","@anthropic-ai/claude-agent-sdk-linux-x64-musl":"0.3.220","@anthropic-ai/claude-agent-sdk-linux-arm64-musl":"0.3.220"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.8.20_1787240117735_0.8190387558454681","host":"s3://npm-registry-packages-npm-production"}},"2026.8.20-2":{"name":"@code-yeongyu/senpi","version":"2026.8.20-2","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.8.20-2","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"senpi":"dist/cli.js"},"dist":{"shasum":"813cbf47435e46d2cf79b3e220a9302030bad717","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.8.20-2.tgz","fileCount":31682,"integrity":"sha512-lLQfCYwgBBQdC3sEBA2v/WLerfQ8+U8irkUosTEZlwsf91OXmGu/uau8jwfqmZt9pjm1REe8frLn9lBirEEARQ==","signatures":[{"sig":"MEUCIQDkIJ8WS/O+YDEuLNyUoLyl6foB6S6FJdzmEkkNPD0EwAIgSGKS4lJY5kn/5yYV69Uvr/rqkrAma3wlQv11JKa80sA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.8.20-2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":173607550},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.js"},"./rpc-entry":{"import":"./dist/rpc-entry.js"}},"scripts":{"dev":"tsc -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsc -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js dist/rpc-entry.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/","build:binary":"npm --prefix ../tui run build && npm --prefix ../telemetry run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm --prefix ../protocol run build && npm --prefix ../client run build && npm --prefix ../pty run build && npm run build && node ../../scripts/prepare-bun-compile-assets.mjs && bun build --compile --compile-autoload-package-json --no-compile-autoload-dotenv --no-compile-autoload-bunfig --minify --keep-names ./dist/bun/cli.js ./src/utils/image-resize-worker.ts ../../node_modules/jsdom/lib/jsdom/living/xhr/xhr-sync-worker.js --outfile dist/pi && npm run copy-binary-assets","qa:app-server":"node scripts/qa-app-server/run-all.mjs","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/export-html/ && shx cp -r docs dist/ && shx cp -r examples dist/ && shx mkdir -p dist/node_modules && shx cp -r ../../node_modules/css-tree ../../node_modules/mdn-data ../../node_modules/source-map-js dist/node_modules/ && node ../../scripts/copy-codemode-sidecar.mjs dist && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/ && shx mkdir -p dist/native/darwin dist/native/win32 && shx cp -r ../../packages/tui/native/darwin/prebuilds dist/native/darwin/ && shx cp -r ../../packages/tui/native/win32/prebuilds dist/native/win32/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/ && node ../../scripts/copy-pty-native.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ea548fc8-dac4-4dec-a439-6f4fa3870309"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.2"},"rimraf":"6.1.2","protobufjs":"7.6.5","@hono/node-server":"2.0.10"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.17.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.19.0","dependencies":{"ms":"2.1.3","qs":"6.15.3","ws":"8.21.1","ajv":"8.20.0","jwa":"2.0.1","jws":"4.0.1","zod":"4.4.3","cors":"2.8.6","depd":"2.0.0","diff":"9.0.0","etag":"1.8.1","glob":"13.0.6","gopd":"1.2.0","hono":"4.12.27","jiti":"2.7.0","jose":"6.2.3","long":"5.3.2","once":"1.4.0","send":"1.2.1","tr46":"6.0.0","vary":"1.1.2","yaml":"2.9.0","bytes":"3.1.2","chalk":"6.0.0","debug":"4.4.3","fresh":"2.0.0","isexe":"2.0.0","jsdom":"29.1.1","retry":"0.13.1","saxes":"6.0.0","tldts":"7.4.3","tslib":"2.8.1","which":"2.0.2","bowser":"2.14.1","cookie":"0.7.2","extend":"3.0.2","gaxios":"7.1.4","hasown":"2.0.3","ignore":"7.0.6","marked":"18.0.7","openai":"6.26.0","parse5":"8.0.1","router":"2.2.0","semver":"7.8.5","undici":"8.9.0","unpipe":"1.0.0","wrappy":"1.0.2","accepts":"2.0.0","bidi-js":"1.0.3","express":"5.2.1","mime-db":"1.54.0","p-retry":"4.6.2","type-is":"2.1.0","typebox":"1.3.8","css-tree":"3.2.1","ee-first":"1.1.1","entities":"8.0.0","fast-uri":"3.1.4","inherits":"2.0.4","mdn-data":"2.27.1","minipass":"7.1.3","parseurl":"1.3.3","path-key":"3.1.1","punycode":"2.3.1","raw-body":"3.0.2","statuses":"2.0.2","turndown":"7.2.4","xmlchars":"2.2.0","base64-js":"1.5.1","data-urls":"7.0.0","encodeurl":"2.0.0","es-errors":"1.3.0","forwarded":"0.2.0","get-proto":"1.0.1","ipaddr.js":"1.9.1","lru-cache":"11.4.0","minimatch":"10.2.5","picomatch":"4.0.5","agent-base":"7.1.4","call-bound":"1.0.4","decimal.js":"10.6.0","fetch-blob":"3.2.0","iconv-lite":"0.7.3","ip-address":"10.2.0","is-promise":"4.0.0","mime-types":"3.0.2","negotiator":"1.0.0","node-fetch":"3.3.2","protobufjs":"7.6.5","proxy-addr":"2.0.7","tldts-core":"7.4.3","ts-algebra":"2.0.0","whatwg-url":"16.0.1","@types/node":"26.2.0","ajv-formats":"3.0.1","body-parser":"2.3.0","cross-spawn":"7.0.6","escape-html":"1.0.3","eventsource":"3.0.7","graceful-fs":"4.2.11","has-symbols":"1.1.0","http-errors":"2.0.1","json-bigint":"1.0.0","media-typer":"1.1.0","on-finished":"2.4.1","path-scurry":"2.0.2","safe-buffer":"5.2.1","signal-exit":"3.0.7","symbol-tree":"3.2.4","@smithy/core":"3.33.2","bignumber.js":"9.3.1","content-type":"1.0.5","dunder-proto":"1.0.1","finalhandler":"2.1.1","gcp-metadata":"8.1.2","grok-mermaid":"0.2.2","highlight.js":"11.11.1","partial-json":"0.1.7","range-parser":"1.3.0","safer-buffer":"2.1.2","serve-static":"2.2.1","side-channel":"1.1.1","toidentifier":"1.0.1","tough-cookie":"6.0.1","@aws-sdk/core":"3.977.8","@exodus/bytes":"1.15.1","@smithy/types":"4.17.2","function-bind":"1.1.2","get-intrinsic":"1.3.0","object-assign":"4.1.1","shebang-regex":"3.0.0","source-map-js":"1.2.1","@aws-sdk/types":"3.974.4","@babel/runtime":"7.29.2","balanced-match":"4.0.4","object-inspect":"1.13.4","path-to-regexp":"8.4.2","pkce-challenge":"5.0.1","proxy-from-env":"2.1.0","setprototypeof":"1.2.0","@xterm/headless":"6.0.0","brace-expansion":"5.0.8","es-object-atoms":"1.1.2","fast-deep-equal":"3.1.3","hosted-git-info":"10.1.1","math-intrinsics":"1.1.0","proper-lockfile":"4.1.2","shebang-command":"2.0.0","whatwg-mimetype":"5.0.0","@protobufjs/path":"1.1.2","@protobufjs/pool":"1.1.0","@protobufjs/utf8":"1.1.1","cookie-signature":"1.2.2","http-proxy-agent":"9.1.0","side-channel-map":"1.0.1","@anthropic-ai/sdk":"0.91.1","@hono/node-server":"2.0.10","@protobufjs/fetch":"1.1.1","@protobufjs/float":"1.0.2","formdata-polyfill":"4.0.10","https-proxy-agent":"9.1.0","json-schema-to-ts":"3.1.1","json-schema-typed":"8.0.2","merge-descriptors":"2.0.0","node-domexception":"1.0.0","side-channel-list":"1.0.1","w3c-xmlserializer":"5.0.0","@asamuzakjp/nwsapi":"2.3.9","@bufbuild/protobuf":"2.14.0","@csstools/css-calc":"3.2.1","@mixmark-io/domino":"2.2.0","@opentelemetry/api":"1.9.1","@protobufjs/base64":"1.1.2","data-uri-to-buffer":"4.0.1","es-define-property":"1.0.1","eventsource-parser":"3.1.0","express-rate-limit":"8.5.2","webidl-conversions":"8.0.1","xml-name-validator":"5.0.0","zod-to-json-schema":"3.25.2","@bramus/specificity":"2.4.2","@protobufjs/codegen":"2.0.5","content-disposition":"1.1.0","ecdsa-sig-formatter":"1.0.11","google-auth-library":"10.6.2","require-from-string":"2.0.2","@aws-sdk/xml-builder":"3.972.39","@mistralai/mistralai":"2.5.0","@mozilla/readability":"0.6.0","@smithy/signature-v4":"5.7.2","get-east-asian-width":"1.6.0","google-logging-utils":"1.1.3","json-schema-traverse":"1.0.0","side-channel-weakmap":"1.0.2","web-streams-polyfill":"3.3.3","@asamuzakjp/css-color":"5.1.11","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.8.20-2","@protobufjs/aspromise":"1.1.2","html-encoding-sniffer":"6.0.0","proxy-agent-negotiate":"1.1.0","@earendil-works/pi-pty":"npm:@code-yeongyu/senpi-pty@2026.8.20-2","@earendil-works/pi-tui":"npm:@code-yeongyu/senpi-tui@2026.8.20-2","@aws-sdk/nested-clients":"3.997.43","@csstools/color-helpers":"6.0.2","@csstools/css-tokenizer":"4.0.0","@mariozechner/clipboard":"*","call-bind-apply-helpers":"1.0.2","@asamuzakjp/dom-selector":"7.1.1","@aws-sdk/token-providers":"3.1112.0","@aws/lambda-invoke-store":"0.3.0","@protobufjs/eventemitter":"1.1.1","@modelcontextprotocol/sdk":"1.30.0","@smithy/node-http-handler":"4.11.2","@csstools/css-color-parser":"4.1.8","@silvia-odwyer/photon-node":"0.3.4","@smithy/fetch-http-handler":"5.7.2","buffer-equal-constant-time":"1.0.1","@code-yeongyu/senpi-codemode":"2026.8.20-2","@earendil-works/pi-telemetry":"npm:@code-yeongyu/senpi-telemetry@2026.8.20-2","@aws-sdk/middleware-websocket":"3.972.51","@earendil-works/pi-agent-core":"npm:@code-yeongyu/senpi-agent-core@2026.8.20-2","@anthropic-ai/claude-agent-sdk":"0.3.220","@asamuzakjp/generational-cache":"1.0.1","@aws-sdk/client-bedrock-runtime":"3.1112.0","@aws-sdk/middleware-eventstream":"3.972.28","@csstools/css-parser-algorithms":"4.0.0","@aws-sdk/credential-provider-env":"3.972.69","@aws-sdk/credential-provider-ini":"3.973.14","@aws-sdk/credential-provider-sso":"3.973.13","@smithy/credential-provider-imds":"4.5.2","is-potential-custom-element-name":"1.0.1","@aws-sdk/credential-provider-http":"3.972.71","@aws-sdk/credential-provider-node":"3.972.80","@aws-sdk/eventstream-handler-node":"3.972.33","@aws-sdk/credential-provider-login":"3.972.76","@aws-sdk/signature-v4-multi-region":"3.996.45","@opentelemetry/semantic-conventions":"1.41.1","@aws-sdk/credential-provider-process":"3.972.69","@csstools/css-syntax-patches-for-csstree":"1.1.5","@aws-sdk/credential-provider-web-identity":"3.972.75"},"_hasShrinkwrap":false,"devDependencies":{"shx":"0.4.0","vitest":"4.1.11","@types/ms":"2.1.0","@types/ws":"8.18.1","typescript":"7.0.2","@types/node":"26.2.0","@types/jsdom":"28.0.3","@types/semver":"7.8.0","@types/turndown":"5.0.6","@types/picomatch":"4.0.3","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@anthropic-ai/claude-agent-sdk","@anthropic-ai/sdk","@asamuzakjp/css-color","@asamuzakjp/dom-selector","@asamuzakjp/generational-cache","@asamuzakjp/nwsapi","@aws-sdk/client-bedrock-runtime","@aws-sdk/core","@aws-sdk/credential-provider-env","@aws-sdk/credential-provider-http","@aws-sdk/credential-provider-ini","@aws-sdk/credential-provider-login","@aws-sdk/credential-provider-node","@aws-sdk/credential-provider-process","@aws-sdk/credential-provider-sso","@aws-sdk/credential-provider-web-identity","@aws-sdk/eventstream-handler-node","@aws-sdk/middleware-eventstream","@aws-sdk/middleware-websocket","@aws-sdk/nested-clients","@aws-sdk/signature-v4-multi-region","@aws-sdk/token-providers","@aws-sdk/types","@aws-sdk/xml-builder","@aws/lambda-invoke-store","@babel/runtime","@bramus/specificity","@bufbuild/protobuf","@code-yeongyu/senpi-codemode","@csstools/color-helpers","@csstools/css-calc","@csstools/css-color-parser","@csstools/css-parser-algorithms","@csstools/css-syntax-patches-for-csstree","@csstools/css-tokenizer","@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-pty","@earendil-works/pi-telemetry","@earendil-works/pi-tui","@exodus/bytes","@hono/node-server","@mariozechner/clipboard","@mistralai/mistralai","@mixmark-io/domino","@modelcontextprotocol/sdk","@mozilla/readability","@opentelemetry/api","@opentelemetry/semantic-conventions","@protobufjs/aspromise","@protobufjs/base64","@protobufjs/codegen","@protobufjs/eventemitter","@protobufjs/fetch","@protobufjs/float","@protobufjs/path","@protobufjs/pool","@protobufjs/utf8","@silvia-odwyer/photon-node","@smithy/core","@smithy/credential-provider-imds","@smithy/fetch-http-handler","@smithy/node-http-handler","@smithy/signature-v4","@smithy/types","@types/node","@xterm/headless","accepts","agent-base","ajv","ajv-formats","balanced-match","base64-js","bidi-js","bignumber.js","body-parser","bowser","brace-expansion","buffer-equal-constant-time","bytes","call-bind-apply-helpers","call-bound","chalk","content-disposition","content-type","cookie","cookie-signature","cors","cross-spawn","css-tree","data-uri-to-buffer","data-urls","debug","decimal.js","depd","diff","dunder-proto","ecdsa-sig-formatter","ee-first","encodeurl","entities","es-define-property","es-errors","es-object-atoms","escape-html","etag","eventsource","eventsource-parser","express","express-rate-limit","extend","fast-deep-equal","fast-uri","fetch-blob","finalhandler","formdata-polyfill","forwarded","fresh","function-bind","gaxios","gcp-metadata","get-east-asian-width","get-intrinsic","get-proto","glob","google-auth-library","google-logging-utils","gopd","graceful-fs","grok-mermaid","has-symbols","hasown","highlight.js","hono","hosted-git-info","html-encoding-sniffer","http-errors","http-proxy-agent","https-proxy-agent","iconv-lite","ignore","inherits","ip-address","ipaddr.js","is-potential-custom-element-name","is-promise","isexe","jiti","jose","jsdom","json-bigint","json-schema-to-ts","json-schema-traverse","json-schema-typed","jwa","jws","long","lru-cache","marked","math-intrinsics","mdn-data","media-typer","merge-descriptors","mime-db","mime-types","minimatch","minipass","ms","negotiator","node-domexception","node-fetch","object-assign","object-inspect","on-finished","once","openai","p-retry","parse5","parseurl","partial-json","path-key","path-scurry","path-to-regexp","picomatch","pkce-challenge","proper-lockfile","protobufjs","proxy-addr","proxy-agent-negotiate","proxy-from-env","punycode","qs","range-parser","raw-body","require-from-string","retry","router","safe-buffer","safer-buffer","saxes","semver","send","serve-static","setprototypeof","shebang-command","shebang-regex","side-channel","side-channel-list","side-channel-map","side-channel-weakmap","signal-exit","source-map-js","statuses","symbol-tree","tldts","tldts-core","toidentifier","tough-cookie","tr46","ts-algebra","tslib","turndown","type-is","typebox","undici","unpipe","vary","w3c-xmlserializer","web-streams-polyfill","webidl-conversions","whatwg-mimetype","whatwg-url","which","wrappy","ws","xml-name-validator","xmlchars","yaml","zod","zod-to-json-schema"],"optionalDependencies":{"@mariozechner/clipboard":"0.3.9","@mariozechner/clipboard-darwin-x64":"0.3.9","@mariozechner/clipboard-darwin-arm64":"0.3.9","@mariozechner/clipboard-linux-x64-gnu":"0.3.9","@mariozechner/clipboard-linux-x64-musl":"0.3.9","@mariozechner/clipboard-win32-x64-msvc":"0.3.9","@mariozechner/clipboard-linux-arm64-gnu":"0.3.9","@anthropic-ai/claude-agent-sdk-linux-x64":"0.3.220","@anthropic-ai/claude-agent-sdk-win32-x64":"0.3.220","@mariozechner/clipboard-darwin-universal":"0.3.9","@mariozechner/clipboard-linux-arm64-musl":"0.3.9","@mariozechner/clipboard-win32-arm64-msvc":"0.3.9","@anthropic-ai/claude-agent-sdk-darwin-x64":"0.3.220","@mariozechner/clipboard-linux-riscv64-gnu":"0.3.9","@anthropic-ai/claude-agent-sdk-linux-arm64":"0.3.220","@anthropic-ai/claude-agent-sdk-win32-arm64":"0.3.220","@anthropic-ai/claude-agent-sdk-darwin-arm64":"0.3.220","@anthropic-ai/claude-agent-sdk-linux-x64-musl":"0.3.220","@anthropic-ai/claude-agent-sdk-linux-arm64-musl":"0.3.220"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.8.20-2_1787241745367_0.8627467364004717","host":"s3://npm-registry-packages-npm-production"}},"2026.8.21":{"name":"@code-yeongyu/senpi","version":"2026.8.21","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.8.21","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"senpi":"dist/cli.js"},"dist":{"shasum":"9762ea52b6d289a174172fd0e2b4e1a0c65bf2b5","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.8.21.tgz","fileCount":23933,"integrity":"sha512-GJ80DIhcrsHGBUlajjJ1h9nmYsKyzKD5DwhXzKrJiZWTNpvrP6dvIeB81wpgcUmlM3zYhiW/7Dx1rE1MbhmUVQ==","signatures":[{"sig":"MEUCIQC7xLvX2xJKJ2dgxJCZxGef9QL+zSobURF4B4c0XeMHBgIgZs3aMK5dfd46x8o9o7ibvRPIsFp4fEMoGhRmsXRe9Xs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.8.21","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":166125952},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.js"},"./rpc-entry":{"import":"./dist/rpc-entry.js"}},"scripts":{"dev":"tsc -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsc -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js dist/rpc-entry.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/","build:binary":"npm --prefix ../tui run build && npm --prefix ../telemetry run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm --prefix ../protocol run build && npm --prefix ../client run build && npm --prefix ../pty run build && npm run build && node ../../scripts/prepare-bun-compile-assets.mjs && bun build --compile --compile-autoload-package-json --no-compile-autoload-dotenv --no-compile-autoload-bunfig --minify --keep-names ./dist/bun/cli.js ./src/utils/image-resize-worker.ts ../../node_modules/jsdom/lib/jsdom/living/xhr/xhr-sync-worker.js --outfile dist/pi && npm run copy-binary-assets","qa:app-server":"node scripts/qa-app-server/run-all.mjs","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/export-html/ && shx cp -r docs dist/ && shx cp -r examples dist/ && shx mkdir -p dist/node_modules && shx cp -r ../../node_modules/css-tree ../../node_modules/mdn-data ../../node_modules/source-map-js dist/node_modules/ && node ../../scripts/copy-codemode-sidecar.mjs dist && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/ && shx mkdir -p dist/native/darwin dist/native/win32 && shx cp -r ../../packages/tui/native/darwin/prebuilds dist/native/darwin/ && shx cp -r ../../packages/tui/native/win32/prebuilds dist/native/win32/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/ && node ../../scripts/copy-pty-native.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ea548fc8-dac4-4dec-a439-6f4fa3870309"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.3"},"rimraf":"6.1.3","protobufjs":"7.6.5","@hono/node-server":"2.1.1"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.17.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.19.0","dependencies":{"ms":"2.1.3","qs":"6.15.3","ws":"8.21.3","ajv":"8.20.0","jwa":"2.0.1","jws":"4.0.1","zod":"4.4.3","cors":"2.8.6","depd":"2.0.0","diff":"9.0.0","etag":"1.8.1","glob":"13.0.6","gopd":"1.2.0","hono":"4.12.27","jiti":"2.7.0","jose":"6.2.3","long":"5.3.2","once":"1.4.0","send":"1.2.1","tr46":"6.0.0","vary":"1.1.2","yaml":"2.9.0","bytes":"3.1.2","chalk":"6.0.0","debug":"4.4.3","fresh":"2.0.0","isexe":"2.0.0","jsdom":"30.0.1","retry":"0.13.1","saxes":"6.0.0","tldts":"7.4.10","tslib":"2.8.1","which":"2.0.2","bowser":"2.14.1","cookie":"0.7.2","extend":"3.0.2","gaxios":"7.1.4","hasown":"2.0.3","ignore":"7.0.6","marked":"18.0.10","openai":"6.26.0","parse5":"8.0.1","router":"2.2.0","semver":"7.8.5","undici":"8.10.0","unpipe":"1.0.0","wrappy":"1.0.2","accepts":"2.0.0","bidi-js":"1.0.3","express":"5.2.1","mime-db":"1.54.0","p-retry":"4.6.2","type-is":"2.1.0","typebox":"1.3.16","css-tree":"3.2.1","ee-first":"1.1.1","entities":"8.0.0","fast-uri":"3.1.4","inherits":"2.0.4","mdn-data":"2.27.1","minipass":"7.1.3","parseurl":"1.3.3","path-key":"3.1.1","punycode":"2.3.1","raw-body":"3.0.2","statuses":"2.0.2","turndown":"7.2.4","xmlchars":"2.2.0","base64-js":"1.5.1","data-urls":"7.0.0","encodeurl":"2.0.0","es-errors":"1.3.0","forwarded":"0.2.0","get-proto":"1.0.1","ipaddr.js":"1.9.1","lru-cache":"11.5.2","minimatch":"10.2.6","picomatch":"4.0.5","agent-base":"7.1.4","call-bound":"1.0.4","decimal.js":"10.6.0","fetch-blob":"3.2.0","iconv-lite":"0.7.3","ip-address":"10.2.0","is-promise":"4.0.0","mime-types":"3.0.2","negotiator":"1.0.0","node-fetch":"3.3.2","protobufjs":"7.6.5","proxy-addr":"2.0.7","tldts-core":"7.4.10","ts-algebra":"2.0.0","whatwg-url":"16.0.1","@types/node":"26.2.0","ajv-formats":"3.0.1","body-parser":"2.3.0","cross-spawn":"7.0.6","escape-html":"1.0.3","eventsource":"3.0.7","graceful-fs":"4.2.11","has-symbols":"1.1.0","http-errors":"2.0.1","json-bigint":"1.0.0","media-typer":"1.1.0","on-finished":"2.4.1","path-scurry":"2.0.2","safe-buffer":"5.2.1","signal-exit":"3.0.7","symbol-tree":"3.2.4","@smithy/core":"3.33.3","bignumber.js":"9.3.1","content-type":"1.0.5","dunder-proto":"1.0.1","finalhandler":"2.1.1","gcp-metadata":"8.1.2","grok-mermaid":"0.2.3","highlight.js":"11.12.0","partial-json":"0.1.7","range-parser":"1.3.0","safer-buffer":"2.1.2","serve-static":"2.2.1","side-channel":"1.1.1","toidentifier":"1.0.1","tough-cookie":"6.0.2","@aws-sdk/core":"3.977.8","@exodus/bytes":"1.15.1","@google/genai":"2.18.0","@smithy/types":"4.17.2","function-bind":"1.1.2","get-intrinsic":"1.3.0","object-assign":"4.1.1","shebang-regex":"3.0.0","source-map-js":"1.2.1","@aws-sdk/types":"3.974.4","@babel/runtime":"7.29.2","balanced-match":"4.0.4","object-inspect":"1.13.4","path-to-regexp":"8.4.2","pkce-challenge":"5.0.1","proxy-from-env":"2.1.0","setprototypeof":"1.2.0","@xterm/headless":"6.0.0","brace-expansion":"5.0.9","es-object-atoms":"1.1.2","fast-deep-equal":"3.1.3","hosted-git-info":"10.1.1","math-intrinsics":"1.1.0","proper-lockfile":"4.1.2","shebang-command":"2.0.0","whatwg-mimetype":"5.0.0","@protobufjs/path":"1.1.2","@protobufjs/pool":"1.1.0","@protobufjs/utf8":"1.1.1","cookie-signature":"1.2.2","http-proxy-agent":"9.1.0","side-channel-map":"1.0.1","@anthropic-ai/sdk":"0.91.1","@hono/node-server":"2.1.1","@protobufjs/fetch":"1.1.1","@protobufjs/float":"1.0.2","formdata-polyfill":"4.0.10","https-proxy-agent":"9.1.0","json-schema-to-ts":"3.1.1","json-schema-typed":"8.0.2","merge-descriptors":"2.0.0","node-domexception":"1.0.0","side-channel-list":"1.0.1","w3c-xmlserializer":"5.0.0","@bufbuild/protobuf":"2.14.0","@csstools/css-calc":"3.3.0","@mixmark-io/domino":"2.2.0","@opentelemetry/api":"1.9.1","@protobufjs/base64":"1.1.2","data-uri-to-buffer":"4.0.1","es-define-property":"1.0.1","eventsource-parser":"3.1.0","express-rate-limit":"8.5.2","webidl-conversions":"8.0.1","xml-name-validator":"5.0.0","zod-to-json-schema":"3.25.2","@bramus/specificity":"2.4.2","@protobufjs/codegen":"2.0.5","content-disposition":"1.1.0","ecdsa-sig-formatter":"1.0.11","google-auth-library":"10.6.2","require-from-string":"2.0.2","@aws-sdk/xml-builder":"3.972.39","@mozilla/readability":"0.6.0","@smithy/signature-v4":"5.7.2","get-east-asian-width":"1.6.0","google-logging-utils":"1.1.3","json-schema-traverse":"1.0.0","side-channel-weakmap":"1.0.2","web-streams-polyfill":"3.3.3","@asamuzakjp/css-color":"6.0.7","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.8.21","@protobufjs/aspromise":"1.1.2","html-encoding-sniffer":"6.0.0","proxy-agent-negotiate":"1.1.0","@earendil-works/pi-pty":"npm:@code-yeongyu/senpi-pty@2026.8.21","@earendil-works/pi-tui":"npm:@code-yeongyu/senpi-tui@2026.8.21","@aws-sdk/nested-clients":"3.997.43","@csstools/color-helpers":"6.1.1","@csstools/css-tokenizer":"4.0.0","@mariozechner/clipboard":"*","call-bind-apply-helpers":"1.0.2","@asamuzakjp/dom-selector":"8.3.2","@aws-sdk/token-providers":"3.1115.0","@aws/lambda-invoke-store":"0.3.0","@protobufjs/eventemitter":"1.1.1","@modelcontextprotocol/sdk":"1.30.0","@smithy/node-http-handler":"4.11.3","@csstools/css-color-parser":"4.2.0","@silvia-odwyer/photon-node":"0.3.4","@smithy/fetch-http-handler":"5.7.2","buffer-equal-constant-time":"1.0.1","@code-yeongyu/senpi-codemode":"2026.8.21","@earendil-works/pi-telemetry":"npm:@code-yeongyu/senpi-telemetry@2026.8.21","@aws-sdk/middleware-websocket":"3.972.51","@earendil-works/pi-agent-core":"npm:@code-yeongyu/senpi-agent-core@2026.8.21","@anthropic-ai/claude-agent-sdk":"0.3.238","@aws-sdk/client-bedrock-runtime":"3.1115.0","@aws-sdk/middleware-eventstream":"3.972.28","@csstools/css-parser-algorithms":"4.0.0","@aws-sdk/credential-provider-env":"3.972.69","@aws-sdk/credential-provider-ini":"3.973.14","@aws-sdk/credential-provider-sso":"3.973.13","@smithy/credential-provider-imds":"4.5.2","is-potential-custom-element-name":"1.0.1","@aws-sdk/credential-provider-http":"3.972.71","@aws-sdk/credential-provider-node":"3.972.80","@aws-sdk/eventstream-handler-node":"3.972.33","@aws-sdk/credential-provider-login":"3.972.76","@aws-sdk/signature-v4-multi-region":"3.996.45","@aws-sdk/credential-provider-process":"3.972.69","@csstools/css-syntax-patches-for-csstree":"1.1.8","@aws-sdk/credential-provider-web-identity":"3.972.75"},"_hasShrinkwrap":false,"devDependencies":{"shx":"0.4.0","vitest":"4.1.11","@types/ws":"8.18.1","typescript":"7.0.2","@types/node":"26.2.0","@types/jsdom":"30.0.0","@types/semver":"7.8.0","@types/turndown":"5.0.6","@types/picomatch":"4.0.3","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@anthropic-ai/claude-agent-sdk","@anthropic-ai/sdk","@asamuzakjp/css-color","@asamuzakjp/dom-selector","@aws-sdk/client-bedrock-runtime","@aws-sdk/core","@aws-sdk/credential-provider-env","@aws-sdk/credential-provider-http","@aws-sdk/credential-provider-ini","@aws-sdk/credential-provider-login","@aws-sdk/credential-provider-node","@aws-sdk/credential-provider-process","@aws-sdk/credential-provider-sso","@aws-sdk/credential-provider-web-identity","@aws-sdk/eventstream-handler-node","@aws-sdk/middleware-eventstream","@aws-sdk/middleware-websocket","@aws-sdk/nested-clients","@aws-sdk/signature-v4-multi-region","@aws-sdk/token-providers","@aws-sdk/types","@aws-sdk/xml-builder","@aws/lambda-invoke-store","@babel/runtime","@bramus/specificity","@bufbuild/protobuf","@code-yeongyu/senpi-codemode","@csstools/color-helpers","@csstools/css-calc","@csstools/css-color-parser","@csstools/css-parser-algorithms","@csstools/css-syntax-patches-for-csstree","@csstools/css-tokenizer","@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-pty","@earendil-works/pi-telemetry","@earendil-works/pi-tui","@exodus/bytes","@google/genai","@hono/node-server","@mariozechner/clipboard","@mixmark-io/domino","@modelcontextprotocol/sdk","@mozilla/readability","@opentelemetry/api","@protobufjs/aspromise","@protobufjs/base64","@protobufjs/codegen","@protobufjs/eventemitter","@protobufjs/fetch","@protobufjs/float","@protobufjs/path","@protobufjs/pool","@protobufjs/utf8","@silvia-odwyer/photon-node","@smithy/core","@smithy/credential-provider-imds","@smithy/fetch-http-handler","@smithy/node-http-handler","@smithy/signature-v4","@smithy/types","@types/node","@xterm/headless","accepts","agent-base","ajv","ajv-formats","balanced-match","base64-js","bidi-js","bignumber.js","body-parser","bowser","brace-expansion","buffer-equal-constant-time","bytes","call-bind-apply-helpers","call-bound","chalk","content-disposition","content-type","cookie","cookie-signature","cors","cross-spawn","css-tree","data-uri-to-buffer","data-urls","debug","decimal.js","depd","diff","dunder-proto","ecdsa-sig-formatter","ee-first","encodeurl","entities","es-define-property","es-errors","es-object-atoms","escape-html","etag","eventsource","eventsource-parser","express","express-rate-limit","extend","fast-deep-equal","fast-uri","fetch-blob","finalhandler","formdata-polyfill","forwarded","fresh","function-bind","gaxios","gcp-metadata","get-east-asian-width","get-intrinsic","get-proto","glob","google-auth-library","google-logging-utils","gopd","graceful-fs","grok-mermaid","has-symbols","hasown","highlight.js","hono","hosted-git-info","html-encoding-sniffer","http-errors","http-proxy-agent","https-proxy-agent","iconv-lite","ignore","inherits","ip-address","ipaddr.js","is-potential-custom-element-name","is-promise","isexe","jiti","jose","jsdom","json-bigint","json-schema-to-ts","json-schema-traverse","json-schema-typed","jwa","jws","long","lru-cache","marked","math-intrinsics","mdn-data","media-typer","merge-descriptors","mime-db","mime-types","minimatch","minipass","ms","negotiator","node-domexception","node-fetch","object-assign","object-inspect","on-finished","once","openai","p-retry","parse5","parseurl","partial-json","path-key","path-scurry","path-to-regexp","picomatch","pkce-challenge","proper-lockfile","protobufjs","proxy-addr","proxy-agent-negotiate","proxy-from-env","punycode","qs","range-parser","raw-body","require-from-string","retry","router","safe-buffer","safer-buffer","saxes","semver","send","serve-static","setprototypeof","shebang-command","shebang-regex","side-channel","side-channel-list","side-channel-map","side-channel-weakmap","signal-exit","source-map-js","statuses","symbol-tree","tldts","tldts-core","toidentifier","tough-cookie","tr46","ts-algebra","tslib","turndown","type-is","typebox","undici","unpipe","vary","w3c-xmlserializer","web-streams-polyfill","webidl-conversions","whatwg-mimetype","whatwg-url","which","wrappy","ws","xml-name-validator","xmlchars","yaml","zod","zod-to-json-schema"],"optionalDependencies":{"@mariozechner/clipboard":"0.3.9","@mariozechner/clipboard-darwin-x64":"0.3.9","@mariozechner/clipboard-darwin-arm64":"0.3.9","@mariozechner/clipboard-linux-x64-gnu":"0.3.9","@mariozechner/clipboard-linux-x64-musl":"0.3.9","@mariozechner/clipboard-win32-x64-msvc":"0.3.9","@mariozechner/clipboard-linux-arm64-gnu":"0.3.9","@anthropic-ai/claude-agent-sdk-linux-x64":"0.3.238","@anthropic-ai/claude-agent-sdk-win32-x64":"0.3.238","@mariozechner/clipboard-darwin-universal":"0.3.9","@mariozechner/clipboard-linux-arm64-musl":"0.3.9","@mariozechner/clipboard-win32-arm64-msvc":"0.3.9","@anthropic-ai/claude-agent-sdk-darwin-x64":"0.3.238","@mariozechner/clipboard-linux-riscv64-gnu":"0.3.9","@anthropic-ai/claude-agent-sdk-linux-arm64":"0.3.238","@anthropic-ai/claude-agent-sdk-win32-arm64":"0.3.238","@anthropic-ai/claude-agent-sdk-darwin-arm64":"0.3.238","@anthropic-ai/claude-agent-sdk-linux-x64-musl":"0.3.238","@anthropic-ai/claude-agent-sdk-linux-arm64-musl":"0.3.238"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.8.21_1787291234626_0.7960280975424963","host":"s3://npm-registry-packages-npm-production"}},"2026.8.21-2":{"name":"@code-yeongyu/senpi","version":"2026.8.21-2","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.8.21-2","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"senpi":"dist/cli.js"},"dist":{"shasum":"74a893baeb109039cab4f537e4c2030d54a5cea0","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.8.21-2.tgz","fileCount":23933,"integrity":"sha512-K4s1TwHKF2NmjKNwlkGNjyDXfQw5BqCSytLHnGehvHQOxJ1qRGfPamXzbXZ/AqcNCfKFQ4oOde1Xz0wM+IKtvg==","signatures":[{"sig":"MEUCIQCS7u3kb5wn/HEb83e9J35J2WnZkyi63YwrBVYqgEn0zgIgf5aSIA5JSFwzkPdyZwleFTuf8IVs8bbb+so5EwcDMPw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.8.21-2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":166141531},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.js"},"./rpc-entry":{"import":"./dist/rpc-entry.js"}},"scripts":{"dev":"tsc -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsc -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js dist/rpc-entry.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/","build:binary":"npm --prefix ../tui run build && npm --prefix ../telemetry run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm --prefix ../protocol run build && npm --prefix ../client run build && npm --prefix ../pty run build && npm run build && node ../../scripts/prepare-bun-compile-assets.mjs && bun build --compile --compile-autoload-package-json --no-compile-autoload-dotenv --no-compile-autoload-bunfig --minify --keep-names ./dist/bun/cli.js ./src/utils/image-resize-worker.ts ../../node_modules/jsdom/lib/jsdom/living/xhr/xhr-sync-worker.js --outfile dist/pi && npm run copy-binary-assets","qa:app-server":"node scripts/qa-app-server/run-all.mjs","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/export-html/ && shx cp -r docs dist/ && shx cp -r examples dist/ && shx mkdir -p dist/node_modules && shx cp -r ../../node_modules/css-tree ../../node_modules/mdn-data ../../node_modules/source-map-js dist/node_modules/ && node ../../scripts/copy-codemode-sidecar.mjs dist && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/ && shx mkdir -p dist/native/darwin dist/native/win32 && shx cp -r ../../packages/tui/native/darwin/prebuilds dist/native/darwin/ && shx cp -r ../../packages/tui/native/win32/prebuilds dist/native/win32/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/ && node ../../scripts/copy-pty-native.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ea548fc8-dac4-4dec-a439-6f4fa3870309"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.3"},"rimraf":"6.1.3","protobufjs":"7.6.5","@hono/node-server":"2.1.1"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.17.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.19.0","dependencies":{"ms":"2.1.3","qs":"6.15.3","ws":"8.21.3","ajv":"8.20.0","jwa":"2.0.1","jws":"4.0.1","zod":"4.4.3","cors":"2.8.6","depd":"2.0.0","diff":"9.0.0","etag":"1.8.1","glob":"13.0.6","gopd":"1.2.0","hono":"4.12.27","jiti":"2.7.0","jose":"6.2.3","long":"5.3.2","once":"1.4.0","send":"1.2.1","tr46":"6.0.0","vary":"1.1.2","yaml":"2.9.0","bytes":"3.1.2","chalk":"6.0.0","debug":"4.4.3","fresh":"2.0.0","isexe":"2.0.0","jsdom":"30.0.1","retry":"0.13.1","saxes":"6.0.0","tldts":"7.4.10","tslib":"2.8.1","which":"2.0.2","bowser":"2.14.1","cookie":"0.7.2","extend":"3.0.2","gaxios":"7.1.4","hasown":"2.0.3","ignore":"7.0.6","marked":"18.0.10","openai":"6.26.0","parse5":"8.0.1","router":"2.2.0","semver":"7.8.5","undici":"8.10.0","unpipe":"1.0.0","wrappy":"1.0.2","accepts":"2.0.0","bidi-js":"1.0.3","express":"5.2.1","mime-db":"1.54.0","p-retry":"4.6.2","type-is":"2.1.0","typebox":"1.3.16","css-tree":"3.2.1","ee-first":"1.1.1","entities":"8.0.0","fast-uri":"3.1.4","inherits":"2.0.4","mdn-data":"2.27.1","minipass":"7.1.3","parseurl":"1.3.3","path-key":"3.1.1","punycode":"2.3.1","raw-body":"3.0.2","statuses":"2.0.2","turndown":"7.2.4","xmlchars":"2.2.0","base64-js":"1.5.1","data-urls":"7.0.0","encodeurl":"2.0.0","es-errors":"1.3.0","forwarded":"0.2.0","get-proto":"1.0.1","ipaddr.js":"1.9.1","lru-cache":"11.5.2","minimatch":"10.2.6","picomatch":"4.0.5","agent-base":"7.1.4","call-bound":"1.0.4","decimal.js":"10.6.0","fetch-blob":"3.2.0","iconv-lite":"0.7.3","ip-address":"10.2.0","is-promise":"4.0.0","mime-types":"3.0.2","negotiator":"1.0.0","node-fetch":"3.3.2","protobufjs":"7.6.5","proxy-addr":"2.0.7","tldts-core":"7.4.10","ts-algebra":"2.0.0","whatwg-url":"16.0.1","@types/node":"26.2.0","ajv-formats":"3.0.1","body-parser":"2.3.0","cross-spawn":"7.0.6","escape-html":"1.0.3","eventsource":"3.0.7","graceful-fs":"4.2.11","has-symbols":"1.1.0","http-errors":"2.0.1","json-bigint":"1.0.0","media-typer":"1.1.0","on-finished":"2.4.1","path-scurry":"2.0.2","safe-buffer":"5.2.1","signal-exit":"3.0.7","symbol-tree":"3.2.4","@smithy/core":"3.33.3","bignumber.js":"9.3.1","content-type":"1.0.5","dunder-proto":"1.0.1","finalhandler":"2.1.1","gcp-metadata":"8.1.2","grok-mermaid":"0.2.3","highlight.js":"11.12.0","partial-json":"0.1.7","range-parser":"1.3.0","safer-buffer":"2.1.2","serve-static":"2.2.1","side-channel":"1.1.1","toidentifier":"1.0.1","tough-cookie":"6.0.2","@aws-sdk/core":"3.977.8","@exodus/bytes":"1.15.1","@google/genai":"2.18.0","@smithy/types":"4.17.2","function-bind":"1.1.2","get-intrinsic":"1.3.0","object-assign":"4.1.1","shebang-regex":"3.0.0","source-map-js":"1.2.1","@aws-sdk/types":"3.974.4","@babel/runtime":"7.29.2","balanced-match":"4.0.4","object-inspect":"1.13.4","path-to-regexp":"8.4.2","pkce-challenge":"5.0.1","proxy-from-env":"2.1.0","setprototypeof":"1.2.0","@xterm/headless":"6.0.0","brace-expansion":"5.0.9","es-object-atoms":"1.1.2","fast-deep-equal":"3.1.3","hosted-git-info":"10.1.1","math-intrinsics":"1.1.0","proper-lockfile":"4.1.2","shebang-command":"2.0.0","whatwg-mimetype":"5.0.0","@protobufjs/path":"1.1.2","@protobufjs/pool":"1.1.0","@protobufjs/utf8":"1.1.1","cookie-signature":"1.2.2","http-proxy-agent":"9.1.0","side-channel-map":"1.0.1","@anthropic-ai/sdk":"0.91.1","@hono/node-server":"2.1.1","@protobufjs/fetch":"1.1.1","@protobufjs/float":"1.0.2","formdata-polyfill":"4.0.10","https-proxy-agent":"9.1.0","json-schema-to-ts":"3.1.1","json-schema-typed":"8.0.2","merge-descriptors":"2.0.0","node-domexception":"1.0.0","side-channel-list":"1.0.1","w3c-xmlserializer":"5.0.0","@bufbuild/protobuf":"2.14.0","@csstools/css-calc":"3.3.0","@mixmark-io/domino":"2.2.0","@opentelemetry/api":"1.9.1","@protobufjs/base64":"1.1.2","data-uri-to-buffer":"4.0.1","es-define-property":"1.0.1","eventsource-parser":"3.1.0","express-rate-limit":"8.5.2","webidl-conversions":"8.0.1","xml-name-validator":"5.0.0","zod-to-json-schema":"3.25.2","@bramus/specificity":"2.4.2","@protobufjs/codegen":"2.0.5","content-disposition":"1.1.0","ecdsa-sig-formatter":"1.0.11","google-auth-library":"10.6.2","require-from-string":"2.0.2","@aws-sdk/xml-builder":"3.972.39","@mozilla/readability":"0.6.0","@smithy/signature-v4":"5.7.2","get-east-asian-width":"1.6.0","google-logging-utils":"1.1.3","json-schema-traverse":"1.0.0","side-channel-weakmap":"1.0.2","web-streams-polyfill":"3.3.3","@asamuzakjp/css-color":"6.0.7","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.8.21-2","@protobufjs/aspromise":"1.1.2","html-encoding-sniffer":"6.0.0","proxy-agent-negotiate":"1.1.0","@earendil-works/pi-pty":"npm:@code-yeongyu/senpi-pty@2026.8.21-2","@earendil-works/pi-tui":"npm:@code-yeongyu/senpi-tui@2026.8.21-2","@aws-sdk/nested-clients":"3.997.43","@csstools/color-helpers":"6.1.1","@csstools/css-tokenizer":"4.0.0","@mariozechner/clipboard":"*","call-bind-apply-helpers":"1.0.2","@asamuzakjp/dom-selector":"8.3.2","@aws-sdk/token-providers":"3.1115.0","@aws/lambda-invoke-store":"0.3.0","@protobufjs/eventemitter":"1.1.1","@modelcontextprotocol/sdk":"1.30.0","@smithy/node-http-handler":"4.11.3","@csstools/css-color-parser":"4.2.0","@silvia-odwyer/photon-node":"0.3.4","@smithy/fetch-http-handler":"5.7.2","buffer-equal-constant-time":"1.0.1","@code-yeongyu/senpi-codemode":"2026.8.21-2","@earendil-works/pi-telemetry":"npm:@code-yeongyu/senpi-telemetry@2026.8.21-2","@aws-sdk/middleware-websocket":"3.972.51","@earendil-works/pi-agent-core":"npm:@code-yeongyu/senpi-agent-core@2026.8.21-2","@anthropic-ai/claude-agent-sdk":"0.3.238","@aws-sdk/client-bedrock-runtime":"3.1115.0","@aws-sdk/middleware-eventstream":"3.972.28","@csstools/css-parser-algorithms":"4.0.0","@aws-sdk/credential-provider-env":"3.972.69","@aws-sdk/credential-provider-ini":"3.973.14","@aws-sdk/credential-provider-sso":"3.973.13","@smithy/credential-provider-imds":"4.5.2","is-potential-custom-element-name":"1.0.1","@aws-sdk/credential-provider-http":"3.972.71","@aws-sdk/credential-provider-node":"3.972.80","@aws-sdk/eventstream-handler-node":"3.972.33","@aws-sdk/credential-provider-login":"3.972.76","@aws-sdk/signature-v4-multi-region":"3.996.45","@aws-sdk/credential-provider-process":"3.972.69","@csstools/css-syntax-patches-for-csstree":"1.1.8","@aws-sdk/credential-provider-web-identity":"3.972.75"},"_hasShrinkwrap":false,"devDependencies":{"shx":"0.4.0","vitest":"4.1.11","@types/ws":"8.18.1","typescript":"7.0.2","@types/node":"26.2.0","@types/jsdom":"30.0.0","@types/semver":"7.8.0","@types/turndown":"5.0.6","@types/picomatch":"4.0.3","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@anthropic-ai/claude-agent-sdk","@anthropic-ai/sdk","@asamuzakjp/css-color","@asamuzakjp/dom-selector","@aws-sdk/client-bedrock-runtime","@aws-sdk/core","@aws-sdk/credential-provider-env","@aws-sdk/credential-provider-http","@aws-sdk/credential-provider-ini","@aws-sdk/credential-provider-login","@aws-sdk/credential-provider-node","@aws-sdk/credential-provider-process","@aws-sdk/credential-provider-sso","@aws-sdk/credential-provider-web-identity","@aws-sdk/eventstream-handler-node","@aws-sdk/middleware-eventstream","@aws-sdk/middleware-websocket","@aws-sdk/nested-clients","@aws-sdk/signature-v4-multi-region","@aws-sdk/token-providers","@aws-sdk/types","@aws-sdk/xml-builder","@aws/lambda-invoke-store","@babel/runtime","@bramus/specificity","@bufbuild/protobuf","@code-yeongyu/senpi-codemode","@csstools/color-helpers","@csstools/css-calc","@csstools/css-color-parser","@csstools/css-parser-algorithms","@csstools/css-syntax-patches-for-csstree","@csstools/css-tokenizer","@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-pty","@earendil-works/pi-telemetry","@earendil-works/pi-tui","@exodus/bytes","@google/genai","@hono/node-server","@mariozechner/clipboard","@mixmark-io/domino","@modelcontextprotocol/sdk","@mozilla/readability","@opentelemetry/api","@protobufjs/aspromise","@protobufjs/base64","@protobufjs/codegen","@protobufjs/eventemitter","@protobufjs/fetch","@protobufjs/float","@protobufjs/path","@protobufjs/pool","@protobufjs/utf8","@silvia-odwyer/photon-node","@smithy/core","@smithy/credential-provider-imds","@smithy/fetch-http-handler","@smithy/node-http-handler","@smithy/signature-v4","@smithy/types","@types/node","@xterm/headless","accepts","agent-base","ajv","ajv-formats","balanced-match","base64-js","bidi-js","bignumber.js","body-parser","bowser","brace-expansion","buffer-equal-constant-time","bytes","call-bind-apply-helpers","call-bound","chalk","content-disposition","content-type","cookie","cookie-signature","cors","cross-spawn","css-tree","data-uri-to-buffer","data-urls","debug","decimal.js","depd","diff","dunder-proto","ecdsa-sig-formatter","ee-first","encodeurl","entities","es-define-property","es-errors","es-object-atoms","escape-html","etag","eventsource","eventsource-parser","express","express-rate-limit","extend","fast-deep-equal","fast-uri","fetch-blob","finalhandler","formdata-polyfill","forwarded","fresh","function-bind","gaxios","gcp-metadata","get-east-asian-width","get-intrinsic","get-proto","glob","google-auth-library","google-logging-utils","gopd","graceful-fs","grok-mermaid","has-symbols","hasown","highlight.js","hono","hosted-git-info","html-encoding-sniffer","http-errors","http-proxy-agent","https-proxy-agent","iconv-lite","ignore","inherits","ip-address","ipaddr.js","is-potential-custom-element-name","is-promise","isexe","jiti","jose","jsdom","json-bigint","json-schema-to-ts","json-schema-traverse","json-schema-typed","jwa","jws","long","lru-cache","marked","math-intrinsics","mdn-data","media-typer","merge-descriptors","mime-db","mime-types","minimatch","minipass","ms","negotiator","node-domexception","node-fetch","object-assign","object-inspect","on-finished","once","openai","p-retry","parse5","parseurl","partial-json","path-key","path-scurry","path-to-regexp","picomatch","pkce-challenge","proper-lockfile","protobufjs","proxy-addr","proxy-agent-negotiate","proxy-from-env","punycode","qs","range-parser","raw-body","require-from-string","retry","router","safe-buffer","safer-buffer","saxes","semver","send","serve-static","setprototypeof","shebang-command","shebang-regex","side-channel","side-channel-list","side-channel-map","side-channel-weakmap","signal-exit","source-map-js","statuses","symbol-tree","tldts","tldts-core","toidentifier","tough-cookie","tr46","ts-algebra","tslib","turndown","type-is","typebox","undici","unpipe","vary","w3c-xmlserializer","web-streams-polyfill","webidl-conversions","whatwg-mimetype","whatwg-url","which","wrappy","ws","xml-name-validator","xmlchars","yaml","zod","zod-to-json-schema"],"optionalDependencies":{"@mariozechner/clipboard":"0.3.9","@mariozechner/clipboard-darwin-x64":"0.3.9","@mariozechner/clipboard-darwin-arm64":"0.3.9","@mariozechner/clipboard-linux-x64-gnu":"0.3.9","@mariozechner/clipboard-linux-x64-musl":"0.3.9","@mariozechner/clipboard-win32-x64-msvc":"0.3.9","@mariozechner/clipboard-linux-arm64-gnu":"0.3.9","@anthropic-ai/claude-agent-sdk-linux-x64":"0.3.238","@anthropic-ai/claude-agent-sdk-win32-x64":"0.3.238","@mariozechner/clipboard-darwin-universal":"0.3.9","@mariozechner/clipboard-linux-arm64-musl":"0.3.9","@mariozechner/clipboard-win32-arm64-msvc":"0.3.9","@anthropic-ai/claude-agent-sdk-darwin-x64":"0.3.238","@mariozechner/clipboard-linux-riscv64-gnu":"0.3.9","@anthropic-ai/claude-agent-sdk-linux-arm64":"0.3.238","@anthropic-ai/claude-agent-sdk-win32-arm64":"0.3.238","@anthropic-ai/claude-agent-sdk-darwin-arm64":"0.3.238","@anthropic-ai/claude-agent-sdk-linux-x64-musl":"0.3.238","@anthropic-ai/claude-agent-sdk-linux-arm64-musl":"0.3.238"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.8.21-2_1787303366515_0.41130030033056464","host":"s3://npm-registry-packages-npm-production"}},"2026.8.21-3":{"name":"@code-yeongyu/senpi","version":"2026.8.21-3","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.8.21-3","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"senpi":"dist/cli.js"},"dist":{"shasum":"47a90570ce7257eaa3521885cbfd971ab7a47e06","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.8.21-3.tgz","fileCount":23929,"integrity":"sha512-NwI5t8s5QtiAflxFnxBkaDA+yrL12ZkWGwPp5toU9Eu/4i2/CvxtQWaVdr5WCgfxt2K0g+aAUWGBQ2qx2yP1Kg==","signatures":[{"sig":"MEQCIHL5mLmOoULlybfBd1MS3L5c9KWHdp1tZAh3YPgp3UYQAiAZxRen2dkSaLDXoNjnvSjcibC/YfgOanRNGzRcuwUGiw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.8.21-3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":166146047},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.js"},"./rpc-entry":{"import":"./dist/rpc-entry.js"}},"scripts":{"dev":"tsc -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsc -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js dist/rpc-entry.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/","build:binary":"npm --prefix ../tui run build && npm --prefix ../telemetry run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm --prefix ../protocol run build && npm --prefix ../client run build && npm --prefix ../pty run build && npm run build && node ../../scripts/prepare-bun-compile-assets.mjs && bun build --compile --compile-autoload-package-json --no-compile-autoload-dotenv --no-compile-autoload-bunfig --minify --keep-names ./dist/bun/cli.js ./src/utils/image-resize-worker.ts ../../node_modules/jsdom/lib/jsdom/living/xhr/xhr-sync-worker.js --outfile dist/pi && npm run copy-binary-assets","qa:app-server":"node scripts/qa-app-server/run-all.mjs","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/export-html/ && shx cp -r docs dist/ && shx cp -r examples dist/ && shx mkdir -p dist/node_modules && shx cp -r ../../node_modules/css-tree ../../node_modules/mdn-data ../../node_modules/source-map-js dist/node_modules/ && node ../../scripts/copy-codemode-sidecar.mjs dist && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/ && shx mkdir -p dist/native/darwin dist/native/win32 && shx cp -r ../../packages/tui/native/darwin/prebuilds dist/native/darwin/ && shx cp -r ../../packages/tui/native/win32/prebuilds dist/native/win32/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/ && node ../../scripts/copy-pty-native.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ea548fc8-dac4-4dec-a439-6f4fa3870309"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.3"},"rimraf":"6.1.3","protobufjs":"7.6.5","@hono/node-server":"2.1.1"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.17.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.19.0","dependencies":{"ms":"2.1.3","qs":"6.15.3","ws":"8.21.3","ajv":"8.20.0","jwa":"2.0.1","jws":"4.0.1","zod":"4.4.3","cors":"2.8.6","depd":"2.0.0","diff":"9.0.0","etag":"1.8.1","glob":"13.0.6","gopd":"1.2.0","hono":"4.12.27","jiti":"2.7.0","jose":"6.2.3","long":"5.3.2","once":"1.4.0","send":"1.2.1","tr46":"6.0.0","vary":"1.1.2","yaml":"2.9.0","bytes":"3.1.2","chalk":"6.0.0","debug":"4.4.3","fresh":"2.0.0","isexe":"2.0.0","jsdom":"30.0.1","retry":"0.13.1","saxes":"6.0.0","tldts":"7.4.10","tslib":"2.8.1","which":"2.0.2","bowser":"2.14.1","cookie":"0.7.2","extend":"3.0.2","gaxios":"7.1.4","hasown":"2.0.3","ignore":"7.0.6","marked":"18.0.10","openai":"6.26.0","parse5":"8.0.1","router":"2.2.0","semver":"7.8.5","undici":"8.10.0","unpipe":"1.0.0","wrappy":"1.0.2","accepts":"2.0.0","bidi-js":"1.0.3","express":"5.2.1","mime-db":"1.54.0","p-retry":"4.6.2","type-is":"2.1.0","typebox":"1.3.16","css-tree":"3.2.1","ee-first":"1.1.1","entities":"8.0.0","fast-uri":"3.1.4","inherits":"2.0.4","mdn-data":"2.27.1","minipass":"7.1.3","parseurl":"1.3.3","path-key":"3.1.1","punycode":"2.3.1","raw-body":"3.0.2","statuses":"2.0.2","turndown":"7.2.4","xmlchars":"2.2.0","base64-js":"1.5.1","data-urls":"7.0.0","encodeurl":"2.0.0","es-errors":"1.3.0","forwarded":"0.2.0","get-proto":"1.0.1","ipaddr.js":"1.9.1","lru-cache":"11.5.2","minimatch":"10.2.6","picomatch":"4.0.5","agent-base":"7.1.4","call-bound":"1.0.4","decimal.js":"10.6.0","fetch-blob":"3.2.0","iconv-lite":"0.7.3","ip-address":"10.2.0","is-promise":"4.0.0","mime-types":"3.0.2","negotiator":"1.0.0","node-fetch":"3.3.2","protobufjs":"7.6.5","proxy-addr":"2.0.7","tldts-core":"7.4.10","ts-algebra":"2.0.0","whatwg-url":"16.0.1","@types/node":"26.2.0","ajv-formats":"3.0.1","body-parser":"2.3.0","cross-spawn":"7.0.6","escape-html":"1.0.3","eventsource":"3.0.7","graceful-fs":"4.2.11","has-symbols":"1.1.0","http-errors":"2.0.1","json-bigint":"1.0.0","media-typer":"1.1.0","on-finished":"2.4.1","path-scurry":"2.0.2","safe-buffer":"5.2.1","signal-exit":"3.0.7","symbol-tree":"3.2.4","@smithy/core":"3.33.3","bignumber.js":"9.3.1","content-type":"1.0.5","dunder-proto":"1.0.1","finalhandler":"2.1.1","gcp-metadata":"8.1.2","grok-mermaid":"0.2.3","highlight.js":"11.12.0","partial-json":"0.1.7","range-parser":"1.3.0","safer-buffer":"2.1.2","serve-static":"2.2.1","side-channel":"1.1.1","toidentifier":"1.0.1","tough-cookie":"6.0.2","@aws-sdk/core":"3.977.8","@exodus/bytes":"1.15.1","@google/genai":"2.18.0","@smithy/types":"4.17.2","function-bind":"1.1.2","get-intrinsic":"1.3.0","object-assign":"4.1.1","shebang-regex":"3.0.0","source-map-js":"1.2.1","@aws-sdk/types":"3.974.4","@babel/runtime":"7.29.2","balanced-match":"4.0.4","object-inspect":"1.13.4","path-to-regexp":"8.4.2","pkce-challenge":"5.0.1","proxy-from-env":"2.1.0","setprototypeof":"1.2.0","@xterm/headless":"6.0.0","brace-expansion":"5.0.9","es-object-atoms":"1.1.2","fast-deep-equal":"3.1.3","hosted-git-info":"10.1.1","math-intrinsics":"1.1.0","proper-lockfile":"4.1.2","shebang-command":"2.0.0","whatwg-mimetype":"5.0.0","@protobufjs/path":"1.1.2","@protobufjs/pool":"1.1.0","@protobufjs/utf8":"1.1.1","cookie-signature":"1.2.2","http-proxy-agent":"9.1.0","side-channel-map":"1.0.1","@anthropic-ai/sdk":"0.91.1","@hono/node-server":"2.1.1","@protobufjs/fetch":"1.1.1","@protobufjs/float":"1.0.2","formdata-polyfill":"4.0.10","https-proxy-agent":"9.1.0","json-schema-to-ts":"3.1.1","json-schema-typed":"8.0.2","merge-descriptors":"2.0.0","node-domexception":"1.0.0","side-channel-list":"1.0.1","w3c-xmlserializer":"5.0.0","@bufbuild/protobuf":"2.14.0","@csstools/css-calc":"3.3.0","@mixmark-io/domino":"2.2.0","@opentelemetry/api":"1.9.1","@protobufjs/base64":"1.1.2","data-uri-to-buffer":"4.0.1","es-define-property":"1.0.1","eventsource-parser":"3.1.0","express-rate-limit":"8.5.2","webidl-conversions":"8.0.1","xml-name-validator":"5.0.0","zod-to-json-schema":"3.25.2","@bramus/specificity":"2.4.2","@protobufjs/codegen":"2.0.5","content-disposition":"1.1.0","ecdsa-sig-formatter":"1.0.11","google-auth-library":"10.6.2","require-from-string":"2.0.2","@aws-sdk/xml-builder":"3.972.39","@mozilla/readability":"0.6.0","@smithy/signature-v4":"5.7.2","get-east-asian-width":"1.6.0","google-logging-utils":"1.1.3","json-schema-traverse":"1.0.0","side-channel-weakmap":"1.0.2","web-streams-polyfill":"3.3.3","@asamuzakjp/css-color":"6.0.7","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.8.21-3","@protobufjs/aspromise":"1.1.2","html-encoding-sniffer":"6.0.0","proxy-agent-negotiate":"1.1.0","@earendil-works/pi-pty":"npm:@code-yeongyu/senpi-pty@2026.8.21-3","@earendil-works/pi-tui":"npm:@code-yeongyu/senpi-tui@2026.8.21-3","@aws-sdk/nested-clients":"3.997.43","@csstools/color-helpers":"6.1.1","@csstools/css-tokenizer":"4.0.0","@mariozechner/clipboard":"*","call-bind-apply-helpers":"1.0.2","@asamuzakjp/dom-selector":"8.3.2","@aws-sdk/token-providers":"3.1115.0","@aws/lambda-invoke-store":"0.3.0","@protobufjs/eventemitter":"1.1.1","@modelcontextprotocol/sdk":"1.30.0","@smithy/node-http-handler":"4.11.3","@csstools/css-color-parser":"4.2.0","@silvia-odwyer/photon-node":"0.3.4","@smithy/fetch-http-handler":"5.7.2","buffer-equal-constant-time":"1.0.1","@code-yeongyu/senpi-codemode":"2026.8.21-3","@earendil-works/pi-telemetry":"npm:@code-yeongyu/senpi-telemetry@2026.8.21-3","@aws-sdk/middleware-websocket":"3.972.51","@earendil-works/pi-agent-core":"npm:@code-yeongyu/senpi-agent-core@2026.8.21-3","@anthropic-ai/claude-agent-sdk":"0.3.238","@aws-sdk/client-bedrock-runtime":"3.1115.0","@aws-sdk/middleware-eventstream":"3.972.28","@csstools/css-parser-algorithms":"4.0.0","@aws-sdk/credential-provider-env":"3.972.69","@aws-sdk/credential-provider-ini":"3.973.14","@aws-sdk/credential-provider-sso":"3.973.13","@smithy/credential-provider-imds":"4.5.2","is-potential-custom-element-name":"1.0.1","@aws-sdk/credential-provider-http":"3.972.71","@aws-sdk/credential-provider-node":"3.972.80","@aws-sdk/eventstream-handler-node":"3.972.33","@aws-sdk/credential-provider-login":"3.972.76","@aws-sdk/signature-v4-multi-region":"3.996.45","@aws-sdk/credential-provider-process":"3.972.69","@csstools/css-syntax-patches-for-csstree":"1.1.8","@aws-sdk/credential-provider-web-identity":"3.972.75"},"_hasShrinkwrap":false,"devDependencies":{"shx":"0.4.0","vitest":"4.1.11","@types/ws":"8.18.1","typescript":"7.0.2","@types/node":"26.2.0","@types/jsdom":"30.0.0","@types/semver":"7.8.0","@types/turndown":"5.0.6","@types/picomatch":"4.0.3","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@anthropic-ai/claude-agent-sdk","@anthropic-ai/sdk","@asamuzakjp/css-color","@asamuzakjp/dom-selector","@aws-sdk/client-bedrock-runtime","@aws-sdk/core","@aws-sdk/credential-provider-env","@aws-sdk/credential-provider-http","@aws-sdk/credential-provider-ini","@aws-sdk/credential-provider-login","@aws-sdk/credential-provider-node","@aws-sdk/credential-provider-process","@aws-sdk/credential-provider-sso","@aws-sdk/credential-provider-web-identity","@aws-sdk/eventstream-handler-node","@aws-sdk/middleware-eventstream","@aws-sdk/middleware-websocket","@aws-sdk/nested-clients","@aws-sdk/signature-v4-multi-region","@aws-sdk/token-providers","@aws-sdk/types","@aws-sdk/xml-builder","@aws/lambda-invoke-store","@babel/runtime","@bramus/specificity","@bufbuild/protobuf","@code-yeongyu/senpi-codemode","@csstools/color-helpers","@csstools/css-calc","@csstools/css-color-parser","@csstools/css-parser-algorithms","@csstools/css-syntax-patches-for-csstree","@csstools/css-tokenizer","@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-pty","@earendil-works/pi-telemetry","@earendil-works/pi-tui","@exodus/bytes","@google/genai","@hono/node-server","@mariozechner/clipboard","@mixmark-io/domino","@modelcontextprotocol/sdk","@mozilla/readability","@opentelemetry/api","@protobufjs/aspromise","@protobufjs/base64","@protobufjs/codegen","@protobufjs/eventemitter","@protobufjs/fetch","@protobufjs/float","@protobufjs/path","@protobufjs/pool","@protobufjs/utf8","@silvia-odwyer/photon-node","@smithy/core","@smithy/credential-provider-imds","@smithy/fetch-http-handler","@smithy/node-http-handler","@smithy/signature-v4","@smithy/types","@types/node","@xterm/headless","accepts","agent-base","ajv","ajv-formats","balanced-match","base64-js","bidi-js","bignumber.js","body-parser","bowser","brace-expansion","buffer-equal-constant-time","bytes","call-bind-apply-helpers","call-bound","chalk","content-disposition","content-type","cookie","cookie-signature","cors","cross-spawn","css-tree","data-uri-to-buffer","data-urls","debug","decimal.js","depd","diff","dunder-proto","ecdsa-sig-formatter","ee-first","encodeurl","entities","es-define-property","es-errors","es-object-atoms","escape-html","etag","eventsource","eventsource-parser","express","express-rate-limit","extend","fast-deep-equal","fast-uri","fetch-blob","finalhandler","formdata-polyfill","forwarded","fresh","function-bind","gaxios","gcp-metadata","get-east-asian-width","get-intrinsic","get-proto","glob","google-auth-library","google-logging-utils","gopd","graceful-fs","grok-mermaid","has-symbols","hasown","highlight.js","hono","hosted-git-info","html-encoding-sniffer","http-errors","http-proxy-agent","https-proxy-agent","iconv-lite","ignore","inherits","ip-address","ipaddr.js","is-potential-custom-element-name","is-promise","isexe","jiti","jose","jsdom","json-bigint","json-schema-to-ts","json-schema-traverse","json-schema-typed","jwa","jws","long","lru-cache","marked","math-intrinsics","mdn-data","media-typer","merge-descriptors","mime-db","mime-types","minimatch","minipass","ms","negotiator","node-domexception","node-fetch","object-assign","object-inspect","on-finished","once","openai","p-retry","parse5","parseurl","partial-json","path-key","path-scurry","path-to-regexp","picomatch","pkce-challenge","proper-lockfile","protobufjs","proxy-addr","proxy-agent-negotiate","proxy-from-env","punycode","qs","range-parser","raw-body","require-from-string","retry","router","safe-buffer","safer-buffer","saxes","semver","send","serve-static","setprototypeof","shebang-command","shebang-regex","side-channel","side-channel-list","side-channel-map","side-channel-weakmap","signal-exit","source-map-js","statuses","symbol-tree","tldts","tldts-core","toidentifier","tough-cookie","tr46","ts-algebra","tslib","turndown","type-is","typebox","undici","unpipe","vary","w3c-xmlserializer","web-streams-polyfill","webidl-conversions","whatwg-mimetype","whatwg-url","which","wrappy","ws","xml-name-validator","xmlchars","yaml","zod","zod-to-json-schema"],"optionalDependencies":{"@mariozechner/clipboard":"0.3.9","@mariozechner/clipboard-darwin-x64":"0.3.9","@mariozechner/clipboard-darwin-arm64":"0.3.9","@mariozechner/clipboard-linux-x64-gnu":"0.3.9","@mariozechner/clipboard-linux-x64-musl":"0.3.9","@mariozechner/clipboard-win32-x64-msvc":"0.3.9","@mariozechner/clipboard-linux-arm64-gnu":"0.3.9","@anthropic-ai/claude-agent-sdk-linux-x64":"0.3.238","@anthropic-ai/claude-agent-sdk-win32-x64":"0.3.238","@mariozechner/clipboard-darwin-universal":"0.3.9","@mariozechner/clipboard-linux-arm64-musl":"0.3.9","@mariozechner/clipboard-win32-arm64-msvc":"0.3.9","@anthropic-ai/claude-agent-sdk-darwin-x64":"0.3.238","@mariozechner/clipboard-linux-riscv64-gnu":"0.3.9","@anthropic-ai/claude-agent-sdk-linux-arm64":"0.3.238","@anthropic-ai/claude-agent-sdk-win32-arm64":"0.3.238","@anthropic-ai/claude-agent-sdk-darwin-arm64":"0.3.238","@anthropic-ai/claude-agent-sdk-linux-x64-musl":"0.3.238","@anthropic-ai/claude-agent-sdk-linux-arm64-musl":"0.3.238"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.8.21-3_1787315711842_0.4312262373336726","host":"s3://npm-registry-packages-npm-production"}},"2026.8.22":{"name":"@code-yeongyu/senpi","version":"2026.8.22","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.8.22","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"senpi":"dist/cli.js"},"dist":{"shasum":"9d184d0342e4f46e086fef93c814d4908ec53d83","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.8.22.tgz","fileCount":23933,"integrity":"sha512-hpGYW4WGpFlMeqlG4weTRcYyVW9lSQjvSr5pdk7VN3URRZ+fUi7+kHocvT2/eP98TUBetnYgDZT1t0YCxZx6uQ==","signatures":[{"sig":"MEUCIQDRHwJvX3P4B8aESuRSpKJ8XV31PkjbVhiH/aimrf6gyAIgYRFQR8W975K+skfwsAKq5oFmqc9TImPNgcqjvVMFshQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.8.22","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":166165776},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.js"},"./rpc-entry":{"import":"./dist/rpc-entry.js"}},"scripts":{"dev":"tsc -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsc -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js dist/rpc-entry.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/","build:binary":"npm --prefix ../tui run build && npm --prefix ../telemetry run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm --prefix ../protocol run build && npm --prefix ../client run build && npm --prefix ../pty run build && npm run build && node ../../scripts/prepare-bun-compile-assets.mjs && bun build --compile --compile-autoload-package-json --no-compile-autoload-dotenv --no-compile-autoload-bunfig --minify --keep-names ./dist/bun/cli.js ./src/utils/image-resize-worker.ts ../../node_modules/jsdom/lib/jsdom/living/xhr/xhr-sync-worker.js --outfile dist/pi && npm run copy-binary-assets","qa:app-server":"node scripts/qa-app-server/run-all.mjs","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/export-html/ && shx cp -r docs dist/ && shx cp -r examples dist/ && shx mkdir -p dist/node_modules && shx cp -r ../../node_modules/css-tree ../../node_modules/mdn-data ../../node_modules/source-map-js dist/node_modules/ && node ../../scripts/copy-codemode-sidecar.mjs dist && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/ && shx mkdir -p dist/native/darwin dist/native/win32 && shx cp -r ../../packages/tui/native/darwin/prebuilds dist/native/darwin/ && shx cp -r ../../packages/tui/native/win32/prebuilds dist/native/win32/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/ && node ../../scripts/copy-pty-native.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ea548fc8-dac4-4dec-a439-6f4fa3870309"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.3"},"rimraf":"6.1.3","protobufjs":"7.6.5","@hono/node-server":"2.1.1"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.17.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.19.0","dependencies":{"ms":"2.1.3","qs":"6.15.3","ws":"8.21.3","ajv":"8.20.0","jwa":"2.0.1","jws":"4.0.1","zod":"4.4.3","cors":"2.8.6","depd":"2.0.0","diff":"9.0.0","etag":"1.8.1","glob":"13.0.6","gopd":"1.2.0","hono":"4.12.27","jiti":"2.7.0","jose":"6.2.3","long":"5.3.2","once":"1.4.0","send":"1.2.1","tr46":"6.0.0","vary":"1.1.2","yaml":"2.9.0","bytes":"3.1.2","chalk":"6.0.0","debug":"4.4.3","fresh":"2.0.0","isexe":"2.0.0","jsdom":"30.0.1","retry":"0.13.1","saxes":"6.0.0","tldts":"7.4.10","tslib":"2.8.1","which":"2.0.2","bowser":"2.14.1","cookie":"0.7.2","extend":"3.0.2","gaxios":"7.1.4","hasown":"2.0.3","ignore":"7.0.6","marked":"18.0.10","openai":"6.26.0","parse5":"8.0.1","router":"2.2.0","semver":"7.8.5","undici":"8.10.0","unpipe":"1.0.0","wrappy":"1.0.2","accepts":"2.0.0","bidi-js":"1.0.3","express":"5.2.1","mime-db":"1.54.0","p-retry":"4.6.2","type-is":"2.1.0","typebox":"1.3.16","css-tree":"3.2.1","ee-first":"1.1.1","entities":"8.0.0","fast-uri":"3.1.4","inherits":"2.0.4","mdn-data":"2.27.1","minipass":"7.1.3","parseurl":"1.3.3","path-key":"3.1.1","punycode":"2.3.1","raw-body":"3.0.2","statuses":"2.0.2","turndown":"7.2.4","xmlchars":"2.2.0","base64-js":"1.5.1","data-urls":"7.0.0","encodeurl":"2.0.0","es-errors":"1.3.0","forwarded":"0.2.0","get-proto":"1.0.1","ipaddr.js":"1.9.1","lru-cache":"11.5.2","minimatch":"10.2.6","picomatch":"4.0.5","agent-base":"7.1.4","call-bound":"1.0.4","decimal.js":"10.6.0","fetch-blob":"3.2.0","iconv-lite":"0.7.3","ip-address":"10.2.0","is-promise":"4.0.0","mime-types":"3.0.2","negotiator":"1.0.0","node-fetch":"3.3.2","protobufjs":"7.6.5","proxy-addr":"2.0.7","tldts-core":"7.4.10","ts-algebra":"2.0.0","whatwg-url":"16.0.1","@types/node":"26.2.0","ajv-formats":"3.0.1","body-parser":"2.3.0","cross-spawn":"7.0.6","escape-html":"1.0.3","eventsource":"3.0.7","graceful-fs":"4.2.11","has-symbols":"1.1.0","http-errors":"2.0.1","json-bigint":"1.0.0","media-typer":"1.1.0","on-finished":"2.4.1","path-scurry":"2.0.2","safe-buffer":"5.2.1","signal-exit":"3.0.7","symbol-tree":"3.2.4","@smithy/core":"3.33.3","bignumber.js":"9.3.1","content-type":"1.0.5","dunder-proto":"1.0.1","finalhandler":"2.1.1","gcp-metadata":"8.1.2","grok-mermaid":"0.2.3","highlight.js":"11.12.0","partial-json":"0.1.7","range-parser":"1.3.0","safer-buffer":"2.1.2","serve-static":"2.2.1","side-channel":"1.1.1","toidentifier":"1.0.1","tough-cookie":"6.0.2","@aws-sdk/core":"3.977.8","@exodus/bytes":"1.15.1","@google/genai":"2.18.0","@smithy/types":"4.17.2","function-bind":"1.1.2","get-intrinsic":"1.3.0","object-assign":"4.1.1","shebang-regex":"3.0.0","source-map-js":"1.2.1","@aws-sdk/types":"3.974.4","@babel/runtime":"7.29.2","balanced-match":"4.0.4","object-inspect":"1.13.4","path-to-regexp":"8.4.2","pkce-challenge":"5.0.1","proxy-from-env":"2.1.0","setprototypeof":"1.2.0","@xterm/headless":"6.0.0","brace-expansion":"5.0.9","es-object-atoms":"1.1.2","fast-deep-equal":"3.1.3","hosted-git-info":"10.1.1","math-intrinsics":"1.1.0","proper-lockfile":"4.1.2","shebang-command":"2.0.0","whatwg-mimetype":"5.0.0","@protobufjs/path":"1.1.2","@protobufjs/pool":"1.1.0","@protobufjs/utf8":"1.1.1","cookie-signature":"1.2.2","http-proxy-agent":"9.1.0","side-channel-map":"1.0.1","@anthropic-ai/sdk":"0.91.1","@hono/node-server":"2.1.1","@protobufjs/fetch":"1.1.1","@protobufjs/float":"1.0.2","formdata-polyfill":"4.0.10","https-proxy-agent":"9.1.0","json-schema-to-ts":"3.1.1","json-schema-typed":"8.0.2","merge-descriptors":"2.0.0","node-domexception":"1.0.0","side-channel-list":"1.0.1","w3c-xmlserializer":"5.0.0","@bufbuild/protobuf":"2.14.0","@csstools/css-calc":"3.3.0","@mixmark-io/domino":"2.2.0","@opentelemetry/api":"1.9.1","@protobufjs/base64":"1.1.2","data-uri-to-buffer":"4.0.1","es-define-property":"1.0.1","eventsource-parser":"3.1.0","express-rate-limit":"8.5.2","webidl-conversions":"8.0.1","xml-name-validator":"5.0.0","zod-to-json-schema":"3.25.2","@bramus/specificity":"2.4.2","@protobufjs/codegen":"2.0.5","content-disposition":"1.1.0","ecdsa-sig-formatter":"1.0.11","google-auth-library":"10.6.2","require-from-string":"2.0.2","@aws-sdk/xml-builder":"3.972.39","@mozilla/readability":"0.6.0","@smithy/signature-v4":"5.7.2","get-east-asian-width":"1.6.0","google-logging-utils":"1.1.3","json-schema-traverse":"1.0.0","side-channel-weakmap":"1.0.2","web-streams-polyfill":"3.3.3","@asamuzakjp/css-color":"6.0.7","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.8.22","@protobufjs/aspromise":"1.1.2","html-encoding-sniffer":"6.0.0","proxy-agent-negotiate":"1.1.0","@earendil-works/pi-pty":"npm:@code-yeongyu/senpi-pty@2026.8.22","@earendil-works/pi-tui":"npm:@code-yeongyu/senpi-tui@2026.8.22","@aws-sdk/nested-clients":"3.997.43","@csstools/color-helpers":"6.1.1","@csstools/css-tokenizer":"4.0.0","@mariozechner/clipboard":"*","call-bind-apply-helpers":"1.0.2","@asamuzakjp/dom-selector":"8.3.2","@aws-sdk/token-providers":"3.1115.0","@aws/lambda-invoke-store":"0.3.0","@protobufjs/eventemitter":"1.1.1","@modelcontextprotocol/sdk":"1.30.0","@smithy/node-http-handler":"4.11.3","@csstools/css-color-parser":"4.2.0","@silvia-odwyer/photon-node":"0.3.4","@smithy/fetch-http-handler":"5.7.2","buffer-equal-constant-time":"1.0.1","@code-yeongyu/senpi-codemode":"2026.8.22","@earendil-works/pi-telemetry":"npm:@code-yeongyu/senpi-telemetry@2026.8.22","@aws-sdk/middleware-websocket":"3.972.51","@earendil-works/pi-agent-core":"npm:@code-yeongyu/senpi-agent-core@2026.8.22","@anthropic-ai/claude-agent-sdk":"0.3.238","@aws-sdk/client-bedrock-runtime":"3.1115.0","@aws-sdk/middleware-eventstream":"3.972.28","@csstools/css-parser-algorithms":"4.0.0","@aws-sdk/credential-provider-env":"3.972.69","@aws-sdk/credential-provider-ini":"3.973.14","@aws-sdk/credential-provider-sso":"3.973.13","@smithy/credential-provider-imds":"4.5.2","is-potential-custom-element-name":"1.0.1","@aws-sdk/credential-provider-http":"3.972.71","@aws-sdk/credential-provider-node":"3.972.80","@aws-sdk/eventstream-handler-node":"3.972.33","@aws-sdk/credential-provider-login":"3.972.76","@aws-sdk/signature-v4-multi-region":"3.996.45","@aws-sdk/credential-provider-process":"3.972.69","@csstools/css-syntax-patches-for-csstree":"1.1.8","@aws-sdk/credential-provider-web-identity":"3.972.75"},"_hasShrinkwrap":false,"devDependencies":{"shx":"0.4.0","vitest":"4.1.11","@types/ws":"8.18.1","typescript":"7.0.2","@types/node":"26.2.0","@types/jsdom":"30.0.0","@types/semver":"7.8.0","@types/turndown":"5.0.6","@types/picomatch":"4.0.3","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@anthropic-ai/claude-agent-sdk","@anthropic-ai/sdk","@asamuzakjp/css-color","@asamuzakjp/dom-selector","@aws-sdk/client-bedrock-runtime","@aws-sdk/core","@aws-sdk/credential-provider-env","@aws-sdk/credential-provider-http","@aws-sdk/credential-provider-ini","@aws-sdk/credential-provider-login","@aws-sdk/credential-provider-node","@aws-sdk/credential-provider-process","@aws-sdk/credential-provider-sso","@aws-sdk/credential-provider-web-identity","@aws-sdk/eventstream-handler-node","@aws-sdk/middleware-eventstream","@aws-sdk/middleware-websocket","@aws-sdk/nested-clients","@aws-sdk/signature-v4-multi-region","@aws-sdk/token-providers","@aws-sdk/types","@aws-sdk/xml-builder","@aws/lambda-invoke-store","@babel/runtime","@bramus/specificity","@bufbuild/protobuf","@code-yeongyu/senpi-codemode","@csstools/color-helpers","@csstools/css-calc","@csstools/css-color-parser","@csstools/css-parser-algorithms","@csstools/css-syntax-patches-for-csstree","@csstools/css-tokenizer","@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-pty","@earendil-works/pi-telemetry","@earendil-works/pi-tui","@exodus/bytes","@google/genai","@hono/node-server","@mariozechner/clipboard","@mixmark-io/domino","@modelcontextprotocol/sdk","@mozilla/readability","@opentelemetry/api","@protobufjs/aspromise","@protobufjs/base64","@protobufjs/codegen","@protobufjs/eventemitter","@protobufjs/fetch","@protobufjs/float","@protobufjs/path","@protobufjs/pool","@protobufjs/utf8","@silvia-odwyer/photon-node","@smithy/core","@smithy/credential-provider-imds","@smithy/fetch-http-handler","@smithy/node-http-handler","@smithy/signature-v4","@smithy/types","@types/node","@xterm/headless","accepts","agent-base","ajv","ajv-formats","balanced-match","base64-js","bidi-js","bignumber.js","body-parser","bowser","brace-expansion","buffer-equal-constant-time","bytes","call-bind-apply-helpers","call-bound","chalk","content-disposition","content-type","cookie","cookie-signature","cors","cross-spawn","css-tree","data-uri-to-buffer","data-urls","debug","decimal.js","depd","diff","dunder-proto","ecdsa-sig-formatter","ee-first","encodeurl","entities","es-define-property","es-errors","es-object-atoms","escape-html","etag","eventsource","eventsource-parser","express","express-rate-limit","extend","fast-deep-equal","fast-uri","fetch-blob","finalhandler","formdata-polyfill","forwarded","fresh","function-bind","gaxios","gcp-metadata","get-east-asian-width","get-intrinsic","get-proto","glob","google-auth-library","google-logging-utils","gopd","graceful-fs","grok-mermaid","has-symbols","hasown","highlight.js","hono","hosted-git-info","html-encoding-sniffer","http-errors","http-proxy-agent","https-proxy-agent","iconv-lite","ignore","inherits","ip-address","ipaddr.js","is-potential-custom-element-name","is-promise","isexe","jiti","jose","jsdom","json-bigint","json-schema-to-ts","json-schema-traverse","json-schema-typed","jwa","jws","long","lru-cache","marked","math-intrinsics","mdn-data","media-typer","merge-descriptors","mime-db","mime-types","minimatch","minipass","ms","negotiator","node-domexception","node-fetch","object-assign","object-inspect","on-finished","once","openai","p-retry","parse5","parseurl","partial-json","path-key","path-scurry","path-to-regexp","picomatch","pkce-challenge","proper-lockfile","protobufjs","proxy-addr","proxy-agent-negotiate","proxy-from-env","punycode","qs","range-parser","raw-body","require-from-string","retry","router","safe-buffer","safer-buffer","saxes","semver","send","serve-static","setprototypeof","shebang-command","shebang-regex","side-channel","side-channel-list","side-channel-map","side-channel-weakmap","signal-exit","source-map-js","statuses","symbol-tree","tldts","tldts-core","toidentifier","tough-cookie","tr46","ts-algebra","tslib","turndown","type-is","typebox","undici","unpipe","vary","w3c-xmlserializer","web-streams-polyfill","webidl-conversions","whatwg-mimetype","whatwg-url","which","wrappy","ws","xml-name-validator","xmlchars","yaml","zod","zod-to-json-schema"],"optionalDependencies":{"@mariozechner/clipboard":"0.3.9","@mariozechner/clipboard-darwin-x64":"0.3.9","@mariozechner/clipboard-darwin-arm64":"0.3.9","@mariozechner/clipboard-linux-x64-gnu":"0.3.9","@mariozechner/clipboard-linux-x64-musl":"0.3.9","@mariozechner/clipboard-win32-x64-msvc":"0.3.9","@mariozechner/clipboard-linux-arm64-gnu":"0.3.9","@anthropic-ai/claude-agent-sdk-linux-x64":"0.3.238","@anthropic-ai/claude-agent-sdk-win32-x64":"0.3.238","@mariozechner/clipboard-darwin-universal":"0.3.9","@mariozechner/clipboard-linux-arm64-musl":"0.3.9","@mariozechner/clipboard-win32-arm64-msvc":"0.3.9","@anthropic-ai/claude-agent-sdk-darwin-x64":"0.3.238","@mariozechner/clipboard-linux-riscv64-gnu":"0.3.9","@anthropic-ai/claude-agent-sdk-linux-arm64":"0.3.238","@anthropic-ai/claude-agent-sdk-win32-arm64":"0.3.238","@anthropic-ai/claude-agent-sdk-darwin-arm64":"0.3.238","@anthropic-ai/claude-agent-sdk-linux-x64-musl":"0.3.238","@anthropic-ai/claude-agent-sdk-linux-arm64-musl":"0.3.238"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.8.22_1787373552447_0.8910119495070512","host":"s3://npm-registry-packages-npm-production"}},"2026.8.22-2":{"name":"@code-yeongyu/senpi","version":"2026.8.22-2","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.8.22-2","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"senpi":"dist/cli.js"},"dist":{"shasum":"c11481f4b4d157fccdc6353c38846881b53a4d63","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.8.22-2.tgz","fileCount":23940,"integrity":"sha512-gWABzBF3tzbtYmIdO4vYErZy4nHYWpzKAaB6BD+tvc+Vl7wIWgnb/K18B0d2ZSvNHcPveJNopNI17359iiFxEA==","signatures":[{"sig":"MEYCIQDsSYkZRtZfFvvrN1DaWNy5n3hVXDWovRbHLtQ7UlvAOwIhAKzIVZnkHv0C6hfdUU1UMklzpmiOwtbA2fNvnp43UBxd","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.8.22-2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":166240297},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.js"},"./rpc-entry":{"import":"./dist/rpc-entry.js"}},"scripts":{"dev":"tsc -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsc -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js dist/rpc-entry.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/","build:binary":"npm --prefix ../tui run build && npm --prefix ../telemetry run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm --prefix ../protocol run build && npm --prefix ../client run build && npm --prefix ../pty run build && npm run build && node ../../scripts/prepare-bun-compile-assets.mjs && bun build --compile --compile-autoload-package-json --no-compile-autoload-dotenv --no-compile-autoload-bunfig --minify --keep-names ./dist/bun/cli.js ./src/utils/image-resize-worker.ts ../../node_modules/jsdom/lib/jsdom/living/xhr/xhr-sync-worker.js --outfile dist/pi && npm run copy-binary-assets","qa:app-server":"node scripts/qa-app-server/run-all.mjs","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/export-html/ && shx cp -r docs dist/ && shx cp -r examples dist/ && shx mkdir -p dist/node_modules && shx cp -r ../../node_modules/css-tree ../../node_modules/mdn-data ../../node_modules/source-map-js dist/node_modules/ && node ../../scripts/copy-codemode-sidecar.mjs dist && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/ && shx mkdir -p dist/native/darwin dist/native/win32 && shx cp -r ../../packages/tui/native/darwin/prebuilds dist/native/darwin/ && shx cp -r ../../packages/tui/native/win32/prebuilds dist/native/win32/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/ && node ../../scripts/copy-pty-native.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ea548fc8-dac4-4dec-a439-6f4fa3870309"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.3"},"rimraf":"6.1.3","protobufjs":"7.6.5","@hono/node-server":"2.1.1"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.17.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.19.0","dependencies":{"ms":"2.1.3","qs":"6.15.3","ws":"8.21.3","ajv":"8.20.0","jwa":"2.0.1","jws":"4.0.1","zod":"4.4.3","cors":"2.8.6","depd":"2.0.0","diff":"9.0.0","etag":"1.8.1","glob":"13.0.6","gopd":"1.2.0","hono":"4.12.27","jiti":"2.7.0","jose":"6.2.3","long":"5.3.2","once":"1.4.0","send":"1.2.1","tr46":"6.0.0","vary":"1.1.2","yaml":"2.9.0","bytes":"3.1.2","chalk":"6.0.0","debug":"4.4.3","fresh":"2.0.0","isexe":"2.0.0","jsdom":"30.0.1","retry":"0.13.1","saxes":"6.0.0","tldts":"7.4.10","tslib":"2.8.1","which":"2.0.2","bowser":"2.14.1","cookie":"0.7.2","extend":"3.0.2","gaxios":"7.1.4","hasown":"2.0.3","ignore":"7.0.6","marked":"18.0.10","openai":"6.26.0","parse5":"8.0.1","router":"2.2.0","semver":"7.8.5","undici":"8.10.0","unpipe":"1.0.0","wrappy":"1.0.2","accepts":"2.0.0","bidi-js":"1.0.3","express":"5.2.1","mime-db":"1.54.0","p-retry":"4.6.2","type-is":"2.1.0","typebox":"1.3.16","css-tree":"3.2.1","ee-first":"1.1.1","entities":"8.0.0","fast-uri":"3.1.4","inherits":"2.0.4","mdn-data":"2.27.1","minipass":"7.1.3","parseurl":"1.3.3","path-key":"3.1.1","punycode":"2.3.1","raw-body":"3.0.2","statuses":"2.0.2","turndown":"7.2.4","xmlchars":"2.2.0","base64-js":"1.5.1","data-urls":"7.0.0","encodeurl":"2.0.0","es-errors":"1.3.0","forwarded":"0.2.0","get-proto":"1.0.1","ipaddr.js":"1.9.1","lru-cache":"11.5.2","minimatch":"10.2.6","picomatch":"4.0.5","agent-base":"7.1.4","call-bound":"1.0.4","decimal.js":"10.6.0","fetch-blob":"3.2.0","iconv-lite":"0.7.3","ip-address":"10.2.0","is-promise":"4.0.0","mime-types":"3.0.2","negotiator":"1.0.0","node-fetch":"3.3.2","protobufjs":"7.6.5","proxy-addr":"2.0.7","tldts-core":"7.4.10","ts-algebra":"2.0.0","whatwg-url":"16.0.1","@types/node":"26.2.0","ajv-formats":"3.0.1","body-parser":"2.3.0","cross-spawn":"7.0.6","escape-html":"1.0.3","eventsource":"3.0.7","graceful-fs":"4.2.11","has-symbols":"1.1.0","http-errors":"2.0.1","json-bigint":"1.0.0","media-typer":"1.1.0","on-finished":"2.4.1","path-scurry":"2.0.2","safe-buffer":"5.2.1","signal-exit":"3.0.7","symbol-tree":"3.2.4","@smithy/core":"3.33.3","bignumber.js":"9.3.1","content-type":"1.0.5","dunder-proto":"1.0.1","finalhandler":"2.1.1","gcp-metadata":"8.1.2","grok-mermaid":"0.2.3","highlight.js":"11.12.0","partial-json":"0.1.7","range-parser":"1.3.0","safer-buffer":"2.1.2","serve-static":"2.2.1","side-channel":"1.1.1","toidentifier":"1.0.1","tough-cookie":"6.0.2","@aws-sdk/core":"3.977.8","@exodus/bytes":"1.15.1","@google/genai":"2.18.0","@smithy/types":"4.17.2","function-bind":"1.1.2","get-intrinsic":"1.3.0","object-assign":"4.1.1","shebang-regex":"3.0.0","source-map-js":"1.2.1","@aws-sdk/types":"3.974.4","@babel/runtime":"7.29.2","balanced-match":"4.0.4","object-inspect":"1.13.4","path-to-regexp":"8.4.2","pkce-challenge":"5.0.1","proxy-from-env":"2.1.0","setprototypeof":"1.2.0","@xterm/headless":"6.0.0","brace-expansion":"5.0.9","es-object-atoms":"1.1.2","fast-deep-equal":"3.1.3","hosted-git-info":"10.1.1","math-intrinsics":"1.1.0","proper-lockfile":"4.1.2","shebang-command":"2.0.0","whatwg-mimetype":"5.0.0","@protobufjs/path":"1.1.2","@protobufjs/pool":"1.1.0","@protobufjs/utf8":"1.1.1","cookie-signature":"1.2.2","http-proxy-agent":"9.1.0","side-channel-map":"1.0.1","@anthropic-ai/sdk":"0.91.1","@hono/node-server":"2.1.1","@protobufjs/fetch":"1.1.1","@protobufjs/float":"1.0.2","formdata-polyfill":"4.0.10","https-proxy-agent":"9.1.0","json-schema-to-ts":"3.1.1","json-schema-typed":"8.0.2","merge-descriptors":"2.0.0","node-domexception":"1.0.0","side-channel-list":"1.0.1","w3c-xmlserializer":"5.0.0","@bufbuild/protobuf":"2.14.0","@csstools/css-calc":"3.3.0","@mixmark-io/domino":"2.2.0","@opentelemetry/api":"1.9.1","@protobufjs/base64":"1.1.2","data-uri-to-buffer":"4.0.1","es-define-property":"1.0.1","eventsource-parser":"3.1.0","express-rate-limit":"8.5.2","webidl-conversions":"8.0.1","xml-name-validator":"5.0.0","zod-to-json-schema":"3.25.2","@bramus/specificity":"2.4.2","@protobufjs/codegen":"2.0.5","content-disposition":"1.1.0","ecdsa-sig-formatter":"1.0.11","google-auth-library":"10.6.2","require-from-string":"2.0.2","@aws-sdk/xml-builder":"3.972.39","@mozilla/readability":"0.6.0","@smithy/signature-v4":"5.7.2","get-east-asian-width":"1.6.0","google-logging-utils":"1.1.3","json-schema-traverse":"1.0.0","side-channel-weakmap":"1.0.2","web-streams-polyfill":"3.3.3","@asamuzakjp/css-color":"6.0.7","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.8.22-2","@protobufjs/aspromise":"1.1.2","html-encoding-sniffer":"6.0.0","proxy-agent-negotiate":"1.1.0","@earendil-works/pi-pty":"npm:@code-yeongyu/senpi-pty@2026.8.22-2","@earendil-works/pi-tui":"npm:@code-yeongyu/senpi-tui@2026.8.22-2","@aws-sdk/nested-clients":"3.997.43","@csstools/color-helpers":"6.1.1","@csstools/css-tokenizer":"4.0.0","@mariozechner/clipboard":"*","call-bind-apply-helpers":"1.0.2","@asamuzakjp/dom-selector":"8.3.2","@aws-sdk/token-providers":"3.1115.0","@aws/lambda-invoke-store":"0.3.0","@protobufjs/eventemitter":"1.1.1","@modelcontextprotocol/sdk":"1.30.0","@smithy/node-http-handler":"4.11.3","@csstools/css-color-parser":"4.2.0","@silvia-odwyer/photon-node":"0.3.4","@smithy/fetch-http-handler":"5.7.2","buffer-equal-constant-time":"1.0.1","@code-yeongyu/senpi-codemode":"2026.8.22-2","@earendil-works/pi-telemetry":"npm:@code-yeongyu/senpi-telemetry@2026.8.22-2","@aws-sdk/middleware-websocket":"3.972.51","@earendil-works/pi-agent-core":"npm:@code-yeongyu/senpi-agent-core@2026.8.22-2","@anthropic-ai/claude-agent-sdk":"0.3.238","@aws-sdk/client-bedrock-runtime":"3.1115.0","@aws-sdk/middleware-eventstream":"3.972.28","@csstools/css-parser-algorithms":"4.0.0","@aws-sdk/credential-provider-env":"3.972.69","@aws-sdk/credential-provider-ini":"3.973.14","@aws-sdk/credential-provider-sso":"3.973.13","@smithy/credential-provider-imds":"4.5.2","is-potential-custom-element-name":"1.0.1","@aws-sdk/credential-provider-http":"3.972.71","@aws-sdk/credential-provider-node":"3.972.80","@aws-sdk/eventstream-handler-node":"3.972.33","@aws-sdk/credential-provider-login":"3.972.76","@aws-sdk/signature-v4-multi-region":"3.996.45","@aws-sdk/credential-provider-process":"3.972.69","@csstools/css-syntax-patches-for-csstree":"1.1.8","@aws-sdk/credential-provider-web-identity":"3.972.75"},"_hasShrinkwrap":false,"devDependencies":{"shx":"0.4.0","vitest":"4.1.11","@types/ws":"8.18.1","typescript":"7.0.2","@types/node":"26.2.0","@types/jsdom":"30.0.0","@types/semver":"7.8.0","@types/turndown":"5.0.6","@types/picomatch":"4.0.3","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@anthropic-ai/claude-agent-sdk","@anthropic-ai/sdk","@asamuzakjp/css-color","@asamuzakjp/dom-selector","@aws-sdk/client-bedrock-runtime","@aws-sdk/core","@aws-sdk/credential-provider-env","@aws-sdk/credential-provider-http","@aws-sdk/credential-provider-ini","@aws-sdk/credential-provider-login","@aws-sdk/credential-provider-node","@aws-sdk/credential-provider-process","@aws-sdk/credential-provider-sso","@aws-sdk/credential-provider-web-identity","@aws-sdk/eventstream-handler-node","@aws-sdk/middleware-eventstream","@aws-sdk/middleware-websocket","@aws-sdk/nested-clients","@aws-sdk/signature-v4-multi-region","@aws-sdk/token-providers","@aws-sdk/types","@aws-sdk/xml-builder","@aws/lambda-invoke-store","@babel/runtime","@bramus/specificity","@bufbuild/protobuf","@code-yeongyu/senpi-codemode","@csstools/color-helpers","@csstools/css-calc","@csstools/css-color-parser","@csstools/css-parser-algorithms","@csstools/css-syntax-patches-for-csstree","@csstools/css-tokenizer","@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-pty","@earendil-works/pi-telemetry","@earendil-works/pi-tui","@exodus/bytes","@google/genai","@hono/node-server","@mariozechner/clipboard","@mixmark-io/domino","@modelcontextprotocol/sdk","@mozilla/readability","@opentelemetry/api","@protobufjs/aspromise","@protobufjs/base64","@protobufjs/codegen","@protobufjs/eventemitter","@protobufjs/fetch","@protobufjs/float","@protobufjs/path","@protobufjs/pool","@protobufjs/utf8","@silvia-odwyer/photon-node","@smithy/core","@smithy/credential-provider-imds","@smithy/fetch-http-handler","@smithy/node-http-handler","@smithy/signature-v4","@smithy/types","@types/node","@xterm/headless","accepts","agent-base","ajv","ajv-formats","balanced-match","base64-js","bidi-js","bignumber.js","body-parser","bowser","brace-expansion","buffer-equal-constant-time","bytes","call-bind-apply-helpers","call-bound","chalk","content-disposition","content-type","cookie","cookie-signature","cors","cross-spawn","css-tree","data-uri-to-buffer","data-urls","debug","decimal.js","depd","diff","dunder-proto","ecdsa-sig-formatter","ee-first","encodeurl","entities","es-define-property","es-errors","es-object-atoms","escape-html","etag","eventsource","eventsource-parser","express","express-rate-limit","extend","fast-deep-equal","fast-uri","fetch-blob","finalhandler","formdata-polyfill","forwarded","fresh","function-bind","gaxios","gcp-metadata","get-east-asian-width","get-intrinsic","get-proto","glob","google-auth-library","google-logging-utils","gopd","graceful-fs","grok-mermaid","has-symbols","hasown","highlight.js","hono","hosted-git-info","html-encoding-sniffer","http-errors","http-proxy-agent","https-proxy-agent","iconv-lite","ignore","inherits","ip-address","ipaddr.js","is-potential-custom-element-name","is-promise","isexe","jiti","jose","jsdom","json-bigint","json-schema-to-ts","json-schema-traverse","json-schema-typed","jwa","jws","long","lru-cache","marked","math-intrinsics","mdn-data","media-typer","merge-descriptors","mime-db","mime-types","minimatch","minipass","ms","negotiator","node-domexception","node-fetch","object-assign","object-inspect","on-finished","once","openai","p-retry","parse5","parseurl","partial-json","path-key","path-scurry","path-to-regexp","picomatch","pkce-challenge","proper-lockfile","protobufjs","proxy-addr","proxy-agent-negotiate","proxy-from-env","punycode","qs","range-parser","raw-body","require-from-string","retry","router","safe-buffer","safer-buffer","saxes","semver","send","serve-static","setprototypeof","shebang-command","shebang-regex","side-channel","side-channel-list","side-channel-map","side-channel-weakmap","signal-exit","source-map-js","statuses","symbol-tree","tldts","tldts-core","toidentifier","tough-cookie","tr46","ts-algebra","tslib","turndown","type-is","typebox","undici","unpipe","vary","w3c-xmlserializer","web-streams-polyfill","webidl-conversions","whatwg-mimetype","whatwg-url","which","wrappy","ws","xml-name-validator","xmlchars","yaml","zod","zod-to-json-schema"],"optionalDependencies":{"@mariozechner/clipboard":"0.3.9","@mariozechner/clipboard-darwin-x64":"0.3.9","@mariozechner/clipboard-darwin-arm64":"0.3.9","@mariozechner/clipboard-linux-x64-gnu":"0.3.9","@mariozechner/clipboard-linux-x64-musl":"0.3.9","@mariozechner/clipboard-win32-x64-msvc":"0.3.9","@mariozechner/clipboard-linux-arm64-gnu":"0.3.9","@anthropic-ai/claude-agent-sdk-linux-x64":"0.3.238","@anthropic-ai/claude-agent-sdk-win32-x64":"0.3.238","@mariozechner/clipboard-darwin-universal":"0.3.9","@mariozechner/clipboard-linux-arm64-musl":"0.3.9","@mariozechner/clipboard-win32-arm64-msvc":"0.3.9","@anthropic-ai/claude-agent-sdk-darwin-x64":"0.3.238","@mariozechner/clipboard-linux-riscv64-gnu":"0.3.9","@anthropic-ai/claude-agent-sdk-linux-arm64":"0.3.238","@anthropic-ai/claude-agent-sdk-win32-arm64":"0.3.238","@anthropic-ai/claude-agent-sdk-darwin-arm64":"0.3.238","@anthropic-ai/claude-agent-sdk-linux-x64-musl":"0.3.238","@anthropic-ai/claude-agent-sdk-linux-arm64-musl":"0.3.238"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.8.22-2_1787422730366_0.47309957711560546","host":"s3://npm-registry-packages-npm-production"}},"2026.8.23":{"name":"@code-yeongyu/senpi","version":"2026.8.23","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.8.23","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"senpi":"dist/cli.js"},"dist":{"shasum":"f483a1eaee7834be44f92de1c0420bcd73bf42e4","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.8.23.tgz","fileCount":23944,"integrity":"sha512-jzAmcHWjjJZeEfptWHvCm2aOIP8BrhxafRb9TrrRrOz7mHOPw4uugrcFpQYNtkzvRkPXR+ZvkF0VD1vUZI3YyQ==","signatures":[{"sig":"MEQCIC6j4mEZFEk0Awp7ltUc37pNeMtXPixtL7OvzQc7+9FuAiA6JVqR74/7OJPZr//O/crHhWqUHfpHvcVrdOubVkrAVQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.8.23","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":166265148},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.js"},"./rpc-entry":{"import":"./dist/rpc-entry.js"}},"scripts":{"dev":"tsc -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsc -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js dist/rpc-entry.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/","build:binary":"npm --prefix ../tui run build && npm --prefix ../telemetry run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm --prefix ../protocol run build && npm --prefix ../client run build && npm --prefix ../pty run build && npm run build && node ../../scripts/prepare-bun-compile-assets.mjs && bun build --compile --compile-autoload-package-json --no-compile-autoload-dotenv --no-compile-autoload-bunfig --minify --keep-names ./dist/bun/cli.js ./src/utils/image-resize-worker.ts ../../node_modules/jsdom/lib/jsdom/living/xhr/xhr-sync-worker.js --outfile dist/pi && npm run copy-binary-assets","qa:app-server":"node scripts/qa-app-server/run-all.mjs","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/export-html/ && shx cp -r docs dist/ && shx cp -r examples dist/ && shx mkdir -p dist/node_modules && shx cp -r ../../node_modules/css-tree ../../node_modules/mdn-data ../../node_modules/source-map-js dist/node_modules/ && node ../../scripts/copy-codemode-sidecar.mjs dist && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/ && shx mkdir -p dist/native/darwin dist/native/win32 && shx cp -r ../../packages/tui/native/darwin/prebuilds dist/native/darwin/ && shx cp -r ../../packages/tui/native/win32/prebuilds dist/native/win32/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/ && node ../../scripts/copy-pty-native.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ea548fc8-dac4-4dec-a439-6f4fa3870309"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.3"},"rimraf":"6.1.3","protobufjs":"7.6.5","@hono/node-server":"2.1.1"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.17.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.19.0","dependencies":{"ms":"2.1.3","qs":"6.15.3","ws":"8.21.3","ajv":"8.20.0","jwa":"2.0.1","jws":"4.0.1","zod":"4.4.3","cors":"2.8.6","depd":"2.0.0","diff":"9.0.0","etag":"1.8.1","glob":"13.0.6","gopd":"1.2.0","hono":"4.12.27","jiti":"2.7.0","jose":"6.2.3","long":"5.3.2","once":"1.4.0","send":"1.2.1","tr46":"6.0.0","vary":"1.1.2","yaml":"2.9.0","bytes":"3.1.2","chalk":"6.0.0","debug":"4.4.3","fresh":"2.0.0","isexe":"2.0.0","jsdom":"30.0.1","retry":"0.13.1","saxes":"6.0.0","tldts":"7.4.10","tslib":"2.8.1","which":"2.0.2","bowser":"2.14.1","cookie":"0.7.2","extend":"3.0.2","gaxios":"7.1.4","hasown":"2.0.3","ignore":"7.0.6","marked":"18.0.10","openai":"6.26.0","parse5":"8.0.1","router":"2.2.0","semver":"7.8.5","undici":"8.10.0","unpipe":"1.0.0","wrappy":"1.0.2","accepts":"2.0.0","bidi-js":"1.0.3","express":"5.2.1","mime-db":"1.54.0","p-retry":"4.6.2","type-is":"2.1.0","typebox":"1.3.16","css-tree":"3.2.1","ee-first":"1.1.1","entities":"8.0.0","fast-uri":"3.1.4","inherits":"2.0.4","mdn-data":"2.27.1","minipass":"7.1.3","parseurl":"1.3.3","path-key":"3.1.1","punycode":"2.3.1","raw-body":"3.0.2","statuses":"2.0.2","turndown":"7.2.4","xmlchars":"2.2.0","base64-js":"1.5.1","data-urls":"7.0.0","encodeurl":"2.0.0","es-errors":"1.3.0","forwarded":"0.2.0","get-proto":"1.0.1","ipaddr.js":"1.9.1","lru-cache":"11.5.2","minimatch":"10.2.6","picomatch":"4.0.5","agent-base":"7.1.4","call-bound":"1.0.4","decimal.js":"10.6.0","fetch-blob":"3.2.0","iconv-lite":"0.7.3","ip-address":"10.2.0","is-promise":"4.0.0","mime-types":"3.0.2","negotiator":"1.0.0","node-fetch":"3.3.2","protobufjs":"7.6.5","proxy-addr":"2.0.7","tldts-core":"7.4.10","ts-algebra":"2.0.0","whatwg-url":"16.0.1","@types/node":"26.2.0","ajv-formats":"3.0.1","body-parser":"2.3.0","cross-spawn":"7.0.6","escape-html":"1.0.3","eventsource":"3.0.7","graceful-fs":"4.2.11","has-symbols":"1.1.0","http-errors":"2.0.1","json-bigint":"1.0.0","media-typer":"1.1.0","on-finished":"2.4.1","path-scurry":"2.0.2","safe-buffer":"5.2.1","signal-exit":"3.0.7","symbol-tree":"3.2.4","@smithy/core":"3.33.3","bignumber.js":"9.3.1","content-type":"1.0.5","dunder-proto":"1.0.1","finalhandler":"2.1.1","gcp-metadata":"8.1.2","grok-mermaid":"0.2.3","highlight.js":"11.12.0","partial-json":"0.1.7","range-parser":"1.3.0","safer-buffer":"2.1.2","serve-static":"2.2.1","side-channel":"1.1.1","toidentifier":"1.0.1","tough-cookie":"6.0.2","@aws-sdk/core":"3.977.8","@exodus/bytes":"1.15.1","@google/genai":"2.18.0","@smithy/types":"4.17.2","function-bind":"1.1.2","get-intrinsic":"1.3.0","object-assign":"4.1.1","shebang-regex":"3.0.0","source-map-js":"1.2.1","@aws-sdk/types":"3.974.4","@babel/runtime":"7.29.2","balanced-match":"4.0.4","object-inspect":"1.13.4","path-to-regexp":"8.4.2","pkce-challenge":"5.0.1","proxy-from-env":"2.1.0","setprototypeof":"1.2.0","@xterm/headless":"6.0.0","brace-expansion":"5.0.9","es-object-atoms":"1.1.2","fast-deep-equal":"3.1.3","hosted-git-info":"10.1.1","math-intrinsics":"1.1.0","proper-lockfile":"4.1.2","shebang-command":"2.0.0","whatwg-mimetype":"5.0.0","@protobufjs/path":"1.1.2","@protobufjs/pool":"1.1.0","@protobufjs/utf8":"1.1.1","cookie-signature":"1.2.2","http-proxy-agent":"9.1.0","side-channel-map":"1.0.1","@anthropic-ai/sdk":"0.91.1","@hono/node-server":"2.1.1","@protobufjs/fetch":"1.1.1","@protobufjs/float":"1.0.2","formdata-polyfill":"4.0.10","https-proxy-agent":"9.1.0","json-schema-to-ts":"3.1.1","json-schema-typed":"8.0.2","merge-descriptors":"2.0.0","node-domexception":"1.0.0","side-channel-list":"1.0.1","w3c-xmlserializer":"5.0.0","@bufbuild/protobuf":"2.14.0","@csstools/css-calc":"3.3.0","@mixmark-io/domino":"2.2.0","@opentelemetry/api":"1.9.1","@protobufjs/base64":"1.1.2","data-uri-to-buffer":"4.0.1","es-define-property":"1.0.1","eventsource-parser":"3.1.0","express-rate-limit":"8.5.2","webidl-conversions":"8.0.1","xml-name-validator":"5.0.0","zod-to-json-schema":"3.25.2","@bramus/specificity":"2.4.2","@protobufjs/codegen":"2.0.5","content-disposition":"1.1.0","ecdsa-sig-formatter":"1.0.11","google-auth-library":"10.6.2","require-from-string":"2.0.2","@aws-sdk/xml-builder":"3.972.39","@mozilla/readability":"0.6.0","@smithy/signature-v4":"5.7.2","get-east-asian-width":"1.6.0","google-logging-utils":"1.1.3","json-schema-traverse":"1.0.0","side-channel-weakmap":"1.0.2","web-streams-polyfill":"3.3.3","@asamuzakjp/css-color":"6.0.7","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.8.23","@protobufjs/aspromise":"1.1.2","html-encoding-sniffer":"6.0.0","proxy-agent-negotiate":"1.1.0","@earendil-works/pi-pty":"npm:@code-yeongyu/senpi-pty@2026.8.23","@earendil-works/pi-tui":"npm:@code-yeongyu/senpi-tui@2026.8.23","@aws-sdk/nested-clients":"3.997.43","@csstools/color-helpers":"6.1.1","@csstools/css-tokenizer":"4.0.0","@mariozechner/clipboard":"*","call-bind-apply-helpers":"1.0.2","@asamuzakjp/dom-selector":"8.3.2","@aws-sdk/token-providers":"3.1115.0","@aws/lambda-invoke-store":"0.3.0","@protobufjs/eventemitter":"1.1.1","@modelcontextprotocol/sdk":"1.30.0","@smithy/node-http-handler":"4.11.3","@csstools/css-color-parser":"4.2.0","@silvia-odwyer/photon-node":"0.3.4","@smithy/fetch-http-handler":"5.7.2","buffer-equal-constant-time":"1.0.1","@code-yeongyu/senpi-codemode":"2026.8.23","@earendil-works/pi-telemetry":"npm:@code-yeongyu/senpi-telemetry@2026.8.23","@aws-sdk/middleware-websocket":"3.972.51","@earendil-works/pi-agent-core":"npm:@code-yeongyu/senpi-agent-core@2026.8.23","@anthropic-ai/claude-agent-sdk":"0.3.238","@aws-sdk/client-bedrock-runtime":"3.1115.0","@aws-sdk/middleware-eventstream":"3.972.28","@csstools/css-parser-algorithms":"4.0.0","@aws-sdk/credential-provider-env":"3.972.69","@aws-sdk/credential-provider-ini":"3.973.14","@aws-sdk/credential-provider-sso":"3.973.13","@smithy/credential-provider-imds":"4.5.2","is-potential-custom-element-name":"1.0.1","@aws-sdk/credential-provider-http":"3.972.71","@aws-sdk/credential-provider-node":"3.972.80","@aws-sdk/eventstream-handler-node":"3.972.33","@aws-sdk/credential-provider-login":"3.972.76","@aws-sdk/signature-v4-multi-region":"3.996.45","@aws-sdk/credential-provider-process":"3.972.69","@csstools/css-syntax-patches-for-csstree":"1.1.8","@aws-sdk/credential-provider-web-identity":"3.972.75"},"_hasShrinkwrap":false,"devDependencies":{"shx":"0.4.0","vitest":"4.1.11","@types/ws":"8.18.1","typescript":"7.0.2","@types/node":"26.2.0","@types/jsdom":"30.0.0","@types/semver":"7.8.0","@types/turndown":"5.0.6","@types/picomatch":"4.0.3","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@anthropic-ai/claude-agent-sdk","@anthropic-ai/sdk","@asamuzakjp/css-color","@asamuzakjp/dom-selector","@aws-sdk/client-bedrock-runtime","@aws-sdk/core","@aws-sdk/credential-provider-env","@aws-sdk/credential-provider-http","@aws-sdk/credential-provider-ini","@aws-sdk/credential-provider-login","@aws-sdk/credential-provider-node","@aws-sdk/credential-provider-process","@aws-sdk/credential-provider-sso","@aws-sdk/credential-provider-web-identity","@aws-sdk/eventstream-handler-node","@aws-sdk/middleware-eventstream","@aws-sdk/middleware-websocket","@aws-sdk/nested-clients","@aws-sdk/signature-v4-multi-region","@aws-sdk/token-providers","@aws-sdk/types","@aws-sdk/xml-builder","@aws/lambda-invoke-store","@babel/runtime","@bramus/specificity","@bufbuild/protobuf","@code-yeongyu/senpi-codemode","@csstools/color-helpers","@csstools/css-calc","@csstools/css-color-parser","@csstools/css-parser-algorithms","@csstools/css-syntax-patches-for-csstree","@csstools/css-tokenizer","@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-pty","@earendil-works/pi-telemetry","@earendil-works/pi-tui","@exodus/bytes","@google/genai","@hono/node-server","@mariozechner/clipboard","@mixmark-io/domino","@modelcontextprotocol/sdk","@mozilla/readability","@opentelemetry/api","@protobufjs/aspromise","@protobufjs/base64","@protobufjs/codegen","@protobufjs/eventemitter","@protobufjs/fetch","@protobufjs/float","@protobufjs/path","@protobufjs/pool","@protobufjs/utf8","@silvia-odwyer/photon-node","@smithy/core","@smithy/credential-provider-imds","@smithy/fetch-http-handler","@smithy/node-http-handler","@smithy/signature-v4","@smithy/types","@types/node","@xterm/headless","accepts","agent-base","ajv","ajv-formats","balanced-match","base64-js","bidi-js","bignumber.js","body-parser","bowser","brace-expansion","buffer-equal-constant-time","bytes","call-bind-apply-helpers","call-bound","chalk","content-disposition","content-type","cookie","cookie-signature","cors","cross-spawn","css-tree","data-uri-to-buffer","data-urls","debug","decimal.js","depd","diff","dunder-proto","ecdsa-sig-formatter","ee-first","encodeurl","entities","es-define-property","es-errors","es-object-atoms","escape-html","etag","eventsource","eventsource-parser","express","express-rate-limit","extend","fast-deep-equal","fast-uri","fetch-blob","finalhandler","formdata-polyfill","forwarded","fresh","function-bind","gaxios","gcp-metadata","get-east-asian-width","get-intrinsic","get-proto","glob","google-auth-library","google-logging-utils","gopd","graceful-fs","grok-mermaid","has-symbols","hasown","highlight.js","hono","hosted-git-info","html-encoding-sniffer","http-errors","http-proxy-agent","https-proxy-agent","iconv-lite","ignore","inherits","ip-address","ipaddr.js","is-potential-custom-element-name","is-promise","isexe","jiti","jose","jsdom","json-bigint","json-schema-to-ts","json-schema-traverse","json-schema-typed","jwa","jws","long","lru-cache","marked","math-intrinsics","mdn-data","media-typer","merge-descriptors","mime-db","mime-types","minimatch","minipass","ms","negotiator","node-domexception","node-fetch","object-assign","object-inspect","on-finished","once","openai","p-retry","parse5","parseurl","partial-json","path-key","path-scurry","path-to-regexp","picomatch","pkce-challenge","proper-lockfile","protobufjs","proxy-addr","proxy-agent-negotiate","proxy-from-env","punycode","qs","range-parser","raw-body","require-from-string","retry","router","safe-buffer","safer-buffer","saxes","semver","send","serve-static","setprototypeof","shebang-command","shebang-regex","side-channel","side-channel-list","side-channel-map","side-channel-weakmap","signal-exit","source-map-js","statuses","symbol-tree","tldts","tldts-core","toidentifier","tough-cookie","tr46","ts-algebra","tslib","turndown","type-is","typebox","undici","unpipe","vary","w3c-xmlserializer","web-streams-polyfill","webidl-conversions","whatwg-mimetype","whatwg-url","which","wrappy","ws","xml-name-validator","xmlchars","yaml","zod","zod-to-json-schema"],"optionalDependencies":{"@mariozechner/clipboard":"0.3.9","@mariozechner/clipboard-darwin-x64":"0.3.9","@mariozechner/clipboard-darwin-arm64":"0.3.9","@mariozechner/clipboard-linux-x64-gnu":"0.3.9","@mariozechner/clipboard-linux-x64-musl":"0.3.9","@mariozechner/clipboard-win32-x64-msvc":"0.3.9","@mariozechner/clipboard-linux-arm64-gnu":"0.3.9","@anthropic-ai/claude-agent-sdk-linux-x64":"0.3.238","@anthropic-ai/claude-agent-sdk-win32-x64":"0.3.238","@mariozechner/clipboard-darwin-universal":"0.3.9","@mariozechner/clipboard-linux-arm64-musl":"0.3.9","@mariozechner/clipboard-win32-arm64-msvc":"0.3.9","@anthropic-ai/claude-agent-sdk-darwin-x64":"0.3.238","@mariozechner/clipboard-linux-riscv64-gnu":"0.3.9","@anthropic-ai/claude-agent-sdk-linux-arm64":"0.3.238","@anthropic-ai/claude-agent-sdk-win32-arm64":"0.3.238","@anthropic-ai/claude-agent-sdk-darwin-arm64":"0.3.238","@anthropic-ai/claude-agent-sdk-linux-x64-musl":"0.3.238","@anthropic-ai/claude-agent-sdk-linux-arm64-musl":"0.3.238"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.8.23_1787486598062_0.09727741835550452","host":"s3://npm-registry-packages-npm-production"}},"2026.8.24":{"name":"@code-yeongyu/senpi","version":"2026.8.24","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.8.24","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"senpi":"dist/cli.js"},"dist":{"shasum":"e3036e74721ae0f4cf21e851bc74598f9a86697e","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.8.24.tgz","fileCount":23916,"integrity":"sha512-xVpN7gdYUpnHbxKKwoTjjB3dnoD6CIP40oV4sPO8DsR/vj2jO6IjYOOUcnSB5Pwmz1nxkEDFM3HchqWKLMzpQQ==","signatures":[{"sig":"MEUCIQCBmzYkFGSK4XjnX/rVqEMl5knffMbeEn9CC4S20DLlPwIgfa0fkbJC6m9d8GZ45LyCsK8pl9z6d9YV6QUQpIX3lfc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.8.24","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":166288399},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.js"},"./rpc-entry":{"import":"./dist/rpc-entry.js"}},"scripts":{"dev":"tsc -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsc -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js dist/rpc-entry.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/","build:binary":"npm --prefix ../tui run build && npm --prefix ../telemetry run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm --prefix ../protocol run build && npm --prefix ../client run build && npm --prefix ../pty run build && npm run build && node ../../scripts/prepare-bun-compile-assets.mjs && bun build --compile --compile-autoload-package-json --no-compile-autoload-dotenv --no-compile-autoload-bunfig --minify --keep-names ./dist/bun/cli.js ./src/utils/image-resize-worker.ts ../../node_modules/jsdom/lib/jsdom/living/xhr/xhr-sync-worker.js --outfile dist/pi && npm run copy-binary-assets","qa:app-server":"node scripts/qa-app-server/run-all.mjs","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/export-html/ && shx cp -r docs dist/ && shx cp -r examples dist/ && shx mkdir -p dist/node_modules && shx cp -r ../../node_modules/css-tree ../../node_modules/mdn-data ../../node_modules/source-map-js dist/node_modules/ && node ../../scripts/copy-codemode-sidecar.mjs dist && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/ && shx mkdir -p dist/native/darwin dist/native/win32 && shx cp -r ../../packages/tui/native/darwin/prebuilds dist/native/darwin/ && shx cp -r ../../packages/tui/native/win32/prebuilds dist/native/win32/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/ && node ../../scripts/copy-pty-native.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ea548fc8-dac4-4dec-a439-6f4fa3870309"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.3"},"rimraf":"6.1.3","protobufjs":"7.6.5","@hono/node-server":"2.1.1"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.17.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.19.0","dependencies":{"ms":"2.1.3","qs":"6.15.3","ws":"8.21.3","ajv":"8.20.0","jwa":"2.0.1","jws":"4.0.1","zod":"4.4.3","cors":"2.8.6","depd":"2.0.0","diff":"9.0.0","etag":"1.8.1","glob":"13.0.6","gopd":"1.2.0","hono":"4.12.27","jiti":"2.7.0","jose":"6.2.3","long":"5.3.2","once":"1.4.0","send":"1.2.1","tr46":"6.0.0","vary":"1.1.2","yaml":"2.9.0","bytes":"3.1.2","chalk":"6.0.0","debug":"4.4.3","fresh":"2.0.0","isexe":"2.0.0","jsdom":"30.0.1","retry":"0.13.1","saxes":"6.0.0","tldts":"7.4.10","tslib":"2.8.1","which":"2.0.2","bowser":"2.14.1","cookie":"0.7.2","extend":"3.0.2","gaxios":"7.1.4","hasown":"2.0.3","ignore":"7.0.6","marked":"18.0.10","openai":"6.26.0","parse5":"8.0.1","router":"2.2.0","semver":"7.8.5","undici":"8.10.0","unpipe":"1.0.0","wrappy":"1.0.2","accepts":"2.0.0","bidi-js":"1.0.3","express":"5.2.1","mime-db":"1.54.0","p-retry":"4.6.2","type-is":"2.1.0","typebox":"1.3.18","css-tree":"3.2.1","ee-first":"1.1.1","entities":"8.0.0","fast-uri":"3.1.4","inherits":"2.0.4","mdn-data":"2.27.1","minipass":"7.1.3","parseurl":"1.3.3","path-key":"3.1.1","punycode":"2.3.1","raw-body":"3.0.2","statuses":"2.0.2","turndown":"7.2.4","xmlchars":"2.2.0","base64-js":"1.5.1","data-urls":"7.0.0","encodeurl":"2.0.0","es-errors":"1.3.0","forwarded":"0.2.0","get-proto":"1.0.1","ipaddr.js":"1.9.1","lru-cache":"11.5.2","minimatch":"10.2.6","picomatch":"4.0.5","agent-base":"7.1.4","call-bound":"1.0.4","decimal.js":"10.6.0","fetch-blob":"3.2.0","iconv-lite":"0.7.3","ip-address":"10.2.0","is-promise":"4.0.0","mime-types":"3.0.2","negotiator":"1.0.0","node-fetch":"3.3.2","protobufjs":"7.6.5","proxy-addr":"2.0.7","tldts-core":"7.4.10","ts-algebra":"2.0.0","whatwg-url":"16.0.1","@types/node":"26.2.0","ajv-formats":"3.0.1","body-parser":"2.3.0","cross-spawn":"7.0.6","escape-html":"1.0.3","eventsource":"3.0.7","graceful-fs":"4.2.11","has-symbols":"1.1.0","http-errors":"2.0.1","json-bigint":"1.0.0","media-typer":"1.1.0","on-finished":"2.4.1","path-scurry":"2.0.2","safe-buffer":"5.2.1","signal-exit":"3.0.7","symbol-tree":"3.2.4","@smithy/core":"3.33.3","bignumber.js":"9.3.1","content-type":"1.0.5","dunder-proto":"1.0.1","finalhandler":"2.1.1","gcp-metadata":"8.1.2","grok-mermaid":"0.2.3","highlight.js":"11.12.0","partial-json":"0.1.7","range-parser":"1.3.0","safer-buffer":"2.1.2","serve-static":"2.2.1","side-channel":"1.1.1","toidentifier":"1.0.1","tough-cookie":"6.0.2","@aws-sdk/core":"3.977.9","@exodus/bytes":"1.15.1","@google/genai":"2.18.0","@smithy/types":"4.17.2","function-bind":"1.1.2","get-intrinsic":"1.3.0","object-assign":"4.1.1","shebang-regex":"3.0.0","source-map-js":"1.2.1","@aws-sdk/types":"3.974.5","@babel/runtime":"7.29.2","balanced-match":"4.0.4","object-inspect":"1.13.4","path-to-regexp":"8.4.2","pkce-challenge":"5.0.1","proxy-from-env":"2.1.0","setprototypeof":"1.2.0","@xterm/headless":"6.0.0","brace-expansion":"5.0.9","es-object-atoms":"1.1.2","fast-deep-equal":"3.1.3","hosted-git-info":"10.1.1","math-intrinsics":"1.1.0","proper-lockfile":"4.1.2","shebang-command":"2.0.0","whatwg-mimetype":"5.0.0","@protobufjs/path":"1.1.2","@protobufjs/pool":"1.1.0","@protobufjs/utf8":"1.1.1","cookie-signature":"1.2.2","http-proxy-agent":"9.1.0","side-channel-map":"1.0.1","@anthropic-ai/sdk":"0.91.1","@hono/node-server":"2.1.1","@protobufjs/fetch":"1.1.1","@protobufjs/float":"1.0.2","formdata-polyfill":"4.0.10","https-proxy-agent":"9.1.0","json-schema-to-ts":"3.1.1","json-schema-typed":"8.0.2","merge-descriptors":"2.0.0","node-domexception":"1.0.0","side-channel-list":"1.0.1","w3c-xmlserializer":"5.0.0","@bufbuild/protobuf":"2.14.0","@csstools/css-calc":"3.3.0","@mixmark-io/domino":"2.2.0","@opentelemetry/api":"1.9.1","@protobufjs/base64":"1.1.2","data-uri-to-buffer":"4.0.1","es-define-property":"1.0.1","eventsource-parser":"3.1.0","express-rate-limit":"8.5.2","webidl-conversions":"8.0.1","xml-name-validator":"5.0.0","zod-to-json-schema":"3.25.2","@bramus/specificity":"2.4.2","@protobufjs/codegen":"2.0.5","content-disposition":"1.1.0","ecdsa-sig-formatter":"1.0.11","google-auth-library":"10.6.2","require-from-string":"2.0.2","@aws-sdk/xml-builder":"3.972.40","@mozilla/readability":"0.6.0","@smithy/signature-v4":"5.7.3","get-east-asian-width":"1.6.0","google-logging-utils":"1.1.3","json-schema-traverse":"1.0.0","side-channel-weakmap":"1.0.2","web-streams-polyfill":"3.3.3","@asamuzakjp/css-color":"6.0.7","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.8.24","@protobufjs/aspromise":"1.1.2","html-encoding-sniffer":"6.0.0","proxy-agent-negotiate":"1.1.0","@earendil-works/pi-pty":"npm:@code-yeongyu/senpi-pty@2026.8.24","@earendil-works/pi-tui":"npm:@code-yeongyu/senpi-tui@2026.8.24","@aws-sdk/nested-clients":"3.997.44","@csstools/color-helpers":"6.1.1","@csstools/css-tokenizer":"4.0.0","@mariozechner/clipboard":"*","call-bind-apply-helpers":"1.0.2","@asamuzakjp/dom-selector":"8.3.2","@aws-sdk/token-providers":"3.1116.0","@aws/lambda-invoke-store":"0.3.0","@protobufjs/eventemitter":"1.1.1","@modelcontextprotocol/sdk":"1.30.0","@smithy/node-http-handler":"4.11.3","@csstools/css-color-parser":"4.2.0","@silvia-odwyer/photon-node":"0.3.4","@smithy/fetch-http-handler":"5.7.2","buffer-equal-constant-time":"1.0.1","@code-yeongyu/senpi-codemode":"2026.8.24","@earendil-works/pi-telemetry":"npm:@code-yeongyu/senpi-telemetry@2026.8.24","@aws-sdk/middleware-websocket":"3.972.52","@earendil-works/pi-agent-core":"npm:@code-yeongyu/senpi-agent-core@2026.8.24","@anthropic-ai/claude-agent-sdk":"0.3.241","@aws-sdk/client-bedrock-runtime":"3.1116.0","@aws-sdk/middleware-eventstream":"3.972.29","@csstools/css-parser-algorithms":"4.0.0","@aws-sdk/credential-provider-env":"3.972.70","@aws-sdk/credential-provider-ini":"3.973.15","@aws-sdk/credential-provider-sso":"3.973.14","@smithy/credential-provider-imds":"4.5.2","is-potential-custom-element-name":"1.0.1","@aws-sdk/credential-provider-http":"3.972.72","@aws-sdk/credential-provider-node":"3.972.81","@aws-sdk/eventstream-handler-node":"3.972.34","@aws-sdk/credential-provider-login":"3.972.77","@aws-sdk/signature-v4-multi-region":"3.996.46","@aws-sdk/credential-provider-process":"3.972.70","@csstools/css-syntax-patches-for-csstree":"1.1.8","@aws-sdk/credential-provider-web-identity":"3.972.76"},"_hasShrinkwrap":false,"devDependencies":{"shx":"0.4.0","vitest":"4.1.11","@types/ws":"8.18.1","typescript":"7.0.2","@types/node":"26.2.0","@types/jsdom":"30.0.0","@types/semver":"7.8.0","@types/turndown":"5.0.6","@types/picomatch":"4.0.3","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@anthropic-ai/claude-agent-sdk","@anthropic-ai/sdk","@asamuzakjp/css-color","@asamuzakjp/dom-selector","@aws-sdk/client-bedrock-runtime","@aws-sdk/core","@aws-sdk/credential-provider-env","@aws-sdk/credential-provider-http","@aws-sdk/credential-provider-ini","@aws-sdk/credential-provider-login","@aws-sdk/credential-provider-node","@aws-sdk/credential-provider-process","@aws-sdk/credential-provider-sso","@aws-sdk/credential-provider-web-identity","@aws-sdk/eventstream-handler-node","@aws-sdk/middleware-eventstream","@aws-sdk/middleware-websocket","@aws-sdk/nested-clients","@aws-sdk/signature-v4-multi-region","@aws-sdk/token-providers","@aws-sdk/types","@aws-sdk/xml-builder","@aws/lambda-invoke-store","@babel/runtime","@bramus/specificity","@bufbuild/protobuf","@code-yeongyu/senpi-codemode","@csstools/color-helpers","@csstools/css-calc","@csstools/css-color-parser","@csstools/css-parser-algorithms","@csstools/css-syntax-patches-for-csstree","@csstools/css-tokenizer","@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-pty","@earendil-works/pi-telemetry","@earendil-works/pi-tui","@exodus/bytes","@google/genai","@hono/node-server","@mariozechner/clipboard","@mixmark-io/domino","@modelcontextprotocol/sdk","@mozilla/readability","@opentelemetry/api","@protobufjs/aspromise","@protobufjs/base64","@protobufjs/codegen","@protobufjs/eventemitter","@protobufjs/fetch","@protobufjs/float","@protobufjs/path","@protobufjs/pool","@protobufjs/utf8","@silvia-odwyer/photon-node","@smithy/core","@smithy/credential-provider-imds","@smithy/fetch-http-handler","@smithy/node-http-handler","@smithy/signature-v4","@smithy/types","@types/node","@xterm/headless","accepts","agent-base","ajv","ajv-formats","balanced-match","base64-js","bidi-js","bignumber.js","body-parser","bowser","brace-expansion","buffer-equal-constant-time","bytes","call-bind-apply-helpers","call-bound","chalk","content-disposition","content-type","cookie","cookie-signature","cors","cross-spawn","css-tree","data-uri-to-buffer","data-urls","debug","decimal.js","depd","diff","dunder-proto","ecdsa-sig-formatter","ee-first","encodeurl","entities","es-define-property","es-errors","es-object-atoms","escape-html","etag","eventsource","eventsource-parser","express","express-rate-limit","extend","fast-deep-equal","fast-uri","fetch-blob","finalhandler","formdata-polyfill","forwarded","fresh","function-bind","gaxios","gcp-metadata","get-east-asian-width","get-intrinsic","get-proto","glob","google-auth-library","google-logging-utils","gopd","graceful-fs","grok-mermaid","has-symbols","hasown","highlight.js","hono","hosted-git-info","html-encoding-sniffer","http-errors","http-proxy-agent","https-proxy-agent","iconv-lite","ignore","inherits","ip-address","ipaddr.js","is-potential-custom-element-name","is-promise","isexe","jiti","jose","jsdom","json-bigint","json-schema-to-ts","json-schema-traverse","json-schema-typed","jwa","jws","long","lru-cache","marked","math-intrinsics","mdn-data","media-typer","merge-descriptors","mime-db","mime-types","minimatch","minipass","ms","negotiator","node-domexception","node-fetch","object-assign","object-inspect","on-finished","once","openai","p-retry","parse5","parseurl","partial-json","path-key","path-scurry","path-to-regexp","picomatch","pkce-challenge","proper-lockfile","protobufjs","proxy-addr","proxy-agent-negotiate","proxy-from-env","punycode","qs","range-parser","raw-body","require-from-string","retry","router","safe-buffer","safer-buffer","saxes","semver","send","serve-static","setprototypeof","shebang-command","shebang-regex","side-channel","side-channel-list","side-channel-map","side-channel-weakmap","signal-exit","source-map-js","statuses","symbol-tree","tldts","tldts-core","toidentifier","tough-cookie","tr46","ts-algebra","tslib","turndown","type-is","typebox","undici","unpipe","vary","w3c-xmlserializer","web-streams-polyfill","webidl-conversions","whatwg-mimetype","whatwg-url","which","wrappy","ws","xml-name-validator","xmlchars","yaml","zod","zod-to-json-schema"],"optionalDependencies":{"@mariozechner/clipboard":"0.3.9","@mariozechner/clipboard-darwin-x64":"0.3.9","@mariozechner/clipboard-darwin-arm64":"0.3.9","@mariozechner/clipboard-linux-x64-gnu":"0.3.9","@mariozechner/clipboard-linux-x64-musl":"0.3.9","@mariozechner/clipboard-win32-x64-msvc":"0.3.9","@mariozechner/clipboard-linux-arm64-gnu":"0.3.9","@anthropic-ai/claude-agent-sdk-linux-x64":"0.3.241","@anthropic-ai/claude-agent-sdk-win32-x64":"0.3.241","@mariozechner/clipboard-darwin-universal":"0.3.9","@mariozechner/clipboard-linux-arm64-musl":"0.3.9","@mariozechner/clipboard-win32-arm64-msvc":"0.3.9","@anthropic-ai/claude-agent-sdk-darwin-x64":"0.3.241","@mariozechner/clipboard-linux-riscv64-gnu":"0.3.9","@anthropic-ai/claude-agent-sdk-linux-arm64":"0.3.241","@anthropic-ai/claude-agent-sdk-win32-arm64":"0.3.241","@anthropic-ai/claude-agent-sdk-darwin-arm64":"0.3.241","@anthropic-ai/claude-agent-sdk-linux-x64-musl":"0.3.241","@anthropic-ai/claude-agent-sdk-linux-arm64-musl":"0.3.241"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.8.24_1787592764851_0.41676043860755674","host":"s3://npm-registry-packages-npm-production"}},"2026.8.25":{"name":"@code-yeongyu/senpi","version":"2026.8.25","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.8.25","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"pi":"dist/bundle/cli.js","senpi":"dist/cli.js"},"dist":{"shasum":"6649e386213c7e3ba26703a16c580be03e8eb26e","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.8.25.tgz","fileCount":23980,"integrity":"sha512-qq8ZNFZAUo4QuEYd8gi4xzSJVV7FX6YgbU3LzmOCerzTweIEFtTpVq3tjARxBdL02ArwI9DUJhp34wkPV9Yt8g==","signatures":[{"sig":"MEUCIQDB+B5Swe/1yWsNmkygjyn5mmeqjDJSCKaxFTeEVelHOQIgXDsI+DeojDd54ncntPXhqhft6tRwSwC6WR0P+c6RZtk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.8.25","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":166613918},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.js"},"./rpc-entry":{"import":"./dist/rpc-entry.js"}},"scripts":{"dev":"tsc -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsc -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js dist/rpc-entry.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/","build:binary":"npm --prefix ../tui run build && npm --prefix ../telemetry run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm --prefix ../protocol run build && npm --prefix ../client run build && npm --prefix ../pty run build && npm run build && node ../../scripts/prepare-bun-compile-assets.mjs && bun build --compile --compile-autoload-package-json --no-compile-autoload-dotenv --no-compile-autoload-bunfig --minify --keep-names ./dist/bun/cli.js ./src/utils/image-resize-worker.ts ../../node_modules/jsdom/lib/jsdom/living/xhr/xhr-sync-worker.js --outfile dist/pi && npm run copy-binary-assets","qa:app-server":"node scripts/qa-app-server/run-all.mjs","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","build:unbundled":"tsgo -p tsconfig.build.json && shx chmod +x dist/cli.js dist/rpc-entry.js && npm run copy-assets","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/export-html/ && shx cp -r docs dist/ && shx cp -r examples dist/ && shx mkdir -p dist/node_modules && shx cp -r ../../node_modules/css-tree ../../node_modules/mdn-data ../../node_modules/source-map-js dist/node_modules/ && node ../../scripts/copy-codemode-sidecar.mjs dist && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/ && shx mkdir -p dist/native/darwin dist/native/win32 && shx cp -r ../../packages/tui/native/darwin/prebuilds dist/native/darwin/ && shx cp -r ../../packages/tui/native/win32/prebuilds dist/native/win32/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/ && node ../../scripts/copy-pty-native.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ea548fc8-dac4-4dec-a439-6f4fa3870309"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.3"},"rimraf":"6.1.3","protobufjs":"7.6.5","@hono/node-server":"2.1.1"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.17.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.19.0","dependencies":{"ms":"2.1.3","qs":"6.15.3","ws":"8.21.3","ajv":"8.20.0","jwa":"2.0.1","jws":"4.0.1","zod":"4.4.3","cors":"2.8.6","depd":"2.0.0","diff":"9.0.0","etag":"1.8.1","glob":"13.0.6","gopd":"1.2.0","hono":"4.12.27","jiti":"2.7.0","jose":"6.2.3","long":"5.3.2","once":"1.4.0","send":"1.2.1","tr46":"6.0.0","vary":"1.1.2","yaml":"2.9.0","bytes":"3.1.2","chalk":"6.0.0","debug":"4.4.3","fresh":"2.0.0","isexe":"2.0.0","jsdom":"30.0.1","retry":"0.13.1","saxes":"6.0.0","tldts":"7.4.10","tslib":"2.8.1","which":"2.0.2","bowser":"2.14.1","cookie":"0.7.2","extend":"3.0.2","gaxios":"7.1.4","hasown":"2.0.3","ignore":"7.0.6","marked":"18.0.10","openai":"6.26.0","parse5":"8.0.1","router":"2.2.0","semver":"7.8.5","undici":"8.10.0","unpipe":"1.0.0","wrappy":"1.0.2","accepts":"2.0.0","bidi-js":"1.0.3","express":"5.2.1","mime-db":"1.54.0","p-retry":"4.6.2","type-is":"2.1.0","typebox":"1.3.18","css-tree":"3.2.1","ee-first":"1.1.1","entities":"8.0.0","fast-uri":"3.1.4","inherits":"2.0.4","mdn-data":"2.27.1","minipass":"7.1.3","parseurl":"1.3.3","path-key":"3.1.1","punycode":"2.3.1","raw-body":"3.0.2","statuses":"2.0.2","turndown":"7.2.4","xmlchars":"2.2.0","base64-js":"1.5.1","data-urls":"7.0.0","encodeurl":"2.0.0","es-errors":"1.3.0","forwarded":"0.2.0","get-proto":"1.0.1","ipaddr.js":"1.9.1","lru-cache":"11.5.2","minimatch":"10.2.6","picomatch":"4.0.5","agent-base":"7.1.4","call-bound":"1.0.4","decimal.js":"10.6.0","fetch-blob":"3.2.0","iconv-lite":"0.7.3","ip-address":"10.2.0","is-promise":"4.0.0","mime-types":"3.0.2","negotiator":"1.0.0","node-fetch":"3.3.2","protobufjs":"7.6.5","proxy-addr":"2.0.7","tldts-core":"7.4.10","ts-algebra":"2.0.0","whatwg-url":"16.0.1","@types/node":"26.2.0","ajv-formats":"3.0.1","body-parser":"2.3.0","cross-spawn":"7.0.6","escape-html":"1.0.3","eventsource":"3.0.7","graceful-fs":"4.2.11","has-symbols":"1.1.0","http-errors":"2.0.1","json-bigint":"1.0.0","media-typer":"1.1.0","on-finished":"2.4.1","path-scurry":"2.0.2","safe-buffer":"5.2.1","signal-exit":"3.0.7","symbol-tree":"3.2.4","@smithy/core":"3.33.3","bignumber.js":"9.3.1","content-type":"1.0.5","dunder-proto":"1.0.1","finalhandler":"2.1.1","gcp-metadata":"8.1.2","grok-mermaid":"0.2.3","highlight.js":"11.12.0","partial-json":"0.1.7","range-parser":"1.3.0","safer-buffer":"2.1.2","serve-static":"2.2.1","side-channel":"1.1.1","toidentifier":"1.0.1","tough-cookie":"6.0.2","@aws-sdk/core":"3.977.9","@exodus/bytes":"1.15.1","@google/genai":"2.18.0","@smithy/types":"4.17.2","function-bind":"1.1.2","get-intrinsic":"1.3.0","object-assign":"4.1.1","shebang-regex":"3.0.0","source-map-js":"1.2.1","@aws-sdk/types":"3.974.5","@babel/runtime":"7.29.2","balanced-match":"4.0.4","object-inspect":"1.13.4","path-to-regexp":"8.4.2","pkce-challenge":"5.0.1","proxy-from-env":"2.1.0","setprototypeof":"1.2.0","@xterm/headless":"6.0.0","brace-expansion":"5.0.9","es-object-atoms":"1.1.2","fast-deep-equal":"3.1.3","hosted-git-info":"10.1.1","math-intrinsics":"1.1.0","proper-lockfile":"4.1.2","shebang-command":"2.0.0","whatwg-mimetype":"5.0.0","@protobufjs/path":"1.1.2","@protobufjs/pool":"1.1.0","@protobufjs/utf8":"1.1.1","cookie-signature":"1.2.2","http-proxy-agent":"9.1.0","side-channel-map":"1.0.1","@anthropic-ai/sdk":"0.91.1","@hono/node-server":"2.1.1","@protobufjs/fetch":"1.1.1","@protobufjs/float":"1.0.2","formdata-polyfill":"4.0.10","https-proxy-agent":"9.1.0","json-schema-to-ts":"3.1.1","json-schema-typed":"8.0.2","merge-descriptors":"2.0.0","node-domexception":"1.0.0","side-channel-list":"1.0.1","w3c-xmlserializer":"5.0.0","@bufbuild/protobuf":"2.14.0","@csstools/css-calc":"3.3.0","@mixmark-io/domino":"2.2.0","@opentelemetry/api":"1.9.1","@protobufjs/base64":"1.1.2","data-uri-to-buffer":"4.0.1","es-define-property":"1.0.1","eventsource-parser":"3.1.0","express-rate-limit":"8.5.2","webidl-conversions":"8.0.1","xml-name-validator":"5.0.0","zod-to-json-schema":"3.25.2","@bramus/specificity":"2.4.2","@protobufjs/codegen":"2.0.5","content-disposition":"1.1.0","ecdsa-sig-formatter":"1.0.11","google-auth-library":"10.6.2","require-from-string":"2.0.2","@aws-sdk/xml-builder":"3.972.40","@mozilla/readability":"0.6.0","@smithy/signature-v4":"5.7.3","get-east-asian-width":"1.6.0","google-logging-utils":"1.1.3","json-schema-traverse":"1.0.0","side-channel-weakmap":"1.0.2","web-streams-polyfill":"3.3.3","@asamuzakjp/css-color":"6.0.7","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.8.25","@protobufjs/aspromise":"1.1.2","html-encoding-sniffer":"6.0.0","proxy-agent-negotiate":"1.1.0","@earendil-works/pi-pty":"npm:@code-yeongyu/senpi-pty@2026.8.25","@earendil-works/pi-tui":"npm:@code-yeongyu/senpi-tui@2026.8.25","@aws-sdk/nested-clients":"3.997.44","@csstools/color-helpers":"6.1.1","@csstools/css-tokenizer":"4.0.0","@mariozechner/clipboard":"*","call-bind-apply-helpers":"1.0.2","@asamuzakjp/dom-selector":"8.3.2","@aws-sdk/token-providers":"3.1116.0","@aws/lambda-invoke-store":"0.3.0","@protobufjs/eventemitter":"1.1.1","@modelcontextprotocol/sdk":"1.30.0","@smithy/node-http-handler":"4.11.3","@csstools/css-color-parser":"4.2.0","@silvia-odwyer/photon-node":"0.3.4","@smithy/fetch-http-handler":"5.7.2","buffer-equal-constant-time":"1.0.1","@code-yeongyu/senpi-codemode":"2026.8.25","@earendil-works/pi-telemetry":"npm:@code-yeongyu/senpi-telemetry@2026.8.25","@aws-sdk/middleware-websocket":"3.972.52","@earendil-works/pi-agent-core":"npm:@code-yeongyu/senpi-agent-core@2026.8.25","@anthropic-ai/claude-agent-sdk":"0.3.241","@aws-sdk/client-bedrock-runtime":"3.1116.0","@aws-sdk/middleware-eventstream":"3.972.29","@csstools/css-parser-algorithms":"4.0.0","@aws-sdk/credential-provider-env":"3.972.70","@aws-sdk/credential-provider-ini":"3.973.15","@aws-sdk/credential-provider-sso":"3.973.14","@smithy/credential-provider-imds":"4.5.2","is-potential-custom-element-name":"1.0.1","@aws-sdk/credential-provider-http":"3.972.72","@aws-sdk/credential-provider-node":"3.972.81","@aws-sdk/eventstream-handler-node":"3.972.34","@aws-sdk/credential-provider-login":"3.972.77","@aws-sdk/signature-v4-multi-region":"3.996.46","@aws-sdk/credential-provider-process":"3.972.70","@csstools/css-syntax-patches-for-csstree":"1.1.8","@aws-sdk/credential-provider-web-identity":"3.972.76"},"_hasShrinkwrap":false,"devDependencies":{"shx":"0.4.0","vitest":"4.1.11","@types/ws":"8.18.1","typescript":"7.0.2","@types/node":"26.2.0","@types/jsdom":"30.0.0","@types/semver":"7.8.0","@types/turndown":"5.0.6","@types/picomatch":"4.0.3","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@anthropic-ai/claude-agent-sdk","@anthropic-ai/sdk","@asamuzakjp/css-color","@asamuzakjp/dom-selector","@aws-sdk/client-bedrock-runtime","@aws-sdk/core","@aws-sdk/credential-provider-env","@aws-sdk/credential-provider-http","@aws-sdk/credential-provider-ini","@aws-sdk/credential-provider-login","@aws-sdk/credential-provider-node","@aws-sdk/credential-provider-process","@aws-sdk/credential-provider-sso","@aws-sdk/credential-provider-web-identity","@aws-sdk/eventstream-handler-node","@aws-sdk/middleware-eventstream","@aws-sdk/middleware-websocket","@aws-sdk/nested-clients","@aws-sdk/signature-v4-multi-region","@aws-sdk/token-providers","@aws-sdk/types","@aws-sdk/xml-builder","@aws/lambda-invoke-store","@babel/runtime","@bramus/specificity","@bufbuild/protobuf","@code-yeongyu/senpi-codemode","@csstools/color-helpers","@csstools/css-calc","@csstools/css-color-parser","@csstools/css-parser-algorithms","@csstools/css-syntax-patches-for-csstree","@csstools/css-tokenizer","@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-pty","@earendil-works/pi-telemetry","@earendil-works/pi-tui","@exodus/bytes","@google/genai","@hono/node-server","@mariozechner/clipboard","@mixmark-io/domino","@modelcontextprotocol/sdk","@mozilla/readability","@opentelemetry/api","@protobufjs/aspromise","@protobufjs/base64","@protobufjs/codegen","@protobufjs/eventemitter","@protobufjs/fetch","@protobufjs/float","@protobufjs/path","@protobufjs/pool","@protobufjs/utf8","@silvia-odwyer/photon-node","@smithy/core","@smithy/credential-provider-imds","@smithy/fetch-http-handler","@smithy/node-http-handler","@smithy/signature-v4","@smithy/types","@types/node","@xterm/headless","accepts","agent-base","ajv","ajv-formats","balanced-match","base64-js","bidi-js","bignumber.js","body-parser","bowser","brace-expansion","buffer-equal-constant-time","bytes","call-bind-apply-helpers","call-bound","chalk","content-disposition","content-type","cookie","cookie-signature","cors","cross-spawn","css-tree","data-uri-to-buffer","data-urls","debug","decimal.js","depd","diff","dunder-proto","ecdsa-sig-formatter","ee-first","encodeurl","entities","es-define-property","es-errors","es-object-atoms","escape-html","etag","eventsource","eventsource-parser","express","express-rate-limit","extend","fast-deep-equal","fast-uri","fetch-blob","finalhandler","formdata-polyfill","forwarded","fresh","function-bind","gaxios","gcp-metadata","get-east-asian-width","get-intrinsic","get-proto","glob","google-auth-library","google-logging-utils","gopd","graceful-fs","grok-mermaid","has-symbols","hasown","highlight.js","hono","hosted-git-info","html-encoding-sniffer","http-errors","http-proxy-agent","https-proxy-agent","iconv-lite","ignore","inherits","ip-address","ipaddr.js","is-potential-custom-element-name","is-promise","isexe","jiti","jose","jsdom","json-bigint","json-schema-to-ts","json-schema-traverse","json-schema-typed","jwa","jws","long","lru-cache","marked","math-intrinsics","mdn-data","media-typer","merge-descriptors","mime-db","mime-types","minimatch","minipass","ms","negotiator","node-domexception","node-fetch","object-assign","object-inspect","on-finished","once","openai","p-retry","parse5","parseurl","partial-json","path-key","path-scurry","path-to-regexp","picomatch","pkce-challenge","proper-lockfile","protobufjs","proxy-addr","proxy-agent-negotiate","proxy-from-env","punycode","qs","range-parser","raw-body","require-from-string","retry","router","safe-buffer","safer-buffer","saxes","semver","send","serve-static","setprototypeof","shebang-command","shebang-regex","side-channel","side-channel-list","side-channel-map","side-channel-weakmap","signal-exit","source-map-js","statuses","symbol-tree","tldts","tldts-core","toidentifier","tough-cookie","tr46","ts-algebra","tslib","turndown","type-is","typebox","undici","unpipe","vary","w3c-xmlserializer","web-streams-polyfill","webidl-conversions","whatwg-mimetype","whatwg-url","which","wrappy","ws","xml-name-validator","xmlchars","yaml","zod","zod-to-json-schema"],"optionalDependencies":{"@mariozechner/clipboard":"0.3.9","@mariozechner/clipboard-darwin-x64":"0.3.9","@mariozechner/clipboard-darwin-arm64":"0.3.9","@mariozechner/clipboard-linux-x64-gnu":"0.3.9","@mariozechner/clipboard-linux-x64-musl":"0.3.9","@mariozechner/clipboard-win32-x64-msvc":"0.3.9","@mariozechner/clipboard-linux-arm64-gnu":"0.3.9","@anthropic-ai/claude-agent-sdk-linux-x64":"0.3.241","@anthropic-ai/claude-agent-sdk-win32-x64":"0.3.241","@mariozechner/clipboard-darwin-universal":"0.3.9","@mariozechner/clipboard-linux-arm64-musl":"0.3.9","@mariozechner/clipboard-win32-arm64-msvc":"0.3.9","@anthropic-ai/claude-agent-sdk-darwin-x64":"0.3.241","@mariozechner/clipboard-linux-riscv64-gnu":"0.3.9","@anthropic-ai/claude-agent-sdk-linux-arm64":"0.3.241","@anthropic-ai/claude-agent-sdk-win32-arm64":"0.3.241","@anthropic-ai/claude-agent-sdk-darwin-arm64":"0.3.241","@anthropic-ai/claude-agent-sdk-linux-x64-musl":"0.3.241","@anthropic-ai/claude-agent-sdk-linux-arm64-musl":"0.3.241"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.8.25_1787671773853_0.608239787286909","host":"s3://npm-registry-packages-npm-production"}},"2026.8.26":{"name":"@code-yeongyu/senpi","version":"2026.8.26","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.8.26","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"pi":"dist/bundle/cli.js","senpi":"dist/cli.js"},"dist":{"shasum":"d002a03d7088d39101f76ddf6b957ede7a4d8ec3","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.8.26.tgz","fileCount":24524,"integrity":"sha512-6+CiFrscCVDXQP1cJluhxxUIyvj1OLWVGCQg80VO5rdoq3c4xxNkFGwSEaziuWFcS7eZbUv0gt3LxpPpHO5daQ==","signatures":[{"sig":"MEQCIGUoZ3ntGACrcBYkzXWEqjEFFGc03vkl6yJbJMP5pzz4AiAU2MzJBtqLN82pmFBboIT/V7RtHCJ7MqVe2OnRzCRBEQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.8.26","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":170484774},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.js"},"./rpc-entry":{"import":"./dist/rpc-entry.js"}},"scripts":{"dev":"tsc -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsc -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js dist/rpc-entry.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/","build:binary":"npm --prefix ../tui run build && npm --prefix ../telemetry run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm --prefix ../protocol run build && npm --prefix ../client run build && npm --prefix ../pty run build && npm run build && node ../../scripts/prepare-bun-compile-assets.mjs && bun build --compile --compile-autoload-package-json --no-compile-autoload-dotenv --no-compile-autoload-bunfig --minify --keep-names ./dist/bun/cli.js ./src/utils/image-resize-worker.ts ../../node_modules/jsdom/lib/jsdom/living/xhr/xhr-sync-worker.js --outfile dist/pi && npm run copy-binary-assets","qa:app-server":"node scripts/qa-app-server/run-all.mjs","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","build:unbundled":"tsgo -p tsconfig.build.json && shx chmod +x dist/cli.js dist/rpc-entry.js && npm run copy-assets","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/export-html/ && shx cp -r docs dist/ && shx cp -r examples dist/ && shx mkdir -p dist/node_modules && shx cp -r ../../node_modules/css-tree ../../node_modules/mdn-data ../../node_modules/source-map-js dist/node_modules/ && node ../../scripts/copy-codemode-sidecar.mjs dist && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/ && shx mkdir -p dist/native/darwin dist/native/win32 && shx cp -r ../../packages/tui/native/darwin/prebuilds dist/native/darwin/ && shx cp -r ../../packages/tui/native/win32/prebuilds dist/native/win32/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/ && node ../../scripts/copy-pty-native.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ea548fc8-dac4-4dec-a439-6f4fa3870309"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.3"},"rimraf":"6.1.3","protobufjs":"7.6.5","@hono/node-server":"2.1.1"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.17.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.19.0","dependencies":{"ms":"2.1.3","qs":"6.15.3","ws":"8.21.3","ajv":"8.20.0","jwa":"2.0.1","jws":"4.0.1","zod":"4.4.3","cors":"2.8.6","depd":"2.0.0","diff":"9.0.0","etag":"1.8.1","glob":"13.0.6","gopd":"1.2.0","hono":"4.12.27","jiti":"2.7.0","jose":"6.2.3","long":"5.3.2","once":"1.4.0","send":"1.2.1","tr46":"6.0.0","vary":"1.1.2","yaml":"2.9.0","bytes":"3.1.2","chalk":"6.0.0","debug":"4.4.3","fresh":"2.0.0","isexe":"2.0.0","jsdom":"30.0.1","retry":"0.13.1","saxes":"6.0.0","tldts":"7.4.10","tslib":"2.8.1","which":"2.0.2","bowser":"2.14.1","cookie":"0.7.2","extend":"3.0.2","gaxios":"7.1.4","hasown":"2.0.3","ignore":"7.0.6","marked":"18.0.10","openai":"6.26.0","parse5":"8.0.1","router":"2.2.0","semver":"7.8.5","undici":"8.10.0","unpipe":"1.0.0","wrappy":"1.0.2","accepts":"2.0.0","bidi-js":"1.0.3","express":"5.2.1","mime-db":"1.54.0","p-retry":"4.6.2","type-is":"2.1.0","typebox":"1.3.18","css-tree":"3.2.1","ee-first":"1.1.1","entities":"8.0.0","fast-uri":"3.1.4","inherits":"2.0.4","mdn-data":"2.27.1","minipass":"7.1.3","parseurl":"1.3.3","path-key":"3.1.1","punycode":"2.3.1","raw-body":"3.0.2","statuses":"2.0.2","turndown":"7.2.4","xmlchars":"2.2.0","base64-js":"1.5.1","data-urls":"7.0.0","encodeurl":"2.0.0","es-errors":"1.3.0","forwarded":"0.2.0","get-proto":"1.0.1","ipaddr.js":"1.9.1","lru-cache":"11.5.2","minimatch":"10.2.6","picomatch":"4.0.5","agent-base":"7.1.4","call-bound":"1.0.4","decimal.js":"10.6.0","fetch-blob":"3.2.0","iconv-lite":"0.7.3","ip-address":"10.2.0","is-promise":"4.0.0","mime-types":"3.0.2","negotiator":"1.0.0","node-fetch":"3.3.2","protobufjs":"7.6.5","proxy-addr":"2.0.7","tldts-core":"7.4.10","ts-algebra":"2.0.0","whatwg-url":"16.0.1","@types/node":"26.2.0","ajv-formats":"3.0.1","body-parser":"2.3.0","cross-spawn":"7.0.6","escape-html":"1.0.3","eventsource":"3.0.7","fast-sha256":"1.3.0","graceful-fs":"4.2.11","has-symbols":"1.1.0","http-errors":"2.0.1","json-bigint":"1.0.0","media-typer":"1.1.0","on-finished":"2.4.1","path-scurry":"2.0.2","safe-buffer":"5.2.1","signal-exit":"3.0.7","symbol-tree":"3.2.4","@smithy/core":"3.33.3","bignumber.js":"9.3.1","content-type":"1.0.5","dunder-proto":"1.0.1","finalhandler":"2.1.1","gcp-metadata":"8.1.2","grok-mermaid":"0.2.3","highlight.js":"11.12.0","partial-json":"0.1.7","range-parser":"1.3.0","safer-buffer":"2.1.2","serve-static":"2.2.1","side-channel":"1.1.1","toidentifier":"1.0.1","tough-cookie":"6.0.2","@aws-sdk/core":"3.977.9","@exodus/bytes":"1.15.1","@google/genai":"2.18.0","@smithy/types":"4.17.2","function-bind":"1.1.2","get-intrinsic":"1.3.0","object-assign":"4.1.1","shebang-regex":"3.0.0","source-map-js":"1.2.1","@aws-sdk/types":"3.974.5","@babel/runtime":"7.29.2","balanced-match":"4.0.4","object-inspect":"1.13.4","path-to-regexp":"8.4.2","pkce-challenge":"5.0.1","proxy-from-env":"2.1.0","setprototypeof":"1.2.0","@xterm/headless":"6.0.0","brace-expansion":"5.0.9","es-object-atoms":"1.1.2","fast-deep-equal":"3.1.3","hosted-git-info":"10.1.1","math-intrinsics":"1.1.0","proper-lockfile":"4.1.2","shebang-command":"2.0.0","whatwg-mimetype":"5.0.0","@protobufjs/path":"1.1.2","@protobufjs/pool":"1.1.0","@protobufjs/utf8":"1.1.1","cookie-signature":"1.2.2","http-proxy-agent":"9.1.0","side-channel-map":"1.0.1","standardwebhooks":"1.0.0","@anthropic-ai/sdk":"0.120.0","@hono/node-server":"2.1.1","@protobufjs/fetch":"1.1.1","@protobufjs/float":"1.0.2","@stablelib/base64":"1.0.1","formdata-polyfill":"4.0.10","https-proxy-agent":"9.1.0","json-schema-to-ts":"3.1.1","json-schema-typed":"8.0.2","merge-descriptors":"2.0.0","node-domexception":"1.0.0","side-channel-list":"1.0.1","w3c-xmlserializer":"5.0.0","@bufbuild/protobuf":"2.14.0","@csstools/css-calc":"3.3.0","@mixmark-io/domino":"2.2.0","@opentelemetry/api":"1.9.1","@protobufjs/base64":"1.1.2","data-uri-to-buffer":"4.0.1","es-define-property":"1.0.1","eventsource-parser":"3.1.0","express-rate-limit":"8.5.2","webidl-conversions":"8.0.1","xml-name-validator":"5.0.0","zod-to-json-schema":"3.25.2","@bramus/specificity":"2.4.2","@protobufjs/codegen":"2.0.5","content-disposition":"1.1.0","ecdsa-sig-formatter":"1.0.11","google-auth-library":"10.6.2","require-from-string":"2.0.2","@aws-sdk/xml-builder":"3.972.40","@mozilla/readability":"0.6.0","@smithy/signature-v4":"5.7.3","get-east-asian-width":"1.6.0","google-logging-utils":"1.1.3","json-schema-traverse":"1.0.0","side-channel-weakmap":"1.0.2","web-streams-polyfill":"3.3.3","@asamuzakjp/css-color":"6.0.7","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.8.26","@protobufjs/aspromise":"1.1.2","html-encoding-sniffer":"6.0.0","proxy-agent-negotiate":"1.1.0","@earendil-works/pi-pty":"npm:@code-yeongyu/senpi-pty@2026.8.26","@earendil-works/pi-tui":"npm:@code-yeongyu/senpi-tui@2026.8.26","@aws-sdk/nested-clients":"3.997.44","@csstools/color-helpers":"6.1.1","@csstools/css-tokenizer":"4.0.0","@mariozechner/clipboard":"*","call-bind-apply-helpers":"1.0.2","@asamuzakjp/dom-selector":"8.3.2","@aws-sdk/token-providers":"3.1116.0","@aws/lambda-invoke-store":"0.3.0","@protobufjs/eventemitter":"1.1.1","@modelcontextprotocol/sdk":"1.30.0","@smithy/node-http-handler":"4.11.3","@csstools/css-color-parser":"4.2.0","@silvia-odwyer/photon-node":"0.3.4","@smithy/fetch-http-handler":"5.7.2","buffer-equal-constant-time":"1.0.1","@code-yeongyu/senpi-codemode":"2026.8.26","@earendil-works/pi-telemetry":"npm:@code-yeongyu/senpi-telemetry@2026.8.26","@aws-sdk/middleware-websocket":"3.972.52","@earendil-works/pi-agent-core":"npm:@code-yeongyu/senpi-agent-core@2026.8.26","@anthropic-ai/claude-agent-sdk":"0.3.241","@aws-sdk/client-bedrock-runtime":"3.1116.0","@aws-sdk/middleware-eventstream":"3.972.29","@csstools/css-parser-algorithms":"4.0.0","@aws-sdk/credential-provider-env":"3.972.70","@aws-sdk/credential-provider-ini":"3.973.15","@aws-sdk/credential-provider-sso":"3.973.14","@smithy/credential-provider-imds":"4.5.2","is-potential-custom-element-name":"1.0.1","@aws-sdk/credential-provider-http":"3.972.72","@aws-sdk/credential-provider-node":"3.972.81","@aws-sdk/eventstream-handler-node":"3.972.34","@aws-sdk/credential-provider-login":"3.972.77","@aws-sdk/signature-v4-multi-region":"3.996.46","@aws-sdk/credential-provider-process":"3.972.70","@csstools/css-syntax-patches-for-csstree":"1.1.8","@aws-sdk/credential-provider-web-identity":"3.972.76"},"_hasShrinkwrap":false,"devDependencies":{"shx":"0.4.0","vitest":"4.1.11","@types/ws":"8.18.1","typescript":"7.0.2","@types/node":"26.2.0","@types/jsdom":"30.0.0","@types/semver":"7.8.0","@types/turndown":"5.0.6","@types/picomatch":"4.0.3","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@anthropic-ai/claude-agent-sdk","@anthropic-ai/sdk","@asamuzakjp/css-color","@asamuzakjp/dom-selector","@aws-sdk/client-bedrock-runtime","@aws-sdk/core","@aws-sdk/credential-provider-env","@aws-sdk/credential-provider-http","@aws-sdk/credential-provider-ini","@aws-sdk/credential-provider-login","@aws-sdk/credential-provider-node","@aws-sdk/credential-provider-process","@aws-sdk/credential-provider-sso","@aws-sdk/credential-provider-web-identity","@aws-sdk/eventstream-handler-node","@aws-sdk/middleware-eventstream","@aws-sdk/middleware-websocket","@aws-sdk/nested-clients","@aws-sdk/signature-v4-multi-region","@aws-sdk/token-providers","@aws-sdk/types","@aws-sdk/xml-builder","@aws/lambda-invoke-store","@babel/runtime","@bramus/specificity","@bufbuild/protobuf","@code-yeongyu/senpi-codemode","@csstools/color-helpers","@csstools/css-calc","@csstools/css-color-parser","@csstools/css-parser-algorithms","@csstools/css-syntax-patches-for-csstree","@csstools/css-tokenizer","@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-pty","@earendil-works/pi-telemetry","@earendil-works/pi-tui","@exodus/bytes","@google/genai","@hono/node-server","@mariozechner/clipboard","@mixmark-io/domino","@modelcontextprotocol/sdk","@mozilla/readability","@opentelemetry/api","@protobufjs/aspromise","@protobufjs/base64","@protobufjs/codegen","@protobufjs/eventemitter","@protobufjs/fetch","@protobufjs/float","@protobufjs/path","@protobufjs/pool","@protobufjs/utf8","@silvia-odwyer/photon-node","@smithy/core","@smithy/credential-provider-imds","@smithy/fetch-http-handler","@smithy/node-http-handler","@smithy/signature-v4","@smithy/types","@stablelib/base64","@types/node","@xterm/headless","accepts","agent-base","ajv","ajv-formats","balanced-match","base64-js","bidi-js","bignumber.js","body-parser","bowser","brace-expansion","buffer-equal-constant-time","bytes","call-bind-apply-helpers","call-bound","chalk","content-disposition","content-type","cookie","cookie-signature","cors","cross-spawn","css-tree","data-uri-to-buffer","data-urls","debug","decimal.js","depd","diff","dunder-proto","ecdsa-sig-formatter","ee-first","encodeurl","entities","es-define-property","es-errors","es-object-atoms","escape-html","etag","eventsource","eventsource-parser","express","express-rate-limit","extend","fast-deep-equal","fast-sha256","fast-uri","fetch-blob","finalhandler","formdata-polyfill","forwarded","fresh","function-bind","gaxios","gcp-metadata","get-east-asian-width","get-intrinsic","get-proto","glob","google-auth-library","google-logging-utils","gopd","graceful-fs","grok-mermaid","has-symbols","hasown","highlight.js","hono","hosted-git-info","html-encoding-sniffer","http-errors","http-proxy-agent","https-proxy-agent","iconv-lite","ignore","inherits","ip-address","ipaddr.js","is-potential-custom-element-name","is-promise","isexe","jiti","jose","jsdom","json-bigint","json-schema-to-ts","json-schema-traverse","json-schema-typed","jwa","jws","long","lru-cache","marked","math-intrinsics","mdn-data","media-typer","merge-descriptors","mime-db","mime-types","minimatch","minipass","ms","negotiator","node-domexception","node-fetch","object-assign","object-inspect","on-finished","once","openai","p-retry","parse5","parseurl","partial-json","path-key","path-scurry","path-to-regexp","picomatch","pkce-challenge","proper-lockfile","protobufjs","proxy-addr","proxy-agent-negotiate","proxy-from-env","punycode","qs","range-parser","raw-body","require-from-string","retry","router","safe-buffer","safer-buffer","saxes","semver","send","serve-static","setprototypeof","shebang-command","shebang-regex","side-channel","side-channel-list","side-channel-map","side-channel-weakmap","signal-exit","source-map-js","standardwebhooks","statuses","symbol-tree","tldts","tldts-core","toidentifier","tough-cookie","tr46","ts-algebra","tslib","turndown","type-is","typebox","undici","unpipe","vary","w3c-xmlserializer","web-streams-polyfill","webidl-conversions","whatwg-mimetype","whatwg-url","which","wrappy","ws","xml-name-validator","xmlchars","yaml","zod","zod-to-json-schema"],"optionalDependencies":{"@mariozechner/clipboard":"0.3.9","@mariozechner/clipboard-darwin-x64":"0.3.9","@mariozechner/clipboard-darwin-arm64":"0.3.9","@mariozechner/clipboard-linux-x64-gnu":"0.3.9","@mariozechner/clipboard-linux-x64-musl":"0.3.9","@mariozechner/clipboard-win32-x64-msvc":"0.3.9","@mariozechner/clipboard-linux-arm64-gnu":"0.3.9","@anthropic-ai/claude-agent-sdk-linux-x64":"0.3.241","@anthropic-ai/claude-agent-sdk-win32-x64":"0.3.241","@mariozechner/clipboard-darwin-universal":"0.3.9","@mariozechner/clipboard-linux-arm64-musl":"0.3.9","@mariozechner/clipboard-win32-arm64-msvc":"0.3.9","@anthropic-ai/claude-agent-sdk-darwin-x64":"0.3.241","@mariozechner/clipboard-linux-riscv64-gnu":"0.3.9","@anthropic-ai/claude-agent-sdk-linux-arm64":"0.3.241","@anthropic-ai/claude-agent-sdk-win32-arm64":"0.3.241","@anthropic-ai/claude-agent-sdk-darwin-arm64":"0.3.241","@anthropic-ai/claude-agent-sdk-linux-x64-musl":"0.3.241","@anthropic-ai/claude-agent-sdk-linux-arm64-musl":"0.3.241"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.8.26_1787724063157_0.031283924543281216","host":"s3://npm-registry-packages-npm-production"}},"2026.8.26-2":{"name":"@code-yeongyu/senpi","version":"2026.8.26-2","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.8.26-2","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"pi":"dist/bundle/cli.js","senpi":"dist/cli.js"},"dist":{"shasum":"92a064c4fefcd04bb037cf5b923e7c711eda6722","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.8.26-2.tgz","fileCount":24524,"integrity":"sha512-jdS4cJuB7tjGAINc96t62xjes/FVwNyLDsPoDVeMYci6dDayI5N/R9h/3KuGdTAXrCJoKI2N1c9G+dBgnHTwbw==","signatures":[{"sig":"MEQCIBstX4RvBwt4Ru5YaxZ+yNb6JDap3pQHVPMauDq4tE/ZAiApxe3SpORZxipUOFFfcvxyE6qy0c7et5dtt3f2oww/SQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.8.26-2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":170520231},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.js"},"./rpc-entry":{"import":"./dist/rpc-entry.js"}},"scripts":{"dev":"tsc -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsc -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js dist/rpc-entry.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/","build:binary":"npm --prefix ../tui run build && npm --prefix ../telemetry run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm --prefix ../protocol run build && npm --prefix ../client run build && npm --prefix ../pty run build && npm run build && node ../../scripts/prepare-bun-compile-assets.mjs && bun build --compile --compile-autoload-package-json --no-compile-autoload-dotenv --no-compile-autoload-bunfig --minify --keep-names ./dist/bun/cli.js ./src/utils/image-resize-worker.ts ../../node_modules/jsdom/lib/jsdom/living/xhr/xhr-sync-worker.js --outfile dist/pi && npm run copy-binary-assets","qa:app-server":"node scripts/qa-app-server/run-all.mjs","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","build:unbundled":"tsgo -p tsconfig.build.json && shx chmod +x dist/cli.js dist/rpc-entry.js && npm run copy-assets","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/export-html/ && shx cp -r docs dist/ && shx cp -r examples dist/ && shx mkdir -p dist/node_modules && shx cp -r ../../node_modules/css-tree ../../node_modules/mdn-data ../../node_modules/source-map-js dist/node_modules/ && node ../../scripts/copy-codemode-sidecar.mjs dist && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/ && shx mkdir -p dist/native/darwin dist/native/win32 && shx cp -r ../../packages/tui/native/darwin/prebuilds dist/native/darwin/ && shx cp -r ../../packages/tui/native/win32/prebuilds dist/native/win32/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/ && node ../../scripts/copy-pty-native.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ea548fc8-dac4-4dec-a439-6f4fa3870309"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.3"},"rimraf":"6.1.3","protobufjs":"7.6.5","@hono/node-server":"2.1.1"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.17.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.19.0","dependencies":{"ms":"2.1.3","qs":"6.15.3","ws":"8.21.3","ajv":"8.20.0","jwa":"2.0.1","jws":"4.0.1","zod":"4.4.3","cors":"2.8.6","depd":"2.0.0","diff":"9.0.0","etag":"1.8.1","glob":"13.0.6","gopd":"1.2.0","hono":"4.12.27","jiti":"2.7.0","jose":"6.2.3","long":"5.3.2","once":"1.4.0","send":"1.2.1","tr46":"6.0.0","vary":"1.1.2","yaml":"2.9.0","bytes":"3.1.2","chalk":"6.0.0","debug":"4.4.3","fresh":"2.0.0","isexe":"2.0.0","jsdom":"30.0.1","retry":"0.13.1","saxes":"6.0.0","tldts":"7.4.10","tslib":"2.8.1","which":"2.0.2","bowser":"2.14.1","cookie":"0.7.2","extend":"3.0.2","gaxios":"7.1.4","hasown":"2.0.3","ignore":"7.0.6","marked":"18.0.10","openai":"6.26.0","parse5":"8.0.1","router":"2.2.0","semver":"7.8.5","undici":"8.10.0","unpipe":"1.0.0","wrappy":"1.0.2","accepts":"2.0.0","bidi-js":"1.0.3","express":"5.2.1","mime-db":"1.54.0","p-retry":"4.6.2","type-is":"2.1.0","typebox":"1.3.18","css-tree":"3.2.1","ee-first":"1.1.1","entities":"8.0.0","fast-uri":"3.1.4","inherits":"2.0.4","mdn-data":"2.27.1","minipass":"7.1.3","parseurl":"1.3.3","path-key":"3.1.1","punycode":"2.3.1","raw-body":"3.0.2","statuses":"2.0.2","turndown":"7.2.4","xmlchars":"2.2.0","base64-js":"1.5.1","data-urls":"7.0.0","encodeurl":"2.0.0","es-errors":"1.3.0","forwarded":"0.2.0","get-proto":"1.0.1","ipaddr.js":"1.9.1","lru-cache":"11.5.2","minimatch":"10.2.6","picomatch":"4.0.5","agent-base":"7.1.4","call-bound":"1.0.4","decimal.js":"10.6.0","fetch-blob":"3.2.0","iconv-lite":"0.7.3","ip-address":"10.2.0","is-promise":"4.0.0","mime-types":"3.0.2","negotiator":"1.0.0","node-fetch":"3.3.2","protobufjs":"7.6.5","proxy-addr":"2.0.7","tldts-core":"7.4.10","ts-algebra":"2.0.0","whatwg-url":"16.0.1","@types/node":"26.2.0","ajv-formats":"3.0.1","body-parser":"2.3.0","cross-spawn":"7.0.6","escape-html":"1.0.3","eventsource":"3.0.7","fast-sha256":"1.3.0","graceful-fs":"4.2.11","has-symbols":"1.1.0","http-errors":"2.0.1","json-bigint":"1.0.0","media-typer":"1.1.0","on-finished":"2.4.1","path-scurry":"2.0.2","safe-buffer":"5.2.1","signal-exit":"3.0.7","symbol-tree":"3.2.4","@smithy/core":"3.33.3","bignumber.js":"9.3.1","content-type":"1.0.5","dunder-proto":"1.0.1","finalhandler":"2.1.1","gcp-metadata":"8.1.2","grok-mermaid":"0.2.3","highlight.js":"11.12.0","partial-json":"0.1.7","range-parser":"1.3.0","safer-buffer":"2.1.2","serve-static":"2.2.1","side-channel":"1.1.1","toidentifier":"1.0.1","tough-cookie":"6.0.2","@aws-sdk/core":"3.977.9","@exodus/bytes":"1.15.1","@google/genai":"2.18.0","@smithy/types":"4.17.2","function-bind":"1.1.2","get-intrinsic":"1.3.0","object-assign":"4.1.1","shebang-regex":"3.0.0","source-map-js":"1.2.1","@aws-sdk/types":"3.974.5","@babel/runtime":"7.29.2","balanced-match":"4.0.4","object-inspect":"1.13.4","path-to-regexp":"8.4.2","pkce-challenge":"5.0.1","proxy-from-env":"2.1.0","setprototypeof":"1.2.0","@xterm/headless":"6.0.0","brace-expansion":"5.0.9","es-object-atoms":"1.1.2","fast-deep-equal":"3.1.3","hosted-git-info":"10.1.1","math-intrinsics":"1.1.0","proper-lockfile":"4.1.2","shebang-command":"2.0.0","whatwg-mimetype":"5.0.0","@protobufjs/path":"1.1.2","@protobufjs/pool":"1.1.0","@protobufjs/utf8":"1.1.1","cookie-signature":"1.2.2","http-proxy-agent":"9.1.0","side-channel-map":"1.0.1","standardwebhooks":"1.0.0","@anthropic-ai/sdk":"0.120.0","@hono/node-server":"2.1.1","@protobufjs/fetch":"1.1.1","@protobufjs/float":"1.0.2","@stablelib/base64":"1.0.1","formdata-polyfill":"4.0.10","https-proxy-agent":"9.1.0","json-schema-to-ts":"3.1.1","json-schema-typed":"8.0.2","merge-descriptors":"2.0.0","node-domexception":"1.0.0","side-channel-list":"1.0.1","w3c-xmlserializer":"5.0.0","@bufbuild/protobuf":"2.14.0","@csstools/css-calc":"3.3.0","@mixmark-io/domino":"2.2.0","@opentelemetry/api":"1.9.1","@protobufjs/base64":"1.1.2","data-uri-to-buffer":"4.0.1","es-define-property":"1.0.1","eventsource-parser":"3.1.0","express-rate-limit":"8.5.2","webidl-conversions":"8.0.1","xml-name-validator":"5.0.0","zod-to-json-schema":"3.25.2","@bramus/specificity":"2.4.2","@protobufjs/codegen":"2.0.5","content-disposition":"1.1.0","ecdsa-sig-formatter":"1.0.11","google-auth-library":"10.6.2","require-from-string":"2.0.2","@aws-sdk/xml-builder":"3.972.40","@mozilla/readability":"0.6.0","@smithy/signature-v4":"5.7.3","get-east-asian-width":"1.6.0","google-logging-utils":"1.1.3","json-schema-traverse":"1.0.0","side-channel-weakmap":"1.0.2","web-streams-polyfill":"3.3.3","@asamuzakjp/css-color":"6.0.7","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.8.26-2","@protobufjs/aspromise":"1.1.2","html-encoding-sniffer":"6.0.0","proxy-agent-negotiate":"1.1.0","@earendil-works/pi-pty":"npm:@code-yeongyu/senpi-pty@2026.8.26-2","@earendil-works/pi-tui":"npm:@code-yeongyu/senpi-tui@2026.8.26-2","@aws-sdk/nested-clients":"3.997.44","@csstools/color-helpers":"6.1.1","@csstools/css-tokenizer":"4.0.0","@mariozechner/clipboard":"*","call-bind-apply-helpers":"1.0.2","@asamuzakjp/dom-selector":"8.3.2","@aws-sdk/token-providers":"3.1116.0","@aws/lambda-invoke-store":"0.3.0","@protobufjs/eventemitter":"1.1.1","@modelcontextprotocol/sdk":"1.30.0","@smithy/node-http-handler":"4.11.3","@csstools/css-color-parser":"4.2.0","@silvia-odwyer/photon-node":"0.3.4","@smithy/fetch-http-handler":"5.7.2","buffer-equal-constant-time":"1.0.1","@code-yeongyu/senpi-codemode":"2026.8.26-2","@earendil-works/pi-telemetry":"npm:@code-yeongyu/senpi-telemetry@2026.8.26-2","@aws-sdk/middleware-websocket":"3.972.52","@earendil-works/pi-agent-core":"npm:@code-yeongyu/senpi-agent-core@2026.8.26-2","@anthropic-ai/claude-agent-sdk":"0.3.241","@aws-sdk/client-bedrock-runtime":"3.1116.0","@aws-sdk/middleware-eventstream":"3.972.29","@csstools/css-parser-algorithms":"4.0.0","@aws-sdk/credential-provider-env":"3.972.70","@aws-sdk/credential-provider-ini":"3.973.15","@aws-sdk/credential-provider-sso":"3.973.14","@smithy/credential-provider-imds":"4.5.2","is-potential-custom-element-name":"1.0.1","@aws-sdk/credential-provider-http":"3.972.72","@aws-sdk/credential-provider-node":"3.972.81","@aws-sdk/eventstream-handler-node":"3.972.34","@aws-sdk/credential-provider-login":"3.972.77","@aws-sdk/signature-v4-multi-region":"3.996.46","@aws-sdk/credential-provider-process":"3.972.70","@csstools/css-syntax-patches-for-csstree":"1.1.8","@aws-sdk/credential-provider-web-identity":"3.972.76"},"_hasShrinkwrap":false,"devDependencies":{"shx":"0.4.0","vitest":"4.1.11","@types/ws":"8.18.1","typescript":"7.0.2","@types/node":"26.2.0","@types/jsdom":"30.0.0","@types/semver":"7.8.0","@types/turndown":"5.0.6","@types/picomatch":"4.0.3","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@anthropic-ai/claude-agent-sdk","@anthropic-ai/sdk","@asamuzakjp/css-color","@asamuzakjp/dom-selector","@aws-sdk/client-bedrock-runtime","@aws-sdk/core","@aws-sdk/credential-provider-env","@aws-sdk/credential-provider-http","@aws-sdk/credential-provider-ini","@aws-sdk/credential-provider-login","@aws-sdk/credential-provider-node","@aws-sdk/credential-provider-process","@aws-sdk/credential-provider-sso","@aws-sdk/credential-provider-web-identity","@aws-sdk/eventstream-handler-node","@aws-sdk/middleware-eventstream","@aws-sdk/middleware-websocket","@aws-sdk/nested-clients","@aws-sdk/signature-v4-multi-region","@aws-sdk/token-providers","@aws-sdk/types","@aws-sdk/xml-builder","@aws/lambda-invoke-store","@babel/runtime","@bramus/specificity","@bufbuild/protobuf","@code-yeongyu/senpi-codemode","@csstools/color-helpers","@csstools/css-calc","@csstools/css-color-parser","@csstools/css-parser-algorithms","@csstools/css-syntax-patches-for-csstree","@csstools/css-tokenizer","@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-pty","@earendil-works/pi-telemetry","@earendil-works/pi-tui","@exodus/bytes","@google/genai","@hono/node-server","@mariozechner/clipboard","@mixmark-io/domino","@modelcontextprotocol/sdk","@mozilla/readability","@opentelemetry/api","@protobufjs/aspromise","@protobufjs/base64","@protobufjs/codegen","@protobufjs/eventemitter","@protobufjs/fetch","@protobufjs/float","@protobufjs/path","@protobufjs/pool","@protobufjs/utf8","@silvia-odwyer/photon-node","@smithy/core","@smithy/credential-provider-imds","@smithy/fetch-http-handler","@smithy/node-http-handler","@smithy/signature-v4","@smithy/types","@stablelib/base64","@types/node","@xterm/headless","accepts","agent-base","ajv","ajv-formats","balanced-match","base64-js","bidi-js","bignumber.js","body-parser","bowser","brace-expansion","buffer-equal-constant-time","bytes","call-bind-apply-helpers","call-bound","chalk","content-disposition","content-type","cookie","cookie-signature","cors","cross-spawn","css-tree","data-uri-to-buffer","data-urls","debug","decimal.js","depd","diff","dunder-proto","ecdsa-sig-formatter","ee-first","encodeurl","entities","es-define-property","es-errors","es-object-atoms","escape-html","etag","eventsource","eventsource-parser","express","express-rate-limit","extend","fast-deep-equal","fast-sha256","fast-uri","fetch-blob","finalhandler","formdata-polyfill","forwarded","fresh","function-bind","gaxios","gcp-metadata","get-east-asian-width","get-intrinsic","get-proto","glob","google-auth-library","google-logging-utils","gopd","graceful-fs","grok-mermaid","has-symbols","hasown","highlight.js","hono","hosted-git-info","html-encoding-sniffer","http-errors","http-proxy-agent","https-proxy-agent","iconv-lite","ignore","inherits","ip-address","ipaddr.js","is-potential-custom-element-name","is-promise","isexe","jiti","jose","jsdom","json-bigint","json-schema-to-ts","json-schema-traverse","json-schema-typed","jwa","jws","long","lru-cache","marked","math-intrinsics","mdn-data","media-typer","merge-descriptors","mime-db","mime-types","minimatch","minipass","ms","negotiator","node-domexception","node-fetch","object-assign","object-inspect","on-finished","once","openai","p-retry","parse5","parseurl","partial-json","path-key","path-scurry","path-to-regexp","picomatch","pkce-challenge","proper-lockfile","protobufjs","proxy-addr","proxy-agent-negotiate","proxy-from-env","punycode","qs","range-parser","raw-body","require-from-string","retry","router","safe-buffer","safer-buffer","saxes","semver","send","serve-static","setprototypeof","shebang-command","shebang-regex","side-channel","side-channel-list","side-channel-map","side-channel-weakmap","signal-exit","source-map-js","standardwebhooks","statuses","symbol-tree","tldts","tldts-core","toidentifier","tough-cookie","tr46","ts-algebra","tslib","turndown","type-is","typebox","undici","unpipe","vary","w3c-xmlserializer","web-streams-polyfill","webidl-conversions","whatwg-mimetype","whatwg-url","which","wrappy","ws","xml-name-validator","xmlchars","yaml","zod","zod-to-json-schema"],"optionalDependencies":{"@mariozechner/clipboard":"0.3.9","@mariozechner/clipboard-darwin-x64":"0.3.9","@mariozechner/clipboard-darwin-arm64":"0.3.9","@mariozechner/clipboard-linux-x64-gnu":"0.3.9","@mariozechner/clipboard-linux-x64-musl":"0.3.9","@mariozechner/clipboard-win32-x64-msvc":"0.3.9","@mariozechner/clipboard-linux-arm64-gnu":"0.3.9","@anthropic-ai/claude-agent-sdk-linux-x64":"0.3.241","@anthropic-ai/claude-agent-sdk-win32-x64":"0.3.241","@mariozechner/clipboard-darwin-universal":"0.3.9","@mariozechner/clipboard-linux-arm64-musl":"0.3.9","@mariozechner/clipboard-win32-arm64-msvc":"0.3.9","@anthropic-ai/claude-agent-sdk-darwin-x64":"0.3.241","@mariozechner/clipboard-linux-riscv64-gnu":"0.3.9","@anthropic-ai/claude-agent-sdk-linux-arm64":"0.3.241","@anthropic-ai/claude-agent-sdk-win32-arm64":"0.3.241","@anthropic-ai/claude-agent-sdk-darwin-arm64":"0.3.241","@anthropic-ai/claude-agent-sdk-linux-x64-musl":"0.3.241","@anthropic-ai/claude-agent-sdk-linux-arm64-musl":"0.3.241"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.8.26-2_1787744657037_0.8943900657274495","host":"s3://npm-registry-packages-npm-production"}},"2026.8.27":{"name":"@code-yeongyu/senpi","version":"2026.8.27","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.8.27","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"pi":"dist/bundle/cli.js","senpi":"dist/cli.js"},"dist":{"shasum":"c3749e5d579c5bb59824c18ce4bb27084c1e4d4c","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.8.27.tgz","fileCount":24576,"integrity":"sha512-zRKyanQd+LgmvwmKuYE85cn4+ITQsM2ocuocnbOI9vAJjh1cFxS4J03iyhuhQqsTRNTXMgUDKYn92yN6nbaAxQ==","signatures":[{"sig":"MEUCIQCZ/isk/imq0pi1V+cFN2ER/91HExoCE+SWQ+WMNy9bVAIgeHZ6rhm8qoK+c+bE/5goKLWuJx1p6gdyfdw1B119jvM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.8.27","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":170972155},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.js"},"./rpc-entry":{"import":"./dist/rpc-entry.js"}},"scripts":{"dev":"tsc -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsc -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js dist/rpc-entry.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/","build:binary":"npm --prefix ../tui run build && npm --prefix ../telemetry run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm --prefix ../protocol run build && npm --prefix ../client run build && npm --prefix ../pty run build && npm run build && node ../../scripts/prepare-bun-compile-assets.mjs && bun build --compile --compile-autoload-package-json --no-compile-autoload-dotenv --no-compile-autoload-bunfig --minify --keep-names ./dist/bun/cli.js ./src/utils/image-resize-worker.ts ../../node_modules/jsdom/lib/jsdom/living/xhr/xhr-sync-worker.js --outfile dist/pi && npm run copy-binary-assets","qa:app-server":"node scripts/qa-app-server/run-all.mjs","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","build:unbundled":"tsgo -p tsconfig.build.json && shx chmod +x dist/cli.js dist/rpc-entry.js && npm run copy-assets","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/export-html/ && shx cp -r docs dist/ && shx cp -r examples dist/ && shx mkdir -p dist/node_modules && shx cp -r ../../node_modules/css-tree ../../node_modules/mdn-data ../../node_modules/source-map-js dist/node_modules/ && node ../../scripts/copy-codemode-sidecar.mjs dist && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/ && shx mkdir -p dist/native/darwin dist/native/win32 && shx cp -r ../../packages/tui/native/darwin/prebuilds dist/native/darwin/ && shx cp -r ../../packages/tui/native/win32/prebuilds dist/native/win32/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/ && node ../../scripts/copy-pty-native.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ea548fc8-dac4-4dec-a439-6f4fa3870309"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.3"},"rimraf":"6.1.3","protobufjs":"7.6.5","@hono/node-server":"2.1.1"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.17.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.19.0","dependencies":{"ms":"2.1.3","qs":"6.15.3","ws":"8.21.3","ajv":"8.20.0","jwa":"2.0.1","jws":"4.0.1","zod":"4.4.3","cors":"2.8.6","depd":"2.0.0","diff":"9.0.0","etag":"1.8.1","glob":"13.0.6","gopd":"1.2.0","hono":"4.12.27","jiti":"2.7.0","jose":"6.2.3","long":"5.3.2","once":"1.4.0","send":"1.2.1","tr46":"6.0.0","vary":"1.1.2","yaml":"2.9.0","bytes":"3.1.2","chalk":"6.0.0","debug":"4.4.3","fresh":"2.0.0","isexe":"2.0.0","jsdom":"30.0.1","retry":"0.13.1","saxes":"6.0.0","tldts":"7.4.10","tslib":"2.8.1","which":"2.0.2","bowser":"2.14.1","cookie":"0.7.2","extend":"3.0.2","gaxios":"7.1.4","hasown":"2.0.3","ignore":"7.0.6","marked":"18.0.10","openai":"6.26.0","parse5":"8.0.1","router":"2.2.0","semver":"7.8.5","undici":"8.10.0","unpipe":"1.0.0","wrappy":"1.0.2","accepts":"2.0.0","bidi-js":"1.0.3","express":"5.2.1","mime-db":"1.54.0","p-retry":"4.6.2","type-is":"2.1.0","typebox":"1.3.18","css-tree":"3.2.1","ee-first":"1.1.1","entities":"8.0.0","fast-uri":"3.1.4","inherits":"2.0.4","mdn-data":"2.27.1","minipass":"7.1.3","parseurl":"1.3.3","path-key":"3.1.1","punycode":"2.3.1","raw-body":"3.0.2","statuses":"2.0.2","turndown":"7.2.4","xmlchars":"2.2.0","base64-js":"1.5.1","data-urls":"7.0.0","encodeurl":"2.0.0","es-errors":"1.3.0","forwarded":"0.2.0","get-proto":"1.0.1","ipaddr.js":"1.9.1","lru-cache":"11.5.2","minimatch":"10.2.6","picomatch":"4.0.5","agent-base":"7.1.4","call-bound":"1.0.4","decimal.js":"10.6.0","fetch-blob":"3.2.0","iconv-lite":"0.7.3","ip-address":"10.2.0","is-promise":"4.0.0","mime-types":"3.0.2","negotiator":"1.0.0","node-fetch":"3.3.2","protobufjs":"7.6.5","proxy-addr":"2.0.7","tldts-core":"7.4.10","ts-algebra":"2.0.0","whatwg-url":"16.0.1","@types/node":"26.2.0","ajv-formats":"3.0.1","body-parser":"2.3.0","cross-spawn":"7.0.6","escape-html":"1.0.3","eventsource":"3.0.7","fast-sha256":"1.3.0","graceful-fs":"4.2.11","has-symbols":"1.1.0","http-errors":"2.0.1","json-bigint":"1.0.0","media-typer":"1.1.0","on-finished":"2.4.1","path-scurry":"2.0.2","safe-buffer":"5.2.1","signal-exit":"3.0.7","symbol-tree":"3.2.4","@smithy/core":"3.33.3","bignumber.js":"9.3.1","content-type":"1.0.5","dunder-proto":"1.0.1","finalhandler":"2.1.1","gcp-metadata":"8.1.2","grok-mermaid":"0.2.3","highlight.js":"11.12.0","partial-json":"0.1.7","range-parser":"1.3.0","safer-buffer":"2.1.2","serve-static":"2.2.1","side-channel":"1.1.1","toidentifier":"1.0.1","tough-cookie":"6.0.2","@aws-sdk/core":"3.977.9","@exodus/bytes":"1.15.1","@google/genai":"2.18.0","@smithy/types":"4.17.2","function-bind":"1.1.2","get-intrinsic":"1.3.0","object-assign":"4.1.1","shebang-regex":"3.0.0","source-map-js":"1.2.1","@aws-sdk/types":"3.974.5","@babel/runtime":"7.29.2","balanced-match":"4.0.4","object-inspect":"1.13.4","path-to-regexp":"8.4.2","pkce-challenge":"5.0.1","proxy-from-env":"2.1.0","setprototypeof":"1.2.0","@xterm/headless":"6.0.0","brace-expansion":"5.0.9","es-object-atoms":"1.1.2","fast-deep-equal":"3.1.3","hosted-git-info":"10.1.1","math-intrinsics":"1.1.0","proper-lockfile":"4.1.2","shebang-command":"2.0.0","whatwg-mimetype":"5.0.0","@protobufjs/path":"1.1.2","@protobufjs/pool":"1.1.0","@protobufjs/utf8":"1.1.1","cookie-signature":"1.2.2","http-proxy-agent":"9.1.0","side-channel-map":"1.0.1","standardwebhooks":"1.0.0","@anthropic-ai/sdk":"0.120.0","@hono/node-server":"2.1.1","@protobufjs/fetch":"1.1.1","@protobufjs/float":"1.0.2","@stablelib/base64":"1.0.1","formdata-polyfill":"4.0.10","https-proxy-agent":"9.1.0","json-schema-to-ts":"3.1.1","json-schema-typed":"8.0.2","merge-descriptors":"2.0.0","node-domexception":"1.0.0","side-channel-list":"1.0.1","w3c-xmlserializer":"5.0.0","@bufbuild/protobuf":"2.14.0","@csstools/css-calc":"3.3.0","@mixmark-io/domino":"2.2.0","@opentelemetry/api":"1.9.1","@protobufjs/base64":"1.1.2","data-uri-to-buffer":"4.0.1","es-define-property":"1.0.1","eventsource-parser":"3.1.0","express-rate-limit":"8.5.2","webidl-conversions":"8.0.1","xml-name-validator":"5.0.0","zod-to-json-schema":"3.25.2","@bramus/specificity":"2.4.2","@protobufjs/codegen":"2.0.5","content-disposition":"1.1.0","ecdsa-sig-formatter":"1.0.11","google-auth-library":"10.6.2","require-from-string":"2.0.2","@aws-sdk/xml-builder":"3.972.40","@mozilla/readability":"0.6.0","@smithy/signature-v4":"5.7.3","get-east-asian-width":"1.6.0","google-logging-utils":"1.1.3","json-schema-traverse":"1.0.0","side-channel-weakmap":"1.0.2","web-streams-polyfill":"3.3.3","@asamuzakjp/css-color":"6.0.7","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.8.27","@protobufjs/aspromise":"1.1.2","html-encoding-sniffer":"6.0.0","proxy-agent-negotiate":"1.1.0","@earendil-works/pi-pty":"npm:@code-yeongyu/senpi-pty@2026.8.27","@earendil-works/pi-tui":"npm:@code-yeongyu/senpi-tui@2026.8.27","@aws-sdk/nested-clients":"3.997.44","@csstools/color-helpers":"6.1.1","@csstools/css-tokenizer":"4.0.0","@mariozechner/clipboard":"*","call-bind-apply-helpers":"1.0.2","@asamuzakjp/dom-selector":"8.3.2","@aws-sdk/token-providers":"3.1116.0","@aws/lambda-invoke-store":"0.3.0","@protobufjs/eventemitter":"1.1.1","@modelcontextprotocol/sdk":"1.30.0","@smithy/node-http-handler":"4.11.3","@csstools/css-color-parser":"4.2.0","@silvia-odwyer/photon-node":"0.3.4","@smithy/fetch-http-handler":"5.7.2","buffer-equal-constant-time":"1.0.1","@code-yeongyu/senpi-codemode":"2026.8.27","@earendil-works/pi-telemetry":"npm:@code-yeongyu/senpi-telemetry@2026.8.27","@aws-sdk/middleware-websocket":"3.972.52","@earendil-works/pi-agent-core":"npm:@code-yeongyu/senpi-agent-core@2026.8.27","@anthropic-ai/claude-agent-sdk":"0.3.241","@aws-sdk/client-bedrock-runtime":"3.1116.0","@aws-sdk/middleware-eventstream":"3.972.29","@csstools/css-parser-algorithms":"4.0.0","@aws-sdk/credential-provider-env":"3.972.70","@aws-sdk/credential-provider-ini":"3.973.15","@aws-sdk/credential-provider-sso":"3.973.14","@smithy/credential-provider-imds":"4.5.2","is-potential-custom-element-name":"1.0.1","@aws-sdk/credential-provider-http":"3.972.72","@aws-sdk/credential-provider-node":"3.972.81","@aws-sdk/eventstream-handler-node":"3.972.34","@aws-sdk/credential-provider-login":"3.972.77","@aws-sdk/signature-v4-multi-region":"3.996.46","@aws-sdk/credential-provider-process":"3.972.70","@csstools/css-syntax-patches-for-csstree":"1.1.8","@aws-sdk/credential-provider-web-identity":"3.972.76"},"_hasShrinkwrap":false,"devDependencies":{"shx":"0.4.0","vitest":"4.1.11","@types/ws":"8.18.1","typescript":"7.0.2","@types/node":"26.2.0","@types/jsdom":"30.0.0","@types/semver":"7.8.0","@types/turndown":"5.0.6","@types/picomatch":"4.0.3","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@anthropic-ai/claude-agent-sdk","@anthropic-ai/sdk","@asamuzakjp/css-color","@asamuzakjp/dom-selector","@aws-sdk/client-bedrock-runtime","@aws-sdk/core","@aws-sdk/credential-provider-env","@aws-sdk/credential-provider-http","@aws-sdk/credential-provider-ini","@aws-sdk/credential-provider-login","@aws-sdk/credential-provider-node","@aws-sdk/credential-provider-process","@aws-sdk/credential-provider-sso","@aws-sdk/credential-provider-web-identity","@aws-sdk/eventstream-handler-node","@aws-sdk/middleware-eventstream","@aws-sdk/middleware-websocket","@aws-sdk/nested-clients","@aws-sdk/signature-v4-multi-region","@aws-sdk/token-providers","@aws-sdk/types","@aws-sdk/xml-builder","@aws/lambda-invoke-store","@babel/runtime","@bramus/specificity","@bufbuild/protobuf","@code-yeongyu/senpi-codemode","@csstools/color-helpers","@csstools/css-calc","@csstools/css-color-parser","@csstools/css-parser-algorithms","@csstools/css-syntax-patches-for-csstree","@csstools/css-tokenizer","@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-pty","@earendil-works/pi-telemetry","@earendil-works/pi-tui","@exodus/bytes","@google/genai","@hono/node-server","@mariozechner/clipboard","@mixmark-io/domino","@modelcontextprotocol/sdk","@mozilla/readability","@opentelemetry/api","@protobufjs/aspromise","@protobufjs/base64","@protobufjs/codegen","@protobufjs/eventemitter","@protobufjs/fetch","@protobufjs/float","@protobufjs/path","@protobufjs/pool","@protobufjs/utf8","@silvia-odwyer/photon-node","@smithy/core","@smithy/credential-provider-imds","@smithy/fetch-http-handler","@smithy/node-http-handler","@smithy/signature-v4","@smithy/types","@stablelib/base64","@types/node","@xterm/headless","accepts","agent-base","ajv","ajv-formats","balanced-match","base64-js","bidi-js","bignumber.js","body-parser","bowser","brace-expansion","buffer-equal-constant-time","bytes","call-bind-apply-helpers","call-bound","chalk","content-disposition","content-type","cookie","cookie-signature","cors","cross-spawn","css-tree","data-uri-to-buffer","data-urls","debug","decimal.js","depd","diff","dunder-proto","ecdsa-sig-formatter","ee-first","encodeurl","entities","es-define-property","es-errors","es-object-atoms","escape-html","etag","eventsource","eventsource-parser","express","express-rate-limit","extend","fast-deep-equal","fast-sha256","fast-uri","fetch-blob","finalhandler","formdata-polyfill","forwarded","fresh","function-bind","gaxios","gcp-metadata","get-east-asian-width","get-intrinsic","get-proto","glob","google-auth-library","google-logging-utils","gopd","graceful-fs","grok-mermaid","has-symbols","hasown","highlight.js","hono","hosted-git-info","html-encoding-sniffer","http-errors","http-proxy-agent","https-proxy-agent","iconv-lite","ignore","inherits","ip-address","ipaddr.js","is-potential-custom-element-name","is-promise","isexe","jiti","jose","jsdom","json-bigint","json-schema-to-ts","json-schema-traverse","json-schema-typed","jwa","jws","long","lru-cache","marked","math-intrinsics","mdn-data","media-typer","merge-descriptors","mime-db","mime-types","minimatch","minipass","ms","negotiator","node-domexception","node-fetch","object-assign","object-inspect","on-finished","once","openai","p-retry","parse5","parseurl","partial-json","path-key","path-scurry","path-to-regexp","picomatch","pkce-challenge","proper-lockfile","protobufjs","proxy-addr","proxy-agent-negotiate","proxy-from-env","punycode","qs","range-parser","raw-body","require-from-string","retry","router","safe-buffer","safer-buffer","saxes","semver","send","serve-static","setprototypeof","shebang-command","shebang-regex","side-channel","side-channel-list","side-channel-map","side-channel-weakmap","signal-exit","source-map-js","standardwebhooks","statuses","symbol-tree","tldts","tldts-core","toidentifier","tough-cookie","tr46","ts-algebra","tslib","turndown","type-is","typebox","undici","unpipe","vary","w3c-xmlserializer","web-streams-polyfill","webidl-conversions","whatwg-mimetype","whatwg-url","which","wrappy","ws","xml-name-validator","xmlchars","yaml","zod","zod-to-json-schema"],"optionalDependencies":{"@mariozechner/clipboard":"0.3.9","@mariozechner/clipboard-darwin-x64":"0.3.9","@mariozechner/clipboard-darwin-arm64":"0.3.9","@mariozechner/clipboard-linux-x64-gnu":"0.3.9","@mariozechner/clipboard-linux-x64-musl":"0.3.9","@mariozechner/clipboard-win32-x64-msvc":"0.3.9","@mariozechner/clipboard-linux-arm64-gnu":"0.3.9","@anthropic-ai/claude-agent-sdk-linux-x64":"0.3.241","@anthropic-ai/claude-agent-sdk-win32-x64":"0.3.241","@mariozechner/clipboard-darwin-universal":"0.3.9","@mariozechner/clipboard-linux-arm64-musl":"0.3.9","@mariozechner/clipboard-win32-arm64-msvc":"0.3.9","@anthropic-ai/claude-agent-sdk-darwin-x64":"0.3.241","@mariozechner/clipboard-linux-riscv64-gnu":"0.3.9","@anthropic-ai/claude-agent-sdk-linux-arm64":"0.3.241","@anthropic-ai/claude-agent-sdk-win32-arm64":"0.3.241","@anthropic-ai/claude-agent-sdk-darwin-arm64":"0.3.241","@anthropic-ai/claude-agent-sdk-linux-x64-musl":"0.3.241","@anthropic-ai/claude-agent-sdk-linux-arm64-musl":"0.3.241"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.8.27_1787819008112_0.3409093279544506","host":"s3://npm-registry-packages-npm-production"}},"2026.8.28":{"name":"@code-yeongyu/senpi","version":"2026.8.28","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.8.28","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"pi":"dist/bundle/cli.js","senpi":"dist/cli.js"},"dist":{"shasum":"ab02ca699c41d11b07e92ebda89e41f3aca8c05f","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.8.28.tgz","fileCount":24588,"integrity":"sha512-TurvihFSKOray2MU4KAcFF6+dupoMpFi3xMA2w/Hr7GFaqNSIX+EidNY2d+5SS6CsSU4DrrVfx1ZBSxaywaG/g==","signatures":[{"sig":"MEYCIQDj6KtsKBROF/9qWCmUp6AhkYoUbKMg7UxVlojTMwBcIgIhAJIDlfdhIykDVVOSWBUJIy3w98oXliJls+ghgcDI8CH9","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.8.28","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":171041951},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.js"},"./rpc-entry":{"import":"./dist/rpc-entry.js"}},"scripts":{"dev":"tsc -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsc -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js dist/rpc-entry.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/","build:binary":"npm --prefix ../tui run build && npm --prefix ../telemetry run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm --prefix ../protocol run build && npm --prefix ../client run build && npm --prefix ../pty run build && npm run build && node ../../scripts/prepare-bun-compile-assets.mjs && bun build --compile --compile-autoload-package-json --no-compile-autoload-dotenv --no-compile-autoload-bunfig --minify --keep-names ./dist/bun/cli.js ./src/utils/image-resize-worker.ts ../../node_modules/jsdom/lib/jsdom/living/xhr/xhr-sync-worker.js --outfile dist/pi && npm run copy-binary-assets","qa:app-server":"node scripts/qa-app-server/run-all.mjs","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","build:unbundled":"tsgo -p tsconfig.build.json && shx chmod +x dist/cli.js dist/rpc-entry.js && npm run copy-assets","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/export-html/ && shx cp -r docs dist/ && shx cp -r examples dist/ && shx mkdir -p dist/node_modules && shx cp -r ../../node_modules/css-tree ../../node_modules/mdn-data ../../node_modules/source-map-js dist/node_modules/ && node ../../scripts/copy-codemode-sidecar.mjs dist && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/ && shx mkdir -p dist/native/darwin dist/native/win32 && shx cp -r ../../packages/tui/native/darwin/prebuilds dist/native/darwin/ && shx cp -r ../../packages/tui/native/win32/prebuilds dist/native/win32/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/ && node ../../scripts/copy-pty-native.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ea548fc8-dac4-4dec-a439-6f4fa3870309"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.3"},"rimraf":"6.1.3","protobufjs":"7.6.5","@hono/node-server":"2.1.1"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.17.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.19.0","dependencies":{"ms":"2.1.3","qs":"6.15.3","ws":"8.21.3","ajv":"8.20.0","jwa":"2.0.1","jws":"4.0.1","zod":"4.4.3","cors":"2.8.6","depd":"2.0.0","diff":"9.0.0","etag":"1.8.1","glob":"13.0.6","gopd":"1.2.0","hono":"4.12.27","jiti":"2.7.0","jose":"6.2.3","long":"5.3.2","once":"1.4.0","send":"1.2.1","tr46":"6.0.0","vary":"1.1.2","yaml":"2.9.0","bytes":"3.1.2","chalk":"6.0.0","debug":"4.4.3","fresh":"2.0.0","isexe":"2.0.0","jsdom":"30.0.1","retry":"0.13.1","saxes":"6.0.0","tldts":"7.4.10","tslib":"2.8.1","which":"2.0.2","bowser":"2.14.1","cookie":"0.7.2","extend":"3.0.2","gaxios":"7.1.4","hasown":"2.0.3","ignore":"7.0.6","marked":"18.0.10","openai":"6.26.0","parse5":"8.0.1","router":"2.2.0","semver":"7.8.5","undici":"8.10.0","unpipe":"1.0.0","wrappy":"1.0.2","accepts":"2.0.0","bidi-js":"1.0.3","express":"5.2.1","mime-db":"1.54.0","p-retry":"4.6.2","type-is":"2.1.0","typebox":"1.3.18","css-tree":"3.2.1","ee-first":"1.1.1","entities":"8.0.0","fast-uri":"3.1.4","inherits":"2.0.4","mdn-data":"2.27.1","minipass":"7.1.3","parseurl":"1.3.3","path-key":"3.1.1","punycode":"2.3.1","raw-body":"3.0.2","statuses":"2.0.2","turndown":"7.2.4","xmlchars":"2.2.0","base64-js":"1.5.1","data-urls":"7.0.0","encodeurl":"2.0.0","es-errors":"1.3.0","forwarded":"0.2.0","get-proto":"1.0.1","ipaddr.js":"1.9.1","lru-cache":"11.5.2","minimatch":"10.2.6","picomatch":"4.0.5","agent-base":"7.1.4","call-bound":"1.0.4","decimal.js":"10.6.0","fetch-blob":"3.2.0","iconv-lite":"0.7.3","ip-address":"10.2.0","is-promise":"4.0.0","mime-types":"3.0.2","negotiator":"1.0.0","node-fetch":"3.3.2","protobufjs":"7.6.5","proxy-addr":"2.0.7","tldts-core":"7.4.10","ts-algebra":"2.0.0","whatwg-url":"16.0.1","@types/node":"26.2.0","ajv-formats":"3.0.1","body-parser":"2.3.0","cross-spawn":"7.0.6","escape-html":"1.0.3","eventsource":"3.0.7","fast-sha256":"1.3.0","graceful-fs":"4.2.11","has-symbols":"1.1.0","http-errors":"2.0.1","json-bigint":"1.0.0","media-typer":"1.1.0","on-finished":"2.4.1","path-scurry":"2.0.2","safe-buffer":"5.2.1","signal-exit":"3.0.7","symbol-tree":"3.2.4","@smithy/core":"3.33.3","bignumber.js":"9.3.1","content-type":"1.0.5","dunder-proto":"1.0.1","finalhandler":"2.1.1","gcp-metadata":"8.1.2","grok-mermaid":"0.2.3","highlight.js":"11.12.0","partial-json":"0.1.7","range-parser":"1.3.0","safer-buffer":"2.1.2","serve-static":"2.2.1","side-channel":"1.1.1","toidentifier":"1.0.1","tough-cookie":"6.0.2","@aws-sdk/core":"3.977.9","@exodus/bytes":"1.15.1","@google/genai":"2.18.0","@smithy/types":"4.17.2","function-bind":"1.1.2","get-intrinsic":"1.3.0","object-assign":"4.1.1","shebang-regex":"3.0.0","source-map-js":"1.2.1","@aws-sdk/types":"3.974.5","@babel/runtime":"7.29.2","balanced-match":"4.0.4","object-inspect":"1.13.4","path-to-regexp":"8.4.2","pkce-challenge":"5.0.1","proxy-from-env":"2.1.0","setprototypeof":"1.2.0","@xterm/headless":"6.0.0","brace-expansion":"5.0.9","es-object-atoms":"1.1.2","fast-deep-equal":"3.1.3","hosted-git-info":"10.1.1","math-intrinsics":"1.1.0","proper-lockfile":"4.1.2","shebang-command":"2.0.0","whatwg-mimetype":"5.0.0","@protobufjs/path":"1.1.2","@protobufjs/pool":"1.1.0","@protobufjs/utf8":"1.1.1","cookie-signature":"1.2.2","http-proxy-agent":"9.1.0","side-channel-map":"1.0.1","standardwebhooks":"1.0.0","@anthropic-ai/sdk":"0.120.0","@hono/node-server":"2.1.1","@protobufjs/fetch":"1.1.1","@protobufjs/float":"1.0.2","@stablelib/base64":"1.0.1","formdata-polyfill":"4.0.10","https-proxy-agent":"9.1.0","json-schema-to-ts":"3.1.1","json-schema-typed":"8.0.2","merge-descriptors":"2.0.0","node-domexception":"1.0.0","side-channel-list":"1.0.1","w3c-xmlserializer":"5.0.0","@bufbuild/protobuf":"2.14.0","@csstools/css-calc":"3.3.0","@mixmark-io/domino":"2.2.0","@opentelemetry/api":"1.9.1","@protobufjs/base64":"1.1.2","data-uri-to-buffer":"4.0.1","es-define-property":"1.0.1","eventsource-parser":"3.1.0","express-rate-limit":"8.5.2","webidl-conversions":"8.0.1","xml-name-validator":"5.0.0","zod-to-json-schema":"3.25.2","@bramus/specificity":"2.4.2","@protobufjs/codegen":"2.0.5","content-disposition":"1.1.0","ecdsa-sig-formatter":"1.0.11","google-auth-library":"10.6.2","require-from-string":"2.0.2","@aws-sdk/xml-builder":"3.972.40","@mozilla/readability":"0.6.0","@smithy/signature-v4":"5.7.3","get-east-asian-width":"1.6.0","google-logging-utils":"1.1.3","json-schema-traverse":"1.0.0","side-channel-weakmap":"1.0.2","web-streams-polyfill":"3.3.3","@asamuzakjp/css-color":"6.0.7","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.8.28","@protobufjs/aspromise":"1.1.2","html-encoding-sniffer":"6.0.0","proxy-agent-negotiate":"1.1.0","@earendil-works/pi-pty":"npm:@code-yeongyu/senpi-pty@2026.8.28","@earendil-works/pi-tui":"npm:@code-yeongyu/senpi-tui@2026.8.28","@aws-sdk/nested-clients":"3.997.44","@csstools/color-helpers":"6.1.1","@csstools/css-tokenizer":"4.0.0","@mariozechner/clipboard":"*","call-bind-apply-helpers":"1.0.2","@asamuzakjp/dom-selector":"8.3.2","@aws-sdk/token-providers":"3.1116.0","@aws/lambda-invoke-store":"0.3.0","@protobufjs/eventemitter":"1.1.1","@modelcontextprotocol/sdk":"1.30.0","@smithy/node-http-handler":"4.11.3","@csstools/css-color-parser":"4.2.0","@silvia-odwyer/photon-node":"0.3.4","@smithy/fetch-http-handler":"5.7.2","buffer-equal-constant-time":"1.0.1","@code-yeongyu/senpi-codemode":"2026.8.28","@earendil-works/pi-telemetry":"npm:@code-yeongyu/senpi-telemetry@2026.8.28","@aws-sdk/middleware-websocket":"3.972.52","@earendil-works/pi-agent-core":"npm:@code-yeongyu/senpi-agent-core@2026.8.28","@anthropic-ai/claude-agent-sdk":"0.3.241","@aws-sdk/client-bedrock-runtime":"3.1116.0","@aws-sdk/middleware-eventstream":"3.972.29","@csstools/css-parser-algorithms":"4.0.0","@aws-sdk/credential-provider-env":"3.972.70","@aws-sdk/credential-provider-ini":"3.973.15","@aws-sdk/credential-provider-sso":"3.973.14","@smithy/credential-provider-imds":"4.5.2","is-potential-custom-element-name":"1.0.1","@aws-sdk/credential-provider-http":"3.972.72","@aws-sdk/credential-provider-node":"3.972.81","@aws-sdk/eventstream-handler-node":"3.972.34","@aws-sdk/credential-provider-login":"3.972.77","@aws-sdk/signature-v4-multi-region":"3.996.46","@aws-sdk/credential-provider-process":"3.972.70","@csstools/css-syntax-patches-for-csstree":"1.1.8","@aws-sdk/credential-provider-web-identity":"3.972.76"},"_hasShrinkwrap":false,"devDependencies":{"shx":"0.4.0","vitest":"4.1.11","@types/ws":"8.18.1","typescript":"7.0.2","@types/node":"26.2.0","@types/jsdom":"30.0.0","@types/semver":"7.8.0","@types/turndown":"5.0.6","@types/picomatch":"4.0.3","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@anthropic-ai/claude-agent-sdk","@anthropic-ai/sdk","@asamuzakjp/css-color","@asamuzakjp/dom-selector","@aws-sdk/client-bedrock-runtime","@aws-sdk/core","@aws-sdk/credential-provider-env","@aws-sdk/credential-provider-http","@aws-sdk/credential-provider-ini","@aws-sdk/credential-provider-login","@aws-sdk/credential-provider-node","@aws-sdk/credential-provider-process","@aws-sdk/credential-provider-sso","@aws-sdk/credential-provider-web-identity","@aws-sdk/eventstream-handler-node","@aws-sdk/middleware-eventstream","@aws-sdk/middleware-websocket","@aws-sdk/nested-clients","@aws-sdk/signature-v4-multi-region","@aws-sdk/token-providers","@aws-sdk/types","@aws-sdk/xml-builder","@aws/lambda-invoke-store","@babel/runtime","@bramus/specificity","@bufbuild/protobuf","@code-yeongyu/senpi-codemode","@csstools/color-helpers","@csstools/css-calc","@csstools/css-color-parser","@csstools/css-parser-algorithms","@csstools/css-syntax-patches-for-csstree","@csstools/css-tokenizer","@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-pty","@earendil-works/pi-telemetry","@earendil-works/pi-tui","@exodus/bytes","@google/genai","@hono/node-server","@mariozechner/clipboard","@mixmark-io/domino","@modelcontextprotocol/sdk","@mozilla/readability","@opentelemetry/api","@protobufjs/aspromise","@protobufjs/base64","@protobufjs/codegen","@protobufjs/eventemitter","@protobufjs/fetch","@protobufjs/float","@protobufjs/path","@protobufjs/pool","@protobufjs/utf8","@silvia-odwyer/photon-node","@smithy/core","@smithy/credential-provider-imds","@smithy/fetch-http-handler","@smithy/node-http-handler","@smithy/signature-v4","@smithy/types","@stablelib/base64","@types/node","@xterm/headless","accepts","agent-base","ajv","ajv-formats","balanced-match","base64-js","bidi-js","bignumber.js","body-parser","bowser","brace-expansion","buffer-equal-constant-time","bytes","call-bind-apply-helpers","call-bound","chalk","content-disposition","content-type","cookie","cookie-signature","cors","cross-spawn","css-tree","data-uri-to-buffer","data-urls","debug","decimal.js","depd","diff","dunder-proto","ecdsa-sig-formatter","ee-first","encodeurl","entities","es-define-property","es-errors","es-object-atoms","escape-html","etag","eventsource","eventsource-parser","express","express-rate-limit","extend","fast-deep-equal","fast-sha256","fast-uri","fetch-blob","finalhandler","formdata-polyfill","forwarded","fresh","function-bind","gaxios","gcp-metadata","get-east-asian-width","get-intrinsic","get-proto","glob","google-auth-library","google-logging-utils","gopd","graceful-fs","grok-mermaid","has-symbols","hasown","highlight.js","hono","hosted-git-info","html-encoding-sniffer","http-errors","http-proxy-agent","https-proxy-agent","iconv-lite","ignore","inherits","ip-address","ipaddr.js","is-potential-custom-element-name","is-promise","isexe","jiti","jose","jsdom","json-bigint","json-schema-to-ts","json-schema-traverse","json-schema-typed","jwa","jws","long","lru-cache","marked","math-intrinsics","mdn-data","media-typer","merge-descriptors","mime-db","mime-types","minimatch","minipass","ms","negotiator","node-domexception","node-fetch","object-assign","object-inspect","on-finished","once","openai","p-retry","parse5","parseurl","partial-json","path-key","path-scurry","path-to-regexp","picomatch","pkce-challenge","proper-lockfile","protobufjs","proxy-addr","proxy-agent-negotiate","proxy-from-env","punycode","qs","range-parser","raw-body","require-from-string","retry","router","safe-buffer","safer-buffer","saxes","semver","send","serve-static","setprototypeof","shebang-command","shebang-regex","side-channel","side-channel-list","side-channel-map","side-channel-weakmap","signal-exit","source-map-js","standardwebhooks","statuses","symbol-tree","tldts","tldts-core","toidentifier","tough-cookie","tr46","ts-algebra","tslib","turndown","type-is","typebox","undici","unpipe","vary","w3c-xmlserializer","web-streams-polyfill","webidl-conversions","whatwg-mimetype","whatwg-url","which","wrappy","ws","xml-name-validator","xmlchars","yaml","zod","zod-to-json-schema"],"optionalDependencies":{"@mariozechner/clipboard":"0.3.9","@mariozechner/clipboard-darwin-x64":"0.3.9","@mariozechner/clipboard-darwin-arm64":"0.3.9","@mariozechner/clipboard-linux-x64-gnu":"0.3.9","@mariozechner/clipboard-linux-x64-musl":"0.3.9","@mariozechner/clipboard-win32-x64-msvc":"0.3.9","@mariozechner/clipboard-linux-arm64-gnu":"0.3.9","@anthropic-ai/claude-agent-sdk-linux-x64":"0.3.241","@anthropic-ai/claude-agent-sdk-win32-x64":"0.3.241","@mariozechner/clipboard-darwin-universal":"0.3.9","@mariozechner/clipboard-linux-arm64-musl":"0.3.9","@mariozechner/clipboard-win32-arm64-msvc":"0.3.9","@anthropic-ai/claude-agent-sdk-darwin-x64":"0.3.241","@mariozechner/clipboard-linux-riscv64-gnu":"0.3.9","@anthropic-ai/claude-agent-sdk-linux-arm64":"0.3.241","@anthropic-ai/claude-agent-sdk-win32-arm64":"0.3.241","@anthropic-ai/claude-agent-sdk-darwin-arm64":"0.3.241","@anthropic-ai/claude-agent-sdk-linux-x64-musl":"0.3.241","@anthropic-ai/claude-agent-sdk-linux-arm64-musl":"0.3.241"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.8.28_1787894028827_0.7164738732920066","host":"s3://npm-registry-packages-npm-production"}},"2026.8.28-2":{"name":"@code-yeongyu/senpi","version":"2026.8.28-2","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.8.28-2","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"pi":"dist/bundle/cli.js","senpi":"dist/cli.js"},"dist":{"shasum":"f81a3538e32c05be9d1a9e950e295a5f6e06a69b","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.8.28-2.tgz","fileCount":24588,"integrity":"sha512-zBIeKIJ7YMoxO0P7q46pc7lmbUgrnxAs+pkyqBahmtk5amfw7WJ1wgixq6vBvB7kJ5yuQMP6avacQM/HZMmzdw==","signatures":[{"sig":"MEQCICymbl5feC/wyBu8E2hkkxBCFHuY1hQHzAgYRWliQHkFAiAWEbbg/QkQ/Nr9kLDYixBa5z40IO5R2rf3ijkeM+30nQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.8.28-2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":171211842},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.js"},"./rpc-entry":{"import":"./dist/rpc-entry.js"}},"scripts":{"dev":"tsc -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsc -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js dist/rpc-entry.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/","build:binary":"npm --prefix ../tui run build && npm --prefix ../telemetry run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm --prefix ../protocol run build && npm --prefix ../client run build && npm --prefix ../pty run build && npm run build && node ../../scripts/prepare-bun-compile-assets.mjs && bun build --compile --compile-autoload-package-json --no-compile-autoload-dotenv --no-compile-autoload-bunfig --minify --keep-names ./dist/bun/cli.js ./src/utils/image-resize-worker.ts ../../node_modules/jsdom/lib/jsdom/living/xhr/xhr-sync-worker.js --outfile dist/pi && npm run copy-binary-assets","qa:app-server":"node scripts/qa-app-server/run-all.mjs","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","build:unbundled":"tsgo -p tsconfig.build.json && shx chmod +x dist/cli.js dist/rpc-entry.js && npm run copy-assets","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/export-html/ && shx cp -r docs dist/ && shx cp -r examples dist/ && shx mkdir -p dist/node_modules && shx cp -r ../../node_modules/css-tree ../../node_modules/mdn-data ../../node_modules/source-map-js dist/node_modules/ && node ../../scripts/copy-codemode-sidecar.mjs dist && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/ && shx mkdir -p dist/native/darwin dist/native/win32 && shx cp -r ../../packages/tui/native/darwin/prebuilds dist/native/darwin/ && shx cp -r ../../packages/tui/native/win32/prebuilds dist/native/win32/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/ && node ../../scripts/copy-pty-native.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ea548fc8-dac4-4dec-a439-6f4fa3870309"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.3"},"rimraf":"6.1.3","protobufjs":"7.6.5","@hono/node-server":"2.1.1"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.17.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.19.0","dependencies":{"ms":"2.1.3","qs":"6.15.3","ws":"8.21.3","ajv":"8.20.0","jwa":"2.0.1","jws":"4.0.1","zod":"4.4.3","cors":"2.8.6","depd":"2.0.0","diff":"9.0.0","etag":"1.8.1","glob":"13.0.6","gopd":"1.2.0","hono":"4.12.27","jiti":"2.7.0","jose":"6.2.3","long":"5.3.2","once":"1.4.0","send":"1.2.1","tr46":"6.0.0","vary":"1.1.2","yaml":"2.9.0","bytes":"3.1.2","chalk":"6.0.0","debug":"4.4.3","fresh":"2.0.0","isexe":"2.0.0","jsdom":"30.0.1","retry":"0.13.1","saxes":"6.0.0","tldts":"7.4.10","tslib":"2.8.1","which":"2.0.2","bowser":"2.14.1","cookie":"0.7.2","extend":"3.0.2","gaxios":"7.1.4","hasown":"2.0.3","ignore":"7.0.6","marked":"18.0.10","openai":"6.26.0","parse5":"8.0.1","router":"2.2.0","semver":"7.8.5","undici":"8.10.0","unpipe":"1.0.0","wrappy":"1.0.2","accepts":"2.0.0","bidi-js":"1.0.3","express":"5.2.1","mime-db":"1.54.0","p-retry":"4.6.2","type-is":"2.1.0","typebox":"1.3.18","css-tree":"3.2.1","ee-first":"1.1.1","entities":"8.0.0","fast-uri":"3.1.4","inherits":"2.0.4","mdn-data":"2.27.1","minipass":"7.1.3","parseurl":"1.3.3","path-key":"3.1.1","punycode":"2.3.1","raw-body":"3.0.2","statuses":"2.0.2","turndown":"7.2.4","xmlchars":"2.2.0","base64-js":"1.5.1","data-urls":"7.0.0","encodeurl":"2.0.0","es-errors":"1.3.0","forwarded":"0.2.0","get-proto":"1.0.1","ipaddr.js":"1.9.1","lru-cache":"11.5.2","minimatch":"10.2.6","picomatch":"4.0.5","agent-base":"7.1.4","call-bound":"1.0.4","decimal.js":"10.6.0","fetch-blob":"3.2.0","iconv-lite":"0.7.3","ip-address":"10.2.0","is-promise":"4.0.0","mime-types":"3.0.2","negotiator":"1.0.0","node-fetch":"3.3.2","protobufjs":"7.6.5","proxy-addr":"2.0.7","tldts-core":"7.4.10","ts-algebra":"2.0.0","whatwg-url":"16.0.1","@types/node":"26.2.0","ajv-formats":"3.0.1","body-parser":"2.3.0","cross-spawn":"7.0.6","escape-html":"1.0.3","eventsource":"3.0.7","fast-sha256":"1.3.0","graceful-fs":"4.2.11","has-symbols":"1.1.0","http-errors":"2.0.1","json-bigint":"1.0.0","media-typer":"1.1.0","on-finished":"2.4.1","path-scurry":"2.0.2","safe-buffer":"5.2.1","signal-exit":"3.0.7","symbol-tree":"3.2.4","@smithy/core":"3.33.3","bignumber.js":"9.3.1","content-type":"1.0.5","dunder-proto":"1.0.1","finalhandler":"2.1.1","gcp-metadata":"8.1.2","grok-mermaid":"0.2.3","highlight.js":"11.12.0","partial-json":"0.1.7","range-parser":"1.3.0","safer-buffer":"2.1.2","serve-static":"2.2.1","side-channel":"1.1.1","toidentifier":"1.0.1","tough-cookie":"6.0.2","@aws-sdk/core":"3.977.9","@exodus/bytes":"1.15.1","@google/genai":"2.18.0","@smithy/types":"4.17.2","function-bind":"1.1.2","get-intrinsic":"1.3.0","object-assign":"4.1.1","shebang-regex":"3.0.0","source-map-js":"1.2.1","@aws-sdk/types":"3.974.5","@babel/runtime":"7.29.2","balanced-match":"4.0.4","object-inspect":"1.13.4","path-to-regexp":"8.4.2","pkce-challenge":"5.0.1","proxy-from-env":"2.1.0","setprototypeof":"1.2.0","@xterm/headless":"6.0.0","brace-expansion":"5.0.9","es-object-atoms":"1.1.2","fast-deep-equal":"3.1.3","hosted-git-info":"10.1.1","math-intrinsics":"1.1.0","proper-lockfile":"4.1.2","shebang-command":"2.0.0","whatwg-mimetype":"5.0.0","@protobufjs/path":"1.1.2","@protobufjs/pool":"1.1.0","@protobufjs/utf8":"1.1.1","cookie-signature":"1.2.2","http-proxy-agent":"9.1.0","side-channel-map":"1.0.1","standardwebhooks":"1.0.0","@anthropic-ai/sdk":"0.120.0","@hono/node-server":"2.1.1","@protobufjs/fetch":"1.1.1","@protobufjs/float":"1.0.2","@stablelib/base64":"1.0.1","formdata-polyfill":"4.0.10","https-proxy-agent":"9.1.0","json-schema-to-ts":"3.1.1","json-schema-typed":"8.0.2","merge-descriptors":"2.0.0","node-domexception":"1.0.0","side-channel-list":"1.0.1","w3c-xmlserializer":"5.0.0","@bufbuild/protobuf":"2.14.0","@csstools/css-calc":"3.3.0","@mixmark-io/domino":"2.2.0","@opentelemetry/api":"1.9.1","@protobufjs/base64":"1.1.2","data-uri-to-buffer":"4.0.1","es-define-property":"1.0.1","eventsource-parser":"3.1.0","express-rate-limit":"8.5.2","webidl-conversions":"8.0.1","xml-name-validator":"5.0.0","zod-to-json-schema":"3.25.2","@bramus/specificity":"2.4.2","@protobufjs/codegen":"2.0.5","content-disposition":"1.1.0","ecdsa-sig-formatter":"1.0.11","google-auth-library":"10.6.2","require-from-string":"2.0.2","@aws-sdk/xml-builder":"3.972.40","@mozilla/readability":"0.6.0","@smithy/signature-v4":"5.7.3","get-east-asian-width":"1.6.0","google-logging-utils":"1.1.3","json-schema-traverse":"1.0.0","side-channel-weakmap":"1.0.2","web-streams-polyfill":"3.3.3","@asamuzakjp/css-color":"6.0.7","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.8.28-2","@protobufjs/aspromise":"1.1.2","html-encoding-sniffer":"6.0.0","proxy-agent-negotiate":"1.1.0","@earendil-works/pi-pty":"npm:@code-yeongyu/senpi-pty@2026.8.28-2","@earendil-works/pi-tui":"npm:@code-yeongyu/senpi-tui@2026.8.28-2","@aws-sdk/nested-clients":"3.997.44","@csstools/color-helpers":"6.1.1","@csstools/css-tokenizer":"4.0.0","@mariozechner/clipboard":"*","call-bind-apply-helpers":"1.0.2","@asamuzakjp/dom-selector":"8.3.2","@aws-sdk/token-providers":"3.1116.0","@aws/lambda-invoke-store":"0.3.0","@protobufjs/eventemitter":"1.1.1","@modelcontextprotocol/sdk":"1.30.0","@smithy/node-http-handler":"4.11.3","@csstools/css-color-parser":"4.2.0","@silvia-odwyer/photon-node":"0.3.4","@smithy/fetch-http-handler":"5.7.2","buffer-equal-constant-time":"1.0.1","@code-yeongyu/senpi-codemode":"2026.8.28-2","@earendil-works/pi-telemetry":"npm:@code-yeongyu/senpi-telemetry@2026.8.28-2","@aws-sdk/middleware-websocket":"3.972.52","@earendil-works/pi-agent-core":"npm:@code-yeongyu/senpi-agent-core@2026.8.28-2","@anthropic-ai/claude-agent-sdk":"0.3.241","@aws-sdk/client-bedrock-runtime":"3.1116.0","@aws-sdk/middleware-eventstream":"3.972.29","@csstools/css-parser-algorithms":"4.0.0","@aws-sdk/credential-provider-env":"3.972.70","@aws-sdk/credential-provider-ini":"3.973.15","@aws-sdk/credential-provider-sso":"3.973.14","@smithy/credential-provider-imds":"4.5.2","is-potential-custom-element-name":"1.0.1","@aws-sdk/credential-provider-http":"3.972.72","@aws-sdk/credential-provider-node":"3.972.81","@aws-sdk/eventstream-handler-node":"3.972.34","@aws-sdk/credential-provider-login":"3.972.77","@aws-sdk/signature-v4-multi-region":"3.996.46","@aws-sdk/credential-provider-process":"3.972.70","@csstools/css-syntax-patches-for-csstree":"1.1.8","@aws-sdk/credential-provider-web-identity":"3.972.76"},"_hasShrinkwrap":false,"devDependencies":{"shx":"0.4.0","vitest":"4.1.11","@types/ws":"8.18.1","typescript":"7.0.2","@types/node":"26.2.0","@types/jsdom":"30.0.0","@types/semver":"7.8.0","@types/turndown":"5.0.6","@types/picomatch":"4.0.3","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@anthropic-ai/claude-agent-sdk","@anthropic-ai/sdk","@asamuzakjp/css-color","@asamuzakjp/dom-selector","@aws-sdk/client-bedrock-runtime","@aws-sdk/core","@aws-sdk/credential-provider-env","@aws-sdk/credential-provider-http","@aws-sdk/credential-provider-ini","@aws-sdk/credential-provider-login","@aws-sdk/credential-provider-node","@aws-sdk/credential-provider-process","@aws-sdk/credential-provider-sso","@aws-sdk/credential-provider-web-identity","@aws-sdk/eventstream-handler-node","@aws-sdk/middleware-eventstream","@aws-sdk/middleware-websocket","@aws-sdk/nested-clients","@aws-sdk/signature-v4-multi-region","@aws-sdk/token-providers","@aws-sdk/types","@aws-sdk/xml-builder","@aws/lambda-invoke-store","@babel/runtime","@bramus/specificity","@bufbuild/protobuf","@code-yeongyu/senpi-codemode","@csstools/color-helpers","@csstools/css-calc","@csstools/css-color-parser","@csstools/css-parser-algorithms","@csstools/css-syntax-patches-for-csstree","@csstools/css-tokenizer","@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-pty","@earendil-works/pi-telemetry","@earendil-works/pi-tui","@exodus/bytes","@google/genai","@hono/node-server","@mariozechner/clipboard","@mixmark-io/domino","@modelcontextprotocol/sdk","@mozilla/readability","@opentelemetry/api","@protobufjs/aspromise","@protobufjs/base64","@protobufjs/codegen","@protobufjs/eventemitter","@protobufjs/fetch","@protobufjs/float","@protobufjs/path","@protobufjs/pool","@protobufjs/utf8","@silvia-odwyer/photon-node","@smithy/core","@smithy/credential-provider-imds","@smithy/fetch-http-handler","@smithy/node-http-handler","@smithy/signature-v4","@smithy/types","@stablelib/base64","@types/node","@xterm/headless","accepts","agent-base","ajv","ajv-formats","balanced-match","base64-js","bidi-js","bignumber.js","body-parser","bowser","brace-expansion","buffer-equal-constant-time","bytes","call-bind-apply-helpers","call-bound","chalk","content-disposition","content-type","cookie","cookie-signature","cors","cross-spawn","css-tree","data-uri-to-buffer","data-urls","debug","decimal.js","depd","diff","dunder-proto","ecdsa-sig-formatter","ee-first","encodeurl","entities","es-define-property","es-errors","es-object-atoms","escape-html","etag","eventsource","eventsource-parser","express","express-rate-limit","extend","fast-deep-equal","fast-sha256","fast-uri","fetch-blob","finalhandler","formdata-polyfill","forwarded","fresh","function-bind","gaxios","gcp-metadata","get-east-asian-width","get-intrinsic","get-proto","glob","google-auth-library","google-logging-utils","gopd","graceful-fs","grok-mermaid","has-symbols","hasown","highlight.js","hono","hosted-git-info","html-encoding-sniffer","http-errors","http-proxy-agent","https-proxy-agent","iconv-lite","ignore","inherits","ip-address","ipaddr.js","is-potential-custom-element-name","is-promise","isexe","jiti","jose","jsdom","json-bigint","json-schema-to-ts","json-schema-traverse","json-schema-typed","jwa","jws","long","lru-cache","marked","math-intrinsics","mdn-data","media-typer","merge-descriptors","mime-db","mime-types","minimatch","minipass","ms","negotiator","node-domexception","node-fetch","object-assign","object-inspect","on-finished","once","openai","p-retry","parse5","parseurl","partial-json","path-key","path-scurry","path-to-regexp","picomatch","pkce-challenge","proper-lockfile","protobufjs","proxy-addr","proxy-agent-negotiate","proxy-from-env","punycode","qs","range-parser","raw-body","require-from-string","retry","router","safe-buffer","safer-buffer","saxes","semver","send","serve-static","setprototypeof","shebang-command","shebang-regex","side-channel","side-channel-list","side-channel-map","side-channel-weakmap","signal-exit","source-map-js","standardwebhooks","statuses","symbol-tree","tldts","tldts-core","toidentifier","tough-cookie","tr46","ts-algebra","tslib","turndown","type-is","typebox","undici","unpipe","vary","w3c-xmlserializer","web-streams-polyfill","webidl-conversions","whatwg-mimetype","whatwg-url","which","wrappy","ws","xml-name-validator","xmlchars","yaml","zod","zod-to-json-schema"],"optionalDependencies":{"@mariozechner/clipboard":"0.3.9","@mariozechner/clipboard-darwin-x64":"0.3.9","@mariozechner/clipboard-darwin-arm64":"0.3.9","@mariozechner/clipboard-linux-x64-gnu":"0.3.9","@mariozechner/clipboard-linux-x64-musl":"0.3.9","@mariozechner/clipboard-win32-x64-msvc":"0.3.9","@mariozechner/clipboard-linux-arm64-gnu":"0.3.9","@anthropic-ai/claude-agent-sdk-linux-x64":"0.3.241","@anthropic-ai/claude-agent-sdk-win32-x64":"0.3.241","@mariozechner/clipboard-darwin-universal":"0.3.9","@mariozechner/clipboard-linux-arm64-musl":"0.3.9","@mariozechner/clipboard-win32-arm64-msvc":"0.3.9","@anthropic-ai/claude-agent-sdk-darwin-x64":"0.3.241","@mariozechner/clipboard-linux-riscv64-gnu":"0.3.9","@anthropic-ai/claude-agent-sdk-linux-arm64":"0.3.241","@anthropic-ai/claude-agent-sdk-win32-arm64":"0.3.241","@anthropic-ai/claude-agent-sdk-darwin-arm64":"0.3.241","@anthropic-ai/claude-agent-sdk-linux-x64-musl":"0.3.241","@anthropic-ai/claude-agent-sdk-linux-arm64-musl":"0.3.241"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.8.28-2_1787957561433_0.5352434626541609","host":"s3://npm-registry-packages-npm-production"}},"2026.8.29":{"name":"@code-yeongyu/senpi","version":"2026.8.29","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.8.29","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"pi":"dist/bundle/cli.js","senpi":"dist/cli.js"},"dist":{"shasum":"e14b4a57b376da56591a01bff830f2d360e677bd","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.8.29.tgz","fileCount":24588,"integrity":"sha512-kJZ8dMdRNG2dKh3gjem4SM9A+ML8mmzoCMLtZckU7O5/DHxR5MD+jCtCj0J0DkIft+7HMkLKK5di0LENw/6cxQ==","signatures":[{"sig":"MEUCIGnEnbuqr/jw0r+FkL3jXBejx4pNgs1sSo7S/8iYvGPfAiEAxDX8YkJX1IN1Baa2d1KoWL4Wr8fLlC3WIVTIVuHwyMQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.8.29","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":171217406},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.js"},"./rpc-entry":{"import":"./dist/rpc-entry.js"}},"scripts":{"dev":"tsc -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsc -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js dist/rpc-entry.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/","build:binary":"npm --prefix ../tui run build && npm --prefix ../telemetry run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm --prefix ../protocol run build && npm --prefix ../client run build && npm --prefix ../pty run build && npm run build && node ../../scripts/prepare-bun-compile-assets.mjs && bun build --compile --compile-autoload-package-json --no-compile-autoload-dotenv --no-compile-autoload-bunfig --minify --keep-names ./dist/bun/cli.js ./src/utils/image-resize-worker.ts ../../node_modules/jsdom/lib/jsdom/living/xhr/xhr-sync-worker.js --outfile dist/pi && npm run copy-binary-assets","qa:app-server":"node scripts/qa-app-server/run-all.mjs","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","build:unbundled":"tsgo -p tsconfig.build.json && shx chmod +x dist/cli.js dist/rpc-entry.js && npm run copy-assets","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/export-html/ && shx cp -r docs dist/ && shx cp -r examples dist/ && shx mkdir -p dist/node_modules && shx cp -r ../../node_modules/css-tree ../../node_modules/mdn-data ../../node_modules/source-map-js dist/node_modules/ && node ../../scripts/copy-codemode-sidecar.mjs dist && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/ && shx mkdir -p dist/native/darwin dist/native/win32 && shx cp -r ../../packages/tui/native/darwin/prebuilds dist/native/darwin/ && shx cp -r ../../packages/tui/native/win32/prebuilds dist/native/win32/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/ && node ../../scripts/copy-pty-native.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ea548fc8-dac4-4dec-a439-6f4fa3870309"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.3"},"rimraf":"6.1.3","protobufjs":"7.6.5","@hono/node-server":"2.1.1"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.17.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.19.0","dependencies":{"ms":"2.1.3","qs":"6.15.3","ws":"8.21.3","ajv":"8.20.0","jwa":"2.0.1","jws":"4.0.1","zod":"4.4.3","cors":"2.8.6","depd":"2.0.0","diff":"9.0.0","etag":"1.8.1","glob":"13.0.6","gopd":"1.2.0","hono":"4.12.27","jiti":"2.7.0","jose":"6.2.3","long":"5.3.2","once":"1.4.0","send":"1.2.1","tr46":"6.0.0","vary":"1.1.2","yaml":"2.9.0","bytes":"3.1.2","chalk":"6.0.0","debug":"4.4.3","fresh":"2.0.0","isexe":"2.0.0","jsdom":"30.0.1","retry":"0.13.1","saxes":"6.0.0","tldts":"7.4.10","tslib":"2.8.1","which":"2.0.2","bowser":"2.14.1","cookie":"0.7.2","extend":"3.0.2","gaxios":"7.1.4","hasown":"2.0.3","ignore":"7.0.6","marked":"18.0.10","openai":"6.26.0","parse5":"8.0.1","router":"2.2.0","semver":"7.8.5","undici":"8.10.0","unpipe":"1.0.0","wrappy":"1.0.2","accepts":"2.0.0","bidi-js":"1.0.3","express":"5.2.1","mime-db":"1.54.0","p-retry":"4.6.2","type-is":"2.1.0","typebox":"1.3.18","css-tree":"3.2.1","ee-first":"1.1.1","entities":"8.0.0","fast-uri":"3.1.4","inherits":"2.0.4","mdn-data":"2.27.1","minipass":"7.1.3","parseurl":"1.3.3","path-key":"3.1.1","punycode":"2.3.1","raw-body":"3.0.2","statuses":"2.0.2","turndown":"7.2.4","xmlchars":"2.2.0","base64-js":"1.5.1","data-urls":"7.0.0","encodeurl":"2.0.0","es-errors":"1.3.0","forwarded":"0.2.0","get-proto":"1.0.1","ipaddr.js":"1.9.1","lru-cache":"11.5.2","minimatch":"10.2.6","picomatch":"4.0.5","agent-base":"7.1.4","call-bound":"1.0.4","decimal.js":"10.6.0","fetch-blob":"3.2.0","iconv-lite":"0.7.3","ip-address":"10.2.0","is-promise":"4.0.0","mime-types":"3.0.2","negotiator":"1.0.0","node-fetch":"3.3.2","protobufjs":"7.6.5","proxy-addr":"2.0.7","tldts-core":"7.4.10","ts-algebra":"2.0.0","whatwg-url":"16.0.1","@types/node":"26.2.0","ajv-formats":"3.0.1","body-parser":"2.3.0","cross-spawn":"7.0.6","escape-html":"1.0.3","eventsource":"3.0.7","fast-sha256":"1.3.0","graceful-fs":"4.2.11","has-symbols":"1.1.0","http-errors":"2.0.1","json-bigint":"1.0.0","media-typer":"1.1.0","on-finished":"2.4.1","path-scurry":"2.0.2","safe-buffer":"5.2.1","signal-exit":"3.0.7","symbol-tree":"3.2.4","@smithy/core":"3.33.3","bignumber.js":"9.3.1","content-type":"1.0.5","dunder-proto":"1.0.1","finalhandler":"2.1.1","gcp-metadata":"8.1.2","grok-mermaid":"0.2.3","highlight.js":"11.12.0","partial-json":"0.1.7","range-parser":"1.3.0","safer-buffer":"2.1.2","serve-static":"2.2.1","side-channel":"1.1.1","toidentifier":"1.0.1","tough-cookie":"6.0.2","@aws-sdk/core":"3.977.9","@exodus/bytes":"1.15.1","@google/genai":"2.18.0","@smithy/types":"4.17.2","function-bind":"1.1.2","get-intrinsic":"1.3.0","object-assign":"4.1.1","shebang-regex":"3.0.0","source-map-js":"1.2.1","@aws-sdk/types":"3.974.5","@babel/runtime":"7.29.2","balanced-match":"4.0.4","object-inspect":"1.13.4","path-to-regexp":"8.4.2","pkce-challenge":"5.0.1","proxy-from-env":"2.1.0","setprototypeof":"1.2.0","@xterm/headless":"6.0.0","brace-expansion":"5.0.9","es-object-atoms":"1.1.2","fast-deep-equal":"3.1.3","hosted-git-info":"10.1.1","math-intrinsics":"1.1.0","proper-lockfile":"4.1.2","shebang-command":"2.0.0","whatwg-mimetype":"5.0.0","@protobufjs/path":"1.1.2","@protobufjs/pool":"1.1.0","@protobufjs/utf8":"1.1.1","cookie-signature":"1.2.2","http-proxy-agent":"9.1.0","side-channel-map":"1.0.1","standardwebhooks":"1.0.0","@anthropic-ai/sdk":"0.120.0","@hono/node-server":"2.1.1","@protobufjs/fetch":"1.1.1","@protobufjs/float":"1.0.2","@stablelib/base64":"1.0.1","formdata-polyfill":"4.0.10","https-proxy-agent":"9.1.0","json-schema-to-ts":"3.1.1","json-schema-typed":"8.0.2","merge-descriptors":"2.0.0","node-domexception":"1.0.0","side-channel-list":"1.0.1","w3c-xmlserializer":"5.0.0","@bufbuild/protobuf":"2.14.0","@csstools/css-calc":"3.3.0","@mixmark-io/domino":"2.2.0","@opentelemetry/api":"1.9.1","@protobufjs/base64":"1.1.2","data-uri-to-buffer":"4.0.1","es-define-property":"1.0.1","eventsource-parser":"3.1.0","express-rate-limit":"8.5.2","webidl-conversions":"8.0.1","xml-name-validator":"5.0.0","zod-to-json-schema":"3.25.2","@bramus/specificity":"2.4.2","@protobufjs/codegen":"2.0.5","content-disposition":"1.1.0","ecdsa-sig-formatter":"1.0.11","google-auth-library":"10.6.2","require-from-string":"2.0.2","@aws-sdk/xml-builder":"3.972.40","@mozilla/readability":"0.6.0","@smithy/signature-v4":"5.7.3","get-east-asian-width":"1.6.0","google-logging-utils":"1.1.3","json-schema-traverse":"1.0.0","side-channel-weakmap":"1.0.2","web-streams-polyfill":"3.3.3","@asamuzakjp/css-color":"6.0.7","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.8.29","@protobufjs/aspromise":"1.1.2","html-encoding-sniffer":"6.0.0","proxy-agent-negotiate":"1.1.0","@earendil-works/pi-pty":"npm:@code-yeongyu/senpi-pty@2026.8.29","@earendil-works/pi-tui":"npm:@code-yeongyu/senpi-tui@2026.8.29","@aws-sdk/nested-clients":"3.997.44","@csstools/color-helpers":"6.1.1","@csstools/css-tokenizer":"4.0.0","@mariozechner/clipboard":"*","call-bind-apply-helpers":"1.0.2","@asamuzakjp/dom-selector":"8.3.2","@aws-sdk/token-providers":"3.1116.0","@aws/lambda-invoke-store":"0.3.0","@protobufjs/eventemitter":"1.1.1","@modelcontextprotocol/sdk":"1.30.0","@smithy/node-http-handler":"4.11.3","@csstools/css-color-parser":"4.2.0","@silvia-odwyer/photon-node":"0.3.4","@smithy/fetch-http-handler":"5.7.2","buffer-equal-constant-time":"1.0.1","@code-yeongyu/senpi-codemode":"2026.8.29","@earendil-works/pi-telemetry":"npm:@code-yeongyu/senpi-telemetry@2026.8.29","@aws-sdk/middleware-websocket":"3.972.52","@earendil-works/pi-agent-core":"npm:@code-yeongyu/senpi-agent-core@2026.8.29","@anthropic-ai/claude-agent-sdk":"0.3.241","@aws-sdk/client-bedrock-runtime":"3.1116.0","@aws-sdk/middleware-eventstream":"3.972.29","@csstools/css-parser-algorithms":"4.0.0","@aws-sdk/credential-provider-env":"3.972.70","@aws-sdk/credential-provider-ini":"3.973.15","@aws-sdk/credential-provider-sso":"3.973.14","@smithy/credential-provider-imds":"4.5.2","is-potential-custom-element-name":"1.0.1","@aws-sdk/credential-provider-http":"3.972.72","@aws-sdk/credential-provider-node":"3.972.81","@aws-sdk/eventstream-handler-node":"3.972.34","@aws-sdk/credential-provider-login":"3.972.77","@aws-sdk/signature-v4-multi-region":"3.996.46","@aws-sdk/credential-provider-process":"3.972.70","@csstools/css-syntax-patches-for-csstree":"1.1.8","@aws-sdk/credential-provider-web-identity":"3.972.76"},"_hasShrinkwrap":false,"devDependencies":{"shx":"0.4.0","vitest":"4.1.11","@types/ws":"8.18.1","typescript":"7.0.2","@types/node":"26.2.0","@types/jsdom":"30.0.0","@types/semver":"7.8.0","@types/turndown":"5.0.6","@types/picomatch":"4.0.3","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@anthropic-ai/claude-agent-sdk","@anthropic-ai/sdk","@asamuzakjp/css-color","@asamuzakjp/dom-selector","@aws-sdk/client-bedrock-runtime","@aws-sdk/core","@aws-sdk/credential-provider-env","@aws-sdk/credential-provider-http","@aws-sdk/credential-provider-ini","@aws-sdk/credential-provider-login","@aws-sdk/credential-provider-node","@aws-sdk/credential-provider-process","@aws-sdk/credential-provider-sso","@aws-sdk/credential-provider-web-identity","@aws-sdk/eventstream-handler-node","@aws-sdk/middleware-eventstream","@aws-sdk/middleware-websocket","@aws-sdk/nested-clients","@aws-sdk/signature-v4-multi-region","@aws-sdk/token-providers","@aws-sdk/types","@aws-sdk/xml-builder","@aws/lambda-invoke-store","@babel/runtime","@bramus/specificity","@bufbuild/protobuf","@code-yeongyu/senpi-codemode","@csstools/color-helpers","@csstools/css-calc","@csstools/css-color-parser","@csstools/css-parser-algorithms","@csstools/css-syntax-patches-for-csstree","@csstools/css-tokenizer","@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-pty","@earendil-works/pi-telemetry","@earendil-works/pi-tui","@exodus/bytes","@google/genai","@hono/node-server","@mariozechner/clipboard","@mixmark-io/domino","@modelcontextprotocol/sdk","@mozilla/readability","@opentelemetry/api","@protobufjs/aspromise","@protobufjs/base64","@protobufjs/codegen","@protobufjs/eventemitter","@protobufjs/fetch","@protobufjs/float","@protobufjs/path","@protobufjs/pool","@protobufjs/utf8","@silvia-odwyer/photon-node","@smithy/core","@smithy/credential-provider-imds","@smithy/fetch-http-handler","@smithy/node-http-handler","@smithy/signature-v4","@smithy/types","@stablelib/base64","@types/node","@xterm/headless","accepts","agent-base","ajv","ajv-formats","balanced-match","base64-js","bidi-js","bignumber.js","body-parser","bowser","brace-expansion","buffer-equal-constant-time","bytes","call-bind-apply-helpers","call-bound","chalk","content-disposition","content-type","cookie","cookie-signature","cors","cross-spawn","css-tree","data-uri-to-buffer","data-urls","debug","decimal.js","depd","diff","dunder-proto","ecdsa-sig-formatter","ee-first","encodeurl","entities","es-define-property","es-errors","es-object-atoms","escape-html","etag","eventsource","eventsource-parser","express","express-rate-limit","extend","fast-deep-equal","fast-sha256","fast-uri","fetch-blob","finalhandler","formdata-polyfill","forwarded","fresh","function-bind","gaxios","gcp-metadata","get-east-asian-width","get-intrinsic","get-proto","glob","google-auth-library","google-logging-utils","gopd","graceful-fs","grok-mermaid","has-symbols","hasown","highlight.js","hono","hosted-git-info","html-encoding-sniffer","http-errors","http-proxy-agent","https-proxy-agent","iconv-lite","ignore","inherits","ip-address","ipaddr.js","is-potential-custom-element-name","is-promise","isexe","jiti","jose","jsdom","json-bigint","json-schema-to-ts","json-schema-traverse","json-schema-typed","jwa","jws","long","lru-cache","marked","math-intrinsics","mdn-data","media-typer","merge-descriptors","mime-db","mime-types","minimatch","minipass","ms","negotiator","node-domexception","node-fetch","object-assign","object-inspect","on-finished","once","openai","p-retry","parse5","parseurl","partial-json","path-key","path-scurry","path-to-regexp","picomatch","pkce-challenge","proper-lockfile","protobufjs","proxy-addr","proxy-agent-negotiate","proxy-from-env","punycode","qs","range-parser","raw-body","require-from-string","retry","router","safe-buffer","safer-buffer","saxes","semver","send","serve-static","setprototypeof","shebang-command","shebang-regex","side-channel","side-channel-list","side-channel-map","side-channel-weakmap","signal-exit","source-map-js","standardwebhooks","statuses","symbol-tree","tldts","tldts-core","toidentifier","tough-cookie","tr46","ts-algebra","tslib","turndown","type-is","typebox","undici","unpipe","vary","w3c-xmlserializer","web-streams-polyfill","webidl-conversions","whatwg-mimetype","whatwg-url","which","wrappy","ws","xml-name-validator","xmlchars","yaml","zod","zod-to-json-schema"],"optionalDependencies":{"@mariozechner/clipboard":"0.3.9","@mariozechner/clipboard-darwin-x64":"0.3.9","@mariozechner/clipboard-darwin-arm64":"0.3.9","@mariozechner/clipboard-linux-x64-gnu":"0.3.9","@mariozechner/clipboard-linux-x64-musl":"0.3.9","@mariozechner/clipboard-win32-x64-msvc":"0.3.9","@mariozechner/clipboard-linux-arm64-gnu":"0.3.9","@anthropic-ai/claude-agent-sdk-linux-x64":"0.3.241","@anthropic-ai/claude-agent-sdk-win32-x64":"0.3.241","@mariozechner/clipboard-darwin-universal":"0.3.9","@mariozechner/clipboard-linux-arm64-musl":"0.3.9","@mariozechner/clipboard-win32-arm64-msvc":"0.3.9","@anthropic-ai/claude-agent-sdk-darwin-x64":"0.3.241","@mariozechner/clipboard-linux-riscv64-gnu":"0.3.9","@anthropic-ai/claude-agent-sdk-linux-arm64":"0.3.241","@anthropic-ai/claude-agent-sdk-win32-arm64":"0.3.241","@anthropic-ai/claude-agent-sdk-darwin-arm64":"0.3.241","@anthropic-ai/claude-agent-sdk-linux-x64-musl":"0.3.241","@anthropic-ai/claude-agent-sdk-linux-arm64-musl":"0.3.241"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.8.29_1787980194922_0.09691414254205033","host":"s3://npm-registry-packages-npm-production"}},"2026.8.30":{"name":"@code-yeongyu/senpi","version":"2026.8.30","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.8.30","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"pi":"dist/bundle/cli.js","senpi":"dist/cli.js"},"dist":{"shasum":"bcd69d7a8277466919e18329052319a10e14f027","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.8.30.tgz","fileCount":24600,"integrity":"sha512-jTpzwytp82oWK2sqnL0swfkDBM77J8CXILCxcUYIWTlSYGhGScEW+A1h4m0Ih1uI/Ns0M9P/vO/doH2oidhKDw==","signatures":[{"sig":"MEQCIE9WnyyBIYTZLK0s7vjDerQlaEVQjAxzU72C0QPtmCLfAiBhvWJLmQHW1A9VKbDvHGDVouhbl2LlP4FyjsOi9/+Tmg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.8.30","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":171603194},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.js"},"./rpc-entry":{"import":"./dist/rpc-entry.js"}},"scripts":{"dev":"tsc -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsc -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js dist/rpc-entry.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/","build:binary":"npm --prefix ../tui run build && npm --prefix ../telemetry run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm --prefix ../protocol run build && npm --prefix ../client run build && npm --prefix ../pty run build && npm run build && node ../../scripts/prepare-bun-compile-assets.mjs && bun build --compile --compile-autoload-package-json --no-compile-autoload-dotenv --no-compile-autoload-bunfig --minify --keep-names ./dist/bun/cli.js ./src/utils/image-resize-worker.ts ../../node_modules/jsdom/lib/jsdom/living/xhr/xhr-sync-worker.js --outfile dist/pi && npm run copy-binary-assets","qa:app-server":"node scripts/qa-app-server/run-all.mjs","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","build:unbundled":"tsgo -p tsconfig.build.json && shx chmod +x dist/cli.js dist/rpc-entry.js && npm run copy-assets","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/export-html/ && shx cp -r docs dist/ && shx cp -r examples dist/ && shx mkdir -p dist/node_modules && shx cp -r ../../node_modules/css-tree ../../node_modules/mdn-data ../../node_modules/source-map-js dist/node_modules/ && node ../../scripts/copy-codemode-sidecar.mjs dist && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/ && shx mkdir -p dist/native/darwin dist/native/win32 && shx cp -r ../../packages/tui/native/darwin/prebuilds dist/native/darwin/ && shx cp -r ../../packages/tui/native/win32/prebuilds dist/native/win32/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/ && node ../../scripts/copy-pty-native.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ea548fc8-dac4-4dec-a439-6f4fa3870309"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.3"},"rimraf":"6.1.3","protobufjs":"7.6.5","@hono/node-server":"2.1.1"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.17.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.19.0","dependencies":{"ms":"2.1.3","qs":"6.15.3","ws":"8.21.3","ajv":"8.20.0","jwa":"2.0.1","jws":"4.0.1","zod":"4.4.3","cors":"2.8.6","depd":"2.0.0","diff":"9.0.0","etag":"1.8.1","glob":"13.0.6","gopd":"1.2.0","hono":"4.12.27","jiti":"2.7.0","jose":"6.2.3","long":"5.3.2","once":"1.4.0","send":"1.2.1","tr46":"6.0.0","vary":"1.1.2","yaml":"2.9.0","bytes":"3.1.2","chalk":"6.0.0","debug":"4.4.3","fresh":"2.0.0","isexe":"2.0.0","jsdom":"30.0.1","retry":"0.13.1","saxes":"6.0.0","tldts":"7.4.10","tslib":"2.8.1","which":"2.0.2","bowser":"2.14.1","cookie":"0.7.2","extend":"3.0.2","gaxios":"7.1.4","hasown":"2.0.3","ignore":"7.0.6","marked":"18.0.10","openai":"6.26.0","parse5":"8.0.1","router":"2.2.0","semver":"7.8.5","undici":"8.10.0","unpipe":"1.0.0","wrappy":"1.0.2","accepts":"2.0.0","bidi-js":"1.0.3","express":"5.2.1","mime-db":"1.54.0","p-retry":"4.6.2","type-is":"2.1.0","typebox":"1.3.18","css-tree":"3.2.1","ee-first":"1.1.1","entities":"8.0.0","fast-uri":"3.1.4","inherits":"2.0.4","mdn-data":"2.27.1","minipass":"7.1.3","parseurl":"1.3.3","path-key":"3.1.1","punycode":"2.3.1","raw-body":"3.0.2","statuses":"2.0.2","turndown":"7.2.4","xmlchars":"2.2.0","base64-js":"1.5.1","data-urls":"7.0.0","encodeurl":"2.0.0","es-errors":"1.3.0","forwarded":"0.2.0","get-proto":"1.0.1","ipaddr.js":"1.9.1","lru-cache":"11.5.2","minimatch":"10.2.6","picomatch":"4.0.5","agent-base":"7.1.4","call-bound":"1.0.4","decimal.js":"10.6.0","fetch-blob":"3.2.0","iconv-lite":"0.7.3","ip-address":"10.2.0","is-promise":"4.0.0","mime-types":"3.0.2","negotiator":"1.0.0","node-fetch":"3.3.2","protobufjs":"7.6.5","proxy-addr":"2.0.7","tldts-core":"7.4.10","ts-algebra":"2.0.0","whatwg-url":"16.0.1","@types/node":"26.2.0","ajv-formats":"3.0.1","body-parser":"2.3.0","cross-spawn":"7.0.6","escape-html":"1.0.3","eventsource":"3.0.7","fast-sha256":"1.3.0","graceful-fs":"4.2.11","has-symbols":"1.1.0","http-errors":"2.0.1","json-bigint":"1.0.0","media-typer":"1.1.0","on-finished":"2.4.1","path-scurry":"2.0.2","safe-buffer":"5.2.1","signal-exit":"3.0.7","symbol-tree":"3.2.4","@smithy/core":"3.33.3","bignumber.js":"9.3.1","content-type":"1.0.5","dunder-proto":"1.0.1","finalhandler":"2.1.1","gcp-metadata":"8.1.2","grok-mermaid":"0.2.3","highlight.js":"11.12.0","partial-json":"0.1.7","range-parser":"1.3.0","safer-buffer":"2.1.2","serve-static":"2.2.1","side-channel":"1.1.1","toidentifier":"1.0.1","tough-cookie":"6.0.2","@aws-sdk/core":"3.977.9","@exodus/bytes":"1.15.1","@google/genai":"2.18.0","@smithy/types":"4.17.2","function-bind":"1.1.2","get-intrinsic":"1.3.0","object-assign":"4.1.1","shebang-regex":"3.0.0","source-map-js":"1.2.1","@aws-sdk/types":"3.974.5","@babel/runtime":"7.29.2","balanced-match":"4.0.4","object-inspect":"1.13.4","path-to-regexp":"8.4.2","pkce-challenge":"5.0.1","proxy-from-env":"2.1.0","setprototypeof":"1.2.0","@xterm/headless":"6.0.0","brace-expansion":"5.0.9","es-object-atoms":"1.1.2","fast-deep-equal":"3.1.3","hosted-git-info":"10.1.1","math-intrinsics":"1.1.0","proper-lockfile":"4.1.2","shebang-command":"2.0.0","whatwg-mimetype":"5.0.0","@protobufjs/path":"1.1.2","@protobufjs/pool":"1.1.0","@protobufjs/utf8":"1.1.1","cookie-signature":"1.2.2","http-proxy-agent":"9.1.0","side-channel-map":"1.0.1","standardwebhooks":"1.0.0","@anthropic-ai/sdk":"0.120.0","@hono/node-server":"2.1.1","@protobufjs/fetch":"1.1.1","@protobufjs/float":"1.0.2","@stablelib/base64":"1.0.1","formdata-polyfill":"4.0.10","https-proxy-agent":"9.1.0","json-schema-to-ts":"3.1.1","json-schema-typed":"8.0.2","merge-descriptors":"2.0.0","node-domexception":"1.0.0","side-channel-list":"1.0.1","w3c-xmlserializer":"5.0.0","@bufbuild/protobuf":"2.14.0","@csstools/css-calc":"3.3.0","@mixmark-io/domino":"2.2.0","@opentelemetry/api":"1.9.1","@protobufjs/base64":"1.1.2","data-uri-to-buffer":"4.0.1","es-define-property":"1.0.1","eventsource-parser":"3.1.0","express-rate-limit":"8.5.2","webidl-conversions":"8.0.1","xml-name-validator":"5.0.0","zod-to-json-schema":"3.25.2","@bramus/specificity":"2.4.2","@protobufjs/codegen":"2.0.5","content-disposition":"1.1.0","ecdsa-sig-formatter":"1.0.11","google-auth-library":"10.6.2","require-from-string":"2.0.2","@aws-sdk/xml-builder":"3.972.40","@mozilla/readability":"0.6.0","@smithy/signature-v4":"5.7.3","get-east-asian-width":"1.6.0","google-logging-utils":"1.1.3","json-schema-traverse":"1.0.0","side-channel-weakmap":"1.0.2","web-streams-polyfill":"3.3.3","@asamuzakjp/css-color":"6.0.7","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.8.30","@protobufjs/aspromise":"1.1.2","html-encoding-sniffer":"6.0.0","proxy-agent-negotiate":"1.1.0","@earendil-works/pi-pty":"npm:@code-yeongyu/senpi-pty@2026.8.30","@earendil-works/pi-tui":"npm:@code-yeongyu/senpi-tui@2026.8.30","@aws-sdk/nested-clients":"3.997.44","@csstools/color-helpers":"6.1.1","@csstools/css-tokenizer":"4.0.0","@mariozechner/clipboard":"*","call-bind-apply-helpers":"1.0.2","@asamuzakjp/dom-selector":"8.3.2","@aws-sdk/token-providers":"3.1116.0","@aws/lambda-invoke-store":"0.3.0","@protobufjs/eventemitter":"1.1.1","@modelcontextprotocol/sdk":"1.30.0","@smithy/node-http-handler":"4.11.3","@csstools/css-color-parser":"4.2.0","@silvia-odwyer/photon-node":"0.3.4","@smithy/fetch-http-handler":"5.7.2","buffer-equal-constant-time":"1.0.1","@code-yeongyu/senpi-codemode":"2026.8.30","@earendil-works/pi-telemetry":"npm:@code-yeongyu/senpi-telemetry@2026.8.30","@aws-sdk/middleware-websocket":"3.972.52","@earendil-works/pi-agent-core":"npm:@code-yeongyu/senpi-agent-core@2026.8.30","@anthropic-ai/claude-agent-sdk":"0.3.241","@aws-sdk/client-bedrock-runtime":"3.1116.0","@aws-sdk/middleware-eventstream":"3.972.29","@csstools/css-parser-algorithms":"4.0.0","@aws-sdk/credential-provider-env":"3.972.70","@aws-sdk/credential-provider-ini":"3.973.15","@aws-sdk/credential-provider-sso":"3.973.14","@smithy/credential-provider-imds":"4.5.2","is-potential-custom-element-name":"1.0.1","@aws-sdk/credential-provider-http":"3.972.72","@aws-sdk/credential-provider-node":"3.972.81","@aws-sdk/eventstream-handler-node":"3.972.34","@aws-sdk/credential-provider-login":"3.972.77","@aws-sdk/signature-v4-multi-region":"3.996.46","@aws-sdk/credential-provider-process":"3.972.70","@csstools/css-syntax-patches-for-csstree":"1.1.8","@aws-sdk/credential-provider-web-identity":"3.972.76"},"_hasShrinkwrap":false,"devDependencies":{"shx":"0.4.0","vitest":"4.1.11","@types/ws":"8.18.1","typescript":"7.0.2","@types/node":"26.2.0","@types/jsdom":"30.0.0","@types/semver":"7.8.0","@types/turndown":"5.0.6","@types/picomatch":"4.0.3","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@anthropic-ai/claude-agent-sdk","@anthropic-ai/sdk","@asamuzakjp/css-color","@asamuzakjp/dom-selector","@aws-sdk/client-bedrock-runtime","@aws-sdk/core","@aws-sdk/credential-provider-env","@aws-sdk/credential-provider-http","@aws-sdk/credential-provider-ini","@aws-sdk/credential-provider-login","@aws-sdk/credential-provider-node","@aws-sdk/credential-provider-process","@aws-sdk/credential-provider-sso","@aws-sdk/credential-provider-web-identity","@aws-sdk/eventstream-handler-node","@aws-sdk/middleware-eventstream","@aws-sdk/middleware-websocket","@aws-sdk/nested-clients","@aws-sdk/signature-v4-multi-region","@aws-sdk/token-providers","@aws-sdk/types","@aws-sdk/xml-builder","@aws/lambda-invoke-store","@babel/runtime","@bramus/specificity","@bufbuild/protobuf","@code-yeongyu/senpi-codemode","@csstools/color-helpers","@csstools/css-calc","@csstools/css-color-parser","@csstools/css-parser-algorithms","@csstools/css-syntax-patches-for-csstree","@csstools/css-tokenizer","@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-pty","@earendil-works/pi-telemetry","@earendil-works/pi-tui","@exodus/bytes","@google/genai","@hono/node-server","@mariozechner/clipboard","@mixmark-io/domino","@modelcontextprotocol/sdk","@mozilla/readability","@opentelemetry/api","@protobufjs/aspromise","@protobufjs/base64","@protobufjs/codegen","@protobufjs/eventemitter","@protobufjs/fetch","@protobufjs/float","@protobufjs/path","@protobufjs/pool","@protobufjs/utf8","@silvia-odwyer/photon-node","@smithy/core","@smithy/credential-provider-imds","@smithy/fetch-http-handler","@smithy/node-http-handler","@smithy/signature-v4","@smithy/types","@stablelib/base64","@types/node","@xterm/headless","accepts","agent-base","ajv","ajv-formats","balanced-match","base64-js","bidi-js","bignumber.js","body-parser","bowser","brace-expansion","buffer-equal-constant-time","bytes","call-bind-apply-helpers","call-bound","chalk","content-disposition","content-type","cookie","cookie-signature","cors","cross-spawn","css-tree","data-uri-to-buffer","data-urls","debug","decimal.js","depd","diff","dunder-proto","ecdsa-sig-formatter","ee-first","encodeurl","entities","es-define-property","es-errors","es-object-atoms","escape-html","etag","eventsource","eventsource-parser","express","express-rate-limit","extend","fast-deep-equal","fast-sha256","fast-uri","fetch-blob","finalhandler","formdata-polyfill","forwarded","fresh","function-bind","gaxios","gcp-metadata","get-east-asian-width","get-intrinsic","get-proto","glob","google-auth-library","google-logging-utils","gopd","graceful-fs","grok-mermaid","has-symbols","hasown","highlight.js","hono","hosted-git-info","html-encoding-sniffer","http-errors","http-proxy-agent","https-proxy-agent","iconv-lite","ignore","inherits","ip-address","ipaddr.js","is-potential-custom-element-name","is-promise","isexe","jiti","jose","jsdom","json-bigint","json-schema-to-ts","json-schema-traverse","json-schema-typed","jwa","jws","long","lru-cache","marked","math-intrinsics","mdn-data","media-typer","merge-descriptors","mime-db","mime-types","minimatch","minipass","ms","negotiator","node-domexception","node-fetch","object-assign","object-inspect","on-finished","once","openai","p-retry","parse5","parseurl","partial-json","path-key","path-scurry","path-to-regexp","picomatch","pkce-challenge","proper-lockfile","protobufjs","proxy-addr","proxy-agent-negotiate","proxy-from-env","punycode","qs","range-parser","raw-body","require-from-string","retry","router","safe-buffer","safer-buffer","saxes","semver","send","serve-static","setprototypeof","shebang-command","shebang-regex","side-channel","side-channel-list","side-channel-map","side-channel-weakmap","signal-exit","source-map-js","standardwebhooks","statuses","symbol-tree","tldts","tldts-core","toidentifier","tough-cookie","tr46","ts-algebra","tslib","turndown","type-is","typebox","undici","unpipe","vary","w3c-xmlserializer","web-streams-polyfill","webidl-conversions","whatwg-mimetype","whatwg-url","which","wrappy","ws","xml-name-validator","xmlchars","yaml","zod","zod-to-json-schema"],"optionalDependencies":{"@mariozechner/clipboard":"0.3.9","@mariozechner/clipboard-darwin-x64":"0.3.9","@mariozechner/clipboard-darwin-arm64":"0.3.9","@mariozechner/clipboard-linux-x64-gnu":"0.3.9","@mariozechner/clipboard-linux-x64-musl":"0.3.9","@mariozechner/clipboard-win32-x64-msvc":"0.3.9","@mariozechner/clipboard-linux-arm64-gnu":"0.3.9","@anthropic-ai/claude-agent-sdk-linux-x64":"0.3.241","@anthropic-ai/claude-agent-sdk-win32-x64":"0.3.241","@mariozechner/clipboard-darwin-universal":"0.3.9","@mariozechner/clipboard-linux-arm64-musl":"0.3.9","@mariozechner/clipboard-win32-arm64-msvc":"0.3.9","@anthropic-ai/claude-agent-sdk-darwin-x64":"0.3.241","@mariozechner/clipboard-linux-riscv64-gnu":"0.3.9","@anthropic-ai/claude-agent-sdk-linux-arm64":"0.3.241","@anthropic-ai/claude-agent-sdk-win32-arm64":"0.3.241","@anthropic-ai/claude-agent-sdk-darwin-arm64":"0.3.241","@anthropic-ai/claude-agent-sdk-linux-x64-musl":"0.3.241","@anthropic-ai/claude-agent-sdk-linux-arm64-musl":"0.3.241"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.8.30_1788081491441_0.07558621253886222","host":"s3://npm-registry-packages-npm-production"}},"2026.8.30-2":{"name":"@code-yeongyu/senpi","version":"2026.8.30-2","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.8.30-2","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"pi":"dist/bundle/cli.js","senpi":"dist/cli.js"},"dist":{"shasum":"5398fd6bf97716275299d4d6c9a8393144b64789","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.8.30-2.tgz","fileCount":24680,"integrity":"sha512-ZXxLDul0Y2pB7zQQwVIKPw5EvlUJuySz7jCNDqxPsA82a95wEGjkKXPFG+M4GXN4F2Yg14lAoTNQMsCjL8sooA==","signatures":[{"sig":"MEYCIQCHsi0HtBttX0DfMX4zGmzs9QioJrh/bfQwPxTCSJq+tQIhANA+cCQCBHrA7C6eP8Rb/3VWCvjY7bHXhccPkODRkoSX","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.8.30-2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":171761172},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.js"},"./rpc-entry":{"import":"./dist/rpc-entry.js"}},"scripts":{"dev":"tsc -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsc -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js dist/rpc-entry.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/","build:binary":"npm --prefix ../tui run build && npm --prefix ../telemetry run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm --prefix ../protocol run build && npm --prefix ../client run build && npm --prefix ../pty run build && npm run build && node ../../scripts/prepare-bun-compile-assets.mjs && bun build --compile --compile-autoload-package-json --no-compile-autoload-dotenv --no-compile-autoload-bunfig --minify --keep-names ./dist/bun/cli.js ./src/utils/image-resize-worker.ts ../../node_modules/jsdom/lib/jsdom/living/xhr/xhr-sync-worker.js --outfile dist/pi && npm run copy-binary-assets","qa:app-server":"node scripts/qa-app-server/run-all.mjs","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","build:unbundled":"tsgo -p tsconfig.build.json && shx chmod +x dist/cli.js dist/rpc-entry.js && npm run copy-assets","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/export-html/ && shx cp -r docs dist/ && shx cp -r examples dist/ && shx mkdir -p dist/node_modules && shx cp -r ../../node_modules/css-tree ../../node_modules/mdn-data ../../node_modules/source-map-js dist/node_modules/ && node ../../scripts/copy-codemode-sidecar.mjs dist && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/ && shx mkdir -p dist/native/darwin dist/native/win32 && shx cp -r ../../packages/tui/native/darwin/prebuilds dist/native/darwin/ && shx cp -r ../../packages/tui/native/win32/prebuilds dist/native/win32/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/ && node ../../scripts/copy-pty-native.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ea548fc8-dac4-4dec-a439-6f4fa3870309"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.3"},"rimraf":"6.1.3","protobufjs":"7.6.5","@hono/node-server":"2.1.1"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.17.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.19.0","dependencies":{"ms":"2.1.3","qs":"6.15.3","ws":"8.21.3","ajv":"8.20.0","jwa":"2.0.1","jws":"4.0.1","zod":"4.4.3","cors":"2.8.6","depd":"2.0.0","diff":"9.0.0","etag":"1.8.1","glob":"13.0.6","gopd":"1.2.0","hono":"4.12.27","jiti":"2.7.0","jose":"6.2.3","long":"5.3.2","once":"1.4.0","send":"1.2.1","tr46":"6.0.0","vary":"1.1.2","yaml":"2.9.0","bytes":"3.1.2","chalk":"6.0.0","debug":"4.4.3","fresh":"2.0.0","isexe":"2.0.0","jsdom":"30.0.1","retry":"0.13.1","saxes":"6.0.0","tldts":"7.4.10","tslib":"2.8.1","which":"2.0.2","bowser":"2.14.1","cookie":"0.7.2","extend":"3.0.2","gaxios":"7.1.4","hasown":"2.0.3","ignore":"7.0.6","marked":"18.0.10","openai":"6.26.0","parse5":"8.0.1","router":"2.2.0","semver":"7.8.5","undici":"8.10.0","unpipe":"1.0.0","wrappy":"1.0.2","accepts":"2.0.0","bidi-js":"1.0.3","express":"5.2.1","mime-db":"1.54.0","p-retry":"4.6.2","type-is":"2.1.0","typebox":"1.3.18","css-tree":"3.2.1","ee-first":"1.1.1","entities":"8.0.0","fast-uri":"3.1.4","inherits":"2.0.4","mdn-data":"2.27.1","minipass":"7.1.3","parseurl":"1.3.3","path-key":"3.1.1","punycode":"2.3.1","raw-body":"3.0.2","statuses":"2.0.2","turndown":"7.2.4","xmlchars":"2.2.0","base64-js":"1.5.1","data-urls":"7.0.0","encodeurl":"2.0.0","es-errors":"1.3.0","forwarded":"0.2.0","get-proto":"1.0.1","ipaddr.js":"1.9.1","lru-cache":"11.5.2","minimatch":"10.2.6","picomatch":"4.0.5","agent-base":"7.1.4","call-bound":"1.0.4","decimal.js":"10.6.0","fetch-blob":"3.2.0","iconv-lite":"0.7.3","ip-address":"10.2.0","is-promise":"4.0.0","mime-types":"3.0.2","negotiator":"1.0.0","node-fetch":"3.3.2","protobufjs":"7.6.5","proxy-addr":"2.0.7","tldts-core":"7.4.10","ts-algebra":"2.0.0","whatwg-url":"16.0.1","@types/node":"26.2.0","ajv-formats":"3.0.1","body-parser":"2.3.0","cross-spawn":"7.0.6","escape-html":"1.0.3","eventsource":"3.0.7","fast-sha256":"1.3.0","graceful-fs":"4.2.11","has-symbols":"1.1.0","http-errors":"2.0.1","json-bigint":"1.0.0","media-typer":"1.1.0","on-finished":"2.4.1","path-scurry":"2.0.2","safe-buffer":"5.2.1","signal-exit":"3.0.7","symbol-tree":"3.2.4","@smithy/core":"3.33.3","bignumber.js":"9.3.1","content-type":"1.0.5","dunder-proto":"1.0.1","finalhandler":"2.1.1","gcp-metadata":"8.1.2","grok-mermaid":"0.2.3","highlight.js":"11.12.0","partial-json":"0.1.7","range-parser":"1.3.0","safer-buffer":"2.1.2","serve-static":"2.2.1","side-channel":"1.1.1","toidentifier":"1.0.1","tough-cookie":"6.0.2","@aws-sdk/core":"3.977.9","@exodus/bytes":"1.15.1","@google/genai":"2.18.0","@smithy/types":"4.17.2","function-bind":"1.1.2","get-intrinsic":"1.3.0","object-assign":"4.1.1","shebang-regex":"3.0.0","source-map-js":"1.2.1","@aws-sdk/types":"3.974.5","@babel/runtime":"7.29.2","balanced-match":"4.0.4","object-inspect":"1.13.4","path-to-regexp":"8.4.2","pkce-challenge":"5.0.1","proxy-from-env":"2.1.0","setprototypeof":"1.2.0","@xterm/headless":"6.0.0","brace-expansion":"5.0.9","es-object-atoms":"1.1.2","fast-deep-equal":"3.1.3","hosted-git-info":"10.1.1","math-intrinsics":"1.1.0","proper-lockfile":"4.1.2","shebang-command":"2.0.0","whatwg-mimetype":"5.0.0","@protobufjs/path":"1.1.2","@protobufjs/pool":"1.1.0","@protobufjs/utf8":"1.1.1","cookie-signature":"1.2.2","http-proxy-agent":"9.1.0","side-channel-map":"1.0.1","standardwebhooks":"1.0.0","@anthropic-ai/sdk":"0.120.0","@hono/node-server":"2.1.1","@protobufjs/fetch":"1.1.1","@protobufjs/float":"1.0.2","@stablelib/base64":"1.0.1","formdata-polyfill":"4.0.10","https-proxy-agent":"9.1.0","json-schema-to-ts":"3.1.1","json-schema-typed":"8.0.2","merge-descriptors":"2.0.0","node-domexception":"1.0.0","side-channel-list":"1.0.1","w3c-xmlserializer":"5.0.0","@bufbuild/protobuf":"2.14.0","@csstools/css-calc":"3.3.0","@mixmark-io/domino":"2.2.0","@opentelemetry/api":"1.9.1","@protobufjs/base64":"1.1.2","data-uri-to-buffer":"4.0.1","es-define-property":"1.0.1","eventsource-parser":"3.1.0","express-rate-limit":"8.5.2","webidl-conversions":"8.0.1","xml-name-validator":"5.0.0","zod-to-json-schema":"3.25.2","@bramus/specificity":"2.4.2","@protobufjs/codegen":"2.0.5","content-disposition":"1.1.0","ecdsa-sig-formatter":"1.0.11","google-auth-library":"10.6.2","require-from-string":"2.0.2","@aws-sdk/xml-builder":"3.972.40","@mozilla/readability":"0.6.0","@smithy/signature-v4":"5.7.3","get-east-asian-width":"1.6.0","google-logging-utils":"1.1.3","json-schema-traverse":"1.0.0","side-channel-weakmap":"1.0.2","web-streams-polyfill":"3.3.3","@asamuzakjp/css-color":"6.0.7","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.8.30-2","@protobufjs/aspromise":"1.1.2","html-encoding-sniffer":"6.0.0","proxy-agent-negotiate":"1.1.0","@earendil-works/pi-pty":"npm:@code-yeongyu/senpi-pty@2026.8.30-2","@earendil-works/pi-tui":"npm:@code-yeongyu/senpi-tui@2026.8.30-2","@aws-sdk/nested-clients":"3.997.44","@csstools/color-helpers":"6.1.1","@csstools/css-tokenizer":"4.0.0","@mariozechner/clipboard":"*","call-bind-apply-helpers":"1.0.2","@asamuzakjp/dom-selector":"8.3.2","@aws-sdk/token-providers":"3.1116.0","@aws/lambda-invoke-store":"0.3.0","@protobufjs/eventemitter":"1.1.1","@modelcontextprotocol/sdk":"1.30.0","@smithy/node-http-handler":"4.11.3","@csstools/css-color-parser":"4.2.0","@silvia-odwyer/photon-node":"0.3.4","@smithy/fetch-http-handler":"5.7.2","buffer-equal-constant-time":"1.0.1","@code-yeongyu/senpi-codemode":"2026.8.30-2","@earendil-works/pi-telemetry":"npm:@code-yeongyu/senpi-telemetry@2026.8.30-2","@aws-sdk/middleware-websocket":"3.972.52","@earendil-works/pi-agent-core":"npm:@code-yeongyu/senpi-agent-core@2026.8.30-2","@anthropic-ai/claude-agent-sdk":"0.3.241","@aws-sdk/client-bedrock-runtime":"3.1116.0","@aws-sdk/middleware-eventstream":"3.972.29","@csstools/css-parser-algorithms":"4.0.0","@aws-sdk/credential-provider-env":"3.972.70","@aws-sdk/credential-provider-ini":"3.973.15","@aws-sdk/credential-provider-sso":"3.973.14","@smithy/credential-provider-imds":"4.5.2","is-potential-custom-element-name":"1.0.1","@aws-sdk/credential-provider-http":"3.972.72","@aws-sdk/credential-provider-node":"3.972.81","@aws-sdk/eventstream-handler-node":"3.972.34","@aws-sdk/credential-provider-login":"3.972.77","@aws-sdk/signature-v4-multi-region":"3.996.46","@aws-sdk/credential-provider-process":"3.972.70","@csstools/css-syntax-patches-for-csstree":"1.1.8","@aws-sdk/credential-provider-web-identity":"3.972.76"},"_hasShrinkwrap":false,"devDependencies":{"shx":"0.4.0","vitest":"4.1.11","@types/ws":"8.18.1","typescript":"7.0.2","@types/node":"26.2.0","@types/jsdom":"30.0.0","@types/semver":"7.8.0","@types/turndown":"5.0.6","@types/picomatch":"4.0.3","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@anthropic-ai/claude-agent-sdk","@anthropic-ai/sdk","@asamuzakjp/css-color","@asamuzakjp/dom-selector","@aws-sdk/client-bedrock-runtime","@aws-sdk/core","@aws-sdk/credential-provider-env","@aws-sdk/credential-provider-http","@aws-sdk/credential-provider-ini","@aws-sdk/credential-provider-login","@aws-sdk/credential-provider-node","@aws-sdk/credential-provider-process","@aws-sdk/credential-provider-sso","@aws-sdk/credential-provider-web-identity","@aws-sdk/eventstream-handler-node","@aws-sdk/middleware-eventstream","@aws-sdk/middleware-websocket","@aws-sdk/nested-clients","@aws-sdk/signature-v4-multi-region","@aws-sdk/token-providers","@aws-sdk/types","@aws-sdk/xml-builder","@aws/lambda-invoke-store","@babel/runtime","@bramus/specificity","@bufbuild/protobuf","@code-yeongyu/senpi-codemode","@csstools/color-helpers","@csstools/css-calc","@csstools/css-color-parser","@csstools/css-parser-algorithms","@csstools/css-syntax-patches-for-csstree","@csstools/css-tokenizer","@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-pty","@earendil-works/pi-telemetry","@earendil-works/pi-tui","@exodus/bytes","@google/genai","@hono/node-server","@mariozechner/clipboard","@mixmark-io/domino","@modelcontextprotocol/sdk","@mozilla/readability","@opentelemetry/api","@protobufjs/aspromise","@protobufjs/base64","@protobufjs/codegen","@protobufjs/eventemitter","@protobufjs/fetch","@protobufjs/float","@protobufjs/path","@protobufjs/pool","@protobufjs/utf8","@silvia-odwyer/photon-node","@smithy/core","@smithy/credential-provider-imds","@smithy/fetch-http-handler","@smithy/node-http-handler","@smithy/signature-v4","@smithy/types","@stablelib/base64","@types/node","@xterm/headless","accepts","agent-base","ajv","ajv-formats","balanced-match","base64-js","bidi-js","bignumber.js","body-parser","bowser","brace-expansion","buffer-equal-constant-time","bytes","call-bind-apply-helpers","call-bound","chalk","content-disposition","content-type","cookie","cookie-signature","cors","cross-spawn","css-tree","data-uri-to-buffer","data-urls","debug","decimal.js","depd","diff","dunder-proto","ecdsa-sig-formatter","ee-first","encodeurl","entities","es-define-property","es-errors","es-object-atoms","escape-html","etag","eventsource","eventsource-parser","express","express-rate-limit","extend","fast-deep-equal","fast-sha256","fast-uri","fetch-blob","finalhandler","formdata-polyfill","forwarded","fresh","function-bind","gaxios","gcp-metadata","get-east-asian-width","get-intrinsic","get-proto","glob","google-auth-library","google-logging-utils","gopd","graceful-fs","grok-mermaid","has-symbols","hasown","highlight.js","hono","hosted-git-info","html-encoding-sniffer","http-errors","http-proxy-agent","https-proxy-agent","iconv-lite","ignore","inherits","ip-address","ipaddr.js","is-potential-custom-element-name","is-promise","isexe","jiti","jose","jsdom","json-bigint","json-schema-to-ts","json-schema-traverse","json-schema-typed","jwa","jws","long","lru-cache","marked","math-intrinsics","mdn-data","media-typer","merge-descriptors","mime-db","mime-types","minimatch","minipass","ms","negotiator","node-domexception","node-fetch","object-assign","object-inspect","on-finished","once","openai","p-retry","parse5","parseurl","partial-json","path-key","path-scurry","path-to-regexp","picomatch","pkce-challenge","proper-lockfile","protobufjs","proxy-addr","proxy-agent-negotiate","proxy-from-env","punycode","qs","range-parser","raw-body","require-from-string","retry","router","safe-buffer","safer-buffer","saxes","semver","send","serve-static","setprototypeof","shebang-command","shebang-regex","side-channel","side-channel-list","side-channel-map","side-channel-weakmap","signal-exit","source-map-js","standardwebhooks","statuses","symbol-tree","tldts","tldts-core","toidentifier","tough-cookie","tr46","ts-algebra","tslib","turndown","type-is","typebox","undici","unpipe","vary","w3c-xmlserializer","web-streams-polyfill","webidl-conversions","whatwg-mimetype","whatwg-url","which","wrappy","ws","xml-name-validator","xmlchars","yaml","zod","zod-to-json-schema"],"optionalDependencies":{"@mariozechner/clipboard":"0.3.9","@mariozechner/clipboard-darwin-x64":"0.3.9","@mariozechner/clipboard-darwin-arm64":"0.3.9","@mariozechner/clipboard-linux-x64-gnu":"0.3.9","@mariozechner/clipboard-linux-x64-musl":"0.3.9","@mariozechner/clipboard-win32-x64-msvc":"0.3.9","@mariozechner/clipboard-linux-arm64-gnu":"0.3.9","@anthropic-ai/claude-agent-sdk-linux-x64":"0.3.241","@anthropic-ai/claude-agent-sdk-win32-x64":"0.3.241","@mariozechner/clipboard-darwin-universal":"0.3.9","@mariozechner/clipboard-linux-arm64-musl":"0.3.9","@mariozechner/clipboard-win32-arm64-msvc":"0.3.9","@anthropic-ai/claude-agent-sdk-darwin-x64":"0.3.241","@mariozechner/clipboard-linux-riscv64-gnu":"0.3.9","@anthropic-ai/claude-agent-sdk-linux-arm64":"0.3.241","@anthropic-ai/claude-agent-sdk-win32-arm64":"0.3.241","@anthropic-ai/claude-agent-sdk-darwin-arm64":"0.3.241","@anthropic-ai/claude-agent-sdk-linux-x64-musl":"0.3.241","@anthropic-ai/claude-agent-sdk-linux-arm64-musl":"0.3.241"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.8.30-2_1788095301688_0.2863834168453292","host":"s3://npm-registry-packages-npm-production"}},"2026.8.30-3":{"name":"@code-yeongyu/senpi","version":"2026.8.30-3","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.8.30-3","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"pi":"dist/bundle/cli.js","senpi":"dist/cli.js"},"dist":{"shasum":"65ceb99a3023a4c6cef305c5b7e60a00a94e00f1","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.8.30-3.tgz","fileCount":24692,"integrity":"sha512-GSif6dj5AkB2m+JQNRMEXNx7/Zb3wZkm2vD1d7OOHHH52dB1hWHPPvVCPR8WMTU63VVbYjOAj2qMoJyYV4Fcug==","signatures":[{"sig":"MEYCIQC4rRQsJA7OdPt8ha85dCf7FnDbE+3wcG3VVJzpB6cKJQIhAIPRIDI4UnfGa08Td31jjGopOjhfCWKC4EdDf0dOvJmr","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.8.30-3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":171853140},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.js"},"./rpc-entry":{"import":"./dist/rpc-entry.js"}},"scripts":{"dev":"tsc -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsc -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js dist/rpc-entry.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/","build:binary":"npm --prefix ../tui run build && npm --prefix ../telemetry run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm --prefix ../protocol run build && npm --prefix ../client run build && npm --prefix ../pty run build && npm run build && node ../../scripts/prepare-bun-compile-assets.mjs && bun build --compile --compile-autoload-package-json --no-compile-autoload-dotenv --no-compile-autoload-bunfig --minify --keep-names ./dist/bun/cli.js ./src/utils/image-resize-worker.ts ../../node_modules/jsdom/lib/jsdom/living/xhr/xhr-sync-worker.js --outfile dist/pi && npm run copy-binary-assets","qa:app-server":"node scripts/qa-app-server/run-all.mjs","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","build:unbundled":"tsgo -p tsconfig.build.json && shx chmod +x dist/cli.js dist/rpc-entry.js && npm run copy-assets","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/export-html/ && shx cp -r docs dist/ && shx cp -r examples dist/ && shx mkdir -p dist/node_modules && shx cp -r ../../node_modules/css-tree ../../node_modules/mdn-data ../../node_modules/source-map-js dist/node_modules/ && node ../../scripts/copy-codemode-sidecar.mjs dist && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/ && shx mkdir -p dist/native/darwin dist/native/win32 && shx cp -r ../../packages/tui/native/darwin/prebuilds dist/native/darwin/ && shx cp -r ../../packages/tui/native/win32/prebuilds dist/native/win32/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/ && node ../../scripts/copy-pty-native.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ea548fc8-dac4-4dec-a439-6f4fa3870309"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.3"},"rimraf":"6.1.3","protobufjs":"7.6.5","@hono/node-server":"2.1.1"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.17.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.19.0","dependencies":{"ms":"2.1.3","qs":"6.15.3","ws":"8.21.3","ajv":"8.20.0","jwa":"2.0.1","jws":"4.0.1","zod":"4.4.3","cors":"2.8.6","depd":"2.0.0","diff":"9.0.0","etag":"1.8.1","glob":"13.0.6","gopd":"1.2.0","hono":"4.12.27","jiti":"2.7.0","jose":"6.2.3","long":"5.3.2","once":"1.4.0","send":"1.2.1","tr46":"6.0.0","vary":"1.1.2","yaml":"2.9.0","bytes":"3.1.2","chalk":"6.0.0","debug":"4.4.3","fresh":"2.0.0","isexe":"2.0.0","jsdom":"30.0.1","retry":"0.13.1","saxes":"6.0.0","tldts":"7.4.10","tslib":"2.8.1","which":"2.0.2","bowser":"2.14.1","cookie":"0.7.2","extend":"3.0.2","gaxios":"7.1.4","hasown":"2.0.3","ignore":"7.0.6","marked":"18.0.10","openai":"6.26.0","parse5":"8.0.1","router":"2.2.0","semver":"7.8.5","undici":"8.10.0","unpipe":"1.0.0","wrappy":"1.0.2","accepts":"2.0.0","bidi-js":"1.0.3","express":"5.2.1","mime-db":"1.54.0","p-retry":"4.6.2","type-is":"2.1.0","typebox":"1.3.18","css-tree":"3.2.1","ee-first":"1.1.1","entities":"8.0.0","fast-uri":"3.1.4","inherits":"2.0.4","mdn-data":"2.27.1","minipass":"7.1.3","parseurl":"1.3.3","path-key":"3.1.1","punycode":"2.3.1","raw-body":"3.0.2","statuses":"2.0.2","turndown":"7.2.4","xmlchars":"2.2.0","base64-js":"1.5.1","data-urls":"7.0.0","encodeurl":"2.0.0","es-errors":"1.3.0","forwarded":"0.2.0","get-proto":"1.0.1","ipaddr.js":"1.9.1","lru-cache":"11.5.2","minimatch":"10.2.6","picomatch":"4.0.5","agent-base":"7.1.4","call-bound":"1.0.4","decimal.js":"10.6.0","fetch-blob":"3.2.0","iconv-lite":"0.7.3","ip-address":"10.2.0","is-promise":"4.0.0","mime-types":"3.0.2","negotiator":"1.0.0","node-fetch":"3.3.2","protobufjs":"7.6.5","proxy-addr":"2.0.7","tldts-core":"7.4.10","ts-algebra":"2.0.0","whatwg-url":"16.0.1","@types/node":"26.2.0","ajv-formats":"3.0.1","body-parser":"2.3.0","cross-spawn":"7.0.6","escape-html":"1.0.3","eventsource":"3.0.7","fast-sha256":"1.3.0","graceful-fs":"4.2.11","has-symbols":"1.1.0","http-errors":"2.0.1","json-bigint":"1.0.0","media-typer":"1.1.0","on-finished":"2.4.1","path-scurry":"2.0.2","safe-buffer":"5.2.1","signal-exit":"3.0.7","symbol-tree":"3.2.4","@smithy/core":"3.33.3","bignumber.js":"9.3.1","content-type":"1.0.5","dunder-proto":"1.0.1","finalhandler":"2.1.1","gcp-metadata":"8.1.2","grok-mermaid":"0.2.3","highlight.js":"11.12.0","partial-json":"0.1.7","range-parser":"1.3.0","safer-buffer":"2.1.2","serve-static":"2.2.1","side-channel":"1.1.1","toidentifier":"1.0.1","tough-cookie":"6.0.2","@aws-sdk/core":"3.977.9","@exodus/bytes":"1.15.1","@google/genai":"2.18.0","@smithy/types":"4.17.2","function-bind":"1.1.2","get-intrinsic":"1.3.0","object-assign":"4.1.1","shebang-regex":"3.0.0","source-map-js":"1.2.1","@aws-sdk/types":"3.974.5","@babel/runtime":"7.29.2","balanced-match":"4.0.4","object-inspect":"1.13.4","path-to-regexp":"8.4.2","pkce-challenge":"5.0.1","proxy-from-env":"2.1.0","setprototypeof":"1.2.0","@xterm/headless":"6.0.0","brace-expansion":"5.0.9","es-object-atoms":"1.1.2","fast-deep-equal":"3.1.3","hosted-git-info":"10.1.1","math-intrinsics":"1.1.0","proper-lockfile":"4.1.2","shebang-command":"2.0.0","whatwg-mimetype":"5.0.0","@protobufjs/path":"1.1.2","@protobufjs/pool":"1.1.0","@protobufjs/utf8":"1.1.1","cookie-signature":"1.2.2","http-proxy-agent":"9.1.0","side-channel-map":"1.0.1","standardwebhooks":"1.0.0","@anthropic-ai/sdk":"0.120.0","@hono/node-server":"2.1.1","@protobufjs/fetch":"1.1.1","@protobufjs/float":"1.0.2","@stablelib/base64":"1.0.1","formdata-polyfill":"4.0.10","https-proxy-agent":"9.1.0","json-schema-to-ts":"3.1.1","json-schema-typed":"8.0.2","merge-descriptors":"2.0.0","node-domexception":"1.0.0","side-channel-list":"1.0.1","w3c-xmlserializer":"5.0.0","@bufbuild/protobuf":"2.14.0","@csstools/css-calc":"3.3.0","@mixmark-io/domino":"2.2.0","@opentelemetry/api":"1.9.1","@protobufjs/base64":"1.1.2","data-uri-to-buffer":"4.0.1","es-define-property":"1.0.1","eventsource-parser":"3.1.0","express-rate-limit":"8.5.2","webidl-conversions":"8.0.1","xml-name-validator":"5.0.0","zod-to-json-schema":"3.25.2","@bramus/specificity":"2.4.2","@protobufjs/codegen":"2.0.5","content-disposition":"1.1.0","ecdsa-sig-formatter":"1.0.11","google-auth-library":"10.6.2","require-from-string":"2.0.2","@aws-sdk/xml-builder":"3.972.40","@mozilla/readability":"0.6.0","@smithy/signature-v4":"5.7.3","get-east-asian-width":"1.6.0","google-logging-utils":"1.1.3","json-schema-traverse":"1.0.0","side-channel-weakmap":"1.0.2","web-streams-polyfill":"3.3.3","@asamuzakjp/css-color":"6.0.7","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.8.30-3","@protobufjs/aspromise":"1.1.2","html-encoding-sniffer":"6.0.0","proxy-agent-negotiate":"1.1.0","@earendil-works/pi-pty":"npm:@code-yeongyu/senpi-pty@2026.8.30-3","@earendil-works/pi-tui":"npm:@code-yeongyu/senpi-tui@2026.8.30-3","@aws-sdk/nested-clients":"3.997.44","@csstools/color-helpers":"6.1.1","@csstools/css-tokenizer":"4.0.0","@mariozechner/clipboard":"*","call-bind-apply-helpers":"1.0.2","@asamuzakjp/dom-selector":"8.3.2","@aws-sdk/token-providers":"3.1116.0","@aws/lambda-invoke-store":"0.3.0","@protobufjs/eventemitter":"1.1.1","@modelcontextprotocol/sdk":"1.30.0","@smithy/node-http-handler":"4.11.3","@csstools/css-color-parser":"4.2.0","@silvia-odwyer/photon-node":"0.3.4","@smithy/fetch-http-handler":"5.7.2","buffer-equal-constant-time":"1.0.1","@code-yeongyu/senpi-codemode":"2026.8.30-3","@earendil-works/pi-telemetry":"npm:@code-yeongyu/senpi-telemetry@2026.8.30-3","@aws-sdk/middleware-websocket":"3.972.52","@earendil-works/pi-agent-core":"npm:@code-yeongyu/senpi-agent-core@2026.8.30-3","@anthropic-ai/claude-agent-sdk":"0.3.241","@aws-sdk/client-bedrock-runtime":"3.1116.0","@aws-sdk/middleware-eventstream":"3.972.29","@csstools/css-parser-algorithms":"4.0.0","@aws-sdk/credential-provider-env":"3.972.70","@aws-sdk/credential-provider-ini":"3.973.15","@aws-sdk/credential-provider-sso":"3.973.14","@smithy/credential-provider-imds":"4.5.2","is-potential-custom-element-name":"1.0.1","@aws-sdk/credential-provider-http":"3.972.72","@aws-sdk/credential-provider-node":"3.972.81","@aws-sdk/eventstream-handler-node":"3.972.34","@aws-sdk/credential-provider-login":"3.972.77","@aws-sdk/signature-v4-multi-region":"3.996.46","@aws-sdk/credential-provider-process":"3.972.70","@csstools/css-syntax-patches-for-csstree":"1.1.8","@aws-sdk/credential-provider-web-identity":"3.972.76"},"_hasShrinkwrap":false,"devDependencies":{"shx":"0.4.0","vitest":"4.1.11","@types/ws":"8.18.1","typescript":"7.0.2","@types/node":"26.2.0","@types/jsdom":"30.0.0","@types/semver":"7.8.0","@types/turndown":"5.0.6","@types/picomatch":"4.0.3","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@anthropic-ai/claude-agent-sdk","@anthropic-ai/sdk","@asamuzakjp/css-color","@asamuzakjp/dom-selector","@aws-sdk/client-bedrock-runtime","@aws-sdk/core","@aws-sdk/credential-provider-env","@aws-sdk/credential-provider-http","@aws-sdk/credential-provider-ini","@aws-sdk/credential-provider-login","@aws-sdk/credential-provider-node","@aws-sdk/credential-provider-process","@aws-sdk/credential-provider-sso","@aws-sdk/credential-provider-web-identity","@aws-sdk/eventstream-handler-node","@aws-sdk/middleware-eventstream","@aws-sdk/middleware-websocket","@aws-sdk/nested-clients","@aws-sdk/signature-v4-multi-region","@aws-sdk/token-providers","@aws-sdk/types","@aws-sdk/xml-builder","@aws/lambda-invoke-store","@babel/runtime","@bramus/specificity","@bufbuild/protobuf","@code-yeongyu/senpi-codemode","@csstools/color-helpers","@csstools/css-calc","@csstools/css-color-parser","@csstools/css-parser-algorithms","@csstools/css-syntax-patches-for-csstree","@csstools/css-tokenizer","@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-pty","@earendil-works/pi-telemetry","@earendil-works/pi-tui","@exodus/bytes","@google/genai","@hono/node-server","@mariozechner/clipboard","@mixmark-io/domino","@modelcontextprotocol/sdk","@mozilla/readability","@opentelemetry/api","@protobufjs/aspromise","@protobufjs/base64","@protobufjs/codegen","@protobufjs/eventemitter","@protobufjs/fetch","@protobufjs/float","@protobufjs/path","@protobufjs/pool","@protobufjs/utf8","@silvia-odwyer/photon-node","@smithy/core","@smithy/credential-provider-imds","@smithy/fetch-http-handler","@smithy/node-http-handler","@smithy/signature-v4","@smithy/types","@stablelib/base64","@types/node","@xterm/headless","accepts","agent-base","ajv","ajv-formats","balanced-match","base64-js","bidi-js","bignumber.js","body-parser","bowser","brace-expansion","buffer-equal-constant-time","bytes","call-bind-apply-helpers","call-bound","chalk","content-disposition","content-type","cookie","cookie-signature","cors","cross-spawn","css-tree","data-uri-to-buffer","data-urls","debug","decimal.js","depd","diff","dunder-proto","ecdsa-sig-formatter","ee-first","encodeurl","entities","es-define-property","es-errors","es-object-atoms","escape-html","etag","eventsource","eventsource-parser","express","express-rate-limit","extend","fast-deep-equal","fast-sha256","fast-uri","fetch-blob","finalhandler","formdata-polyfill","forwarded","fresh","function-bind","gaxios","gcp-metadata","get-east-asian-width","get-intrinsic","get-proto","glob","google-auth-library","google-logging-utils","gopd","graceful-fs","grok-mermaid","has-symbols","hasown","highlight.js","hono","hosted-git-info","html-encoding-sniffer","http-errors","http-proxy-agent","https-proxy-agent","iconv-lite","ignore","inherits","ip-address","ipaddr.js","is-potential-custom-element-name","is-promise","isexe","jiti","jose","jsdom","json-bigint","json-schema-to-ts","json-schema-traverse","json-schema-typed","jwa","jws","long","lru-cache","marked","math-intrinsics","mdn-data","media-typer","merge-descriptors","mime-db","mime-types","minimatch","minipass","ms","negotiator","node-domexception","node-fetch","object-assign","object-inspect","on-finished","once","openai","p-retry","parse5","parseurl","partial-json","path-key","path-scurry","path-to-regexp","picomatch","pkce-challenge","proper-lockfile","protobufjs","proxy-addr","proxy-agent-negotiate","proxy-from-env","punycode","qs","range-parser","raw-body","require-from-string","retry","router","safe-buffer","safer-buffer","saxes","semver","send","serve-static","setprototypeof","shebang-command","shebang-regex","side-channel","side-channel-list","side-channel-map","side-channel-weakmap","signal-exit","source-map-js","standardwebhooks","statuses","symbol-tree","tldts","tldts-core","toidentifier","tough-cookie","tr46","ts-algebra","tslib","turndown","type-is","typebox","undici","unpipe","vary","w3c-xmlserializer","web-streams-polyfill","webidl-conversions","whatwg-mimetype","whatwg-url","which","wrappy","ws","xml-name-validator","xmlchars","yaml","zod","zod-to-json-schema"],"optionalDependencies":{"@mariozechner/clipboard":"0.3.9","@mariozechner/clipboard-darwin-x64":"0.3.9","@mariozechner/clipboard-darwin-arm64":"0.3.9","@mariozechner/clipboard-linux-x64-gnu":"0.3.9","@mariozechner/clipboard-linux-x64-musl":"0.3.9","@mariozechner/clipboard-win32-x64-msvc":"0.3.9","@mariozechner/clipboard-linux-arm64-gnu":"0.3.9","@anthropic-ai/claude-agent-sdk-linux-x64":"0.3.241","@anthropic-ai/claude-agent-sdk-win32-x64":"0.3.241","@mariozechner/clipboard-darwin-universal":"0.3.9","@mariozechner/clipboard-linux-arm64-musl":"0.3.9","@mariozechner/clipboard-win32-arm64-msvc":"0.3.9","@anthropic-ai/claude-agent-sdk-darwin-x64":"0.3.241","@mariozechner/clipboard-linux-riscv64-gnu":"0.3.9","@anthropic-ai/claude-agent-sdk-linux-arm64":"0.3.241","@anthropic-ai/claude-agent-sdk-win32-arm64":"0.3.241","@anthropic-ai/claude-agent-sdk-darwin-arm64":"0.3.241","@anthropic-ai/claude-agent-sdk-linux-x64-musl":"0.3.241","@anthropic-ai/claude-agent-sdk-linux-arm64-musl":"0.3.241"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.8.30-3_1788108383751_0.3782945192551441","host":"s3://npm-registry-packages-npm-production"}},"2026.8.31":{"name":"@code-yeongyu/senpi","version":"2026.8.31","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.8.31","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"pi":"dist/bundle/cli.js","senpi":"dist/cli.js"},"dist":{"shasum":"4e3f063ac31890b90ba7d3d443c65fca1f67b5d0","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.8.31.tgz","fileCount":24720,"integrity":"sha512-ehhFId8FFFWKVMSc2+xV3efJTgY2SEPxu3cJyUJh4SzLUyI/IeLoCiMV2iXxyX1MGfz0aTw15NqcHlhRqha25Q==","signatures":[{"sig":"MEUCIHqzF+pAZCHFLqxrzQyC5ua3gK4DfxghQI22/sFgXvx3AiEAwo9TRdhxT470DKCOQqIT/G/PepkAr7fflvE53oSnTxs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.8.31","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":172121479},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.js"},"./rpc-entry":{"import":"./dist/rpc-entry.js"}},"scripts":{"dev":"tsc -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsc -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js dist/rpc-entry.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/","build:binary":"npm --prefix ../tui run build && npm --prefix ../telemetry run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm --prefix ../protocol run build && npm --prefix ../client run build && npm --prefix ../pty run build && npm run build && node ../../scripts/prepare-bun-compile-assets.mjs && bun build --compile --compile-autoload-package-json --no-compile-autoload-dotenv --no-compile-autoload-bunfig --minify --keep-names ./dist/bun/cli.js ./src/utils/image-resize-worker.ts ../../node_modules/jsdom/lib/jsdom/living/xhr/xhr-sync-worker.js --outfile dist/pi && npm run copy-binary-assets","qa:app-server":"node scripts/qa-app-server/run-all.mjs","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","build:unbundled":"tsgo -p tsconfig.build.json && shx chmod +x dist/cli.js dist/rpc-entry.js && npm run copy-assets","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/export-html/ && shx cp -r docs dist/ && shx cp -r examples dist/ && shx mkdir -p dist/node_modules && shx cp -r ../../node_modules/css-tree ../../node_modules/mdn-data ../../node_modules/source-map-js dist/node_modules/ && node ../../scripts/copy-codemode-sidecar.mjs dist && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/ && shx mkdir -p dist/native/darwin dist/native/win32 && shx cp -r ../../packages/tui/native/darwin/prebuilds dist/native/darwin/ && shx cp -r ../../packages/tui/native/win32/prebuilds dist/native/win32/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/ && node ../../scripts/copy-pty-native.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ea548fc8-dac4-4dec-a439-6f4fa3870309"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.3"},"rimraf":"6.1.3","protobufjs":"7.6.5","@hono/node-server":"2.1.1"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.17.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.19.0","dependencies":{"ms":"2.1.3","qs":"6.15.3","ws":"8.21.3","ajv":"8.20.0","jwa":"2.0.1","jws":"4.0.1","zod":"4.4.3","cors":"2.8.6","depd":"2.0.0","diff":"9.0.0","etag":"1.8.1","glob":"13.0.6","gopd":"1.2.0","hono":"4.12.27","jiti":"2.7.0","jose":"6.2.3","long":"5.3.2","once":"1.4.0","send":"1.2.1","tr46":"6.0.0","vary":"1.1.2","yaml":"2.9.0","bytes":"3.1.2","chalk":"6.0.0","debug":"4.4.3","fresh":"2.0.0","isexe":"2.0.0","jsdom":"30.0.1","retry":"0.13.1","saxes":"6.0.0","tldts":"7.4.10","tslib":"2.8.1","which":"2.0.2","bowser":"2.14.1","cookie":"0.7.2","extend":"3.0.2","gaxios":"7.1.4","hasown":"2.0.3","ignore":"7.0.6","marked":"18.0.10","openai":"6.26.0","parse5":"8.0.1","router":"2.2.0","semver":"7.8.5","undici":"8.10.0","unpipe":"1.0.0","wrappy":"1.0.2","accepts":"2.0.0","bidi-js":"1.0.3","express":"5.2.1","mime-db":"1.54.0","p-retry":"4.6.2","type-is":"2.1.0","typebox":"1.3.18","css-tree":"3.2.1","ee-first":"1.1.1","entities":"8.0.0","fast-uri":"3.1.4","inherits":"2.0.4","mdn-data":"2.27.1","minipass":"7.1.3","parseurl":"1.3.3","path-key":"3.1.1","punycode":"2.3.1","raw-body":"3.0.2","statuses":"2.0.2","turndown":"7.2.4","xmlchars":"2.2.0","base64-js":"1.5.1","data-urls":"7.0.0","encodeurl":"2.0.0","es-errors":"1.3.0","forwarded":"0.2.0","get-proto":"1.0.1","ipaddr.js":"1.9.1","lru-cache":"11.5.2","minimatch":"10.2.6","picomatch":"4.0.5","agent-base":"7.1.4","call-bound":"1.0.4","decimal.js":"10.6.0","fetch-blob":"3.2.0","iconv-lite":"0.7.3","ip-address":"10.2.0","is-promise":"4.0.0","mime-types":"3.0.2","negotiator":"1.0.0","node-fetch":"3.3.2","protobufjs":"7.6.5","proxy-addr":"2.0.7","tldts-core":"7.4.10","ts-algebra":"2.0.0","whatwg-url":"16.0.1","@types/node":"26.2.0","ajv-formats":"3.0.1","body-parser":"2.3.0","cross-spawn":"7.0.6","escape-html":"1.0.3","eventsource":"3.0.7","fast-sha256":"1.3.0","graceful-fs":"4.2.11","has-symbols":"1.1.0","http-errors":"2.0.1","json-bigint":"1.0.0","media-typer":"1.1.0","on-finished":"2.4.1","path-scurry":"2.0.2","safe-buffer":"5.2.1","signal-exit":"3.0.7","symbol-tree":"3.2.4","@smithy/core":"3.33.3","bignumber.js":"9.3.1","content-type":"1.0.5","dunder-proto":"1.0.1","finalhandler":"2.1.1","gcp-metadata":"8.1.2","grok-mermaid":"0.2.3","highlight.js":"11.12.0","partial-json":"0.1.7","range-parser":"1.3.0","safer-buffer":"2.1.2","serve-static":"2.2.1","side-channel":"1.1.1","toidentifier":"1.0.1","tough-cookie":"6.0.2","@aws-sdk/core":"3.977.9","@exodus/bytes":"1.15.1","@google/genai":"2.18.0","@smithy/types":"4.17.2","function-bind":"1.1.2","get-intrinsic":"1.3.0","object-assign":"4.1.1","shebang-regex":"3.0.0","source-map-js":"1.2.1","@aws-sdk/types":"3.974.5","@babel/runtime":"7.29.2","balanced-match":"4.0.4","object-inspect":"1.13.4","path-to-regexp":"8.4.2","pkce-challenge":"5.0.1","proxy-from-env":"2.1.0","setprototypeof":"1.2.0","@xterm/headless":"6.0.0","brace-expansion":"5.0.9","es-object-atoms":"1.1.2","fast-deep-equal":"3.1.3","hosted-git-info":"10.1.1","math-intrinsics":"1.1.0","proper-lockfile":"4.1.2","shebang-command":"2.0.0","whatwg-mimetype":"5.0.0","@protobufjs/path":"1.1.2","@protobufjs/pool":"1.1.0","@protobufjs/utf8":"1.1.1","cookie-signature":"1.2.2","http-proxy-agent":"9.1.0","side-channel-map":"1.0.1","standardwebhooks":"1.0.0","@anthropic-ai/sdk":"0.120.0","@hono/node-server":"2.1.1","@protobufjs/fetch":"1.1.1","@protobufjs/float":"1.0.2","@stablelib/base64":"1.0.1","formdata-polyfill":"4.0.10","https-proxy-agent":"9.1.0","json-schema-to-ts":"3.1.1","json-schema-typed":"8.0.2","merge-descriptors":"2.0.0","node-domexception":"1.0.0","side-channel-list":"1.0.1","w3c-xmlserializer":"5.0.0","@bufbuild/protobuf":"2.14.0","@csstools/css-calc":"3.3.0","@mixmark-io/domino":"2.2.0","@opentelemetry/api":"1.9.1","@protobufjs/base64":"1.1.2","data-uri-to-buffer":"4.0.1","es-define-property":"1.0.1","eventsource-parser":"3.1.0","express-rate-limit":"8.5.2","webidl-conversions":"8.0.1","xml-name-validator":"5.0.0","zod-to-json-schema":"3.25.2","@bramus/specificity":"2.4.2","@protobufjs/codegen":"2.0.5","content-disposition":"1.1.0","ecdsa-sig-formatter":"1.0.11","google-auth-library":"10.6.2","require-from-string":"2.0.2","@aws-sdk/xml-builder":"3.972.40","@mozilla/readability":"0.6.0","@smithy/signature-v4":"5.7.3","get-east-asian-width":"1.6.0","google-logging-utils":"1.1.3","json-schema-traverse":"1.0.0","side-channel-weakmap":"1.0.2","web-streams-polyfill":"3.3.3","@asamuzakjp/css-color":"6.0.7","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.8.31","@protobufjs/aspromise":"1.1.2","html-encoding-sniffer":"6.0.0","proxy-agent-negotiate":"1.1.0","@earendil-works/pi-pty":"npm:@code-yeongyu/senpi-pty@2026.8.31","@earendil-works/pi-tui":"npm:@code-yeongyu/senpi-tui@2026.8.31","@aws-sdk/nested-clients":"3.997.44","@csstools/color-helpers":"6.1.1","@csstools/css-tokenizer":"4.0.0","@mariozechner/clipboard":"*","call-bind-apply-helpers":"1.0.2","@asamuzakjp/dom-selector":"8.3.2","@aws-sdk/token-providers":"3.1116.0","@aws/lambda-invoke-store":"0.3.0","@protobufjs/eventemitter":"1.1.1","@modelcontextprotocol/sdk":"1.30.0","@smithy/node-http-handler":"4.11.3","@csstools/css-color-parser":"4.2.0","@silvia-odwyer/photon-node":"0.3.4","@smithy/fetch-http-handler":"5.7.2","buffer-equal-constant-time":"1.0.1","@code-yeongyu/senpi-codemode":"2026.8.31","@earendil-works/pi-telemetry":"npm:@code-yeongyu/senpi-telemetry@2026.8.31","@aws-sdk/middleware-websocket":"3.972.52","@earendil-works/pi-agent-core":"npm:@code-yeongyu/senpi-agent-core@2026.8.31","@anthropic-ai/claude-agent-sdk":"0.3.241","@aws-sdk/client-bedrock-runtime":"3.1116.0","@aws-sdk/middleware-eventstream":"3.972.29","@csstools/css-parser-algorithms":"4.0.0","@aws-sdk/credential-provider-env":"3.972.70","@aws-sdk/credential-provider-ini":"3.973.15","@aws-sdk/credential-provider-sso":"3.973.14","@smithy/credential-provider-imds":"4.5.2","is-potential-custom-element-name":"1.0.1","@aws-sdk/credential-provider-http":"3.972.72","@aws-sdk/credential-provider-node":"3.972.81","@aws-sdk/eventstream-handler-node":"3.972.34","@aws-sdk/credential-provider-login":"3.972.77","@aws-sdk/signature-v4-multi-region":"3.996.46","@aws-sdk/credential-provider-process":"3.972.70","@csstools/css-syntax-patches-for-csstree":"1.1.8","@aws-sdk/credential-provider-web-identity":"3.972.76"},"_hasShrinkwrap":false,"devDependencies":{"shx":"0.4.0","vitest":"4.1.11","@types/ws":"8.18.1","typescript":"7.0.2","@types/node":"26.2.0","@types/jsdom":"30.0.0","@types/semver":"7.8.0","@types/turndown":"5.0.6","@types/picomatch":"4.0.3","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@anthropic-ai/claude-agent-sdk","@anthropic-ai/sdk","@asamuzakjp/css-color","@asamuzakjp/dom-selector","@aws-sdk/client-bedrock-runtime","@aws-sdk/core","@aws-sdk/credential-provider-env","@aws-sdk/credential-provider-http","@aws-sdk/credential-provider-ini","@aws-sdk/credential-provider-login","@aws-sdk/credential-provider-node","@aws-sdk/credential-provider-process","@aws-sdk/credential-provider-sso","@aws-sdk/credential-provider-web-identity","@aws-sdk/eventstream-handler-node","@aws-sdk/middleware-eventstream","@aws-sdk/middleware-websocket","@aws-sdk/nested-clients","@aws-sdk/signature-v4-multi-region","@aws-sdk/token-providers","@aws-sdk/types","@aws-sdk/xml-builder","@aws/lambda-invoke-store","@babel/runtime","@bramus/specificity","@bufbuild/protobuf","@code-yeongyu/senpi-codemode","@csstools/color-helpers","@csstools/css-calc","@csstools/css-color-parser","@csstools/css-parser-algorithms","@csstools/css-syntax-patches-for-csstree","@csstools/css-tokenizer","@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-pty","@earendil-works/pi-telemetry","@earendil-works/pi-tui","@exodus/bytes","@google/genai","@hono/node-server","@mariozechner/clipboard","@mixmark-io/domino","@modelcontextprotocol/sdk","@mozilla/readability","@opentelemetry/api","@protobufjs/aspromise","@protobufjs/base64","@protobufjs/codegen","@protobufjs/eventemitter","@protobufjs/fetch","@protobufjs/float","@protobufjs/path","@protobufjs/pool","@protobufjs/utf8","@silvia-odwyer/photon-node","@smithy/core","@smithy/credential-provider-imds","@smithy/fetch-http-handler","@smithy/node-http-handler","@smithy/signature-v4","@smithy/types","@stablelib/base64","@types/node","@xterm/headless","accepts","agent-base","ajv","ajv-formats","balanced-match","base64-js","bidi-js","bignumber.js","body-parser","bowser","brace-expansion","buffer-equal-constant-time","bytes","call-bind-apply-helpers","call-bound","chalk","content-disposition","content-type","cookie","cookie-signature","cors","cross-spawn","css-tree","data-uri-to-buffer","data-urls","debug","decimal.js","depd","diff","dunder-proto","ecdsa-sig-formatter","ee-first","encodeurl","entities","es-define-property","es-errors","es-object-atoms","escape-html","etag","eventsource","eventsource-parser","express","express-rate-limit","extend","fast-deep-equal","fast-sha256","fast-uri","fetch-blob","finalhandler","formdata-polyfill","forwarded","fresh","function-bind","gaxios","gcp-metadata","get-east-asian-width","get-intrinsic","get-proto","glob","google-auth-library","google-logging-utils","gopd","graceful-fs","grok-mermaid","has-symbols","hasown","highlight.js","hono","hosted-git-info","html-encoding-sniffer","http-errors","http-proxy-agent","https-proxy-agent","iconv-lite","ignore","inherits","ip-address","ipaddr.js","is-potential-custom-element-name","is-promise","isexe","jiti","jose","jsdom","json-bigint","json-schema-to-ts","json-schema-traverse","json-schema-typed","jwa","jws","long","lru-cache","marked","math-intrinsics","mdn-data","media-typer","merge-descriptors","mime-db","mime-types","minimatch","minipass","ms","negotiator","node-domexception","node-fetch","object-assign","object-inspect","on-finished","once","openai","p-retry","parse5","parseurl","partial-json","path-key","path-scurry","path-to-regexp","picomatch","pkce-challenge","proper-lockfile","protobufjs","proxy-addr","proxy-agent-negotiate","proxy-from-env","punycode","qs","range-parser","raw-body","require-from-string","retry","router","safe-buffer","safer-buffer","saxes","semver","send","serve-static","setprototypeof","shebang-command","shebang-regex","side-channel","side-channel-list","side-channel-map","side-channel-weakmap","signal-exit","source-map-js","standardwebhooks","statuses","symbol-tree","tldts","tldts-core","toidentifier","tough-cookie","tr46","ts-algebra","tslib","turndown","type-is","typebox","undici","unpipe","vary","w3c-xmlserializer","web-streams-polyfill","webidl-conversions","whatwg-mimetype","whatwg-url","which","wrappy","ws","xml-name-validator","xmlchars","yaml","zod","zod-to-json-schema"],"optionalDependencies":{"@mariozechner/clipboard":"0.3.9","@mariozechner/clipboard-darwin-x64":"0.3.9","@mariozechner/clipboard-darwin-arm64":"0.3.9","@mariozechner/clipboard-linux-x64-gnu":"0.3.9","@mariozechner/clipboard-linux-x64-musl":"0.3.9","@mariozechner/clipboard-win32-x64-msvc":"0.3.9","@mariozechner/clipboard-linux-arm64-gnu":"0.3.9","@anthropic-ai/claude-agent-sdk-linux-x64":"0.3.241","@anthropic-ai/claude-agent-sdk-win32-x64":"0.3.241","@mariozechner/clipboard-darwin-universal":"0.3.9","@mariozechner/clipboard-linux-arm64-musl":"0.3.9","@mariozechner/clipboard-win32-arm64-msvc":"0.3.9","@anthropic-ai/claude-agent-sdk-darwin-x64":"0.3.241","@mariozechner/clipboard-linux-riscv64-gnu":"0.3.9","@anthropic-ai/claude-agent-sdk-linux-arm64":"0.3.241","@anthropic-ai/claude-agent-sdk-win32-arm64":"0.3.241","@anthropic-ai/claude-agent-sdk-darwin-arm64":"0.3.241","@anthropic-ai/claude-agent-sdk-linux-x64-musl":"0.3.241","@anthropic-ai/claude-agent-sdk-linux-arm64-musl":"0.3.241"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.8.31_1788174900115_0.9940410165352085","host":"s3://npm-registry-packages-npm-production"}},"2026.9.2":{"name":"@code-yeongyu/senpi","version":"2026.9.2","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.9.2","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"pi":"dist/bundle/cli.js","senpi":"dist/cli.js"},"dist":{"shasum":"31e619fc8e6846474e3c1e5c880d9c2283d00e19","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.9.2.tgz","fileCount":24728,"integrity":"sha512-rNdz5vIbuufvnP+wOAz60r3gBVgUzVqX/jH7jTpXTs1zHq15tM98Hkw+t/Jg1bLSPDAHXSwg9nhtIC4uOEk5qQ==","signatures":[{"sig":"MEUCIQDZuLWGFpNtUuNhzRKaS6zAgPoztHvagnBpIqzzJqWvXQIgK7ZTPZYErQxWFgvRo9Wpv3DRiDSmVewLe0XQ3zPztXQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.9.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":172239724},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.js"},"./rpc-entry":{"import":"./dist/rpc-entry.js"}},"scripts":{"dev":"tsc -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsc -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js dist/rpc-entry.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/","build:binary":"npm --prefix ../tui run build && npm --prefix ../telemetry run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm --prefix ../protocol run build && npm --prefix ../client run build && npm --prefix ../pty run build && npm run build && node ../../scripts/prepare-bun-compile-assets.mjs && bun build --compile --compile-autoload-package-json --no-compile-autoload-dotenv --no-compile-autoload-bunfig --minify --keep-names ./dist/bun/cli.js ./src/utils/image-resize-worker.ts ../../node_modules/jsdom/lib/jsdom/living/xhr/xhr-sync-worker.js --outfile dist/pi && npm run copy-binary-assets","qa:app-server":"node scripts/qa-app-server/run-all.mjs","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","build:unbundled":"tsgo -p tsconfig.build.json && shx chmod +x dist/cli.js dist/rpc-entry.js && npm run copy-assets","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/export-html/ && shx cp -r docs dist/ && shx cp -r examples dist/ && shx mkdir -p dist/node_modules && shx cp -r ../../node_modules/css-tree ../../node_modules/mdn-data ../../node_modules/source-map-js dist/node_modules/ && node ../../scripts/copy-codemode-sidecar.mjs dist && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/ && shx mkdir -p dist/native/darwin dist/native/win32 && shx cp -r ../../packages/tui/native/darwin/prebuilds dist/native/darwin/ && shx cp -r ../../packages/tui/native/win32/prebuilds dist/native/win32/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/ && node ../../scripts/copy-pty-native.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ea548fc8-dac4-4dec-a439-6f4fa3870309"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.3"},"rimraf":"6.1.3","protobufjs":"7.6.5","@hono/node-server":"2.1.1"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.17.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.19.0","dependencies":{"ms":"2.1.3","qs":"6.15.3","ws":"8.21.3","ajv":"8.20.0","jwa":"2.0.1","jws":"4.0.1","zod":"4.4.3","cors":"2.8.6","depd":"2.0.0","diff":"9.0.0","etag":"1.8.1","glob":"13.0.6","gopd":"1.2.0","hono":"4.12.27","jiti":"2.7.0","jose":"6.2.3","long":"5.3.2","once":"1.4.0","send":"1.2.1","tr46":"6.0.0","vary":"1.1.2","yaml":"2.9.0","bytes":"3.1.2","chalk":"6.0.0","debug":"4.4.3","fresh":"2.0.0","isexe":"2.0.0","jsdom":"30.0.1","retry":"0.13.1","saxes":"6.0.0","tldts":"7.4.10","tslib":"2.8.1","which":"2.0.2","bowser":"2.14.1","cookie":"0.7.2","extend":"3.0.2","gaxios":"7.1.4","hasown":"2.0.3","ignore":"7.0.6","marked":"18.0.10","openai":"6.26.0","parse5":"8.0.1","router":"2.2.0","semver":"7.8.5","undici":"8.10.0","unpipe":"1.0.0","wrappy":"1.0.2","accepts":"2.0.0","bidi-js":"1.0.3","express":"5.2.1","mime-db":"1.54.0","p-retry":"4.6.2","type-is":"2.1.0","typebox":"1.3.18","css-tree":"3.2.1","ee-first":"1.1.1","entities":"8.0.0","fast-uri":"3.1.4","inherits":"2.0.4","mdn-data":"2.27.1","minipass":"7.1.3","parseurl":"1.3.3","path-key":"3.1.1","punycode":"2.3.1","raw-body":"3.0.2","statuses":"2.0.2","turndown":"7.2.4","xmlchars":"2.2.0","base64-js":"1.5.1","data-urls":"7.0.0","encodeurl":"2.0.0","es-errors":"1.3.0","forwarded":"0.2.0","get-proto":"1.0.1","ipaddr.js":"1.9.1","lru-cache":"11.5.2","minimatch":"10.2.6","picomatch":"4.0.5","agent-base":"7.1.4","call-bound":"1.0.4","decimal.js":"10.6.0","fetch-blob":"3.2.0","iconv-lite":"0.7.3","ip-address":"10.2.0","is-promise":"4.0.0","mime-types":"3.0.2","negotiator":"1.0.0","node-fetch":"3.3.2","protobufjs":"7.6.5","proxy-addr":"2.0.7","tldts-core":"7.4.10","ts-algebra":"2.0.0","whatwg-url":"16.0.1","@types/node":"26.2.0","ajv-formats":"3.0.1","body-parser":"2.3.0","cross-spawn":"7.0.6","escape-html":"1.0.3","eventsource":"3.0.7","fast-sha256":"1.3.0","graceful-fs":"4.2.11","has-symbols":"1.1.0","http-errors":"2.0.1","json-bigint":"1.0.0","media-typer":"1.1.0","on-finished":"2.4.1","path-scurry":"2.0.2","safe-buffer":"5.2.1","signal-exit":"3.0.7","symbol-tree":"3.2.4","@smithy/core":"3.33.3","bignumber.js":"9.3.1","content-type":"1.0.5","dunder-proto":"1.0.1","finalhandler":"2.1.1","gcp-metadata":"8.1.2","grok-mermaid":"0.2.3","highlight.js":"11.12.0","partial-json":"0.1.7","range-parser":"1.3.0","safer-buffer":"2.1.2","serve-static":"2.2.1","side-channel":"1.1.1","toidentifier":"1.0.1","tough-cookie":"6.0.2","@aws-sdk/core":"3.977.9","@exodus/bytes":"1.15.1","@google/genai":"2.18.0","@smithy/types":"4.17.2","function-bind":"1.1.2","get-intrinsic":"1.3.0","object-assign":"4.1.1","shebang-regex":"3.0.0","source-map-js":"1.2.1","@aws-sdk/types":"3.974.5","@babel/runtime":"7.29.2","balanced-match":"4.0.4","object-inspect":"1.13.4","path-to-regexp":"8.4.2","pkce-challenge":"5.0.1","proxy-from-env":"2.1.0","setprototypeof":"1.2.0","@xterm/headless":"6.0.0","brace-expansion":"5.0.9","es-object-atoms":"1.1.2","fast-deep-equal":"3.1.3","hosted-git-info":"10.1.1","math-intrinsics":"1.1.0","proper-lockfile":"4.1.2","shebang-command":"2.0.0","whatwg-mimetype":"5.0.0","@protobufjs/path":"1.1.2","@protobufjs/pool":"1.1.0","@protobufjs/utf8":"1.1.1","cookie-signature":"1.2.2","http-proxy-agent":"9.1.0","side-channel-map":"1.0.1","standardwebhooks":"1.0.0","@anthropic-ai/sdk":"0.120.0","@hono/node-server":"2.1.1","@protobufjs/fetch":"1.1.1","@protobufjs/float":"1.0.2","@stablelib/base64":"1.0.1","formdata-polyfill":"4.0.10","https-proxy-agent":"9.1.0","json-schema-to-ts":"3.1.1","json-schema-typed":"8.0.2","merge-descriptors":"2.0.0","node-domexception":"1.0.0","side-channel-list":"1.0.1","w3c-xmlserializer":"5.0.0","@bufbuild/protobuf":"2.14.0","@csstools/css-calc":"3.3.0","@mixmark-io/domino":"2.2.0","@opentelemetry/api":"1.9.1","@protobufjs/base64":"1.1.2","data-uri-to-buffer":"4.0.1","es-define-property":"1.0.1","eventsource-parser":"3.1.0","express-rate-limit":"8.5.2","webidl-conversions":"8.0.1","xml-name-validator":"5.0.0","zod-to-json-schema":"3.25.2","@bramus/specificity":"2.4.2","@protobufjs/codegen":"2.0.5","content-disposition":"1.1.0","ecdsa-sig-formatter":"1.0.11","google-auth-library":"10.6.2","require-from-string":"2.0.2","@aws-sdk/xml-builder":"3.972.40","@mozilla/readability":"0.6.0","@smithy/signature-v4":"5.7.3","get-east-asian-width":"1.6.0","google-logging-utils":"1.1.3","json-schema-traverse":"1.0.0","side-channel-weakmap":"1.0.2","web-streams-polyfill":"3.3.3","@asamuzakjp/css-color":"6.0.7","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.9.2","@protobufjs/aspromise":"1.1.2","html-encoding-sniffer":"6.0.0","proxy-agent-negotiate":"1.1.0","@earendil-works/pi-pty":"npm:@code-yeongyu/senpi-pty@2026.9.2","@earendil-works/pi-tui":"npm:@code-yeongyu/senpi-tui@2026.9.2","@aws-sdk/nested-clients":"3.997.44","@csstools/color-helpers":"6.1.1","@csstools/css-tokenizer":"4.0.0","@mariozechner/clipboard":"*","call-bind-apply-helpers":"1.0.2","@asamuzakjp/dom-selector":"8.3.2","@aws-sdk/token-providers":"3.1116.0","@aws/lambda-invoke-store":"0.3.0","@protobufjs/eventemitter":"1.1.1","@modelcontextprotocol/sdk":"1.30.0","@smithy/node-http-handler":"4.11.3","@csstools/css-color-parser":"4.2.0","@silvia-odwyer/photon-node":"0.3.4","@smithy/fetch-http-handler":"5.7.2","buffer-equal-constant-time":"1.0.1","@code-yeongyu/senpi-codemode":"2026.9.2","@earendil-works/pi-telemetry":"npm:@code-yeongyu/senpi-telemetry@2026.9.2","@aws-sdk/middleware-websocket":"3.972.52","@earendil-works/pi-agent-core":"npm:@code-yeongyu/senpi-agent-core@2026.9.2","@anthropic-ai/claude-agent-sdk":"0.3.241","@aws-sdk/client-bedrock-runtime":"3.1116.0","@aws-sdk/middleware-eventstream":"3.972.29","@csstools/css-parser-algorithms":"4.0.0","@aws-sdk/credential-provider-env":"3.972.70","@aws-sdk/credential-provider-ini":"3.973.15","@aws-sdk/credential-provider-sso":"3.973.14","@smithy/credential-provider-imds":"4.5.2","is-potential-custom-element-name":"1.0.1","@aws-sdk/credential-provider-http":"3.972.72","@aws-sdk/credential-provider-node":"3.972.81","@aws-sdk/eventstream-handler-node":"3.972.34","@aws-sdk/credential-provider-login":"3.972.77","@aws-sdk/signature-v4-multi-region":"3.996.46","@aws-sdk/credential-provider-process":"3.972.70","@csstools/css-syntax-patches-for-csstree":"1.1.8","@aws-sdk/credential-provider-web-identity":"3.972.76"},"_hasShrinkwrap":false,"devDependencies":{"shx":"0.4.0","vitest":"4.1.11","@types/ws":"8.18.1","typescript":"7.0.2","@types/node":"26.2.0","@types/jsdom":"30.0.0","@types/semver":"7.8.0","@types/turndown":"5.0.6","@types/picomatch":"4.0.3","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@anthropic-ai/claude-agent-sdk","@anthropic-ai/sdk","@asamuzakjp/css-color","@asamuzakjp/dom-selector","@aws-sdk/client-bedrock-runtime","@aws-sdk/core","@aws-sdk/credential-provider-env","@aws-sdk/credential-provider-http","@aws-sdk/credential-provider-ini","@aws-sdk/credential-provider-login","@aws-sdk/credential-provider-node","@aws-sdk/credential-provider-process","@aws-sdk/credential-provider-sso","@aws-sdk/credential-provider-web-identity","@aws-sdk/eventstream-handler-node","@aws-sdk/middleware-eventstream","@aws-sdk/middleware-websocket","@aws-sdk/nested-clients","@aws-sdk/signature-v4-multi-region","@aws-sdk/token-providers","@aws-sdk/types","@aws-sdk/xml-builder","@aws/lambda-invoke-store","@babel/runtime","@bramus/specificity","@bufbuild/protobuf","@code-yeongyu/senpi-codemode","@csstools/color-helpers","@csstools/css-calc","@csstools/css-color-parser","@csstools/css-parser-algorithms","@csstools/css-syntax-patches-for-csstree","@csstools/css-tokenizer","@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-pty","@earendil-works/pi-telemetry","@earendil-works/pi-tui","@exodus/bytes","@google/genai","@hono/node-server","@mariozechner/clipboard","@mixmark-io/domino","@modelcontextprotocol/sdk","@mozilla/readability","@opentelemetry/api","@protobufjs/aspromise","@protobufjs/base64","@protobufjs/codegen","@protobufjs/eventemitter","@protobufjs/fetch","@protobufjs/float","@protobufjs/path","@protobufjs/pool","@protobufjs/utf8","@silvia-odwyer/photon-node","@smithy/core","@smithy/credential-provider-imds","@smithy/fetch-http-handler","@smithy/node-http-handler","@smithy/signature-v4","@smithy/types","@stablelib/base64","@types/node","@xterm/headless","accepts","agent-base","ajv","ajv-formats","balanced-match","base64-js","bidi-js","bignumber.js","body-parser","bowser","brace-expansion","buffer-equal-constant-time","bytes","call-bind-apply-helpers","call-bound","chalk","content-disposition","content-type","cookie","cookie-signature","cors","cross-spawn","css-tree","data-uri-to-buffer","data-urls","debug","decimal.js","depd","diff","dunder-proto","ecdsa-sig-formatter","ee-first","encodeurl","entities","es-define-property","es-errors","es-object-atoms","escape-html","etag","eventsource","eventsource-parser","express","express-rate-limit","extend","fast-deep-equal","fast-sha256","fast-uri","fetch-blob","finalhandler","formdata-polyfill","forwarded","fresh","function-bind","gaxios","gcp-metadata","get-east-asian-width","get-intrinsic","get-proto","glob","google-auth-library","google-logging-utils","gopd","graceful-fs","grok-mermaid","has-symbols","hasown","highlight.js","hono","hosted-git-info","html-encoding-sniffer","http-errors","http-proxy-agent","https-proxy-agent","iconv-lite","ignore","inherits","ip-address","ipaddr.js","is-potential-custom-element-name","is-promise","isexe","jiti","jose","jsdom","json-bigint","json-schema-to-ts","json-schema-traverse","json-schema-typed","jwa","jws","long","lru-cache","marked","math-intrinsics","mdn-data","media-typer","merge-descriptors","mime-db","mime-types","minimatch","minipass","ms","negotiator","node-domexception","node-fetch","object-assign","object-inspect","on-finished","once","openai","p-retry","parse5","parseurl","partial-json","path-key","path-scurry","path-to-regexp","picomatch","pkce-challenge","proper-lockfile","protobufjs","proxy-addr","proxy-agent-negotiate","proxy-from-env","punycode","qs","range-parser","raw-body","require-from-string","retry","router","safe-buffer","safer-buffer","saxes","semver","send","serve-static","setprototypeof","shebang-command","shebang-regex","side-channel","side-channel-list","side-channel-map","side-channel-weakmap","signal-exit","source-map-js","standardwebhooks","statuses","symbol-tree","tldts","tldts-core","toidentifier","tough-cookie","tr46","ts-algebra","tslib","turndown","type-is","typebox","undici","unpipe","vary","w3c-xmlserializer","web-streams-polyfill","webidl-conversions","whatwg-mimetype","whatwg-url","which","wrappy","ws","xml-name-validator","xmlchars","yaml","zod","zod-to-json-schema"],"optionalDependencies":{"@mariozechner/clipboard":"0.3.9","@mariozechner/clipboard-darwin-x64":"0.3.9","@mariozechner/clipboard-darwin-arm64":"0.3.9","@mariozechner/clipboard-linux-x64-gnu":"0.3.9","@mariozechner/clipboard-linux-x64-musl":"0.3.9","@mariozechner/clipboard-win32-x64-msvc":"0.3.9","@mariozechner/clipboard-linux-arm64-gnu":"0.3.9","@anthropic-ai/claude-agent-sdk-linux-x64":"0.3.241","@anthropic-ai/claude-agent-sdk-win32-x64":"0.3.241","@mariozechner/clipboard-darwin-universal":"0.3.9","@mariozechner/clipboard-linux-arm64-musl":"0.3.9","@mariozechner/clipboard-win32-arm64-msvc":"0.3.9","@anthropic-ai/claude-agent-sdk-darwin-x64":"0.3.241","@mariozechner/clipboard-linux-riscv64-gnu":"0.3.9","@anthropic-ai/claude-agent-sdk-linux-arm64":"0.3.241","@anthropic-ai/claude-agent-sdk-win32-arm64":"0.3.241","@anthropic-ai/claude-agent-sdk-darwin-arm64":"0.3.241","@anthropic-ai/claude-agent-sdk-linux-x64-musl":"0.3.241","@anthropic-ai/claude-agent-sdk-linux-arm64-musl":"0.3.241"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.9.2_1788313948656_0.4156179387495813","host":"s3://npm-registry-packages-npm-production"}},"2026.9.2-3":{"name":"@code-yeongyu/senpi","version":"2026.9.2-3","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.9.2-3","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"pi":"dist/bundle/cli.js","senpi":"dist/cli.js"},"dist":{"shasum":"7c8b7c37411f4a967e291cd27ebf881b479541ea","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.9.2-3.tgz","fileCount":24732,"integrity":"sha512-6zrIivCJelD9VbjBSXOqUk6shWLaEM76sDfztvNxlvpBYinimlPHpmEEp7LLPdEoXxXrIuffBN69AOElLRQKsg==","signatures":[{"sig":"MEUCIQD25gngFQkgJTrQn0KpwIvt42JGNwm/jeb1iSsDEhbRjgIgEVChKZpYuveT6YB/zGVRj8ZIZzNzjkorEF0uEoaHQRY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.9.2-3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":172282166},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.js"},"./rpc-entry":{"import":"./dist/rpc-entry.js"}},"scripts":{"dev":"tsc -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsc -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js dist/rpc-entry.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/","build:binary":"npm --prefix ../tui run build && npm --prefix ../telemetry run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm --prefix ../protocol run build && npm --prefix ../client run build && npm --prefix ../pty run build && npm run build && node ../../scripts/prepare-bun-compile-assets.mjs && bun build --compile --compile-autoload-package-json --no-compile-autoload-dotenv --no-compile-autoload-bunfig --minify --keep-names ./dist/bun/cli.js ./src/utils/image-resize-worker.ts ../../node_modules/jsdom/lib/jsdom/living/xhr/xhr-sync-worker.js --outfile dist/pi && npm run copy-binary-assets","qa:app-server":"node scripts/qa-app-server/run-all.mjs","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","build:unbundled":"tsgo -p tsconfig.build.json && shx chmod +x dist/cli.js dist/rpc-entry.js && npm run copy-assets","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/export-html/ && shx cp -r docs dist/ && shx cp -r examples dist/ && shx mkdir -p dist/node_modules && shx cp -r ../../node_modules/css-tree ../../node_modules/mdn-data ../../node_modules/source-map-js dist/node_modules/ && node ../../scripts/copy-codemode-sidecar.mjs dist && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/ && shx mkdir -p dist/native/darwin dist/native/win32 && shx cp -r ../../packages/tui/native/darwin/prebuilds dist/native/darwin/ && shx cp -r ../../packages/tui/native/win32/prebuilds dist/native/win32/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/ && node ../../scripts/copy-pty-native.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ea548fc8-dac4-4dec-a439-6f4fa3870309"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.3"},"rimraf":"6.1.3","protobufjs":"7.6.5","@hono/node-server":"2.1.1"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.17.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.19.0","dependencies":{"ms":"2.1.3","qs":"6.15.3","ws":"8.21.3","ajv":"8.20.0","jwa":"2.0.1","jws":"4.0.1","zod":"4.4.3","cors":"2.8.6","depd":"2.0.0","diff":"9.0.0","etag":"1.8.1","glob":"13.0.6","gopd":"1.2.0","hono":"4.12.27","jiti":"2.7.0","jose":"6.2.3","long":"5.3.2","once":"1.4.0","send":"1.2.1","tr46":"6.0.0","vary":"1.1.2","yaml":"2.9.0","bytes":"3.1.2","chalk":"6.0.0","debug":"4.4.3","fresh":"2.0.0","isexe":"2.0.0","jsdom":"30.0.1","retry":"0.13.1","saxes":"6.0.0","tldts":"7.4.10","tslib":"2.8.1","which":"2.0.2","bowser":"2.14.1","cookie":"0.7.2","extend":"3.0.2","gaxios":"7.1.4","hasown":"2.0.3","ignore":"7.0.6","marked":"18.0.10","openai":"6.26.0","parse5":"8.0.1","router":"2.2.0","semver":"7.8.5","undici":"8.10.0","unpipe":"1.0.0","wrappy":"1.0.2","accepts":"2.0.0","bidi-js":"1.0.3","express":"5.2.1","mime-db":"1.54.0","p-retry":"4.6.2","type-is":"2.1.0","typebox":"1.3.18","css-tree":"3.2.1","ee-first":"1.1.1","entities":"8.0.0","fast-uri":"3.1.4","inherits":"2.0.4","mdn-data":"2.27.1","minipass":"7.1.3","parseurl":"1.3.3","path-key":"3.1.1","punycode":"2.3.1","raw-body":"3.0.2","statuses":"2.0.2","turndown":"7.2.4","xmlchars":"2.2.0","base64-js":"1.5.1","data-urls":"7.0.0","encodeurl":"2.0.0","es-errors":"1.3.0","forwarded":"0.2.0","get-proto":"1.0.1","ipaddr.js":"1.9.1","lru-cache":"11.5.2","minimatch":"10.2.6","picomatch":"4.0.5","agent-base":"7.1.4","call-bound":"1.0.4","decimal.js":"10.6.0","fetch-blob":"3.2.0","iconv-lite":"0.7.3","ip-address":"10.2.0","is-promise":"4.0.0","mime-types":"3.0.2","negotiator":"1.0.0","node-fetch":"3.3.2","protobufjs":"7.6.5","proxy-addr":"2.0.7","tldts-core":"7.4.10","ts-algebra":"2.0.0","whatwg-url":"16.0.1","@types/node":"26.2.0","ajv-formats":"3.0.1","body-parser":"2.3.0","cross-spawn":"7.0.6","escape-html":"1.0.3","eventsource":"3.0.7","fast-sha256":"1.3.0","graceful-fs":"4.2.11","has-symbols":"1.1.0","http-errors":"2.0.1","json-bigint":"1.0.0","media-typer":"1.1.0","on-finished":"2.4.1","path-scurry":"2.0.2","safe-buffer":"5.2.1","signal-exit":"3.0.7","symbol-tree":"3.2.4","@smithy/core":"3.33.3","bignumber.js":"9.3.1","content-type":"1.0.5","dunder-proto":"1.0.1","finalhandler":"2.1.1","gcp-metadata":"8.1.2","grok-mermaid":"0.2.3","highlight.js":"11.12.0","partial-json":"0.1.7","range-parser":"1.3.0","safer-buffer":"2.1.2","serve-static":"2.2.1","side-channel":"1.1.1","toidentifier":"1.0.1","tough-cookie":"6.0.2","@aws-sdk/core":"3.977.9","@exodus/bytes":"1.15.1","@google/genai":"2.18.0","@smithy/types":"4.17.2","function-bind":"1.1.2","get-intrinsic":"1.3.0","object-assign":"4.1.1","shebang-regex":"3.0.0","source-map-js":"1.2.1","@aws-sdk/types":"3.974.5","@babel/runtime":"7.29.2","balanced-match":"4.0.4","object-inspect":"1.13.4","path-to-regexp":"8.4.2","pkce-challenge":"5.0.1","proxy-from-env":"2.1.0","setprototypeof":"1.2.0","@xterm/headless":"6.0.0","brace-expansion":"5.0.9","es-object-atoms":"1.1.2","fast-deep-equal":"3.1.3","hosted-git-info":"10.1.1","math-intrinsics":"1.1.0","proper-lockfile":"4.1.2","shebang-command":"2.0.0","whatwg-mimetype":"5.0.0","@protobufjs/path":"1.1.2","@protobufjs/pool":"1.1.0","@protobufjs/utf8":"1.1.1","cookie-signature":"1.2.2","http-proxy-agent":"9.1.0","side-channel-map":"1.0.1","standardwebhooks":"1.0.0","@anthropic-ai/sdk":"0.120.0","@hono/node-server":"2.1.1","@protobufjs/fetch":"1.1.1","@protobufjs/float":"1.0.2","@stablelib/base64":"1.0.1","formdata-polyfill":"4.0.10","https-proxy-agent":"9.1.0","json-schema-to-ts":"3.1.1","json-schema-typed":"8.0.2","merge-descriptors":"2.0.0","node-domexception":"1.0.0","side-channel-list":"1.0.1","w3c-xmlserializer":"5.0.0","@bufbuild/protobuf":"2.14.0","@csstools/css-calc":"3.3.0","@mixmark-io/domino":"2.2.0","@opentelemetry/api":"1.9.1","@protobufjs/base64":"1.1.2","data-uri-to-buffer":"4.0.1","es-define-property":"1.0.1","eventsource-parser":"3.1.0","express-rate-limit":"8.5.2","webidl-conversions":"8.0.1","xml-name-validator":"5.0.0","zod-to-json-schema":"3.25.2","@bramus/specificity":"2.4.2","@protobufjs/codegen":"2.0.5","content-disposition":"1.1.0","ecdsa-sig-formatter":"1.0.11","google-auth-library":"10.6.2","require-from-string":"2.0.2","@aws-sdk/xml-builder":"3.972.40","@mozilla/readability":"0.6.0","@smithy/signature-v4":"5.7.3","get-east-asian-width":"1.6.0","google-logging-utils":"1.1.3","json-schema-traverse":"1.0.0","side-channel-weakmap":"1.0.2","web-streams-polyfill":"3.3.3","@asamuzakjp/css-color":"6.0.7","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.9.2-3","@protobufjs/aspromise":"1.1.2","html-encoding-sniffer":"6.0.0","proxy-agent-negotiate":"1.1.0","@earendil-works/pi-pty":"npm:@code-yeongyu/senpi-pty@2026.9.2-3","@earendil-works/pi-tui":"npm:@code-yeongyu/senpi-tui@2026.9.2-3","@aws-sdk/nested-clients":"3.997.44","@csstools/color-helpers":"6.1.1","@csstools/css-tokenizer":"4.0.0","@mariozechner/clipboard":"*","call-bind-apply-helpers":"1.0.2","@asamuzakjp/dom-selector":"8.3.2","@aws-sdk/token-providers":"3.1116.0","@aws/lambda-invoke-store":"0.3.0","@protobufjs/eventemitter":"1.1.1","@modelcontextprotocol/sdk":"1.30.0","@smithy/node-http-handler":"4.11.3","@csstools/css-color-parser":"4.2.0","@silvia-odwyer/photon-node":"0.3.4","@smithy/fetch-http-handler":"5.7.2","buffer-equal-constant-time":"1.0.1","@code-yeongyu/senpi-codemode":"2026.9.2-3","@earendil-works/pi-telemetry":"npm:@code-yeongyu/senpi-telemetry@2026.9.2-3","@aws-sdk/middleware-websocket":"3.972.52","@earendil-works/pi-agent-core":"npm:@code-yeongyu/senpi-agent-core@2026.9.2-3","@anthropic-ai/claude-agent-sdk":"0.3.241","@aws-sdk/client-bedrock-runtime":"3.1116.0","@aws-sdk/middleware-eventstream":"3.972.29","@csstools/css-parser-algorithms":"4.0.0","@aws-sdk/credential-provider-env":"3.972.70","@aws-sdk/credential-provider-ini":"3.973.15","@aws-sdk/credential-provider-sso":"3.973.14","@smithy/credential-provider-imds":"4.5.2","is-potential-custom-element-name":"1.0.1","@aws-sdk/credential-provider-http":"3.972.72","@aws-sdk/credential-provider-node":"3.972.81","@aws-sdk/eventstream-handler-node":"3.972.34","@aws-sdk/credential-provider-login":"3.972.77","@aws-sdk/signature-v4-multi-region":"3.996.46","@aws-sdk/credential-provider-process":"3.972.70","@csstools/css-syntax-patches-for-csstree":"1.1.8","@aws-sdk/credential-provider-web-identity":"3.972.76"},"_hasShrinkwrap":false,"devDependencies":{"shx":"0.4.0","vitest":"4.1.11","@types/ws":"8.18.1","typescript":"7.0.2","@types/node":"26.2.0","@types/jsdom":"30.0.0","@types/semver":"7.8.0","@types/turndown":"5.0.6","@types/picomatch":"4.0.3","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@anthropic-ai/claude-agent-sdk","@anthropic-ai/sdk","@asamuzakjp/css-color","@asamuzakjp/dom-selector","@aws-sdk/client-bedrock-runtime","@aws-sdk/core","@aws-sdk/credential-provider-env","@aws-sdk/credential-provider-http","@aws-sdk/credential-provider-ini","@aws-sdk/credential-provider-login","@aws-sdk/credential-provider-node","@aws-sdk/credential-provider-process","@aws-sdk/credential-provider-sso","@aws-sdk/credential-provider-web-identity","@aws-sdk/eventstream-handler-node","@aws-sdk/middleware-eventstream","@aws-sdk/middleware-websocket","@aws-sdk/nested-clients","@aws-sdk/signature-v4-multi-region","@aws-sdk/token-providers","@aws-sdk/types","@aws-sdk/xml-builder","@aws/lambda-invoke-store","@babel/runtime","@bramus/specificity","@bufbuild/protobuf","@code-yeongyu/senpi-codemode","@csstools/color-helpers","@csstools/css-calc","@csstools/css-color-parser","@csstools/css-parser-algorithms","@csstools/css-syntax-patches-for-csstree","@csstools/css-tokenizer","@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-pty","@earendil-works/pi-telemetry","@earendil-works/pi-tui","@exodus/bytes","@google/genai","@hono/node-server","@mariozechner/clipboard","@mixmark-io/domino","@modelcontextprotocol/sdk","@mozilla/readability","@opentelemetry/api","@protobufjs/aspromise","@protobufjs/base64","@protobufjs/codegen","@protobufjs/eventemitter","@protobufjs/fetch","@protobufjs/float","@protobufjs/path","@protobufjs/pool","@protobufjs/utf8","@silvia-odwyer/photon-node","@smithy/core","@smithy/credential-provider-imds","@smithy/fetch-http-handler","@smithy/node-http-handler","@smithy/signature-v4","@smithy/types","@stablelib/base64","@types/node","@xterm/headless","accepts","agent-base","ajv","ajv-formats","balanced-match","base64-js","bidi-js","bignumber.js","body-parser","bowser","brace-expansion","buffer-equal-constant-time","bytes","call-bind-apply-helpers","call-bound","chalk","content-disposition","content-type","cookie","cookie-signature","cors","cross-spawn","css-tree","data-uri-to-buffer","data-urls","debug","decimal.js","depd","diff","dunder-proto","ecdsa-sig-formatter","ee-first","encodeurl","entities","es-define-property","es-errors","es-object-atoms","escape-html","etag","eventsource","eventsource-parser","express","express-rate-limit","extend","fast-deep-equal","fast-sha256","fast-uri","fetch-blob","finalhandler","formdata-polyfill","forwarded","fresh","function-bind","gaxios","gcp-metadata","get-east-asian-width","get-intrinsic","get-proto","glob","google-auth-library","google-logging-utils","gopd","graceful-fs","grok-mermaid","has-symbols","hasown","highlight.js","hono","hosted-git-info","html-encoding-sniffer","http-errors","http-proxy-agent","https-proxy-agent","iconv-lite","ignore","inherits","ip-address","ipaddr.js","is-potential-custom-element-name","is-promise","isexe","jiti","jose","jsdom","json-bigint","json-schema-to-ts","json-schema-traverse","json-schema-typed","jwa","jws","long","lru-cache","marked","math-intrinsics","mdn-data","media-typer","merge-descriptors","mime-db","mime-types","minimatch","minipass","ms","negotiator","node-domexception","node-fetch","object-assign","object-inspect","on-finished","once","openai","p-retry","parse5","parseurl","partial-json","path-key","path-scurry","path-to-regexp","picomatch","pkce-challenge","proper-lockfile","protobufjs","proxy-addr","proxy-agent-negotiate","proxy-from-env","punycode","qs","range-parser","raw-body","require-from-string","retry","router","safe-buffer","safer-buffer","saxes","semver","send","serve-static","setprototypeof","shebang-command","shebang-regex","side-channel","side-channel-list","side-channel-map","side-channel-weakmap","signal-exit","source-map-js","standardwebhooks","statuses","symbol-tree","tldts","tldts-core","toidentifier","tough-cookie","tr46","ts-algebra","tslib","turndown","type-is","typebox","undici","unpipe","vary","w3c-xmlserializer","web-streams-polyfill","webidl-conversions","whatwg-mimetype","whatwg-url","which","wrappy","ws","xml-name-validator","xmlchars","yaml","zod","zod-to-json-schema"],"optionalDependencies":{"@mariozechner/clipboard":"0.3.9","@mariozechner/clipboard-darwin-x64":"0.3.9","@mariozechner/clipboard-darwin-arm64":"0.3.9","@mariozechner/clipboard-linux-x64-gnu":"0.3.9","@mariozechner/clipboard-linux-x64-musl":"0.3.9","@mariozechner/clipboard-win32-x64-msvc":"0.3.9","@mariozechner/clipboard-linux-arm64-gnu":"0.3.9","@anthropic-ai/claude-agent-sdk-linux-x64":"0.3.241","@anthropic-ai/claude-agent-sdk-win32-x64":"0.3.241","@mariozechner/clipboard-darwin-universal":"0.3.9","@mariozechner/clipboard-linux-arm64-musl":"0.3.9","@mariozechner/clipboard-win32-arm64-msvc":"0.3.9","@anthropic-ai/claude-agent-sdk-darwin-x64":"0.3.241","@mariozechner/clipboard-linux-riscv64-gnu":"0.3.9","@anthropic-ai/claude-agent-sdk-linux-arm64":"0.3.241","@anthropic-ai/claude-agent-sdk-win32-arm64":"0.3.241","@anthropic-ai/claude-agent-sdk-darwin-arm64":"0.3.241","@anthropic-ai/claude-agent-sdk-linux-x64-musl":"0.3.241","@anthropic-ai/claude-agent-sdk-linux-arm64-musl":"0.3.241"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.9.2-3_1788339713586_0.2615706572983161","host":"s3://npm-registry-packages-npm-production"}},"2026.9.2-4":{"name":"@code-yeongyu/senpi","version":"2026.9.2-4","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.9.2-4","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"pi":"dist/bundle/cli.js","senpi":"dist/cli.js"},"dist":{"shasum":"d2156a917195bf15bd0e837f7f09ca94817ed2e0","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.9.2-4.tgz","fileCount":24736,"integrity":"sha512-wlzPUulqkc4nEBJjKunXXr7t7Qzv3Tddu1AJ8Vuu5dhzcYLOBG8Iaiafu1GM4FIDo0zFC2mNByguzp54/MveUQ==","signatures":[{"sig":"MEUCIQC8clYmJU6tXqQq2eo4NL7u6nLtKYo6GAfy+pbuGBWHEQIgSbpFYUC3bBdO36uUsQiuVAD4xA9yRQ1Bczl0bEQ/+KM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.9.2-4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":172306394},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.js"},"./rpc-entry":{"import":"./dist/rpc-entry.js"}},"scripts":{"dev":"tsc -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsc -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js dist/rpc-entry.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/","build:binary":"npm --prefix ../tui run build && npm --prefix ../telemetry run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm --prefix ../protocol run build && npm --prefix ../client run build && npm --prefix ../pty run build && npm run build && node ../../scripts/prepare-bun-compile-assets.mjs && bun build --compile --compile-autoload-package-json --no-compile-autoload-dotenv --no-compile-autoload-bunfig --minify --keep-names ./dist/bun/cli.js ./src/utils/image-resize-worker.ts ../../node_modules/jsdom/lib/jsdom/living/xhr/xhr-sync-worker.js --outfile dist/pi && npm run copy-binary-assets","qa:app-server":"node scripts/qa-app-server/run-all.mjs","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","build:unbundled":"tsgo -p tsconfig.build.json && shx chmod +x dist/cli.js dist/rpc-entry.js && npm run copy-assets","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/export-html/ && shx cp -r docs dist/ && shx cp -r examples dist/ && shx mkdir -p dist/node_modules && shx cp -r ../../node_modules/css-tree ../../node_modules/mdn-data ../../node_modules/source-map-js dist/node_modules/ && node ../../scripts/copy-codemode-sidecar.mjs dist && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/ && shx mkdir -p dist/native/darwin dist/native/win32 && shx cp -r ../../packages/tui/native/darwin/prebuilds dist/native/darwin/ && shx cp -r ../../packages/tui/native/win32/prebuilds dist/native/win32/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/ && node ../../scripts/copy-pty-native.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ea548fc8-dac4-4dec-a439-6f4fa3870309"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.3"},"rimraf":"6.1.3","protobufjs":"7.6.5","@hono/node-server":"2.1.1"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.17.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.19.0","dependencies":{"ms":"2.1.3","qs":"6.15.3","ws":"8.21.3","ajv":"8.20.0","jwa":"2.0.1","jws":"4.0.1","zod":"4.4.3","cors":"2.8.6","depd":"2.0.0","diff":"9.0.0","etag":"1.8.1","glob":"13.0.6","gopd":"1.2.0","hono":"4.12.27","jiti":"2.7.0","jose":"6.2.3","long":"5.3.2","once":"1.4.0","send":"1.2.1","tr46":"6.0.0","vary":"1.1.2","yaml":"2.9.0","bytes":"3.1.2","chalk":"6.0.0","debug":"4.4.3","fresh":"2.0.0","isexe":"2.0.0","jsdom":"30.0.1","retry":"0.13.1","saxes":"6.0.0","tldts":"7.4.10","tslib":"2.8.1","which":"2.0.2","bowser":"2.14.1","cookie":"0.7.2","extend":"3.0.2","gaxios":"7.1.4","hasown":"2.0.3","ignore":"7.0.6","marked":"18.0.10","openai":"6.26.0","parse5":"8.0.1","router":"2.2.0","semver":"7.8.5","undici":"8.10.0","unpipe":"1.0.0","wrappy":"1.0.2","accepts":"2.0.0","bidi-js":"1.0.3","express":"5.2.1","mime-db":"1.54.0","p-retry":"4.6.2","type-is":"2.1.0","typebox":"1.3.18","css-tree":"3.2.1","ee-first":"1.1.1","entities":"8.0.0","fast-uri":"3.1.4","inherits":"2.0.4","mdn-data":"2.27.1","minipass":"7.1.3","parseurl":"1.3.3","path-key":"3.1.1","punycode":"2.3.1","raw-body":"3.0.2","statuses":"2.0.2","turndown":"7.2.4","xmlchars":"2.2.0","base64-js":"1.5.1","data-urls":"7.0.0","encodeurl":"2.0.0","es-errors":"1.3.0","forwarded":"0.2.0","get-proto":"1.0.1","ipaddr.js":"1.9.1","lru-cache":"11.5.2","minimatch":"10.2.6","picomatch":"4.0.5","agent-base":"7.1.4","call-bound":"1.0.4","decimal.js":"10.6.0","fetch-blob":"3.2.0","iconv-lite":"0.7.3","ip-address":"10.2.0","is-promise":"4.0.0","mime-types":"3.0.2","negotiator":"1.0.0","node-fetch":"3.3.2","protobufjs":"7.6.5","proxy-addr":"2.0.7","tldts-core":"7.4.10","ts-algebra":"2.0.0","whatwg-url":"16.0.1","@types/node":"26.2.0","ajv-formats":"3.0.1","body-parser":"2.3.0","cross-spawn":"7.0.6","escape-html":"1.0.3","eventsource":"3.0.7","fast-sha256":"1.3.0","graceful-fs":"4.2.11","has-symbols":"1.1.0","http-errors":"2.0.1","json-bigint":"1.0.0","media-typer":"1.1.0","on-finished":"2.4.1","path-scurry":"2.0.2","safe-buffer":"5.2.1","signal-exit":"3.0.7","symbol-tree":"3.2.4","@smithy/core":"3.33.3","bignumber.js":"9.3.1","content-type":"1.0.5","dunder-proto":"1.0.1","finalhandler":"2.1.1","gcp-metadata":"8.1.2","grok-mermaid":"0.2.3","highlight.js":"11.12.0","partial-json":"0.1.7","range-parser":"1.3.0","safer-buffer":"2.1.2","serve-static":"2.2.1","side-channel":"1.1.1","toidentifier":"1.0.1","tough-cookie":"6.0.2","@aws-sdk/core":"3.977.9","@exodus/bytes":"1.15.1","@google/genai":"2.18.0","@smithy/types":"4.17.2","function-bind":"1.1.2","get-intrinsic":"1.3.0","object-assign":"4.1.1","shebang-regex":"3.0.0","source-map-js":"1.2.1","@aws-sdk/types":"3.974.5","@babel/runtime":"7.29.2","balanced-match":"4.0.4","object-inspect":"1.13.4","path-to-regexp":"8.4.2","pkce-challenge":"5.0.1","proxy-from-env":"2.1.0","setprototypeof":"1.2.0","@xterm/headless":"6.0.0","brace-expansion":"5.0.9","es-object-atoms":"1.1.2","fast-deep-equal":"3.1.3","hosted-git-info":"10.1.1","math-intrinsics":"1.1.0","proper-lockfile":"4.1.2","shebang-command":"2.0.0","whatwg-mimetype":"5.0.0","@protobufjs/path":"1.1.2","@protobufjs/pool":"1.1.0","@protobufjs/utf8":"1.1.1","cookie-signature":"1.2.2","http-proxy-agent":"9.1.0","side-channel-map":"1.0.1","standardwebhooks":"1.0.0","@anthropic-ai/sdk":"0.120.0","@hono/node-server":"2.1.1","@protobufjs/fetch":"1.1.1","@protobufjs/float":"1.0.2","@stablelib/base64":"1.0.1","formdata-polyfill":"4.0.10","https-proxy-agent":"9.1.0","json-schema-to-ts":"3.1.1","json-schema-typed":"8.0.2","merge-descriptors":"2.0.0","node-domexception":"1.0.0","side-channel-list":"1.0.1","w3c-xmlserializer":"5.0.0","@bufbuild/protobuf":"2.14.0","@csstools/css-calc":"3.3.0","@mixmark-io/domino":"2.2.0","@opentelemetry/api":"1.9.1","@protobufjs/base64":"1.1.2","data-uri-to-buffer":"4.0.1","es-define-property":"1.0.1","eventsource-parser":"3.1.0","express-rate-limit":"8.5.2","webidl-conversions":"8.0.1","xml-name-validator":"5.0.0","zod-to-json-schema":"3.25.2","@bramus/specificity":"2.4.2","@protobufjs/codegen":"2.0.5","content-disposition":"1.1.0","ecdsa-sig-formatter":"1.0.11","google-auth-library":"10.6.2","require-from-string":"2.0.2","@aws-sdk/xml-builder":"3.972.40","@mozilla/readability":"0.6.0","@smithy/signature-v4":"5.7.3","get-east-asian-width":"1.6.0","google-logging-utils":"1.1.3","json-schema-traverse":"1.0.0","side-channel-weakmap":"1.0.2","web-streams-polyfill":"3.3.3","@asamuzakjp/css-color":"6.0.7","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.9.2-4","@protobufjs/aspromise":"1.1.2","html-encoding-sniffer":"6.0.0","proxy-agent-negotiate":"1.1.0","@earendil-works/pi-pty":"npm:@code-yeongyu/senpi-pty@2026.9.2-4","@earendil-works/pi-tui":"npm:@code-yeongyu/senpi-tui@2026.9.2-4","@aws-sdk/nested-clients":"3.997.44","@csstools/color-helpers":"6.1.1","@csstools/css-tokenizer":"4.0.0","@mariozechner/clipboard":"*","call-bind-apply-helpers":"1.0.2","@asamuzakjp/dom-selector":"8.3.2","@aws-sdk/token-providers":"3.1116.0","@aws/lambda-invoke-store":"0.3.0","@protobufjs/eventemitter":"1.1.1","@modelcontextprotocol/sdk":"1.30.0","@smithy/node-http-handler":"4.11.3","@csstools/css-color-parser":"4.2.0","@silvia-odwyer/photon-node":"0.3.4","@smithy/fetch-http-handler":"5.7.2","buffer-equal-constant-time":"1.0.1","@code-yeongyu/senpi-codemode":"2026.9.2-4","@earendil-works/pi-telemetry":"npm:@code-yeongyu/senpi-telemetry@2026.9.2-4","@aws-sdk/middleware-websocket":"3.972.52","@earendil-works/pi-agent-core":"npm:@code-yeongyu/senpi-agent-core@2026.9.2-4","@anthropic-ai/claude-agent-sdk":"0.3.241","@aws-sdk/client-bedrock-runtime":"3.1116.0","@aws-sdk/middleware-eventstream":"3.972.29","@csstools/css-parser-algorithms":"4.0.0","@aws-sdk/credential-provider-env":"3.972.70","@aws-sdk/credential-provider-ini":"3.973.15","@aws-sdk/credential-provider-sso":"3.973.14","@smithy/credential-provider-imds":"4.5.2","is-potential-custom-element-name":"1.0.1","@aws-sdk/credential-provider-http":"3.972.72","@aws-sdk/credential-provider-node":"3.972.81","@aws-sdk/eventstream-handler-node":"3.972.34","@aws-sdk/credential-provider-login":"3.972.77","@aws-sdk/signature-v4-multi-region":"3.996.46","@aws-sdk/credential-provider-process":"3.972.70","@csstools/css-syntax-patches-for-csstree":"1.1.8","@aws-sdk/credential-provider-web-identity":"3.972.76"},"_hasShrinkwrap":false,"devDependencies":{"shx":"0.4.0","vitest":"4.1.11","@types/ws":"8.18.1","typescript":"7.0.2","@types/node":"26.2.0","@types/jsdom":"30.0.0","@types/semver":"7.8.0","@types/turndown":"5.0.6","@types/picomatch":"4.0.3","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@anthropic-ai/claude-agent-sdk","@anthropic-ai/sdk","@asamuzakjp/css-color","@asamuzakjp/dom-selector","@aws-sdk/client-bedrock-runtime","@aws-sdk/core","@aws-sdk/credential-provider-env","@aws-sdk/credential-provider-http","@aws-sdk/credential-provider-ini","@aws-sdk/credential-provider-login","@aws-sdk/credential-provider-node","@aws-sdk/credential-provider-process","@aws-sdk/credential-provider-sso","@aws-sdk/credential-provider-web-identity","@aws-sdk/eventstream-handler-node","@aws-sdk/middleware-eventstream","@aws-sdk/middleware-websocket","@aws-sdk/nested-clients","@aws-sdk/signature-v4-multi-region","@aws-sdk/token-providers","@aws-sdk/types","@aws-sdk/xml-builder","@aws/lambda-invoke-store","@babel/runtime","@bramus/specificity","@bufbuild/protobuf","@code-yeongyu/senpi-codemode","@csstools/color-helpers","@csstools/css-calc","@csstools/css-color-parser","@csstools/css-parser-algorithms","@csstools/css-syntax-patches-for-csstree","@csstools/css-tokenizer","@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-pty","@earendil-works/pi-telemetry","@earendil-works/pi-tui","@exodus/bytes","@google/genai","@hono/node-server","@mariozechner/clipboard","@mixmark-io/domino","@modelcontextprotocol/sdk","@mozilla/readability","@opentelemetry/api","@protobufjs/aspromise","@protobufjs/base64","@protobufjs/codegen","@protobufjs/eventemitter","@protobufjs/fetch","@protobufjs/float","@protobufjs/path","@protobufjs/pool","@protobufjs/utf8","@silvia-odwyer/photon-node","@smithy/core","@smithy/credential-provider-imds","@smithy/fetch-http-handler","@smithy/node-http-handler","@smithy/signature-v4","@smithy/types","@stablelib/base64","@types/node","@xterm/headless","accepts","agent-base","ajv","ajv-formats","balanced-match","base64-js","bidi-js","bignumber.js","body-parser","bowser","brace-expansion","buffer-equal-constant-time","bytes","call-bind-apply-helpers","call-bound","chalk","content-disposition","content-type","cookie","cookie-signature","cors","cross-spawn","css-tree","data-uri-to-buffer","data-urls","debug","decimal.js","depd","diff","dunder-proto","ecdsa-sig-formatter","ee-first","encodeurl","entities","es-define-property","es-errors","es-object-atoms","escape-html","etag","eventsource","eventsource-parser","express","express-rate-limit","extend","fast-deep-equal","fast-sha256","fast-uri","fetch-blob","finalhandler","formdata-polyfill","forwarded","fresh","function-bind","gaxios","gcp-metadata","get-east-asian-width","get-intrinsic","get-proto","glob","google-auth-library","google-logging-utils","gopd","graceful-fs","grok-mermaid","has-symbols","hasown","highlight.js","hono","hosted-git-info","html-encoding-sniffer","http-errors","http-proxy-agent","https-proxy-agent","iconv-lite","ignore","inherits","ip-address","ipaddr.js","is-potential-custom-element-name","is-promise","isexe","jiti","jose","jsdom","json-bigint","json-schema-to-ts","json-schema-traverse","json-schema-typed","jwa","jws","long","lru-cache","marked","math-intrinsics","mdn-data","media-typer","merge-descriptors","mime-db","mime-types","minimatch","minipass","ms","negotiator","node-domexception","node-fetch","object-assign","object-inspect","on-finished","once","openai","p-retry","parse5","parseurl","partial-json","path-key","path-scurry","path-to-regexp","picomatch","pkce-challenge","proper-lockfile","protobufjs","proxy-addr","proxy-agent-negotiate","proxy-from-env","punycode","qs","range-parser","raw-body","require-from-string","retry","router","safe-buffer","safer-buffer","saxes","semver","send","serve-static","setprototypeof","shebang-command","shebang-regex","side-channel","side-channel-list","side-channel-map","side-channel-weakmap","signal-exit","source-map-js","standardwebhooks","statuses","symbol-tree","tldts","tldts-core","toidentifier","tough-cookie","tr46","ts-algebra","tslib","turndown","type-is","typebox","undici","unpipe","vary","w3c-xmlserializer","web-streams-polyfill","webidl-conversions","whatwg-mimetype","whatwg-url","which","wrappy","ws","xml-name-validator","xmlchars","yaml","zod","zod-to-json-schema"],"optionalDependencies":{"@mariozechner/clipboard":"0.3.9","@mariozechner/clipboard-darwin-x64":"0.3.9","@mariozechner/clipboard-darwin-arm64":"0.3.9","@mariozechner/clipboard-linux-x64-gnu":"0.3.9","@mariozechner/clipboard-linux-x64-musl":"0.3.9","@mariozechner/clipboard-win32-x64-msvc":"0.3.9","@mariozechner/clipboard-linux-arm64-gnu":"0.3.9","@anthropic-ai/claude-agent-sdk-linux-x64":"0.3.241","@anthropic-ai/claude-agent-sdk-win32-x64":"0.3.241","@mariozechner/clipboard-darwin-universal":"0.3.9","@mariozechner/clipboard-linux-arm64-musl":"0.3.9","@mariozechner/clipboard-win32-arm64-msvc":"0.3.9","@anthropic-ai/claude-agent-sdk-darwin-x64":"0.3.241","@mariozechner/clipboard-linux-riscv64-gnu":"0.3.9","@anthropic-ai/claude-agent-sdk-linux-arm64":"0.3.241","@anthropic-ai/claude-agent-sdk-win32-arm64":"0.3.241","@anthropic-ai/claude-agent-sdk-darwin-arm64":"0.3.241","@anthropic-ai/claude-agent-sdk-linux-x64-musl":"0.3.241","@anthropic-ai/claude-agent-sdk-linux-arm64-musl":"0.3.241"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.9.2-4_1788344888025_0.31371714092124714","host":"s3://npm-registry-packages-npm-production"}},"2026.9.3":{"name":"@code-yeongyu/senpi","version":"2026.9.3","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.9.3","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"pi":"dist/bundle/cli.js","senpi":"dist/cli.js"},"dist":{"shasum":"86ed2d8efdf693552afac1cfcddf2c803ed65933","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.9.3.tgz","fileCount":24736,"integrity":"sha512-KyMgHUfABCF2WkZ15VAzKQgwSNkcYcOkM/+pJULxhjKGvV103tQm4aAhIhNHBiGmuV5zUNxM+/LfahmE1ktoiQ==","signatures":[{"sig":"MEYCIQCXTpAdkqgHHR9e9mj255ftpnF6P2ErqZk7GFfHmocGzgIhAPzI6PC1GNmvJOGhERGm6Puv0f1JBZADlr+UunDCBFS/","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.9.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":172361692},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.js"},"./rpc-entry":{"import":"./dist/rpc-entry.js"}},"scripts":{"dev":"tsc -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsc -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js dist/rpc-entry.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/","build:binary":"npm --prefix ../tui run build && npm --prefix ../telemetry run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm --prefix ../protocol run build && npm --prefix ../client run build && npm --prefix ../pty run build && npm run build && node ../../scripts/prepare-bun-compile-assets.mjs && bun build --compile --compile-autoload-package-json --no-compile-autoload-dotenv --no-compile-autoload-bunfig --minify --keep-names ./dist/bun/cli.js ./src/utils/image-resize-worker.ts ../../node_modules/jsdom/lib/jsdom/living/xhr/xhr-sync-worker.js --outfile dist/pi && npm run copy-binary-assets","qa:app-server":"node scripts/qa-app-server/run-all.mjs","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","build:unbundled":"tsgo -p tsconfig.build.json && shx chmod +x dist/cli.js dist/rpc-entry.js && npm run copy-assets","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/export-html/ && shx cp -r docs dist/ && shx cp -r examples dist/ && shx mkdir -p dist/node_modules && shx cp -r ../../node_modules/css-tree ../../node_modules/mdn-data ../../node_modules/source-map-js dist/node_modules/ && node ../../scripts/copy-codemode-sidecar.mjs dist && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/ && shx mkdir -p dist/native/darwin dist/native/win32 && shx cp -r ../../packages/tui/native/darwin/prebuilds dist/native/darwin/ && shx cp -r ../../packages/tui/native/win32/prebuilds dist/native/win32/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/ && node ../../scripts/copy-pty-native.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ea548fc8-dac4-4dec-a439-6f4fa3870309"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.3"},"rimraf":"6.1.3","protobufjs":"7.6.5","@hono/node-server":"2.1.1"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.17.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.19.0","dependencies":{"ms":"2.1.3","qs":"6.15.3","ws":"8.21.3","ajv":"8.20.0","jwa":"2.0.1","jws":"4.0.1","zod":"4.4.3","cors":"2.8.6","depd":"2.0.0","diff":"9.0.0","etag":"1.8.1","glob":"13.0.6","gopd":"1.2.0","hono":"4.12.27","jiti":"2.7.0","jose":"6.2.3","long":"5.3.2","once":"1.4.0","send":"1.2.1","tr46":"6.0.0","vary":"1.1.2","yaml":"2.9.0","bytes":"3.1.2","chalk":"6.0.0","debug":"4.4.3","fresh":"2.0.0","isexe":"2.0.0","jsdom":"30.0.1","retry":"0.13.1","saxes":"6.0.0","tldts":"7.4.10","tslib":"2.8.1","which":"2.0.2","bowser":"2.14.1","cookie":"0.7.2","extend":"3.0.2","gaxios":"7.1.4","hasown":"2.0.3","ignore":"7.0.6","marked":"18.0.10","openai":"6.26.0","parse5":"8.0.1","router":"2.2.0","semver":"7.8.5","undici":"8.10.0","unpipe":"1.0.0","wrappy":"1.0.2","accepts":"2.0.0","bidi-js":"1.0.3","express":"5.2.1","mime-db":"1.54.0","p-retry":"4.6.2","type-is":"2.1.0","typebox":"1.3.18","css-tree":"3.2.1","ee-first":"1.1.1","entities":"8.0.0","fast-uri":"3.1.4","inherits":"2.0.4","mdn-data":"2.27.1","minipass":"7.1.3","parseurl":"1.3.3","path-key":"3.1.1","punycode":"2.3.1","raw-body":"3.0.2","statuses":"2.0.2","turndown":"7.2.4","xmlchars":"2.2.0","base64-js":"1.5.1","data-urls":"7.0.0","encodeurl":"2.0.0","es-errors":"1.3.0","forwarded":"0.2.0","get-proto":"1.0.1","ipaddr.js":"1.9.1","lru-cache":"11.5.2","minimatch":"10.2.6","picomatch":"4.0.5","agent-base":"7.1.4","call-bound":"1.0.4","decimal.js":"10.6.0","fetch-blob":"3.2.0","iconv-lite":"0.7.3","ip-address":"10.2.0","is-promise":"4.0.0","mime-types":"3.0.2","negotiator":"1.0.0","node-fetch":"3.3.2","protobufjs":"7.6.5","proxy-addr":"2.0.7","tldts-core":"7.4.10","ts-algebra":"2.0.0","whatwg-url":"16.0.1","@types/node":"26.2.0","ajv-formats":"3.0.1","body-parser":"2.3.0","cross-spawn":"7.0.6","escape-html":"1.0.3","eventsource":"3.0.7","fast-sha256":"1.3.0","graceful-fs":"4.2.11","has-symbols":"1.1.0","http-errors":"2.0.1","json-bigint":"1.0.0","media-typer":"1.1.0","on-finished":"2.4.1","path-scurry":"2.0.2","safe-buffer":"5.2.1","signal-exit":"3.0.7","symbol-tree":"3.2.4","@smithy/core":"3.33.3","bignumber.js":"9.3.1","content-type":"1.0.5","dunder-proto":"1.0.1","finalhandler":"2.1.1","gcp-metadata":"8.1.2","grok-mermaid":"0.2.3","highlight.js":"11.12.0","partial-json":"0.1.7","range-parser":"1.3.0","safer-buffer":"2.1.2","serve-static":"2.2.1","side-channel":"1.1.1","toidentifier":"1.0.1","tough-cookie":"6.0.2","@aws-sdk/core":"3.977.9","@exodus/bytes":"1.15.1","@google/genai":"2.18.0","@smithy/types":"4.17.2","function-bind":"1.1.2","get-intrinsic":"1.3.0","object-assign":"4.1.1","shebang-regex":"3.0.0","source-map-js":"1.2.1","@aws-sdk/types":"3.974.5","@babel/runtime":"7.29.2","balanced-match":"4.0.4","object-inspect":"1.13.4","path-to-regexp":"8.4.2","pkce-challenge":"5.0.1","proxy-from-env":"2.1.0","setprototypeof":"1.2.0","@xterm/headless":"6.0.0","brace-expansion":"5.0.9","es-object-atoms":"1.1.2","fast-deep-equal":"3.1.3","hosted-git-info":"10.1.1","math-intrinsics":"1.1.0","proper-lockfile":"4.1.2","shebang-command":"2.0.0","whatwg-mimetype":"5.0.0","@protobufjs/path":"1.1.2","@protobufjs/pool":"1.1.0","@protobufjs/utf8":"1.1.1","cookie-signature":"1.2.2","http-proxy-agent":"9.1.0","side-channel-map":"1.0.1","standardwebhooks":"1.0.0","@anthropic-ai/sdk":"0.120.0","@hono/node-server":"2.1.1","@protobufjs/fetch":"1.1.1","@protobufjs/float":"1.0.2","@stablelib/base64":"1.0.1","formdata-polyfill":"4.0.10","https-proxy-agent":"9.1.0","json-schema-to-ts":"3.1.1","json-schema-typed":"8.0.2","merge-descriptors":"2.0.0","node-domexception":"1.0.0","side-channel-list":"1.0.1","w3c-xmlserializer":"5.0.0","@bufbuild/protobuf":"2.14.0","@csstools/css-calc":"3.3.0","@mixmark-io/domino":"2.2.0","@opentelemetry/api":"1.9.1","@protobufjs/base64":"1.1.2","data-uri-to-buffer":"4.0.1","es-define-property":"1.0.1","eventsource-parser":"3.1.0","express-rate-limit":"8.5.2","webidl-conversions":"8.0.1","xml-name-validator":"5.0.0","zod-to-json-schema":"3.25.2","@bramus/specificity":"2.4.2","@protobufjs/codegen":"2.0.5","content-disposition":"1.1.0","ecdsa-sig-formatter":"1.0.11","google-auth-library":"10.6.2","require-from-string":"2.0.2","@aws-sdk/xml-builder":"3.972.40","@mozilla/readability":"0.6.0","@smithy/signature-v4":"5.7.3","get-east-asian-width":"1.6.0","google-logging-utils":"1.1.3","json-schema-traverse":"1.0.0","side-channel-weakmap":"1.0.2","web-streams-polyfill":"3.3.3","@asamuzakjp/css-color":"6.0.7","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.9.3","@protobufjs/aspromise":"1.1.2","html-encoding-sniffer":"6.0.0","proxy-agent-negotiate":"1.1.0","@earendil-works/pi-pty":"npm:@code-yeongyu/senpi-pty@2026.9.3","@earendil-works/pi-tui":"npm:@code-yeongyu/senpi-tui@2026.9.3","@aws-sdk/nested-clients":"3.997.44","@csstools/color-helpers":"6.1.1","@csstools/css-tokenizer":"4.0.0","@mariozechner/clipboard":"*","call-bind-apply-helpers":"1.0.2","@asamuzakjp/dom-selector":"8.3.2","@aws-sdk/token-providers":"3.1116.0","@aws/lambda-invoke-store":"0.3.0","@protobufjs/eventemitter":"1.1.1","@modelcontextprotocol/sdk":"1.30.0","@smithy/node-http-handler":"4.11.3","@csstools/css-color-parser":"4.2.0","@silvia-odwyer/photon-node":"0.3.4","@smithy/fetch-http-handler":"5.7.2","buffer-equal-constant-time":"1.0.1","@code-yeongyu/senpi-codemode":"2026.9.3","@earendil-works/pi-telemetry":"npm:@code-yeongyu/senpi-telemetry@2026.9.3","@aws-sdk/middleware-websocket":"3.972.52","@earendil-works/pi-agent-core":"npm:@code-yeongyu/senpi-agent-core@2026.9.3","@anthropic-ai/claude-agent-sdk":"0.3.241","@aws-sdk/client-bedrock-runtime":"3.1116.0","@aws-sdk/middleware-eventstream":"3.972.29","@csstools/css-parser-algorithms":"4.0.0","@aws-sdk/credential-provider-env":"3.972.70","@aws-sdk/credential-provider-ini":"3.973.15","@aws-sdk/credential-provider-sso":"3.973.14","@smithy/credential-provider-imds":"4.5.2","is-potential-custom-element-name":"1.0.1","@aws-sdk/credential-provider-http":"3.972.72","@aws-sdk/credential-provider-node":"3.972.81","@aws-sdk/eventstream-handler-node":"3.972.34","@aws-sdk/credential-provider-login":"3.972.77","@aws-sdk/signature-v4-multi-region":"3.996.46","@aws-sdk/credential-provider-process":"3.972.70","@csstools/css-syntax-patches-for-csstree":"1.1.8","@aws-sdk/credential-provider-web-identity":"3.972.76"},"_hasShrinkwrap":false,"devDependencies":{"shx":"0.4.0","vitest":"4.1.11","@types/ws":"8.18.1","typescript":"7.0.2","@types/node":"26.2.0","@types/jsdom":"30.0.0","@types/semver":"7.8.0","@types/turndown":"5.0.6","@types/picomatch":"4.0.3","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@anthropic-ai/claude-agent-sdk","@anthropic-ai/sdk","@asamuzakjp/css-color","@asamuzakjp/dom-selector","@aws-sdk/client-bedrock-runtime","@aws-sdk/core","@aws-sdk/credential-provider-env","@aws-sdk/credential-provider-http","@aws-sdk/credential-provider-ini","@aws-sdk/credential-provider-login","@aws-sdk/credential-provider-node","@aws-sdk/credential-provider-process","@aws-sdk/credential-provider-sso","@aws-sdk/credential-provider-web-identity","@aws-sdk/eventstream-handler-node","@aws-sdk/middleware-eventstream","@aws-sdk/middleware-websocket","@aws-sdk/nested-clients","@aws-sdk/signature-v4-multi-region","@aws-sdk/token-providers","@aws-sdk/types","@aws-sdk/xml-builder","@aws/lambda-invoke-store","@babel/runtime","@bramus/specificity","@bufbuild/protobuf","@code-yeongyu/senpi-codemode","@csstools/color-helpers","@csstools/css-calc","@csstools/css-color-parser","@csstools/css-parser-algorithms","@csstools/css-syntax-patches-for-csstree","@csstools/css-tokenizer","@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-pty","@earendil-works/pi-telemetry","@earendil-works/pi-tui","@exodus/bytes","@google/genai","@hono/node-server","@mariozechner/clipboard","@mixmark-io/domino","@modelcontextprotocol/sdk","@mozilla/readability","@opentelemetry/api","@protobufjs/aspromise","@protobufjs/base64","@protobufjs/codegen","@protobufjs/eventemitter","@protobufjs/fetch","@protobufjs/float","@protobufjs/path","@protobufjs/pool","@protobufjs/utf8","@silvia-odwyer/photon-node","@smithy/core","@smithy/credential-provider-imds","@smithy/fetch-http-handler","@smithy/node-http-handler","@smithy/signature-v4","@smithy/types","@stablelib/base64","@types/node","@xterm/headless","accepts","agent-base","ajv","ajv-formats","balanced-match","base64-js","bidi-js","bignumber.js","body-parser","bowser","brace-expansion","buffer-equal-constant-time","bytes","call-bind-apply-helpers","call-bound","chalk","content-disposition","content-type","cookie","cookie-signature","cors","cross-spawn","css-tree","data-uri-to-buffer","data-urls","debug","decimal.js","depd","diff","dunder-proto","ecdsa-sig-formatter","ee-first","encodeurl","entities","es-define-property","es-errors","es-object-atoms","escape-html","etag","eventsource","eventsource-parser","express","express-rate-limit","extend","fast-deep-equal","fast-sha256","fast-uri","fetch-blob","finalhandler","formdata-polyfill","forwarded","fresh","function-bind","gaxios","gcp-metadata","get-east-asian-width","get-intrinsic","get-proto","glob","google-auth-library","google-logging-utils","gopd","graceful-fs","grok-mermaid","has-symbols","hasown","highlight.js","hono","hosted-git-info","html-encoding-sniffer","http-errors","http-proxy-agent","https-proxy-agent","iconv-lite","ignore","inherits","ip-address","ipaddr.js","is-potential-custom-element-name","is-promise","isexe","jiti","jose","jsdom","json-bigint","json-schema-to-ts","json-schema-traverse","json-schema-typed","jwa","jws","long","lru-cache","marked","math-intrinsics","mdn-data","media-typer","merge-descriptors","mime-db","mime-types","minimatch","minipass","ms","negotiator","node-domexception","node-fetch","object-assign","object-inspect","on-finished","once","openai","p-retry","parse5","parseurl","partial-json","path-key","path-scurry","path-to-regexp","picomatch","pkce-challenge","proper-lockfile","protobufjs","proxy-addr","proxy-agent-negotiate","proxy-from-env","punycode","qs","range-parser","raw-body","require-from-string","retry","router","safe-buffer","safer-buffer","saxes","semver","send","serve-static","setprototypeof","shebang-command","shebang-regex","side-channel","side-channel-list","side-channel-map","side-channel-weakmap","signal-exit","source-map-js","standardwebhooks","statuses","symbol-tree","tldts","tldts-core","toidentifier","tough-cookie","tr46","ts-algebra","tslib","turndown","type-is","typebox","undici","unpipe","vary","w3c-xmlserializer","web-streams-polyfill","webidl-conversions","whatwg-mimetype","whatwg-url","which","wrappy","ws","xml-name-validator","xmlchars","yaml","zod","zod-to-json-schema"],"optionalDependencies":{"@mariozechner/clipboard":"0.3.9","@mariozechner/clipboard-darwin-x64":"0.3.9","@mariozechner/clipboard-darwin-arm64":"0.3.9","@mariozechner/clipboard-linux-x64-gnu":"0.3.9","@mariozechner/clipboard-linux-x64-musl":"0.3.9","@mariozechner/clipboard-win32-x64-msvc":"0.3.9","@mariozechner/clipboard-linux-arm64-gnu":"0.3.9","@anthropic-ai/claude-agent-sdk-linux-x64":"0.3.241","@anthropic-ai/claude-agent-sdk-win32-x64":"0.3.241","@mariozechner/clipboard-darwin-universal":"0.3.9","@mariozechner/clipboard-linux-arm64-musl":"0.3.9","@mariozechner/clipboard-win32-arm64-msvc":"0.3.9","@anthropic-ai/claude-agent-sdk-darwin-x64":"0.3.241","@mariozechner/clipboard-linux-riscv64-gnu":"0.3.9","@anthropic-ai/claude-agent-sdk-linux-arm64":"0.3.241","@anthropic-ai/claude-agent-sdk-win32-arm64":"0.3.241","@anthropic-ai/claude-agent-sdk-darwin-arm64":"0.3.241","@anthropic-ai/claude-agent-sdk-linux-x64-musl":"0.3.241","@anthropic-ai/claude-agent-sdk-linux-arm64-musl":"0.3.241"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.9.3_1788396463919_0.5873469755995986","host":"s3://npm-registry-packages-npm-production"}},"2026.9.3-2":{"name":"@code-yeongyu/senpi","version":"2026.9.3-2","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.9.3-2","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"pi":"dist/bundle/cli.js","senpi":"dist/cli.js"},"dist":{"shasum":"dd82a6cef73efd1a6b54dfbb5583173c363605f4","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.9.3-2.tgz","fileCount":24754,"integrity":"sha512-MYGs1mk5ZnPjO9898ZEvZvC7QJu+NmSTiCAOKXtHY7qpclrr0mY6+ztsn51macDcso6u9NsCookzX2k4ir+ygg==","signatures":[{"sig":"MEUCIBqSCmCl0Ea0a31mjC+VQff4Sj/ddCkKNQICkgGibIb0AiEAlL0/xynYKNOFqtfbBxpP6ykOAuIZ5A9A8aDtQGe4qRM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.9.3-2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":172794153},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.js"},"./rpc-entry":{"import":"./dist/rpc-entry.js"}},"scripts":{"dev":"tsc -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsc -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js dist/rpc-entry.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/","build:binary":"npm --prefix ../tui run build && npm --prefix ../telemetry run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm --prefix ../protocol run build && npm --prefix ../client run build && npm --prefix ../pty run build && npm run build && node ../../scripts/prepare-bun-compile-assets.mjs && bun build --compile --compile-autoload-package-json --no-compile-autoload-dotenv --no-compile-autoload-bunfig --minify --keep-names ./dist/bun/cli.js ./src/utils/image-resize-worker.ts ../../node_modules/jsdom/lib/jsdom/living/xhr/xhr-sync-worker.js --outfile dist/pi && npm run copy-binary-assets","qa:app-server":"node scripts/qa-app-server/run-all.mjs","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","build:unbundled":"tsgo -p tsconfig.build.json && shx chmod +x dist/cli.js dist/rpc-entry.js && npm run copy-assets","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/export-html/ && shx cp -r docs dist/ && shx cp -r examples dist/ && shx mkdir -p dist/node_modules && shx cp -r ../../node_modules/css-tree ../../node_modules/mdn-data ../../node_modules/source-map-js dist/node_modules/ && node ../../scripts/copy-codemode-sidecar.mjs dist && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/ && shx mkdir -p dist/native/darwin dist/native/win32 && shx cp -r ../../packages/tui/native/darwin/prebuilds dist/native/darwin/ && shx cp -r ../../packages/tui/native/win32/prebuilds dist/native/win32/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/ && node ../../scripts/copy-pty-native.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ea548fc8-dac4-4dec-a439-6f4fa3870309"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.3"},"rimraf":"6.1.3","protobufjs":"7.6.5","@hono/node-server":"2.1.1"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.17.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.19.0","dependencies":{"ms":"2.1.3","qs":"6.15.3","ws":"8.21.3","ajv":"8.20.0","jwa":"2.0.1","jws":"4.0.1","zod":"4.4.3","cors":"2.8.6","depd":"2.0.0","diff":"9.0.0","etag":"1.8.1","glob":"13.0.6","gopd":"1.2.0","hono":"4.12.27","jiti":"2.7.0","jose":"6.2.3","long":"5.3.2","once":"1.4.0","send":"1.2.1","tr46":"6.0.0","vary":"1.1.2","yaml":"2.9.0","bytes":"3.1.2","chalk":"6.0.0","debug":"4.4.3","fresh":"2.0.0","isexe":"2.0.0","jsdom":"30.0.1","retry":"0.13.1","saxes":"6.0.0","tldts":"7.4.10","tslib":"2.8.1","which":"2.0.2","bowser":"2.14.1","cookie":"0.7.2","extend":"3.0.2","gaxios":"7.1.4","hasown":"2.0.3","ignore":"7.0.6","marked":"18.0.10","openai":"6.26.0","parse5":"8.0.1","router":"2.2.0","semver":"7.8.5","undici":"8.10.0","unpipe":"1.0.0","wrappy":"1.0.2","accepts":"2.0.0","bidi-js":"1.0.3","express":"5.2.1","mime-db":"1.54.0","p-retry":"4.6.2","type-is":"2.1.0","typebox":"1.3.18","css-tree":"3.2.1","ee-first":"1.1.1","entities":"8.0.0","fast-uri":"3.1.4","inherits":"2.0.4","mdn-data":"2.27.1","minipass":"7.1.3","parseurl":"1.3.3","path-key":"3.1.1","punycode":"2.3.1","raw-body":"3.0.2","statuses":"2.0.2","turndown":"7.2.4","xmlchars":"2.2.0","base64-js":"1.5.1","data-urls":"7.0.0","encodeurl":"2.0.0","es-errors":"1.3.0","forwarded":"0.2.0","get-proto":"1.0.1","ipaddr.js":"1.9.1","lru-cache":"11.5.2","minimatch":"10.2.6","picomatch":"4.0.5","agent-base":"7.1.4","call-bound":"1.0.4","decimal.js":"10.6.0","fetch-blob":"3.2.0","iconv-lite":"0.7.3","ip-address":"10.2.0","is-promise":"4.0.0","mime-types":"3.0.2","negotiator":"1.0.0","node-fetch":"3.3.2","protobufjs":"7.6.5","proxy-addr":"2.0.7","tldts-core":"7.4.10","ts-algebra":"2.0.0","whatwg-url":"16.0.1","@types/node":"26.2.0","ajv-formats":"3.0.1","body-parser":"2.3.0","cross-spawn":"7.0.6","escape-html":"1.0.3","eventsource":"3.0.7","fast-sha256":"1.3.0","graceful-fs":"4.2.11","has-symbols":"1.1.0","http-errors":"2.0.1","json-bigint":"1.0.0","media-typer":"1.1.0","on-finished":"2.4.1","path-scurry":"2.0.2","safe-buffer":"5.2.1","signal-exit":"3.0.7","symbol-tree":"3.2.4","@smithy/core":"3.33.3","bignumber.js":"9.3.1","content-type":"1.0.5","dunder-proto":"1.0.1","finalhandler":"2.1.1","gcp-metadata":"8.1.2","grok-mermaid":"0.2.3","highlight.js":"11.12.0","partial-json":"0.1.7","range-parser":"1.3.0","safer-buffer":"2.1.2","serve-static":"2.2.1","side-channel":"1.1.1","toidentifier":"1.0.1","tough-cookie":"6.0.2","@aws-sdk/core":"3.977.9","@exodus/bytes":"1.15.1","@google/genai":"2.18.0","@smithy/types":"4.17.2","function-bind":"1.1.2","get-intrinsic":"1.3.0","object-assign":"4.1.1","shebang-regex":"3.0.0","source-map-js":"1.2.1","@aws-sdk/types":"3.974.5","@babel/runtime":"7.29.2","balanced-match":"4.0.4","object-inspect":"1.13.4","path-to-regexp":"8.4.2","pkce-challenge":"5.0.1","proxy-from-env":"2.1.0","setprototypeof":"1.2.0","@xterm/headless":"6.0.0","brace-expansion":"5.0.9","es-object-atoms":"1.1.2","fast-deep-equal":"3.1.3","hosted-git-info":"10.1.1","math-intrinsics":"1.1.0","proper-lockfile":"4.1.2","shebang-command":"2.0.0","whatwg-mimetype":"5.0.0","@protobufjs/path":"1.1.2","@protobufjs/pool":"1.1.0","@protobufjs/utf8":"1.1.1","cookie-signature":"1.2.2","http-proxy-agent":"9.1.0","side-channel-map":"1.0.1","standardwebhooks":"1.0.0","@anthropic-ai/sdk":"0.120.0","@hono/node-server":"2.1.1","@protobufjs/fetch":"1.1.1","@protobufjs/float":"1.0.2","@stablelib/base64":"1.0.1","formdata-polyfill":"4.0.10","https-proxy-agent":"9.1.0","json-schema-to-ts":"3.1.1","json-schema-typed":"8.0.2","merge-descriptors":"2.0.0","node-domexception":"1.0.0","side-channel-list":"1.0.1","w3c-xmlserializer":"5.0.0","@bufbuild/protobuf":"2.14.0","@csstools/css-calc":"3.3.0","@mixmark-io/domino":"2.2.0","@opentelemetry/api":"1.9.1","@protobufjs/base64":"1.1.2","data-uri-to-buffer":"4.0.1","es-define-property":"1.0.1","eventsource-parser":"3.1.0","express-rate-limit":"8.5.2","webidl-conversions":"8.0.1","xml-name-validator":"5.0.0","zod-to-json-schema":"3.25.2","@bramus/specificity":"2.4.2","@protobufjs/codegen":"2.0.5","content-disposition":"1.1.0","ecdsa-sig-formatter":"1.0.11","google-auth-library":"10.6.2","require-from-string":"2.0.2","@aws-sdk/xml-builder":"3.972.40","@mozilla/readability":"0.6.0","@smithy/signature-v4":"5.7.3","get-east-asian-width":"1.6.0","google-logging-utils":"1.1.3","json-schema-traverse":"1.0.0","side-channel-weakmap":"1.0.2","web-streams-polyfill":"3.3.3","@asamuzakjp/css-color":"6.0.7","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.9.3-2","@protobufjs/aspromise":"1.1.2","html-encoding-sniffer":"6.0.0","proxy-agent-negotiate":"1.1.0","@earendil-works/pi-pty":"npm:@code-yeongyu/senpi-pty@2026.9.3-2","@earendil-works/pi-tui":"npm:@code-yeongyu/senpi-tui@2026.9.3-2","@aws-sdk/nested-clients":"3.997.44","@csstools/color-helpers":"6.1.1","@csstools/css-tokenizer":"4.0.0","@mariozechner/clipboard":"*","call-bind-apply-helpers":"1.0.2","@asamuzakjp/dom-selector":"8.3.2","@aws-sdk/token-providers":"3.1116.0","@aws/lambda-invoke-store":"0.3.0","@protobufjs/eventemitter":"1.1.1","@modelcontextprotocol/sdk":"1.30.0","@smithy/node-http-handler":"4.11.3","@csstools/css-color-parser":"4.2.0","@silvia-odwyer/photon-node":"0.3.4","@smithy/fetch-http-handler":"5.7.2","buffer-equal-constant-time":"1.0.1","@code-yeongyu/senpi-codemode":"2026.9.3-2","@earendil-works/pi-telemetry":"npm:@code-yeongyu/senpi-telemetry@2026.9.3-2","@aws-sdk/middleware-websocket":"3.972.52","@earendil-works/pi-agent-core":"npm:@code-yeongyu/senpi-agent-core@2026.9.3-2","@anthropic-ai/claude-agent-sdk":"0.3.259","@aws-sdk/client-bedrock-runtime":"3.1116.0","@aws-sdk/middleware-eventstream":"3.972.29","@csstools/css-parser-algorithms":"4.0.0","@aws-sdk/credential-provider-env":"3.972.70","@aws-sdk/credential-provider-ini":"3.973.15","@aws-sdk/credential-provider-sso":"3.973.14","@smithy/credential-provider-imds":"4.5.2","is-potential-custom-element-name":"1.0.1","@aws-sdk/credential-provider-http":"3.972.72","@aws-sdk/credential-provider-node":"3.972.81","@aws-sdk/eventstream-handler-node":"3.972.34","@aws-sdk/credential-provider-login":"3.972.77","@aws-sdk/signature-v4-multi-region":"3.996.46","@aws-sdk/credential-provider-process":"3.972.70","@csstools/css-syntax-patches-for-csstree":"1.1.8","@aws-sdk/credential-provider-web-identity":"3.972.76"},"_hasShrinkwrap":false,"devDependencies":{"shx":"0.4.0","vitest":"4.1.11","@types/ws":"8.18.1","typescript":"7.0.2","@types/node":"26.2.0","@types/jsdom":"30.0.0","@types/semver":"7.8.0","@types/turndown":"5.0.6","@types/picomatch":"4.0.3","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@anthropic-ai/claude-agent-sdk","@anthropic-ai/sdk","@asamuzakjp/css-color","@asamuzakjp/dom-selector","@aws-sdk/client-bedrock-runtime","@aws-sdk/core","@aws-sdk/credential-provider-env","@aws-sdk/credential-provider-http","@aws-sdk/credential-provider-ini","@aws-sdk/credential-provider-login","@aws-sdk/credential-provider-node","@aws-sdk/credential-provider-process","@aws-sdk/credential-provider-sso","@aws-sdk/credential-provider-web-identity","@aws-sdk/eventstream-handler-node","@aws-sdk/middleware-eventstream","@aws-sdk/middleware-websocket","@aws-sdk/nested-clients","@aws-sdk/signature-v4-multi-region","@aws-sdk/token-providers","@aws-sdk/types","@aws-sdk/xml-builder","@aws/lambda-invoke-store","@babel/runtime","@bramus/specificity","@bufbuild/protobuf","@code-yeongyu/senpi-codemode","@csstools/color-helpers","@csstools/css-calc","@csstools/css-color-parser","@csstools/css-parser-algorithms","@csstools/css-syntax-patches-for-csstree","@csstools/css-tokenizer","@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-pty","@earendil-works/pi-telemetry","@earendil-works/pi-tui","@exodus/bytes","@google/genai","@hono/node-server","@mariozechner/clipboard","@mixmark-io/domino","@modelcontextprotocol/sdk","@mozilla/readability","@opentelemetry/api","@protobufjs/aspromise","@protobufjs/base64","@protobufjs/codegen","@protobufjs/eventemitter","@protobufjs/fetch","@protobufjs/float","@protobufjs/path","@protobufjs/pool","@protobufjs/utf8","@silvia-odwyer/photon-node","@smithy/core","@smithy/credential-provider-imds","@smithy/fetch-http-handler","@smithy/node-http-handler","@smithy/signature-v4","@smithy/types","@stablelib/base64","@types/node","@xterm/headless","accepts","agent-base","ajv","ajv-formats","balanced-match","base64-js","bidi-js","bignumber.js","body-parser","bowser","brace-expansion","buffer-equal-constant-time","bytes","call-bind-apply-helpers","call-bound","chalk","content-disposition","content-type","cookie","cookie-signature","cors","cross-spawn","css-tree","data-uri-to-buffer","data-urls","debug","decimal.js","depd","diff","dunder-proto","ecdsa-sig-formatter","ee-first","encodeurl","entities","es-define-property","es-errors","es-object-atoms","escape-html","etag","eventsource","eventsource-parser","express","express-rate-limit","extend","fast-deep-equal","fast-sha256","fast-uri","fetch-blob","finalhandler","formdata-polyfill","forwarded","fresh","function-bind","gaxios","gcp-metadata","get-east-asian-width","get-intrinsic","get-proto","glob","google-auth-library","google-logging-utils","gopd","graceful-fs","grok-mermaid","has-symbols","hasown","highlight.js","hono","hosted-git-info","html-encoding-sniffer","http-errors","http-proxy-agent","https-proxy-agent","iconv-lite","ignore","inherits","ip-address","ipaddr.js","is-potential-custom-element-name","is-promise","isexe","jiti","jose","jsdom","json-bigint","json-schema-to-ts","json-schema-traverse","json-schema-typed","jwa","jws","long","lru-cache","marked","math-intrinsics","mdn-data","media-typer","merge-descriptors","mime-db","mime-types","minimatch","minipass","ms","negotiator","node-domexception","node-fetch","object-assign","object-inspect","on-finished","once","openai","p-retry","parse5","parseurl","partial-json","path-key","path-scurry","path-to-regexp","picomatch","pkce-challenge","proper-lockfile","protobufjs","proxy-addr","proxy-agent-negotiate","proxy-from-env","punycode","qs","range-parser","raw-body","require-from-string","retry","router","safe-buffer","safer-buffer","saxes","semver","send","serve-static","setprototypeof","shebang-command","shebang-regex","side-channel","side-channel-list","side-channel-map","side-channel-weakmap","signal-exit","source-map-js","standardwebhooks","statuses","symbol-tree","tldts","tldts-core","toidentifier","tough-cookie","tr46","ts-algebra","tslib","turndown","type-is","typebox","undici","unpipe","vary","w3c-xmlserializer","web-streams-polyfill","webidl-conversions","whatwg-mimetype","whatwg-url","which","wrappy","ws","xml-name-validator","xmlchars","yaml","zod","zod-to-json-schema"],"optionalDependencies":{"@mariozechner/clipboard":"0.3.9","@mariozechner/clipboard-darwin-x64":"0.3.9","@mariozechner/clipboard-darwin-arm64":"0.3.9","@mariozechner/clipboard-linux-x64-gnu":"0.3.9","@mariozechner/clipboard-linux-x64-musl":"0.3.9","@mariozechner/clipboard-win32-x64-msvc":"0.3.9","@mariozechner/clipboard-linux-arm64-gnu":"0.3.9","@anthropic-ai/claude-agent-sdk-linux-x64":"0.3.259","@anthropic-ai/claude-agent-sdk-win32-x64":"0.3.259","@mariozechner/clipboard-darwin-universal":"0.3.9","@mariozechner/clipboard-linux-arm64-musl":"0.3.9","@mariozechner/clipboard-win32-arm64-msvc":"0.3.9","@anthropic-ai/claude-agent-sdk-darwin-x64":"0.3.259","@mariozechner/clipboard-linux-riscv64-gnu":"0.3.9","@anthropic-ai/claude-agent-sdk-linux-arm64":"0.3.259","@anthropic-ai/claude-agent-sdk-win32-arm64":"0.3.259","@anthropic-ai/claude-agent-sdk-darwin-arm64":"0.3.259","@anthropic-ai/claude-agent-sdk-linux-x64-musl":"0.3.259","@anthropic-ai/claude-agent-sdk-linux-arm64-musl":"0.3.259"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.9.3-2_1788415066204_0.2077655888473855","host":"s3://npm-registry-packages-npm-production"}},"2026.9.3-3":{"name":"@code-yeongyu/senpi","version":"2026.9.3-3","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.9.3-3","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"pi":"dist/bundle/cli.js","senpi":"dist/cli.js"},"dist":{"shasum":"68241203beb94079ec7995975aad0097ea07c568","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.9.3-3.tgz","fileCount":24762,"integrity":"sha512-jsX3flqrK4fSRLbecCfYc/j27988Mavth9gNqorWy132JV/K78+UcVY43amN0Gakpl18EpA5qSDHYvERkOM3vA==","signatures":[{"sig":"MEUCIDDCLLBc3W5AZpG2OMxojJMC2qPohKzBKEnr4MEGUlvBAiEAsJAKLoCoRvOpL0/r5LMdNHAwm453WB8qLvx37Jh6i4Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.9.3-3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":172875172},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.js"},"./rpc-entry":{"import":"./dist/rpc-entry.js"}},"scripts":{"dev":"tsc -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsc -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js dist/rpc-entry.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/","build:binary":"npm --prefix ../tui run build && npm --prefix ../telemetry run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm --prefix ../protocol run build && npm --prefix ../client run build && npm --prefix ../pty run build && npm run build && node ../../scripts/prepare-bun-compile-assets.mjs && bun build --compile --compile-autoload-package-json --no-compile-autoload-dotenv --no-compile-autoload-bunfig --minify --keep-names ./dist/bun/cli.js ./src/utils/image-resize-worker.ts ../../node_modules/jsdom/lib/jsdom/living/xhr/xhr-sync-worker.js --outfile dist/pi && npm run copy-binary-assets","qa:app-server":"node scripts/qa-app-server/run-all.mjs","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","build:unbundled":"tsgo -p tsconfig.build.json && shx chmod +x dist/cli.js dist/rpc-entry.js && npm run copy-assets","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/export-html/ && shx cp -r docs dist/ && shx cp -r examples dist/ && shx mkdir -p dist/node_modules && shx cp -r ../../node_modules/css-tree ../../node_modules/mdn-data ../../node_modules/source-map-js dist/node_modules/ && node ../../scripts/copy-codemode-sidecar.mjs dist && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/ && shx mkdir -p dist/native/darwin dist/native/win32 && shx cp -r ../../packages/tui/native/darwin/prebuilds dist/native/darwin/ && shx cp -r ../../packages/tui/native/win32/prebuilds dist/native/win32/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/ && node ../../scripts/copy-pty-native.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ea548fc8-dac4-4dec-a439-6f4fa3870309"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.3"},"rimraf":"6.1.3","protobufjs":"7.6.5","@hono/node-server":"2.1.1"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.17.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.19.0","dependencies":{"ms":"2.1.3","qs":"6.15.3","ws":"8.21.3","ajv":"8.20.0","jwa":"2.0.1","jws":"4.0.1","zod":"4.4.3","cors":"2.8.6","depd":"2.0.0","diff":"9.0.0","etag":"1.8.1","glob":"13.0.6","gopd":"1.2.0","hono":"4.12.27","jiti":"2.7.0","jose":"6.2.3","long":"5.3.2","once":"1.4.0","send":"1.2.1","tr46":"6.0.0","vary":"1.1.2","yaml":"2.9.0","bytes":"3.1.2","chalk":"6.0.0","debug":"4.4.3","fresh":"2.0.0","isexe":"2.0.0","jsdom":"30.0.1","retry":"0.13.1","saxes":"6.0.0","tldts":"7.4.10","tslib":"2.8.1","which":"2.0.2","bowser":"2.14.1","cookie":"0.7.2","extend":"3.0.2","gaxios":"7.1.4","hasown":"2.0.3","ignore":"7.0.6","marked":"18.0.10","openai":"6.26.0","parse5":"8.0.1","router":"2.2.0","semver":"7.8.5","undici":"8.10.0","unpipe":"1.0.0","wrappy":"1.0.2","accepts":"2.0.0","bidi-js":"1.0.3","express":"5.2.1","mime-db":"1.54.0","p-retry":"4.6.2","type-is":"2.1.0","typebox":"1.3.18","css-tree":"3.2.1","ee-first":"1.1.1","entities":"8.0.0","fast-uri":"3.1.4","inherits":"2.0.4","mdn-data":"2.27.1","minipass":"7.1.3","parseurl":"1.3.3","path-key":"3.1.1","punycode":"2.3.1","raw-body":"3.0.2","statuses":"2.0.2","turndown":"7.2.4","xmlchars":"2.2.0","base64-js":"1.5.1","data-urls":"7.0.0","encodeurl":"2.0.0","es-errors":"1.3.0","forwarded":"0.2.0","get-proto":"1.0.1","ipaddr.js":"1.9.1","lru-cache":"11.5.2","minimatch":"10.2.6","picomatch":"4.0.5","agent-base":"7.1.4","call-bound":"1.0.4","decimal.js":"10.6.0","fetch-blob":"3.2.0","iconv-lite":"0.7.3","ip-address":"10.2.0","is-promise":"4.0.0","mime-types":"3.0.2","negotiator":"1.0.0","node-fetch":"3.3.2","protobufjs":"7.6.5","proxy-addr":"2.0.7","tldts-core":"7.4.10","ts-algebra":"2.0.0","whatwg-url":"16.0.1","@types/node":"26.2.0","ajv-formats":"3.0.1","body-parser":"2.3.0","cross-spawn":"7.0.6","escape-html":"1.0.3","eventsource":"3.0.7","fast-sha256":"1.3.0","graceful-fs":"4.2.11","has-symbols":"1.1.0","http-errors":"2.0.1","json-bigint":"1.0.0","media-typer":"1.1.0","on-finished":"2.4.1","path-scurry":"2.0.2","safe-buffer":"5.2.1","signal-exit":"3.0.7","symbol-tree":"3.2.4","@smithy/core":"3.33.3","bignumber.js":"9.3.1","content-type":"1.0.5","dunder-proto":"1.0.1","finalhandler":"2.1.1","gcp-metadata":"8.1.2","grok-mermaid":"0.2.3","highlight.js":"11.12.0","partial-json":"0.1.7","range-parser":"1.3.0","safer-buffer":"2.1.2","serve-static":"2.2.1","side-channel":"1.1.1","toidentifier":"1.0.1","tough-cookie":"6.0.2","@aws-sdk/core":"3.977.9","@exodus/bytes":"1.15.1","@google/genai":"2.18.0","@smithy/types":"4.17.2","function-bind":"1.1.2","get-intrinsic":"1.3.0","object-assign":"4.1.1","shebang-regex":"3.0.0","source-map-js":"1.2.1","@aws-sdk/types":"3.974.5","@babel/runtime":"7.29.2","balanced-match":"4.0.4","object-inspect":"1.13.4","path-to-regexp":"8.4.2","pkce-challenge":"5.0.1","proxy-from-env":"2.1.0","setprototypeof":"1.2.0","@xterm/headless":"6.0.0","brace-expansion":"5.0.9","es-object-atoms":"1.1.2","fast-deep-equal":"3.1.3","hosted-git-info":"10.1.1","math-intrinsics":"1.1.0","proper-lockfile":"4.1.2","shebang-command":"2.0.0","whatwg-mimetype":"5.0.0","@protobufjs/path":"1.1.2","@protobufjs/pool":"1.1.0","@protobufjs/utf8":"1.1.1","cookie-signature":"1.2.2","http-proxy-agent":"9.1.0","side-channel-map":"1.0.1","standardwebhooks":"1.0.0","@anthropic-ai/sdk":"0.120.0","@hono/node-server":"2.1.1","@protobufjs/fetch":"1.1.1","@protobufjs/float":"1.0.2","@stablelib/base64":"1.0.1","formdata-polyfill":"4.0.10","https-proxy-agent":"9.1.0","json-schema-to-ts":"3.1.1","json-schema-typed":"8.0.2","merge-descriptors":"2.0.0","node-domexception":"1.0.0","side-channel-list":"1.0.1","w3c-xmlserializer":"5.0.0","@bufbuild/protobuf":"2.14.0","@csstools/css-calc":"3.3.0","@mixmark-io/domino":"2.2.0","@opentelemetry/api":"1.9.1","@protobufjs/base64":"1.1.2","data-uri-to-buffer":"4.0.1","es-define-property":"1.0.1","eventsource-parser":"3.1.0","express-rate-limit":"8.5.2","webidl-conversions":"8.0.1","xml-name-validator":"5.0.0","zod-to-json-schema":"3.25.2","@bramus/specificity":"2.4.2","@protobufjs/codegen":"2.0.5","content-disposition":"1.1.0","ecdsa-sig-formatter":"1.0.11","google-auth-library":"10.6.2","require-from-string":"2.0.2","@aws-sdk/xml-builder":"3.972.40","@mozilla/readability":"0.6.0","@smithy/signature-v4":"5.7.3","get-east-asian-width":"1.6.0","google-logging-utils":"1.1.3","json-schema-traverse":"1.0.0","side-channel-weakmap":"1.0.2","web-streams-polyfill":"3.3.3","@asamuzakjp/css-color":"6.0.7","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.9.3-3","@protobufjs/aspromise":"1.1.2","html-encoding-sniffer":"6.0.0","proxy-agent-negotiate":"1.1.0","@earendil-works/pi-pty":"npm:@code-yeongyu/senpi-pty@2026.9.3-3","@earendil-works/pi-tui":"npm:@code-yeongyu/senpi-tui@2026.9.3-3","@aws-sdk/nested-clients":"3.997.44","@csstools/color-helpers":"6.1.1","@csstools/css-tokenizer":"4.0.0","@mariozechner/clipboard":"*","call-bind-apply-helpers":"1.0.2","@asamuzakjp/dom-selector":"8.3.2","@aws-sdk/token-providers":"3.1116.0","@aws/lambda-invoke-store":"0.3.0","@protobufjs/eventemitter":"1.1.1","@modelcontextprotocol/sdk":"1.30.0","@smithy/node-http-handler":"4.11.3","@csstools/css-color-parser":"4.2.0","@silvia-odwyer/photon-node":"0.3.4","@smithy/fetch-http-handler":"5.7.2","buffer-equal-constant-time":"1.0.1","@code-yeongyu/senpi-codemode":"2026.9.3-3","@earendil-works/pi-telemetry":"npm:@code-yeongyu/senpi-telemetry@2026.9.3-3","@aws-sdk/middleware-websocket":"3.972.52","@earendil-works/pi-agent-core":"npm:@code-yeongyu/senpi-agent-core@2026.9.3-3","@anthropic-ai/claude-agent-sdk":"0.3.259","@aws-sdk/client-bedrock-runtime":"3.1116.0","@aws-sdk/middleware-eventstream":"3.972.29","@csstools/css-parser-algorithms":"4.0.0","@aws-sdk/credential-provider-env":"3.972.70","@aws-sdk/credential-provider-ini":"3.973.15","@aws-sdk/credential-provider-sso":"3.973.14","@smithy/credential-provider-imds":"4.5.2","is-potential-custom-element-name":"1.0.1","@aws-sdk/credential-provider-http":"3.972.72","@aws-sdk/credential-provider-node":"3.972.81","@aws-sdk/eventstream-handler-node":"3.972.34","@aws-sdk/credential-provider-login":"3.972.77","@aws-sdk/signature-v4-multi-region":"3.996.46","@aws-sdk/credential-provider-process":"3.972.70","@csstools/css-syntax-patches-for-csstree":"1.1.8","@aws-sdk/credential-provider-web-identity":"3.972.76"},"_hasShrinkwrap":false,"devDependencies":{"shx":"0.4.0","vitest":"4.1.11","@types/ws":"8.18.1","typescript":"7.0.2","@types/node":"26.2.0","@types/jsdom":"30.0.0","@types/semver":"7.8.0","@types/turndown":"5.0.6","@types/picomatch":"4.0.3","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@anthropic-ai/claude-agent-sdk","@anthropic-ai/sdk","@asamuzakjp/css-color","@asamuzakjp/dom-selector","@aws-sdk/client-bedrock-runtime","@aws-sdk/core","@aws-sdk/credential-provider-env","@aws-sdk/credential-provider-http","@aws-sdk/credential-provider-ini","@aws-sdk/credential-provider-login","@aws-sdk/credential-provider-node","@aws-sdk/credential-provider-process","@aws-sdk/credential-provider-sso","@aws-sdk/credential-provider-web-identity","@aws-sdk/eventstream-handler-node","@aws-sdk/middleware-eventstream","@aws-sdk/middleware-websocket","@aws-sdk/nested-clients","@aws-sdk/signature-v4-multi-region","@aws-sdk/token-providers","@aws-sdk/types","@aws-sdk/xml-builder","@aws/lambda-invoke-store","@babel/runtime","@bramus/specificity","@bufbuild/protobuf","@code-yeongyu/senpi-codemode","@csstools/color-helpers","@csstools/css-calc","@csstools/css-color-parser","@csstools/css-parser-algorithms","@csstools/css-syntax-patches-for-csstree","@csstools/css-tokenizer","@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-pty","@earendil-works/pi-telemetry","@earendil-works/pi-tui","@exodus/bytes","@google/genai","@hono/node-server","@mariozechner/clipboard","@mixmark-io/domino","@modelcontextprotocol/sdk","@mozilla/readability","@opentelemetry/api","@protobufjs/aspromise","@protobufjs/base64","@protobufjs/codegen","@protobufjs/eventemitter","@protobufjs/fetch","@protobufjs/float","@protobufjs/path","@protobufjs/pool","@protobufjs/utf8","@silvia-odwyer/photon-node","@smithy/core","@smithy/credential-provider-imds","@smithy/fetch-http-handler","@smithy/node-http-handler","@smithy/signature-v4","@smithy/types","@stablelib/base64","@types/node","@xterm/headless","accepts","agent-base","ajv","ajv-formats","balanced-match","base64-js","bidi-js","bignumber.js","body-parser","bowser","brace-expansion","buffer-equal-constant-time","bytes","call-bind-apply-helpers","call-bound","chalk","content-disposition","content-type","cookie","cookie-signature","cors","cross-spawn","css-tree","data-uri-to-buffer","data-urls","debug","decimal.js","depd","diff","dunder-proto","ecdsa-sig-formatter","ee-first","encodeurl","entities","es-define-property","es-errors","es-object-atoms","escape-html","etag","eventsource","eventsource-parser","express","express-rate-limit","extend","fast-deep-equal","fast-sha256","fast-uri","fetch-blob","finalhandler","formdata-polyfill","forwarded","fresh","function-bind","gaxios","gcp-metadata","get-east-asian-width","get-intrinsic","get-proto","glob","google-auth-library","google-logging-utils","gopd","graceful-fs","grok-mermaid","has-symbols","hasown","highlight.js","hono","hosted-git-info","html-encoding-sniffer","http-errors","http-proxy-agent","https-proxy-agent","iconv-lite","ignore","inherits","ip-address","ipaddr.js","is-potential-custom-element-name","is-promise","isexe","jiti","jose","jsdom","json-bigint","json-schema-to-ts","json-schema-traverse","json-schema-typed","jwa","jws","long","lru-cache","marked","math-intrinsics","mdn-data","media-typer","merge-descriptors","mime-db","mime-types","minimatch","minipass","ms","negotiator","node-domexception","node-fetch","object-assign","object-inspect","on-finished","once","openai","p-retry","parse5","parseurl","partial-json","path-key","path-scurry","path-to-regexp","picomatch","pkce-challenge","proper-lockfile","protobufjs","proxy-addr","proxy-agent-negotiate","proxy-from-env","punycode","qs","range-parser","raw-body","require-from-string","retry","router","safe-buffer","safer-buffer","saxes","semver","send","serve-static","setprototypeof","shebang-command","shebang-regex","side-channel","side-channel-list","side-channel-map","side-channel-weakmap","signal-exit","source-map-js","standardwebhooks","statuses","symbol-tree","tldts","tldts-core","toidentifier","tough-cookie","tr46","ts-algebra","tslib","turndown","type-is","typebox","undici","unpipe","vary","w3c-xmlserializer","web-streams-polyfill","webidl-conversions","whatwg-mimetype","whatwg-url","which","wrappy","ws","xml-name-validator","xmlchars","yaml","zod","zod-to-json-schema"],"optionalDependencies":{"@mariozechner/clipboard":"0.3.9","@mariozechner/clipboard-darwin-x64":"0.3.9","@mariozechner/clipboard-darwin-arm64":"0.3.9","@mariozechner/clipboard-linux-x64-gnu":"0.3.9","@mariozechner/clipboard-linux-x64-musl":"0.3.9","@mariozechner/clipboard-win32-x64-msvc":"0.3.9","@mariozechner/clipboard-linux-arm64-gnu":"0.3.9","@anthropic-ai/claude-agent-sdk-linux-x64":"0.3.259","@anthropic-ai/claude-agent-sdk-win32-x64":"0.3.259","@mariozechner/clipboard-darwin-universal":"0.3.9","@mariozechner/clipboard-linux-arm64-musl":"0.3.9","@mariozechner/clipboard-win32-arm64-msvc":"0.3.9","@anthropic-ai/claude-agent-sdk-darwin-x64":"0.3.259","@mariozechner/clipboard-linux-riscv64-gnu":"0.3.9","@anthropic-ai/claude-agent-sdk-linux-arm64":"0.3.259","@anthropic-ai/claude-agent-sdk-win32-arm64":"0.3.259","@anthropic-ai/claude-agent-sdk-darwin-arm64":"0.3.259","@anthropic-ai/claude-agent-sdk-linux-x64-musl":"0.3.259","@anthropic-ai/claude-agent-sdk-linux-arm64-musl":"0.3.259"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.9.3-3_1788434398030_0.3435701648411742","host":"s3://npm-registry-packages-npm-production"}},"2026.9.4":{"name":"@code-yeongyu/senpi","version":"2026.9.4","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.9.4","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"pi":"dist/bundle/cli.js","senpi":"dist/cli.js"},"dist":{"shasum":"664ba508cdd805c19bb88b05b3ae4435b424642b","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.9.4.tgz","fileCount":24774,"integrity":"sha512-CHCsMXPuuFSBikP8qVuCZ0O1YckGL4dMb6pko6TqAqDh34COJXSyqcB1WB26f4C/vHXOglq2nXPerEdG7XD5eg==","signatures":[{"sig":"MEUCIQCIm7WH3hvDNX4/A2yA5G/W+45auW5Dh8MAHldCHZhr2AIgRJq7VRbwgjkcnYj+mFKGuWq0/X/FD7zLXnxzfuks3MU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.9.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":172973987},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.js"},"./rpc-entry":{"import":"./dist/rpc-entry.js"}},"scripts":{"dev":"tsc -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsc -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js dist/rpc-entry.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/","build:binary":"npm --prefix ../tui run build && npm --prefix ../telemetry run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm --prefix ../protocol run build && npm --prefix ../client run build && npm --prefix ../pty run build && npm run build && node ../../scripts/prepare-bun-compile-assets.mjs && bun build --compile --compile-autoload-package-json --no-compile-autoload-dotenv --no-compile-autoload-bunfig --minify --keep-names ./dist/bun/cli.js ./src/utils/image-resize-worker.ts ../../node_modules/jsdom/lib/jsdom/living/xhr/xhr-sync-worker.js --outfile dist/pi && npm run copy-binary-assets","qa:app-server":"node scripts/qa-app-server/run-all.mjs","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","build:unbundled":"tsgo -p tsconfig.build.json && shx chmod +x dist/cli.js dist/rpc-entry.js && npm run copy-assets","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/export-html/ && shx cp -r docs dist/ && shx cp -r examples dist/ && shx mkdir -p dist/node_modules && shx cp -r ../../node_modules/css-tree ../../node_modules/mdn-data ../../node_modules/source-map-js dist/node_modules/ && node ../../scripts/copy-codemode-sidecar.mjs dist && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/ && shx mkdir -p dist/native/darwin dist/native/win32 && shx cp -r ../../packages/tui/native/darwin/prebuilds dist/native/darwin/ && shx cp -r ../../packages/tui/native/win32/prebuilds dist/native/win32/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/ && node ../../scripts/copy-pty-native.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ea548fc8-dac4-4dec-a439-6f4fa3870309"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.3"},"rimraf":"6.1.3","protobufjs":"7.6.5","@hono/node-server":"2.1.1"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.19.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.20.0","dependencies":{"ms":"2.1.3","qs":"6.15.3","ws":"8.21.3","ajv":"8.20.0","jwa":"2.0.1","jws":"4.0.1","zod":"4.4.3","cors":"2.8.6","depd":"2.0.0","diff":"9.0.0","etag":"1.8.1","glob":"13.0.6","gopd":"1.2.0","hono":"4.12.27","jiti":"2.7.0","jose":"6.2.3","long":"5.3.2","once":"1.4.0","send":"1.2.1","tr46":"6.0.0","vary":"1.1.2","yaml":"2.9.0","bytes":"3.1.2","chalk":"6.0.0","debug":"4.4.3","fresh":"2.0.0","isexe":"2.0.0","jsdom":"30.0.1","retry":"0.13.1","saxes":"6.0.0","tldts":"7.4.10","tslib":"2.8.1","which":"2.0.2","bowser":"2.14.1","cookie":"0.7.2","extend":"3.0.2","gaxios":"7.1.4","hasown":"2.0.3","ignore":"7.0.6","marked":"18.0.10","openai":"6.26.0","parse5":"8.0.1","router":"2.2.0","semver":"7.8.5","undici":"8.10.0","unpipe":"1.0.0","wrappy":"1.0.2","accepts":"2.0.0","bidi-js":"1.0.3","express":"5.2.1","mime-db":"1.54.0","p-retry":"4.6.2","type-is":"2.1.0","typebox":"1.3.18","css-tree":"3.2.1","ee-first":"1.1.1","entities":"8.0.0","fast-uri":"3.1.4","inherits":"2.0.4","mdn-data":"2.27.1","minipass":"7.1.3","parseurl":"1.3.3","path-key":"3.1.1","punycode":"2.3.1","raw-body":"3.0.2","statuses":"2.0.2","turndown":"7.2.4","xmlchars":"2.2.0","base64-js":"1.5.1","data-urls":"7.0.0","encodeurl":"2.0.0","es-errors":"1.3.0","forwarded":"0.2.0","get-proto":"1.0.1","ipaddr.js":"1.9.1","lru-cache":"11.5.2","minimatch":"10.2.6","picomatch":"4.0.5","agent-base":"7.1.4","call-bound":"1.0.4","decimal.js":"10.6.0","fetch-blob":"3.2.0","iconv-lite":"0.7.3","ip-address":"10.2.0","is-promise":"4.0.0","mime-types":"3.0.2","negotiator":"1.0.0","node-fetch":"3.3.2","protobufjs":"7.6.5","proxy-addr":"2.0.7","tldts-core":"7.4.10","ts-algebra":"2.0.0","whatwg-url":"16.0.1","@types/node":"26.2.0","ajv-formats":"3.0.1","body-parser":"2.3.0","cross-spawn":"7.0.6","escape-html":"1.0.3","eventsource":"3.0.7","fast-sha256":"1.3.0","graceful-fs":"4.2.11","has-symbols":"1.1.0","http-errors":"2.0.1","json-bigint":"1.0.0","media-typer":"1.1.0","on-finished":"2.4.1","path-scurry":"2.0.2","safe-buffer":"5.2.1","signal-exit":"3.0.7","symbol-tree":"3.2.4","@smithy/core":"3.33.3","bignumber.js":"9.3.1","content-type":"1.0.5","dunder-proto":"1.0.1","finalhandler":"2.1.1","gcp-metadata":"8.1.2","grok-mermaid":"0.2.3","highlight.js":"11.12.0","partial-json":"0.1.7","range-parser":"1.3.0","safer-buffer":"2.1.2","serve-static":"2.2.1","side-channel":"1.1.1","toidentifier":"1.0.1","tough-cookie":"6.0.2","@aws-sdk/core":"3.977.9","@exodus/bytes":"1.15.1","@google/genai":"2.18.0","@smithy/types":"4.17.2","function-bind":"1.1.2","get-intrinsic":"1.3.0","object-assign":"4.1.1","shebang-regex":"3.0.0","source-map-js":"1.2.1","@aws-sdk/types":"3.974.5","@babel/runtime":"7.29.2","balanced-match":"4.0.4","object-inspect":"1.13.4","path-to-regexp":"8.4.2","pkce-challenge":"5.0.1","proxy-from-env":"2.1.0","setprototypeof":"1.2.0","@xterm/headless":"6.0.0","brace-expansion":"5.0.9","es-object-atoms":"1.1.2","fast-deep-equal":"3.1.3","hosted-git-info":"10.1.1","math-intrinsics":"1.1.0","proper-lockfile":"4.1.2","shebang-command":"2.0.0","whatwg-mimetype":"5.0.0","@protobufjs/path":"1.1.2","@protobufjs/pool":"1.1.0","@protobufjs/utf8":"1.1.1","cookie-signature":"1.2.2","http-proxy-agent":"9.1.0","side-channel-map":"1.0.1","standardwebhooks":"1.0.0","@anthropic-ai/sdk":"0.120.0","@hono/node-server":"2.1.1","@protobufjs/fetch":"1.1.1","@protobufjs/float":"1.0.2","@stablelib/base64":"1.0.1","formdata-polyfill":"4.0.10","https-proxy-agent":"9.1.0","json-schema-to-ts":"3.1.1","json-schema-typed":"8.0.2","merge-descriptors":"2.0.0","node-domexception":"1.0.0","side-channel-list":"1.0.1","w3c-xmlserializer":"5.0.0","@bufbuild/protobuf":"2.14.0","@csstools/css-calc":"3.3.0","@mixmark-io/domino":"2.2.0","@opentelemetry/api":"1.9.1","@protobufjs/base64":"1.1.2","data-uri-to-buffer":"4.0.1","es-define-property":"1.0.1","eventsource-parser":"3.1.0","express-rate-limit":"8.5.2","webidl-conversions":"8.0.1","xml-name-validator":"5.0.0","zod-to-json-schema":"3.25.2","@bramus/specificity":"2.4.2","@protobufjs/codegen":"2.0.5","content-disposition":"1.1.0","ecdsa-sig-formatter":"1.0.11","google-auth-library":"10.6.2","require-from-string":"2.0.2","@aws-sdk/xml-builder":"3.972.40","@mozilla/readability":"0.6.0","@smithy/signature-v4":"5.7.3","get-east-asian-width":"1.6.0","google-logging-utils":"1.1.3","json-schema-traverse":"1.0.0","side-channel-weakmap":"1.0.2","web-streams-polyfill":"3.3.3","@asamuzakjp/css-color":"6.0.7","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.9.4","@protobufjs/aspromise":"1.1.2","html-encoding-sniffer":"6.0.0","proxy-agent-negotiate":"1.1.0","@earendil-works/pi-pty":"npm:@code-yeongyu/senpi-pty@2026.9.4","@earendil-works/pi-tui":"npm:@code-yeongyu/senpi-tui@2026.9.4","@aws-sdk/nested-clients":"3.997.44","@csstools/color-helpers":"6.1.1","@csstools/css-tokenizer":"4.0.0","@mariozechner/clipboard":"*","call-bind-apply-helpers":"1.0.2","@asamuzakjp/dom-selector":"8.3.2","@aws-sdk/token-providers":"3.1116.0","@aws/lambda-invoke-store":"0.3.0","@protobufjs/eventemitter":"1.1.1","@modelcontextprotocol/sdk":"1.30.0","@smithy/node-http-handler":"4.11.3","@csstools/css-color-parser":"4.2.0","@silvia-odwyer/photon-node":"0.3.4","@smithy/fetch-http-handler":"5.7.2","buffer-equal-constant-time":"1.0.1","@code-yeongyu/senpi-codemode":"2026.9.4","@earendil-works/pi-telemetry":"npm:@code-yeongyu/senpi-telemetry@2026.9.4","@aws-sdk/middleware-websocket":"3.972.52","@earendil-works/pi-agent-core":"npm:@code-yeongyu/senpi-agent-core@2026.9.4","@anthropic-ai/claude-agent-sdk":"0.3.259","@aws-sdk/client-bedrock-runtime":"3.1116.0","@aws-sdk/middleware-eventstream":"3.972.29","@csstools/css-parser-algorithms":"4.0.0","@aws-sdk/credential-provider-env":"3.972.70","@aws-sdk/credential-provider-ini":"3.973.15","@aws-sdk/credential-provider-sso":"3.973.14","@smithy/credential-provider-imds":"4.5.2","is-potential-custom-element-name":"1.0.1","@aws-sdk/credential-provider-http":"3.972.72","@aws-sdk/credential-provider-node":"3.972.81","@aws-sdk/eventstream-handler-node":"3.972.34","@aws-sdk/credential-provider-login":"3.972.77","@aws-sdk/signature-v4-multi-region":"3.996.46","@aws-sdk/credential-provider-process":"3.972.70","@csstools/css-syntax-patches-for-csstree":"1.1.8","@aws-sdk/credential-provider-web-identity":"3.972.76"},"_hasShrinkwrap":false,"devDependencies":{"shx":"0.4.0","vitest":"4.1.11","@types/ws":"8.18.1","typescript":"7.0.2","@types/node":"26.2.0","@types/jsdom":"30.0.0","@types/semver":"7.8.0","@types/turndown":"5.0.6","@types/picomatch":"4.0.3","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@anthropic-ai/claude-agent-sdk","@anthropic-ai/sdk","@asamuzakjp/css-color","@asamuzakjp/dom-selector","@aws-sdk/client-bedrock-runtime","@aws-sdk/core","@aws-sdk/credential-provider-env","@aws-sdk/credential-provider-http","@aws-sdk/credential-provider-ini","@aws-sdk/credential-provider-login","@aws-sdk/credential-provider-node","@aws-sdk/credential-provider-process","@aws-sdk/credential-provider-sso","@aws-sdk/credential-provider-web-identity","@aws-sdk/eventstream-handler-node","@aws-sdk/middleware-eventstream","@aws-sdk/middleware-websocket","@aws-sdk/nested-clients","@aws-sdk/signature-v4-multi-region","@aws-sdk/token-providers","@aws-sdk/types","@aws-sdk/xml-builder","@aws/lambda-invoke-store","@babel/runtime","@bramus/specificity","@bufbuild/protobuf","@code-yeongyu/senpi-codemode","@csstools/color-helpers","@csstools/css-calc","@csstools/css-color-parser","@csstools/css-parser-algorithms","@csstools/css-syntax-patches-for-csstree","@csstools/css-tokenizer","@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-pty","@earendil-works/pi-telemetry","@earendil-works/pi-tui","@exodus/bytes","@google/genai","@hono/node-server","@mariozechner/clipboard","@mixmark-io/domino","@modelcontextprotocol/sdk","@mozilla/readability","@opentelemetry/api","@protobufjs/aspromise","@protobufjs/base64","@protobufjs/codegen","@protobufjs/eventemitter","@protobufjs/fetch","@protobufjs/float","@protobufjs/path","@protobufjs/pool","@protobufjs/utf8","@silvia-odwyer/photon-node","@smithy/core","@smithy/credential-provider-imds","@smithy/fetch-http-handler","@smithy/node-http-handler","@smithy/signature-v4","@smithy/types","@stablelib/base64","@types/node","@xterm/headless","accepts","agent-base","ajv","ajv-formats","balanced-match","base64-js","bidi-js","bignumber.js","body-parser","bowser","brace-expansion","buffer-equal-constant-time","bytes","call-bind-apply-helpers","call-bound","chalk","content-disposition","content-type","cookie","cookie-signature","cors","cross-spawn","css-tree","data-uri-to-buffer","data-urls","debug","decimal.js","depd","diff","dunder-proto","ecdsa-sig-formatter","ee-first","encodeurl","entities","es-define-property","es-errors","es-object-atoms","escape-html","etag","eventsource","eventsource-parser","express","express-rate-limit","extend","fast-deep-equal","fast-sha256","fast-uri","fetch-blob","finalhandler","formdata-polyfill","forwarded","fresh","function-bind","gaxios","gcp-metadata","get-east-asian-width","get-intrinsic","get-proto","glob","google-auth-library","google-logging-utils","gopd","graceful-fs","grok-mermaid","has-symbols","hasown","highlight.js","hono","hosted-git-info","html-encoding-sniffer","http-errors","http-proxy-agent","https-proxy-agent","iconv-lite","ignore","inherits","ip-address","ipaddr.js","is-potential-custom-element-name","is-promise","isexe","jiti","jose","jsdom","json-bigint","json-schema-to-ts","json-schema-traverse","json-schema-typed","jwa","jws","long","lru-cache","marked","math-intrinsics","mdn-data","media-typer","merge-descriptors","mime-db","mime-types","minimatch","minipass","ms","negotiator","node-domexception","node-fetch","object-assign","object-inspect","on-finished","once","openai","p-retry","parse5","parseurl","partial-json","path-key","path-scurry","path-to-regexp","picomatch","pkce-challenge","proper-lockfile","protobufjs","proxy-addr","proxy-agent-negotiate","proxy-from-env","punycode","qs","range-parser","raw-body","require-from-string","retry","router","safe-buffer","safer-buffer","saxes","semver","send","serve-static","setprototypeof","shebang-command","shebang-regex","side-channel","side-channel-list","side-channel-map","side-channel-weakmap","signal-exit","source-map-js","standardwebhooks","statuses","symbol-tree","tldts","tldts-core","toidentifier","tough-cookie","tr46","ts-algebra","tslib","turndown","type-is","typebox","undici","unpipe","vary","w3c-xmlserializer","web-streams-polyfill","webidl-conversions","whatwg-mimetype","whatwg-url","which","wrappy","ws","xml-name-validator","xmlchars","yaml","zod","zod-to-json-schema"],"optionalDependencies":{"@mariozechner/clipboard":"0.3.9","@mariozechner/clipboard-darwin-x64":"0.3.9","@mariozechner/clipboard-darwin-arm64":"0.3.9","@mariozechner/clipboard-linux-x64-gnu":"0.3.9","@mariozechner/clipboard-linux-x64-musl":"0.3.9","@mariozechner/clipboard-win32-x64-msvc":"0.3.9","@mariozechner/clipboard-linux-arm64-gnu":"0.3.9","@anthropic-ai/claude-agent-sdk-linux-x64":"0.3.259","@anthropic-ai/claude-agent-sdk-win32-x64":"0.3.259","@mariozechner/clipboard-darwin-universal":"0.3.9","@mariozechner/clipboard-linux-arm64-musl":"0.3.9","@mariozechner/clipboard-win32-arm64-msvc":"0.3.9","@anthropic-ai/claude-agent-sdk-darwin-x64":"0.3.259","@mariozechner/clipboard-linux-riscv64-gnu":"0.3.9","@anthropic-ai/claude-agent-sdk-linux-arm64":"0.3.259","@anthropic-ai/claude-agent-sdk-win32-arm64":"0.3.259","@anthropic-ai/claude-agent-sdk-darwin-arm64":"0.3.259","@anthropic-ai/claude-agent-sdk-linux-x64-musl":"0.3.259","@anthropic-ai/claude-agent-sdk-linux-arm64-musl":"0.3.259"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.9.4_1788489434937_0.7081079951514715","host":"s3://npm-registry-packages-npm-production"}},"2026.9.4-2":{"name":"@code-yeongyu/senpi","version":"2026.9.4-2","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.9.4-2","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"pi":"dist/bundle/cli.js","senpi":"dist/cli.js"},"dist":{"shasum":"9fc15d6e2a6fcfd02131ce23bdf589dbd7acc699","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.9.4-2.tgz","fileCount":25065,"integrity":"sha512-WveimISnXbAd+HnDU41cmy1lu9g1tpq5KHn58cQTThoObYBhT8b4lGV4EPPls3YU5tE6jVuoNCQYVB7mMGhf2g==","signatures":[{"sig":"MEQCIEBTudDN3jWhGVEbK4h6gHEJBuNQTuUIhj8iWjBeRoVTAiB5z2BBwpA4hZJAvrWm3gVLk5icJT3uT8g8pidfAMQxAQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.9.4-2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":173956608},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.js"},"./rpc-entry":{"import":"./dist/rpc-entry.js"}},"scripts":{"dev":"tsc -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsc -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js dist/rpc-entry.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/","build:binary":"npm --prefix ../tui run build && npm --prefix ../telemetry run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm --prefix ../protocol run build && npm --prefix ../client run build && npm --prefix ../pty run build && npm run build && node ../../scripts/prepare-bun-compile-assets.mjs && bun build --compile --compile-autoload-package-json --no-compile-autoload-dotenv --no-compile-autoload-bunfig --minify --keep-names ./dist/bun/cli.js ./src/utils/image-resize-worker.ts ../../node_modules/jsdom/lib/jsdom/living/xhr/xhr-sync-worker.js --outfile dist/pi && npm run copy-binary-assets","qa:app-server":"node scripts/qa-app-server/run-all.mjs","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","build:unbundled":"tsgo -p tsconfig.build.json && shx chmod +x dist/cli.js dist/rpc-entry.js && npm run copy-assets","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/export-html/ && shx cp -r docs dist/ && shx cp -r examples dist/ && shx mkdir -p dist/node_modules && shx cp -r ../../node_modules/css-tree ../../node_modules/mdn-data ../../node_modules/source-map-js dist/node_modules/ && node ../../scripts/copy-codemode-sidecar.mjs dist && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/ && shx mkdir -p dist/native/darwin dist/native/win32 && shx cp -r ../../packages/tui/native/darwin/prebuilds dist/native/darwin/ && shx cp -r ../../packages/tui/native/win32/prebuilds dist/native/win32/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/ && node ../../scripts/copy-pty-native.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ea548fc8-dac4-4dec-a439-6f4fa3870309"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.3"},"rimraf":"6.1.3","protobufjs":"7.6.5","@hono/node-server":"2.1.1"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.19.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.20.0","dependencies":{"ms":"2.1.3","qs":"6.15.3","ws":"8.21.3","ajv":"8.20.0","jwa":"2.0.1","jws":"4.0.1","zod":"4.4.3","cors":"2.8.6","depd":"2.0.0","diff":"9.0.0","etag":"1.8.1","glob":"13.0.6","gopd":"1.2.0","hono":"4.12.27","jiti":"2.7.0","jose":"6.2.3","long":"5.3.2","once":"1.4.0","send":"1.2.1","tr46":"6.0.0","vary":"1.1.2","yaml":"2.9.0","bytes":"3.1.2","chalk":"6.0.0","debug":"4.4.3","fresh":"2.0.0","isexe":"2.0.0","jsdom":"30.0.1","retry":"0.13.1","saxes":"6.0.0","tldts":"7.4.10","tslib":"2.8.1","which":"2.0.2","bowser":"2.14.1","cookie":"0.7.2","extend":"3.0.2","gaxios":"7.1.4","hasown":"2.0.3","ignore":"7.0.6","marked":"18.0.10","openai":"6.26.0","parse5":"8.0.1","router":"2.2.0","semver":"7.8.5","undici":"8.10.0","unpipe":"1.0.0","wrappy":"1.0.2","accepts":"2.0.0","bidi-js":"1.0.3","express":"5.2.1","mime-db":"1.54.0","p-retry":"4.6.2","type-is":"2.1.0","typebox":"1.3.18","css-tree":"3.2.1","ee-first":"1.1.1","entities":"8.0.0","fast-uri":"3.1.4","inherits":"2.0.4","mdn-data":"2.27.1","minipass":"7.1.3","parseurl":"1.3.3","path-key":"3.1.1","punycode":"2.3.1","raw-body":"3.0.2","statuses":"2.0.2","turndown":"7.2.4","xmlchars":"2.2.0","base64-js":"1.5.1","data-urls":"7.0.0","encodeurl":"2.0.0","es-errors":"1.3.0","forwarded":"0.2.0","get-proto":"1.0.1","ipaddr.js":"1.9.1","lru-cache":"11.5.2","minimatch":"10.2.6","picomatch":"4.0.5","agent-base":"7.1.4","call-bound":"1.0.4","decimal.js":"10.6.0","fetch-blob":"3.2.0","iconv-lite":"0.7.3","ip-address":"10.2.0","is-promise":"4.0.0","mime-types":"3.0.2","negotiator":"1.0.0","node-fetch":"3.3.2","protobufjs":"7.6.5","proxy-addr":"2.0.7","tldts-core":"7.4.10","ts-algebra":"2.0.0","whatwg-url":"16.0.1","@types/node":"26.2.0","ajv-formats":"3.0.1","body-parser":"2.3.0","cross-spawn":"7.0.6","escape-html":"1.0.3","eventsource":"3.0.7","fast-sha256":"1.3.0","graceful-fs":"4.2.11","has-symbols":"1.1.0","http-errors":"2.0.1","json-bigint":"1.0.0","media-typer":"1.1.0","on-finished":"2.4.1","path-scurry":"2.0.2","safe-buffer":"5.2.1","signal-exit":"3.0.7","symbol-tree":"3.2.4","@smithy/core":"3.33.3","bignumber.js":"9.3.1","content-type":"1.0.5","dunder-proto":"1.0.1","finalhandler":"2.1.1","gcp-metadata":"8.1.2","grok-mermaid":"0.2.3","highlight.js":"11.12.0","partial-json":"0.1.7","range-parser":"1.3.0","safer-buffer":"2.1.2","serve-static":"2.2.1","side-channel":"1.1.1","toidentifier":"1.0.1","tough-cookie":"6.0.2","@aws-sdk/core":"3.977.9","@exodus/bytes":"1.15.1","@google/genai":"2.18.0","@smithy/types":"4.17.2","function-bind":"1.1.2","get-intrinsic":"1.3.0","object-assign":"4.1.1","shebang-regex":"3.0.0","source-map-js":"1.2.1","@aws-sdk/types":"3.974.5","@babel/runtime":"7.29.2","balanced-match":"4.0.4","object-inspect":"1.13.4","path-to-regexp":"8.4.2","pkce-challenge":"5.0.1","proxy-from-env":"2.1.0","setprototypeof":"1.2.0","@xterm/headless":"6.0.0","brace-expansion":"5.0.9","es-object-atoms":"1.1.2","fast-deep-equal":"3.1.3","hosted-git-info":"10.1.1","math-intrinsics":"1.1.0","proper-lockfile":"4.1.2","shebang-command":"2.0.0","whatwg-mimetype":"5.0.0","@protobufjs/path":"1.1.2","@protobufjs/pool":"1.1.0","@protobufjs/utf8":"1.1.1","cookie-signature":"1.2.2","http-proxy-agent":"9.1.0","side-channel-map":"1.0.1","standardwebhooks":"1.0.0","@anthropic-ai/sdk":"0.123.0","@hono/node-server":"2.1.1","@protobufjs/fetch":"1.1.1","@protobufjs/float":"1.0.2","@stablelib/base64":"1.0.1","formdata-polyfill":"4.0.10","https-proxy-agent":"9.1.0","json-schema-to-ts":"3.1.1","json-schema-typed":"8.0.2","merge-descriptors":"2.0.0","node-domexception":"1.0.0","side-channel-list":"1.0.1","w3c-xmlserializer":"5.0.0","@bufbuild/protobuf":"2.14.0","@csstools/css-calc":"3.3.0","@mixmark-io/domino":"2.2.0","@opentelemetry/api":"1.9.1","@protobufjs/base64":"1.1.2","data-uri-to-buffer":"4.0.1","es-define-property":"1.0.1","eventsource-parser":"3.1.0","express-rate-limit":"8.5.2","webidl-conversions":"8.0.1","xml-name-validator":"5.0.0","zod-to-json-schema":"3.25.2","@bramus/specificity":"2.4.2","@protobufjs/codegen":"2.0.5","content-disposition":"1.1.0","ecdsa-sig-formatter":"1.0.11","google-auth-library":"10.6.2","require-from-string":"2.0.2","@aws-sdk/xml-builder":"3.972.40","@mozilla/readability":"0.6.0","@smithy/signature-v4":"5.7.3","get-east-asian-width":"1.6.0","google-logging-utils":"1.1.3","json-schema-traverse":"1.0.0","side-channel-weakmap":"1.0.2","web-streams-polyfill":"3.3.3","@asamuzakjp/css-color":"6.0.7","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.9.4-2","@protobufjs/aspromise":"1.1.2","html-encoding-sniffer":"6.0.0","proxy-agent-negotiate":"1.1.0","@earendil-works/pi-pty":"npm:@code-yeongyu/senpi-pty@2026.9.4-2","@earendil-works/pi-tui":"npm:@code-yeongyu/senpi-tui@2026.9.4-2","@aws-sdk/nested-clients":"3.997.44","@csstools/color-helpers":"6.1.1","@csstools/css-tokenizer":"4.0.0","@mariozechner/clipboard":"*","call-bind-apply-helpers":"1.0.2","@asamuzakjp/dom-selector":"8.3.2","@aws-sdk/token-providers":"3.1116.0","@aws/lambda-invoke-store":"0.3.0","@protobufjs/eventemitter":"1.1.1","@modelcontextprotocol/sdk":"1.30.0","@smithy/node-http-handler":"4.11.3","@csstools/css-color-parser":"4.2.0","@silvia-odwyer/photon-node":"0.3.4","@smithy/fetch-http-handler":"5.7.2","buffer-equal-constant-time":"1.0.1","@code-yeongyu/senpi-codemode":"2026.9.4-2","@earendil-works/pi-telemetry":"npm:@code-yeongyu/senpi-telemetry@2026.9.4-2","@aws-sdk/middleware-websocket":"3.972.52","@earendil-works/pi-agent-core":"npm:@code-yeongyu/senpi-agent-core@2026.9.4-2","@anthropic-ai/claude-agent-sdk":"0.3.259","@aws-sdk/client-bedrock-runtime":"3.1116.0","@aws-sdk/middleware-eventstream":"3.972.29","@csstools/css-parser-algorithms":"4.0.0","@aws-sdk/credential-provider-env":"3.972.70","@aws-sdk/credential-provider-ini":"3.973.15","@aws-sdk/credential-provider-sso":"3.973.14","@smithy/credential-provider-imds":"4.5.2","is-potential-custom-element-name":"1.0.1","@aws-sdk/credential-provider-http":"3.972.72","@aws-sdk/credential-provider-node":"3.972.81","@aws-sdk/eventstream-handler-node":"3.972.34","@aws-sdk/credential-provider-login":"3.972.77","@aws-sdk/signature-v4-multi-region":"3.996.46","@aws-sdk/credential-provider-process":"3.972.70","@csstools/css-syntax-patches-for-csstree":"1.1.8","@aws-sdk/credential-provider-web-identity":"3.972.76"},"_hasShrinkwrap":false,"devDependencies":{"shx":"0.4.0","vitest":"4.1.11","@types/ws":"8.18.1","typescript":"7.0.2","@types/node":"26.2.0","@types/jsdom":"30.0.0","@types/semver":"7.8.0","@types/turndown":"5.0.6","@types/picomatch":"4.0.3","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@anthropic-ai/claude-agent-sdk","@anthropic-ai/sdk","@asamuzakjp/css-color","@asamuzakjp/dom-selector","@aws-sdk/client-bedrock-runtime","@aws-sdk/core","@aws-sdk/credential-provider-env","@aws-sdk/credential-provider-http","@aws-sdk/credential-provider-ini","@aws-sdk/credential-provider-login","@aws-sdk/credential-provider-node","@aws-sdk/credential-provider-process","@aws-sdk/credential-provider-sso","@aws-sdk/credential-provider-web-identity","@aws-sdk/eventstream-handler-node","@aws-sdk/middleware-eventstream","@aws-sdk/middleware-websocket","@aws-sdk/nested-clients","@aws-sdk/signature-v4-multi-region","@aws-sdk/token-providers","@aws-sdk/types","@aws-sdk/xml-builder","@aws/lambda-invoke-store","@babel/runtime","@bramus/specificity","@bufbuild/protobuf","@code-yeongyu/senpi-codemode","@csstools/color-helpers","@csstools/css-calc","@csstools/css-color-parser","@csstools/css-parser-algorithms","@csstools/css-syntax-patches-for-csstree","@csstools/css-tokenizer","@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-pty","@earendil-works/pi-telemetry","@earendil-works/pi-tui","@exodus/bytes","@google/genai","@hono/node-server","@mariozechner/clipboard","@mixmark-io/domino","@modelcontextprotocol/sdk","@mozilla/readability","@opentelemetry/api","@protobufjs/aspromise","@protobufjs/base64","@protobufjs/codegen","@protobufjs/eventemitter","@protobufjs/fetch","@protobufjs/float","@protobufjs/path","@protobufjs/pool","@protobufjs/utf8","@silvia-odwyer/photon-node","@smithy/core","@smithy/credential-provider-imds","@smithy/fetch-http-handler","@smithy/node-http-handler","@smithy/signature-v4","@smithy/types","@stablelib/base64","@types/node","@xterm/headless","accepts","agent-base","ajv","ajv-formats","balanced-match","base64-js","bidi-js","bignumber.js","body-parser","bowser","brace-expansion","buffer-equal-constant-time","bytes","call-bind-apply-helpers","call-bound","chalk","content-disposition","content-type","cookie","cookie-signature","cors","cross-spawn","css-tree","data-uri-to-buffer","data-urls","debug","decimal.js","depd","diff","dunder-proto","ecdsa-sig-formatter","ee-first","encodeurl","entities","es-define-property","es-errors","es-object-atoms","escape-html","etag","eventsource","eventsource-parser","express","express-rate-limit","extend","fast-deep-equal","fast-sha256","fast-uri","fetch-blob","finalhandler","formdata-polyfill","forwarded","fresh","function-bind","gaxios","gcp-metadata","get-east-asian-width","get-intrinsic","get-proto","glob","google-auth-library","google-logging-utils","gopd","graceful-fs","grok-mermaid","has-symbols","hasown","highlight.js","hono","hosted-git-info","html-encoding-sniffer","http-errors","http-proxy-agent","https-proxy-agent","iconv-lite","ignore","inherits","ip-address","ipaddr.js","is-potential-custom-element-name","is-promise","isexe","jiti","jose","jsdom","json-bigint","json-schema-to-ts","json-schema-traverse","json-schema-typed","jwa","jws","long","lru-cache","marked","math-intrinsics","mdn-data","media-typer","merge-descriptors","mime-db","mime-types","minimatch","minipass","ms","negotiator","node-domexception","node-fetch","object-assign","object-inspect","on-finished","once","openai","p-retry","parse5","parseurl","partial-json","path-key","path-scurry","path-to-regexp","picomatch","pkce-challenge","proper-lockfile","protobufjs","proxy-addr","proxy-agent-negotiate","proxy-from-env","punycode","qs","range-parser","raw-body","require-from-string","retry","router","safe-buffer","safer-buffer","saxes","semver","send","serve-static","setprototypeof","shebang-command","shebang-regex","side-channel","side-channel-list","side-channel-map","side-channel-weakmap","signal-exit","source-map-js","standardwebhooks","statuses","symbol-tree","tldts","tldts-core","toidentifier","tough-cookie","tr46","ts-algebra","tslib","turndown","type-is","typebox","undici","unpipe","vary","w3c-xmlserializer","web-streams-polyfill","webidl-conversions","whatwg-mimetype","whatwg-url","which","wrappy","ws","xml-name-validator","xmlchars","yaml","zod","zod-to-json-schema"],"optionalDependencies":{"@mariozechner/clipboard":"0.3.9","@mariozechner/clipboard-darwin-x64":"0.3.9","@mariozechner/clipboard-darwin-arm64":"0.3.9","@mariozechner/clipboard-linux-x64-gnu":"0.3.9","@mariozechner/clipboard-linux-x64-musl":"0.3.9","@mariozechner/clipboard-win32-x64-msvc":"0.3.9","@mariozechner/clipboard-linux-arm64-gnu":"0.3.9","@anthropic-ai/claude-agent-sdk-linux-x64":"0.3.259","@anthropic-ai/claude-agent-sdk-win32-x64":"0.3.259","@mariozechner/clipboard-darwin-universal":"0.3.9","@mariozechner/clipboard-linux-arm64-musl":"0.3.9","@mariozechner/clipboard-win32-arm64-msvc":"0.3.9","@anthropic-ai/claude-agent-sdk-darwin-x64":"0.3.259","@mariozechner/clipboard-linux-riscv64-gnu":"0.3.9","@anthropic-ai/claude-agent-sdk-linux-arm64":"0.3.259","@anthropic-ai/claude-agent-sdk-win32-arm64":"0.3.259","@anthropic-ai/claude-agent-sdk-darwin-arm64":"0.3.259","@anthropic-ai/claude-agent-sdk-linux-x64-musl":"0.3.259","@anthropic-ai/claude-agent-sdk-linux-arm64-musl":"0.3.259"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.9.4-2_1788505001196_0.4377706310298737","host":"s3://npm-registry-packages-npm-production"}},"2026.9.4-3":{"name":"@code-yeongyu/senpi","version":"2026.9.4-3","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.9.4-3","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"pi":"dist/bundle/cli.js","senpi":"dist/cli.js"},"dist":{"shasum":"93cf76d1f805005187b3215ab0e637c14339bdc3","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.9.4-3.tgz","fileCount":25085,"integrity":"sha512-9crNMupK8ic5Qu7aCHPf3bDBu0jczo1Gv0eCxJNA1HTLi1RapwCzp7UMwYhXdSJsajeQSeGsZ5FTw9kuQOXoFw==","signatures":[{"sig":"MEYCIQCTZZykMRIqzR9g8hYXTW/1sjzwepeDi8hm/b2p/ogF3gIhAPZefU5bEkDjo6HYC5CAtTElOeYqiY+rDgMrzgwwzFA5","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.9.4-3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":174122684},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.js"},"./rpc-entry":{"import":"./dist/rpc-entry.js"}},"scripts":{"dev":"tsc -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsc -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js dist/rpc-entry.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/","build:binary":"npm --prefix ../tui run build && npm --prefix ../telemetry run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm --prefix ../protocol run build && npm --prefix ../client run build && npm --prefix ../pty run build && npm run build && node ../../scripts/prepare-bun-compile-assets.mjs && bun build --compile --compile-autoload-package-json --no-compile-autoload-dotenv --no-compile-autoload-bunfig --minify --keep-names ./dist/bun/cli.js ./src/utils/image-resize-worker.ts ../../node_modules/jsdom/lib/jsdom/living/xhr/xhr-sync-worker.js --outfile dist/pi && npm run copy-binary-assets","qa:app-server":"node scripts/qa-app-server/run-all.mjs","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","build:unbundled":"tsgo -p tsconfig.build.json && shx chmod +x dist/cli.js dist/rpc-entry.js && npm run copy-assets","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/export-html/ && shx cp -r docs dist/ && shx cp -r examples dist/ && shx mkdir -p dist/node_modules && shx cp -r ../../node_modules/css-tree ../../node_modules/mdn-data ../../node_modules/source-map-js dist/node_modules/ && node ../../scripts/copy-codemode-sidecar.mjs dist && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/ && shx mkdir -p dist/native/darwin dist/native/win32 && shx cp -r ../../packages/tui/native/darwin/prebuilds dist/native/darwin/ && shx cp -r ../../packages/tui/native/win32/prebuilds dist/native/win32/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/ && node ../../scripts/copy-pty-native.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ea548fc8-dac4-4dec-a439-6f4fa3870309"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.3"},"rimraf":"6.1.3","protobufjs":"7.6.5","@hono/node-server":"2.1.1"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.19.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.20.0","dependencies":{"ms":"2.1.3","qs":"6.15.3","ws":"8.21.3","ajv":"8.20.0","jwa":"2.0.1","jws":"4.0.1","zod":"4.4.3","cors":"2.8.6","depd":"2.0.0","diff":"9.0.0","etag":"1.8.1","glob":"13.0.6","gopd":"1.2.0","hono":"4.12.27","jiti":"2.7.0","jose":"6.2.3","long":"5.3.2","once":"1.4.0","send":"1.2.1","tr46":"6.0.0","vary":"1.1.2","yaml":"2.9.0","bytes":"3.1.2","chalk":"6.0.0","debug":"4.4.3","fresh":"2.0.0","isexe":"2.0.0","jsdom":"30.0.1","retry":"0.13.1","saxes":"6.0.0","tldts":"7.4.10","tslib":"2.8.1","which":"2.0.2","bowser":"2.14.1","cookie":"0.7.2","extend":"3.0.2","gaxios":"7.1.4","hasown":"2.0.3","ignore":"7.0.6","marked":"18.0.10","openai":"6.26.0","parse5":"8.0.1","router":"2.2.0","semver":"7.8.5","undici":"8.10.0","unpipe":"1.0.0","wrappy":"1.0.2","accepts":"2.0.0","bidi-js":"1.0.3","express":"5.2.1","mime-db":"1.54.0","p-retry":"4.6.2","type-is":"2.1.0","typebox":"1.3.18","css-tree":"3.2.1","ee-first":"1.1.1","entities":"8.0.0","fast-uri":"3.1.4","inherits":"2.0.4","mdn-data":"2.27.1","minipass":"7.1.3","parseurl":"1.3.3","path-key":"3.1.1","punycode":"2.3.1","raw-body":"3.0.2","statuses":"2.0.2","turndown":"7.2.4","xmlchars":"2.2.0","base64-js":"1.5.1","data-urls":"7.0.0","encodeurl":"2.0.0","es-errors":"1.3.0","forwarded":"0.2.0","get-proto":"1.0.1","ipaddr.js":"1.9.1","lru-cache":"11.5.2","minimatch":"10.2.6","picomatch":"4.0.5","agent-base":"7.1.4","call-bound":"1.0.4","decimal.js":"10.6.0","fetch-blob":"3.2.0","iconv-lite":"0.7.3","ip-address":"10.2.0","is-promise":"4.0.0","mime-types":"3.0.2","negotiator":"1.0.0","node-fetch":"3.3.2","protobufjs":"7.6.5","proxy-addr":"2.0.7","tldts-core":"7.4.10","ts-algebra":"2.0.0","whatwg-url":"16.0.1","@types/node":"26.2.0","ajv-formats":"3.0.1","body-parser":"2.3.0","cross-spawn":"7.0.6","escape-html":"1.0.3","eventsource":"3.0.7","fast-sha256":"1.3.0","graceful-fs":"4.2.11","has-symbols":"1.1.0","http-errors":"2.0.1","json-bigint":"1.0.0","media-typer":"1.1.0","on-finished":"2.4.1","path-scurry":"2.0.2","safe-buffer":"5.2.1","signal-exit":"3.0.7","symbol-tree":"3.2.4","@smithy/core":"3.33.3","bignumber.js":"9.3.1","content-type":"1.0.5","dunder-proto":"1.0.1","finalhandler":"2.1.1","gcp-metadata":"8.1.2","grok-mermaid":"0.2.3","highlight.js":"11.12.0","partial-json":"0.1.7","range-parser":"1.3.0","safer-buffer":"2.1.2","serve-static":"2.2.1","side-channel":"1.1.1","toidentifier":"1.0.1","tough-cookie":"6.0.2","@aws-sdk/core":"3.977.9","@exodus/bytes":"1.15.1","@google/genai":"2.18.0","@smithy/types":"4.17.2","function-bind":"1.1.2","get-intrinsic":"1.3.0","object-assign":"4.1.1","shebang-regex":"3.0.0","source-map-js":"1.2.1","@aws-sdk/types":"3.974.5","@babel/runtime":"7.29.2","balanced-match":"4.0.4","object-inspect":"1.13.4","path-to-regexp":"8.4.2","pkce-challenge":"5.0.1","proxy-from-env":"2.1.0","setprototypeof":"1.2.0","@xterm/headless":"6.0.0","brace-expansion":"5.0.9","es-object-atoms":"1.1.2","fast-deep-equal":"3.1.3","hosted-git-info":"10.1.1","math-intrinsics":"1.1.0","proper-lockfile":"4.1.2","shebang-command":"2.0.0","whatwg-mimetype":"5.0.0","@protobufjs/path":"1.1.2","@protobufjs/pool":"1.1.0","@protobufjs/utf8":"1.1.1","cookie-signature":"1.2.2","http-proxy-agent":"9.1.0","side-channel-map":"1.0.1","standardwebhooks":"1.0.0","@anthropic-ai/sdk":"0.123.0","@hono/node-server":"2.1.1","@protobufjs/fetch":"1.1.1","@protobufjs/float":"1.0.2","@stablelib/base64":"1.0.1","formdata-polyfill":"4.0.10","https-proxy-agent":"9.1.0","json-schema-to-ts":"3.1.1","json-schema-typed":"8.0.2","merge-descriptors":"2.0.0","node-domexception":"1.0.0","side-channel-list":"1.0.1","w3c-xmlserializer":"5.0.0","@bufbuild/protobuf":"2.14.0","@csstools/css-calc":"3.3.0","@mixmark-io/domino":"2.2.0","@opentelemetry/api":"1.9.1","@protobufjs/base64":"1.1.2","data-uri-to-buffer":"4.0.1","es-define-property":"1.0.1","eventsource-parser":"3.1.0","express-rate-limit":"8.5.2","webidl-conversions":"8.0.1","xml-name-validator":"5.0.0","zod-to-json-schema":"3.25.2","@bramus/specificity":"2.4.2","@protobufjs/codegen":"2.0.5","content-disposition":"1.1.0","ecdsa-sig-formatter":"1.0.11","google-auth-library":"10.6.2","require-from-string":"2.0.2","@aws-sdk/xml-builder":"3.972.40","@mozilla/readability":"0.6.0","@smithy/signature-v4":"5.7.3","get-east-asian-width":"1.6.0","google-logging-utils":"1.1.3","json-schema-traverse":"1.0.0","side-channel-weakmap":"1.0.2","web-streams-polyfill":"3.3.3","@asamuzakjp/css-color":"6.0.7","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.9.4-3","@protobufjs/aspromise":"1.1.2","html-encoding-sniffer":"6.0.0","proxy-agent-negotiate":"1.1.0","@earendil-works/pi-pty":"npm:@code-yeongyu/senpi-pty@2026.9.4-3","@earendil-works/pi-tui":"npm:@code-yeongyu/senpi-tui@2026.9.4-3","@aws-sdk/nested-clients":"3.997.44","@csstools/color-helpers":"6.1.1","@csstools/css-tokenizer":"4.0.0","@mariozechner/clipboard":"*","call-bind-apply-helpers":"1.0.2","@asamuzakjp/dom-selector":"8.3.2","@aws-sdk/token-providers":"3.1116.0","@aws/lambda-invoke-store":"0.3.0","@protobufjs/eventemitter":"1.1.1","@modelcontextprotocol/sdk":"1.30.0","@smithy/node-http-handler":"4.11.3","@csstools/css-color-parser":"4.2.0","@silvia-odwyer/photon-node":"0.3.4","@smithy/fetch-http-handler":"5.7.2","buffer-equal-constant-time":"1.0.1","@code-yeongyu/senpi-codemode":"2026.9.4-3","@earendil-works/pi-telemetry":"npm:@code-yeongyu/senpi-telemetry@2026.9.4-3","@aws-sdk/middleware-websocket":"3.972.52","@earendil-works/pi-agent-core":"npm:@code-yeongyu/senpi-agent-core@2026.9.4-3","@anthropic-ai/claude-agent-sdk":"0.3.259","@aws-sdk/client-bedrock-runtime":"3.1116.0","@aws-sdk/middleware-eventstream":"3.972.29","@csstools/css-parser-algorithms":"4.0.0","@aws-sdk/credential-provider-env":"3.972.70","@aws-sdk/credential-provider-ini":"3.973.15","@aws-sdk/credential-provider-sso":"3.973.14","@smithy/credential-provider-imds":"4.5.2","is-potential-custom-element-name":"1.0.1","@aws-sdk/credential-provider-http":"3.972.72","@aws-sdk/credential-provider-node":"3.972.81","@aws-sdk/eventstream-handler-node":"3.972.34","@aws-sdk/credential-provider-login":"3.972.77","@aws-sdk/signature-v4-multi-region":"3.996.46","@aws-sdk/credential-provider-process":"3.972.70","@csstools/css-syntax-patches-for-csstree":"1.1.8","@aws-sdk/credential-provider-web-identity":"3.972.76"},"_hasShrinkwrap":false,"devDependencies":{"shx":"0.4.0","vitest":"4.1.11","@types/ws":"8.18.1","typescript":"7.0.2","@types/node":"26.2.0","@types/jsdom":"30.0.0","@types/semver":"7.8.0","@types/turndown":"5.0.6","@types/picomatch":"4.0.3","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@anthropic-ai/claude-agent-sdk","@anthropic-ai/sdk","@asamuzakjp/css-color","@asamuzakjp/dom-selector","@aws-sdk/client-bedrock-runtime","@aws-sdk/core","@aws-sdk/credential-provider-env","@aws-sdk/credential-provider-http","@aws-sdk/credential-provider-ini","@aws-sdk/credential-provider-login","@aws-sdk/credential-provider-node","@aws-sdk/credential-provider-process","@aws-sdk/credential-provider-sso","@aws-sdk/credential-provider-web-identity","@aws-sdk/eventstream-handler-node","@aws-sdk/middleware-eventstream","@aws-sdk/middleware-websocket","@aws-sdk/nested-clients","@aws-sdk/signature-v4-multi-region","@aws-sdk/token-providers","@aws-sdk/types","@aws-sdk/xml-builder","@aws/lambda-invoke-store","@babel/runtime","@bramus/specificity","@bufbuild/protobuf","@code-yeongyu/senpi-codemode","@csstools/color-helpers","@csstools/css-calc","@csstools/css-color-parser","@csstools/css-parser-algorithms","@csstools/css-syntax-patches-for-csstree","@csstools/css-tokenizer","@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-pty","@earendil-works/pi-telemetry","@earendil-works/pi-tui","@exodus/bytes","@google/genai","@hono/node-server","@mariozechner/clipboard","@mixmark-io/domino","@modelcontextprotocol/sdk","@mozilla/readability","@opentelemetry/api","@protobufjs/aspromise","@protobufjs/base64","@protobufjs/codegen","@protobufjs/eventemitter","@protobufjs/fetch","@protobufjs/float","@protobufjs/path","@protobufjs/pool","@protobufjs/utf8","@silvia-odwyer/photon-node","@smithy/core","@smithy/credential-provider-imds","@smithy/fetch-http-handler","@smithy/node-http-handler","@smithy/signature-v4","@smithy/types","@stablelib/base64","@types/node","@xterm/headless","accepts","agent-base","ajv","ajv-formats","balanced-match","base64-js","bidi-js","bignumber.js","body-parser","bowser","brace-expansion","buffer-equal-constant-time","bytes","call-bind-apply-helpers","call-bound","chalk","content-disposition","content-type","cookie","cookie-signature","cors","cross-spawn","css-tree","data-uri-to-buffer","data-urls","debug","decimal.js","depd","diff","dunder-proto","ecdsa-sig-formatter","ee-first","encodeurl","entities","es-define-property","es-errors","es-object-atoms","escape-html","etag","eventsource","eventsource-parser","express","express-rate-limit","extend","fast-deep-equal","fast-sha256","fast-uri","fetch-blob","finalhandler","formdata-polyfill","forwarded","fresh","function-bind","gaxios","gcp-metadata","get-east-asian-width","get-intrinsic","get-proto","glob","google-auth-library","google-logging-utils","gopd","graceful-fs","grok-mermaid","has-symbols","hasown","highlight.js","hono","hosted-git-info","html-encoding-sniffer","http-errors","http-proxy-agent","https-proxy-agent","iconv-lite","ignore","inherits","ip-address","ipaddr.js","is-potential-custom-element-name","is-promise","isexe","jiti","jose","jsdom","json-bigint","json-schema-to-ts","json-schema-traverse","json-schema-typed","jwa","jws","long","lru-cache","marked","math-intrinsics","mdn-data","media-typer","merge-descriptors","mime-db","mime-types","minimatch","minipass","ms","negotiator","node-domexception","node-fetch","object-assign","object-inspect","on-finished","once","openai","p-retry","parse5","parseurl","partial-json","path-key","path-scurry","path-to-regexp","picomatch","pkce-challenge","proper-lockfile","protobufjs","proxy-addr","proxy-agent-negotiate","proxy-from-env","punycode","qs","range-parser","raw-body","require-from-string","retry","router","safe-buffer","safer-buffer","saxes","semver","send","serve-static","setprototypeof","shebang-command","shebang-regex","side-channel","side-channel-list","side-channel-map","side-channel-weakmap","signal-exit","source-map-js","standardwebhooks","statuses","symbol-tree","tldts","tldts-core","toidentifier","tough-cookie","tr46","ts-algebra","tslib","turndown","type-is","typebox","undici","unpipe","vary","w3c-xmlserializer","web-streams-polyfill","webidl-conversions","whatwg-mimetype","whatwg-url","which","wrappy","ws","xml-name-validator","xmlchars","yaml","zod","zod-to-json-schema"],"optionalDependencies":{"@mariozechner/clipboard":"0.3.9","@mariozechner/clipboard-darwin-x64":"0.3.9","@mariozechner/clipboard-darwin-arm64":"0.3.9","@mariozechner/clipboard-linux-x64-gnu":"0.3.9","@mariozechner/clipboard-linux-x64-musl":"0.3.9","@mariozechner/clipboard-win32-x64-msvc":"0.3.9","@mariozechner/clipboard-linux-arm64-gnu":"0.3.9","@anthropic-ai/claude-agent-sdk-linux-x64":"0.3.259","@anthropic-ai/claude-agent-sdk-win32-x64":"0.3.259","@mariozechner/clipboard-darwin-universal":"0.3.9","@mariozechner/clipboard-linux-arm64-musl":"0.3.9","@mariozechner/clipboard-win32-arm64-msvc":"0.3.9","@anthropic-ai/claude-agent-sdk-darwin-x64":"0.3.259","@mariozechner/clipboard-linux-riscv64-gnu":"0.3.9","@anthropic-ai/claude-agent-sdk-linux-arm64":"0.3.259","@anthropic-ai/claude-agent-sdk-win32-arm64":"0.3.259","@anthropic-ai/claude-agent-sdk-darwin-arm64":"0.3.259","@anthropic-ai/claude-agent-sdk-linux-x64-musl":"0.3.259","@anthropic-ai/claude-agent-sdk-linux-arm64-musl":"0.3.259"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.9.4-3_1788528162284_0.5431140061103876","host":"s3://npm-registry-packages-npm-production"}},"2026.9.5":{"name":"@code-yeongyu/senpi","version":"2026.9.5","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.9.5","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"pi":"dist/bundle/cli.js","senpi":"dist/cli.js"},"dist":{"shasum":"acfcc72123b5cfded0719cce2fc800f1cf6dae06","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.9.5.tgz","fileCount":25098,"integrity":"sha512-yQNMZcphn5we9aSoZ7tCymPO8zPFsO3ENGjhlw6TDoHXqQeYCfz/Z302vGf235GoRY41GXPHGvsA0yWJ/s3Abg==","signatures":[{"sig":"MEUCIBBc4qQCaqnsPqT4hrFHqX7rkM6NtWLwshBpzYmClC38AiEAjeeUeEmCipogpyK7kYfLwUBrm23PD71D12312Sd1DQQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.9.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":174241886},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.js"},"./rpc-entry":{"import":"./dist/rpc-entry.js"}},"scripts":{"dev":"tsc -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsc -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js dist/rpc-entry.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/","build:binary":"npm --prefix ../tui run build && npm --prefix ../telemetry run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm --prefix ../protocol run build && npm --prefix ../client run build && npm --prefix ../pty run build && npm run build && node ../../scripts/prepare-bun-compile-assets.mjs && bun build --compile --compile-autoload-package-json --no-compile-autoload-dotenv --no-compile-autoload-bunfig --minify --keep-names ./dist/bun/cli.js ./src/utils/image-resize-worker.ts ../../node_modules/jsdom/lib/jsdom/living/xhr/xhr-sync-worker.js --outfile dist/pi && npm run copy-binary-assets","qa:app-server":"node scripts/qa-app-server/run-all.mjs","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","build:unbundled":"tsgo -p tsconfig.build.json && shx chmod +x dist/cli.js dist/rpc-entry.js && npm run copy-assets","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/export-html/ && shx cp -r docs dist/ && shx cp -r examples dist/ && shx mkdir -p dist/node_modules && shx cp -r ../../node_modules/css-tree ../../node_modules/mdn-data ../../node_modules/source-map-js dist/node_modules/ && node ../../scripts/copy-codemode-sidecar.mjs dist && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/ && shx mkdir -p dist/native/darwin dist/native/win32 && shx cp -r ../../packages/tui/native/darwin/prebuilds dist/native/darwin/ && shx cp -r ../../packages/tui/native/win32/prebuilds dist/native/win32/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/ && node ../../scripts/copy-pty-native.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ea548fc8-dac4-4dec-a439-6f4fa3870309"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.3"},"rimraf":"6.1.3","protobufjs":"7.6.5","@hono/node-server":"2.1.1"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.19.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.20.0","dependencies":{"ms":"2.1.3","qs":"6.15.3","ws":"8.21.3","ajv":"8.20.0","jwa":"2.0.1","jws":"4.0.1","zod":"4.4.3","cors":"2.8.6","depd":"2.0.0","diff":"9.0.0","etag":"1.8.1","glob":"13.0.6","gopd":"1.2.0","hono":"4.12.27","jiti":"2.7.0","jose":"6.2.3","long":"5.3.2","once":"1.4.0","send":"1.2.1","tr46":"6.0.0","vary":"1.1.2","yaml":"2.9.0","bytes":"3.1.2","chalk":"6.0.0","debug":"4.4.3","fresh":"2.0.0","isexe":"2.0.0","jsdom":"30.0.1","retry":"0.13.1","saxes":"6.0.0","tldts":"7.4.10","tslib":"2.8.1","which":"2.0.2","bowser":"2.14.1","cookie":"0.7.2","extend":"3.0.2","gaxios":"7.1.4","hasown":"2.0.3","ignore":"7.0.6","marked":"18.0.10","openai":"6.26.0","parse5":"8.0.1","router":"2.2.0","semver":"7.8.5","undici":"8.10.0","unpipe":"1.0.0","wrappy":"1.0.2","accepts":"2.0.0","bidi-js":"1.0.3","express":"5.2.1","mime-db":"1.54.0","p-retry":"4.6.2","type-is":"2.1.0","typebox":"1.3.18","css-tree":"3.2.1","ee-first":"1.1.1","entities":"8.0.0","fast-uri":"3.1.4","inherits":"2.0.4","mdn-data":"2.27.1","minipass":"7.1.3","parseurl":"1.3.3","path-key":"3.1.1","punycode":"2.3.1","raw-body":"3.0.2","statuses":"2.0.2","turndown":"7.2.4","xmlchars":"2.2.0","base64-js":"1.5.1","data-urls":"7.0.0","encodeurl":"2.0.0","es-errors":"1.3.0","forwarded":"0.2.0","get-proto":"1.0.1","ipaddr.js":"1.9.1","lru-cache":"11.5.2","minimatch":"10.2.6","picomatch":"4.0.5","agent-base":"7.1.4","call-bound":"1.0.4","decimal.js":"10.6.0","fetch-blob":"3.2.0","iconv-lite":"0.7.3","ip-address":"10.2.0","is-promise":"4.0.0","mime-types":"3.0.2","negotiator":"1.0.0","node-fetch":"3.3.2","protobufjs":"7.6.5","proxy-addr":"2.0.7","tldts-core":"7.4.10","ts-algebra":"2.0.0","whatwg-url":"16.0.1","@types/node":"26.2.0","ajv-formats":"3.0.1","body-parser":"2.3.0","cross-spawn":"7.0.6","escape-html":"1.0.3","eventsource":"3.0.7","fast-sha256":"1.3.0","graceful-fs":"4.2.11","has-symbols":"1.1.0","http-errors":"2.0.1","json-bigint":"1.0.0","media-typer":"1.1.0","on-finished":"2.4.1","path-scurry":"2.0.2","safe-buffer":"5.2.1","signal-exit":"3.0.7","symbol-tree":"3.2.4","@smithy/core":"3.33.3","bignumber.js":"9.3.1","content-type":"1.0.5","dunder-proto":"1.0.1","finalhandler":"2.1.1","gcp-metadata":"8.1.2","grok-mermaid":"0.2.3","highlight.js":"11.12.0","partial-json":"0.1.7","range-parser":"1.3.0","safer-buffer":"2.1.2","serve-static":"2.2.1","side-channel":"1.1.1","toidentifier":"1.0.1","tough-cookie":"6.0.2","@aws-sdk/core":"3.977.9","@exodus/bytes":"1.15.1","@google/genai":"2.18.0","@smithy/types":"4.17.2","function-bind":"1.1.2","get-intrinsic":"1.3.0","object-assign":"4.1.1","shebang-regex":"3.0.0","source-map-js":"1.2.1","@aws-sdk/types":"3.974.5","@babel/runtime":"7.29.2","balanced-match":"4.0.4","object-inspect":"1.13.4","path-to-regexp":"8.4.2","pkce-challenge":"5.0.1","proxy-from-env":"2.1.0","setprototypeof":"1.2.0","@xterm/headless":"6.0.0","brace-expansion":"5.0.9","es-object-atoms":"1.1.2","fast-deep-equal":"3.1.3","hosted-git-info":"10.1.1","math-intrinsics":"1.1.0","proper-lockfile":"4.1.2","shebang-command":"2.0.0","whatwg-mimetype":"5.0.0","@protobufjs/path":"1.1.2","@protobufjs/pool":"1.1.0","@protobufjs/utf8":"1.1.1","cookie-signature":"1.2.2","http-proxy-agent":"9.1.0","side-channel-map":"1.0.1","standardwebhooks":"1.0.0","@anthropic-ai/sdk":"0.123.0","@hono/node-server":"2.1.1","@protobufjs/fetch":"1.1.1","@protobufjs/float":"1.0.2","@stablelib/base64":"1.0.1","formdata-polyfill":"4.0.10","https-proxy-agent":"9.1.0","json-schema-to-ts":"3.1.1","json-schema-typed":"8.0.2","merge-descriptors":"2.0.0","node-domexception":"1.0.0","side-channel-list":"1.0.1","w3c-xmlserializer":"5.0.0","@bufbuild/protobuf":"2.14.0","@csstools/css-calc":"3.3.0","@mixmark-io/domino":"2.2.0","@opentelemetry/api":"1.9.1","@protobufjs/base64":"1.1.2","data-uri-to-buffer":"4.0.1","es-define-property":"1.0.1","eventsource-parser":"3.1.0","express-rate-limit":"8.5.2","webidl-conversions":"8.0.1","xml-name-validator":"5.0.0","zod-to-json-schema":"3.25.2","@bramus/specificity":"2.4.2","@protobufjs/codegen":"2.0.5","content-disposition":"1.1.0","ecdsa-sig-formatter":"1.0.11","google-auth-library":"10.6.2","require-from-string":"2.0.2","@aws-sdk/xml-builder":"3.972.40","@mozilla/readability":"0.6.0","@smithy/signature-v4":"5.7.3","get-east-asian-width":"1.6.0","google-logging-utils":"1.1.3","json-schema-traverse":"1.0.0","side-channel-weakmap":"1.0.2","web-streams-polyfill":"3.3.3","@asamuzakjp/css-color":"6.0.7","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.9.5","@protobufjs/aspromise":"1.1.2","html-encoding-sniffer":"6.0.0","proxy-agent-negotiate":"1.1.0","@earendil-works/pi-pty":"npm:@code-yeongyu/senpi-pty@2026.9.5","@earendil-works/pi-tui":"npm:@code-yeongyu/senpi-tui@2026.9.5","@aws-sdk/nested-clients":"3.997.44","@csstools/color-helpers":"6.1.1","@csstools/css-tokenizer":"4.0.0","@mariozechner/clipboard":"*","call-bind-apply-helpers":"1.0.2","@asamuzakjp/dom-selector":"8.3.2","@aws-sdk/token-providers":"3.1116.0","@aws/lambda-invoke-store":"0.3.0","@protobufjs/eventemitter":"1.1.1","@modelcontextprotocol/sdk":"1.30.0","@smithy/node-http-handler":"4.11.3","@csstools/css-color-parser":"4.2.0","@silvia-odwyer/photon-node":"0.3.4","@smithy/fetch-http-handler":"5.7.2","buffer-equal-constant-time":"1.0.1","@code-yeongyu/senpi-codemode":"2026.9.5","@earendil-works/pi-telemetry":"npm:@code-yeongyu/senpi-telemetry@2026.9.5","@aws-sdk/middleware-websocket":"3.972.52","@earendil-works/pi-agent-core":"npm:@code-yeongyu/senpi-agent-core@2026.9.5","@anthropic-ai/claude-agent-sdk":"0.3.259","@aws-sdk/client-bedrock-runtime":"3.1116.0","@aws-sdk/middleware-eventstream":"3.972.29","@csstools/css-parser-algorithms":"4.0.0","@aws-sdk/credential-provider-env":"3.972.70","@aws-sdk/credential-provider-ini":"3.973.15","@aws-sdk/credential-provider-sso":"3.973.14","@smithy/credential-provider-imds":"4.5.2","is-potential-custom-element-name":"1.0.1","@aws-sdk/credential-provider-http":"3.972.72","@aws-sdk/credential-provider-node":"3.972.81","@aws-sdk/eventstream-handler-node":"3.972.34","@aws-sdk/credential-provider-login":"3.972.77","@aws-sdk/signature-v4-multi-region":"3.996.46","@aws-sdk/credential-provider-process":"3.972.70","@csstools/css-syntax-patches-for-csstree":"1.1.8","@aws-sdk/credential-provider-web-identity":"3.972.76"},"_hasShrinkwrap":false,"devDependencies":{"shx":"0.4.0","vitest":"4.1.11","@types/ws":"8.18.1","typescript":"7.0.2","@types/node":"26.2.0","@types/jsdom":"30.0.0","@types/semver":"7.8.0","@types/turndown":"5.0.6","@types/picomatch":"4.0.3","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@anthropic-ai/claude-agent-sdk","@anthropic-ai/sdk","@asamuzakjp/css-color","@asamuzakjp/dom-selector","@aws-sdk/client-bedrock-runtime","@aws-sdk/core","@aws-sdk/credential-provider-env","@aws-sdk/credential-provider-http","@aws-sdk/credential-provider-ini","@aws-sdk/credential-provider-login","@aws-sdk/credential-provider-node","@aws-sdk/credential-provider-process","@aws-sdk/credential-provider-sso","@aws-sdk/credential-provider-web-identity","@aws-sdk/eventstream-handler-node","@aws-sdk/middleware-eventstream","@aws-sdk/middleware-websocket","@aws-sdk/nested-clients","@aws-sdk/signature-v4-multi-region","@aws-sdk/token-providers","@aws-sdk/types","@aws-sdk/xml-builder","@aws/lambda-invoke-store","@babel/runtime","@bramus/specificity","@bufbuild/protobuf","@code-yeongyu/senpi-codemode","@csstools/color-helpers","@csstools/css-calc","@csstools/css-color-parser","@csstools/css-parser-algorithms","@csstools/css-syntax-patches-for-csstree","@csstools/css-tokenizer","@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-pty","@earendil-works/pi-telemetry","@earendil-works/pi-tui","@exodus/bytes","@google/genai","@hono/node-server","@mariozechner/clipboard","@mixmark-io/domino","@modelcontextprotocol/sdk","@mozilla/readability","@opentelemetry/api","@protobufjs/aspromise","@protobufjs/base64","@protobufjs/codegen","@protobufjs/eventemitter","@protobufjs/fetch","@protobufjs/float","@protobufjs/path","@protobufjs/pool","@protobufjs/utf8","@silvia-odwyer/photon-node","@smithy/core","@smithy/credential-provider-imds","@smithy/fetch-http-handler","@smithy/node-http-handler","@smithy/signature-v4","@smithy/types","@stablelib/base64","@types/node","@xterm/headless","accepts","agent-base","ajv","ajv-formats","balanced-match","base64-js","bidi-js","bignumber.js","body-parser","bowser","brace-expansion","buffer-equal-constant-time","bytes","call-bind-apply-helpers","call-bound","chalk","content-disposition","content-type","cookie","cookie-signature","cors","cross-spawn","css-tree","data-uri-to-buffer","data-urls","debug","decimal.js","depd","diff","dunder-proto","ecdsa-sig-formatter","ee-first","encodeurl","entities","es-define-property","es-errors","es-object-atoms","escape-html","etag","eventsource","eventsource-parser","express","express-rate-limit","extend","fast-deep-equal","fast-sha256","fast-uri","fetch-blob","finalhandler","formdata-polyfill","forwarded","fresh","function-bind","gaxios","gcp-metadata","get-east-asian-width","get-intrinsic","get-proto","glob","google-auth-library","google-logging-utils","gopd","graceful-fs","grok-mermaid","has-symbols","hasown","highlight.js","hono","hosted-git-info","html-encoding-sniffer","http-errors","http-proxy-agent","https-proxy-agent","iconv-lite","ignore","inherits","ip-address","ipaddr.js","is-potential-custom-element-name","is-promise","isexe","jiti","jose","jsdom","json-bigint","json-schema-to-ts","json-schema-traverse","json-schema-typed","jwa","jws","long","lru-cache","marked","math-intrinsics","mdn-data","media-typer","merge-descriptors","mime-db","mime-types","minimatch","minipass","ms","negotiator","node-domexception","node-fetch","object-assign","object-inspect","on-finished","once","openai","p-retry","parse5","parseurl","partial-json","path-key","path-scurry","path-to-regexp","picomatch","pkce-challenge","proper-lockfile","protobufjs","proxy-addr","proxy-agent-negotiate","proxy-from-env","punycode","qs","range-parser","raw-body","require-from-string","retry","router","safe-buffer","safer-buffer","saxes","semver","send","serve-static","setprototypeof","shebang-command","shebang-regex","side-channel","side-channel-list","side-channel-map","side-channel-weakmap","signal-exit","source-map-js","standardwebhooks","statuses","symbol-tree","tldts","tldts-core","toidentifier","tough-cookie","tr46","ts-algebra","tslib","turndown","type-is","typebox","undici","unpipe","vary","w3c-xmlserializer","web-streams-polyfill","webidl-conversions","whatwg-mimetype","whatwg-url","which","wrappy","ws","xml-name-validator","xmlchars","yaml","zod","zod-to-json-schema"],"optionalDependencies":{"@mariozechner/clipboard":"0.3.9","@mariozechner/clipboard-darwin-x64":"0.3.9","@mariozechner/clipboard-darwin-arm64":"0.3.9","@mariozechner/clipboard-linux-x64-gnu":"0.3.9","@mariozechner/clipboard-linux-x64-musl":"0.3.9","@mariozechner/clipboard-win32-x64-msvc":"0.3.9","@mariozechner/clipboard-linux-arm64-gnu":"0.3.9","@anthropic-ai/claude-agent-sdk-linux-x64":"0.3.259","@anthropic-ai/claude-agent-sdk-win32-x64":"0.3.259","@mariozechner/clipboard-darwin-universal":"0.3.9","@mariozechner/clipboard-linux-arm64-musl":"0.3.9","@mariozechner/clipboard-win32-arm64-msvc":"0.3.9","@anthropic-ai/claude-agent-sdk-darwin-x64":"0.3.259","@mariozechner/clipboard-linux-riscv64-gnu":"0.3.9","@anthropic-ai/claude-agent-sdk-linux-arm64":"0.3.259","@anthropic-ai/claude-agent-sdk-win32-arm64":"0.3.259","@anthropic-ai/claude-agent-sdk-darwin-arm64":"0.3.259","@anthropic-ai/claude-agent-sdk-linux-x64-musl":"0.3.259","@anthropic-ai/claude-agent-sdk-linux-arm64-musl":"0.3.259"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.9.5_1788601753869_0.4142984348674139","host":"s3://npm-registry-packages-npm-production"}},"2026.9.5-2":{"name":"@code-yeongyu/senpi","version":"2026.9.5-2","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.9.5-2","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"pi":"dist/bundle/cli.js","senpi":"dist/cli.js"},"dist":{"shasum":"b5f47edb4be84eace5f76ec88046d9b5634c53f5","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.9.5-2.tgz","fileCount":25098,"integrity":"sha512-RoQ+5bcfadpzBfVQ/T682ryrwpsLPrdAkl4gFjawA7Wy9WQvU2d3t9EHsJ9VEh4Db/WyDYG9icQchAI3GFiRGQ==","signatures":[{"sig":"MEUCIQCZiwtcc1f1pFzFJ2hfZ9TXNxMHzJEZb3gypLjGdSwjCAIgH3g4LQP08q16GWYMycdoWhVfyaBVS9a1iK1IvZZKD0s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.9.5-2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":174263891},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.js"},"./rpc-entry":{"import":"./dist/rpc-entry.js"}},"scripts":{"dev":"tsc -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsc -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js dist/rpc-entry.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/","build:binary":"npm --prefix ../tui run build && npm --prefix ../telemetry run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm --prefix ../protocol run build && npm --prefix ../client run build && npm --prefix ../pty run build && npm run build && node ../../scripts/prepare-bun-compile-assets.mjs && bun build --compile --compile-autoload-package-json --no-compile-autoload-dotenv --no-compile-autoload-bunfig --minify --keep-names ./dist/bun/cli.js ./src/utils/image-resize-worker.ts ../../node_modules/jsdom/lib/jsdom/living/xhr/xhr-sync-worker.js --outfile dist/pi && npm run copy-binary-assets","qa:app-server":"node scripts/qa-app-server/run-all.mjs","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","build:unbundled":"tsgo -p tsconfig.build.json && shx chmod +x dist/cli.js dist/rpc-entry.js && npm run copy-assets","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/export-html/ && shx cp -r docs dist/ && shx cp -r examples dist/ && shx mkdir -p dist/node_modules && shx cp -r ../../node_modules/css-tree ../../node_modules/mdn-data ../../node_modules/source-map-js dist/node_modules/ && node ../../scripts/copy-codemode-sidecar.mjs dist && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/ && shx mkdir -p dist/native/darwin dist/native/win32 && shx cp -r ../../packages/tui/native/darwin/prebuilds dist/native/darwin/ && shx cp -r ../../packages/tui/native/win32/prebuilds dist/native/win32/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/ && node ../../scripts/copy-pty-native.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ea548fc8-dac4-4dec-a439-6f4fa3870309"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.3"},"rimraf":"6.1.3","protobufjs":"7.6.5","@hono/node-server":"2.1.1"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.19.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.20.0","dependencies":{"ms":"2.1.3","qs":"6.15.3","ws":"8.21.3","ajv":"8.20.0","jwa":"2.0.1","jws":"4.0.1","zod":"4.4.3","cors":"2.8.6","depd":"2.0.0","diff":"9.0.0","etag":"1.8.1","glob":"13.0.6","gopd":"1.2.0","hono":"4.12.27","jiti":"2.7.0","jose":"6.2.3","long":"5.3.2","once":"1.4.0","send":"1.2.1","tr46":"6.0.0","vary":"1.1.2","yaml":"2.9.0","bytes":"3.1.2","chalk":"6.0.0","debug":"4.4.3","fresh":"2.0.0","isexe":"2.0.0","jsdom":"30.0.1","retry":"0.13.1","saxes":"6.0.0","tldts":"7.4.10","tslib":"2.8.1","which":"2.0.2","bowser":"2.14.1","cookie":"0.7.2","extend":"3.0.2","gaxios":"7.1.4","hasown":"2.0.3","ignore":"7.0.6","marked":"18.0.10","openai":"6.26.0","parse5":"8.0.1","router":"2.2.0","semver":"7.8.5","undici":"8.10.0","unpipe":"1.0.0","wrappy":"1.0.2","accepts":"2.0.0","bidi-js":"1.0.3","express":"5.2.1","mime-db":"1.54.0","p-retry":"4.6.2","type-is":"2.1.0","typebox":"1.3.18","css-tree":"3.2.1","ee-first":"1.1.1","entities":"8.0.0","fast-uri":"3.1.4","inherits":"2.0.4","mdn-data":"2.27.1","minipass":"7.1.3","parseurl":"1.3.3","path-key":"3.1.1","punycode":"2.3.1","raw-body":"3.0.2","statuses":"2.0.2","turndown":"7.2.4","xmlchars":"2.2.0","base64-js":"1.5.1","data-urls":"7.0.0","encodeurl":"2.0.0","es-errors":"1.3.0","forwarded":"0.2.0","get-proto":"1.0.1","ipaddr.js":"1.9.1","lru-cache":"11.5.2","minimatch":"10.2.6","picomatch":"4.0.5","agent-base":"7.1.4","call-bound":"1.0.4","decimal.js":"10.6.0","fetch-blob":"3.2.0","iconv-lite":"0.7.3","ip-address":"10.2.0","is-promise":"4.0.0","mime-types":"3.0.2","negotiator":"1.0.0","node-fetch":"3.3.2","protobufjs":"7.6.5","proxy-addr":"2.0.7","tldts-core":"7.4.10","ts-algebra":"2.0.0","whatwg-url":"16.0.1","@types/node":"26.2.0","ajv-formats":"3.0.1","body-parser":"2.3.0","cross-spawn":"7.0.6","escape-html":"1.0.3","eventsource":"3.0.7","fast-sha256":"1.3.0","graceful-fs":"4.2.11","has-symbols":"1.1.0","http-errors":"2.0.1","json-bigint":"1.0.0","media-typer":"1.1.0","on-finished":"2.4.1","path-scurry":"2.0.2","safe-buffer":"5.2.1","signal-exit":"3.0.7","symbol-tree":"3.2.4","@smithy/core":"3.33.3","bignumber.js":"9.3.1","content-type":"1.0.5","dunder-proto":"1.0.1","finalhandler":"2.1.1","gcp-metadata":"8.1.2","grok-mermaid":"0.2.3","highlight.js":"11.12.0","partial-json":"0.1.7","range-parser":"1.3.0","safer-buffer":"2.1.2","serve-static":"2.2.1","side-channel":"1.1.1","toidentifier":"1.0.1","tough-cookie":"6.0.2","@aws-sdk/core":"3.977.9","@exodus/bytes":"1.15.1","@google/genai":"2.18.0","@smithy/types":"4.17.2","function-bind":"1.1.2","get-intrinsic":"1.3.0","object-assign":"4.1.1","shebang-regex":"3.0.0","source-map-js":"1.2.1","@aws-sdk/types":"3.974.5","@babel/runtime":"7.29.2","balanced-match":"4.0.4","object-inspect":"1.13.4","path-to-regexp":"8.4.2","pkce-challenge":"5.0.1","proxy-from-env":"2.1.0","setprototypeof":"1.2.0","@xterm/headless":"6.0.0","brace-expansion":"5.0.9","es-object-atoms":"1.1.2","fast-deep-equal":"3.1.3","hosted-git-info":"10.1.1","math-intrinsics":"1.1.0","proper-lockfile":"4.1.2","shebang-command":"2.0.0","whatwg-mimetype":"5.0.0","@protobufjs/path":"1.1.2","@protobufjs/pool":"1.1.0","@protobufjs/utf8":"1.1.1","cookie-signature":"1.2.2","http-proxy-agent":"9.1.0","side-channel-map":"1.0.1","standardwebhooks":"1.0.0","@anthropic-ai/sdk":"0.123.0","@hono/node-server":"2.1.1","@protobufjs/fetch":"1.1.1","@protobufjs/float":"1.0.2","@stablelib/base64":"1.0.1","formdata-polyfill":"4.0.10","https-proxy-agent":"9.1.0","json-schema-to-ts":"3.1.1","json-schema-typed":"8.0.2","merge-descriptors":"2.0.0","node-domexception":"1.0.0","side-channel-list":"1.0.1","w3c-xmlserializer":"5.0.0","@bufbuild/protobuf":"2.14.0","@csstools/css-calc":"3.3.0","@mixmark-io/domino":"2.2.0","@opentelemetry/api":"1.9.1","@protobufjs/base64":"1.1.2","data-uri-to-buffer":"4.0.1","es-define-property":"1.0.1","eventsource-parser":"3.1.0","express-rate-limit":"8.5.2","webidl-conversions":"8.0.1","xml-name-validator":"5.0.0","zod-to-json-schema":"3.25.2","@bramus/specificity":"2.4.2","@protobufjs/codegen":"2.0.5","content-disposition":"1.1.0","ecdsa-sig-formatter":"1.0.11","google-auth-library":"10.6.2","require-from-string":"2.0.2","@aws-sdk/xml-builder":"3.972.40","@mozilla/readability":"0.6.0","@smithy/signature-v4":"5.7.3","get-east-asian-width":"1.6.0","google-logging-utils":"1.1.3","json-schema-traverse":"1.0.0","side-channel-weakmap":"1.0.2","web-streams-polyfill":"3.3.3","@asamuzakjp/css-color":"6.0.7","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.9.5-2","@protobufjs/aspromise":"1.1.2","html-encoding-sniffer":"6.0.0","proxy-agent-negotiate":"1.1.0","@earendil-works/pi-pty":"npm:@code-yeongyu/senpi-pty@2026.9.5-2","@earendil-works/pi-tui":"npm:@code-yeongyu/senpi-tui@2026.9.5-2","@aws-sdk/nested-clients":"3.997.44","@csstools/color-helpers":"6.1.1","@csstools/css-tokenizer":"4.0.0","@mariozechner/clipboard":"*","call-bind-apply-helpers":"1.0.2","@asamuzakjp/dom-selector":"8.3.2","@aws-sdk/token-providers":"3.1116.0","@aws/lambda-invoke-store":"0.3.0","@protobufjs/eventemitter":"1.1.1","@modelcontextprotocol/sdk":"1.30.0","@smithy/node-http-handler":"4.11.3","@csstools/css-color-parser":"4.2.0","@silvia-odwyer/photon-node":"0.3.4","@smithy/fetch-http-handler":"5.7.2","buffer-equal-constant-time":"1.0.1","@code-yeongyu/senpi-codemode":"2026.9.5-2","@earendil-works/pi-telemetry":"npm:@code-yeongyu/senpi-telemetry@2026.9.5-2","@aws-sdk/middleware-websocket":"3.972.52","@earendil-works/pi-agent-core":"npm:@code-yeongyu/senpi-agent-core@2026.9.5-2","@anthropic-ai/claude-agent-sdk":"0.3.259","@aws-sdk/client-bedrock-runtime":"3.1116.0","@aws-sdk/middleware-eventstream":"3.972.29","@csstools/css-parser-algorithms":"4.0.0","@aws-sdk/credential-provider-env":"3.972.70","@aws-sdk/credential-provider-ini":"3.973.15","@aws-sdk/credential-provider-sso":"3.973.14","@smithy/credential-provider-imds":"4.5.2","is-potential-custom-element-name":"1.0.1","@aws-sdk/credential-provider-http":"3.972.72","@aws-sdk/credential-provider-node":"3.972.81","@aws-sdk/eventstream-handler-node":"3.972.34","@aws-sdk/credential-provider-login":"3.972.77","@aws-sdk/signature-v4-multi-region":"3.996.46","@aws-sdk/credential-provider-process":"3.972.70","@csstools/css-syntax-patches-for-csstree":"1.1.8","@aws-sdk/credential-provider-web-identity":"3.972.76"},"_hasShrinkwrap":false,"devDependencies":{"shx":"0.4.0","vitest":"4.1.11","@types/ws":"8.18.1","typescript":"7.0.2","@types/node":"26.2.0","@types/jsdom":"30.0.0","@types/semver":"7.8.0","@types/turndown":"5.0.6","@types/picomatch":"4.0.3","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@anthropic-ai/claude-agent-sdk","@anthropic-ai/sdk","@asamuzakjp/css-color","@asamuzakjp/dom-selector","@aws-sdk/client-bedrock-runtime","@aws-sdk/core","@aws-sdk/credential-provider-env","@aws-sdk/credential-provider-http","@aws-sdk/credential-provider-ini","@aws-sdk/credential-provider-login","@aws-sdk/credential-provider-node","@aws-sdk/credential-provider-process","@aws-sdk/credential-provider-sso","@aws-sdk/credential-provider-web-identity","@aws-sdk/eventstream-handler-node","@aws-sdk/middleware-eventstream","@aws-sdk/middleware-websocket","@aws-sdk/nested-clients","@aws-sdk/signature-v4-multi-region","@aws-sdk/token-providers","@aws-sdk/types","@aws-sdk/xml-builder","@aws/lambda-invoke-store","@babel/runtime","@bramus/specificity","@bufbuild/protobuf","@code-yeongyu/senpi-codemode","@csstools/color-helpers","@csstools/css-calc","@csstools/css-color-parser","@csstools/css-parser-algorithms","@csstools/css-syntax-patches-for-csstree","@csstools/css-tokenizer","@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-pty","@earendil-works/pi-telemetry","@earendil-works/pi-tui","@exodus/bytes","@google/genai","@hono/node-server","@mariozechner/clipboard","@mixmark-io/domino","@modelcontextprotocol/sdk","@mozilla/readability","@opentelemetry/api","@protobufjs/aspromise","@protobufjs/base64","@protobufjs/codegen","@protobufjs/eventemitter","@protobufjs/fetch","@protobufjs/float","@protobufjs/path","@protobufjs/pool","@protobufjs/utf8","@silvia-odwyer/photon-node","@smithy/core","@smithy/credential-provider-imds","@smithy/fetch-http-handler","@smithy/node-http-handler","@smithy/signature-v4","@smithy/types","@stablelib/base64","@types/node","@xterm/headless","accepts","agent-base","ajv","ajv-formats","balanced-match","base64-js","bidi-js","bignumber.js","body-parser","bowser","brace-expansion","buffer-equal-constant-time","bytes","call-bind-apply-helpers","call-bound","chalk","content-disposition","content-type","cookie","cookie-signature","cors","cross-spawn","css-tree","data-uri-to-buffer","data-urls","debug","decimal.js","depd","diff","dunder-proto","ecdsa-sig-formatter","ee-first","encodeurl","entities","es-define-property","es-errors","es-object-atoms","escape-html","etag","eventsource","eventsource-parser","express","express-rate-limit","extend","fast-deep-equal","fast-sha256","fast-uri","fetch-blob","finalhandler","formdata-polyfill","forwarded","fresh","function-bind","gaxios","gcp-metadata","get-east-asian-width","get-intrinsic","get-proto","glob","google-auth-library","google-logging-utils","gopd","graceful-fs","grok-mermaid","has-symbols","hasown","highlight.js","hono","hosted-git-info","html-encoding-sniffer","http-errors","http-proxy-agent","https-proxy-agent","iconv-lite","ignore","inherits","ip-address","ipaddr.js","is-potential-custom-element-name","is-promise","isexe","jiti","jose","jsdom","json-bigint","json-schema-to-ts","json-schema-traverse","json-schema-typed","jwa","jws","long","lru-cache","marked","math-intrinsics","mdn-data","media-typer","merge-descriptors","mime-db","mime-types","minimatch","minipass","ms","negotiator","node-domexception","node-fetch","object-assign","object-inspect","on-finished","once","openai","p-retry","parse5","parseurl","partial-json","path-key","path-scurry","path-to-regexp","picomatch","pkce-challenge","proper-lockfile","protobufjs","proxy-addr","proxy-agent-negotiate","proxy-from-env","punycode","qs","range-parser","raw-body","require-from-string","retry","router","safe-buffer","safer-buffer","saxes","semver","send","serve-static","setprototypeof","shebang-command","shebang-regex","side-channel","side-channel-list","side-channel-map","side-channel-weakmap","signal-exit","source-map-js","standardwebhooks","statuses","symbol-tree","tldts","tldts-core","toidentifier","tough-cookie","tr46","ts-algebra","tslib","turndown","type-is","typebox","undici","unpipe","vary","w3c-xmlserializer","web-streams-polyfill","webidl-conversions","whatwg-mimetype","whatwg-url","which","wrappy","ws","xml-name-validator","xmlchars","yaml","zod","zod-to-json-schema"],"optionalDependencies":{"@mariozechner/clipboard":"0.3.9","@mariozechner/clipboard-darwin-x64":"0.3.9","@mariozechner/clipboard-darwin-arm64":"0.3.9","@mariozechner/clipboard-linux-x64-gnu":"0.3.9","@mariozechner/clipboard-linux-x64-musl":"0.3.9","@mariozechner/clipboard-win32-x64-msvc":"0.3.9","@mariozechner/clipboard-linux-arm64-gnu":"0.3.9","@anthropic-ai/claude-agent-sdk-linux-x64":"0.3.259","@anthropic-ai/claude-agent-sdk-win32-x64":"0.3.259","@mariozechner/clipboard-darwin-universal":"0.3.9","@mariozechner/clipboard-linux-arm64-musl":"0.3.9","@mariozechner/clipboard-win32-arm64-msvc":"0.3.9","@anthropic-ai/claude-agent-sdk-darwin-x64":"0.3.259","@mariozechner/clipboard-linux-riscv64-gnu":"0.3.9","@anthropic-ai/claude-agent-sdk-linux-arm64":"0.3.259","@anthropic-ai/claude-agent-sdk-win32-arm64":"0.3.259","@anthropic-ai/claude-agent-sdk-darwin-arm64":"0.3.259","@anthropic-ai/claude-agent-sdk-linux-x64-musl":"0.3.259","@anthropic-ai/claude-agent-sdk-linux-arm64-musl":"0.3.259"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.9.5-2_1788617464250_0.6206367961275279","host":"s3://npm-registry-packages-npm-production"}},"2026.9.5-3":{"name":"@code-yeongyu/senpi","version":"2026.9.5-3","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.9.5-3","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"pi":"dist/bundle/cli.js","senpi":"dist/cli.js"},"dist":{"shasum":"9304a0e382e7df8791877d8decedbfd3a790dcf6","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.9.5-3.tgz","fileCount":25098,"integrity":"sha512-R0HZqb3ZFQSDCzhEqlS/VO+N26kKgk/WYs9xbLIQwY12F/W9etOoSTB9MAS1s0744vtM7UZP+6BFeqcpZtXLJw==","signatures":[{"sig":"MEQCIEgZBEXn7rxkowtU3zuR3LwW7rmzekVFQLMvLvMs0gUgAiB5NITlcyEEXnFTCsTjZq6Luwq/mObsAgqMrxxvz1zrVw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.9.5-3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":174264088},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.js"},"./rpc-entry":{"import":"./dist/rpc-entry.js"}},"scripts":{"dev":"tsc -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsc -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js dist/rpc-entry.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/","build:binary":"npm --prefix ../tui run build && npm --prefix ../telemetry run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm --prefix ../protocol run build && npm --prefix ../client run build && npm --prefix ../pty run build && npm run build && node ../../scripts/prepare-bun-compile-assets.mjs && bun build --compile --compile-autoload-package-json --no-compile-autoload-dotenv --no-compile-autoload-bunfig --minify --keep-names ./dist/bun/cli.js ./src/utils/image-resize-worker.ts ../../node_modules/jsdom/lib/jsdom/living/xhr/xhr-sync-worker.js --outfile dist/pi && npm run copy-binary-assets","qa:app-server":"node scripts/qa-app-server/run-all.mjs","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","build:unbundled":"tsgo -p tsconfig.build.json && shx chmod +x dist/cli.js dist/rpc-entry.js && npm run copy-assets","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/export-html/ && shx cp -r docs dist/ && shx cp -r examples dist/ && shx mkdir -p dist/node_modules && shx cp -r ../../node_modules/css-tree ../../node_modules/mdn-data ../../node_modules/source-map-js dist/node_modules/ && node ../../scripts/copy-codemode-sidecar.mjs dist && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/ && shx mkdir -p dist/native/darwin dist/native/win32 && shx cp -r ../../packages/tui/native/darwin/prebuilds dist/native/darwin/ && shx cp -r ../../packages/tui/native/win32/prebuilds dist/native/win32/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/ && node ../../scripts/copy-pty-native.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ea548fc8-dac4-4dec-a439-6f4fa3870309"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.3"},"rimraf":"6.1.3","protobufjs":"7.6.5","@hono/node-server":"2.1.1"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.19.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.20.0","dependencies":{"ms":"2.1.3","qs":"6.15.3","ws":"8.21.3","ajv":"8.20.0","jwa":"2.0.1","jws":"4.0.1","zod":"4.4.3","cors":"2.8.6","depd":"2.0.0","diff":"9.0.0","etag":"1.8.1","glob":"13.0.6","gopd":"1.2.0","hono":"4.12.27","jiti":"2.7.0","jose":"6.2.3","long":"5.3.2","once":"1.4.0","send":"1.2.1","tr46":"6.0.0","vary":"1.1.2","yaml":"2.9.0","bytes":"3.1.2","chalk":"6.0.0","debug":"4.4.3","fresh":"2.0.0","isexe":"2.0.0","jsdom":"30.0.1","retry":"0.13.1","saxes":"6.0.0","tldts":"7.4.10","tslib":"2.8.1","which":"2.0.2","bowser":"2.14.1","cookie":"0.7.2","extend":"3.0.2","gaxios":"7.1.4","hasown":"2.0.3","ignore":"7.0.6","marked":"18.0.10","openai":"6.26.0","parse5":"8.0.1","router":"2.2.0","semver":"7.8.5","undici":"8.10.0","unpipe":"1.0.0","wrappy":"1.0.2","accepts":"2.0.0","bidi-js":"1.0.3","express":"5.2.1","mime-db":"1.54.0","p-retry":"4.6.2","type-is":"2.1.0","typebox":"1.3.18","css-tree":"3.2.1","ee-first":"1.1.1","entities":"8.0.0","fast-uri":"3.1.4","inherits":"2.0.4","mdn-data":"2.27.1","minipass":"7.1.3","parseurl":"1.3.3","path-key":"3.1.1","punycode":"2.3.1","raw-body":"3.0.2","statuses":"2.0.2","turndown":"7.2.4","xmlchars":"2.2.0","base64-js":"1.5.1","data-urls":"7.0.0","encodeurl":"2.0.0","es-errors":"1.3.0","forwarded":"0.2.0","get-proto":"1.0.1","ipaddr.js":"1.9.1","lru-cache":"11.5.2","minimatch":"10.2.6","picomatch":"4.0.5","agent-base":"7.1.4","call-bound":"1.0.4","decimal.js":"10.6.0","fetch-blob":"3.2.0","iconv-lite":"0.7.3","ip-address":"10.2.0","is-promise":"4.0.0","mime-types":"3.0.2","negotiator":"1.0.0","node-fetch":"3.3.2","protobufjs":"7.6.5","proxy-addr":"2.0.7","tldts-core":"7.4.10","ts-algebra":"2.0.0","whatwg-url":"16.0.1","@types/node":"26.2.0","ajv-formats":"3.0.1","body-parser":"2.3.0","cross-spawn":"7.0.6","escape-html":"1.0.3","eventsource":"3.0.7","fast-sha256":"1.3.0","graceful-fs":"4.2.11","has-symbols":"1.1.0","http-errors":"2.0.1","json-bigint":"1.0.0","media-typer":"1.1.0","on-finished":"2.4.1","path-scurry":"2.0.2","safe-buffer":"5.2.1","signal-exit":"3.0.7","symbol-tree":"3.2.4","@smithy/core":"3.33.3","bignumber.js":"9.3.1","content-type":"1.0.5","dunder-proto":"1.0.1","finalhandler":"2.1.1","gcp-metadata":"8.1.2","grok-mermaid":"0.2.3","highlight.js":"11.12.0","partial-json":"0.1.7","range-parser":"1.3.0","safer-buffer":"2.1.2","serve-static":"2.2.1","side-channel":"1.1.1","toidentifier":"1.0.1","tough-cookie":"6.0.2","@aws-sdk/core":"3.977.9","@exodus/bytes":"1.15.1","@google/genai":"2.18.0","@smithy/types":"4.17.2","function-bind":"1.1.2","get-intrinsic":"1.3.0","object-assign":"4.1.1","shebang-regex":"3.0.0","source-map-js":"1.2.1","@aws-sdk/types":"3.974.5","@babel/runtime":"7.29.2","balanced-match":"4.0.4","object-inspect":"1.13.4","path-to-regexp":"8.4.2","pkce-challenge":"5.0.1","proxy-from-env":"2.1.0","setprototypeof":"1.2.0","@xterm/headless":"6.0.0","brace-expansion":"5.0.9","es-object-atoms":"1.1.2","fast-deep-equal":"3.1.3","hosted-git-info":"10.1.1","math-intrinsics":"1.1.0","proper-lockfile":"4.1.2","shebang-command":"2.0.0","whatwg-mimetype":"5.0.0","@protobufjs/path":"1.1.2","@protobufjs/pool":"1.1.0","@protobufjs/utf8":"1.1.1","cookie-signature":"1.2.2","http-proxy-agent":"9.1.0","side-channel-map":"1.0.1","standardwebhooks":"1.0.0","@anthropic-ai/sdk":"0.123.0","@hono/node-server":"2.1.1","@protobufjs/fetch":"1.1.1","@protobufjs/float":"1.0.2","@stablelib/base64":"1.0.1","formdata-polyfill":"4.0.10","https-proxy-agent":"9.1.0","json-schema-to-ts":"3.1.1","json-schema-typed":"8.0.2","merge-descriptors":"2.0.0","node-domexception":"1.0.0","side-channel-list":"1.0.1","w3c-xmlserializer":"5.0.0","@bufbuild/protobuf":"2.14.0","@csstools/css-calc":"3.3.0","@mixmark-io/domino":"2.2.0","@opentelemetry/api":"1.9.1","@protobufjs/base64":"1.1.2","data-uri-to-buffer":"4.0.1","es-define-property":"1.0.1","eventsource-parser":"3.1.0","express-rate-limit":"8.5.2","webidl-conversions":"8.0.1","xml-name-validator":"5.0.0","zod-to-json-schema":"3.25.2","@bramus/specificity":"2.4.2","@protobufjs/codegen":"2.0.5","content-disposition":"1.1.0","ecdsa-sig-formatter":"1.0.11","google-auth-library":"10.6.2","require-from-string":"2.0.2","@aws-sdk/xml-builder":"3.972.40","@mozilla/readability":"0.6.0","@smithy/signature-v4":"5.7.3","get-east-asian-width":"1.6.0","google-logging-utils":"1.1.3","json-schema-traverse":"1.0.0","side-channel-weakmap":"1.0.2","web-streams-polyfill":"3.3.3","@asamuzakjp/css-color":"6.0.7","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.9.5-3","@protobufjs/aspromise":"1.1.2","html-encoding-sniffer":"6.0.0","proxy-agent-negotiate":"1.1.0","@earendil-works/pi-pty":"npm:@code-yeongyu/senpi-pty@2026.9.5-3","@earendil-works/pi-tui":"npm:@code-yeongyu/senpi-tui@2026.9.5-3","@aws-sdk/nested-clients":"3.997.44","@csstools/color-helpers":"6.1.1","@csstools/css-tokenizer":"4.0.0","@mariozechner/clipboard":"*","call-bind-apply-helpers":"1.0.2","@asamuzakjp/dom-selector":"8.3.2","@aws-sdk/token-providers":"3.1116.0","@aws/lambda-invoke-store":"0.3.0","@protobufjs/eventemitter":"1.1.1","@modelcontextprotocol/sdk":"1.30.0","@smithy/node-http-handler":"4.11.3","@csstools/css-color-parser":"4.2.0","@silvia-odwyer/photon-node":"0.3.4","@smithy/fetch-http-handler":"5.7.2","buffer-equal-constant-time":"1.0.1","@code-yeongyu/senpi-codemode":"2026.9.5-3","@earendil-works/pi-telemetry":"npm:@code-yeongyu/senpi-telemetry@2026.9.5-3","@aws-sdk/middleware-websocket":"3.972.52","@earendil-works/pi-agent-core":"npm:@code-yeongyu/senpi-agent-core@2026.9.5-3","@anthropic-ai/claude-agent-sdk":"0.3.259","@aws-sdk/client-bedrock-runtime":"3.1116.0","@aws-sdk/middleware-eventstream":"3.972.29","@csstools/css-parser-algorithms":"4.0.0","@aws-sdk/credential-provider-env":"3.972.70","@aws-sdk/credential-provider-ini":"3.973.15","@aws-sdk/credential-provider-sso":"3.973.14","@smithy/credential-provider-imds":"4.5.2","is-potential-custom-element-name":"1.0.1","@aws-sdk/credential-provider-http":"3.972.72","@aws-sdk/credential-provider-node":"3.972.81","@aws-sdk/eventstream-handler-node":"3.972.34","@aws-sdk/credential-provider-login":"3.972.77","@aws-sdk/signature-v4-multi-region":"3.996.46","@aws-sdk/credential-provider-process":"3.972.70","@csstools/css-syntax-patches-for-csstree":"1.1.8","@aws-sdk/credential-provider-web-identity":"3.972.76"},"_hasShrinkwrap":false,"devDependencies":{"shx":"0.4.0","vitest":"4.1.11","@types/ws":"8.18.1","typescript":"7.0.2","@types/node":"26.2.0","@types/jsdom":"30.0.0","@types/semver":"7.8.0","@types/turndown":"5.0.6","@types/picomatch":"4.0.3","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@anthropic-ai/claude-agent-sdk","@anthropic-ai/sdk","@asamuzakjp/css-color","@asamuzakjp/dom-selector","@aws-sdk/client-bedrock-runtime","@aws-sdk/core","@aws-sdk/credential-provider-env","@aws-sdk/credential-provider-http","@aws-sdk/credential-provider-ini","@aws-sdk/credential-provider-login","@aws-sdk/credential-provider-node","@aws-sdk/credential-provider-process","@aws-sdk/credential-provider-sso","@aws-sdk/credential-provider-web-identity","@aws-sdk/eventstream-handler-node","@aws-sdk/middleware-eventstream","@aws-sdk/middleware-websocket","@aws-sdk/nested-clients","@aws-sdk/signature-v4-multi-region","@aws-sdk/token-providers","@aws-sdk/types","@aws-sdk/xml-builder","@aws/lambda-invoke-store","@babel/runtime","@bramus/specificity","@bufbuild/protobuf","@code-yeongyu/senpi-codemode","@csstools/color-helpers","@csstools/css-calc","@csstools/css-color-parser","@csstools/css-parser-algorithms","@csstools/css-syntax-patches-for-csstree","@csstools/css-tokenizer","@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-pty","@earendil-works/pi-telemetry","@earendil-works/pi-tui","@exodus/bytes","@google/genai","@hono/node-server","@mariozechner/clipboard","@mixmark-io/domino","@modelcontextprotocol/sdk","@mozilla/readability","@opentelemetry/api","@protobufjs/aspromise","@protobufjs/base64","@protobufjs/codegen","@protobufjs/eventemitter","@protobufjs/fetch","@protobufjs/float","@protobufjs/path","@protobufjs/pool","@protobufjs/utf8","@silvia-odwyer/photon-node","@smithy/core","@smithy/credential-provider-imds","@smithy/fetch-http-handler","@smithy/node-http-handler","@smithy/signature-v4","@smithy/types","@stablelib/base64","@types/node","@xterm/headless","accepts","agent-base","ajv","ajv-formats","balanced-match","base64-js","bidi-js","bignumber.js","body-parser","bowser","brace-expansion","buffer-equal-constant-time","bytes","call-bind-apply-helpers","call-bound","chalk","content-disposition","content-type","cookie","cookie-signature","cors","cross-spawn","css-tree","data-uri-to-buffer","data-urls","debug","decimal.js","depd","diff","dunder-proto","ecdsa-sig-formatter","ee-first","encodeurl","entities","es-define-property","es-errors","es-object-atoms","escape-html","etag","eventsource","eventsource-parser","express","express-rate-limit","extend","fast-deep-equal","fast-sha256","fast-uri","fetch-blob","finalhandler","formdata-polyfill","forwarded","fresh","function-bind","gaxios","gcp-metadata","get-east-asian-width","get-intrinsic","get-proto","glob","google-auth-library","google-logging-utils","gopd","graceful-fs","grok-mermaid","has-symbols","hasown","highlight.js","hono","hosted-git-info","html-encoding-sniffer","http-errors","http-proxy-agent","https-proxy-agent","iconv-lite","ignore","inherits","ip-address","ipaddr.js","is-potential-custom-element-name","is-promise","isexe","jiti","jose","jsdom","json-bigint","json-schema-to-ts","json-schema-traverse","json-schema-typed","jwa","jws","long","lru-cache","marked","math-intrinsics","mdn-data","media-typer","merge-descriptors","mime-db","mime-types","minimatch","minipass","ms","negotiator","node-domexception","node-fetch","object-assign","object-inspect","on-finished","once","openai","p-retry","parse5","parseurl","partial-json","path-key","path-scurry","path-to-regexp","picomatch","pkce-challenge","proper-lockfile","protobufjs","proxy-addr","proxy-agent-negotiate","proxy-from-env","punycode","qs","range-parser","raw-body","require-from-string","retry","router","safe-buffer","safer-buffer","saxes","semver","send","serve-static","setprototypeof","shebang-command","shebang-regex","side-channel","side-channel-list","side-channel-map","side-channel-weakmap","signal-exit","source-map-js","standardwebhooks","statuses","symbol-tree","tldts","tldts-core","toidentifier","tough-cookie","tr46","ts-algebra","tslib","turndown","type-is","typebox","undici","unpipe","vary","w3c-xmlserializer","web-streams-polyfill","webidl-conversions","whatwg-mimetype","whatwg-url","which","wrappy","ws","xml-name-validator","xmlchars","yaml","zod","zod-to-json-schema"],"optionalDependencies":{"@mariozechner/clipboard":"0.3.9","@mariozechner/clipboard-darwin-x64":"0.3.9","@mariozechner/clipboard-darwin-arm64":"0.3.9","@mariozechner/clipboard-linux-x64-gnu":"0.3.9","@mariozechner/clipboard-linux-x64-musl":"0.3.9","@mariozechner/clipboard-win32-x64-msvc":"0.3.9","@mariozechner/clipboard-linux-arm64-gnu":"0.3.9","@anthropic-ai/claude-agent-sdk-linux-x64":"0.3.259","@anthropic-ai/claude-agent-sdk-win32-x64":"0.3.259","@mariozechner/clipboard-darwin-universal":"0.3.9","@mariozechner/clipboard-linux-arm64-musl":"0.3.9","@mariozechner/clipboard-win32-arm64-msvc":"0.3.9","@anthropic-ai/claude-agent-sdk-darwin-x64":"0.3.259","@mariozechner/clipboard-linux-riscv64-gnu":"0.3.9","@anthropic-ai/claude-agent-sdk-linux-arm64":"0.3.259","@anthropic-ai/claude-agent-sdk-win32-arm64":"0.3.259","@anthropic-ai/claude-agent-sdk-darwin-arm64":"0.3.259","@anthropic-ai/claude-agent-sdk-linux-x64-musl":"0.3.259","@anthropic-ai/claude-agent-sdk-linux-arm64-musl":"0.3.259"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.9.5-3_1788618360308_0.22112494920349102","host":"s3://npm-registry-packages-npm-production"}},"2026.9.6":{"name":"@code-yeongyu/senpi","version":"2026.9.6","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.9.6","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"pi":"dist/bundle/cli.js","senpi":"dist/cli.js"},"dist":{"shasum":"e49436ea3663f86f2f06da5e67078a36ab788d53","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.9.6.tgz","fileCount":25103,"integrity":"sha512-MPD4aVxYH6LmvMERodGOzIXqbfQV/dsvGWCIztzEa++0lK9NUeSuefRAq92ZRo8awiNzbcgwSkoIPjYmboXJ6Q==","signatures":[{"sig":"MEYCIQDV/UylSmFZt2l8CvUL5a3UM4iAVUqC8OGb3GIBFuLi7gIhAJjFpI6jUNJ4Z43ZHuh8HGa6hv9ECY44u4+I2jwIvmm/","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.9.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":174282741},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.js"},"./rpc-entry":{"import":"./dist/rpc-entry.js"}},"scripts":{"dev":"tsc -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsc -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js dist/rpc-entry.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/","build:binary":"npm --prefix ../tui run build && npm --prefix ../telemetry run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm --prefix ../protocol run build && npm --prefix ../client run build && npm --prefix ../pty run build && npm run build && node ../../scripts/prepare-bun-compile-assets.mjs && bun build --compile --compile-autoload-package-json --no-compile-autoload-dotenv --no-compile-autoload-bunfig --minify --keep-names ./dist/bun/cli.js ./src/utils/image-resize-worker.ts ../../node_modules/jsdom/lib/jsdom/living/xhr/xhr-sync-worker.js --outfile dist/pi && npm run copy-binary-assets","qa:app-server":"node scripts/qa-app-server/run-all.mjs","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","build:unbundled":"tsgo -p tsconfig.build.json && shx chmod +x dist/cli.js dist/rpc-entry.js && npm run copy-assets","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/export-html/ && shx cp -r docs dist/ && shx cp -r examples dist/ && shx mkdir -p dist/node_modules && shx cp -r ../../node_modules/css-tree ../../node_modules/mdn-data ../../node_modules/source-map-js dist/node_modules/ && node ../../scripts/copy-codemode-sidecar.mjs dist && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/ && shx mkdir -p dist/native/darwin dist/native/win32 && shx cp -r ../../packages/tui/native/darwin/prebuilds dist/native/darwin/ && shx cp -r ../../packages/tui/native/win32/prebuilds dist/native/win32/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/ && node ../../scripts/copy-pty-native.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ea548fc8-dac4-4dec-a439-6f4fa3870309"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.3"},"rimraf":"6.1.3","protobufjs":"7.6.5","@hono/node-server":"2.1.1"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.19.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.20.0","dependencies":{"ms":"2.1.3","qs":"6.15.3","ws":"8.21.3","ajv":"8.20.0","jwa":"2.0.1","jws":"4.0.1","zod":"4.4.3","cors":"2.8.6","depd":"2.0.0","diff":"9.0.0","etag":"1.8.1","glob":"13.0.6","gopd":"1.2.0","hono":"4.12.27","jiti":"2.7.0","jose":"6.2.3","long":"5.3.2","once":"1.4.0","send":"1.2.1","tr46":"6.0.0","vary":"1.1.2","yaml":"2.9.0","bytes":"3.1.2","chalk":"6.0.0","debug":"4.4.3","fresh":"2.0.0","isexe":"2.0.0","jsdom":"30.0.1","retry":"0.13.1","saxes":"6.0.0","tldts":"7.4.10","tslib":"2.8.1","which":"2.0.2","bowser":"2.14.1","cookie":"0.7.2","extend":"3.0.2","gaxios":"7.1.4","hasown":"2.0.3","ignore":"7.0.6","marked":"18.0.10","openai":"6.26.0","parse5":"8.0.1","router":"2.2.0","semver":"7.8.5","undici":"8.10.0","unpipe":"1.0.0","wrappy":"1.0.2","accepts":"2.0.0","bidi-js":"1.0.3","express":"5.2.1","mime-db":"1.54.0","p-retry":"4.6.2","type-is":"2.1.0","typebox":"1.3.18","css-tree":"3.2.1","ee-first":"1.1.1","entities":"8.0.0","fast-uri":"3.1.4","inherits":"2.0.4","mdn-data":"2.27.1","minipass":"7.1.3","parseurl":"1.3.3","path-key":"3.1.1","punycode":"2.3.1","raw-body":"3.0.2","statuses":"2.0.2","turndown":"7.2.4","xmlchars":"2.2.0","base64-js":"1.5.1","data-urls":"7.0.0","encodeurl":"2.0.0","es-errors":"1.3.0","forwarded":"0.2.0","get-proto":"1.0.1","ipaddr.js":"1.9.1","lru-cache":"11.5.2","minimatch":"10.2.6","picomatch":"4.0.5","agent-base":"7.1.4","call-bound":"1.0.4","decimal.js":"10.6.0","fetch-blob":"3.2.0","iconv-lite":"0.7.3","ip-address":"10.2.0","is-promise":"4.0.0","mime-types":"3.0.2","negotiator":"1.0.0","node-fetch":"3.3.2","protobufjs":"7.6.5","proxy-addr":"2.0.7","tldts-core":"7.4.10","ts-algebra":"2.0.0","whatwg-url":"16.0.1","@types/node":"26.2.0","ajv-formats":"3.0.1","body-parser":"2.3.0","cross-spawn":"7.0.6","escape-html":"1.0.3","eventsource":"3.0.7","fast-sha256":"1.3.0","graceful-fs":"4.2.11","has-symbols":"1.1.0","http-errors":"2.0.1","json-bigint":"1.0.0","media-typer":"1.1.0","on-finished":"2.4.1","path-scurry":"2.0.2","safe-buffer":"5.2.1","signal-exit":"3.0.7","symbol-tree":"3.2.4","@smithy/core":"3.33.3","bignumber.js":"9.3.1","content-type":"1.0.5","dunder-proto":"1.0.1","finalhandler":"2.1.1","gcp-metadata":"8.1.2","grok-mermaid":"0.2.3","highlight.js":"11.12.0","partial-json":"0.1.7","range-parser":"1.3.0","safer-buffer":"2.1.2","serve-static":"2.2.1","side-channel":"1.1.1","toidentifier":"1.0.1","tough-cookie":"6.0.2","@aws-sdk/core":"3.977.9","@exodus/bytes":"1.15.1","@google/genai":"2.18.0","@smithy/types":"4.17.2","function-bind":"1.1.2","get-intrinsic":"1.3.0","object-assign":"4.1.1","shebang-regex":"3.0.0","source-map-js":"1.2.1","@aws-sdk/types":"3.974.5","@babel/runtime":"7.29.2","balanced-match":"4.0.4","object-inspect":"1.13.4","path-to-regexp":"8.4.2","pkce-challenge":"5.0.1","proxy-from-env":"2.1.0","setprototypeof":"1.2.0","@xterm/headless":"6.0.0","brace-expansion":"5.0.9","es-object-atoms":"1.1.2","fast-deep-equal":"3.1.3","hosted-git-info":"10.1.1","math-intrinsics":"1.1.0","proper-lockfile":"4.1.2","shebang-command":"2.0.0","whatwg-mimetype":"5.0.0","@protobufjs/path":"1.1.2","@protobufjs/pool":"1.1.0","@protobufjs/utf8":"1.1.1","cookie-signature":"1.2.2","http-proxy-agent":"9.1.0","side-channel-map":"1.0.1","standardwebhooks":"1.0.0","@anthropic-ai/sdk":"0.123.0","@hono/node-server":"2.1.1","@protobufjs/fetch":"1.1.1","@protobufjs/float":"1.0.2","@stablelib/base64":"1.0.1","formdata-polyfill":"4.0.10","https-proxy-agent":"9.1.0","json-schema-to-ts":"3.1.1","json-schema-typed":"8.0.2","merge-descriptors":"2.0.0","node-domexception":"1.0.0","side-channel-list":"1.0.1","w3c-xmlserializer":"5.0.0","@bufbuild/protobuf":"2.14.0","@csstools/css-calc":"3.3.0","@mixmark-io/domino":"2.2.0","@opentelemetry/api":"1.9.1","@protobufjs/base64":"1.1.2","data-uri-to-buffer":"4.0.1","es-define-property":"1.0.1","eventsource-parser":"3.1.0","express-rate-limit":"8.5.2","webidl-conversions":"8.0.1","xml-name-validator":"5.0.0","zod-to-json-schema":"3.25.2","@bramus/specificity":"2.4.2","@protobufjs/codegen":"2.0.5","content-disposition":"1.1.0","ecdsa-sig-formatter":"1.0.11","google-auth-library":"10.6.2","require-from-string":"2.0.2","@aws-sdk/xml-builder":"3.972.40","@mozilla/readability":"0.6.0","@smithy/signature-v4":"5.7.3","get-east-asian-width":"1.6.0","google-logging-utils":"1.1.3","json-schema-traverse":"1.0.0","side-channel-weakmap":"1.0.2","web-streams-polyfill":"3.3.3","@asamuzakjp/css-color":"6.0.7","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.9.6","@protobufjs/aspromise":"1.1.2","html-encoding-sniffer":"6.0.0","proxy-agent-negotiate":"1.1.0","@earendil-works/pi-pty":"npm:@code-yeongyu/senpi-pty@2026.9.6","@earendil-works/pi-tui":"npm:@code-yeongyu/senpi-tui@2026.9.6","@aws-sdk/nested-clients":"3.997.44","@csstools/color-helpers":"6.1.1","@csstools/css-tokenizer":"4.0.0","@mariozechner/clipboard":"*","call-bind-apply-helpers":"1.0.2","@asamuzakjp/dom-selector":"8.3.2","@aws-sdk/token-providers":"3.1116.0","@aws/lambda-invoke-store":"0.3.0","@protobufjs/eventemitter":"1.1.1","@modelcontextprotocol/sdk":"1.30.0","@smithy/node-http-handler":"4.11.3","@csstools/css-color-parser":"4.2.0","@silvia-odwyer/photon-node":"0.3.4","@smithy/fetch-http-handler":"5.7.2","buffer-equal-constant-time":"1.0.1","@code-yeongyu/senpi-codemode":"2026.9.6","@earendil-works/pi-telemetry":"npm:@code-yeongyu/senpi-telemetry@2026.9.6","@aws-sdk/middleware-websocket":"3.972.52","@earendil-works/pi-agent-core":"npm:@code-yeongyu/senpi-agent-core@2026.9.6","@anthropic-ai/claude-agent-sdk":"0.3.259","@aws-sdk/client-bedrock-runtime":"3.1116.0","@aws-sdk/middleware-eventstream":"3.972.29","@csstools/css-parser-algorithms":"4.0.0","@aws-sdk/credential-provider-env":"3.972.70","@aws-sdk/credential-provider-ini":"3.973.15","@aws-sdk/credential-provider-sso":"3.973.14","@smithy/credential-provider-imds":"4.5.2","is-potential-custom-element-name":"1.0.1","@aws-sdk/credential-provider-http":"3.972.72","@aws-sdk/credential-provider-node":"3.972.81","@aws-sdk/eventstream-handler-node":"3.972.34","@aws-sdk/credential-provider-login":"3.972.77","@aws-sdk/signature-v4-multi-region":"3.996.46","@aws-sdk/credential-provider-process":"3.972.70","@csstools/css-syntax-patches-for-csstree":"1.1.8","@aws-sdk/credential-provider-web-identity":"3.972.76"},"_hasShrinkwrap":false,"devDependencies":{"shx":"0.4.0","vitest":"4.1.11","@types/ws":"8.18.1","typescript":"7.0.2","@types/node":"26.2.0","@types/jsdom":"30.0.0","@types/semver":"7.8.0","@types/turndown":"5.0.6","@types/picomatch":"4.0.3","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@anthropic-ai/claude-agent-sdk","@anthropic-ai/sdk","@asamuzakjp/css-color","@asamuzakjp/dom-selector","@aws-sdk/client-bedrock-runtime","@aws-sdk/core","@aws-sdk/credential-provider-env","@aws-sdk/credential-provider-http","@aws-sdk/credential-provider-ini","@aws-sdk/credential-provider-login","@aws-sdk/credential-provider-node","@aws-sdk/credential-provider-process","@aws-sdk/credential-provider-sso","@aws-sdk/credential-provider-web-identity","@aws-sdk/eventstream-handler-node","@aws-sdk/middleware-eventstream","@aws-sdk/middleware-websocket","@aws-sdk/nested-clients","@aws-sdk/signature-v4-multi-region","@aws-sdk/token-providers","@aws-sdk/types","@aws-sdk/xml-builder","@aws/lambda-invoke-store","@babel/runtime","@bramus/specificity","@bufbuild/protobuf","@code-yeongyu/senpi-codemode","@csstools/color-helpers","@csstools/css-calc","@csstools/css-color-parser","@csstools/css-parser-algorithms","@csstools/css-syntax-patches-for-csstree","@csstools/css-tokenizer","@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-pty","@earendil-works/pi-telemetry","@earendil-works/pi-tui","@exodus/bytes","@google/genai","@hono/node-server","@mariozechner/clipboard","@mixmark-io/domino","@modelcontextprotocol/sdk","@mozilla/readability","@opentelemetry/api","@protobufjs/aspromise","@protobufjs/base64","@protobufjs/codegen","@protobufjs/eventemitter","@protobufjs/fetch","@protobufjs/float","@protobufjs/path","@protobufjs/pool","@protobufjs/utf8","@silvia-odwyer/photon-node","@smithy/core","@smithy/credential-provider-imds","@smithy/fetch-http-handler","@smithy/node-http-handler","@smithy/signature-v4","@smithy/types","@stablelib/base64","@types/node","@xterm/headless","accepts","agent-base","ajv","ajv-formats","balanced-match","base64-js","bidi-js","bignumber.js","body-parser","bowser","brace-expansion","buffer-equal-constant-time","bytes","call-bind-apply-helpers","call-bound","chalk","content-disposition","content-type","cookie","cookie-signature","cors","cross-spawn","css-tree","data-uri-to-buffer","data-urls","debug","decimal.js","depd","diff","dunder-proto","ecdsa-sig-formatter","ee-first","encodeurl","entities","es-define-property","es-errors","es-object-atoms","escape-html","etag","eventsource","eventsource-parser","express","express-rate-limit","extend","fast-deep-equal","fast-sha256","fast-uri","fetch-blob","finalhandler","formdata-polyfill","forwarded","fresh","function-bind","gaxios","gcp-metadata","get-east-asian-width","get-intrinsic","get-proto","glob","google-auth-library","google-logging-utils","gopd","graceful-fs","grok-mermaid","has-symbols","hasown","highlight.js","hono","hosted-git-info","html-encoding-sniffer","http-errors","http-proxy-agent","https-proxy-agent","iconv-lite","ignore","inherits","ip-address","ipaddr.js","is-potential-custom-element-name","is-promise","isexe","jiti","jose","jsdom","json-bigint","json-schema-to-ts","json-schema-traverse","json-schema-typed","jwa","jws","long","lru-cache","marked","math-intrinsics","mdn-data","media-typer","merge-descriptors","mime-db","mime-types","minimatch","minipass","ms","negotiator","node-domexception","node-fetch","object-assign","object-inspect","on-finished","once","openai","p-retry","parse5","parseurl","partial-json","path-key","path-scurry","path-to-regexp","picomatch","pkce-challenge","proper-lockfile","protobufjs","proxy-addr","proxy-agent-negotiate","proxy-from-env","punycode","qs","range-parser","raw-body","require-from-string","retry","router","safe-buffer","safer-buffer","saxes","semver","send","serve-static","setprototypeof","shebang-command","shebang-regex","side-channel","side-channel-list","side-channel-map","side-channel-weakmap","signal-exit","source-map-js","standardwebhooks","statuses","symbol-tree","tldts","tldts-core","toidentifier","tough-cookie","tr46","ts-algebra","tslib","turndown","type-is","typebox","undici","unpipe","vary","w3c-xmlserializer","web-streams-polyfill","webidl-conversions","whatwg-mimetype","whatwg-url","which","wrappy","ws","xml-name-validator","xmlchars","yaml","zod","zod-to-json-schema"],"optionalDependencies":{"@mariozechner/clipboard":"0.3.9","@mariozechner/clipboard-darwin-x64":"0.3.9","@mariozechner/clipboard-darwin-arm64":"0.3.9","@mariozechner/clipboard-linux-x64-gnu":"0.3.9","@mariozechner/clipboard-linux-x64-musl":"0.3.9","@mariozechner/clipboard-win32-x64-msvc":"0.3.9","@mariozechner/clipboard-linux-arm64-gnu":"0.3.9","@anthropic-ai/claude-agent-sdk-linux-x64":"0.3.259","@anthropic-ai/claude-agent-sdk-win32-x64":"0.3.259","@mariozechner/clipboard-darwin-universal":"0.3.9","@mariozechner/clipboard-linux-arm64-musl":"0.3.9","@mariozechner/clipboard-win32-arm64-msvc":"0.3.9","@anthropic-ai/claude-agent-sdk-darwin-x64":"0.3.259","@mariozechner/clipboard-linux-riscv64-gnu":"0.3.9","@anthropic-ai/claude-agent-sdk-linux-arm64":"0.3.259","@anthropic-ai/claude-agent-sdk-win32-arm64":"0.3.259","@anthropic-ai/claude-agent-sdk-darwin-arm64":"0.3.259","@anthropic-ai/claude-agent-sdk-linux-x64-musl":"0.3.259","@anthropic-ai/claude-agent-sdk-linux-arm64-musl":"0.3.259"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.9.6_1788716597148_0.07762683035954399","host":"s3://npm-registry-packages-npm-production"}},"2026.9.7":{"name":"@code-yeongyu/senpi","version":"2026.9.7","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.9.7","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"pi":"dist/bundle/cli.js","senpi":"dist/cli.js"},"dist":{"shasum":"9581034a74de4a86e9b81739908f56d553120b9b","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.9.7.tgz","fileCount":25111,"integrity":"sha512-K6E4+U1z5wl3SBAGCRa0YcJYcPfT4SsqIP9nhNl6d0dp4xXCV/xr2E3JfgXyTSALsPkjrIlMQJGWFis0Jcq5Hw==","signatures":[{"sig":"MEYCIQC+zi21W8nO/k4YpskFAwYirzumBcm/mmfnb5GvnkRf9AIhAJ9jDpTh5tKj49pZMkjuVz0/gu9NeEEukkd7PBYpVPCC","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.9.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":174304010},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.js"},"./rpc-entry":{"import":"./dist/rpc-entry.js"}},"scripts":{"dev":"tsc -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsc -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js dist/rpc-entry.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/","build:binary":"npm --prefix ../tui run build && npm --prefix ../telemetry run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm --prefix ../protocol run build && npm --prefix ../client run build && npm --prefix ../pty run build && npm run build && node ../../scripts/prepare-bun-compile-assets.mjs && bun build --compile --compile-autoload-package-json --no-compile-autoload-dotenv --no-compile-autoload-bunfig --minify --keep-names ./dist/bun/cli.js ./src/utils/image-resize-worker.ts ../../node_modules/jsdom/lib/jsdom/living/xhr/xhr-sync-worker.js --outfile dist/pi && npm run copy-binary-assets","qa:app-server":"node scripts/qa-app-server/run-all.mjs","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","build:unbundled":"tsgo -p tsconfig.build.json && shx chmod +x dist/cli.js dist/rpc-entry.js && npm run copy-assets","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/export-html/ && shx cp -r docs dist/ && shx cp -r examples dist/ && shx mkdir -p dist/node_modules && shx cp -r ../../node_modules/css-tree ../../node_modules/mdn-data ../../node_modules/source-map-js dist/node_modules/ && node ../../scripts/copy-codemode-sidecar.mjs dist && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/ && shx mkdir -p dist/native/darwin dist/native/win32 && shx cp -r ../../packages/tui/native/darwin/prebuilds dist/native/darwin/ && shx cp -r ../../packages/tui/native/win32/prebuilds dist/native/win32/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/ && node ../../scripts/copy-pty-native.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ea548fc8-dac4-4dec-a439-6f4fa3870309"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.3"},"rimraf":"6.1.3","protobufjs":"7.6.5","@hono/node-server":"2.1.1"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.19.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.20.0","dependencies":{"ms":"2.1.3","qs":"6.15.3","ws":"8.21.3","ajv":"8.20.0","jwa":"2.0.1","jws":"4.0.1","zod":"4.4.3","cors":"2.8.6","depd":"2.0.0","diff":"9.0.0","etag":"1.8.1","glob":"13.0.6","gopd":"1.2.0","hono":"4.12.27","jiti":"2.7.0","jose":"6.2.3","long":"5.3.2","once":"1.4.0","send":"1.2.1","tr46":"6.0.0","vary":"1.1.2","yaml":"2.9.0","bytes":"3.1.2","chalk":"6.0.0","debug":"4.4.3","fresh":"2.0.0","isexe":"2.0.0","jsdom":"30.0.1","retry":"0.13.1","saxes":"6.0.0","tldts":"7.4.10","tslib":"2.8.1","which":"2.0.2","bowser":"2.14.1","cookie":"0.7.2","extend":"3.0.2","gaxios":"7.1.4","hasown":"2.0.3","ignore":"7.0.6","marked":"18.0.10","openai":"6.26.0","parse5":"8.0.1","router":"2.2.0","semver":"7.8.5","undici":"8.10.0","unpipe":"1.0.0","wrappy":"1.0.2","accepts":"2.0.0","bidi-js":"1.0.3","express":"5.2.1","mime-db":"1.54.0","p-retry":"4.6.2","type-is":"2.1.0","typebox":"1.3.18","css-tree":"3.2.1","ee-first":"1.1.1","entities":"8.0.0","fast-uri":"3.1.4","inherits":"2.0.4","mdn-data":"2.27.1","minipass":"7.1.3","parseurl":"1.3.3","path-key":"3.1.1","punycode":"2.3.1","raw-body":"3.0.2","statuses":"2.0.2","turndown":"7.2.4","xmlchars":"2.2.0","base64-js":"1.5.1","data-urls":"7.0.0","encodeurl":"2.0.0","es-errors":"1.3.0","forwarded":"0.2.0","get-proto":"1.0.1","ipaddr.js":"1.9.1","lru-cache":"11.5.2","minimatch":"10.2.6","picomatch":"4.0.5","agent-base":"7.1.4","call-bound":"1.0.4","decimal.js":"10.6.0","fetch-blob":"3.2.0","iconv-lite":"0.7.3","ip-address":"10.2.0","is-promise":"4.0.0","mime-types":"3.0.2","negotiator":"1.0.0","node-fetch":"3.3.2","protobufjs":"7.6.5","proxy-addr":"2.0.7","tldts-core":"7.4.10","ts-algebra":"2.0.0","whatwg-url":"16.0.1","@types/node":"26.2.0","ajv-formats":"3.0.1","body-parser":"2.3.0","cross-spawn":"7.0.6","escape-html":"1.0.3","eventsource":"3.0.7","fast-sha256":"1.3.0","graceful-fs":"4.2.11","has-symbols":"1.1.0","http-errors":"2.0.1","json-bigint":"1.0.0","media-typer":"1.1.0","on-finished":"2.4.1","path-scurry":"2.0.2","safe-buffer":"5.2.1","signal-exit":"3.0.7","symbol-tree":"3.2.4","@smithy/core":"3.33.3","bignumber.js":"9.3.1","content-type":"1.0.5","dunder-proto":"1.0.1","finalhandler":"2.1.1","gcp-metadata":"8.1.2","grok-mermaid":"0.2.3","highlight.js":"11.12.0","partial-json":"0.1.7","range-parser":"1.3.0","safer-buffer":"2.1.2","serve-static":"2.2.1","side-channel":"1.1.1","toidentifier":"1.0.1","tough-cookie":"6.0.2","@aws-sdk/core":"3.977.9","@exodus/bytes":"1.15.1","@google/genai":"2.18.0","@smithy/types":"4.17.2","function-bind":"1.1.2","get-intrinsic":"1.3.0","object-assign":"4.1.1","shebang-regex":"3.0.0","source-map-js":"1.2.1","@aws-sdk/types":"3.974.5","@babel/runtime":"7.29.2","balanced-match":"4.0.4","object-inspect":"1.13.4","path-to-regexp":"8.4.2","pkce-challenge":"5.0.1","proxy-from-env":"2.1.0","setprototypeof":"1.2.0","@xterm/headless":"6.0.0","brace-expansion":"5.0.9","es-object-atoms":"1.1.2","fast-deep-equal":"3.1.3","hosted-git-info":"10.1.1","math-intrinsics":"1.1.0","proper-lockfile":"4.1.2","shebang-command":"2.0.0","whatwg-mimetype":"5.0.0","@protobufjs/path":"1.1.2","@protobufjs/pool":"1.1.0","@protobufjs/utf8":"1.1.1","cookie-signature":"1.2.2","http-proxy-agent":"9.1.0","side-channel-map":"1.0.1","standardwebhooks":"1.0.0","@anthropic-ai/sdk":"0.123.0","@hono/node-server":"2.1.1","@protobufjs/fetch":"1.1.1","@protobufjs/float":"1.0.2","@stablelib/base64":"1.0.1","formdata-polyfill":"4.0.10","https-proxy-agent":"9.1.0","json-schema-to-ts":"3.1.1","json-schema-typed":"8.0.2","merge-descriptors":"2.0.0","node-domexception":"1.0.0","side-channel-list":"1.0.1","w3c-xmlserializer":"5.0.0","@bufbuild/protobuf":"2.14.0","@csstools/css-calc":"3.3.0","@mixmark-io/domino":"2.2.0","@opentelemetry/api":"1.9.1","@protobufjs/base64":"1.1.2","data-uri-to-buffer":"4.0.1","es-define-property":"1.0.1","eventsource-parser":"3.1.0","express-rate-limit":"8.5.2","webidl-conversions":"8.0.1","xml-name-validator":"5.0.0","zod-to-json-schema":"3.25.2","@bramus/specificity":"2.4.2","@protobufjs/codegen":"2.0.5","content-disposition":"1.1.0","ecdsa-sig-formatter":"1.0.11","google-auth-library":"10.6.2","require-from-string":"2.0.2","@aws-sdk/xml-builder":"3.972.40","@mozilla/readability":"0.6.0","@smithy/signature-v4":"5.7.3","get-east-asian-width":"1.6.0","google-logging-utils":"1.1.3","json-schema-traverse":"1.0.0","side-channel-weakmap":"1.0.2","web-streams-polyfill":"3.3.3","@asamuzakjp/css-color":"6.0.7","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.9.7","@protobufjs/aspromise":"1.1.2","html-encoding-sniffer":"6.0.0","proxy-agent-negotiate":"1.1.0","@earendil-works/pi-pty":"npm:@code-yeongyu/senpi-pty@2026.9.7","@earendil-works/pi-tui":"npm:@code-yeongyu/senpi-tui@2026.9.7","@aws-sdk/nested-clients":"3.997.44","@csstools/color-helpers":"6.1.1","@csstools/css-tokenizer":"4.0.0","@mariozechner/clipboard":"*","call-bind-apply-helpers":"1.0.2","@asamuzakjp/dom-selector":"8.3.2","@aws-sdk/token-providers":"3.1116.0","@aws/lambda-invoke-store":"0.3.0","@protobufjs/eventemitter":"1.1.1","@modelcontextprotocol/sdk":"1.30.0","@smithy/node-http-handler":"4.11.3","@csstools/css-color-parser":"4.2.0","@silvia-odwyer/photon-node":"0.3.4","@smithy/fetch-http-handler":"5.7.2","buffer-equal-constant-time":"1.0.1","@code-yeongyu/senpi-codemode":"2026.9.7","@earendil-works/pi-telemetry":"npm:@code-yeongyu/senpi-telemetry@2026.9.7","@aws-sdk/middleware-websocket":"3.972.52","@earendil-works/pi-agent-core":"npm:@code-yeongyu/senpi-agent-core@2026.9.7","@anthropic-ai/claude-agent-sdk":"0.3.259","@aws-sdk/client-bedrock-runtime":"3.1116.0","@aws-sdk/middleware-eventstream":"3.972.29","@csstools/css-parser-algorithms":"4.0.0","@aws-sdk/credential-provider-env":"3.972.70","@aws-sdk/credential-provider-ini":"3.973.15","@aws-sdk/credential-provider-sso":"3.973.14","@smithy/credential-provider-imds":"4.5.2","is-potential-custom-element-name":"1.0.1","@aws-sdk/credential-provider-http":"3.972.72","@aws-sdk/credential-provider-node":"3.972.81","@aws-sdk/eventstream-handler-node":"3.972.34","@aws-sdk/credential-provider-login":"3.972.77","@aws-sdk/signature-v4-multi-region":"3.996.46","@aws-sdk/credential-provider-process":"3.972.70","@csstools/css-syntax-patches-for-csstree":"1.1.8","@aws-sdk/credential-provider-web-identity":"3.972.76"},"_hasShrinkwrap":false,"devDependencies":{"shx":"0.4.0","vitest":"4.1.11","@types/ws":"8.18.1","typescript":"7.0.2","@types/node":"26.2.0","@types/jsdom":"30.0.0","@types/semver":"7.8.0","@types/turndown":"5.0.6","@types/picomatch":"4.0.3","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@anthropic-ai/claude-agent-sdk","@anthropic-ai/sdk","@asamuzakjp/css-color","@asamuzakjp/dom-selector","@aws-sdk/client-bedrock-runtime","@aws-sdk/core","@aws-sdk/credential-provider-env","@aws-sdk/credential-provider-http","@aws-sdk/credential-provider-ini","@aws-sdk/credential-provider-login","@aws-sdk/credential-provider-node","@aws-sdk/credential-provider-process","@aws-sdk/credential-provider-sso","@aws-sdk/credential-provider-web-identity","@aws-sdk/eventstream-handler-node","@aws-sdk/middleware-eventstream","@aws-sdk/middleware-websocket","@aws-sdk/nested-clients","@aws-sdk/signature-v4-multi-region","@aws-sdk/token-providers","@aws-sdk/types","@aws-sdk/xml-builder","@aws/lambda-invoke-store","@babel/runtime","@bramus/specificity","@bufbuild/protobuf","@code-yeongyu/senpi-codemode","@csstools/color-helpers","@csstools/css-calc","@csstools/css-color-parser","@csstools/css-parser-algorithms","@csstools/css-syntax-patches-for-csstree","@csstools/css-tokenizer","@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-pty","@earendil-works/pi-telemetry","@earendil-works/pi-tui","@exodus/bytes","@google/genai","@hono/node-server","@mariozechner/clipboard","@mixmark-io/domino","@modelcontextprotocol/sdk","@mozilla/readability","@opentelemetry/api","@protobufjs/aspromise","@protobufjs/base64","@protobufjs/codegen","@protobufjs/eventemitter","@protobufjs/fetch","@protobufjs/float","@protobufjs/path","@protobufjs/pool","@protobufjs/utf8","@silvia-odwyer/photon-node","@smithy/core","@smithy/credential-provider-imds","@smithy/fetch-http-handler","@smithy/node-http-handler","@smithy/signature-v4","@smithy/types","@stablelib/base64","@types/node","@xterm/headless","accepts","agent-base","ajv","ajv-formats","balanced-match","base64-js","bidi-js","bignumber.js","body-parser","bowser","brace-expansion","buffer-equal-constant-time","bytes","call-bind-apply-helpers","call-bound","chalk","content-disposition","content-type","cookie","cookie-signature","cors","cross-spawn","css-tree","data-uri-to-buffer","data-urls","debug","decimal.js","depd","diff","dunder-proto","ecdsa-sig-formatter","ee-first","encodeurl","entities","es-define-property","es-errors","es-object-atoms","escape-html","etag","eventsource","eventsource-parser","express","express-rate-limit","extend","fast-deep-equal","fast-sha256","fast-uri","fetch-blob","finalhandler","formdata-polyfill","forwarded","fresh","function-bind","gaxios","gcp-metadata","get-east-asian-width","get-intrinsic","get-proto","glob","google-auth-library","google-logging-utils","gopd","graceful-fs","grok-mermaid","has-symbols","hasown","highlight.js","hono","hosted-git-info","html-encoding-sniffer","http-errors","http-proxy-agent","https-proxy-agent","iconv-lite","ignore","inherits","ip-address","ipaddr.js","is-potential-custom-element-name","is-promise","isexe","jiti","jose","jsdom","json-bigint","json-schema-to-ts","json-schema-traverse","json-schema-typed","jwa","jws","long","lru-cache","marked","math-intrinsics","mdn-data","media-typer","merge-descriptors","mime-db","mime-types","minimatch","minipass","ms","negotiator","node-domexception","node-fetch","object-assign","object-inspect","on-finished","once","openai","p-retry","parse5","parseurl","partial-json","path-key","path-scurry","path-to-regexp","picomatch","pkce-challenge","proper-lockfile","protobufjs","proxy-addr","proxy-agent-negotiate","proxy-from-env","punycode","qs","range-parser","raw-body","require-from-string","retry","router","safe-buffer","safer-buffer","saxes","semver","send","serve-static","setprototypeof","shebang-command","shebang-regex","side-channel","side-channel-list","side-channel-map","side-channel-weakmap","signal-exit","source-map-js","standardwebhooks","statuses","symbol-tree","tldts","tldts-core","toidentifier","tough-cookie","tr46","ts-algebra","tslib","turndown","type-is","typebox","undici","unpipe","vary","w3c-xmlserializer","web-streams-polyfill","webidl-conversions","whatwg-mimetype","whatwg-url","which","wrappy","ws","xml-name-validator","xmlchars","yaml","zod","zod-to-json-schema"],"optionalDependencies":{"@mariozechner/clipboard":"0.3.9","@mariozechner/clipboard-darwin-x64":"0.3.9","@mariozechner/clipboard-darwin-arm64":"0.3.9","@mariozechner/clipboard-linux-x64-gnu":"0.3.9","@mariozechner/clipboard-linux-x64-musl":"0.3.9","@mariozechner/clipboard-win32-x64-msvc":"0.3.9","@mariozechner/clipboard-linux-arm64-gnu":"0.3.9","@anthropic-ai/claude-agent-sdk-linux-x64":"0.3.259","@anthropic-ai/claude-agent-sdk-win32-x64":"0.3.259","@mariozechner/clipboard-darwin-universal":"0.3.9","@mariozechner/clipboard-linux-arm64-musl":"0.3.9","@mariozechner/clipboard-win32-arm64-msvc":"0.3.9","@anthropic-ai/claude-agent-sdk-darwin-x64":"0.3.259","@mariozechner/clipboard-linux-riscv64-gnu":"0.3.9","@anthropic-ai/claude-agent-sdk-linux-arm64":"0.3.259","@anthropic-ai/claude-agent-sdk-win32-arm64":"0.3.259","@anthropic-ai/claude-agent-sdk-darwin-arm64":"0.3.259","@anthropic-ai/claude-agent-sdk-linux-x64-musl":"0.3.259","@anthropic-ai/claude-agent-sdk-linux-arm64-musl":"0.3.259"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.9.7_1788751576735_0.13411686051757576","host":"s3://npm-registry-packages-npm-production"}},"2026.9.7-2":{"name":"@code-yeongyu/senpi","version":"2026.9.7-2","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.9.7-2","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"pi":"dist/bundle/cli.js","senpi":"dist/cli.js"},"dist":{"shasum":"a40410153159b07f7378679408b65b809766b1a4","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.9.7-2.tgz","fileCount":25124,"integrity":"sha512-Ave5dNzjYrvvjHEhdkqTMudJ/lYmH6cpefWM44iD35wjkFxttsP8yjcEBlPhmdwLa/RaswfEz5x38ZiqYVVkMg==","signatures":[{"sig":"MEUCIQCaN9kSghL8b8QQzDELzTLo4fECvnkXFXB9qmUxcWOBrwIgTkxvqjOwcUrpn4CP4m6lMjxQL6T9ejQJcCpxcUPn3rE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.9.7-2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":174433571},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.js"},"./rpc-entry":{"import":"./dist/rpc-entry.js"}},"scripts":{"dev":"tsc -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsc -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js dist/rpc-entry.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/","build:binary":"npm --prefix ../tui run build && npm --prefix ../telemetry run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm --prefix ../protocol run build && npm --prefix ../client run build && npm --prefix ../pty run build && npm run build && node ../../scripts/prepare-bun-compile-assets.mjs && bun build --compile --compile-autoload-package-json --no-compile-autoload-dotenv --no-compile-autoload-bunfig --minify --keep-names ./dist/bun/cli.js ./src/utils/image-resize-worker.ts ../../node_modules/jsdom/lib/jsdom/living/xhr/xhr-sync-worker.js --outfile dist/pi && npm run copy-binary-assets","qa:app-server":"node scripts/qa-app-server/run-all.mjs","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","build:unbundled":"tsgo -p tsconfig.build.json && shx chmod +x dist/cli.js dist/rpc-entry.js && npm run copy-assets","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/export-html/ && shx cp -r docs dist/ && shx cp -r examples dist/ && shx mkdir -p dist/node_modules && shx cp -r ../../node_modules/css-tree ../../node_modules/mdn-data ../../node_modules/source-map-js dist/node_modules/ && node ../../scripts/copy-codemode-sidecar.mjs dist && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/ && shx mkdir -p dist/native/darwin dist/native/win32 && shx cp -r ../../packages/tui/native/darwin/prebuilds dist/native/darwin/ && shx cp -r ../../packages/tui/native/win32/prebuilds dist/native/win32/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/ && node ../../scripts/copy-pty-native.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ea548fc8-dac4-4dec-a439-6f4fa3870309"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.3"},"rimraf":"6.1.3","protobufjs":"7.6.5","@hono/node-server":"2.1.1"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.19.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.20.0","dependencies":{"ms":"2.1.3","qs":"6.15.3","ws":"8.21.3","ajv":"8.20.0","jwa":"2.0.1","jws":"4.0.1","zod":"4.4.3","cors":"2.8.6","depd":"2.0.0","diff":"9.0.0","etag":"1.8.1","glob":"13.0.6","gopd":"1.2.0","hono":"4.12.27","jiti":"2.7.0","jose":"6.2.3","long":"5.3.2","once":"1.4.0","send":"1.2.1","tr46":"6.0.0","vary":"1.1.2","yaml":"2.9.0","bytes":"3.1.2","chalk":"6.0.0","debug":"4.4.3","fresh":"2.0.0","isexe":"2.0.0","jsdom":"30.0.1","retry":"0.13.1","saxes":"6.0.0","tldts":"7.4.10","tslib":"2.8.1","which":"2.0.2","bowser":"2.14.1","cookie":"0.7.2","extend":"3.0.2","gaxios":"7.1.4","hasown":"2.0.3","ignore":"7.0.6","marked":"18.0.10","openai":"6.26.0","parse5":"8.0.1","router":"2.2.0","semver":"7.8.5","undici":"8.10.0","unpipe":"1.0.0","wrappy":"1.0.2","accepts":"2.0.0","bidi-js":"1.0.3","express":"5.2.1","mime-db":"1.54.0","p-retry":"4.6.2","type-is":"2.1.0","typebox":"1.3.18","css-tree":"3.2.1","ee-first":"1.1.1","entities":"8.0.0","fast-uri":"3.1.4","inherits":"2.0.4","mdn-data":"2.27.1","minipass":"7.1.3","parseurl":"1.3.3","path-key":"3.1.1","punycode":"2.3.1","raw-body":"3.0.2","statuses":"2.0.2","turndown":"7.2.4","xmlchars":"2.2.0","base64-js":"1.5.1","data-urls":"7.0.0","encodeurl":"2.0.0","es-errors":"1.3.0","forwarded":"0.2.0","get-proto":"1.0.1","ipaddr.js":"1.9.1","lru-cache":"11.5.2","minimatch":"10.2.6","picomatch":"4.0.5","agent-base":"7.1.4","call-bound":"1.0.4","decimal.js":"10.6.0","fetch-blob":"3.2.0","iconv-lite":"0.7.3","ip-address":"10.2.0","is-promise":"4.0.0","mime-types":"3.0.2","negotiator":"1.0.0","node-fetch":"3.3.2","protobufjs":"7.6.5","proxy-addr":"2.0.7","tldts-core":"7.4.10","ts-algebra":"2.0.0","whatwg-url":"16.0.1","@types/node":"26.2.0","ajv-formats":"3.0.1","body-parser":"2.3.0","cross-spawn":"7.0.6","escape-html":"1.0.3","eventsource":"3.0.7","fast-sha256":"1.3.0","graceful-fs":"4.2.11","has-symbols":"1.1.0","http-errors":"2.0.1","json-bigint":"1.0.0","media-typer":"1.1.0","on-finished":"2.4.1","path-scurry":"2.0.2","safe-buffer":"5.2.1","signal-exit":"3.0.7","symbol-tree":"3.2.4","@smithy/core":"3.33.3","bignumber.js":"9.3.1","content-type":"1.0.5","dunder-proto":"1.0.1","finalhandler":"2.1.1","gcp-metadata":"8.1.2","grok-mermaid":"0.2.3","highlight.js":"11.12.0","partial-json":"0.1.7","range-parser":"1.3.0","safer-buffer":"2.1.2","serve-static":"2.2.1","side-channel":"1.1.1","toidentifier":"1.0.1","tough-cookie":"6.0.2","@aws-sdk/core":"3.977.9","@exodus/bytes":"1.15.1","@google/genai":"2.18.0","@smithy/types":"4.17.2","function-bind":"1.1.2","get-intrinsic":"1.3.0","object-assign":"4.1.1","shebang-regex":"3.0.0","source-map-js":"1.2.1","@aws-sdk/types":"3.974.5","@babel/runtime":"7.29.2","balanced-match":"4.0.4","object-inspect":"1.13.4","path-to-regexp":"8.4.2","pkce-challenge":"5.0.1","proxy-from-env":"2.1.0","setprototypeof":"1.2.0","@xterm/headless":"6.0.0","brace-expansion":"5.0.9","es-object-atoms":"1.1.2","fast-deep-equal":"3.1.3","hosted-git-info":"10.1.1","math-intrinsics":"1.1.0","proper-lockfile":"4.1.2","shebang-command":"2.0.0","whatwg-mimetype":"5.0.0","@protobufjs/path":"1.1.2","@protobufjs/pool":"1.1.0","@protobufjs/utf8":"1.1.1","cookie-signature":"1.2.2","http-proxy-agent":"9.1.0","side-channel-map":"1.0.1","standardwebhooks":"1.0.0","@anthropic-ai/sdk":"0.123.0","@hono/node-server":"2.1.1","@protobufjs/fetch":"1.1.1","@protobufjs/float":"1.0.2","@stablelib/base64":"1.0.1","formdata-polyfill":"4.0.10","https-proxy-agent":"9.1.0","json-schema-to-ts":"3.1.1","json-schema-typed":"8.0.2","merge-descriptors":"2.0.0","node-domexception":"1.0.0","side-channel-list":"1.0.1","w3c-xmlserializer":"5.0.0","@bufbuild/protobuf":"2.14.0","@csstools/css-calc":"3.3.0","@mixmark-io/domino":"2.2.0","@opentelemetry/api":"1.9.1","@protobufjs/base64":"1.1.2","data-uri-to-buffer":"4.0.1","es-define-property":"1.0.1","eventsource-parser":"3.1.0","express-rate-limit":"8.5.2","webidl-conversions":"8.0.1","xml-name-validator":"5.0.0","zod-to-json-schema":"3.25.2","@bramus/specificity":"2.4.2","@protobufjs/codegen":"2.0.5","content-disposition":"1.1.0","ecdsa-sig-formatter":"1.0.11","google-auth-library":"10.6.2","require-from-string":"2.0.2","@aws-sdk/xml-builder":"3.972.40","@mozilla/readability":"0.6.0","@smithy/signature-v4":"5.7.3","get-east-asian-width":"1.6.0","google-logging-utils":"1.1.3","json-schema-traverse":"1.0.0","side-channel-weakmap":"1.0.2","web-streams-polyfill":"3.3.3","@asamuzakjp/css-color":"6.0.7","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.9.7-2","@protobufjs/aspromise":"1.1.2","html-encoding-sniffer":"6.0.0","proxy-agent-negotiate":"1.1.0","@earendil-works/pi-pty":"npm:@code-yeongyu/senpi-pty@2026.9.7-2","@earendil-works/pi-tui":"npm:@code-yeongyu/senpi-tui@2026.9.7-2","@aws-sdk/nested-clients":"3.997.44","@csstools/color-helpers":"6.1.1","@csstools/css-tokenizer":"4.0.0","@mariozechner/clipboard":"*","call-bind-apply-helpers":"1.0.2","@asamuzakjp/dom-selector":"8.3.2","@aws-sdk/token-providers":"3.1116.0","@aws/lambda-invoke-store":"0.3.0","@protobufjs/eventemitter":"1.1.1","@modelcontextprotocol/sdk":"1.30.0","@smithy/node-http-handler":"4.11.3","@csstools/css-color-parser":"4.2.0","@silvia-odwyer/photon-node":"0.3.4","@smithy/fetch-http-handler":"5.7.2","buffer-equal-constant-time":"1.0.1","@code-yeongyu/senpi-codemode":"2026.9.7-2","@earendil-works/pi-telemetry":"npm:@code-yeongyu/senpi-telemetry@2026.9.7-2","@aws-sdk/middleware-websocket":"3.972.52","@earendil-works/pi-agent-core":"npm:@code-yeongyu/senpi-agent-core@2026.9.7-2","@anthropic-ai/claude-agent-sdk":"0.3.259","@aws-sdk/client-bedrock-runtime":"3.1116.0","@aws-sdk/middleware-eventstream":"3.972.29","@csstools/css-parser-algorithms":"4.0.0","@aws-sdk/credential-provider-env":"3.972.70","@aws-sdk/credential-provider-ini":"3.973.15","@aws-sdk/credential-provider-sso":"3.973.14","@smithy/credential-provider-imds":"4.5.2","is-potential-custom-element-name":"1.0.1","@aws-sdk/credential-provider-http":"3.972.72","@aws-sdk/credential-provider-node":"3.972.81","@aws-sdk/eventstream-handler-node":"3.972.34","@aws-sdk/credential-provider-login":"3.972.77","@aws-sdk/signature-v4-multi-region":"3.996.46","@aws-sdk/credential-provider-process":"3.972.70","@csstools/css-syntax-patches-for-csstree":"1.1.8","@aws-sdk/credential-provider-web-identity":"3.972.76"},"_hasShrinkwrap":false,"devDependencies":{"shx":"0.4.0","vitest":"4.1.11","@types/ws":"8.18.1","typescript":"7.0.2","@types/node":"26.2.0","@types/jsdom":"30.0.0","@types/semver":"7.8.0","@types/turndown":"5.0.6","@types/picomatch":"4.0.3","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@anthropic-ai/claude-agent-sdk","@anthropic-ai/sdk","@asamuzakjp/css-color","@asamuzakjp/dom-selector","@aws-sdk/client-bedrock-runtime","@aws-sdk/core","@aws-sdk/credential-provider-env","@aws-sdk/credential-provider-http","@aws-sdk/credential-provider-ini","@aws-sdk/credential-provider-login","@aws-sdk/credential-provider-node","@aws-sdk/credential-provider-process","@aws-sdk/credential-provider-sso","@aws-sdk/credential-provider-web-identity","@aws-sdk/eventstream-handler-node","@aws-sdk/middleware-eventstream","@aws-sdk/middleware-websocket","@aws-sdk/nested-clients","@aws-sdk/signature-v4-multi-region","@aws-sdk/token-providers","@aws-sdk/types","@aws-sdk/xml-builder","@aws/lambda-invoke-store","@babel/runtime","@bramus/specificity","@bufbuild/protobuf","@code-yeongyu/senpi-codemode","@csstools/color-helpers","@csstools/css-calc","@csstools/css-color-parser","@csstools/css-parser-algorithms","@csstools/css-syntax-patches-for-csstree","@csstools/css-tokenizer","@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-pty","@earendil-works/pi-telemetry","@earendil-works/pi-tui","@exodus/bytes","@google/genai","@hono/node-server","@mariozechner/clipboard","@mixmark-io/domino","@modelcontextprotocol/sdk","@mozilla/readability","@opentelemetry/api","@protobufjs/aspromise","@protobufjs/base64","@protobufjs/codegen","@protobufjs/eventemitter","@protobufjs/fetch","@protobufjs/float","@protobufjs/path","@protobufjs/pool","@protobufjs/utf8","@silvia-odwyer/photon-node","@smithy/core","@smithy/credential-provider-imds","@smithy/fetch-http-handler","@smithy/node-http-handler","@smithy/signature-v4","@smithy/types","@stablelib/base64","@types/node","@xterm/headless","accepts","agent-base","ajv","ajv-formats","balanced-match","base64-js","bidi-js","bignumber.js","body-parser","bowser","brace-expansion","buffer-equal-constant-time","bytes","call-bind-apply-helpers","call-bound","chalk","content-disposition","content-type","cookie","cookie-signature","cors","cross-spawn","css-tree","data-uri-to-buffer","data-urls","debug","decimal.js","depd","diff","dunder-proto","ecdsa-sig-formatter","ee-first","encodeurl","entities","es-define-property","es-errors","es-object-atoms","escape-html","etag","eventsource","eventsource-parser","express","express-rate-limit","extend","fast-deep-equal","fast-sha256","fast-uri","fetch-blob","finalhandler","formdata-polyfill","forwarded","fresh","function-bind","gaxios","gcp-metadata","get-east-asian-width","get-intrinsic","get-proto","glob","google-auth-library","google-logging-utils","gopd","graceful-fs","grok-mermaid","has-symbols","hasown","highlight.js","hono","hosted-git-info","html-encoding-sniffer","http-errors","http-proxy-agent","https-proxy-agent","iconv-lite","ignore","inherits","ip-address","ipaddr.js","is-potential-custom-element-name","is-promise","isexe","jiti","jose","jsdom","json-bigint","json-schema-to-ts","json-schema-traverse","json-schema-typed","jwa","jws","long","lru-cache","marked","math-intrinsics","mdn-data","media-typer","merge-descriptors","mime-db","mime-types","minimatch","minipass","ms","negotiator","node-domexception","node-fetch","object-assign","object-inspect","on-finished","once","openai","p-retry","parse5","parseurl","partial-json","path-key","path-scurry","path-to-regexp","picomatch","pkce-challenge","proper-lockfile","protobufjs","proxy-addr","proxy-agent-negotiate","proxy-from-env","punycode","qs","range-parser","raw-body","require-from-string","retry","router","safe-buffer","safer-buffer","saxes","semver","send","serve-static","setprototypeof","shebang-command","shebang-regex","side-channel","side-channel-list","side-channel-map","side-channel-weakmap","signal-exit","source-map-js","standardwebhooks","statuses","symbol-tree","tldts","tldts-core","toidentifier","tough-cookie","tr46","ts-algebra","tslib","turndown","type-is","typebox","undici","unpipe","vary","w3c-xmlserializer","web-streams-polyfill","webidl-conversions","whatwg-mimetype","whatwg-url","which","wrappy","ws","xml-name-validator","xmlchars","yaml","zod","zod-to-json-schema"],"optionalDependencies":{"@mariozechner/clipboard":"0.3.9","@mariozechner/clipboard-darwin-x64":"0.3.9","@mariozechner/clipboard-darwin-arm64":"0.3.9","@mariozechner/clipboard-linux-x64-gnu":"0.3.9","@mariozechner/clipboard-linux-x64-musl":"0.3.9","@mariozechner/clipboard-win32-x64-msvc":"0.3.9","@mariozechner/clipboard-linux-arm64-gnu":"0.3.9","@anthropic-ai/claude-agent-sdk-linux-x64":"0.3.259","@anthropic-ai/claude-agent-sdk-win32-x64":"0.3.259","@mariozechner/clipboard-darwin-universal":"0.3.9","@mariozechner/clipboard-linux-arm64-musl":"0.3.9","@mariozechner/clipboard-win32-arm64-msvc":"0.3.9","@anthropic-ai/claude-agent-sdk-darwin-x64":"0.3.259","@mariozechner/clipboard-linux-riscv64-gnu":"0.3.9","@anthropic-ai/claude-agent-sdk-linux-arm64":"0.3.259","@anthropic-ai/claude-agent-sdk-win32-arm64":"0.3.259","@anthropic-ai/claude-agent-sdk-darwin-arm64":"0.3.259","@anthropic-ai/claude-agent-sdk-linux-x64-musl":"0.3.259","@anthropic-ai/claude-agent-sdk-linux-arm64-musl":"0.3.259"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.9.7-2_1788800362448_0.9216622875686642","host":"s3://npm-registry-packages-npm-production"}},"2026.9.8":{"name":"@code-yeongyu/senpi","version":"2026.9.8","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.9.8","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"pi":"dist/bundle/cli.js","senpi":"dist/cli.js"},"dist":{"shasum":"a4927839e074d3f929d0ba0ef1826228d16f9fbe","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.9.8.tgz","fileCount":25144,"integrity":"sha512-Yl7rBSzZowVmBWPm+H9dsZ2QS7ymbPyGZbmqp4XwcD4h4xOAKO7QZRaEUiQnwfCXZojX22Qdh536shIQSfJyUQ==","signatures":[{"sig":"MEUCIDAerjXlbG99lAF6p5FvNgDoMdMbNAIkXLRE79d8RPJWAiEA7gHqRJOMSOeHz+/QvoTr0eT77xuO0JKVpd8CWwdMf4A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.9.8","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":174571251},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.js"},"./rpc-entry":{"import":"./dist/rpc-entry.js"}},"scripts":{"dev":"tsc -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsc -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js dist/rpc-entry.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/","build:binary":"npm --prefix ../tui run build && npm --prefix ../telemetry run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm --prefix ../protocol run build && npm --prefix ../client run build && npm --prefix ../pty run build && npm run build && node ../../scripts/prepare-bun-compile-assets.mjs && bun build --compile --compile-autoload-package-json --no-compile-autoload-dotenv --no-compile-autoload-bunfig --minify --keep-names ./dist/bun/cli.js ./src/utils/image-resize-worker.ts ../../node_modules/jsdom/lib/jsdom/living/xhr/xhr-sync-worker.js --outfile dist/pi && npm run copy-binary-assets","qa:app-server":"node scripts/qa-app-server/run-all.mjs","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","build:unbundled":"tsgo -p tsconfig.build.json && shx chmod +x dist/cli.js dist/rpc-entry.js && npm run copy-assets","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/export-html/ && shx cp -r docs dist/ && shx cp -r examples dist/ && shx mkdir -p dist/node_modules && shx cp -r ../../node_modules/css-tree ../../node_modules/mdn-data ../../node_modules/source-map-js dist/node_modules/ && node ../../scripts/copy-codemode-sidecar.mjs dist && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/ && shx mkdir -p dist/native/darwin dist/native/win32 && shx cp -r ../../packages/tui/native/darwin/prebuilds dist/native/darwin/ && shx cp -r ../../packages/tui/native/win32/prebuilds dist/native/win32/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/ && node ../../scripts/copy-pty-native.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ea548fc8-dac4-4dec-a439-6f4fa3870309"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.3"},"rimraf":"6.1.3","protobufjs":"7.6.5","@hono/node-server":"2.1.1"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.19.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.20.0","dependencies":{"ms":"2.1.3","qs":"6.15.3","ws":"8.21.3","ajv":"8.20.0","jwa":"2.0.1","jws":"4.0.1","zod":"4.4.3","cors":"2.8.6","depd":"2.0.0","diff":"9.0.0","etag":"1.8.1","glob":"13.0.6","gopd":"1.2.0","hono":"4.12.27","jiti":"2.7.0","jose":"6.2.3","long":"5.3.2","once":"1.4.0","send":"1.2.1","tr46":"6.0.0","vary":"1.1.2","yaml":"2.9.0","bytes":"3.1.2","chalk":"6.0.0","debug":"4.4.3","fresh":"2.0.0","isexe":"2.0.0","jsdom":"30.0.1","retry":"0.13.1","saxes":"6.0.0","tldts":"7.4.10","tslib":"2.8.1","which":"2.0.2","bowser":"2.14.1","cookie":"0.7.2","extend":"3.0.2","gaxios":"7.1.4","hasown":"2.0.3","ignore":"7.0.6","marked":"18.0.10","openai":"6.26.0","parse5":"8.0.1","router":"2.2.0","semver":"7.8.5","undici":"8.10.0","unpipe":"1.0.0","wrappy":"1.0.2","accepts":"2.0.0","bidi-js":"1.0.3","express":"5.2.1","mime-db":"1.54.0","p-retry":"4.6.2","type-is":"2.1.0","typebox":"1.3.18","css-tree":"3.2.1","ee-first":"1.1.1","entities":"8.0.0","fast-uri":"3.1.4","inherits":"2.0.4","mdn-data":"2.27.1","minipass":"7.1.3","parseurl":"1.3.3","path-key":"3.1.1","punycode":"2.3.1","raw-body":"3.0.2","statuses":"2.0.2","turndown":"7.2.4","xmlchars":"2.2.0","base64-js":"1.5.1","data-urls":"7.0.0","encodeurl":"2.0.0","es-errors":"1.3.0","forwarded":"0.2.0","get-proto":"1.0.1","ipaddr.js":"1.9.1","lru-cache":"11.5.2","minimatch":"10.2.6","picomatch":"4.0.5","agent-base":"7.1.4","call-bound":"1.0.4","decimal.js":"10.6.0","fetch-blob":"3.2.0","iconv-lite":"0.7.3","ip-address":"10.2.0","is-promise":"4.0.0","mime-types":"3.0.2","negotiator":"1.0.0","node-fetch":"3.3.2","protobufjs":"7.6.5","proxy-addr":"2.0.7","tldts-core":"7.4.10","ts-algebra":"2.0.0","whatwg-url":"16.0.1","@types/node":"26.2.0","ajv-formats":"3.0.1","body-parser":"2.3.0","cross-spawn":"7.0.6","escape-html":"1.0.3","eventsource":"3.0.7","fast-sha256":"1.3.0","graceful-fs":"4.2.11","has-symbols":"1.1.0","http-errors":"2.0.1","json-bigint":"1.0.0","media-typer":"1.1.0","on-finished":"2.4.1","path-scurry":"2.0.2","safe-buffer":"5.2.1","signal-exit":"3.0.7","symbol-tree":"3.2.4","@smithy/core":"3.33.3","bignumber.js":"9.3.1","content-type":"1.0.5","dunder-proto":"1.0.1","finalhandler":"2.1.1","gcp-metadata":"8.1.2","grok-mermaid":"0.2.3","highlight.js":"11.12.0","partial-json":"0.1.7","range-parser":"1.3.0","safer-buffer":"2.1.2","serve-static":"2.2.1","side-channel":"1.1.1","toidentifier":"1.0.1","tough-cookie":"6.0.2","@aws-sdk/core":"3.977.9","@exodus/bytes":"1.15.1","@google/genai":"2.18.0","@smithy/types":"4.17.2","function-bind":"1.1.2","get-intrinsic":"1.3.0","object-assign":"4.1.1","shebang-regex":"3.0.0","source-map-js":"1.2.1","@aws-sdk/types":"3.974.5","@babel/runtime":"7.29.2","balanced-match":"4.0.4","object-inspect":"1.13.4","path-to-regexp":"8.4.2","pkce-challenge":"5.0.1","proxy-from-env":"2.1.0","setprototypeof":"1.2.0","@xterm/headless":"6.0.0","brace-expansion":"5.0.9","es-object-atoms":"1.1.2","fast-deep-equal":"3.1.3","hosted-git-info":"10.1.1","math-intrinsics":"1.1.0","proper-lockfile":"4.1.2","shebang-command":"2.0.0","whatwg-mimetype":"5.0.0","@protobufjs/path":"1.1.2","@protobufjs/pool":"1.1.0","@protobufjs/utf8":"1.1.1","cookie-signature":"1.2.2","http-proxy-agent":"9.1.0","side-channel-map":"1.0.1","standardwebhooks":"1.0.0","@anthropic-ai/sdk":"0.123.0","@hono/node-server":"2.1.1","@protobufjs/fetch":"1.1.1","@protobufjs/float":"1.0.2","@stablelib/base64":"1.0.1","formdata-polyfill":"4.0.10","https-proxy-agent":"9.1.0","json-schema-to-ts":"3.1.1","json-schema-typed":"8.0.2","merge-descriptors":"2.0.0","node-domexception":"1.0.0","side-channel-list":"1.0.1","w3c-xmlserializer":"5.0.0","@bufbuild/protobuf":"2.14.0","@csstools/css-calc":"3.3.0","@mixmark-io/domino":"2.2.0","@opentelemetry/api":"1.9.1","@protobufjs/base64":"1.1.2","data-uri-to-buffer":"4.0.1","es-define-property":"1.0.1","eventsource-parser":"3.1.0","express-rate-limit":"8.5.2","webidl-conversions":"8.0.1","xml-name-validator":"5.0.0","zod-to-json-schema":"3.25.2","@bramus/specificity":"2.4.2","@protobufjs/codegen":"2.0.5","content-disposition":"1.1.0","ecdsa-sig-formatter":"1.0.11","google-auth-library":"10.6.2","require-from-string":"2.0.2","@aws-sdk/xml-builder":"3.972.40","@mozilla/readability":"0.6.0","@smithy/signature-v4":"5.7.3","get-east-asian-width":"1.6.0","google-logging-utils":"1.1.3","json-schema-traverse":"1.0.0","side-channel-weakmap":"1.0.2","web-streams-polyfill":"3.3.3","@asamuzakjp/css-color":"6.0.7","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.9.8","@protobufjs/aspromise":"1.1.2","html-encoding-sniffer":"6.0.0","proxy-agent-negotiate":"1.1.0","@earendil-works/pi-pty":"npm:@code-yeongyu/senpi-pty@2026.9.8","@earendil-works/pi-tui":"npm:@code-yeongyu/senpi-tui@2026.9.8","@aws-sdk/nested-clients":"3.997.44","@csstools/color-helpers":"6.1.1","@csstools/css-tokenizer":"4.0.0","@mariozechner/clipboard":"*","call-bind-apply-helpers":"1.0.2","@asamuzakjp/dom-selector":"8.3.2","@aws-sdk/token-providers":"3.1116.0","@aws/lambda-invoke-store":"0.3.0","@protobufjs/eventemitter":"1.1.1","@modelcontextprotocol/sdk":"1.30.0","@smithy/node-http-handler":"4.11.3","@csstools/css-color-parser":"4.2.0","@silvia-odwyer/photon-node":"0.3.4","@smithy/fetch-http-handler":"5.7.2","buffer-equal-constant-time":"1.0.1","@code-yeongyu/senpi-codemode":"2026.9.8","@earendil-works/pi-telemetry":"npm:@code-yeongyu/senpi-telemetry@2026.9.8","@aws-sdk/middleware-websocket":"3.972.52","@earendil-works/pi-agent-core":"npm:@code-yeongyu/senpi-agent-core@2026.9.8","@anthropic-ai/claude-agent-sdk":"0.3.259","@aws-sdk/client-bedrock-runtime":"3.1116.0","@aws-sdk/middleware-eventstream":"3.972.29","@csstools/css-parser-algorithms":"4.0.0","@aws-sdk/credential-provider-env":"3.972.70","@aws-sdk/credential-provider-ini":"3.973.15","@aws-sdk/credential-provider-sso":"3.973.14","@smithy/credential-provider-imds":"4.5.2","is-potential-custom-element-name":"1.0.1","@aws-sdk/credential-provider-http":"3.972.72","@aws-sdk/credential-provider-node":"3.972.81","@aws-sdk/eventstream-handler-node":"3.972.34","@aws-sdk/credential-provider-login":"3.972.77","@aws-sdk/signature-v4-multi-region":"3.996.46","@aws-sdk/credential-provider-process":"3.972.70","@csstools/css-syntax-patches-for-csstree":"1.1.8","@aws-sdk/credential-provider-web-identity":"3.972.76"},"_hasShrinkwrap":false,"devDependencies":{"shx":"0.4.0","vitest":"4.1.11","@types/ws":"8.18.1","typescript":"7.0.2","@types/node":"26.2.0","@types/jsdom":"30.0.0","@types/semver":"7.8.0","@types/turndown":"5.0.6","@types/picomatch":"4.0.3","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@anthropic-ai/claude-agent-sdk","@anthropic-ai/sdk","@asamuzakjp/css-color","@asamuzakjp/dom-selector","@aws-sdk/client-bedrock-runtime","@aws-sdk/core","@aws-sdk/credential-provider-env","@aws-sdk/credential-provider-http","@aws-sdk/credential-provider-ini","@aws-sdk/credential-provider-login","@aws-sdk/credential-provider-node","@aws-sdk/credential-provider-process","@aws-sdk/credential-provider-sso","@aws-sdk/credential-provider-web-identity","@aws-sdk/eventstream-handler-node","@aws-sdk/middleware-eventstream","@aws-sdk/middleware-websocket","@aws-sdk/nested-clients","@aws-sdk/signature-v4-multi-region","@aws-sdk/token-providers","@aws-sdk/types","@aws-sdk/xml-builder","@aws/lambda-invoke-store","@babel/runtime","@bramus/specificity","@bufbuild/protobuf","@code-yeongyu/senpi-codemode","@csstools/color-helpers","@csstools/css-calc","@csstools/css-color-parser","@csstools/css-parser-algorithms","@csstools/css-syntax-patches-for-csstree","@csstools/css-tokenizer","@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-pty","@earendil-works/pi-telemetry","@earendil-works/pi-tui","@exodus/bytes","@google/genai","@hono/node-server","@mariozechner/clipboard","@mixmark-io/domino","@modelcontextprotocol/sdk","@mozilla/readability","@opentelemetry/api","@protobufjs/aspromise","@protobufjs/base64","@protobufjs/codegen","@protobufjs/eventemitter","@protobufjs/fetch","@protobufjs/float","@protobufjs/path","@protobufjs/pool","@protobufjs/utf8","@silvia-odwyer/photon-node","@smithy/core","@smithy/credential-provider-imds","@smithy/fetch-http-handler","@smithy/node-http-handler","@smithy/signature-v4","@smithy/types","@stablelib/base64","@types/node","@xterm/headless","accepts","agent-base","ajv","ajv-formats","balanced-match","base64-js","bidi-js","bignumber.js","body-parser","bowser","brace-expansion","buffer-equal-constant-time","bytes","call-bind-apply-helpers","call-bound","chalk","content-disposition","content-type","cookie","cookie-signature","cors","cross-spawn","css-tree","data-uri-to-buffer","data-urls","debug","decimal.js","depd","diff","dunder-proto","ecdsa-sig-formatter","ee-first","encodeurl","entities","es-define-property","es-errors","es-object-atoms","escape-html","etag","eventsource","eventsource-parser","express","express-rate-limit","extend","fast-deep-equal","fast-sha256","fast-uri","fetch-blob","finalhandler","formdata-polyfill","forwarded","fresh","function-bind","gaxios","gcp-metadata","get-east-asian-width","get-intrinsic","get-proto","glob","google-auth-library","google-logging-utils","gopd","graceful-fs","grok-mermaid","has-symbols","hasown","highlight.js","hono","hosted-git-info","html-encoding-sniffer","http-errors","http-proxy-agent","https-proxy-agent","iconv-lite","ignore","inherits","ip-address","ipaddr.js","is-potential-custom-element-name","is-promise","isexe","jiti","jose","jsdom","json-bigint","json-schema-to-ts","json-schema-traverse","json-schema-typed","jwa","jws","long","lru-cache","marked","math-intrinsics","mdn-data","media-typer","merge-descriptors","mime-db","mime-types","minimatch","minipass","ms","negotiator","node-domexception","node-fetch","object-assign","object-inspect","on-finished","once","openai","p-retry","parse5","parseurl","partial-json","path-key","path-scurry","path-to-regexp","picomatch","pkce-challenge","proper-lockfile","protobufjs","proxy-addr","proxy-agent-negotiate","proxy-from-env","punycode","qs","range-parser","raw-body","require-from-string","retry","router","safe-buffer","safer-buffer","saxes","semver","send","serve-static","setprototypeof","shebang-command","shebang-regex","side-channel","side-channel-list","side-channel-map","side-channel-weakmap","signal-exit","source-map-js","standardwebhooks","statuses","symbol-tree","tldts","tldts-core","toidentifier","tough-cookie","tr46","ts-algebra","tslib","turndown","type-is","typebox","undici","unpipe","vary","w3c-xmlserializer","web-streams-polyfill","webidl-conversions","whatwg-mimetype","whatwg-url","which","wrappy","ws","xml-name-validator","xmlchars","yaml","zod","zod-to-json-schema"],"optionalDependencies":{"@mariozechner/clipboard":"0.3.9","@mariozechner/clipboard-darwin-x64":"0.3.9","@mariozechner/clipboard-darwin-arm64":"0.3.9","@mariozechner/clipboard-linux-x64-gnu":"0.3.9","@mariozechner/clipboard-linux-x64-musl":"0.3.9","@mariozechner/clipboard-win32-x64-msvc":"0.3.9","@mariozechner/clipboard-linux-arm64-gnu":"0.3.9","@anthropic-ai/claude-agent-sdk-linux-x64":"0.3.259","@anthropic-ai/claude-agent-sdk-win32-x64":"0.3.259","@mariozechner/clipboard-darwin-universal":"0.3.9","@mariozechner/clipboard-linux-arm64-musl":"0.3.9","@mariozechner/clipboard-win32-arm64-msvc":"0.3.9","@anthropic-ai/claude-agent-sdk-darwin-x64":"0.3.259","@mariozechner/clipboard-linux-riscv64-gnu":"0.3.9","@anthropic-ai/claude-agent-sdk-linux-arm64":"0.3.259","@anthropic-ai/claude-agent-sdk-win32-arm64":"0.3.259","@anthropic-ai/claude-agent-sdk-darwin-arm64":"0.3.259","@anthropic-ai/claude-agent-sdk-linux-x64-musl":"0.3.259","@anthropic-ai/claude-agent-sdk-linux-arm64-musl":"0.3.259"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.9.8_1788889159557_0.5876876710970254","host":"s3://npm-registry-packages-npm-production"}},"2026.9.9":{"name":"@code-yeongyu/senpi","version":"2026.9.9","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.9.9","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"pi":"dist/bundle/cli.js","senpi":"dist/cli.js"},"dist":{"shasum":"77ff2f5af26fb5e887327ecff95cc126a7eeb3f7","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.9.9.tgz","fileCount":25168,"integrity":"sha512-glh6ZdYjLPK6VQpJDrV4QQcArCf5sD0C9B4vBTi9V+mGpLLIDWwkNmOgM6glFG7yxmmNHtPzsBKW5pcWPPl5wQ==","signatures":[{"sig":"MEYCIQCmyfTg7j6lW/5XJu61Ksj+9j1CEcyJrBi8jeiYGASM4QIhALz38XoygCfKkprKsgWZskTI/AMcEfAMrqWjpU9kfM8l","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.9.9","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":174747610},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.js"},"./rpc-entry":{"import":"./dist/rpc-entry.js"}},"scripts":{"dev":"tsc -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsc -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js dist/rpc-entry.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/","build:binary":"npm --prefix ../tui run build && npm --prefix ../telemetry run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm --prefix ../protocol run build && npm --prefix ../client run build && npm --prefix ../pty run build && npm run build && node ../../scripts/prepare-bun-compile-assets.mjs && bun build --compile --compile-autoload-package-json --no-compile-autoload-dotenv --no-compile-autoload-bunfig --minify --keep-names ./dist/bun/cli.js ./src/utils/image-resize-worker.ts ../../node_modules/jsdom/lib/jsdom/living/xhr/xhr-sync-worker.js --outfile dist/pi && npm run copy-binary-assets","qa:app-server":"node scripts/qa-app-server/run-all.mjs","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","build:unbundled":"tsgo -p tsconfig.build.json && shx chmod +x dist/cli.js dist/rpc-entry.js && npm run copy-assets","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/export-html/ && shx cp -r docs dist/ && shx cp -r examples dist/ && shx mkdir -p dist/node_modules && shx cp -r ../../node_modules/css-tree ../../node_modules/mdn-data ../../node_modules/source-map-js dist/node_modules/ && node ../../scripts/copy-codemode-sidecar.mjs dist && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/ && shx mkdir -p dist/native/darwin dist/native/win32 && shx cp -r ../../packages/tui/native/darwin/prebuilds dist/native/darwin/ && shx cp -r ../../packages/tui/native/win32/prebuilds dist/native/win32/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/ && node ../../scripts/copy-pty-native.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ea548fc8-dac4-4dec-a439-6f4fa3870309"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.3"},"rimraf":"6.1.3","protobufjs":"7.6.5","@hono/node-server":"2.1.1"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.19.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.20.0","dependencies":{"ms":"2.1.3","qs":"6.15.3","ws":"8.21.3","ajv":"8.20.0","jwa":"2.0.1","jws":"4.0.1","zod":"4.4.3","cors":"2.8.6","depd":"2.0.0","diff":"9.0.0","etag":"1.8.1","glob":"13.0.6","gopd":"1.2.0","hono":"4.12.27","jiti":"2.7.0","jose":"6.2.3","long":"5.3.2","once":"1.4.0","send":"1.2.1","tr46":"6.0.0","vary":"1.1.2","yaml":"2.9.0","bytes":"3.1.2","chalk":"6.0.0","debug":"4.4.3","fresh":"2.0.0","isexe":"2.0.0","jsdom":"30.0.1","retry":"0.13.1","saxes":"6.0.0","tldts":"7.4.10","tslib":"2.8.1","which":"2.0.2","bowser":"2.14.1","cookie":"0.7.2","extend":"3.0.2","gaxios":"7.1.4","hasown":"2.0.3","ignore":"7.0.6","marked":"18.0.10","openai":"6.26.0","parse5":"8.0.1","router":"2.2.0","semver":"7.8.5","undici":"8.10.0","unpipe":"1.0.0","wrappy":"1.0.2","accepts":"2.0.0","bidi-js":"1.0.3","express":"5.2.1","mime-db":"1.54.0","p-retry":"4.6.2","type-is":"2.1.0","typebox":"1.3.18","css-tree":"3.2.1","ee-first":"1.1.1","entities":"8.0.0","fast-uri":"3.1.4","inherits":"2.0.4","mdn-data":"2.27.1","minipass":"7.1.3","parseurl":"1.3.3","path-key":"3.1.1","punycode":"2.3.1","raw-body":"3.0.2","statuses":"2.0.2","turndown":"7.2.4","xmlchars":"2.2.0","base64-js":"1.5.1","data-urls":"7.0.0","encodeurl":"2.0.0","es-errors":"1.3.0","forwarded":"0.2.0","get-proto":"1.0.1","ipaddr.js":"1.9.1","lru-cache":"11.5.2","minimatch":"10.2.6","picomatch":"4.0.5","agent-base":"7.1.4","call-bound":"1.0.4","decimal.js":"10.6.0","fetch-blob":"3.2.0","iconv-lite":"0.7.3","ip-address":"10.2.0","is-promise":"4.0.0","mime-types":"3.0.2","negotiator":"1.0.0","node-fetch":"3.3.2","protobufjs":"7.6.5","proxy-addr":"2.0.7","tldts-core":"7.4.10","ts-algebra":"2.0.0","whatwg-url":"16.0.1","@types/node":"26.2.0","ajv-formats":"3.0.1","body-parser":"2.3.0","cross-spawn":"7.0.6","escape-html":"1.0.3","eventsource":"3.0.7","fast-sha256":"1.3.0","graceful-fs":"4.2.11","has-symbols":"1.1.0","http-errors":"2.0.1","json-bigint":"1.0.0","media-typer":"1.1.0","on-finished":"2.4.1","path-scurry":"2.0.2","safe-buffer":"5.2.1","signal-exit":"3.0.7","symbol-tree":"3.2.4","@smithy/core":"3.33.3","bignumber.js":"9.3.1","content-type":"1.0.5","dunder-proto":"1.0.1","finalhandler":"2.1.1","gcp-metadata":"8.1.2","grok-mermaid":"0.2.3","highlight.js":"11.12.0","partial-json":"0.1.7","range-parser":"1.3.0","safer-buffer":"2.1.2","serve-static":"2.2.1","side-channel":"1.1.1","toidentifier":"1.0.1","tough-cookie":"6.0.2","@aws-sdk/core":"3.977.9","@exodus/bytes":"1.15.1","@google/genai":"2.18.0","@smithy/types":"4.17.2","function-bind":"1.1.2","get-intrinsic":"1.3.0","object-assign":"4.1.1","shebang-regex":"3.0.0","source-map-js":"1.2.1","@aws-sdk/types":"3.974.5","@babel/runtime":"7.29.2","balanced-match":"4.0.4","object-inspect":"1.13.4","path-to-regexp":"8.4.2","pkce-challenge":"5.0.1","proxy-from-env":"2.1.0","setprototypeof":"1.2.0","@xterm/headless":"6.0.0","brace-expansion":"5.0.9","es-object-atoms":"1.1.2","fast-deep-equal":"3.1.3","hosted-git-info":"10.1.1","math-intrinsics":"1.1.0","proper-lockfile":"4.1.2","shebang-command":"2.0.0","whatwg-mimetype":"5.0.0","@protobufjs/path":"1.1.2","@protobufjs/pool":"1.1.0","@protobufjs/utf8":"1.1.1","cookie-signature":"1.2.2","http-proxy-agent":"9.1.0","side-channel-map":"1.0.1","standardwebhooks":"1.0.0","@anthropic-ai/sdk":"0.123.0","@hono/node-server":"2.1.1","@protobufjs/fetch":"1.1.1","@protobufjs/float":"1.0.2","@stablelib/base64":"1.0.1","formdata-polyfill":"4.0.10","https-proxy-agent":"9.1.0","json-schema-to-ts":"3.1.1","json-schema-typed":"8.0.2","merge-descriptors":"2.0.0","node-domexception":"1.0.0","side-channel-list":"1.0.1","w3c-xmlserializer":"5.0.0","@bufbuild/protobuf":"2.14.0","@csstools/css-calc":"3.3.0","@mixmark-io/domino":"2.2.0","@opentelemetry/api":"1.9.1","@protobufjs/base64":"1.1.2","data-uri-to-buffer":"4.0.1","es-define-property":"1.0.1","eventsource-parser":"3.1.0","express-rate-limit":"8.5.2","webidl-conversions":"8.0.1","xml-name-validator":"5.0.0","zod-to-json-schema":"3.25.2","@bramus/specificity":"2.4.2","@protobufjs/codegen":"2.0.5","content-disposition":"1.1.0","ecdsa-sig-formatter":"1.0.11","google-auth-library":"10.6.2","require-from-string":"2.0.2","@aws-sdk/xml-builder":"3.972.40","@mozilla/readability":"0.6.0","@smithy/signature-v4":"5.7.3","get-east-asian-width":"1.6.0","google-logging-utils":"1.1.3","json-schema-traverse":"1.0.0","side-channel-weakmap":"1.0.2","web-streams-polyfill":"3.3.3","@asamuzakjp/css-color":"6.0.7","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.9.9","@protobufjs/aspromise":"1.1.2","html-encoding-sniffer":"6.0.0","proxy-agent-negotiate":"1.1.0","@earendil-works/pi-pty":"npm:@code-yeongyu/senpi-pty@2026.9.9","@earendil-works/pi-tui":"npm:@code-yeongyu/senpi-tui@2026.9.9","@aws-sdk/nested-clients":"3.997.44","@csstools/color-helpers":"6.1.1","@csstools/css-tokenizer":"4.0.0","@mariozechner/clipboard":"*","call-bind-apply-helpers":"1.0.2","@asamuzakjp/dom-selector":"8.3.2","@aws-sdk/token-providers":"3.1116.0","@aws/lambda-invoke-store":"0.3.0","@protobufjs/eventemitter":"1.1.1","@modelcontextprotocol/sdk":"1.30.0","@smithy/node-http-handler":"4.11.3","@csstools/css-color-parser":"4.2.0","@silvia-odwyer/photon-node":"0.3.4","@smithy/fetch-http-handler":"5.7.2","buffer-equal-constant-time":"1.0.1","@code-yeongyu/senpi-codemode":"2026.9.9","@earendil-works/pi-telemetry":"npm:@code-yeongyu/senpi-telemetry@2026.9.9","@aws-sdk/middleware-websocket":"3.972.52","@earendil-works/pi-agent-core":"npm:@code-yeongyu/senpi-agent-core@2026.9.9","@anthropic-ai/claude-agent-sdk":"0.3.259","@aws-sdk/client-bedrock-runtime":"3.1116.0","@aws-sdk/middleware-eventstream":"3.972.29","@csstools/css-parser-algorithms":"4.0.0","@aws-sdk/credential-provider-env":"3.972.70","@aws-sdk/credential-provider-ini":"3.973.15","@aws-sdk/credential-provider-sso":"3.973.14","@smithy/credential-provider-imds":"4.5.2","is-potential-custom-element-name":"1.0.1","@aws-sdk/credential-provider-http":"3.972.72","@aws-sdk/credential-provider-node":"3.972.81","@aws-sdk/eventstream-handler-node":"3.972.34","@aws-sdk/credential-provider-login":"3.972.77","@aws-sdk/signature-v4-multi-region":"3.996.46","@aws-sdk/credential-provider-process":"3.972.70","@csstools/css-syntax-patches-for-csstree":"1.1.8","@aws-sdk/credential-provider-web-identity":"3.972.76"},"_hasShrinkwrap":false,"devDependencies":{"shx":"0.4.0","vitest":"4.1.11","@types/ws":"8.18.1","typescript":"7.0.2","@types/node":"26.2.0","@types/jsdom":"30.0.0","@types/semver":"7.8.0","@types/turndown":"5.0.6","@types/picomatch":"4.0.3","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@anthropic-ai/claude-agent-sdk","@anthropic-ai/sdk","@asamuzakjp/css-color","@asamuzakjp/dom-selector","@aws-sdk/client-bedrock-runtime","@aws-sdk/core","@aws-sdk/credential-provider-env","@aws-sdk/credential-provider-http","@aws-sdk/credential-provider-ini","@aws-sdk/credential-provider-login","@aws-sdk/credential-provider-node","@aws-sdk/credential-provider-process","@aws-sdk/credential-provider-sso","@aws-sdk/credential-provider-web-identity","@aws-sdk/eventstream-handler-node","@aws-sdk/middleware-eventstream","@aws-sdk/middleware-websocket","@aws-sdk/nested-clients","@aws-sdk/signature-v4-multi-region","@aws-sdk/token-providers","@aws-sdk/types","@aws-sdk/xml-builder","@aws/lambda-invoke-store","@babel/runtime","@bramus/specificity","@bufbuild/protobuf","@code-yeongyu/senpi-codemode","@csstools/color-helpers","@csstools/css-calc","@csstools/css-color-parser","@csstools/css-parser-algorithms","@csstools/css-syntax-patches-for-csstree","@csstools/css-tokenizer","@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-pty","@earendil-works/pi-telemetry","@earendil-works/pi-tui","@exodus/bytes","@google/genai","@hono/node-server","@mariozechner/clipboard","@mixmark-io/domino","@modelcontextprotocol/sdk","@mozilla/readability","@opentelemetry/api","@protobufjs/aspromise","@protobufjs/base64","@protobufjs/codegen","@protobufjs/eventemitter","@protobufjs/fetch","@protobufjs/float","@protobufjs/path","@protobufjs/pool","@protobufjs/utf8","@silvia-odwyer/photon-node","@smithy/core","@smithy/credential-provider-imds","@smithy/fetch-http-handler","@smithy/node-http-handler","@smithy/signature-v4","@smithy/types","@stablelib/base64","@types/node","@xterm/headless","accepts","agent-base","ajv","ajv-formats","balanced-match","base64-js","bidi-js","bignumber.js","body-parser","bowser","brace-expansion","buffer-equal-constant-time","bytes","call-bind-apply-helpers","call-bound","chalk","content-disposition","content-type","cookie","cookie-signature","cors","cross-spawn","css-tree","data-uri-to-buffer","data-urls","debug","decimal.js","depd","diff","dunder-proto","ecdsa-sig-formatter","ee-first","encodeurl","entities","es-define-property","es-errors","es-object-atoms","escape-html","etag","eventsource","eventsource-parser","express","express-rate-limit","extend","fast-deep-equal","fast-sha256","fast-uri","fetch-blob","finalhandler","formdata-polyfill","forwarded","fresh","function-bind","gaxios","gcp-metadata","get-east-asian-width","get-intrinsic","get-proto","glob","google-auth-library","google-logging-utils","gopd","graceful-fs","grok-mermaid","has-symbols","hasown","highlight.js","hono","hosted-git-info","html-encoding-sniffer","http-errors","http-proxy-agent","https-proxy-agent","iconv-lite","ignore","inherits","ip-address","ipaddr.js","is-potential-custom-element-name","is-promise","isexe","jiti","jose","jsdom","json-bigint","json-schema-to-ts","json-schema-traverse","json-schema-typed","jwa","jws","long","lru-cache","marked","math-intrinsics","mdn-data","media-typer","merge-descriptors","mime-db","mime-types","minimatch","minipass","ms","negotiator","node-domexception","node-fetch","object-assign","object-inspect","on-finished","once","openai","p-retry","parse5","parseurl","partial-json","path-key","path-scurry","path-to-regexp","picomatch","pkce-challenge","proper-lockfile","protobufjs","proxy-addr","proxy-agent-negotiate","proxy-from-env","punycode","qs","range-parser","raw-body","require-from-string","retry","router","safe-buffer","safer-buffer","saxes","semver","send","serve-static","setprototypeof","shebang-command","shebang-regex","side-channel","side-channel-list","side-channel-map","side-channel-weakmap","signal-exit","source-map-js","standardwebhooks","statuses","symbol-tree","tldts","tldts-core","toidentifier","tough-cookie","tr46","ts-algebra","tslib","turndown","type-is","typebox","undici","unpipe","vary","w3c-xmlserializer","web-streams-polyfill","webidl-conversions","whatwg-mimetype","whatwg-url","which","wrappy","ws","xml-name-validator","xmlchars","yaml","zod","zod-to-json-schema"],"optionalDependencies":{"@mariozechner/clipboard":"0.3.9","@mariozechner/clipboard-darwin-x64":"0.3.9","@mariozechner/clipboard-darwin-arm64":"0.3.9","@mariozechner/clipboard-linux-x64-gnu":"0.3.9","@mariozechner/clipboard-linux-x64-musl":"0.3.9","@mariozechner/clipboard-win32-x64-msvc":"0.3.9","@mariozechner/clipboard-linux-arm64-gnu":"0.3.9","@anthropic-ai/claude-agent-sdk-linux-x64":"0.3.259","@anthropic-ai/claude-agent-sdk-win32-x64":"0.3.259","@mariozechner/clipboard-darwin-universal":"0.3.9","@mariozechner/clipboard-linux-arm64-musl":"0.3.9","@mariozechner/clipboard-win32-arm64-msvc":"0.3.9","@anthropic-ai/claude-agent-sdk-darwin-x64":"0.3.259","@mariozechner/clipboard-linux-riscv64-gnu":"0.3.9","@anthropic-ai/claude-agent-sdk-linux-arm64":"0.3.259","@anthropic-ai/claude-agent-sdk-win32-arm64":"0.3.259","@anthropic-ai/claude-agent-sdk-darwin-arm64":"0.3.259","@anthropic-ai/claude-agent-sdk-linux-x64-musl":"0.3.259","@anthropic-ai/claude-agent-sdk-linux-arm64-musl":"0.3.259"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.9.9_1788922159173_0.7728406639718359","host":"s3://npm-registry-packages-npm-production"}},"2026.9.9-2":{"name":"@code-yeongyu/senpi","version":"2026.9.9-2","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.9.9-2","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"pi":"dist/bundle/cli.js","senpi":"dist/cli.js"},"dist":{"shasum":"7140e153fd34892b822aa207fd6d60fcbdd8c68b","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.9.9-2.tgz","fileCount":25192,"integrity":"sha512-tq/PqvsbzOgKqdqnF5/Pa4JA/oarvZD04R6+Xx8h3/6uylSd+5lFUlrj5WpeDLShU90nU11qxGrmsJTQyrIiTQ==","signatures":[{"sig":"MEQCICsZMKBe9m9+GSWSnc1BgRpl8X/1/mRjMRsvgmP5Un0wAiARGrBfFMwOJYeVMC0ZmuV2/60hPJdZ36O1XZW03lHonQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.9.9-2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":174813940},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.js"},"./rpc-entry":{"import":"./dist/rpc-entry.js"}},"scripts":{"dev":"tsc -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsc -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js dist/rpc-entry.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/","build:binary":"npm --prefix ../tui run build && npm --prefix ../telemetry run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm --prefix ../protocol run build && npm --prefix ../client run build && npm --prefix ../pty run build && npm run build && node ../../scripts/prepare-bun-compile-assets.mjs && bun build --compile --compile-autoload-package-json --no-compile-autoload-dotenv --no-compile-autoload-bunfig --minify --keep-names ./dist/bun/cli.js ./src/utils/image-resize-worker.ts ../../node_modules/jsdom/lib/jsdom/living/xhr/xhr-sync-worker.js --outfile dist/pi && npm run copy-binary-assets","qa:app-server":"node scripts/qa-app-server/run-all.mjs","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","build:unbundled":"tsgo -p tsconfig.build.json && shx chmod +x dist/cli.js dist/rpc-entry.js && npm run copy-assets","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/export-html/ && shx cp -r docs dist/ && shx cp -r examples dist/ && shx mkdir -p dist/node_modules && shx cp -r ../../node_modules/css-tree ../../node_modules/mdn-data ../../node_modules/source-map-js dist/node_modules/ && node ../../scripts/copy-codemode-sidecar.mjs dist && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/ && shx mkdir -p dist/native/darwin dist/native/win32 && shx cp -r ../../packages/tui/native/darwin/prebuilds dist/native/darwin/ && shx cp -r ../../packages/tui/native/win32/prebuilds dist/native/win32/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/ && node ../../scripts/copy-pty-native.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ea548fc8-dac4-4dec-a439-6f4fa3870309"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.3"},"rimraf":"6.1.3","protobufjs":"7.6.5","@hono/node-server":"2.1.1"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.19.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.20.0","dependencies":{"ms":"2.1.3","qs":"6.15.3","ws":"8.21.3","ajv":"8.20.0","jwa":"2.0.1","jws":"4.0.1","zod":"4.4.3","cors":"2.8.6","depd":"2.0.0","diff":"9.0.0","etag":"1.8.1","glob":"13.0.6","gopd":"1.2.0","hono":"4.12.27","jiti":"2.7.0","jose":"6.2.3","long":"5.3.2","once":"1.4.0","send":"1.2.1","tr46":"6.0.0","vary":"1.1.2","yaml":"2.9.0","bytes":"3.1.2","chalk":"6.0.0","debug":"4.4.3","fresh":"2.0.0","isexe":"2.0.0","jsdom":"30.0.1","retry":"0.13.1","saxes":"6.0.0","tldts":"7.4.10","tslib":"2.8.1","which":"2.0.2","bowser":"2.14.1","cookie":"0.7.2","extend":"3.0.2","gaxios":"7.1.4","hasown":"2.0.3","ignore":"7.0.6","marked":"18.0.10","openai":"6.26.0","parse5":"8.0.1","router":"2.2.0","semver":"7.8.5","undici":"8.10.0","unpipe":"1.0.0","wrappy":"1.0.2","accepts":"2.0.0","bidi-js":"1.0.3","express":"5.2.1","mime-db":"1.54.0","p-retry":"4.6.2","type-is":"2.1.0","typebox":"1.3.18","css-tree":"3.2.1","ee-first":"1.1.1","entities":"8.0.0","fast-uri":"3.1.4","inherits":"2.0.4","mdn-data":"2.27.1","minipass":"7.1.3","parseurl":"1.3.3","path-key":"3.1.1","punycode":"2.3.1","raw-body":"3.0.2","statuses":"2.0.2","turndown":"7.2.4","xmlchars":"2.2.0","base64-js":"1.5.1","data-urls":"7.0.0","encodeurl":"2.0.0","es-errors":"1.3.0","forwarded":"0.2.0","get-proto":"1.0.1","ipaddr.js":"1.9.1","lru-cache":"11.5.2","minimatch":"10.2.6","picomatch":"4.0.5","agent-base":"7.1.4","call-bound":"1.0.4","decimal.js":"10.6.0","fetch-blob":"3.2.0","iconv-lite":"0.7.3","ip-address":"10.2.0","is-promise":"4.0.0","mime-types":"3.0.2","negotiator":"1.0.0","node-fetch":"3.3.2","protobufjs":"7.6.5","proxy-addr":"2.0.7","tldts-core":"7.4.10","ts-algebra":"2.0.0","whatwg-url":"16.0.1","@types/node":"26.2.0","ajv-formats":"3.0.1","body-parser":"2.3.0","cross-spawn":"7.0.6","escape-html":"1.0.3","eventsource":"3.0.7","fast-sha256":"1.3.0","graceful-fs":"4.2.11","has-symbols":"1.1.0","http-errors":"2.0.1","json-bigint":"1.0.0","media-typer":"1.1.0","on-finished":"2.4.1","path-scurry":"2.0.2","safe-buffer":"5.2.1","signal-exit":"3.0.7","symbol-tree":"3.2.4","@smithy/core":"3.33.3","bignumber.js":"9.3.1","content-type":"1.0.5","dunder-proto":"1.0.1","finalhandler":"2.1.1","gcp-metadata":"8.1.2","grok-mermaid":"0.2.3","highlight.js":"11.12.0","partial-json":"0.1.7","range-parser":"1.3.0","safer-buffer":"2.1.2","serve-static":"2.2.1","side-channel":"1.1.1","toidentifier":"1.0.1","tough-cookie":"6.0.2","@aws-sdk/core":"3.977.9","@exodus/bytes":"1.15.1","@google/genai":"2.18.0","@smithy/types":"4.17.2","function-bind":"1.1.2","get-intrinsic":"1.3.0","object-assign":"4.1.1","shebang-regex":"3.0.0","source-map-js":"1.2.1","@aws-sdk/types":"3.974.5","@babel/runtime":"7.29.2","balanced-match":"4.0.4","object-inspect":"1.13.4","path-to-regexp":"8.4.2","pkce-challenge":"5.0.1","proxy-from-env":"2.1.0","setprototypeof":"1.2.0","@xterm/headless":"6.0.0","brace-expansion":"5.0.9","es-object-atoms":"1.1.2","fast-deep-equal":"3.1.3","hosted-git-info":"10.1.1","math-intrinsics":"1.1.0","proper-lockfile":"4.1.2","shebang-command":"2.0.0","whatwg-mimetype":"5.0.0","@protobufjs/path":"1.1.2","@protobufjs/pool":"1.1.0","@protobufjs/utf8":"1.1.1","cookie-signature":"1.2.2","http-proxy-agent":"9.1.0","side-channel-map":"1.0.1","standardwebhooks":"1.0.0","@anthropic-ai/sdk":"0.123.0","@hono/node-server":"2.1.1","@protobufjs/fetch":"1.1.1","@protobufjs/float":"1.0.2","@stablelib/base64":"1.0.1","formdata-polyfill":"4.0.10","https-proxy-agent":"9.1.0","json-schema-to-ts":"3.1.1","json-schema-typed":"8.0.2","merge-descriptors":"2.0.0","node-domexception":"1.0.0","side-channel-list":"1.0.1","w3c-xmlserializer":"5.0.0","@bufbuild/protobuf":"2.14.0","@csstools/css-calc":"3.3.0","@mixmark-io/domino":"2.2.0","@opentelemetry/api":"1.9.1","@protobufjs/base64":"1.1.2","data-uri-to-buffer":"4.0.1","es-define-property":"1.0.1","eventsource-parser":"3.1.0","express-rate-limit":"8.5.2","webidl-conversions":"8.0.1","xml-name-validator":"5.0.0","zod-to-json-schema":"3.25.2","@bramus/specificity":"2.4.2","@protobufjs/codegen":"2.0.5","content-disposition":"1.1.0","ecdsa-sig-formatter":"1.0.11","google-auth-library":"10.6.2","require-from-string":"2.0.2","@aws-sdk/xml-builder":"3.972.40","@mozilla/readability":"0.6.0","@smithy/signature-v4":"5.7.3","get-east-asian-width":"1.6.0","google-logging-utils":"1.1.3","json-schema-traverse":"1.0.0","side-channel-weakmap":"1.0.2","web-streams-polyfill":"3.3.3","@asamuzakjp/css-color":"6.0.7","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.9.9-2","@protobufjs/aspromise":"1.1.2","html-encoding-sniffer":"6.0.0","proxy-agent-negotiate":"1.1.0","@earendil-works/pi-pty":"npm:@code-yeongyu/senpi-pty@2026.9.9-2","@earendil-works/pi-tui":"npm:@code-yeongyu/senpi-tui@2026.9.9-2","@aws-sdk/nested-clients":"3.997.44","@csstools/color-helpers":"6.1.1","@csstools/css-tokenizer":"4.0.0","@mariozechner/clipboard":"*","call-bind-apply-helpers":"1.0.2","@asamuzakjp/dom-selector":"8.3.2","@aws-sdk/token-providers":"3.1116.0","@aws/lambda-invoke-store":"0.3.0","@protobufjs/eventemitter":"1.1.1","@modelcontextprotocol/sdk":"1.30.0","@smithy/node-http-handler":"4.11.3","@csstools/css-color-parser":"4.2.0","@silvia-odwyer/photon-node":"0.3.4","@smithy/fetch-http-handler":"5.7.2","buffer-equal-constant-time":"1.0.1","@code-yeongyu/senpi-codemode":"2026.9.9-2","@earendil-works/pi-telemetry":"npm:@code-yeongyu/senpi-telemetry@2026.9.9-2","@aws-sdk/middleware-websocket":"3.972.52","@earendil-works/pi-agent-core":"npm:@code-yeongyu/senpi-agent-core@2026.9.9-2","@anthropic-ai/claude-agent-sdk":"0.3.259","@aws-sdk/client-bedrock-runtime":"3.1116.0","@aws-sdk/middleware-eventstream":"3.972.29","@csstools/css-parser-algorithms":"4.0.0","@aws-sdk/credential-provider-env":"3.972.70","@aws-sdk/credential-provider-ini":"3.973.15","@aws-sdk/credential-provider-sso":"3.973.14","@smithy/credential-provider-imds":"4.5.2","is-potential-custom-element-name":"1.0.1","@aws-sdk/credential-provider-http":"3.972.72","@aws-sdk/credential-provider-node":"3.972.81","@aws-sdk/eventstream-handler-node":"3.972.34","@aws-sdk/credential-provider-login":"3.972.77","@aws-sdk/signature-v4-multi-region":"3.996.46","@aws-sdk/credential-provider-process":"3.972.70","@csstools/css-syntax-patches-for-csstree":"1.1.8","@aws-sdk/credential-provider-web-identity":"3.972.76"},"_hasShrinkwrap":false,"devDependencies":{"shx":"0.4.0","vitest":"4.1.11","@types/ws":"8.18.1","typescript":"7.0.2","@types/node":"26.2.0","@types/jsdom":"30.0.0","@types/semver":"7.8.0","@types/turndown":"5.0.6","@types/picomatch":"4.0.3","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@anthropic-ai/claude-agent-sdk","@anthropic-ai/sdk","@asamuzakjp/css-color","@asamuzakjp/dom-selector","@aws-sdk/client-bedrock-runtime","@aws-sdk/core","@aws-sdk/credential-provider-env","@aws-sdk/credential-provider-http","@aws-sdk/credential-provider-ini","@aws-sdk/credential-provider-login","@aws-sdk/credential-provider-node","@aws-sdk/credential-provider-process","@aws-sdk/credential-provider-sso","@aws-sdk/credential-provider-web-identity","@aws-sdk/eventstream-handler-node","@aws-sdk/middleware-eventstream","@aws-sdk/middleware-websocket","@aws-sdk/nested-clients","@aws-sdk/signature-v4-multi-region","@aws-sdk/token-providers","@aws-sdk/types","@aws-sdk/xml-builder","@aws/lambda-invoke-store","@babel/runtime","@bramus/specificity","@bufbuild/protobuf","@code-yeongyu/senpi-codemode","@csstools/color-helpers","@csstools/css-calc","@csstools/css-color-parser","@csstools/css-parser-algorithms","@csstools/css-syntax-patches-for-csstree","@csstools/css-tokenizer","@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-pty","@earendil-works/pi-telemetry","@earendil-works/pi-tui","@exodus/bytes","@google/genai","@hono/node-server","@mariozechner/clipboard","@mixmark-io/domino","@modelcontextprotocol/sdk","@mozilla/readability","@opentelemetry/api","@protobufjs/aspromise","@protobufjs/base64","@protobufjs/codegen","@protobufjs/eventemitter","@protobufjs/fetch","@protobufjs/float","@protobufjs/path","@protobufjs/pool","@protobufjs/utf8","@silvia-odwyer/photon-node","@smithy/core","@smithy/credential-provider-imds","@smithy/fetch-http-handler","@smithy/node-http-handler","@smithy/signature-v4","@smithy/types","@stablelib/base64","@types/node","@xterm/headless","accepts","agent-base","ajv","ajv-formats","balanced-match","base64-js","bidi-js","bignumber.js","body-parser","bowser","brace-expansion","buffer-equal-constant-time","bytes","call-bind-apply-helpers","call-bound","chalk","content-disposition","content-type","cookie","cookie-signature","cors","cross-spawn","css-tree","data-uri-to-buffer","data-urls","debug","decimal.js","depd","diff","dunder-proto","ecdsa-sig-formatter","ee-first","encodeurl","entities","es-define-property","es-errors","es-object-atoms","escape-html","etag","eventsource","eventsource-parser","express","express-rate-limit","extend","fast-deep-equal","fast-sha256","fast-uri","fetch-blob","finalhandler","formdata-polyfill","forwarded","fresh","function-bind","gaxios","gcp-metadata","get-east-asian-width","get-intrinsic","get-proto","glob","google-auth-library","google-logging-utils","gopd","graceful-fs","grok-mermaid","has-symbols","hasown","highlight.js","hono","hosted-git-info","html-encoding-sniffer","http-errors","http-proxy-agent","https-proxy-agent","iconv-lite","ignore","inherits","ip-address","ipaddr.js","is-potential-custom-element-name","is-promise","isexe","jiti","jose","jsdom","json-bigint","json-schema-to-ts","json-schema-traverse","json-schema-typed","jwa","jws","long","lru-cache","marked","math-intrinsics","mdn-data","media-typer","merge-descriptors","mime-db","mime-types","minimatch","minipass","ms","negotiator","node-domexception","node-fetch","object-assign","object-inspect","on-finished","once","openai","p-retry","parse5","parseurl","partial-json","path-key","path-scurry","path-to-regexp","picomatch","pkce-challenge","proper-lockfile","protobufjs","proxy-addr","proxy-agent-negotiate","proxy-from-env","punycode","qs","range-parser","raw-body","require-from-string","retry","router","safe-buffer","safer-buffer","saxes","semver","send","serve-static","setprototypeof","shebang-command","shebang-regex","side-channel","side-channel-list","side-channel-map","side-channel-weakmap","signal-exit","source-map-js","standardwebhooks","statuses","symbol-tree","tldts","tldts-core","toidentifier","tough-cookie","tr46","ts-algebra","tslib","turndown","type-is","typebox","undici","unpipe","vary","w3c-xmlserializer","web-streams-polyfill","webidl-conversions","whatwg-mimetype","whatwg-url","which","wrappy","ws","xml-name-validator","xmlchars","yaml","zod","zod-to-json-schema"],"optionalDependencies":{"@mariozechner/clipboard":"0.3.9","@mariozechner/clipboard-darwin-x64":"0.3.9","@mariozechner/clipboard-darwin-arm64":"0.3.9","@mariozechner/clipboard-linux-x64-gnu":"0.3.9","@mariozechner/clipboard-linux-x64-musl":"0.3.9","@mariozechner/clipboard-win32-x64-msvc":"0.3.9","@mariozechner/clipboard-linux-arm64-gnu":"0.3.9","@anthropic-ai/claude-agent-sdk-linux-x64":"0.3.259","@anthropic-ai/claude-agent-sdk-win32-x64":"0.3.259","@mariozechner/clipboard-darwin-universal":"0.3.9","@mariozechner/clipboard-linux-arm64-musl":"0.3.9","@mariozechner/clipboard-win32-arm64-msvc":"0.3.9","@anthropic-ai/claude-agent-sdk-darwin-x64":"0.3.259","@mariozechner/clipboard-linux-riscv64-gnu":"0.3.9","@anthropic-ai/claude-agent-sdk-linux-arm64":"0.3.259","@anthropic-ai/claude-agent-sdk-win32-arm64":"0.3.259","@anthropic-ai/claude-agent-sdk-darwin-arm64":"0.3.259","@anthropic-ai/claude-agent-sdk-linux-x64-musl":"0.3.259","@anthropic-ai/claude-agent-sdk-linux-arm64-musl":"0.3.259"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.9.9-2_1788946270697_0.22708362773881485","host":"s3://npm-registry-packages-npm-production"}},"2026.9.10":{"name":"@code-yeongyu/senpi","version":"2026.9.10","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.9.10","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"pi":"dist/bundle/cli.js","senpi":"dist/cli.js"},"dist":{"shasum":"637d580b97f0fdbe732533f3bbb60b999e8004a3","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.9.10.tgz","fileCount":25329,"integrity":"sha512-H5A5L1rncbbBIygzoMCkQu42Qt/ZSSWtMojYZXHjAgmRYKoRdyo4sEbWvMzYDLC/RedPxD2vZ6ivqLohVTQjUg==","signatures":[{"sig":"MEYCIQD6mWyno5LONecezbF4O+RI7wBd7vYuYhrg1xSy9r6r3gIhALnNFBVu3YX7JHWZCboNGjl7xfRwQuNicRKM4wjVy76Q","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.9.10","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":176310987},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.js"},"./rpc-entry":{"import":"./dist/rpc-entry.js"}},"scripts":{"dev":"tsc -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsgo -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js dist/rpc-entry.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/","build:binary":"npm --prefix ../tui run build && npm --prefix ../telemetry run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm --prefix ../protocol run build && npm --prefix ../client run build && npm --prefix ../pty run build && npm run build && node ../../scripts/prepare-bun-compile-assets.mjs && bun build --compile --compile-autoload-package-json --no-compile-autoload-dotenv --no-compile-autoload-bunfig --minify --keep-names ./dist/bun/cli.js ./src/utils/image-resize-worker.ts ../../node_modules/jsdom/lib/jsdom/living/xhr/xhr-sync-worker.js --outfile dist/pi && npm run copy-binary-assets","qa:app-server":"node scripts/qa-app-server/run-all.mjs","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","build:unbundled":"tsgo -p tsconfig.build.json && shx chmod +x dist/cli.js dist/rpc-entry.js && npm run copy-assets","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/export-html/ && shx cp -r docs dist/ && shx cp -r examples dist/ && shx mkdir -p dist/node_modules && shx cp -r ../../node_modules/css-tree ../../node_modules/mdn-data ../../node_modules/source-map-js dist/node_modules/ && node ../../scripts/copy-codemode-sidecar.mjs dist && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/ && shx mkdir -p dist/native/darwin dist/native/win32 && shx cp -r ../../packages/tui/native/darwin/prebuilds dist/native/darwin/ && shx cp -r ../../packages/tui/native/win32/prebuilds dist/native/win32/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/ && node ../../scripts/copy-pty-native.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ea548fc8-dac4-4dec-a439-6f4fa3870309"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.3"},"rimraf":"6.1.3","protobufjs":"7.6.5","@hono/node-server":"2.1.1"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.19.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.20.0","dependencies":{"ms":"2.1.3","qs":"6.15.3","ws":"8.21.3","ajv":"8.20.0","jwa":"2.0.1","jws":"4.0.1","zod":"4.4.3","cors":"2.8.6","depd":"2.0.0","diff":"9.0.0","etag":"1.8.1","glob":"13.0.6","gopd":"1.2.0","hono":"4.12.27","jiti":"2.7.0","jose":"6.2.3","long":"5.3.2","once":"1.4.0","send":"1.2.1","tr46":"6.0.0","vary":"1.1.2","yaml":"2.9.0","bytes":"3.1.2","chalk":"6.0.0","debug":"4.4.3","fresh":"2.0.0","isexe":"2.0.0","jsdom":"30.0.1","retry":"0.13.1","saxes":"6.0.0","tldts":"7.4.10","tslib":"2.8.1","which":"2.0.2","bowser":"2.14.1","cookie":"0.7.2","extend":"3.0.2","gaxios":"7.1.4","hasown":"2.0.3","ignore":"7.0.6","marked":"18.0.10","openai":"6.26.0","parse5":"8.0.1","router":"2.2.0","semver":"7.8.5","undici":"8.10.0","unpipe":"1.0.0","wrappy":"1.0.2","accepts":"2.0.0","bidi-js":"1.0.3","express":"5.2.1","mime-db":"1.54.0","p-retry":"4.6.2","type-is":"2.1.0","typebox":"1.3.18","css-tree":"3.2.1","ee-first":"1.1.1","entities":"8.0.0","fast-uri":"3.1.4","inherits":"2.0.4","mdn-data":"2.27.1","minipass":"7.1.3","parseurl":"1.3.3","path-key":"3.1.1","punycode":"2.3.1","raw-body":"3.0.2","statuses":"2.0.2","turndown":"7.2.4","xmlchars":"2.2.0","base64-js":"1.5.1","data-urls":"7.0.0","encodeurl":"2.0.0","es-errors":"1.3.0","forwarded":"0.2.0","get-proto":"1.0.1","ipaddr.js":"1.9.1","lru-cache":"11.5.2","minimatch":"10.2.6","picomatch":"4.0.5","agent-base":"7.1.4","call-bound":"1.0.4","decimal.js":"10.6.0","fetch-blob":"3.2.0","iconv-lite":"0.7.3","ip-address":"10.2.0","is-promise":"4.0.0","mime-types":"3.0.2","negotiator":"1.0.0","node-fetch":"3.3.2","protobufjs":"7.6.5","proxy-addr":"2.0.7","tldts-core":"7.4.10","ts-algebra":"2.0.0","whatwg-url":"16.0.1","@types/node":"26.2.0","ajv-formats":"3.0.1","body-parser":"2.3.0","cross-spawn":"7.0.6","escape-html":"1.0.3","eventsource":"3.0.7","fast-sha256":"1.3.0","graceful-fs":"4.2.11","has-symbols":"1.1.0","http-errors":"2.0.1","json-bigint":"1.0.0","media-typer":"1.1.0","on-finished":"2.4.1","path-scurry":"2.0.2","safe-buffer":"5.2.1","signal-exit":"3.0.7","symbol-tree":"3.2.4","@smithy/core":"3.33.3","bignumber.js":"9.3.1","content-type":"1.0.5","dunder-proto":"1.0.1","finalhandler":"2.1.1","gcp-metadata":"8.1.2","grok-mermaid":"0.2.3","highlight.js":"11.12.0","partial-json":"0.1.7","range-parser":"1.3.0","safer-buffer":"2.1.2","serve-static":"2.2.1","side-channel":"1.1.1","toidentifier":"1.0.1","tough-cookie":"6.0.2","@aws-sdk/core":"3.977.9","@exodus/bytes":"1.15.1","@google/genai":"2.18.0","@smithy/types":"4.17.2","function-bind":"1.1.2","get-intrinsic":"1.3.0","object-assign":"4.1.1","shebang-regex":"3.0.0","source-map-js":"1.2.1","@aws-sdk/types":"3.974.5","@babel/runtime":"7.29.2","balanced-match":"4.0.4","object-inspect":"1.13.4","path-to-regexp":"8.4.2","pkce-challenge":"5.0.1","proxy-from-env":"2.1.0","setprototypeof":"1.2.0","@xterm/headless":"6.0.0","brace-expansion":"5.0.9","es-object-atoms":"1.1.2","fast-deep-equal":"3.1.3","hosted-git-info":"10.1.1","math-intrinsics":"1.1.0","proper-lockfile":"4.1.2","shebang-command":"2.0.0","whatwg-mimetype":"5.0.0","@protobufjs/path":"1.1.2","@protobufjs/pool":"1.1.0","@protobufjs/utf8":"1.1.1","cookie-signature":"1.2.2","http-proxy-agent":"9.1.0","side-channel-map":"1.0.1","standardwebhooks":"1.0.0","@anthropic-ai/sdk":"0.123.0","@hono/node-server":"2.1.1","@protobufjs/fetch":"1.1.1","@protobufjs/float":"1.0.2","@stablelib/base64":"1.0.1","formdata-polyfill":"4.0.10","https-proxy-agent":"9.1.0","json-schema-to-ts":"3.1.1","json-schema-typed":"8.0.2","merge-descriptors":"2.0.0","node-domexception":"1.0.0","side-channel-list":"1.0.1","w3c-xmlserializer":"5.0.0","@bufbuild/protobuf":"2.14.0","@csstools/css-calc":"3.3.0","@mixmark-io/domino":"2.2.0","@opentelemetry/api":"1.9.1","@protobufjs/base64":"1.1.2","data-uri-to-buffer":"4.0.1","es-define-property":"1.0.1","eventsource-parser":"3.1.0","express-rate-limit":"8.5.2","webidl-conversions":"8.0.1","xml-name-validator":"5.0.0","zod-to-json-schema":"3.25.2","@bramus/specificity":"2.4.2","@protobufjs/codegen":"2.0.5","content-disposition":"1.1.0","ecdsa-sig-formatter":"1.0.11","google-auth-library":"10.6.2","require-from-string":"2.0.2","@aws-sdk/xml-builder":"3.972.40","@mozilla/readability":"0.6.0","@smithy/signature-v4":"5.7.3","get-east-asian-width":"1.6.0","google-logging-utils":"1.1.3","json-schema-traverse":"1.0.0","side-channel-weakmap":"1.0.2","web-streams-polyfill":"3.3.3","@asamuzakjp/css-color":"6.0.7","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.9.10","@protobufjs/aspromise":"1.1.2","html-encoding-sniffer":"6.0.0","proxy-agent-negotiate":"1.1.0","@earendil-works/pi-pty":"npm:@code-yeongyu/senpi-pty@2026.9.10","@earendil-works/pi-tui":"npm:@code-yeongyu/senpi-tui@2026.9.10","@aws-sdk/nested-clients":"3.997.44","@csstools/color-helpers":"6.1.1","@csstools/css-tokenizer":"4.0.0","@mariozechner/clipboard":"*","call-bind-apply-helpers":"1.0.2","@asamuzakjp/dom-selector":"8.3.2","@aws-sdk/token-providers":"3.1116.0","@aws/lambda-invoke-store":"0.3.0","@protobufjs/eventemitter":"1.1.1","@modelcontextprotocol/sdk":"1.30.0","@smithy/node-http-handler":"4.11.3","@csstools/css-color-parser":"4.2.0","@silvia-odwyer/photon-node":"0.3.4","@smithy/fetch-http-handler":"5.7.2","buffer-equal-constant-time":"1.0.1","@code-yeongyu/senpi-codemode":"2026.9.10","@earendil-works/pi-telemetry":"npm:@code-yeongyu/senpi-telemetry@2026.9.10","@aws-sdk/middleware-websocket":"3.972.52","@earendil-works/pi-agent-core":"npm:@code-yeongyu/senpi-agent-core@2026.9.10","@anthropic-ai/claude-agent-sdk":"0.3.259","@aws-sdk/client-bedrock-runtime":"3.1116.0","@aws-sdk/middleware-eventstream":"3.972.29","@csstools/css-parser-algorithms":"4.0.0","@aws-sdk/credential-provider-env":"3.972.70","@aws-sdk/credential-provider-ini":"3.973.15","@aws-sdk/credential-provider-sso":"3.973.14","@smithy/credential-provider-imds":"4.5.2","is-potential-custom-element-name":"1.0.1","@aws-sdk/credential-provider-http":"3.972.72","@aws-sdk/credential-provider-node":"3.972.81","@aws-sdk/eventstream-handler-node":"3.972.34","@aws-sdk/credential-provider-login":"3.972.77","@aws-sdk/signature-v4-multi-region":"3.996.46","@aws-sdk/credential-provider-process":"3.972.70","@csstools/css-syntax-patches-for-csstree":"1.1.8","@aws-sdk/credential-provider-web-identity":"3.972.76"},"_hasShrinkwrap":false,"devDependencies":{"shx":"0.4.0","vitest":"4.1.11","@types/ws":"8.18.1","typescript":"7.0.2","@types/node":"26.2.0","@types/jsdom":"30.0.0","@types/semver":"7.8.0","@types/turndown":"5.0.6","@types/picomatch":"4.0.3","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@anthropic-ai/claude-agent-sdk","@anthropic-ai/sdk","@asamuzakjp/css-color","@asamuzakjp/dom-selector","@aws-sdk/client-bedrock-runtime","@aws-sdk/core","@aws-sdk/credential-provider-env","@aws-sdk/credential-provider-http","@aws-sdk/credential-provider-ini","@aws-sdk/credential-provider-login","@aws-sdk/credential-provider-node","@aws-sdk/credential-provider-process","@aws-sdk/credential-provider-sso","@aws-sdk/credential-provider-web-identity","@aws-sdk/eventstream-handler-node","@aws-sdk/middleware-eventstream","@aws-sdk/middleware-websocket","@aws-sdk/nested-clients","@aws-sdk/signature-v4-multi-region","@aws-sdk/token-providers","@aws-sdk/types","@aws-sdk/xml-builder","@aws/lambda-invoke-store","@babel/runtime","@bramus/specificity","@bufbuild/protobuf","@code-yeongyu/senpi-codemode","@csstools/color-helpers","@csstools/css-calc","@csstools/css-color-parser","@csstools/css-parser-algorithms","@csstools/css-syntax-patches-for-csstree","@csstools/css-tokenizer","@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-pty","@earendil-works/pi-telemetry","@earendil-works/pi-tui","@exodus/bytes","@google/genai","@hono/node-server","@mariozechner/clipboard","@mixmark-io/domino","@modelcontextprotocol/sdk","@mozilla/readability","@opentelemetry/api","@protobufjs/aspromise","@protobufjs/base64","@protobufjs/codegen","@protobufjs/eventemitter","@protobufjs/fetch","@protobufjs/float","@protobufjs/path","@protobufjs/pool","@protobufjs/utf8","@silvia-odwyer/photon-node","@smithy/core","@smithy/credential-provider-imds","@smithy/fetch-http-handler","@smithy/node-http-handler","@smithy/signature-v4","@smithy/types","@stablelib/base64","@types/node","@xterm/headless","accepts","agent-base","ajv","ajv-formats","balanced-match","base64-js","bidi-js","bignumber.js","body-parser","bowser","brace-expansion","buffer-equal-constant-time","bytes","call-bind-apply-helpers","call-bound","chalk","content-disposition","content-type","cookie","cookie-signature","cors","cross-spawn","css-tree","data-uri-to-buffer","data-urls","debug","decimal.js","depd","diff","dunder-proto","ecdsa-sig-formatter","ee-first","encodeurl","entities","es-define-property","es-errors","es-object-atoms","escape-html","etag","eventsource","eventsource-parser","express","express-rate-limit","extend","fast-deep-equal","fast-sha256","fast-uri","fetch-blob","finalhandler","formdata-polyfill","forwarded","fresh","function-bind","gaxios","gcp-metadata","get-east-asian-width","get-intrinsic","get-proto","glob","google-auth-library","google-logging-utils","gopd","graceful-fs","grok-mermaid","has-symbols","hasown","highlight.js","hono","hosted-git-info","html-encoding-sniffer","http-errors","http-proxy-agent","https-proxy-agent","iconv-lite","ignore","inherits","ip-address","ipaddr.js","is-potential-custom-element-name","is-promise","isexe","jiti","jose","jsdom","json-bigint","json-schema-to-ts","json-schema-traverse","json-schema-typed","jwa","jws","long","lru-cache","marked","math-intrinsics","mdn-data","media-typer","merge-descriptors","mime-db","mime-types","minimatch","minipass","ms","negotiator","node-domexception","node-fetch","object-assign","object-inspect","on-finished","once","openai","p-retry","parse5","parseurl","partial-json","path-key","path-scurry","path-to-regexp","picomatch","pkce-challenge","proper-lockfile","protobufjs","proxy-addr","proxy-agent-negotiate","proxy-from-env","punycode","qs","range-parser","raw-body","require-from-string","retry","router","safe-buffer","safer-buffer","saxes","semver","send","serve-static","setprototypeof","shebang-command","shebang-regex","side-channel","side-channel-list","side-channel-map","side-channel-weakmap","signal-exit","source-map-js","standardwebhooks","statuses","symbol-tree","tldts","tldts-core","toidentifier","tough-cookie","tr46","ts-algebra","tslib","turndown","type-is","typebox","undici","unpipe","vary","w3c-xmlserializer","web-streams-polyfill","webidl-conversions","whatwg-mimetype","whatwg-url","which","wrappy","ws","xml-name-validator","xmlchars","yaml","zod","zod-to-json-schema"],"optionalDependencies":{"@mariozechner/clipboard":"0.3.9","@mariozechner/clipboard-darwin-x64":"0.3.9","@mariozechner/clipboard-darwin-arm64":"0.3.9","@mariozechner/clipboard-linux-x64-gnu":"0.3.9","@mariozechner/clipboard-linux-x64-musl":"0.3.9","@mariozechner/clipboard-win32-x64-msvc":"0.3.9","@mariozechner/clipboard-linux-arm64-gnu":"0.3.9","@anthropic-ai/claude-agent-sdk-linux-x64":"0.3.259","@anthropic-ai/claude-agent-sdk-win32-x64":"0.3.259","@mariozechner/clipboard-darwin-universal":"0.3.9","@mariozechner/clipboard-linux-arm64-musl":"0.3.9","@mariozechner/clipboard-win32-arm64-msvc":"0.3.9","@anthropic-ai/claude-agent-sdk-darwin-x64":"0.3.259","@mariozechner/clipboard-linux-riscv64-gnu":"0.3.9","@anthropic-ai/claude-agent-sdk-linux-arm64":"0.3.259","@anthropic-ai/claude-agent-sdk-win32-arm64":"0.3.259","@anthropic-ai/claude-agent-sdk-darwin-arm64":"0.3.259","@anthropic-ai/claude-agent-sdk-linux-x64-musl":"0.3.259","@anthropic-ai/claude-agent-sdk-linux-arm64-musl":"0.3.259"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.9.10_1789038450364_0.23235225299201256","host":"s3://npm-registry-packages-npm-production"}},"2026.9.10-2":{"name":"@code-yeongyu/senpi","version":"2026.9.10-2","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.9.10-2","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"pi":"dist/bundle/cli.js","senpi":"dist/cli.js"},"dist":{"shasum":"c34ec91938e0acd1c6b39df16b15472a6a5b68f2","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.9.10-2.tgz","fileCount":25333,"integrity":"sha512-cPdPxDGeYN4DcEzn6zYv2n1P2pJLpvfaqLrDEzGw5+AsraxgseAFfY7mIaayYoNt7QtGmX23TxkMEH+LfOgPzQ==","signatures":[{"sig":"MEUCIQD3Ha/66HLSrPceCJKnIlEaaw+0QDqVIIA02zKbhqQ2nQIgdHkeMrgeSMKnVkFg03tgIJ5YdTWkroNeEmkKEVPHZ8w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.9.10-2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":176349452},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.js"},"./rpc-entry":{"import":"./dist/rpc-entry.js"}},"scripts":{"dev":"tsc -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsgo -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js dist/rpc-entry.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/","build:binary":"npm --prefix ../tui run build && npm --prefix ../telemetry run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm --prefix ../protocol run build && npm --prefix ../client run build && npm --prefix ../pty run build && npm run build && node ../../scripts/prepare-bun-compile-assets.mjs && bun build --compile --compile-autoload-package-json --no-compile-autoload-dotenv --no-compile-autoload-bunfig --minify --keep-names ./dist/bun/cli.js ./src/utils/image-resize-worker.ts ../../node_modules/jsdom/lib/jsdom/living/xhr/xhr-sync-worker.js --outfile dist/pi && npm run copy-binary-assets","qa:app-server":"node scripts/qa-app-server/run-all.mjs","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","build:unbundled":"tsgo -p tsconfig.build.json && shx chmod +x dist/cli.js dist/rpc-entry.js && npm run copy-assets","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/export-html/ && shx cp -r docs dist/ && shx cp -r examples dist/ && shx mkdir -p dist/node_modules && shx cp -r ../../node_modules/css-tree ../../node_modules/mdn-data ../../node_modules/source-map-js dist/node_modules/ && node ../../scripts/copy-codemode-sidecar.mjs dist && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/ && shx mkdir -p dist/native/darwin dist/native/win32 && shx cp -r ../../packages/tui/native/darwin/prebuilds dist/native/darwin/ && shx cp -r ../../packages/tui/native/win32/prebuilds dist/native/win32/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/ && node ../../scripts/copy-pty-native.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ea548fc8-dac4-4dec-a439-6f4fa3870309"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.3"},"rimraf":"6.1.3","protobufjs":"7.6.5","@hono/node-server":"2.1.1"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.19.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.20.0","dependencies":{"ms":"2.1.3","qs":"6.15.3","ws":"8.21.3","ajv":"8.20.0","jwa":"2.0.1","jws":"4.0.1","zod":"4.4.3","cors":"2.8.6","depd":"2.0.0","diff":"9.0.0","etag":"1.8.1","glob":"13.0.6","gopd":"1.2.0","hono":"4.12.27","jiti":"2.7.0","jose":"6.2.3","long":"5.3.2","once":"1.4.0","send":"1.2.1","tr46":"6.0.0","vary":"1.1.2","yaml":"2.9.0","bytes":"3.1.2","chalk":"6.0.0","debug":"4.4.3","fresh":"2.0.0","isexe":"2.0.0","jsdom":"30.0.1","retry":"0.13.1","saxes":"6.0.0","tldts":"7.4.10","tslib":"2.8.1","which":"2.0.2","bowser":"2.14.1","cookie":"0.7.2","extend":"3.0.2","gaxios":"7.1.4","hasown":"2.0.3","ignore":"7.0.6","marked":"18.0.10","openai":"6.26.0","parse5":"8.0.1","router":"2.2.0","semver":"7.8.5","undici":"8.10.0","unpipe":"1.0.0","wrappy":"1.0.2","accepts":"2.0.0","bidi-js":"1.0.3","express":"5.2.1","mime-db":"1.54.0","p-retry":"4.6.2","type-is":"2.1.0","typebox":"1.3.18","css-tree":"3.2.1","ee-first":"1.1.1","entities":"8.0.0","fast-uri":"3.1.4","inherits":"2.0.4","mdn-data":"2.27.1","minipass":"7.1.3","parseurl":"1.3.3","path-key":"3.1.1","punycode":"2.3.1","raw-body":"3.0.2","statuses":"2.0.2","turndown":"7.2.4","xmlchars":"2.2.0","base64-js":"1.5.1","data-urls":"7.0.0","encodeurl":"2.0.0","es-errors":"1.3.0","forwarded":"0.2.0","get-proto":"1.0.1","ipaddr.js":"1.9.1","lru-cache":"11.5.2","minimatch":"10.2.6","picomatch":"4.0.5","agent-base":"7.1.4","call-bound":"1.0.4","decimal.js":"10.6.0","fetch-blob":"3.2.0","iconv-lite":"0.7.3","ip-address":"10.2.0","is-promise":"4.0.0","mime-types":"3.0.2","negotiator":"1.0.0","node-fetch":"3.3.2","protobufjs":"7.6.5","proxy-addr":"2.0.7","tldts-core":"7.4.10","ts-algebra":"2.0.0","whatwg-url":"16.0.1","@types/node":"26.2.0","ajv-formats":"3.0.1","body-parser":"2.3.0","cross-spawn":"7.0.6","escape-html":"1.0.3","eventsource":"3.0.7","fast-sha256":"1.3.0","graceful-fs":"4.2.11","has-symbols":"1.1.0","http-errors":"2.0.1","json-bigint":"1.0.0","media-typer":"1.1.0","on-finished":"2.4.1","path-scurry":"2.0.2","safe-buffer":"5.2.1","signal-exit":"3.0.7","symbol-tree":"3.2.4","@smithy/core":"3.33.3","bignumber.js":"9.3.1","content-type":"1.0.5","dunder-proto":"1.0.1","finalhandler":"2.1.1","gcp-metadata":"8.1.2","grok-mermaid":"0.2.3","highlight.js":"11.12.0","partial-json":"0.1.7","range-parser":"1.3.0","safer-buffer":"2.1.2","serve-static":"2.2.1","side-channel":"1.1.1","toidentifier":"1.0.1","tough-cookie":"6.0.2","@aws-sdk/core":"3.977.9","@exodus/bytes":"1.15.1","@google/genai":"2.18.0","@smithy/types":"4.17.2","function-bind":"1.1.2","get-intrinsic":"1.3.0","object-assign":"4.1.1","shebang-regex":"3.0.0","source-map-js":"1.2.1","@aws-sdk/types":"3.974.5","@babel/runtime":"7.29.2","balanced-match":"4.0.4","object-inspect":"1.13.4","path-to-regexp":"8.4.2","pkce-challenge":"5.0.1","proxy-from-env":"2.1.0","setprototypeof":"1.2.0","@xterm/headless":"6.0.0","brace-expansion":"5.0.9","es-object-atoms":"1.1.2","fast-deep-equal":"3.1.3","hosted-git-info":"10.1.1","math-intrinsics":"1.1.0","proper-lockfile":"4.1.2","shebang-command":"2.0.0","whatwg-mimetype":"5.0.0","@protobufjs/path":"1.1.2","@protobufjs/pool":"1.1.0","@protobufjs/utf8":"1.1.1","cookie-signature":"1.2.2","http-proxy-agent":"9.1.0","side-channel-map":"1.0.1","standardwebhooks":"1.0.0","@anthropic-ai/sdk":"0.123.0","@hono/node-server":"2.1.1","@protobufjs/fetch":"1.1.1","@protobufjs/float":"1.0.2","@stablelib/base64":"1.0.1","formdata-polyfill":"4.0.10","https-proxy-agent":"9.1.0","json-schema-to-ts":"3.1.1","json-schema-typed":"8.0.2","merge-descriptors":"2.0.0","node-domexception":"1.0.0","side-channel-list":"1.0.1","w3c-xmlserializer":"5.0.0","@bufbuild/protobuf":"2.14.0","@csstools/css-calc":"3.3.0","@mixmark-io/domino":"2.2.0","@opentelemetry/api":"1.9.1","@protobufjs/base64":"1.1.2","data-uri-to-buffer":"4.0.1","es-define-property":"1.0.1","eventsource-parser":"3.1.0","express-rate-limit":"8.5.2","webidl-conversions":"8.0.1","xml-name-validator":"5.0.0","zod-to-json-schema":"3.25.2","@bramus/specificity":"2.4.2","@protobufjs/codegen":"2.0.5","content-disposition":"1.1.0","ecdsa-sig-formatter":"1.0.11","google-auth-library":"10.6.2","require-from-string":"2.0.2","@aws-sdk/xml-builder":"3.972.40","@mozilla/readability":"0.6.0","@smithy/signature-v4":"5.7.3","get-east-asian-width":"1.6.0","google-logging-utils":"1.1.3","json-schema-traverse":"1.0.0","side-channel-weakmap":"1.0.2","web-streams-polyfill":"3.3.3","@asamuzakjp/css-color":"6.0.7","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.9.10-2","@protobufjs/aspromise":"1.1.2","html-encoding-sniffer":"6.0.0","proxy-agent-negotiate":"1.1.0","@earendil-works/pi-pty":"npm:@code-yeongyu/senpi-pty@2026.9.10-2","@earendil-works/pi-tui":"npm:@code-yeongyu/senpi-tui@2026.9.10-2","@aws-sdk/nested-clients":"3.997.44","@csstools/color-helpers":"6.1.1","@csstools/css-tokenizer":"4.0.0","@mariozechner/clipboard":"*","call-bind-apply-helpers":"1.0.2","@asamuzakjp/dom-selector":"8.3.2","@aws-sdk/token-providers":"3.1116.0","@aws/lambda-invoke-store":"0.3.0","@protobufjs/eventemitter":"1.1.1","@modelcontextprotocol/sdk":"1.30.0","@smithy/node-http-handler":"4.11.3","@csstools/css-color-parser":"4.2.0","@silvia-odwyer/photon-node":"0.3.4","@smithy/fetch-http-handler":"5.7.2","buffer-equal-constant-time":"1.0.1","@code-yeongyu/senpi-codemode":"2026.9.10-2","@earendil-works/pi-telemetry":"npm:@code-yeongyu/senpi-telemetry@2026.9.10-2","@aws-sdk/middleware-websocket":"3.972.52","@earendil-works/pi-agent-core":"npm:@code-yeongyu/senpi-agent-core@2026.9.10-2","@anthropic-ai/claude-agent-sdk":"0.3.259","@aws-sdk/client-bedrock-runtime":"3.1116.0","@aws-sdk/middleware-eventstream":"3.972.29","@csstools/css-parser-algorithms":"4.0.0","@aws-sdk/credential-provider-env":"3.972.70","@aws-sdk/credential-provider-ini":"3.973.15","@aws-sdk/credential-provider-sso":"3.973.14","@smithy/credential-provider-imds":"4.5.2","is-potential-custom-element-name":"1.0.1","@aws-sdk/credential-provider-http":"3.972.72","@aws-sdk/credential-provider-node":"3.972.81","@aws-sdk/eventstream-handler-node":"3.972.34","@aws-sdk/credential-provider-login":"3.972.77","@aws-sdk/signature-v4-multi-region":"3.996.46","@aws-sdk/credential-provider-process":"3.972.70","@csstools/css-syntax-patches-for-csstree":"1.1.8","@aws-sdk/credential-provider-web-identity":"3.972.76"},"_hasShrinkwrap":false,"devDependencies":{"shx":"0.4.0","vitest":"4.1.11","@types/ws":"8.18.1","typescript":"7.0.2","@types/node":"26.2.0","@types/jsdom":"30.0.0","@types/semver":"7.8.0","@types/turndown":"5.0.6","@types/picomatch":"4.0.3","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@anthropic-ai/claude-agent-sdk","@anthropic-ai/sdk","@asamuzakjp/css-color","@asamuzakjp/dom-selector","@aws-sdk/client-bedrock-runtime","@aws-sdk/core","@aws-sdk/credential-provider-env","@aws-sdk/credential-provider-http","@aws-sdk/credential-provider-ini","@aws-sdk/credential-provider-login","@aws-sdk/credential-provider-node","@aws-sdk/credential-provider-process","@aws-sdk/credential-provider-sso","@aws-sdk/credential-provider-web-identity","@aws-sdk/eventstream-handler-node","@aws-sdk/middleware-eventstream","@aws-sdk/middleware-websocket","@aws-sdk/nested-clients","@aws-sdk/signature-v4-multi-region","@aws-sdk/token-providers","@aws-sdk/types","@aws-sdk/xml-builder","@aws/lambda-invoke-store","@babel/runtime","@bramus/specificity","@bufbuild/protobuf","@code-yeongyu/senpi-codemode","@csstools/color-helpers","@csstools/css-calc","@csstools/css-color-parser","@csstools/css-parser-algorithms","@csstools/css-syntax-patches-for-csstree","@csstools/css-tokenizer","@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-pty","@earendil-works/pi-telemetry","@earendil-works/pi-tui","@exodus/bytes","@google/genai","@hono/node-server","@mariozechner/clipboard","@mixmark-io/domino","@modelcontextprotocol/sdk","@mozilla/readability","@opentelemetry/api","@protobufjs/aspromise","@protobufjs/base64","@protobufjs/codegen","@protobufjs/eventemitter","@protobufjs/fetch","@protobufjs/float","@protobufjs/path","@protobufjs/pool","@protobufjs/utf8","@silvia-odwyer/photon-node","@smithy/core","@smithy/credential-provider-imds","@smithy/fetch-http-handler","@smithy/node-http-handler","@smithy/signature-v4","@smithy/types","@stablelib/base64","@types/node","@xterm/headless","accepts","agent-base","ajv","ajv-formats","balanced-match","base64-js","bidi-js","bignumber.js","body-parser","bowser","brace-expansion","buffer-equal-constant-time","bytes","call-bind-apply-helpers","call-bound","chalk","content-disposition","content-type","cookie","cookie-signature","cors","cross-spawn","css-tree","data-uri-to-buffer","data-urls","debug","decimal.js","depd","diff","dunder-proto","ecdsa-sig-formatter","ee-first","encodeurl","entities","es-define-property","es-errors","es-object-atoms","escape-html","etag","eventsource","eventsource-parser","express","express-rate-limit","extend","fast-deep-equal","fast-sha256","fast-uri","fetch-blob","finalhandler","formdata-polyfill","forwarded","fresh","function-bind","gaxios","gcp-metadata","get-east-asian-width","get-intrinsic","get-proto","glob","google-auth-library","google-logging-utils","gopd","graceful-fs","grok-mermaid","has-symbols","hasown","highlight.js","hono","hosted-git-info","html-encoding-sniffer","http-errors","http-proxy-agent","https-proxy-agent","iconv-lite","ignore","inherits","ip-address","ipaddr.js","is-potential-custom-element-name","is-promise","isexe","jiti","jose","jsdom","json-bigint","json-schema-to-ts","json-schema-traverse","json-schema-typed","jwa","jws","long","lru-cache","marked","math-intrinsics","mdn-data","media-typer","merge-descriptors","mime-db","mime-types","minimatch","minipass","ms","negotiator","node-domexception","node-fetch","object-assign","object-inspect","on-finished","once","openai","p-retry","parse5","parseurl","partial-json","path-key","path-scurry","path-to-regexp","picomatch","pkce-challenge","proper-lockfile","protobufjs","proxy-addr","proxy-agent-negotiate","proxy-from-env","punycode","qs","range-parser","raw-body","require-from-string","retry","router","safe-buffer","safer-buffer","saxes","semver","send","serve-static","setprototypeof","shebang-command","shebang-regex","side-channel","side-channel-list","side-channel-map","side-channel-weakmap","signal-exit","source-map-js","standardwebhooks","statuses","symbol-tree","tldts","tldts-core","toidentifier","tough-cookie","tr46","ts-algebra","tslib","turndown","type-is","typebox","undici","unpipe","vary","w3c-xmlserializer","web-streams-polyfill","webidl-conversions","whatwg-mimetype","whatwg-url","which","wrappy","ws","xml-name-validator","xmlchars","yaml","zod","zod-to-json-schema"],"optionalDependencies":{"@mariozechner/clipboard":"0.3.9","@mariozechner/clipboard-darwin-x64":"0.3.9","@mariozechner/clipboard-darwin-arm64":"0.3.9","@mariozechner/clipboard-linux-x64-gnu":"0.3.9","@mariozechner/clipboard-linux-x64-musl":"0.3.9","@mariozechner/clipboard-win32-x64-msvc":"0.3.9","@mariozechner/clipboard-linux-arm64-gnu":"0.3.9","@anthropic-ai/claude-agent-sdk-linux-x64":"0.3.259","@anthropic-ai/claude-agent-sdk-win32-x64":"0.3.259","@mariozechner/clipboard-darwin-universal":"0.3.9","@mariozechner/clipboard-linux-arm64-musl":"0.3.9","@mariozechner/clipboard-win32-arm64-msvc":"0.3.9","@anthropic-ai/claude-agent-sdk-darwin-x64":"0.3.259","@mariozechner/clipboard-linux-riscv64-gnu":"0.3.9","@anthropic-ai/claude-agent-sdk-linux-arm64":"0.3.259","@anthropic-ai/claude-agent-sdk-win32-arm64":"0.3.259","@anthropic-ai/claude-agent-sdk-darwin-arm64":"0.3.259","@anthropic-ai/claude-agent-sdk-linux-x64-musl":"0.3.259","@anthropic-ai/claude-agent-sdk-linux-arm64-musl":"0.3.259"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.9.10-2_1789055833186_0.0432351311637873","host":"s3://npm-registry-packages-npm-production"}},"2026.9.11":{"name":"@code-yeongyu/senpi","version":"2026.9.11","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.9.11","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"pi":"dist/bundle/cli.js","senpi":"dist/cli.js"},"dist":{"shasum":"ba79193f46a21f89d662888cb5f568a274e67804","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.9.11.tgz","fileCount":25418,"integrity":"sha512-L9WZUM3cIJvm/zjX7VTi1Y/EgsfEcdTmPQuwf5iV7no56OQ7376Wr8sD0aIzujH8lFENM2dyzhmBfIhgfLe6oQ==","signatures":[{"sig":"MEUCIDkCZ8nE5X72axD5OlmxzYYcwl7cgEPDApXETT9NQSQMAiEAluhMzEH9lXO1Wr4lijpsQzIYMbuzO+cVFnrEcMKCJlk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.9.11","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":176775869},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.js"},"./rpc-entry":{"import":"./dist/rpc-entry.js"}},"scripts":{"dev":"tsc -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsgo -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js dist/rpc-entry.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/","build:binary":"npm --prefix ../tui run build && npm --prefix ../telemetry run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm --prefix ../protocol run build && npm --prefix ../client run build && npm --prefix ../pty run build && npm run build && node ../../scripts/prepare-bun-compile-assets.mjs && bun build --compile --compile-autoload-package-json --no-compile-autoload-dotenv --no-compile-autoload-bunfig --minify --keep-names ./dist/bun/cli.js ./src/utils/image-resize-worker.ts ../../node_modules/jsdom/lib/jsdom/living/xhr/xhr-sync-worker.js --outfile dist/pi && npm run copy-binary-assets","qa:app-server":"node scripts/qa-app-server/run-all.mjs","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","build:unbundled":"tsgo -p tsconfig.build.json && shx chmod +x dist/cli.js dist/rpc-entry.js && npm run copy-assets","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/export-html/ && shx cp -r docs dist/ && shx cp -r examples dist/ && shx mkdir -p dist/node_modules && shx cp -r ../../node_modules/css-tree ../../node_modules/mdn-data ../../node_modules/source-map-js dist/node_modules/ && node ../../scripts/copy-codemode-sidecar.mjs dist && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/ && shx mkdir -p dist/native/darwin dist/native/win32 && shx cp -r ../../packages/tui/native/darwin/prebuilds dist/native/darwin/ && shx cp -r ../../packages/tui/native/win32/prebuilds dist/native/win32/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/ && node ../../scripts/copy-pty-native.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ea548fc8-dac4-4dec-a439-6f4fa3870309"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.3"},"rimraf":"6.1.3","protobufjs":"7.6.5","@hono/node-server":"2.1.1"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.19.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.20.0","dependencies":{"ms":"2.1.3","qs":"6.15.3","ws":"8.21.3","ajv":"8.20.0","jwa":"2.0.1","jws":"4.0.1","zod":"4.4.3","cors":"2.8.6","depd":"2.0.0","diff":"9.0.0","etag":"1.8.1","glob":"13.0.6","gopd":"1.2.0","hono":"4.12.27","jiti":"2.7.0","jose":"6.2.3","long":"5.3.2","once":"1.4.0","send":"1.2.1","tr46":"6.0.0","vary":"1.1.2","yaml":"2.9.0","bytes":"3.1.2","chalk":"6.0.0","debug":"4.4.3","fresh":"2.0.0","isexe":"2.0.0","jsdom":"30.0.1","retry":"0.13.1","saxes":"6.0.0","tldts":"7.4.10","tslib":"2.8.1","which":"2.0.2","bowser":"2.14.1","cookie":"0.7.2","extend":"3.0.2","gaxios":"7.1.4","hasown":"2.0.3","ignore":"7.0.6","marked":"18.0.10","openai":"6.26.0","parse5":"8.0.1","router":"2.2.0","semver":"7.8.5","undici":"8.10.0","unpipe":"1.0.0","wrappy":"1.0.2","accepts":"2.0.0","bidi-js":"1.0.3","express":"5.2.1","mime-db":"1.54.0","p-retry":"4.6.2","type-is":"2.1.0","typebox":"1.3.18","css-tree":"3.2.1","ee-first":"1.1.1","entities":"8.0.0","fast-uri":"3.1.4","inherits":"2.0.4","mdn-data":"2.27.1","minipass":"7.1.3","parseurl":"1.3.3","path-key":"3.1.1","punycode":"2.3.1","raw-body":"3.0.2","statuses":"2.0.2","turndown":"7.2.4","xmlchars":"2.2.0","base64-js":"1.5.1","data-urls":"7.0.0","encodeurl":"2.0.0","es-errors":"1.3.0","forwarded":"0.2.0","get-proto":"1.0.1","ipaddr.js":"1.9.1","lru-cache":"11.5.2","minimatch":"10.2.6","picomatch":"4.0.5","agent-base":"7.1.4","call-bound":"1.0.4","decimal.js":"10.6.0","fetch-blob":"3.2.0","iconv-lite":"0.7.3","ip-address":"10.2.0","is-promise":"4.0.0","mime-types":"3.0.2","negotiator":"1.0.0","node-fetch":"3.3.2","protobufjs":"7.6.5","proxy-addr":"2.0.7","tldts-core":"7.4.10","ts-algebra":"2.0.0","whatwg-url":"16.0.1","@types/node":"26.2.0","ajv-formats":"3.0.1","body-parser":"2.3.0","cross-spawn":"7.0.6","escape-html":"1.0.3","eventsource":"3.0.7","fast-sha256":"1.3.0","graceful-fs":"4.2.11","has-symbols":"1.1.0","http-errors":"2.0.1","json-bigint":"1.0.0","media-typer":"1.1.0","on-finished":"2.4.1","path-scurry":"2.0.2","safe-buffer":"5.2.1","signal-exit":"3.0.7","symbol-tree":"3.2.4","@smithy/core":"3.33.3","bignumber.js":"9.3.1","content-type":"1.0.5","dunder-proto":"1.0.1","finalhandler":"2.1.1","gcp-metadata":"8.1.2","grok-mermaid":"0.2.3","highlight.js":"11.12.0","partial-json":"0.1.7","range-parser":"1.3.0","safer-buffer":"2.1.2","serve-static":"2.2.1","side-channel":"1.1.1","toidentifier":"1.0.1","tough-cookie":"6.0.2","@aws-sdk/core":"3.977.9","@exodus/bytes":"1.15.1","@google/genai":"2.18.0","@smithy/types":"4.17.2","function-bind":"1.1.2","get-intrinsic":"1.3.0","object-assign":"4.1.1","shebang-regex":"3.0.0","source-map-js":"1.2.1","@aws-sdk/types":"3.974.5","@babel/runtime":"7.29.2","balanced-match":"4.0.4","object-inspect":"1.13.4","path-to-regexp":"8.4.2","pkce-challenge":"5.0.1","proxy-from-env":"2.1.0","setprototypeof":"1.2.0","@xterm/headless":"6.0.0","brace-expansion":"5.0.9","es-object-atoms":"1.1.2","fast-deep-equal":"3.1.3","hosted-git-info":"10.1.1","math-intrinsics":"1.1.0","proper-lockfile":"4.1.2","shebang-command":"2.0.0","whatwg-mimetype":"5.0.0","@protobufjs/path":"1.1.2","@protobufjs/pool":"1.1.0","@protobufjs/utf8":"1.1.1","cookie-signature":"1.2.2","http-proxy-agent":"9.1.0","side-channel-map":"1.0.1","standardwebhooks":"1.0.0","@anthropic-ai/sdk":"0.123.0","@hono/node-server":"2.1.1","@protobufjs/fetch":"1.1.1","@protobufjs/float":"1.0.2","@stablelib/base64":"1.0.1","formdata-polyfill":"4.0.10","https-proxy-agent":"9.1.0","json-schema-to-ts":"3.1.1","json-schema-typed":"8.0.2","merge-descriptors":"2.0.0","node-domexception":"1.0.0","side-channel-list":"1.0.1","w3c-xmlserializer":"5.0.0","@bufbuild/protobuf":"2.14.0","@csstools/css-calc":"3.3.0","@mixmark-io/domino":"2.2.0","@opentelemetry/api":"1.9.1","@protobufjs/base64":"1.1.2","data-uri-to-buffer":"4.0.1","es-define-property":"1.0.1","eventsource-parser":"3.1.0","express-rate-limit":"8.5.2","webidl-conversions":"8.0.1","xml-name-validator":"5.0.0","zod-to-json-schema":"3.25.2","@bramus/specificity":"2.4.2","@protobufjs/codegen":"2.0.5","content-disposition":"1.1.0","ecdsa-sig-formatter":"1.0.11","google-auth-library":"10.6.2","require-from-string":"2.0.2","@aws-sdk/xml-builder":"3.972.40","@mozilla/readability":"0.6.0","@smithy/signature-v4":"5.7.3","get-east-asian-width":"1.6.0","google-logging-utils":"1.1.3","json-schema-traverse":"1.0.0","side-channel-weakmap":"1.0.2","web-streams-polyfill":"3.3.3","@asamuzakjp/css-color":"6.0.7","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.9.11","@protobufjs/aspromise":"1.1.2","html-encoding-sniffer":"6.0.0","proxy-agent-negotiate":"1.1.0","@earendil-works/pi-pty":"npm:@code-yeongyu/senpi-pty@2026.9.11","@earendil-works/pi-tui":"npm:@code-yeongyu/senpi-tui@2026.9.11","@aws-sdk/nested-clients":"3.997.44","@csstools/color-helpers":"6.1.1","@csstools/css-tokenizer":"4.0.0","@mariozechner/clipboard":"*","call-bind-apply-helpers":"1.0.2","@asamuzakjp/dom-selector":"8.3.2","@aws-sdk/token-providers":"3.1116.0","@aws/lambda-invoke-store":"0.3.0","@protobufjs/eventemitter":"1.1.1","@modelcontextprotocol/sdk":"1.30.0","@smithy/node-http-handler":"4.11.3","@csstools/css-color-parser":"4.2.0","@silvia-odwyer/photon-node":"0.3.4","@smithy/fetch-http-handler":"5.7.2","buffer-equal-constant-time":"1.0.1","@code-yeongyu/senpi-codemode":"2026.9.11","@earendil-works/pi-telemetry":"npm:@code-yeongyu/senpi-telemetry@2026.9.11","@aws-sdk/middleware-websocket":"3.972.52","@earendil-works/pi-agent-core":"npm:@code-yeongyu/senpi-agent-core@2026.9.11","@anthropic-ai/claude-agent-sdk":"0.3.259","@aws-sdk/client-bedrock-runtime":"3.1116.0","@aws-sdk/middleware-eventstream":"3.972.29","@csstools/css-parser-algorithms":"4.0.0","@aws-sdk/credential-provider-env":"3.972.70","@aws-sdk/credential-provider-ini":"3.973.15","@aws-sdk/credential-provider-sso":"3.973.14","@smithy/credential-provider-imds":"4.5.2","is-potential-custom-element-name":"1.0.1","@aws-sdk/credential-provider-http":"3.972.72","@aws-sdk/credential-provider-node":"3.972.81","@aws-sdk/eventstream-handler-node":"3.972.34","@aws-sdk/credential-provider-login":"3.972.77","@aws-sdk/signature-v4-multi-region":"3.996.46","@aws-sdk/credential-provider-process":"3.972.70","@csstools/css-syntax-patches-for-csstree":"1.1.8","@aws-sdk/credential-provider-web-identity":"3.972.76"},"_hasShrinkwrap":false,"devDependencies":{"shx":"0.4.0","vitest":"4.1.11","@types/ws":"8.18.1","typescript":"7.0.2","@types/node":"26.2.0","@types/jsdom":"30.0.0","@types/semver":"7.8.0","@types/turndown":"5.0.6","@types/picomatch":"4.0.3","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@anthropic-ai/claude-agent-sdk","@anthropic-ai/sdk","@asamuzakjp/css-color","@asamuzakjp/dom-selector","@aws-sdk/client-bedrock-runtime","@aws-sdk/core","@aws-sdk/credential-provider-env","@aws-sdk/credential-provider-http","@aws-sdk/credential-provider-ini","@aws-sdk/credential-provider-login","@aws-sdk/credential-provider-node","@aws-sdk/credential-provider-process","@aws-sdk/credential-provider-sso","@aws-sdk/credential-provider-web-identity","@aws-sdk/eventstream-handler-node","@aws-sdk/middleware-eventstream","@aws-sdk/middleware-websocket","@aws-sdk/nested-clients","@aws-sdk/signature-v4-multi-region","@aws-sdk/token-providers","@aws-sdk/types","@aws-sdk/xml-builder","@aws/lambda-invoke-store","@babel/runtime","@bramus/specificity","@bufbuild/protobuf","@code-yeongyu/senpi-codemode","@csstools/color-helpers","@csstools/css-calc","@csstools/css-color-parser","@csstools/css-parser-algorithms","@csstools/css-syntax-patches-for-csstree","@csstools/css-tokenizer","@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-pty","@earendil-works/pi-telemetry","@earendil-works/pi-tui","@exodus/bytes","@google/genai","@hono/node-server","@mariozechner/clipboard","@mixmark-io/domino","@modelcontextprotocol/sdk","@mozilla/readability","@opentelemetry/api","@protobufjs/aspromise","@protobufjs/base64","@protobufjs/codegen","@protobufjs/eventemitter","@protobufjs/fetch","@protobufjs/float","@protobufjs/path","@protobufjs/pool","@protobufjs/utf8","@silvia-odwyer/photon-node","@smithy/core","@smithy/credential-provider-imds","@smithy/fetch-http-handler","@smithy/node-http-handler","@smithy/signature-v4","@smithy/types","@stablelib/base64","@types/node","@xterm/headless","accepts","agent-base","ajv","ajv-formats","balanced-match","base64-js","bidi-js","bignumber.js","body-parser","bowser","brace-expansion","buffer-equal-constant-time","bytes","call-bind-apply-helpers","call-bound","chalk","content-disposition","content-type","cookie","cookie-signature","cors","cross-spawn","css-tree","data-uri-to-buffer","data-urls","debug","decimal.js","depd","diff","dunder-proto","ecdsa-sig-formatter","ee-first","encodeurl","entities","es-define-property","es-errors","es-object-atoms","escape-html","etag","eventsource","eventsource-parser","express","express-rate-limit","extend","fast-deep-equal","fast-sha256","fast-uri","fetch-blob","finalhandler","formdata-polyfill","forwarded","fresh","function-bind","gaxios","gcp-metadata","get-east-asian-width","get-intrinsic","get-proto","glob","google-auth-library","google-logging-utils","gopd","graceful-fs","grok-mermaid","has-symbols","hasown","highlight.js","hono","hosted-git-info","html-encoding-sniffer","http-errors","http-proxy-agent","https-proxy-agent","iconv-lite","ignore","inherits","ip-address","ipaddr.js","is-potential-custom-element-name","is-promise","isexe","jiti","jose","jsdom","json-bigint","json-schema-to-ts","json-schema-traverse","json-schema-typed","jwa","jws","long","lru-cache","marked","math-intrinsics","mdn-data","media-typer","merge-descriptors","mime-db","mime-types","minimatch","minipass","ms","negotiator","node-domexception","node-fetch","object-assign","object-inspect","on-finished","once","openai","p-retry","parse5","parseurl","partial-json","path-key","path-scurry","path-to-regexp","picomatch","pkce-challenge","proper-lockfile","protobufjs","proxy-addr","proxy-agent-negotiate","proxy-from-env","punycode","qs","range-parser","raw-body","require-from-string","retry","router","safe-buffer","safer-buffer","saxes","semver","send","serve-static","setprototypeof","shebang-command","shebang-regex","side-channel","side-channel-list","side-channel-map","side-channel-weakmap","signal-exit","source-map-js","standardwebhooks","statuses","symbol-tree","tldts","tldts-core","toidentifier","tough-cookie","tr46","ts-algebra","tslib","turndown","type-is","typebox","undici","unpipe","vary","w3c-xmlserializer","web-streams-polyfill","webidl-conversions","whatwg-mimetype","whatwg-url","which","wrappy","ws","xml-name-validator","xmlchars","yaml","zod","zod-to-json-schema"],"optionalDependencies":{"@mariozechner/clipboard":"0.3.9","@mariozechner/clipboard-darwin-x64":"0.3.9","@mariozechner/clipboard-darwin-arm64":"0.3.9","@mariozechner/clipboard-linux-x64-gnu":"0.3.9","@mariozechner/clipboard-linux-x64-musl":"0.3.9","@mariozechner/clipboard-win32-x64-msvc":"0.3.9","@mariozechner/clipboard-linux-arm64-gnu":"0.3.9","@anthropic-ai/claude-agent-sdk-linux-x64":"0.3.259","@anthropic-ai/claude-agent-sdk-win32-x64":"0.3.259","@mariozechner/clipboard-darwin-universal":"0.3.9","@mariozechner/clipboard-linux-arm64-musl":"0.3.9","@mariozechner/clipboard-win32-arm64-msvc":"0.3.9","@anthropic-ai/claude-agent-sdk-darwin-x64":"0.3.259","@mariozechner/clipboard-linux-riscv64-gnu":"0.3.9","@anthropic-ai/claude-agent-sdk-linux-arm64":"0.3.259","@anthropic-ai/claude-agent-sdk-win32-arm64":"0.3.259","@anthropic-ai/claude-agent-sdk-darwin-arm64":"0.3.259","@anthropic-ai/claude-agent-sdk-linux-x64-musl":"0.3.259","@anthropic-ai/claude-agent-sdk-linux-arm64-musl":"0.3.259"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.9.11_1789145810713_0.40235571790033786","host":"s3://npm-registry-packages-npm-production"}},"2026.9.12":{"name":"@code-yeongyu/senpi","version":"2026.9.12","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.9.12","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"pi":"dist/bundle/cli.js","senpi":"dist/cli.js"},"dist":{"shasum":"8c8618793b132490abc85658280a5befb5e8f6de","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.9.12.tgz","fileCount":25426,"integrity":"sha512-zD4WESCgrgQ85wqRa59g1hLrldlirltSkJjEC8m2xvHcZ3l3h282LT8wX5uy/olV9SpdKyt3KeiyQz7LFnFSEA==","signatures":[{"sig":"MEUCIQCtkSmxH1Yr0jhE6M4vEORfjMcBognJvARKL078BZZ53QIgLlfhTpw7liYLRvPWY+KT69y+XjPSUUJWcsNsttR6NI0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.9.12","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":176876254},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.js"},"./rpc-entry":{"import":"./dist/rpc-entry.js"}},"scripts":{"dev":"tsc -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsgo -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js dist/rpc-entry.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/","build:binary":"npm --prefix ../tui run build && npm --prefix ../telemetry run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm --prefix ../protocol run build && npm --prefix ../client run build && npm --prefix ../pty run build && npm run build && node ../../scripts/prepare-bun-compile-assets.mjs && bun build --compile --compile-autoload-package-json --no-compile-autoload-dotenv --no-compile-autoload-bunfig --minify --keep-names ./dist/bun/cli.js ./src/utils/image-resize-worker.ts ../../node_modules/jsdom/lib/jsdom/living/xhr/xhr-sync-worker.js --outfile dist/pi && npm run copy-binary-assets","qa:app-server":"node scripts/qa-app-server/run-all.mjs","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","build:unbundled":"tsgo -p tsconfig.build.json && shx chmod +x dist/cli.js dist/rpc-entry.js && npm run copy-assets","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/export-html/ && shx cp -r docs dist/ && shx cp -r examples dist/ && shx mkdir -p dist/node_modules && shx cp -r ../../node_modules/css-tree ../../node_modules/mdn-data ../../node_modules/source-map-js dist/node_modules/ && node ../../scripts/copy-codemode-sidecar.mjs dist && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/ && shx mkdir -p dist/native/darwin dist/native/win32 && shx cp -r ../../packages/tui/native/darwin/prebuilds dist/native/darwin/ && shx cp -r ../../packages/tui/native/win32/prebuilds dist/native/win32/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/ && node ../../scripts/copy-pty-native.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ea548fc8-dac4-4dec-a439-6f4fa3870309"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.3"},"rimraf":"6.1.3","protobufjs":"7.6.5","@hono/node-server":"2.1.1"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.19.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.20.0","dependencies":{"ms":"2.1.3","qs":"6.15.3","ws":"8.21.3","ajv":"8.20.0","jwa":"2.0.1","jws":"4.0.1","zod":"4.4.3","cors":"2.8.6","depd":"2.0.0","diff":"9.0.0","etag":"1.8.1","glob":"13.0.6","gopd":"1.2.0","hono":"4.12.27","jiti":"2.7.0","jose":"6.2.3","long":"5.3.2","once":"1.4.0","send":"1.2.1","tr46":"6.0.0","vary":"1.1.2","yaml":"2.9.0","bytes":"3.1.2","chalk":"6.0.0","debug":"4.4.3","fresh":"2.0.0","isexe":"2.0.0","jsdom":"30.0.1","retry":"0.13.1","saxes":"6.0.0","tldts":"7.4.10","tslib":"2.8.1","which":"2.0.2","bowser":"2.14.1","cookie":"0.7.2","extend":"3.0.2","gaxios":"7.1.4","hasown":"2.0.3","ignore":"7.0.6","marked":"18.0.10","openai":"6.26.0","parse5":"8.0.1","router":"2.2.0","semver":"7.8.5","undici":"8.10.0","unpipe":"1.0.0","wrappy":"1.0.2","accepts":"2.0.0","bidi-js":"1.0.3","express":"5.2.1","mime-db":"1.54.0","p-retry":"4.6.2","type-is":"2.1.0","typebox":"1.3.18","css-tree":"3.2.1","ee-first":"1.1.1","entities":"8.0.0","fast-uri":"3.1.4","inherits":"2.0.4","mdn-data":"2.27.1","minipass":"7.1.3","parseurl":"1.3.3","path-key":"3.1.1","punycode":"2.3.1","raw-body":"3.0.2","statuses":"2.0.2","turndown":"7.2.4","xmlchars":"2.2.0","base64-js":"1.5.1","data-urls":"7.0.0","encodeurl":"2.0.0","es-errors":"1.3.0","forwarded":"0.2.0","get-proto":"1.0.1","ipaddr.js":"1.9.1","lru-cache":"11.5.2","minimatch":"10.2.6","picomatch":"4.0.5","agent-base":"7.1.4","call-bound":"1.0.4","decimal.js":"10.6.0","fetch-blob":"3.2.0","iconv-lite":"0.7.3","ip-address":"10.2.0","is-promise":"4.0.0","mime-types":"3.0.2","negotiator":"1.0.0","node-fetch":"3.3.2","protobufjs":"7.6.5","proxy-addr":"2.0.7","tldts-core":"7.4.10","ts-algebra":"2.0.0","whatwg-url":"16.0.1","@types/node":"26.2.0","ajv-formats":"3.0.1","body-parser":"2.3.0","cross-spawn":"7.0.6","escape-html":"1.0.3","eventsource":"3.0.7","fast-sha256":"1.3.0","graceful-fs":"4.2.11","has-symbols":"1.1.0","http-errors":"2.0.1","json-bigint":"1.0.0","media-typer":"1.1.0","on-finished":"2.4.1","path-scurry":"2.0.2","safe-buffer":"5.2.1","signal-exit":"3.0.7","symbol-tree":"3.2.4","@smithy/core":"3.33.3","bignumber.js":"9.3.1","content-type":"1.0.5","dunder-proto":"1.0.1","finalhandler":"2.1.1","gcp-metadata":"8.1.2","grok-mermaid":"0.2.3","highlight.js":"11.12.0","partial-json":"0.1.7","range-parser":"1.3.0","safer-buffer":"2.1.2","serve-static":"2.2.1","side-channel":"1.1.1","toidentifier":"1.0.1","tough-cookie":"6.0.2","@aws-sdk/core":"3.977.9","@exodus/bytes":"1.15.1","@google/genai":"2.18.0","@smithy/types":"4.17.2","function-bind":"1.1.2","get-intrinsic":"1.3.0","object-assign":"4.1.1","shebang-regex":"3.0.0","source-map-js":"1.2.1","@aws-sdk/types":"3.974.5","@babel/runtime":"7.29.2","balanced-match":"4.0.4","object-inspect":"1.13.4","path-to-regexp":"8.4.2","pkce-challenge":"5.0.1","proxy-from-env":"2.1.0","setprototypeof":"1.2.0","@xterm/headless":"6.0.0","brace-expansion":"5.0.9","es-object-atoms":"1.1.2","fast-deep-equal":"3.1.3","hosted-git-info":"10.1.1","math-intrinsics":"1.1.0","proper-lockfile":"4.1.2","shebang-command":"2.0.0","whatwg-mimetype":"5.0.0","@protobufjs/path":"1.1.2","@protobufjs/pool":"1.1.0","@protobufjs/utf8":"1.1.1","cookie-signature":"1.2.2","http-proxy-agent":"9.1.0","side-channel-map":"1.0.1","standardwebhooks":"1.0.0","@anthropic-ai/sdk":"0.123.0","@hono/node-server":"2.1.1","@protobufjs/fetch":"1.1.1","@protobufjs/float":"1.0.2","@stablelib/base64":"1.0.1","formdata-polyfill":"4.0.10","https-proxy-agent":"9.1.0","json-schema-to-ts":"3.1.1","json-schema-typed":"8.0.2","merge-descriptors":"2.0.0","node-domexception":"1.0.0","side-channel-list":"1.0.1","w3c-xmlserializer":"5.0.0","@bufbuild/protobuf":"2.14.0","@csstools/css-calc":"3.3.0","@mixmark-io/domino":"2.2.0","@opentelemetry/api":"1.9.1","@protobufjs/base64":"1.1.2","data-uri-to-buffer":"4.0.1","es-define-property":"1.0.1","eventsource-parser":"3.1.0","express-rate-limit":"8.5.2","webidl-conversions":"8.0.1","xml-name-validator":"5.0.0","zod-to-json-schema":"3.25.2","@bramus/specificity":"2.4.2","@protobufjs/codegen":"2.0.5","content-disposition":"1.1.0","ecdsa-sig-formatter":"1.0.11","google-auth-library":"10.6.2","require-from-string":"2.0.2","@aws-sdk/xml-builder":"3.972.40","@mozilla/readability":"0.6.0","@smithy/signature-v4":"5.7.3","get-east-asian-width":"1.6.0","google-logging-utils":"1.1.3","json-schema-traverse":"1.0.0","side-channel-weakmap":"1.0.2","web-streams-polyfill":"3.3.3","@asamuzakjp/css-color":"6.0.7","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.9.12","@protobufjs/aspromise":"1.1.2","html-encoding-sniffer":"6.0.0","proxy-agent-negotiate":"1.1.0","@earendil-works/pi-pty":"npm:@code-yeongyu/senpi-pty@2026.9.12","@earendil-works/pi-tui":"npm:@code-yeongyu/senpi-tui@2026.9.12","@aws-sdk/nested-clients":"3.997.44","@csstools/color-helpers":"6.1.1","@csstools/css-tokenizer":"4.0.0","@mariozechner/clipboard":"*","call-bind-apply-helpers":"1.0.2","@asamuzakjp/dom-selector":"8.3.2","@aws-sdk/token-providers":"3.1116.0","@aws/lambda-invoke-store":"0.3.0","@protobufjs/eventemitter":"1.1.1","@modelcontextprotocol/sdk":"1.30.0","@smithy/node-http-handler":"4.11.3","@csstools/css-color-parser":"4.2.0","@silvia-odwyer/photon-node":"0.3.4","@smithy/fetch-http-handler":"5.7.2","buffer-equal-constant-time":"1.0.1","@code-yeongyu/senpi-codemode":"2026.9.12","@earendil-works/pi-telemetry":"npm:@code-yeongyu/senpi-telemetry@2026.9.12","@aws-sdk/middleware-websocket":"3.972.52","@earendil-works/pi-agent-core":"npm:@code-yeongyu/senpi-agent-core@2026.9.12","@anthropic-ai/claude-agent-sdk":"0.3.259","@aws-sdk/client-bedrock-runtime":"3.1116.0","@aws-sdk/middleware-eventstream":"3.972.29","@csstools/css-parser-algorithms":"4.0.0","@aws-sdk/credential-provider-env":"3.972.70","@aws-sdk/credential-provider-ini":"3.973.15","@aws-sdk/credential-provider-sso":"3.973.14","@smithy/credential-provider-imds":"4.5.2","is-potential-custom-element-name":"1.0.1","@aws-sdk/credential-provider-http":"3.972.72","@aws-sdk/credential-provider-node":"3.972.81","@aws-sdk/eventstream-handler-node":"3.972.34","@aws-sdk/credential-provider-login":"3.972.77","@aws-sdk/signature-v4-multi-region":"3.996.46","@aws-sdk/credential-provider-process":"3.972.70","@csstools/css-syntax-patches-for-csstree":"1.1.8","@aws-sdk/credential-provider-web-identity":"3.972.76"},"_hasShrinkwrap":false,"devDependencies":{"shx":"0.4.0","vitest":"4.1.11","@types/ws":"8.18.1","typescript":"7.0.2","@types/node":"26.2.0","@types/jsdom":"30.0.0","@types/semver":"7.8.0","@types/turndown":"5.0.6","@types/picomatch":"4.0.3","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@anthropic-ai/claude-agent-sdk","@anthropic-ai/sdk","@asamuzakjp/css-color","@asamuzakjp/dom-selector","@aws-sdk/client-bedrock-runtime","@aws-sdk/core","@aws-sdk/credential-provider-env","@aws-sdk/credential-provider-http","@aws-sdk/credential-provider-ini","@aws-sdk/credential-provider-login","@aws-sdk/credential-provider-node","@aws-sdk/credential-provider-process","@aws-sdk/credential-provider-sso","@aws-sdk/credential-provider-web-identity","@aws-sdk/eventstream-handler-node","@aws-sdk/middleware-eventstream","@aws-sdk/middleware-websocket","@aws-sdk/nested-clients","@aws-sdk/signature-v4-multi-region","@aws-sdk/token-providers","@aws-sdk/types","@aws-sdk/xml-builder","@aws/lambda-invoke-store","@babel/runtime","@bramus/specificity","@bufbuild/protobuf","@code-yeongyu/senpi-codemode","@csstools/color-helpers","@csstools/css-calc","@csstools/css-color-parser","@csstools/css-parser-algorithms","@csstools/css-syntax-patches-for-csstree","@csstools/css-tokenizer","@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-pty","@earendil-works/pi-telemetry","@earendil-works/pi-tui","@exodus/bytes","@google/genai","@hono/node-server","@mariozechner/clipboard","@mixmark-io/domino","@modelcontextprotocol/sdk","@mozilla/readability","@opentelemetry/api","@protobufjs/aspromise","@protobufjs/base64","@protobufjs/codegen","@protobufjs/eventemitter","@protobufjs/fetch","@protobufjs/float","@protobufjs/path","@protobufjs/pool","@protobufjs/utf8","@silvia-odwyer/photon-node","@smithy/core","@smithy/credential-provider-imds","@smithy/fetch-http-handler","@smithy/node-http-handler","@smithy/signature-v4","@smithy/types","@stablelib/base64","@types/node","@xterm/headless","accepts","agent-base","ajv","ajv-formats","balanced-match","base64-js","bidi-js","bignumber.js","body-parser","bowser","brace-expansion","buffer-equal-constant-time","bytes","call-bind-apply-helpers","call-bound","chalk","content-disposition","content-type","cookie","cookie-signature","cors","cross-spawn","css-tree","data-uri-to-buffer","data-urls","debug","decimal.js","depd","diff","dunder-proto","ecdsa-sig-formatter","ee-first","encodeurl","entities","es-define-property","es-errors","es-object-atoms","escape-html","etag","eventsource","eventsource-parser","express","express-rate-limit","extend","fast-deep-equal","fast-sha256","fast-uri","fetch-blob","finalhandler","formdata-polyfill","forwarded","fresh","function-bind","gaxios","gcp-metadata","get-east-asian-width","get-intrinsic","get-proto","glob","google-auth-library","google-logging-utils","gopd","graceful-fs","grok-mermaid","has-symbols","hasown","highlight.js","hono","hosted-git-info","html-encoding-sniffer","http-errors","http-proxy-agent","https-proxy-agent","iconv-lite","ignore","inherits","ip-address","ipaddr.js","is-potential-custom-element-name","is-promise","isexe","jiti","jose","jsdom","json-bigint","json-schema-to-ts","json-schema-traverse","json-schema-typed","jwa","jws","long","lru-cache","marked","math-intrinsics","mdn-data","media-typer","merge-descriptors","mime-db","mime-types","minimatch","minipass","ms","negotiator","node-domexception","node-fetch","object-assign","object-inspect","on-finished","once","openai","p-retry","parse5","parseurl","partial-json","path-key","path-scurry","path-to-regexp","picomatch","pkce-challenge","proper-lockfile","protobufjs","proxy-addr","proxy-agent-negotiate","proxy-from-env","punycode","qs","range-parser","raw-body","require-from-string","retry","router","safe-buffer","safer-buffer","saxes","semver","send","serve-static","setprototypeof","shebang-command","shebang-regex","side-channel","side-channel-list","side-channel-map","side-channel-weakmap","signal-exit","source-map-js","standardwebhooks","statuses","symbol-tree","tldts","tldts-core","toidentifier","tough-cookie","tr46","ts-algebra","tslib","turndown","type-is","typebox","undici","unpipe","vary","w3c-xmlserializer","web-streams-polyfill","webidl-conversions","whatwg-mimetype","whatwg-url","which","wrappy","ws","xml-name-validator","xmlchars","yaml","zod","zod-to-json-schema"],"optionalDependencies":{"@mariozechner/clipboard":"0.3.9","@mariozechner/clipboard-darwin-x64":"0.3.9","@mariozechner/clipboard-darwin-arm64":"0.3.9","@mariozechner/clipboard-linux-x64-gnu":"0.3.9","@mariozechner/clipboard-linux-x64-musl":"0.3.9","@mariozechner/clipboard-win32-x64-msvc":"0.3.9","@mariozechner/clipboard-linux-arm64-gnu":"0.3.9","@anthropic-ai/claude-agent-sdk-linux-x64":"0.3.259","@anthropic-ai/claude-agent-sdk-win32-x64":"0.3.259","@mariozechner/clipboard-darwin-universal":"0.3.9","@mariozechner/clipboard-linux-arm64-musl":"0.3.9","@mariozechner/clipboard-win32-arm64-msvc":"0.3.9","@anthropic-ai/claude-agent-sdk-darwin-x64":"0.3.259","@mariozechner/clipboard-linux-riscv64-gnu":"0.3.9","@anthropic-ai/claude-agent-sdk-linux-arm64":"0.3.259","@anthropic-ai/claude-agent-sdk-win32-arm64":"0.3.259","@anthropic-ai/claude-agent-sdk-darwin-arm64":"0.3.259","@anthropic-ai/claude-agent-sdk-linux-x64-musl":"0.3.259","@anthropic-ai/claude-agent-sdk-linux-arm64-musl":"0.3.259"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.9.12_1789187965426_0.14941874956977275","host":"s3://npm-registry-packages-npm-production"}},"2026.9.12-2":{"name":"@code-yeongyu/senpi","version":"2026.9.12-2","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.9.12-2","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"pi":"dist/bundle/cli.js","senpi":"dist/cli.js"},"dist":{"shasum":"83a95ec0a5f956b1cab7ab8049437cce7a2c3214","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.9.12-2.tgz","fileCount":25450,"integrity":"sha512-ZKy6U24id4Bs7yIDPY/HdXmzItIOHGOTSdgPLQkcSBYfRLVV/Iu0fRQ8Vej32qVMsF6DPclW8bLhmlSYgKRSvw==","signatures":[{"sig":"MEUCIQDMf9mfvHGE7aQUKV5AiQ4IYyrDf0XXblnrUpgNqLIqnAIgIiB9/ySPx9Wdah/jijzbAXjKiQOg3R6a1M2ZJg/Jqag=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.9.12-2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":176953129},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.js"},"./rpc-entry":{"import":"./dist/rpc-entry.js"}},"scripts":{"dev":"tsc -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsgo -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js dist/rpc-entry.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/","build:binary":"npm --prefix ../tui run build && npm --prefix ../telemetry run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm --prefix ../protocol run build && npm --prefix ../client run build && npm --prefix ../pty run build && npm run build && node ../../scripts/prepare-bun-compile-assets.mjs && bun build --compile --compile-autoload-package-json --no-compile-autoload-dotenv --no-compile-autoload-bunfig --minify --keep-names ./dist/bun/cli.js ./src/utils/image-resize-worker.ts ../../node_modules/jsdom/lib/jsdom/living/xhr/xhr-sync-worker.js --outfile dist/pi && npm run copy-binary-assets","qa:app-server":"node scripts/qa-app-server/run-all.mjs","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","build:unbundled":"tsgo -p tsconfig.build.json && shx chmod +x dist/cli.js dist/rpc-entry.js && npm run copy-assets","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/export-html/ && shx cp -r docs dist/ && shx cp -r examples dist/ && shx mkdir -p dist/node_modules && shx cp -r ../../node_modules/css-tree ../../node_modules/mdn-data ../../node_modules/source-map-js dist/node_modules/ && node ../../scripts/copy-codemode-sidecar.mjs dist && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/ && shx mkdir -p dist/native/darwin dist/native/win32 && shx cp -r ../../packages/tui/native/darwin/prebuilds dist/native/darwin/ && shx cp -r ../../packages/tui/native/win32/prebuilds dist/native/win32/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/ && node ../../scripts/copy-pty-native.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ea548fc8-dac4-4dec-a439-6f4fa3870309"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.3"},"rimraf":"6.1.3","protobufjs":"7.6.5","@hono/node-server":"2.1.1"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.19.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.20.0","dependencies":{"ms":"2.1.3","qs":"6.15.3","ws":"8.21.3","ajv":"8.20.0","jwa":"2.0.1","jws":"4.0.1","zod":"4.4.3","cors":"2.8.6","depd":"2.0.0","diff":"9.0.0","etag":"1.8.1","glob":"13.0.6","gopd":"1.2.0","hono":"4.12.27","jiti":"2.7.0","jose":"6.2.3","long":"5.3.2","once":"1.4.0","send":"1.2.1","tr46":"6.0.0","vary":"1.1.2","yaml":"2.9.0","bytes":"3.1.2","chalk":"6.0.0","debug":"4.4.3","fresh":"2.0.0","isexe":"2.0.0","jsdom":"30.0.1","retry":"0.13.1","saxes":"6.0.0","tldts":"7.4.10","tslib":"2.8.1","which":"2.0.2","bowser":"2.14.1","cookie":"0.7.2","extend":"3.0.2","gaxios":"7.1.4","hasown":"2.0.3","ignore":"7.0.6","marked":"18.0.10","openai":"6.26.0","parse5":"8.0.1","router":"2.2.0","semver":"7.8.5","undici":"8.10.0","unpipe":"1.0.0","wrappy":"1.0.2","accepts":"2.0.0","bidi-js":"1.0.3","express":"5.2.1","mime-db":"1.54.0","p-retry":"4.6.2","type-is":"2.1.0","typebox":"1.3.18","css-tree":"3.2.1","ee-first":"1.1.1","entities":"8.0.0","fast-uri":"3.1.4","inherits":"2.0.4","mdn-data":"2.27.1","minipass":"7.1.3","parseurl":"1.3.3","path-key":"3.1.1","punycode":"2.3.1","raw-body":"3.0.2","statuses":"2.0.2","turndown":"7.2.4","xmlchars":"2.2.0","base64-js":"1.5.1","data-urls":"7.0.0","encodeurl":"2.0.0","es-errors":"1.3.0","forwarded":"0.2.0","get-proto":"1.0.1","ipaddr.js":"1.9.1","lru-cache":"11.5.2","minimatch":"10.2.6","picomatch":"4.0.5","agent-base":"7.1.4","call-bound":"1.0.4","decimal.js":"10.6.0","fetch-blob":"3.2.0","iconv-lite":"0.7.3","ip-address":"10.2.0","is-promise":"4.0.0","mime-types":"3.0.2","negotiator":"1.0.0","node-fetch":"3.3.2","protobufjs":"7.6.5","proxy-addr":"2.0.7","tldts-core":"7.4.10","ts-algebra":"2.0.0","whatwg-url":"16.0.1","@types/node":"26.2.0","ajv-formats":"3.0.1","body-parser":"2.3.0","cross-spawn":"7.0.6","escape-html":"1.0.3","eventsource":"3.0.7","fast-sha256":"1.3.0","graceful-fs":"4.2.11","has-symbols":"1.1.0","http-errors":"2.0.1","json-bigint":"1.0.0","media-typer":"1.1.0","on-finished":"2.4.1","path-scurry":"2.0.2","safe-buffer":"5.2.1","signal-exit":"3.0.7","symbol-tree":"3.2.4","@smithy/core":"3.33.3","bignumber.js":"9.3.1","content-type":"1.0.5","dunder-proto":"1.0.1","finalhandler":"2.1.1","gcp-metadata":"8.1.2","grok-mermaid":"0.2.3","highlight.js":"11.12.0","partial-json":"0.1.7","range-parser":"1.3.0","safer-buffer":"2.1.2","serve-static":"2.2.1","side-channel":"1.1.1","toidentifier":"1.0.1","tough-cookie":"6.0.2","@aws-sdk/core":"3.977.9","@exodus/bytes":"1.15.1","@google/genai":"2.18.0","@smithy/types":"4.17.2","function-bind":"1.1.2","get-intrinsic":"1.3.0","object-assign":"4.1.1","shebang-regex":"3.0.0","source-map-js":"1.2.1","@aws-sdk/types":"3.974.5","@babel/runtime":"7.29.2","balanced-match":"4.0.4","object-inspect":"1.13.4","path-to-regexp":"8.4.2","pkce-challenge":"5.0.1","proxy-from-env":"2.1.0","setprototypeof":"1.2.0","@xterm/headless":"6.0.0","brace-expansion":"5.0.9","es-object-atoms":"1.1.2","fast-deep-equal":"3.1.3","hosted-git-info":"10.1.1","math-intrinsics":"1.1.0","proper-lockfile":"4.1.2","shebang-command":"2.0.0","whatwg-mimetype":"5.0.0","@protobufjs/path":"1.1.2","@protobufjs/pool":"1.1.0","@protobufjs/utf8":"1.1.1","cookie-signature":"1.2.2","http-proxy-agent":"9.1.0","side-channel-map":"1.0.1","standardwebhooks":"1.0.0","@anthropic-ai/sdk":"0.123.0","@hono/node-server":"2.1.1","@protobufjs/fetch":"1.1.1","@protobufjs/float":"1.0.2","@stablelib/base64":"1.0.1","formdata-polyfill":"4.0.10","https-proxy-agent":"9.1.0","json-schema-to-ts":"3.1.1","json-schema-typed":"8.0.2","merge-descriptors":"2.0.0","node-domexception":"1.0.0","side-channel-list":"1.0.1","w3c-xmlserializer":"5.0.0","@bufbuild/protobuf":"2.14.0","@csstools/css-calc":"3.3.0","@mixmark-io/domino":"2.2.0","@opentelemetry/api":"1.9.1","@protobufjs/base64":"1.1.2","data-uri-to-buffer":"4.0.1","es-define-property":"1.0.1","eventsource-parser":"3.1.0","express-rate-limit":"8.5.2","webidl-conversions":"8.0.1","xml-name-validator":"5.0.0","zod-to-json-schema":"3.25.2","@bramus/specificity":"2.4.2","@protobufjs/codegen":"2.0.5","content-disposition":"1.1.0","ecdsa-sig-formatter":"1.0.11","google-auth-library":"10.6.2","require-from-string":"2.0.2","@aws-sdk/xml-builder":"3.972.40","@mozilla/readability":"0.6.0","@smithy/signature-v4":"5.7.3","get-east-asian-width":"1.6.0","google-logging-utils":"1.1.3","json-schema-traverse":"1.0.0","side-channel-weakmap":"1.0.2","web-streams-polyfill":"3.3.3","@asamuzakjp/css-color":"6.0.7","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.9.12-2","@protobufjs/aspromise":"1.1.2","html-encoding-sniffer":"6.0.0","proxy-agent-negotiate":"1.1.0","@earendil-works/pi-pty":"npm:@code-yeongyu/senpi-pty@2026.9.12-2","@earendil-works/pi-tui":"npm:@code-yeongyu/senpi-tui@2026.9.12-2","@aws-sdk/nested-clients":"3.997.44","@csstools/color-helpers":"6.1.1","@csstools/css-tokenizer":"4.0.0","@mariozechner/clipboard":"*","call-bind-apply-helpers":"1.0.2","@asamuzakjp/dom-selector":"8.3.2","@aws-sdk/token-providers":"3.1116.0","@aws/lambda-invoke-store":"0.3.0","@protobufjs/eventemitter":"1.1.1","@modelcontextprotocol/sdk":"1.30.0","@smithy/node-http-handler":"4.11.3","@csstools/css-color-parser":"4.2.0","@silvia-odwyer/photon-node":"0.3.4","@smithy/fetch-http-handler":"5.7.2","buffer-equal-constant-time":"1.0.1","@code-yeongyu/senpi-codemode":"2026.9.12-2","@earendil-works/pi-telemetry":"npm:@code-yeongyu/senpi-telemetry@2026.9.12-2","@aws-sdk/middleware-websocket":"3.972.52","@earendil-works/pi-agent-core":"npm:@code-yeongyu/senpi-agent-core@2026.9.12-2","@anthropic-ai/claude-agent-sdk":"0.3.259","@aws-sdk/client-bedrock-runtime":"3.1116.0","@aws-sdk/middleware-eventstream":"3.972.29","@csstools/css-parser-algorithms":"4.0.0","@aws-sdk/credential-provider-env":"3.972.70","@aws-sdk/credential-provider-ini":"3.973.15","@aws-sdk/credential-provider-sso":"3.973.14","@smithy/credential-provider-imds":"4.5.2","is-potential-custom-element-name":"1.0.1","@aws-sdk/credential-provider-http":"3.972.72","@aws-sdk/credential-provider-node":"3.972.81","@aws-sdk/eventstream-handler-node":"3.972.34","@aws-sdk/credential-provider-login":"3.972.77","@aws-sdk/signature-v4-multi-region":"3.996.46","@aws-sdk/credential-provider-process":"3.972.70","@csstools/css-syntax-patches-for-csstree":"1.1.8","@aws-sdk/credential-provider-web-identity":"3.972.76"},"_hasShrinkwrap":false,"devDependencies":{"shx":"0.4.0","vitest":"4.1.11","@types/ws":"8.18.1","typescript":"7.0.2","@types/node":"26.2.0","@types/jsdom":"30.0.0","@types/semver":"7.8.0","@types/turndown":"5.0.6","@types/picomatch":"4.0.3","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@anthropic-ai/claude-agent-sdk","@anthropic-ai/sdk","@asamuzakjp/css-color","@asamuzakjp/dom-selector","@aws-sdk/client-bedrock-runtime","@aws-sdk/core","@aws-sdk/credential-provider-env","@aws-sdk/credential-provider-http","@aws-sdk/credential-provider-ini","@aws-sdk/credential-provider-login","@aws-sdk/credential-provider-node","@aws-sdk/credential-provider-process","@aws-sdk/credential-provider-sso","@aws-sdk/credential-provider-web-identity","@aws-sdk/eventstream-handler-node","@aws-sdk/middleware-eventstream","@aws-sdk/middleware-websocket","@aws-sdk/nested-clients","@aws-sdk/signature-v4-multi-region","@aws-sdk/token-providers","@aws-sdk/types","@aws-sdk/xml-builder","@aws/lambda-invoke-store","@babel/runtime","@bramus/specificity","@bufbuild/protobuf","@code-yeongyu/senpi-codemode","@csstools/color-helpers","@csstools/css-calc","@csstools/css-color-parser","@csstools/css-parser-algorithms","@csstools/css-syntax-patches-for-csstree","@csstools/css-tokenizer","@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-pty","@earendil-works/pi-telemetry","@earendil-works/pi-tui","@exodus/bytes","@google/genai","@hono/node-server","@mariozechner/clipboard","@mixmark-io/domino","@modelcontextprotocol/sdk","@mozilla/readability","@opentelemetry/api","@protobufjs/aspromise","@protobufjs/base64","@protobufjs/codegen","@protobufjs/eventemitter","@protobufjs/fetch","@protobufjs/float","@protobufjs/path","@protobufjs/pool","@protobufjs/utf8","@silvia-odwyer/photon-node","@smithy/core","@smithy/credential-provider-imds","@smithy/fetch-http-handler","@smithy/node-http-handler","@smithy/signature-v4","@smithy/types","@stablelib/base64","@types/node","@xterm/headless","accepts","agent-base","ajv","ajv-formats","balanced-match","base64-js","bidi-js","bignumber.js","body-parser","bowser","brace-expansion","buffer-equal-constant-time","bytes","call-bind-apply-helpers","call-bound","chalk","content-disposition","content-type","cookie","cookie-signature","cors","cross-spawn","css-tree","data-uri-to-buffer","data-urls","debug","decimal.js","depd","diff","dunder-proto","ecdsa-sig-formatter","ee-first","encodeurl","entities","es-define-property","es-errors","es-object-atoms","escape-html","etag","eventsource","eventsource-parser","express","express-rate-limit","extend","fast-deep-equal","fast-sha256","fast-uri","fetch-blob","finalhandler","formdata-polyfill","forwarded","fresh","function-bind","gaxios","gcp-metadata","get-east-asian-width","get-intrinsic","get-proto","glob","google-auth-library","google-logging-utils","gopd","graceful-fs","grok-mermaid","has-symbols","hasown","highlight.js","hono","hosted-git-info","html-encoding-sniffer","http-errors","http-proxy-agent","https-proxy-agent","iconv-lite","ignore","inherits","ip-address","ipaddr.js","is-potential-custom-element-name","is-promise","isexe","jiti","jose","jsdom","json-bigint","json-schema-to-ts","json-schema-traverse","json-schema-typed","jwa","jws","long","lru-cache","marked","math-intrinsics","mdn-data","media-typer","merge-descriptors","mime-db","mime-types","minimatch","minipass","ms","negotiator","node-domexception","node-fetch","object-assign","object-inspect","on-finished","once","openai","p-retry","parse5","parseurl","partial-json","path-key","path-scurry","path-to-regexp","picomatch","pkce-challenge","proper-lockfile","protobufjs","proxy-addr","proxy-agent-negotiate","proxy-from-env","punycode","qs","range-parser","raw-body","require-from-string","retry","router","safe-buffer","safer-buffer","saxes","semver","send","serve-static","setprototypeof","shebang-command","shebang-regex","side-channel","side-channel-list","side-channel-map","side-channel-weakmap","signal-exit","source-map-js","standardwebhooks","statuses","symbol-tree","tldts","tldts-core","toidentifier","tough-cookie","tr46","ts-algebra","tslib","turndown","type-is","typebox","undici","unpipe","vary","w3c-xmlserializer","web-streams-polyfill","webidl-conversions","whatwg-mimetype","whatwg-url","which","wrappy","ws","xml-name-validator","xmlchars","yaml","zod","zod-to-json-schema"],"optionalDependencies":{"@mariozechner/clipboard":"0.3.9","@mariozechner/clipboard-darwin-x64":"0.3.9","@mariozechner/clipboard-darwin-arm64":"0.3.9","@mariozechner/clipboard-linux-x64-gnu":"0.3.9","@mariozechner/clipboard-linux-x64-musl":"0.3.9","@mariozechner/clipboard-win32-x64-msvc":"0.3.9","@mariozechner/clipboard-linux-arm64-gnu":"0.3.9","@anthropic-ai/claude-agent-sdk-linux-x64":"0.3.259","@anthropic-ai/claude-agent-sdk-win32-x64":"0.3.259","@mariozechner/clipboard-darwin-universal":"0.3.9","@mariozechner/clipboard-linux-arm64-musl":"0.3.9","@mariozechner/clipboard-win32-arm64-msvc":"0.3.9","@anthropic-ai/claude-agent-sdk-darwin-x64":"0.3.259","@mariozechner/clipboard-linux-riscv64-gnu":"0.3.9","@anthropic-ai/claude-agent-sdk-linux-arm64":"0.3.259","@anthropic-ai/claude-agent-sdk-win32-arm64":"0.3.259","@anthropic-ai/claude-agent-sdk-darwin-arm64":"0.3.259","@anthropic-ai/claude-agent-sdk-linux-x64-musl":"0.3.259","@anthropic-ai/claude-agent-sdk-linux-arm64-musl":"0.3.259"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.9.12-2_1789194446754_0.4650200101308444","host":"s3://npm-registry-packages-npm-production"}},"2026.9.12-3":{"name":"@code-yeongyu/senpi","version":"2026.9.12-3","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.9.12-3","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"pi":"dist/bundle/cli.js","senpi":"dist/cli.js"},"dist":{"shasum":"4e8ca465a85903dee9f314f39a7c754026b00b69","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.9.12-3.tgz","fileCount":26005,"integrity":"sha512-fZ0GuMXwPLOOzq6iwId/eJpkg7LunujDt20PSvfwLpK8LKLxNRU7v1ny08qJS2Vf6VLKOMWngBKtHUrxkZG1iw==","signatures":[{"sig":"MEUCIAZ3+Y9Pew3R7NsStTk/TeJnYRjzgz8iih0qIZHeoRVxAiEA5bZ/tCc09KxUDLszm2KDM2Arbn03ffDMcHaId5mNA+M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.9.12-3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":173048388},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.js"},"./rpc-entry":{"import":"./dist/rpc-entry.js"}},"scripts":{"dev":"tsc -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsgo -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js dist/rpc-entry.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/","build:binary":"npm --prefix ../tui run build && npm --prefix ../telemetry run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm --prefix ../protocol run build && npm --prefix ../client run build && npm --prefix ../pty run build && npm run build && node ../../scripts/prepare-bun-compile-assets.mjs && bun build --compile --compile-autoload-package-json --no-compile-autoload-dotenv --no-compile-autoload-bunfig --minify --keep-names ./dist/bun/cli.js ./src/utils/image-resize-worker.ts ../../node_modules/jsdom/lib/jsdom/living/xhr/xhr-sync-worker.js --outfile dist/pi && npm run copy-binary-assets","qa:app-server":"node scripts/qa-app-server/run-all.mjs","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","build:unbundled":"tsgo -p tsconfig.build.json && shx chmod +x dist/cli.js dist/rpc-entry.js && npm run copy-assets","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/export-html/ && shx cp -r docs dist/ && shx cp -r examples dist/ && shx mkdir -p dist/node_modules && shx cp -r ../../node_modules/css-tree ../../node_modules/mdn-data ../../node_modules/source-map-js dist/node_modules/ && node ../../scripts/copy-codemode-sidecar.mjs dist && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/ && shx mkdir -p dist/native/darwin dist/native/win32 && shx cp -r ../../packages/tui/native/darwin/prebuilds dist/native/darwin/ && shx cp -r ../../packages/tui/native/win32/prebuilds dist/native/win32/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/ && node ../../scripts/copy-pty-native.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ea548fc8-dac4-4dec-a439-6f4fa3870309"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.3"},"rimraf":"6.1.3","protobufjs":"7.6.5","@hono/node-server":"2.1.1"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.19.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.20.0","dependencies":{"ms":"2.1.3","qs":"6.15.3","ws":"8.21.3","ajv":"8.20.0","jwa":"2.0.1","jws":"4.0.1","zod":"4.4.3","cors":"2.8.6","depd":"2.0.0","diff":"9.0.0","etag":"1.8.1","glob":"13.0.6","gopd":"1.2.0","hono":"4.12.27","jiti":"2.7.0","jose":"6.2.3","long":"5.3.2","once":"1.4.0","send":"1.2.1","tr46":"6.0.0","vary":"1.1.2","yaml":"2.9.0","bytes":"3.1.2","chalk":"6.0.0","debug":"4.4.3","fresh":"2.0.0","isexe":"2.0.0","jsdom":"30.0.1","retry":"0.13.1","saxes":"6.0.0","tldts":"7.4.10","tslib":"2.8.1","which":"2.0.2","bowser":"2.14.1","cookie":"0.7.2","extend":"3.0.2","gaxios":"7.1.4","hasown":"2.0.3","ignore":"7.0.8","marked":"18.0.11","openai":"6.26.0","parse5":"8.0.1","router":"2.2.0","semver":"7.8.5","undici":"8.10.2","unpipe":"1.0.0","wrappy":"1.0.2","accepts":"2.0.0","bidi-js":"1.0.3","esbuild":"0.28.2","express":"5.2.1","mime-db":"1.54.0","p-retry":"4.6.2","type-is":"2.1.0","typebox":"1.3.27","css-tree":"3.2.1","ee-first":"1.1.1","entities":"8.0.0","fast-uri":"3.1.4","inherits":"2.0.4","mdn-data":"2.27.1","minipass":"7.1.3","parseurl":"1.3.3","path-key":"3.1.1","punycode":"2.3.1","raw-body":"3.0.2","statuses":"2.0.2","turndown":"7.2.4","xmlchars":"2.2.0","base64-js":"1.5.1","data-urls":"7.0.0","encodeurl":"2.0.0","es-errors":"1.3.0","forwarded":"0.2.0","get-proto":"1.0.1","ipaddr.js":"1.9.1","lru-cache":"11.5.2","minimatch":"10.2.6","picomatch":"4.0.5","agent-base":"7.1.4","call-bound":"1.0.4","decimal.js":"10.6.0","fetch-blob":"3.2.0","iconv-lite":"0.7.3","ip-address":"10.2.0","is-promise":"4.0.0","mime-types":"3.0.2","negotiator":"1.0.0","node-fetch":"3.3.2","protobufjs":"7.6.5","proxy-addr":"2.0.7","tldts-core":"7.4.10","ts-algebra":"2.0.0","whatwg-url":"16.0.1","@types/node":"26.2.0","ajv-formats":"3.0.1","body-parser":"2.3.0","cross-spawn":"7.0.6","escape-html":"1.0.3","eventsource":"3.0.7","fast-sha256":"1.3.0","graceful-fs":"4.2.11","has-symbols":"1.1.0","http-errors":"2.0.1","json-bigint":"1.0.0","media-typer":"1.1.0","on-finished":"2.4.1","path-scurry":"2.0.2","safe-buffer":"5.2.1","signal-exit":"3.0.7","symbol-tree":"3.2.4","@smithy/core":"3.33.3","bignumber.js":"9.3.1","content-type":"1.0.5","dunder-proto":"1.0.1","finalhandler":"2.1.1","gcp-metadata":"8.1.2","grok-mermaid":"0.2.3","highlight.js":"11.12.0","partial-json":"0.1.7","range-parser":"1.3.0","safer-buffer":"2.1.2","serve-static":"2.2.1","side-channel":"1.1.1","toidentifier":"1.0.1","tough-cookie":"6.0.2","@aws-sdk/core":"3.978.0","@exodus/bytes":"1.15.1","@google/genai":"2.21.0","@smithy/types":"4.17.2","function-bind":"1.1.2","get-intrinsic":"1.3.0","object-assign":"4.1.1","shebang-regex":"3.0.0","source-map-js":"1.2.1","@aws-sdk/types":"3.974.5","@babel/runtime":"7.29.2","balanced-match":"4.0.4","object-inspect":"1.13.4","path-to-regexp":"8.4.2","pkce-challenge":"5.0.1","proxy-from-env":"2.1.0","setprototypeof":"1.2.0","@xterm/headless":"6.0.0","brace-expansion":"5.0.9","es-object-atoms":"1.1.2","fast-deep-equal":"3.1.3","hosted-git-info":"10.1.1","math-intrinsics":"1.1.0","proper-lockfile":"4.1.2","shebang-command":"2.0.0","whatwg-mimetype":"5.0.0","@protobufjs/path":"1.1.2","@protobufjs/pool":"1.1.0","@protobufjs/utf8":"1.1.1","cookie-signature":"1.2.2","http-proxy-agent":"9.1.0","side-channel-map":"1.0.1","standardwebhooks":"1.0.0","@anthropic-ai/sdk":"0.123.0","@hono/node-server":"2.1.1","@protobufjs/fetch":"1.1.1","@protobufjs/float":"1.0.2","@stablelib/base64":"1.0.1","formdata-polyfill":"4.0.10","https-proxy-agent":"9.1.0","json-schema-to-ts":"3.1.1","json-schema-typed":"8.0.2","merge-descriptors":"2.0.0","node-domexception":"1.0.0","side-channel-list":"1.0.1","w3c-xmlserializer":"5.0.0","@bufbuild/protobuf":"2.14.0","@csstools/css-calc":"3.3.0","@mixmark-io/domino":"2.2.0","@opentelemetry/api":"1.9.1","@protobufjs/base64":"1.1.2","data-uri-to-buffer":"4.0.1","es-define-property":"1.0.1","eventsource-parser":"3.1.0","express-rate-limit":"8.5.2","webidl-conversions":"8.0.1","xml-name-validator":"5.0.0","zod-to-json-schema":"3.25.2","@bramus/specificity":"2.4.2","@protobufjs/codegen":"2.0.5","content-disposition":"1.1.0","ecdsa-sig-formatter":"1.0.11","google-auth-library":"10.6.2","require-from-string":"2.0.2","@aws-sdk/xml-builder":"3.972.40","@mozilla/readability":"0.6.0","@smithy/signature-v4":"5.7.3","get-east-asian-width":"1.6.0","google-logging-utils":"1.1.3","json-schema-traverse":"1.0.0","side-channel-weakmap":"1.0.2","web-streams-polyfill":"3.3.3","@asamuzakjp/css-color":"6.0.7","@earendil-works/chord":"^2026.9.12-3","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.9.12-3","@protobufjs/aspromise":"1.1.2","html-encoding-sniffer":"6.0.0","proxy-agent-negotiate":"1.1.0","@earendil-works/pi-pty":"npm:@code-yeongyu/senpi-pty@2026.9.12-3","@earendil-works/pi-tui":"npm:@code-yeongyu/senpi-tui@2026.9.12-3","@aws-sdk/nested-clients":"3.997.45","@csstools/color-helpers":"6.1.1","@csstools/css-tokenizer":"4.0.0","call-bind-apply-helpers":"1.0.2","@asamuzakjp/dom-selector":"8.3.2","@aws-sdk/token-providers":"3.1127.0","@aws/lambda-invoke-store":"0.3.0","@protobufjs/eventemitter":"1.1.1","@modelcontextprotocol/sdk":"1.30.0","@smithy/node-http-handler":"4.12.1","@csstools/css-color-parser":"4.2.0","@silvia-odwyer/photon-node":"0.3.4","@smithy/fetch-http-handler":"5.7.2","buffer-equal-constant-time":"1.0.1","@code-yeongyu/senpi-codemode":"2026.9.12-3","@earendil-works/pi-telemetry":"npm:@code-yeongyu/senpi-telemetry@2026.9.12-3","@aws-sdk/middleware-websocket":"3.972.52","@earendil-works/pi-agent-core":"npm:@code-yeongyu/senpi-agent-core@2026.9.12-3","@anthropic-ai/claude-agent-sdk":"0.3.259","@aws-sdk/client-bedrock-runtime":"3.1127.0","@aws-sdk/middleware-eventstream":"3.972.29","@csstools/css-parser-algorithms":"4.0.0","@aws-sdk/credential-provider-env":"3.972.71","@aws-sdk/credential-provider-ini":"3.973.16","@aws-sdk/credential-provider-sso":"3.973.15","@smithy/credential-provider-imds":"4.5.2","is-potential-custom-element-name":"1.0.1","@aws-sdk/credential-provider-http":"3.972.73","@aws-sdk/credential-provider-node":"3.972.83","@aws-sdk/eventstream-handler-node":"3.972.34","@aws-sdk/credential-provider-login":"3.972.78","@aws-sdk/signature-v4-multi-region":"3.996.46","@aws-sdk/credential-provider-process":"3.972.71","@csstools/css-syntax-patches-for-csstree":"1.1.8","@aws-sdk/credential-provider-web-identity":"3.972.77"},"_hasShrinkwrap":false,"devDependencies":{"shx":"0.4.0","vitest":"4.1.11","@types/ws":"8.18.1","typescript":"7.0.2","@types/node":"26.2.0","@types/jsdom":"30.0.0","@types/semver":"7.8.0","@types/turndown":"5.0.6","@types/picomatch":"4.0.3","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@anthropic-ai/claude-agent-sdk","@anthropic-ai/sdk","@asamuzakjp/css-color","@asamuzakjp/dom-selector","@aws-sdk/client-bedrock-runtime","@aws-sdk/core","@aws-sdk/credential-provider-env","@aws-sdk/credential-provider-http","@aws-sdk/credential-provider-ini","@aws-sdk/credential-provider-login","@aws-sdk/credential-provider-node","@aws-sdk/credential-provider-process","@aws-sdk/credential-provider-sso","@aws-sdk/credential-provider-web-identity","@aws-sdk/eventstream-handler-node","@aws-sdk/middleware-eventstream","@aws-sdk/middleware-websocket","@aws-sdk/nested-clients","@aws-sdk/signature-v4-multi-region","@aws-sdk/token-providers","@aws-sdk/types","@aws-sdk/xml-builder","@aws/lambda-invoke-store","@babel/runtime","@bramus/specificity","@bufbuild/protobuf","@code-yeongyu/senpi-codemode","@csstools/color-helpers","@csstools/css-calc","@csstools/css-color-parser","@csstools/css-parser-algorithms","@csstools/css-syntax-patches-for-csstree","@csstools/css-tokenizer","@earendil-works/chord","@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-pty","@earendil-works/pi-telemetry","@earendil-works/pi-tui","@exodus/bytes","@google/genai","@hono/node-server","@mixmark-io/domino","@modelcontextprotocol/sdk","@mozilla/readability","@opentelemetry/api","@protobufjs/aspromise","@protobufjs/base64","@protobufjs/codegen","@protobufjs/eventemitter","@protobufjs/fetch","@protobufjs/float","@protobufjs/path","@protobufjs/pool","@protobufjs/utf8","@silvia-odwyer/photon-node","@smithy/core","@smithy/credential-provider-imds","@smithy/fetch-http-handler","@smithy/node-http-handler","@smithy/signature-v4","@smithy/types","@stablelib/base64","@types/node","@xterm/headless","accepts","agent-base","ajv","ajv-formats","balanced-match","base64-js","bidi-js","bignumber.js","body-parser","bowser","brace-expansion","buffer-equal-constant-time","bytes","call-bind-apply-helpers","call-bound","chalk","content-disposition","content-type","cookie","cookie-signature","cors","cross-spawn","css-tree","data-uri-to-buffer","data-urls","debug","decimal.js","depd","diff","dunder-proto","ecdsa-sig-formatter","ee-first","encodeurl","entities","es-define-property","es-errors","es-object-atoms","esbuild","escape-html","etag","eventsource","eventsource-parser","express","express-rate-limit","extend","fast-deep-equal","fast-sha256","fast-uri","fetch-blob","finalhandler","formdata-polyfill","forwarded","fresh","function-bind","gaxios","gcp-metadata","get-east-asian-width","get-intrinsic","get-proto","glob","google-auth-library","google-logging-utils","gopd","graceful-fs","grok-mermaid","has-symbols","hasown","highlight.js","hono","hosted-git-info","html-encoding-sniffer","http-errors","http-proxy-agent","https-proxy-agent","iconv-lite","ignore","inherits","ip-address","ipaddr.js","is-potential-custom-element-name","is-promise","isexe","jiti","jose","jsdom","json-bigint","json-schema-to-ts","json-schema-traverse","json-schema-typed","jwa","jws","long","lru-cache","marked","math-intrinsics","mdn-data","media-typer","merge-descriptors","mime-db","mime-types","minimatch","minipass","ms","negotiator","node-domexception","node-fetch","object-assign","object-inspect","on-finished","once","openai","p-retry","parse5","parseurl","partial-json","path-key","path-scurry","path-to-regexp","picomatch","pkce-challenge","proper-lockfile","protobufjs","proxy-addr","proxy-agent-negotiate","proxy-from-env","punycode","qs","range-parser","raw-body","require-from-string","retry","router","safe-buffer","safer-buffer","saxes","semver","send","serve-static","setprototypeof","shebang-command","shebang-regex","side-channel","side-channel-list","side-channel-map","side-channel-weakmap","signal-exit","source-map-js","standardwebhooks","statuses","symbol-tree","tldts","tldts-core","toidentifier","tough-cookie","tr46","ts-algebra","tslib","turndown","type-is","typebox","undici","unpipe","vary","w3c-xmlserializer","web-streams-polyfill","webidl-conversions","whatwg-mimetype","whatwg-url","which","wrappy","ws","xml-name-validator","xmlchars","yaml","zod","zod-to-json-schema"],"optionalDependencies":{"@esbuild/aix-ppc64":"0.28.2","@esbuild/linux-arm":"0.28.2","@esbuild/linux-x64":"0.28.2","@esbuild/sunos-x64":"0.28.2","@esbuild/win32-x64":"0.28.2","@esbuild/darwin-x64":"0.28.2","@esbuild/linux-ia32":"0.28.2","@esbuild/netbsd-x64":"0.28.2","@esbuild/win32-ia32":"0.28.2","@esbuild/android-arm":"0.28.2","@esbuild/android-x64":"0.28.2","@esbuild/freebsd-x64":"0.28.2","@esbuild/linux-arm64":"0.28.2","@esbuild/linux-ppc64":"0.28.2","@esbuild/linux-s390x":"0.28.2","@esbuild/openbsd-x64":"0.28.2","@esbuild/win32-arm64":"0.28.2","@esbuild/darwin-arm64":"0.28.2","@esbuild/netbsd-arm64":"0.28.2","@esbuild/android-arm64":"0.28.2","@esbuild/freebsd-arm64":"0.28.2","@esbuild/linux-loong64":"0.28.2","@esbuild/linux-riscv64":"0.28.2","@esbuild/openbsd-arm64":"0.28.2","@esbuild/linux-mips64el":"0.28.2","@esbuild/openharmony-arm64":"0.28.2","@anthropic-ai/claude-agent-sdk-linux-x64":"0.3.259","@anthropic-ai/claude-agent-sdk-win32-x64":"0.3.259","@anthropic-ai/claude-agent-sdk-darwin-x64":"0.3.259","@anthropic-ai/claude-agent-sdk-linux-arm64":"0.3.259","@anthropic-ai/claude-agent-sdk-win32-arm64":"0.3.259","@anthropic-ai/claude-agent-sdk-darwin-arm64":"0.3.259","@anthropic-ai/claude-agent-sdk-linux-x64-musl":"0.3.259","@anthropic-ai/claude-agent-sdk-linux-arm64-musl":"0.3.259"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.9.12-3_1789215023198_0.10639883201067057","host":"s3://npm-registry-packages-npm-production"}},"2026.9.13":{"name":"@code-yeongyu/senpi","version":"2026.9.13","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.9.13","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"pi":"dist/bundle/cli.js","senpi":"dist/cli.js"},"dist":{"shasum":"2f16d0e96032ea26ed625def593315e03a837756","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.9.13.tgz","fileCount":26009,"integrity":"sha512-ojbnR6J58hGjJPCm9p+Myxxo6lz8JxsHqtPu+ysPdxD/XJPyNa9Fd/HvWOVi7HUx31RtKLlMqPJw0gFI8B3Z6w==","signatures":[{"sig":"MEYCIQCfYH3NAc/X/sqSDgY2PPvOMrbReHvixPCsvmdgdEcWVAIhALvlkeDcIY+ONHXO/HuD1Idv/JgKrfbEEiiaTm/uiAtF","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.9.13","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":173074978},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.js"},"./rpc-entry":{"import":"./dist/rpc-entry.js"}},"scripts":{"dev":"tsc -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsgo -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js dist/rpc-entry.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/","build:binary":"npm --prefix ../tui run build && npm --prefix ../telemetry run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm --prefix ../protocol run build && npm --prefix ../client run build && npm --prefix ../pty run build && npm run build && node ../../scripts/prepare-bun-compile-assets.mjs && bun build --compile --compile-autoload-package-json --no-compile-autoload-dotenv --no-compile-autoload-bunfig --minify --keep-names ./dist/bun/cli.js ./src/utils/image-resize-worker.ts ../../node_modules/jsdom/lib/jsdom/living/xhr/xhr-sync-worker.js --outfile dist/pi && npm run copy-binary-assets","qa:app-server":"node scripts/qa-app-server/run-all.mjs","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","build:unbundled":"tsgo -p tsconfig.build.json && shx chmod +x dist/cli.js dist/rpc-entry.js && npm run copy-assets","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/export-html/ && shx cp -r docs dist/ && shx cp -r examples dist/ && shx mkdir -p dist/node_modules && shx cp -r ../../node_modules/css-tree ../../node_modules/mdn-data ../../node_modules/source-map-js dist/node_modules/ && node ../../scripts/copy-codemode-sidecar.mjs dist && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/ && shx mkdir -p dist/native/darwin dist/native/win32 && shx cp -r ../../packages/tui/native/darwin/prebuilds dist/native/darwin/ && shx cp -r ../../packages/tui/native/win32/prebuilds dist/native/win32/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/ && node ../../scripts/copy-pty-native.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ea548fc8-dac4-4dec-a439-6f4fa3870309"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.3"},"rimraf":"6.1.3","protobufjs":"7.6.5","@hono/node-server":"2.1.1"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.19.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.20.0","dependencies":{"ms":"2.1.3","qs":"6.15.3","ws":"8.21.3","ajv":"8.20.0","jwa":"2.0.1","jws":"4.0.1","zod":"4.4.3","cors":"2.8.6","depd":"2.0.0","diff":"9.0.0","etag":"1.8.1","glob":"13.0.6","gopd":"1.2.0","hono":"4.12.27","jiti":"2.7.0","jose":"6.2.3","long":"5.3.2","once":"1.4.0","send":"1.2.1","tr46":"6.0.0","vary":"1.1.2","yaml":"2.9.0","bytes":"3.1.2","chalk":"6.0.0","debug":"4.4.3","fresh":"2.0.0","isexe":"2.0.0","jsdom":"30.0.1","retry":"0.13.1","saxes":"6.0.0","tldts":"7.4.10","tslib":"2.8.1","which":"2.0.2","bowser":"2.14.1","cookie":"0.7.2","extend":"3.0.2","gaxios":"7.1.4","hasown":"2.0.3","ignore":"7.0.8","marked":"18.0.11","openai":"6.26.0","parse5":"8.0.1","router":"2.2.0","semver":"7.8.5","undici":"8.10.2","unpipe":"1.0.0","wrappy":"1.0.2","accepts":"2.0.0","bidi-js":"1.0.3","esbuild":"0.28.2","express":"5.2.1","mime-db":"1.54.0","p-retry":"4.6.2","type-is":"2.1.0","typebox":"1.3.27","css-tree":"3.2.1","ee-first":"1.1.1","entities":"8.0.0","fast-uri":"3.1.4","inherits":"2.0.4","mdn-data":"2.27.1","minipass":"7.1.3","parseurl":"1.3.3","path-key":"3.1.1","punycode":"2.3.1","raw-body":"3.0.2","statuses":"2.0.2","turndown":"7.2.4","xmlchars":"2.2.0","base64-js":"1.5.1","data-urls":"7.0.0","encodeurl":"2.0.0","es-errors":"1.3.0","forwarded":"0.2.0","get-proto":"1.0.1","ipaddr.js":"1.9.1","lru-cache":"11.5.2","minimatch":"10.2.6","picomatch":"4.0.5","agent-base":"7.1.4","call-bound":"1.0.4","decimal.js":"10.6.0","fetch-blob":"3.2.0","iconv-lite":"0.7.3","ip-address":"10.2.0","is-promise":"4.0.0","mime-types":"3.0.2","negotiator":"1.0.0","node-fetch":"3.3.2","protobufjs":"7.6.5","proxy-addr":"2.0.7","tldts-core":"7.4.10","ts-algebra":"2.0.0","whatwg-url":"16.0.1","@types/node":"26.2.0","ajv-formats":"3.0.1","body-parser":"2.3.0","cross-spawn":"7.0.6","escape-html":"1.0.3","eventsource":"3.0.7","fast-sha256":"1.3.0","graceful-fs":"4.2.11","has-symbols":"1.1.0","http-errors":"2.0.1","json-bigint":"1.0.0","media-typer":"1.1.0","on-finished":"2.4.1","path-scurry":"2.0.2","safe-buffer":"5.2.1","signal-exit":"3.0.7","symbol-tree":"3.2.4","@smithy/core":"3.33.3","bignumber.js":"9.3.1","content-type":"1.0.5","dunder-proto":"1.0.1","finalhandler":"2.1.1","gcp-metadata":"8.1.2","grok-mermaid":"0.2.3","highlight.js":"11.12.0","partial-json":"0.1.7","range-parser":"1.3.0","safer-buffer":"2.1.2","serve-static":"2.2.1","side-channel":"1.1.1","toidentifier":"1.0.1","tough-cookie":"6.0.2","@aws-sdk/core":"3.978.0","@exodus/bytes":"1.15.1","@google/genai":"2.21.0","@smithy/types":"4.17.2","function-bind":"1.1.2","get-intrinsic":"1.3.0","object-assign":"4.1.1","shebang-regex":"3.0.0","source-map-js":"1.2.1","@aws-sdk/types":"3.974.5","@babel/runtime":"7.29.2","balanced-match":"4.0.4","object-inspect":"1.13.4","path-to-regexp":"8.4.2","pkce-challenge":"5.0.1","proxy-from-env":"2.1.0","setprototypeof":"1.2.0","@xterm/headless":"6.0.0","brace-expansion":"5.0.9","es-object-atoms":"1.1.2","fast-deep-equal":"3.1.3","hosted-git-info":"10.1.1","math-intrinsics":"1.1.0","proper-lockfile":"4.1.2","shebang-command":"2.0.0","whatwg-mimetype":"5.0.0","@protobufjs/path":"1.1.2","@protobufjs/pool":"1.1.0","@protobufjs/utf8":"1.1.1","cookie-signature":"1.2.2","http-proxy-agent":"9.1.0","side-channel-map":"1.0.1","standardwebhooks":"1.0.0","@anthropic-ai/sdk":"0.123.0","@hono/node-server":"2.1.1","@protobufjs/fetch":"1.1.1","@protobufjs/float":"1.0.2","@stablelib/base64":"1.0.1","formdata-polyfill":"4.0.10","https-proxy-agent":"9.1.0","json-schema-to-ts":"3.1.1","json-schema-typed":"8.0.2","merge-descriptors":"2.0.0","node-domexception":"1.0.0","side-channel-list":"1.0.1","w3c-xmlserializer":"5.0.0","@bufbuild/protobuf":"2.14.0","@csstools/css-calc":"3.3.0","@mixmark-io/domino":"2.2.0","@opentelemetry/api":"1.9.1","@protobufjs/base64":"1.1.2","data-uri-to-buffer":"4.0.1","es-define-property":"1.0.1","eventsource-parser":"3.1.0","express-rate-limit":"8.5.2","webidl-conversions":"8.0.1","xml-name-validator":"5.0.0","zod-to-json-schema":"3.25.2","@bramus/specificity":"2.4.2","@protobufjs/codegen":"2.0.5","content-disposition":"1.1.0","ecdsa-sig-formatter":"1.0.11","google-auth-library":"10.6.2","require-from-string":"2.0.2","@aws-sdk/xml-builder":"3.972.40","@mozilla/readability":"0.6.0","@smithy/signature-v4":"5.7.3","get-east-asian-width":"1.6.0","google-logging-utils":"1.1.3","json-schema-traverse":"1.0.0","side-channel-weakmap":"1.0.2","web-streams-polyfill":"3.3.3","@asamuzakjp/css-color":"6.0.7","@earendil-works/chord":"0.85.1","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.9.13","@protobufjs/aspromise":"1.1.2","html-encoding-sniffer":"6.0.0","proxy-agent-negotiate":"1.1.0","@earendil-works/pi-pty":"npm:@code-yeongyu/senpi-pty@2026.9.13","@earendil-works/pi-tui":"npm:@code-yeongyu/senpi-tui@2026.9.13","@aws-sdk/nested-clients":"3.997.45","@csstools/color-helpers":"6.1.1","@csstools/css-tokenizer":"4.0.0","call-bind-apply-helpers":"1.0.2","@asamuzakjp/dom-selector":"8.3.2","@aws-sdk/token-providers":"3.1127.0","@aws/lambda-invoke-store":"0.3.0","@protobufjs/eventemitter":"1.1.1","@modelcontextprotocol/sdk":"1.30.0","@smithy/node-http-handler":"4.12.1","@csstools/css-color-parser":"4.2.0","@silvia-odwyer/photon-node":"0.3.4","@smithy/fetch-http-handler":"5.7.2","buffer-equal-constant-time":"1.0.1","@code-yeongyu/senpi-codemode":"2026.9.13","@earendil-works/pi-telemetry":"npm:@code-yeongyu/senpi-telemetry@2026.9.13","@aws-sdk/middleware-websocket":"3.972.52","@earendil-works/pi-agent-core":"npm:@code-yeongyu/senpi-agent-core@2026.9.13","@anthropic-ai/claude-agent-sdk":"0.3.259","@aws-sdk/client-bedrock-runtime":"3.1127.0","@aws-sdk/middleware-eventstream":"3.972.29","@csstools/css-parser-algorithms":"4.0.0","@aws-sdk/credential-provider-env":"3.972.71","@aws-sdk/credential-provider-ini":"3.973.16","@aws-sdk/credential-provider-sso":"3.973.15","@smithy/credential-provider-imds":"4.5.2","is-potential-custom-element-name":"1.0.1","@aws-sdk/credential-provider-http":"3.972.73","@aws-sdk/credential-provider-node":"3.972.83","@aws-sdk/eventstream-handler-node":"3.972.34","@aws-sdk/credential-provider-login":"3.972.78","@aws-sdk/signature-v4-multi-region":"3.996.46","@aws-sdk/credential-provider-process":"3.972.71","@csstools/css-syntax-patches-for-csstree":"1.1.8","@aws-sdk/credential-provider-web-identity":"3.972.77"},"_hasShrinkwrap":false,"devDependencies":{"shx":"0.4.0","vitest":"4.1.11","@types/ws":"8.18.1","typescript":"7.0.2","@types/node":"26.2.0","@types/jsdom":"30.0.0","@types/semver":"7.8.0","@types/turndown":"5.0.6","@types/picomatch":"4.0.3","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@anthropic-ai/claude-agent-sdk","@anthropic-ai/sdk","@asamuzakjp/css-color","@asamuzakjp/dom-selector","@aws-sdk/client-bedrock-runtime","@aws-sdk/core","@aws-sdk/credential-provider-env","@aws-sdk/credential-provider-http","@aws-sdk/credential-provider-ini","@aws-sdk/credential-provider-login","@aws-sdk/credential-provider-node","@aws-sdk/credential-provider-process","@aws-sdk/credential-provider-sso","@aws-sdk/credential-provider-web-identity","@aws-sdk/eventstream-handler-node","@aws-sdk/middleware-eventstream","@aws-sdk/middleware-websocket","@aws-sdk/nested-clients","@aws-sdk/signature-v4-multi-region","@aws-sdk/token-providers","@aws-sdk/types","@aws-sdk/xml-builder","@aws/lambda-invoke-store","@babel/runtime","@bramus/specificity","@bufbuild/protobuf","@code-yeongyu/senpi-codemode","@csstools/color-helpers","@csstools/css-calc","@csstools/css-color-parser","@csstools/css-parser-algorithms","@csstools/css-syntax-patches-for-csstree","@csstools/css-tokenizer","@earendil-works/chord","@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-pty","@earendil-works/pi-telemetry","@earendil-works/pi-tui","@exodus/bytes","@google/genai","@hono/node-server","@mixmark-io/domino","@modelcontextprotocol/sdk","@mozilla/readability","@opentelemetry/api","@protobufjs/aspromise","@protobufjs/base64","@protobufjs/codegen","@protobufjs/eventemitter","@protobufjs/fetch","@protobufjs/float","@protobufjs/path","@protobufjs/pool","@protobufjs/utf8","@silvia-odwyer/photon-node","@smithy/core","@smithy/credential-provider-imds","@smithy/fetch-http-handler","@smithy/node-http-handler","@smithy/signature-v4","@smithy/types","@stablelib/base64","@types/node","@xterm/headless","accepts","agent-base","ajv","ajv-formats","balanced-match","base64-js","bidi-js","bignumber.js","body-parser","bowser","brace-expansion","buffer-equal-constant-time","bytes","call-bind-apply-helpers","call-bound","chalk","content-disposition","content-type","cookie","cookie-signature","cors","cross-spawn","css-tree","data-uri-to-buffer","data-urls","debug","decimal.js","depd","diff","dunder-proto","ecdsa-sig-formatter","ee-first","encodeurl","entities","es-define-property","es-errors","es-object-atoms","esbuild","escape-html","etag","eventsource","eventsource-parser","express","express-rate-limit","extend","fast-deep-equal","fast-sha256","fast-uri","fetch-blob","finalhandler","formdata-polyfill","forwarded","fresh","function-bind","gaxios","gcp-metadata","get-east-asian-width","get-intrinsic","get-proto","glob","google-auth-library","google-logging-utils","gopd","graceful-fs","grok-mermaid","has-symbols","hasown","highlight.js","hono","hosted-git-info","html-encoding-sniffer","http-errors","http-proxy-agent","https-proxy-agent","iconv-lite","ignore","inherits","ip-address","ipaddr.js","is-potential-custom-element-name","is-promise","isexe","jiti","jose","jsdom","json-bigint","json-schema-to-ts","json-schema-traverse","json-schema-typed","jwa","jws","long","lru-cache","marked","math-intrinsics","mdn-data","media-typer","merge-descriptors","mime-db","mime-types","minimatch","minipass","ms","negotiator","node-domexception","node-fetch","object-assign","object-inspect","on-finished","once","openai","p-retry","parse5","parseurl","partial-json","path-key","path-scurry","path-to-regexp","picomatch","pkce-challenge","proper-lockfile","protobufjs","proxy-addr","proxy-agent-negotiate","proxy-from-env","punycode","qs","range-parser","raw-body","require-from-string","retry","router","safe-buffer","safer-buffer","saxes","semver","send","serve-static","setprototypeof","shebang-command","shebang-regex","side-channel","side-channel-list","side-channel-map","side-channel-weakmap","signal-exit","source-map-js","standardwebhooks","statuses","symbol-tree","tldts","tldts-core","toidentifier","tough-cookie","tr46","ts-algebra","tslib","turndown","type-is","typebox","undici","unpipe","vary","w3c-xmlserializer","web-streams-polyfill","webidl-conversions","whatwg-mimetype","whatwg-url","which","wrappy","ws","xml-name-validator","xmlchars","yaml","zod","zod-to-json-schema"],"optionalDependencies":{"@esbuild/aix-ppc64":"0.28.2","@esbuild/linux-arm":"0.28.2","@esbuild/linux-x64":"0.28.2","@esbuild/sunos-x64":"0.28.2","@esbuild/win32-x64":"0.28.2","@esbuild/darwin-x64":"0.28.2","@esbuild/linux-ia32":"0.28.2","@esbuild/netbsd-x64":"0.28.2","@esbuild/win32-ia32":"0.28.2","@esbuild/android-arm":"0.28.2","@esbuild/android-x64":"0.28.2","@esbuild/freebsd-x64":"0.28.2","@esbuild/linux-arm64":"0.28.2","@esbuild/linux-ppc64":"0.28.2","@esbuild/linux-s390x":"0.28.2","@esbuild/openbsd-x64":"0.28.2","@esbuild/win32-arm64":"0.28.2","@esbuild/darwin-arm64":"0.28.2","@esbuild/netbsd-arm64":"0.28.2","@esbuild/android-arm64":"0.28.2","@esbuild/freebsd-arm64":"0.28.2","@esbuild/linux-loong64":"0.28.2","@esbuild/linux-riscv64":"0.28.2","@esbuild/openbsd-arm64":"0.28.2","@esbuild/linux-mips64el":"0.28.2","@esbuild/openharmony-arm64":"0.28.2","@anthropic-ai/claude-agent-sdk-linux-x64":"0.3.259","@anthropic-ai/claude-agent-sdk-win32-x64":"0.3.259","@anthropic-ai/claude-agent-sdk-darwin-x64":"0.3.259","@anthropic-ai/claude-agent-sdk-linux-arm64":"0.3.259","@anthropic-ai/claude-agent-sdk-win32-arm64":"0.3.259","@anthropic-ai/claude-agent-sdk-darwin-arm64":"0.3.259","@anthropic-ai/claude-agent-sdk-linux-x64-musl":"0.3.259","@anthropic-ai/claude-agent-sdk-linux-arm64-musl":"0.3.259"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.9.13_1789262614870_0.3894244539917766","host":"s3://npm-registry-packages-npm-production"}},"2026.9.13-2":{"name":"@code-yeongyu/senpi","version":"2026.9.13-2","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.9.13-2","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"pi":"dist/bundle/cli.js","senpi":"dist/cli.js"},"dist":{"shasum":"c9e06d284927756d92766b3bd0c9fea2c87b8910","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.9.13-2.tgz","fileCount":26045,"integrity":"sha512-2to+BYx8EIh2hAgzm9gLSoMI08dp0mpEThmfUwD87OfXsv/DOcsxY3jUTt3zlKAEHdWNLlDbrgQJRytYc2guKQ==","signatures":[{"sig":"MEYCIQD4k4MmdTkCf2uT1f4K2yYqV8huhk+fZD7BabIbGijHXQIhAOjloncvt3wBP8IJKW4TN+G0fEgpit1fq/eRjmaJimEO","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.9.13-2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":173322124},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.js"},"./rpc-entry":{"import":"./dist/rpc-entry.js"},"./bun-runtime":{"types":"./dist/bun/runtime-modules.d.ts","import":"./dist/bun/runtime-modules.js"}},"scripts":{"dev":"tsc -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsgo -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js dist/rpc-entry.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/","build:binary":"npm --prefix ../tui run build && npm --prefix ../telemetry run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm --prefix ../protocol run build && npm --prefix ../client run build && npm --prefix ../pty run build && npm run build && node ../../scripts/prepare-bun-compile-assets.mjs && bun build --compile --splitting --compile-autoload-package-json --no-compile-autoload-dotenv --no-compile-autoload-bunfig --minify --keep-names ./dist/bun/cli.js ./src/modes/rpc/session-worker.ts ./src/utils/image-resize-worker.ts ../../node_modules/jsdom/lib/jsdom/living/xhr/xhr-sync-worker.js --outfile dist/pi && npm run copy-binary-assets","qa:app-server":"node scripts/qa-app-server/run-all.mjs","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","build:unbundled":"tsgo -p tsconfig.build.json && shx chmod +x dist/cli.js dist/rpc-entry.js && npm run copy-assets","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/export-html/ && shx cp -r docs dist/ && shx cp -r examples dist/ && shx mkdir -p dist/node_modules && shx cp -r ../../node_modules/css-tree ../../node_modules/mdn-data ../../node_modules/source-map-js dist/node_modules/ && node ../../scripts/copy-codemode-sidecar.mjs dist && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/ && shx mkdir -p dist/native/darwin dist/native/win32 && shx cp -r ../../packages/tui/native/darwin/prebuilds dist/native/darwin/ && shx cp -r ../../packages/tui/native/win32/prebuilds dist/native/win32/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/ && node ../../scripts/copy-pty-native.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ea548fc8-dac4-4dec-a439-6f4fa3870309"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.3"},"rimraf":"6.1.3","protobufjs":"7.6.5","@hono/node-server":"2.1.1"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.19.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.20.0","dependencies":{"ms":"2.1.3","qs":"6.15.3","ws":"8.21.3","ajv":"8.20.0","jwa":"2.0.1","jws":"4.0.1","zod":"4.4.3","cors":"2.8.6","depd":"2.0.0","diff":"9.0.0","etag":"1.8.1","glob":"13.0.6","gopd":"1.2.0","hono":"4.12.27","jiti":"2.7.0","jose":"6.2.3","long":"5.3.2","once":"1.4.0","send":"1.2.1","tr46":"6.0.0","vary":"1.1.2","yaml":"2.9.0","bytes":"3.1.2","chalk":"6.0.0","debug":"4.4.3","fresh":"2.0.0","isexe":"2.0.0","jsdom":"30.0.1","retry":"0.13.1","saxes":"6.0.0","tldts":"7.4.10","tslib":"2.8.1","which":"2.0.2","bowser":"2.14.1","cookie":"0.7.2","extend":"3.0.2","gaxios":"7.1.4","hasown":"2.0.3","ignore":"7.0.8","marked":"18.0.11","openai":"6.26.0","parse5":"8.0.1","router":"2.2.0","semver":"7.8.5","undici":"8.10.2","unpipe":"1.0.0","wrappy":"1.0.2","accepts":"2.0.0","bidi-js":"1.0.3","esbuild":"0.28.2","express":"5.2.1","mime-db":"1.54.0","p-retry":"4.6.2","type-is":"2.1.0","typebox":"1.3.27","css-tree":"3.2.1","ee-first":"1.1.1","entities":"8.0.0","fast-uri":"3.1.4","inherits":"2.0.4","mdn-data":"2.27.1","minipass":"7.1.3","parseurl":"1.3.3","path-key":"3.1.1","punycode":"2.3.1","raw-body":"3.0.2","statuses":"2.0.2","turndown":"7.2.4","xmlchars":"2.2.0","base64-js":"1.5.1","data-urls":"7.0.0","encodeurl":"2.0.0","es-errors":"1.3.0","forwarded":"0.2.0","get-proto":"1.0.1","ipaddr.js":"1.9.1","lru-cache":"11.5.2","minimatch":"10.2.6","picomatch":"4.0.5","agent-base":"7.1.4","call-bound":"1.0.4","decimal.js":"10.6.0","fetch-blob":"3.2.0","iconv-lite":"0.7.3","ip-address":"10.2.0","is-promise":"4.0.0","mime-types":"3.0.2","negotiator":"1.0.0","node-fetch":"3.3.2","protobufjs":"7.6.5","proxy-addr":"2.0.7","tldts-core":"7.4.10","ts-algebra":"2.0.0","whatwg-url":"16.0.1","@types/node":"26.2.0","ajv-formats":"3.0.1","body-parser":"2.3.0","cross-spawn":"7.0.6","escape-html":"1.0.3","eventsource":"3.0.7","fast-sha256":"1.3.0","graceful-fs":"4.2.11","has-symbols":"1.1.0","http-errors":"2.0.1","json-bigint":"1.0.0","media-typer":"1.1.0","on-finished":"2.4.1","path-scurry":"2.0.2","safe-buffer":"5.2.1","signal-exit":"3.0.7","symbol-tree":"3.2.4","@smithy/core":"3.33.3","bignumber.js":"9.3.1","content-type":"1.0.5","dunder-proto":"1.0.1","finalhandler":"2.1.1","gcp-metadata":"8.1.2","grok-mermaid":"0.2.3","highlight.js":"11.12.0","partial-json":"0.1.7","range-parser":"1.3.0","safer-buffer":"2.1.2","serve-static":"2.2.1","side-channel":"1.1.1","toidentifier":"1.0.1","tough-cookie":"6.0.2","@aws-sdk/core":"3.978.0","@exodus/bytes":"1.15.1","@google/genai":"2.21.0","@smithy/types":"4.17.2","function-bind":"1.1.2","get-intrinsic":"1.3.0","object-assign":"4.1.1","shebang-regex":"3.0.0","source-map-js":"1.2.1","@aws-sdk/types":"3.974.5","@babel/runtime":"7.29.2","balanced-match":"4.0.4","object-inspect":"1.13.4","path-to-regexp":"8.4.2","pkce-challenge":"5.0.1","proxy-from-env":"2.1.0","setprototypeof":"1.2.0","@xterm/headless":"6.0.0","brace-expansion":"5.0.9","es-object-atoms":"1.1.2","fast-deep-equal":"3.1.3","hosted-git-info":"10.1.1","math-intrinsics":"1.1.0","proper-lockfile":"4.1.2","shebang-command":"2.0.0","whatwg-mimetype":"5.0.0","@protobufjs/path":"1.1.2","@protobufjs/pool":"1.1.0","@protobufjs/utf8":"1.1.1","cookie-signature":"1.2.2","http-proxy-agent":"9.1.0","side-channel-map":"1.0.1","standardwebhooks":"1.0.0","@anthropic-ai/sdk":"0.123.0","@hono/node-server":"2.1.1","@protobufjs/fetch":"1.1.1","@protobufjs/float":"1.0.2","@stablelib/base64":"1.0.1","formdata-polyfill":"4.0.10","https-proxy-agent":"9.1.0","json-schema-to-ts":"3.1.1","json-schema-typed":"8.0.2","merge-descriptors":"2.0.0","node-domexception":"1.0.0","side-channel-list":"1.0.1","w3c-xmlserializer":"5.0.0","@bufbuild/protobuf":"2.14.0","@csstools/css-calc":"3.3.0","@mixmark-io/domino":"2.2.0","@opentelemetry/api":"1.9.1","@protobufjs/base64":"1.1.2","data-uri-to-buffer":"4.0.1","es-define-property":"1.0.1","eventsource-parser":"3.1.0","express-rate-limit":"8.5.2","webidl-conversions":"8.0.1","xml-name-validator":"5.0.0","zod-to-json-schema":"3.25.2","@bramus/specificity":"2.4.2","@protobufjs/codegen":"2.0.5","content-disposition":"1.1.0","ecdsa-sig-formatter":"1.0.11","google-auth-library":"10.6.2","require-from-string":"2.0.2","@aws-sdk/xml-builder":"3.972.40","@mozilla/readability":"0.6.0","@smithy/signature-v4":"5.7.3","get-east-asian-width":"1.6.0","google-logging-utils":"1.1.3","json-schema-traverse":"1.0.0","side-channel-weakmap":"1.0.2","web-streams-polyfill":"3.3.3","@asamuzakjp/css-color":"6.0.7","@earendil-works/chord":"0.85.1","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.9.13-2","@protobufjs/aspromise":"1.1.2","html-encoding-sniffer":"6.0.0","proxy-agent-negotiate":"1.1.0","@earendil-works/pi-pty":"npm:@code-yeongyu/senpi-pty@2026.9.13-2","@earendil-works/pi-tui":"npm:@code-yeongyu/senpi-tui@2026.9.13-2","@aws-sdk/nested-clients":"3.997.45","@csstools/color-helpers":"6.1.1","@csstools/css-tokenizer":"4.0.0","call-bind-apply-helpers":"1.0.2","@asamuzakjp/dom-selector":"8.3.2","@aws-sdk/token-providers":"3.1127.0","@aws/lambda-invoke-store":"0.3.0","@protobufjs/eventemitter":"1.1.1","@modelcontextprotocol/sdk":"1.30.0","@smithy/node-http-handler":"4.12.1","@csstools/css-color-parser":"4.2.0","@silvia-odwyer/photon-node":"0.3.4","@smithy/fetch-http-handler":"5.7.2","buffer-equal-constant-time":"1.0.1","@code-yeongyu/senpi-codemode":"2026.9.13-2","@earendil-works/pi-telemetry":"npm:@code-yeongyu/senpi-telemetry@2026.9.13-2","@aws-sdk/middleware-websocket":"3.972.52","@earendil-works/pi-agent-core":"npm:@code-yeongyu/senpi-agent-core@2026.9.13-2","@anthropic-ai/claude-agent-sdk":"0.3.259","@aws-sdk/client-bedrock-runtime":"3.1127.0","@aws-sdk/middleware-eventstream":"3.972.29","@csstools/css-parser-algorithms":"4.0.0","@aws-sdk/credential-provider-env":"3.972.71","@aws-sdk/credential-provider-ini":"3.973.16","@aws-sdk/credential-provider-sso":"3.973.15","@smithy/credential-provider-imds":"4.5.2","is-potential-custom-element-name":"1.0.1","@aws-sdk/credential-provider-http":"3.972.73","@aws-sdk/credential-provider-node":"3.972.83","@aws-sdk/eventstream-handler-node":"3.972.34","@aws-sdk/credential-provider-login":"3.972.78","@aws-sdk/signature-v4-multi-region":"3.996.46","@aws-sdk/credential-provider-process":"3.972.71","@csstools/css-syntax-patches-for-csstree":"1.1.8","@aws-sdk/credential-provider-web-identity":"3.972.77"},"_hasShrinkwrap":false,"devDependencies":{"shx":"0.4.0","vitest":"4.1.11","@types/ws":"8.18.1","typescript":"7.0.2","@types/node":"26.2.0","@types/jsdom":"30.0.0","@types/semver":"7.8.0","@types/turndown":"5.0.6","@types/picomatch":"4.0.3","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@anthropic-ai/claude-agent-sdk","@anthropic-ai/sdk","@asamuzakjp/css-color","@asamuzakjp/dom-selector","@aws-sdk/client-bedrock-runtime","@aws-sdk/core","@aws-sdk/credential-provider-env","@aws-sdk/credential-provider-http","@aws-sdk/credential-provider-ini","@aws-sdk/credential-provider-login","@aws-sdk/credential-provider-node","@aws-sdk/credential-provider-process","@aws-sdk/credential-provider-sso","@aws-sdk/credential-provider-web-identity","@aws-sdk/eventstream-handler-node","@aws-sdk/middleware-eventstream","@aws-sdk/middleware-websocket","@aws-sdk/nested-clients","@aws-sdk/signature-v4-multi-region","@aws-sdk/token-providers","@aws-sdk/types","@aws-sdk/xml-builder","@aws/lambda-invoke-store","@babel/runtime","@bramus/specificity","@bufbuild/protobuf","@code-yeongyu/senpi-codemode","@csstools/color-helpers","@csstools/css-calc","@csstools/css-color-parser","@csstools/css-parser-algorithms","@csstools/css-syntax-patches-for-csstree","@csstools/css-tokenizer","@earendil-works/chord","@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-pty","@earendil-works/pi-telemetry","@earendil-works/pi-tui","@exodus/bytes","@google/genai","@hono/node-server","@mixmark-io/domino","@modelcontextprotocol/sdk","@mozilla/readability","@opentelemetry/api","@protobufjs/aspromise","@protobufjs/base64","@protobufjs/codegen","@protobufjs/eventemitter","@protobufjs/fetch","@protobufjs/float","@protobufjs/path","@protobufjs/pool","@protobufjs/utf8","@silvia-odwyer/photon-node","@smithy/core","@smithy/credential-provider-imds","@smithy/fetch-http-handler","@smithy/node-http-handler","@smithy/signature-v4","@smithy/types","@stablelib/base64","@types/node","@xterm/headless","accepts","agent-base","ajv","ajv-formats","balanced-match","base64-js","bidi-js","bignumber.js","body-parser","bowser","brace-expansion","buffer-equal-constant-time","bytes","call-bind-apply-helpers","call-bound","chalk","content-disposition","content-type","cookie","cookie-signature","cors","cross-spawn","css-tree","data-uri-to-buffer","data-urls","debug","decimal.js","depd","diff","dunder-proto","ecdsa-sig-formatter","ee-first","encodeurl","entities","es-define-property","es-errors","es-object-atoms","esbuild","escape-html","etag","eventsource","eventsource-parser","express","express-rate-limit","extend","fast-deep-equal","fast-sha256","fast-uri","fetch-blob","finalhandler","formdata-polyfill","forwarded","fresh","function-bind","gaxios","gcp-metadata","get-east-asian-width","get-intrinsic","get-proto","glob","google-auth-library","google-logging-utils","gopd","graceful-fs","grok-mermaid","has-symbols","hasown","highlight.js","hono","hosted-git-info","html-encoding-sniffer","http-errors","http-proxy-agent","https-proxy-agent","iconv-lite","ignore","inherits","ip-address","ipaddr.js","is-potential-custom-element-name","is-promise","isexe","jiti","jose","jsdom","json-bigint","json-schema-to-ts","json-schema-traverse","json-schema-typed","jwa","jws","long","lru-cache","marked","math-intrinsics","mdn-data","media-typer","merge-descriptors","mime-db","mime-types","minimatch","minipass","ms","negotiator","node-domexception","node-fetch","object-assign","object-inspect","on-finished","once","openai","p-retry","parse5","parseurl","partial-json","path-key","path-scurry","path-to-regexp","picomatch","pkce-challenge","proper-lockfile","protobufjs","proxy-addr","proxy-agent-negotiate","proxy-from-env","punycode","qs","range-parser","raw-body","require-from-string","retry","router","safe-buffer","safer-buffer","saxes","semver","send","serve-static","setprototypeof","shebang-command","shebang-regex","side-channel","side-channel-list","side-channel-map","side-channel-weakmap","signal-exit","source-map-js","standardwebhooks","statuses","symbol-tree","tldts","tldts-core","toidentifier","tough-cookie","tr46","ts-algebra","tslib","turndown","type-is","typebox","undici","unpipe","vary","w3c-xmlserializer","web-streams-polyfill","webidl-conversions","whatwg-mimetype","whatwg-url","which","wrappy","ws","xml-name-validator","xmlchars","yaml","zod","zod-to-json-schema"],"optionalDependencies":{"@esbuild/aix-ppc64":"0.28.2","@esbuild/linux-arm":"0.28.2","@esbuild/linux-x64":"0.28.2","@esbuild/sunos-x64":"0.28.2","@esbuild/win32-x64":"0.28.2","@esbuild/darwin-x64":"0.28.2","@esbuild/linux-ia32":"0.28.2","@esbuild/netbsd-x64":"0.28.2","@esbuild/win32-ia32":"0.28.2","@esbuild/android-arm":"0.28.2","@esbuild/android-x64":"0.28.2","@esbuild/freebsd-x64":"0.28.2","@esbuild/linux-arm64":"0.28.2","@esbuild/linux-ppc64":"0.28.2","@esbuild/linux-s390x":"0.28.2","@esbuild/openbsd-x64":"0.28.2","@esbuild/win32-arm64":"0.28.2","@esbuild/darwin-arm64":"0.28.2","@esbuild/netbsd-arm64":"0.28.2","@esbuild/android-arm64":"0.28.2","@esbuild/freebsd-arm64":"0.28.2","@esbuild/linux-loong64":"0.28.2","@esbuild/linux-riscv64":"0.28.2","@esbuild/openbsd-arm64":"0.28.2","@esbuild/linux-mips64el":"0.28.2","@esbuild/openharmony-arm64":"0.28.2","@anthropic-ai/claude-agent-sdk-linux-x64":"0.3.259","@anthropic-ai/claude-agent-sdk-win32-x64":"0.3.259","@anthropic-ai/claude-agent-sdk-darwin-x64":"0.3.259","@anthropic-ai/claude-agent-sdk-linux-arm64":"0.3.259","@anthropic-ai/claude-agent-sdk-win32-arm64":"0.3.259","@anthropic-ai/claude-agent-sdk-darwin-arm64":"0.3.259","@anthropic-ai/claude-agent-sdk-linux-x64-musl":"0.3.259","@anthropic-ai/claude-agent-sdk-linux-arm64-musl":"0.3.259"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.9.13-2_1789304490693_0.5346752408370277","host":"s3://npm-registry-packages-npm-production"}},"2026.9.15":{"name":"@code-yeongyu/senpi","version":"2026.9.15","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.9.15","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"pi":"dist/bundle/cli.js","senpi":"dist/cli.js"},"dist":{"shasum":"53d46b298377cde3be8d0a6da65c65838efb3e82","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.9.15.tgz","fileCount":26422,"integrity":"sha512-QQ7vjprPVDNJ9CBR5kbuKlIy4PECyX4gqT+aas5BdyXLtKNMhvDlsYyUXdFqY1ai+IShQHzcFgpDdh6zIBXgbw==","signatures":[{"sig":"MEUCIQCIz7EIDVuj++DZD08nRLT+89XYYA9fvm/0S3dGFeCoFAIgQbl5R23gbY0KZHzeRAoOUoS6gZjfNz3mnfjw0s3u4tM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.9.15","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":162624012},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.js"},"./rpc-entry":{"import":"./dist/rpc-entry.js"},"./bun-runtime":{"types":"./dist/bun/runtime-modules.d.ts","import":"./dist/bun/runtime-modules.js"}},"scripts":{"dev":"tsc -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsgo -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js dist/rpc-entry.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/","build:binary":"npm --prefix ../tui run build && npm --prefix ../telemetry run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm --prefix ../protocol run build && npm --prefix ../client run build && npm --prefix ../pty run build && npm run build && node ../../scripts/prepare-bun-compile-assets.mjs && bun build --compile --splitting --compile-autoload-package-json --no-compile-autoload-dotenv --no-compile-autoload-bunfig --minify --keep-names ./dist/bun/cli.js ./src/modes/rpc/session-worker.ts ./src/utils/image-resize-worker.ts --outfile dist/pi && npm run copy-binary-assets","qa:app-server":"node scripts/qa-app-server/run-all.mjs","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","build:unbundled":"tsgo -p tsconfig.build.json && shx chmod +x dist/cli.js dist/rpc-entry.js && npm run copy-assets","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/export-html/ && shx cp -r docs dist/ && shx cp -r examples dist/ && node ../../scripts/copy-codemode-sidecar.mjs dist && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/ && shx mkdir -p dist/native/darwin dist/native/win32 && shx cp -r ../../packages/tui/native/darwin/prebuilds dist/native/darwin/ && shx cp -r ../../packages/tui/native/win32/prebuilds dist/native/win32/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/ && node ../../scripts/copy-pty-native.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ea548fc8-dac4-4dec-a439-6f4fa3870309"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.3"},"rimraf":"6.1.3","protobufjs":"7.6.5","@hono/node-server":"2.1.1"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.19.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.20.0","dependencies":{"ms":"2.1.3","qs":"6.15.3","ws":"8.21.3","ajv":"8.20.0","jwa":"2.0.1","jws":"4.0.1","zod":"4.4.3","cors":"2.8.6","depd":"2.0.0","diff":"9.0.0","etag":"1.8.1","glob":"13.0.6","gopd":"1.2.0","hono":"4.12.27","jiti":"2.7.0","jose":"6.2.3","long":"5.3.2","once":"1.4.0","send":"1.2.1","vary":"1.1.2","yaml":"2.9.0","bytes":"3.1.2","chalk":"6.0.0","cssom":"0.5.0","debug":"4.4.3","fresh":"2.0.0","isexe":"2.0.0","retry":"0.13.1","tslib":"2.8.1","which":"2.0.2","bowser":"2.14.1","cookie":"0.7.2","extend":"3.0.2","gaxios":"7.1.4","hasown":"2.0.3","ignore":"7.0.8","marked":"18.0.11","openai":"6.26.0","router":"2.2.0","semver":"7.8.5","undici":"8.10.2","unpipe":"1.0.0","wrappy":"1.0.2","accepts":"2.0.0","esbuild":"0.28.2","express":"5.2.1","mime-db":"1.54.0","p-retry":"4.6.2","type-is":"2.1.0","typebox":"1.3.27","uhyphen":"0.2.0","boolbase":"1.0.0","css-what":"6.2.2","domutils":"3.2.2","ee-first":"1.1.1","fast-uri":"3.1.4","inherits":"2.0.4","linkedom":"0.18.12","minipass":"7.1.3","parseurl":"1.3.3","path-key":"3.1.1","raw-body":"3.0.2","statuses":"2.0.2","turndown":"7.2.4","base64-js":"1.5.1","encodeurl":"2.0.0","es-errors":"1.3.0","forwarded":"0.2.0","get-proto":"1.0.1","ipaddr.js":"1.9.1","lru-cache":"11.5.2","minimatch":"10.2.6","nth-check":"2.1.1","picomatch":"4.0.5","agent-base":"9.0.0","call-bound":"1.0.4","css-select":"5.2.2","domhandler":"5.0.3","fetch-blob":"3.2.0","iconv-lite":"0.7.3","ip-address":"10.2.0","is-promise":"4.0.0","mime-types":"3.0.2","negotiator":"1.0.0","node-fetch":"3.3.2","protobufjs":"7.6.5","proxy-addr":"2.0.7","ts-algebra":"2.0.0","@types/node":"26.2.0","ajv-formats":"3.0.1","body-parser":"2.3.0","cross-spawn":"7.0.6","escape-html":"1.0.3","eventsource":"3.0.7","fast-sha256":"1.3.0","graceful-fs":"4.2.11","has-symbols":"1.1.0","htmlparser2":"10.1.0","http-errors":"2.0.1","json-bigint":"1.0.0","media-typer":"1.1.0","on-finished":"2.4.1","path-scurry":"2.0.2","safe-buffer":"5.2.1","signal-exit":"3.0.7","@smithy/core":"3.33.3","bignumber.js":"9.3.1","content-type":"1.0.5","dunder-proto":"1.0.1","finalhandler":"2.1.1","gcp-metadata":"8.1.2","grok-mermaid":"0.2.3","highlight.js":"11.12.0","partial-json":"0.1.7","range-parser":"1.3.0","safer-buffer":"2.1.2","serve-static":"2.2.1","side-channel":"1.1.1","toidentifier":"1.0.1","@aws-sdk/core":"3.978.0","@google/genai":"2.21.0","@smithy/types":"4.17.2","function-bind":"1.1.2","get-intrinsic":"1.3.0","object-assign":"4.1.1","shebang-regex":"3.0.0","@aws-sdk/types":"3.974.5","@babel/runtime":"7.29.2","balanced-match":"4.0.4","dom-serializer":"2.0.0","domelementtype":"2.3.0","object-inspect":"1.13.4","path-to-regexp":"8.4.2","pkce-challenge":"5.0.1","proxy-from-env":"2.1.0","setprototypeof":"1.2.0","@xterm/headless":"6.0.0","brace-expansion":"5.0.9","es-module-lexer":"2.1.0","es-object-atoms":"1.1.2","fast-deep-equal":"3.1.3","hosted-git-info":"10.1.1","math-intrinsics":"1.1.0","proper-lockfile":"4.1.2","shebang-command":"2.0.0","@protobufjs/path":"1.1.2","@protobufjs/pool":"1.1.0","@protobufjs/utf8":"1.1.1","cookie-signature":"1.2.2","http-proxy-agent":"9.1.0","side-channel-map":"1.0.1","standardwebhooks":"1.0.0","@anthropic-ai/sdk":"0.123.0","@hono/node-server":"2.1.1","@protobufjs/fetch":"1.1.1","@protobufjs/float":"1.0.2","@stablelib/base64":"1.0.1","formdata-polyfill":"4.0.10","https-proxy-agent":"9.1.0","json-schema-to-ts":"3.1.1","json-schema-typed":"8.0.2","merge-descriptors":"2.0.0","node-domexception":"1.0.0","side-channel-list":"1.0.1","@bufbuild/protobuf":"2.14.0","@mixmark-io/domino":"2.2.0","@opentelemetry/api":"1.9.1","@protobufjs/base64":"1.1.2","data-uri-to-buffer":"4.0.1","es-define-property":"1.0.1","eventsource-parser":"3.1.0","express-rate-limit":"8.5.2","zod-to-json-schema":"3.25.2","@protobufjs/codegen":"2.0.5","content-disposition":"1.1.0","ecdsa-sig-formatter":"1.0.11","google-auth-library":"10.6.2","require-from-string":"2.0.2","@aws-sdk/xml-builder":"3.972.40","@mozilla/readability":"0.6.0","@smithy/signature-v4":"5.7.3","get-east-asian-width":"1.6.0","google-logging-utils":"1.1.3","json-schema-traverse":"1.0.0","side-channel-weakmap":"1.0.2","web-streams-polyfill":"3.3.3","@earendil-works/chord":"0.85.1","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.9.15","@protobufjs/aspromise":"1.1.2","proxy-agent-negotiate":"1.1.0","@earendil-works/pi-pty":"npm:@code-yeongyu/senpi-pty@2026.9.15","@earendil-works/pi-tui":"npm:@code-yeongyu/senpi-tui@2026.9.15","@aws-sdk/nested-clients":"3.997.45","call-bind-apply-helpers":"1.0.2","@aws-sdk/token-providers":"3.1127.0","@aws/lambda-invoke-store":"0.3.0","@protobufjs/eventemitter":"1.1.1","@modelcontextprotocol/sdk":"1.30.0","@smithy/node-http-handler":"4.12.1","@silvia-odwyer/photon-node":"0.3.4","@smithy/fetch-http-handler":"5.7.2","buffer-equal-constant-time":"1.0.1","@code-yeongyu/senpi-codemode":"2026.9.15","@earendil-works/pi-telemetry":"npm:@code-yeongyu/senpi-telemetry@2026.9.15","@aws-sdk/middleware-websocket":"3.972.52","@earendil-works/pi-agent-core":"npm:@code-yeongyu/senpi-agent-core@2026.9.15","@anthropic-ai/claude-agent-sdk":"0.3.259","@aws-sdk/client-bedrock-runtime":"3.1127.0","@aws-sdk/middleware-eventstream":"3.972.29","@aws-sdk/credential-provider-env":"3.972.71","@aws-sdk/credential-provider-ini":"3.973.16","@aws-sdk/credential-provider-sso":"3.973.15","@smithy/credential-provider-imds":"4.5.2","@aws-sdk/credential-provider-http":"3.972.73","@aws-sdk/credential-provider-node":"3.972.83","@aws-sdk/eventstream-handler-node":"3.972.34","@aws-sdk/credential-provider-login":"3.972.78","@aws-sdk/signature-v4-multi-region":"3.996.46","@aws-sdk/credential-provider-process":"3.972.71","@aws-sdk/credential-provider-web-identity":"3.972.77"},"_hasShrinkwrap":false,"devDependencies":{"shx":"0.4.0","vitest":"4.1.11","@types/ws":"8.18.1","typescript":"7.0.2","@types/node":"26.2.0","@types/semver":"7.8.0","@types/turndown":"5.0.6","@types/picomatch":"4.0.3","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@anthropic-ai/claude-agent-sdk","@anthropic-ai/sdk","@aws-sdk/client-bedrock-runtime","@aws-sdk/core","@aws-sdk/credential-provider-env","@aws-sdk/credential-provider-http","@aws-sdk/credential-provider-ini","@aws-sdk/credential-provider-login","@aws-sdk/credential-provider-node","@aws-sdk/credential-provider-process","@aws-sdk/credential-provider-sso","@aws-sdk/credential-provider-web-identity","@aws-sdk/eventstream-handler-node","@aws-sdk/middleware-eventstream","@aws-sdk/middleware-websocket","@aws-sdk/nested-clients","@aws-sdk/signature-v4-multi-region","@aws-sdk/token-providers","@aws-sdk/types","@aws-sdk/xml-builder","@aws/lambda-invoke-store","@babel/runtime","@bufbuild/protobuf","@code-yeongyu/senpi-codemode","@earendil-works/chord","@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-pty","@earendil-works/pi-telemetry","@earendil-works/pi-tui","@google/genai","@hono/node-server","@mixmark-io/domino","@modelcontextprotocol/sdk","@mozilla/readability","@opentelemetry/api","@protobufjs/aspromise","@protobufjs/base64","@protobufjs/codegen","@protobufjs/eventemitter","@protobufjs/fetch","@protobufjs/float","@protobufjs/path","@protobufjs/pool","@protobufjs/utf8","@silvia-odwyer/photon-node","@smithy/core","@smithy/credential-provider-imds","@smithy/fetch-http-handler","@smithy/node-http-handler","@smithy/signature-v4","@smithy/types","@stablelib/base64","@types/node","@xterm/headless","accepts","agent-base","ajv","ajv-formats","balanced-match","base64-js","bignumber.js","body-parser","boolbase","bowser","brace-expansion","buffer-equal-constant-time","bytes","call-bind-apply-helpers","call-bound","chalk","content-disposition","content-type","cookie","cookie-signature","cors","cross-spawn","css-select","css-what","cssom","data-uri-to-buffer","debug","depd","diff","dom-serializer","domelementtype","domhandler","domutils","dunder-proto","ecdsa-sig-formatter","ee-first","encodeurl","es-define-property","es-errors","es-module-lexer","es-object-atoms","esbuild","escape-html","etag","eventsource","eventsource-parser","express","express-rate-limit","extend","fast-deep-equal","fast-sha256","fast-uri","fetch-blob","finalhandler","formdata-polyfill","forwarded","fresh","function-bind","gaxios","gcp-metadata","get-east-asian-width","get-intrinsic","get-proto","glob","google-auth-library","google-logging-utils","gopd","graceful-fs","grok-mermaid","has-symbols","hasown","highlight.js","hono","hosted-git-info","htmlparser2","http-errors","http-proxy-agent","https-proxy-agent","iconv-lite","ignore","inherits","ip-address","ipaddr.js","is-promise","isexe","jiti","jose","json-bigint","json-schema-to-ts","json-schema-traverse","json-schema-typed","jwa","jws","linkedom","long","lru-cache","marked","math-intrinsics","media-typer","merge-descriptors","mime-db","mime-types","minimatch","minipass","ms","negotiator","node-domexception","node-fetch","nth-check","object-assign","object-inspect","on-finished","once","openai","p-retry","parseurl","partial-json","path-key","path-scurry","path-to-regexp","picomatch","pkce-challenge","proper-lockfile","protobufjs","proxy-addr","proxy-agent-negotiate","proxy-from-env","qs","range-parser","raw-body","require-from-string","retry","router","safe-buffer","safer-buffer","semver","send","serve-static","setprototypeof","shebang-command","shebang-regex","side-channel","side-channel-list","side-channel-map","side-channel-weakmap","signal-exit","standardwebhooks","statuses","toidentifier","ts-algebra","tslib","turndown","type-is","typebox","uhyphen","undici","unpipe","vary","web-streams-polyfill","which","wrappy","ws","yaml","zod","zod-to-json-schema"],"optionalDependencies":{"@esbuild/aix-ppc64":"0.28.2","@esbuild/linux-arm":"0.28.2","@esbuild/linux-x64":"0.28.2","@esbuild/sunos-x64":"0.28.2","@esbuild/win32-x64":"0.28.2","@esbuild/darwin-x64":"0.28.2","@esbuild/linux-ia32":"0.28.2","@esbuild/netbsd-x64":"0.28.2","@esbuild/win32-ia32":"0.28.2","@esbuild/android-arm":"0.28.2","@esbuild/android-x64":"0.28.2","@esbuild/freebsd-x64":"0.28.2","@esbuild/linux-arm64":"0.28.2","@esbuild/linux-ppc64":"0.28.2","@esbuild/linux-s390x":"0.28.2","@esbuild/openbsd-x64":"0.28.2","@esbuild/win32-arm64":"0.28.2","@esbuild/darwin-arm64":"0.28.2","@esbuild/netbsd-arm64":"0.28.2","@esbuild/android-arm64":"0.28.2","@esbuild/freebsd-arm64":"0.28.2","@esbuild/linux-loong64":"0.28.2","@esbuild/linux-riscv64":"0.28.2","@esbuild/openbsd-arm64":"0.28.2","@esbuild/linux-mips64el":"0.28.2","@esbuild/openharmony-arm64":"0.28.2","@anthropic-ai/claude-agent-sdk-linux-x64":"0.3.259","@anthropic-ai/claude-agent-sdk-win32-x64":"0.3.259","@anthropic-ai/claude-agent-sdk-darwin-x64":"0.3.259","@anthropic-ai/claude-agent-sdk-linux-arm64":"0.3.259","@anthropic-ai/claude-agent-sdk-win32-arm64":"0.3.259","@anthropic-ai/claude-agent-sdk-darwin-arm64":"0.3.259","@anthropic-ai/claude-agent-sdk-linux-x64-musl":"0.3.259","@anthropic-ai/claude-agent-sdk-linux-arm64-musl":"0.3.259"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.9.15_1789459748789_0.9565217603383458","host":"s3://npm-registry-packages-npm-production"}},"2026.9.15-2":{"name":"@code-yeongyu/senpi","version":"2026.9.15-2","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.9.15-2","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"pi":"dist/bundle/cli.js","senpi":"dist/cli.js"},"dist":{"shasum":"52ac120a18fcd72733c9ad31797d83ad9c441dec","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.9.15-2.tgz","fileCount":26454,"integrity":"sha512-Rt+J72G5UoCq5DTA0x8x+0OISK8YrpOunrvrkS0yDMr+m9pbFMwIakfUdzLtN5uTNrssAVEMeZATdbFiSi6xrw==","signatures":[{"sig":"MEUCICLaQikWJ+v/Agcfg3uFUB7xJb48bV7uEQtwao+uU8dJAiEAl+UB9rfGfzHvbj0NXECKeoiH0OIsXmJEBoTo2sR7uSc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.9.15-2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":162665422},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.js"},"./rpc-entry":{"import":"./dist/rpc-entry.js"},"./bun-runtime":{"types":"./dist/bun/runtime-modules.d.ts","import":"./dist/bun/runtime-modules.js"}},"scripts":{"dev":"tsc -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsgo -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js dist/rpc-entry.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/","build:binary":"npm --prefix ../tui run build && npm --prefix ../telemetry run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm --prefix ../protocol run build && npm --prefix ../client run build && npm --prefix ../pty run build && npm run build && node ../../scripts/prepare-bun-compile-assets.mjs && bun build --compile --splitting --compile-autoload-package-json --no-compile-autoload-dotenv --no-compile-autoload-bunfig --minify --keep-names ./dist/bun/cli.js ./src/modes/rpc/session-worker.ts ./src/utils/image-resize-worker.ts --outfile dist/pi && npm run copy-binary-assets","qa:app-server":"node scripts/qa-app-server/run-all.mjs","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","build:unbundled":"tsgo -p tsconfig.build.json && shx chmod +x dist/cli.js dist/rpc-entry.js && npm run copy-assets","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/export-html/ && shx cp -r docs dist/ && shx cp -r examples dist/ && node ../../scripts/copy-codemode-sidecar.mjs dist && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/ && shx mkdir -p dist/native/darwin dist/native/win32 && shx cp -r ../../packages/tui/native/darwin/prebuilds dist/native/darwin/ && shx cp -r ../../packages/tui/native/win32/prebuilds dist/native/win32/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/ && node ../../scripts/copy-pty-native.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ea548fc8-dac4-4dec-a439-6f4fa3870309"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.3"},"rimraf":"6.1.3","protobufjs":"7.6.5","@hono/node-server":"2.1.1"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.19.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.20.0","dependencies":{"ms":"2.1.3","qs":"6.15.3","ws":"8.21.3","ajv":"8.20.0","jwa":"2.0.1","jws":"4.0.1","zod":"4.4.3","cors":"2.8.6","depd":"2.0.0","diff":"9.0.0","etag":"1.8.1","glob":"13.0.6","gopd":"1.2.0","hono":"4.12.27","jiti":"2.7.0","jose":"6.2.3","long":"5.3.2","once":"1.4.0","send":"1.2.1","vary":"1.1.2","yaml":"2.9.0","bytes":"3.1.2","chalk":"6.0.0","cssom":"0.5.0","debug":"4.4.3","fresh":"2.0.0","isexe":"2.0.0","retry":"0.13.1","tslib":"2.8.1","which":"2.0.2","bowser":"2.14.1","cookie":"0.7.2","extend":"3.0.2","gaxios":"7.1.4","hasown":"2.0.3","ignore":"7.0.8","marked":"18.0.11","openai":"6.26.0","router":"2.2.0","semver":"7.8.5","undici":"8.10.2","unpipe":"1.0.0","wrappy":"1.0.2","accepts":"2.0.0","esbuild":"0.28.2","express":"5.2.1","mime-db":"1.54.0","p-retry":"4.6.2","type-is":"2.1.0","typebox":"1.3.27","uhyphen":"0.2.0","boolbase":"1.0.0","css-what":"6.2.2","domutils":"3.2.2","ee-first":"1.1.1","fast-uri":"3.1.4","inherits":"2.0.4","linkedom":"0.18.12","minipass":"7.1.3","parseurl":"1.3.3","path-key":"3.1.1","raw-body":"3.0.2","statuses":"2.0.2","turndown":"7.2.4","base64-js":"1.5.1","encodeurl":"2.0.0","es-errors":"1.3.0","forwarded":"0.2.0","get-proto":"1.0.1","ipaddr.js":"1.9.1","lru-cache":"11.5.2","minimatch":"10.2.6","nth-check":"2.1.1","picomatch":"4.0.5","agent-base":"9.0.0","call-bound":"1.0.4","css-select":"5.2.2","domhandler":"5.0.3","fetch-blob":"3.2.0","iconv-lite":"0.7.3","ip-address":"10.2.0","is-promise":"4.0.0","mime-types":"3.0.2","negotiator":"1.0.0","node-fetch":"3.3.2","protobufjs":"7.6.5","proxy-addr":"2.0.7","ts-algebra":"2.0.0","@types/node":"26.2.0","ajv-formats":"3.0.1","body-parser":"2.3.0","cross-spawn":"7.0.6","escape-html":"1.0.3","eventsource":"3.0.7","fast-sha256":"1.3.0","graceful-fs":"4.2.11","has-symbols":"1.1.0","htmlparser2":"10.1.0","http-errors":"2.0.1","json-bigint":"1.0.0","media-typer":"1.1.0","on-finished":"2.4.1","path-scurry":"2.0.2","safe-buffer":"5.2.1","signal-exit":"3.0.7","@smithy/core":"3.33.3","bignumber.js":"9.3.1","content-type":"1.0.5","dunder-proto":"1.0.1","finalhandler":"2.1.1","gcp-metadata":"8.1.2","grok-mermaid":"0.2.3","highlight.js":"11.12.0","partial-json":"0.1.7","range-parser":"1.3.0","safer-buffer":"2.1.2","serve-static":"2.2.1","side-channel":"1.1.1","toidentifier":"1.0.1","@aws-sdk/core":"3.978.0","@google/genai":"2.21.0","@smithy/types":"4.17.2","function-bind":"1.1.2","get-intrinsic":"1.3.0","object-assign":"4.1.1","shebang-regex":"3.0.0","@aws-sdk/types":"3.974.5","@babel/runtime":"7.29.2","balanced-match":"4.0.4","dom-serializer":"2.0.0","domelementtype":"2.3.0","object-inspect":"1.13.4","path-to-regexp":"8.4.2","pkce-challenge":"5.0.1","proxy-from-env":"2.1.0","setprototypeof":"1.2.0","@xterm/headless":"6.0.0","brace-expansion":"5.0.9","es-module-lexer":"2.1.0","es-object-atoms":"1.1.2","fast-deep-equal":"3.1.3","hosted-git-info":"10.1.1","math-intrinsics":"1.1.0","proper-lockfile":"4.1.2","shebang-command":"2.0.0","@protobufjs/path":"1.1.2","@protobufjs/pool":"1.1.0","@protobufjs/utf8":"1.1.1","cookie-signature":"1.2.2","http-proxy-agent":"9.1.0","side-channel-map":"1.0.1","standardwebhooks":"1.0.0","@anthropic-ai/sdk":"0.123.0","@hono/node-server":"2.1.1","@protobufjs/fetch":"1.1.1","@protobufjs/float":"1.0.2","@stablelib/base64":"1.0.1","formdata-polyfill":"4.0.10","https-proxy-agent":"9.1.0","json-schema-to-ts":"3.1.1","json-schema-typed":"8.0.2","merge-descriptors":"2.0.0","node-domexception":"1.0.0","side-channel-list":"1.0.1","@bufbuild/protobuf":"2.14.0","@mixmark-io/domino":"2.2.0","@opentelemetry/api":"1.9.1","@protobufjs/base64":"1.1.2","data-uri-to-buffer":"4.0.1","es-define-property":"1.0.1","eventsource-parser":"3.1.0","express-rate-limit":"8.5.2","zod-to-json-schema":"3.25.2","@protobufjs/codegen":"2.0.5","content-disposition":"1.1.0","ecdsa-sig-formatter":"1.0.11","google-auth-library":"10.6.2","require-from-string":"2.0.2","@aws-sdk/xml-builder":"3.972.40","@mozilla/readability":"0.6.0","@smithy/signature-v4":"5.7.3","get-east-asian-width":"1.6.0","google-logging-utils":"1.1.3","json-schema-traverse":"1.0.0","side-channel-weakmap":"1.0.2","web-streams-polyfill":"3.3.3","@earendil-works/chord":"0.85.1","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.9.15-2","@protobufjs/aspromise":"1.1.2","proxy-agent-negotiate":"1.1.0","@earendil-works/pi-pty":"npm:@code-yeongyu/senpi-pty@2026.9.15-2","@earendil-works/pi-tui":"npm:@code-yeongyu/senpi-tui@2026.9.15-2","@aws-sdk/nested-clients":"3.997.45","call-bind-apply-helpers":"1.0.2","@aws-sdk/token-providers":"3.1127.0","@aws/lambda-invoke-store":"0.3.0","@protobufjs/eventemitter":"1.1.1","@modelcontextprotocol/sdk":"1.30.0","@smithy/node-http-handler":"4.12.1","@silvia-odwyer/photon-node":"0.3.4","@smithy/fetch-http-handler":"5.7.2","buffer-equal-constant-time":"1.0.1","@code-yeongyu/senpi-codemode":"2026.9.15-2","@earendil-works/pi-telemetry":"npm:@code-yeongyu/senpi-telemetry@2026.9.15-2","@aws-sdk/middleware-websocket":"3.972.52","@earendil-works/pi-agent-core":"npm:@code-yeongyu/senpi-agent-core@2026.9.15-2","@anthropic-ai/claude-agent-sdk":"0.3.259","@aws-sdk/client-bedrock-runtime":"3.1127.0","@aws-sdk/middleware-eventstream":"3.972.29","@aws-sdk/credential-provider-env":"3.972.71","@aws-sdk/credential-provider-ini":"3.973.16","@aws-sdk/credential-provider-sso":"3.973.15","@smithy/credential-provider-imds":"4.5.2","@aws-sdk/credential-provider-http":"3.972.73","@aws-sdk/credential-provider-node":"3.972.83","@aws-sdk/eventstream-handler-node":"3.972.34","@aws-sdk/credential-provider-login":"3.972.78","@aws-sdk/signature-v4-multi-region":"3.996.46","@aws-sdk/credential-provider-process":"3.972.71","@aws-sdk/credential-provider-web-identity":"3.972.77"},"_hasShrinkwrap":false,"devDependencies":{"shx":"0.4.0","vitest":"4.1.11","@types/ws":"8.18.1","typescript":"7.0.2","@types/node":"26.2.0","@types/semver":"7.8.0","@types/turndown":"5.0.6","@types/picomatch":"4.0.3","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@anthropic-ai/claude-agent-sdk","@anthropic-ai/sdk","@aws-sdk/client-bedrock-runtime","@aws-sdk/core","@aws-sdk/credential-provider-env","@aws-sdk/credential-provider-http","@aws-sdk/credential-provider-ini","@aws-sdk/credential-provider-login","@aws-sdk/credential-provider-node","@aws-sdk/credential-provider-process","@aws-sdk/credential-provider-sso","@aws-sdk/credential-provider-web-identity","@aws-sdk/eventstream-handler-node","@aws-sdk/middleware-eventstream","@aws-sdk/middleware-websocket","@aws-sdk/nested-clients","@aws-sdk/signature-v4-multi-region","@aws-sdk/token-providers","@aws-sdk/types","@aws-sdk/xml-builder","@aws/lambda-invoke-store","@babel/runtime","@bufbuild/protobuf","@code-yeongyu/senpi-codemode","@earendil-works/chord","@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-pty","@earendil-works/pi-telemetry","@earendil-works/pi-tui","@google/genai","@hono/node-server","@mixmark-io/domino","@modelcontextprotocol/sdk","@mozilla/readability","@opentelemetry/api","@protobufjs/aspromise","@protobufjs/base64","@protobufjs/codegen","@protobufjs/eventemitter","@protobufjs/fetch","@protobufjs/float","@protobufjs/path","@protobufjs/pool","@protobufjs/utf8","@silvia-odwyer/photon-node","@smithy/core","@smithy/credential-provider-imds","@smithy/fetch-http-handler","@smithy/node-http-handler","@smithy/signature-v4","@smithy/types","@stablelib/base64","@types/node","@xterm/headless","accepts","agent-base","ajv","ajv-formats","balanced-match","base64-js","bignumber.js","body-parser","boolbase","bowser","brace-expansion","buffer-equal-constant-time","bytes","call-bind-apply-helpers","call-bound","chalk","content-disposition","content-type","cookie","cookie-signature","cors","cross-spawn","css-select","css-what","cssom","data-uri-to-buffer","debug","depd","diff","dom-serializer","domelementtype","domhandler","domutils","dunder-proto","ecdsa-sig-formatter","ee-first","encodeurl","es-define-property","es-errors","es-module-lexer","es-object-atoms","esbuild","escape-html","etag","eventsource","eventsource-parser","express","express-rate-limit","extend","fast-deep-equal","fast-sha256","fast-uri","fetch-blob","finalhandler","formdata-polyfill","forwarded","fresh","function-bind","gaxios","gcp-metadata","get-east-asian-width","get-intrinsic","get-proto","glob","google-auth-library","google-logging-utils","gopd","graceful-fs","grok-mermaid","has-symbols","hasown","highlight.js","hono","hosted-git-info","htmlparser2","http-errors","http-proxy-agent","https-proxy-agent","iconv-lite","ignore","inherits","ip-address","ipaddr.js","is-promise","isexe","jiti","jose","json-bigint","json-schema-to-ts","json-schema-traverse","json-schema-typed","jwa","jws","linkedom","long","lru-cache","marked","math-intrinsics","media-typer","merge-descriptors","mime-db","mime-types","minimatch","minipass","ms","negotiator","node-domexception","node-fetch","nth-check","object-assign","object-inspect","on-finished","once","openai","p-retry","parseurl","partial-json","path-key","path-scurry","path-to-regexp","picomatch","pkce-challenge","proper-lockfile","protobufjs","proxy-addr","proxy-agent-negotiate","proxy-from-env","qs","range-parser","raw-body","require-from-string","retry","router","safe-buffer","safer-buffer","semver","send","serve-static","setprototypeof","shebang-command","shebang-regex","side-channel","side-channel-list","side-channel-map","side-channel-weakmap","signal-exit","standardwebhooks","statuses","toidentifier","ts-algebra","tslib","turndown","type-is","typebox","uhyphen","undici","unpipe","vary","web-streams-polyfill","which","wrappy","ws","yaml","zod","zod-to-json-schema"],"optionalDependencies":{"@esbuild/aix-ppc64":"0.28.2","@esbuild/linux-arm":"0.28.2","@esbuild/linux-x64":"0.28.2","@esbuild/sunos-x64":"0.28.2","@esbuild/win32-x64":"0.28.2","@esbuild/darwin-x64":"0.28.2","@esbuild/linux-ia32":"0.28.2","@esbuild/netbsd-x64":"0.28.2","@esbuild/win32-ia32":"0.28.2","@esbuild/android-arm":"0.28.2","@esbuild/android-x64":"0.28.2","@esbuild/freebsd-x64":"0.28.2","@esbuild/linux-arm64":"0.28.2","@esbuild/linux-ppc64":"0.28.2","@esbuild/linux-s390x":"0.28.2","@esbuild/openbsd-x64":"0.28.2","@esbuild/win32-arm64":"0.28.2","@esbuild/darwin-arm64":"0.28.2","@esbuild/netbsd-arm64":"0.28.2","@esbuild/android-arm64":"0.28.2","@esbuild/freebsd-arm64":"0.28.2","@esbuild/linux-loong64":"0.28.2","@esbuild/linux-riscv64":"0.28.2","@esbuild/openbsd-arm64":"0.28.2","@esbuild/linux-mips64el":"0.28.2","@esbuild/openharmony-arm64":"0.28.2","@anthropic-ai/claude-agent-sdk-linux-x64":"0.3.259","@anthropic-ai/claude-agent-sdk-win32-x64":"0.3.259","@anthropic-ai/claude-agent-sdk-darwin-x64":"0.3.259","@anthropic-ai/claude-agent-sdk-linux-arm64":"0.3.259","@anthropic-ai/claude-agent-sdk-win32-arm64":"0.3.259","@anthropic-ai/claude-agent-sdk-darwin-arm64":"0.3.259","@anthropic-ai/claude-agent-sdk-linux-x64-musl":"0.3.259","@anthropic-ai/claude-agent-sdk-linux-arm64-musl":"0.3.259"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.9.15-2_1789487429660_0.2861031868134787","host":"s3://npm-registry-packages-npm-production"}},"2026.9.16":{"name":"@code-yeongyu/senpi","version":"2026.9.16","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.9.16","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"pi":"dist/bundle/cli.js","senpi":"dist/cli.js"},"dist":{"shasum":"632d61cae77ae2a25b76605478db434c94744dc1","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.9.16.tgz","fileCount":26509,"integrity":"sha512-v5O2bkAYX3o3VvO/GstPESPBoudyeE88w/jo3x30pTG4fhKsMpVoQ1nBDhaePehXw0xOuaqID3ul0dFDVaJLSg==","signatures":[{"sig":"MEUCIBBNzMjeJm5Zb6qyobQeYP4NGR8QNT4VdoJR8nqSXnvSAiEAoDd5qbBetSpIa2+yPgXEhy4/dA6KAF1yTPvG4wua6uQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.9.16","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":162876329},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.js"},"./rpc-entry":{"import":"./dist/rpc-entry.js"},"./bun-runtime":{"types":"./dist/bun/runtime-modules.d.ts","import":"./dist/bun/runtime-modules.js"}},"scripts":{"dev":"tsc -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsgo -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js dist/rpc-entry.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/","build:binary":"npm --prefix ../tui run build && npm --prefix ../telemetry run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm --prefix ../protocol run build && npm --prefix ../client run build && npm --prefix ../pty run build && npm run build && node ../../scripts/prepare-bun-compile-assets.mjs && bun build --compile --splitting --compile-autoload-package-json --no-compile-autoload-dotenv --no-compile-autoload-bunfig --minify --keep-names ./dist/bun/cli.js ./src/modes/rpc/session-worker.ts ./src/utils/image-resize-worker.ts --outfile dist/pi && npm run copy-binary-assets","qa:app-server":"node scripts/qa-app-server/run-all.mjs","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","build:unbundled":"tsgo -p tsconfig.build.json && shx chmod +x dist/cli.js dist/rpc-entry.js && npm run copy-assets","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/export-html/ && shx cp -r docs dist/ && shx cp -r examples dist/ && node ../../scripts/copy-codemode-sidecar.mjs dist && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/ && shx mkdir -p dist/native/darwin dist/native/win32 && shx cp -r ../../packages/tui/native/darwin/prebuilds dist/native/darwin/ && shx cp -r ../../packages/tui/native/win32/prebuilds dist/native/win32/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/ && node ../../scripts/copy-pty-native.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ea548fc8-dac4-4dec-a439-6f4fa3870309"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.3"},"rimraf":"6.1.3","protobufjs":"7.6.5","@hono/node-server":"2.1.1"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.19.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.20.0","dependencies":{"ms":"2.1.3","qs":"6.15.3","ws":"8.21.3","ajv":"8.20.0","jwa":"2.0.1","jws":"4.0.1","zod":"4.4.3","cors":"2.8.6","depd":"2.0.0","diff":"9.0.0","etag":"1.8.1","glob":"13.0.6","gopd":"1.2.0","hono":"4.12.27","jiti":"2.7.0","jose":"6.2.3","long":"5.3.2","once":"1.4.0","send":"1.2.1","vary":"1.1.2","yaml":"2.9.0","bytes":"3.1.2","chalk":"6.0.0","cssom":"0.5.0","debug":"4.4.3","fresh":"2.0.0","isexe":"2.0.0","retry":"0.13.1","tslib":"2.8.1","which":"2.0.2","bowser":"2.14.1","cookie":"0.7.2","extend":"3.0.2","gaxios":"7.1.4","hasown":"2.0.3","ignore":"7.0.8","marked":"18.0.11","openai":"6.26.0","router":"2.2.0","semver":"7.8.5","undici":"8.10.2","unpipe":"1.0.0","wrappy":"1.0.2","accepts":"2.0.0","esbuild":"0.28.2","express":"5.2.1","mime-db":"1.54.0","p-retry":"4.6.2","type-is":"2.1.0","typebox":"1.3.27","uhyphen":"0.2.0","boolbase":"1.0.0","css-what":"6.2.2","domutils":"3.2.2","ee-first":"1.1.1","fast-uri":"3.1.4","inherits":"2.0.4","linkedom":"0.18.12","minipass":"7.1.3","parseurl":"1.3.3","path-key":"3.1.1","raw-body":"3.0.2","statuses":"2.0.2","turndown":"7.2.4","base64-js":"1.5.1","encodeurl":"2.0.0","es-errors":"1.3.0","forwarded":"0.2.0","get-proto":"1.0.1","ipaddr.js":"1.9.1","lru-cache":"11.5.2","minimatch":"10.2.6","nth-check":"2.1.1","picomatch":"4.0.5","agent-base":"9.0.0","call-bound":"1.0.4","css-select":"5.2.2","domhandler":"5.0.3","fetch-blob":"3.2.0","iconv-lite":"0.7.3","ip-address":"10.2.0","is-promise":"4.0.0","mime-types":"3.0.2","negotiator":"1.0.0","node-fetch":"3.3.2","protobufjs":"7.6.5","proxy-addr":"2.0.7","ts-algebra":"2.0.0","@types/node":"26.2.0","ajv-formats":"3.0.1","body-parser":"2.3.0","cross-spawn":"7.0.6","escape-html":"1.0.3","eventsource":"3.0.7","fast-sha256":"1.3.0","graceful-fs":"4.2.11","has-symbols":"1.1.0","htmlparser2":"10.1.0","http-errors":"2.0.1","json-bigint":"1.0.0","media-typer":"1.1.0","on-finished":"2.4.1","path-scurry":"2.0.2","safe-buffer":"5.2.1","signal-exit":"3.0.7","@smithy/core":"3.33.3","bignumber.js":"9.3.1","content-type":"1.0.5","dunder-proto":"1.0.1","finalhandler":"2.1.1","gcp-metadata":"8.1.2","grok-mermaid":"0.2.3","highlight.js":"11.12.0","partial-json":"0.1.7","range-parser":"1.3.0","safer-buffer":"2.1.2","serve-static":"2.2.1","side-channel":"1.1.1","toidentifier":"1.0.1","@aws-sdk/core":"3.978.0","@google/genai":"2.21.0","@smithy/types":"4.17.2","function-bind":"1.1.2","get-intrinsic":"1.3.0","object-assign":"4.1.1","shebang-regex":"3.0.0","@aws-sdk/types":"3.974.5","@babel/runtime":"7.29.2","balanced-match":"4.0.4","dom-serializer":"2.0.0","domelementtype":"2.3.0","object-inspect":"1.13.4","path-to-regexp":"8.4.2","pkce-challenge":"5.0.1","proxy-from-env":"2.1.0","setprototypeof":"1.2.0","@xterm/headless":"6.0.0","brace-expansion":"5.0.9","es-module-lexer":"2.1.0","es-object-atoms":"1.1.2","fast-deep-equal":"3.1.3","hosted-git-info":"10.1.1","math-intrinsics":"1.1.0","proper-lockfile":"4.1.2","shebang-command":"2.0.0","@protobufjs/path":"1.1.2","@protobufjs/pool":"1.1.0","@protobufjs/utf8":"1.1.1","cookie-signature":"1.2.2","http-proxy-agent":"9.1.0","side-channel-map":"1.0.1","standardwebhooks":"1.0.0","@anthropic-ai/sdk":"0.123.0","@hono/node-server":"2.1.1","@protobufjs/fetch":"1.1.1","@protobufjs/float":"1.0.2","@stablelib/base64":"1.0.1","formdata-polyfill":"4.0.10","https-proxy-agent":"9.1.0","json-schema-to-ts":"3.1.1","json-schema-typed":"8.0.2","merge-descriptors":"2.0.0","node-domexception":"1.0.0","side-channel-list":"1.0.1","@bufbuild/protobuf":"2.14.0","@mixmark-io/domino":"2.2.0","@opentelemetry/api":"1.9.1","@protobufjs/base64":"1.1.2","data-uri-to-buffer":"4.0.1","es-define-property":"1.0.1","eventsource-parser":"3.1.0","express-rate-limit":"8.5.2","zod-to-json-schema":"3.25.2","@protobufjs/codegen":"2.0.5","content-disposition":"1.1.0","ecdsa-sig-formatter":"1.0.11","google-auth-library":"10.6.2","require-from-string":"2.0.2","@aws-sdk/xml-builder":"3.972.40","@mozilla/readability":"0.6.0","@smithy/signature-v4":"5.7.3","get-east-asian-width":"1.6.0","google-logging-utils":"1.1.3","json-schema-traverse":"1.0.0","side-channel-weakmap":"1.0.2","web-streams-polyfill":"3.3.3","@earendil-works/chord":"0.85.1","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.9.16","@protobufjs/aspromise":"1.1.2","proxy-agent-negotiate":"1.1.0","@earendil-works/pi-pty":"npm:@code-yeongyu/senpi-pty@2026.9.16","@earendil-works/pi-tui":"npm:@code-yeongyu/senpi-tui@2026.9.16","@aws-sdk/nested-clients":"3.997.45","call-bind-apply-helpers":"1.0.2","@aws-sdk/token-providers":"3.1127.0","@aws/lambda-invoke-store":"0.3.0","@protobufjs/eventemitter":"1.1.1","@modelcontextprotocol/sdk":"1.30.0","@smithy/node-http-handler":"4.12.1","@silvia-odwyer/photon-node":"0.3.4","@smithy/fetch-http-handler":"5.7.2","buffer-equal-constant-time":"1.0.1","@code-yeongyu/senpi-codemode":"2026.9.16","@earendil-works/pi-telemetry":"npm:@code-yeongyu/senpi-telemetry@2026.9.16","@aws-sdk/middleware-websocket":"3.972.52","@earendil-works/pi-agent-core":"npm:@code-yeongyu/senpi-agent-core@2026.9.16","@anthropic-ai/claude-agent-sdk":"0.3.259","@aws-sdk/client-bedrock-runtime":"3.1127.0","@aws-sdk/middleware-eventstream":"3.972.29","@aws-sdk/credential-provider-env":"3.972.71","@aws-sdk/credential-provider-ini":"3.973.16","@aws-sdk/credential-provider-sso":"3.973.15","@smithy/credential-provider-imds":"4.5.2","@aws-sdk/credential-provider-http":"3.972.73","@aws-sdk/credential-provider-node":"3.972.83","@aws-sdk/eventstream-handler-node":"3.972.34","@aws-sdk/credential-provider-login":"3.972.78","@aws-sdk/signature-v4-multi-region":"3.996.46","@aws-sdk/credential-provider-process":"3.972.71","@aws-sdk/credential-provider-web-identity":"3.972.77"},"_hasShrinkwrap":false,"devDependencies":{"shx":"0.4.0","vitest":"4.1.11","@types/ws":"8.18.1","typescript":"7.0.2","@types/node":"26.2.0","@types/semver":"7.8.0","@types/turndown":"5.0.6","@types/picomatch":"4.0.3","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@anthropic-ai/claude-agent-sdk","@anthropic-ai/sdk","@aws-sdk/client-bedrock-runtime","@aws-sdk/core","@aws-sdk/credential-provider-env","@aws-sdk/credential-provider-http","@aws-sdk/credential-provider-ini","@aws-sdk/credential-provider-login","@aws-sdk/credential-provider-node","@aws-sdk/credential-provider-process","@aws-sdk/credential-provider-sso","@aws-sdk/credential-provider-web-identity","@aws-sdk/eventstream-handler-node","@aws-sdk/middleware-eventstream","@aws-sdk/middleware-websocket","@aws-sdk/nested-clients","@aws-sdk/signature-v4-multi-region","@aws-sdk/token-providers","@aws-sdk/types","@aws-sdk/xml-builder","@aws/lambda-invoke-store","@babel/runtime","@bufbuild/protobuf","@code-yeongyu/senpi-codemode","@earendil-works/chord","@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-pty","@earendil-works/pi-telemetry","@earendil-works/pi-tui","@google/genai","@hono/node-server","@mixmark-io/domino","@modelcontextprotocol/sdk","@mozilla/readability","@opentelemetry/api","@protobufjs/aspromise","@protobufjs/base64","@protobufjs/codegen","@protobufjs/eventemitter","@protobufjs/fetch","@protobufjs/float","@protobufjs/path","@protobufjs/pool","@protobufjs/utf8","@silvia-odwyer/photon-node","@smithy/core","@smithy/credential-provider-imds","@smithy/fetch-http-handler","@smithy/node-http-handler","@smithy/signature-v4","@smithy/types","@stablelib/base64","@types/node","@xterm/headless","accepts","agent-base","ajv","ajv-formats","balanced-match","base64-js","bignumber.js","body-parser","boolbase","bowser","brace-expansion","buffer-equal-constant-time","bytes","call-bind-apply-helpers","call-bound","chalk","content-disposition","content-type","cookie","cookie-signature","cors","cross-spawn","css-select","css-what","cssom","data-uri-to-buffer","debug","depd","diff","dom-serializer","domelementtype","domhandler","domutils","dunder-proto","ecdsa-sig-formatter","ee-first","encodeurl","es-define-property","es-errors","es-module-lexer","es-object-atoms","esbuild","escape-html","etag","eventsource","eventsource-parser","express","express-rate-limit","extend","fast-deep-equal","fast-sha256","fast-uri","fetch-blob","finalhandler","formdata-polyfill","forwarded","fresh","function-bind","gaxios","gcp-metadata","get-east-asian-width","get-intrinsic","get-proto","glob","google-auth-library","google-logging-utils","gopd","graceful-fs","grok-mermaid","has-symbols","hasown","highlight.js","hono","hosted-git-info","htmlparser2","http-errors","http-proxy-agent","https-proxy-agent","iconv-lite","ignore","inherits","ip-address","ipaddr.js","is-promise","isexe","jiti","jose","json-bigint","json-schema-to-ts","json-schema-traverse","json-schema-typed","jwa","jws","linkedom","long","lru-cache","marked","math-intrinsics","media-typer","merge-descriptors","mime-db","mime-types","minimatch","minipass","ms","negotiator","node-domexception","node-fetch","nth-check","object-assign","object-inspect","on-finished","once","openai","p-retry","parseurl","partial-json","path-key","path-scurry","path-to-regexp","picomatch","pkce-challenge","proper-lockfile","protobufjs","proxy-addr","proxy-agent-negotiate","proxy-from-env","qs","range-parser","raw-body","require-from-string","retry","router","safe-buffer","safer-buffer","semver","send","serve-static","setprototypeof","shebang-command","shebang-regex","side-channel","side-channel-list","side-channel-map","side-channel-weakmap","signal-exit","standardwebhooks","statuses","toidentifier","ts-algebra","tslib","turndown","type-is","typebox","uhyphen","undici","unpipe","vary","web-streams-polyfill","which","wrappy","ws","yaml","zod","zod-to-json-schema"],"optionalDependencies":{"@esbuild/aix-ppc64":"0.28.2","@esbuild/linux-arm":"0.28.2","@esbuild/linux-x64":"0.28.2","@esbuild/sunos-x64":"0.28.2","@esbuild/win32-x64":"0.28.2","@esbuild/darwin-x64":"0.28.2","@esbuild/linux-ia32":"0.28.2","@esbuild/netbsd-x64":"0.28.2","@esbuild/win32-ia32":"0.28.2","@esbuild/android-arm":"0.28.2","@esbuild/android-x64":"0.28.2","@esbuild/freebsd-x64":"0.28.2","@esbuild/linux-arm64":"0.28.2","@esbuild/linux-ppc64":"0.28.2","@esbuild/linux-s390x":"0.28.2","@esbuild/openbsd-x64":"0.28.2","@esbuild/win32-arm64":"0.28.2","@esbuild/darwin-arm64":"0.28.2","@esbuild/netbsd-arm64":"0.28.2","@esbuild/android-arm64":"0.28.2","@esbuild/freebsd-arm64":"0.28.2","@esbuild/linux-loong64":"0.28.2","@esbuild/linux-riscv64":"0.28.2","@esbuild/openbsd-arm64":"0.28.2","@esbuild/linux-mips64el":"0.28.2","@esbuild/openharmony-arm64":"0.28.2","@anthropic-ai/claude-agent-sdk-linux-x64":"0.3.259","@anthropic-ai/claude-agent-sdk-win32-x64":"0.3.259","@anthropic-ai/claude-agent-sdk-darwin-x64":"0.3.259","@anthropic-ai/claude-agent-sdk-linux-arm64":"0.3.259","@anthropic-ai/claude-agent-sdk-win32-arm64":"0.3.259","@anthropic-ai/claude-agent-sdk-darwin-arm64":"0.3.259","@anthropic-ai/claude-agent-sdk-linux-x64-musl":"0.3.259","@anthropic-ai/claude-agent-sdk-linux-arm64-musl":"0.3.259"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.9.16_1789526612775_0.7363318807135093","host":"s3://npm-registry-packages-npm-production"}},"2026.9.16-2":{"name":"@code-yeongyu/senpi","version":"2026.9.16-2","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.9.16-2","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"pi":"dist/bundle/cli.js","senpi":"dist/cli.js"},"dist":{"shasum":"cb40f877b453ff4ab22561f649b228f7d7841e12","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.9.16-2.tgz","fileCount":26513,"integrity":"sha512-e0+UoNDZgcSmQaDJfWHtVAOc1bHm5YOQ+gUnPUhM3ROn25KhJfb4QCwhoT0mbX0INaerrZTJkFzx0DarUe8Bzg==","signatures":[{"sig":"MEYCIQCtZjwo9Qk2PcH6CBV5nR3ZeccwcSD4D+PE3rJK5dYcpgIhAOkGbp5YUoWLiU7280lOlQWBqa1uAX2HEE6WU7lGwnqk","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.9.16-2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":163044029},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.js"},"./rpc-entry":{"import":"./dist/rpc-entry.js"},"./bun-runtime":{"types":"./dist/bun/runtime-modules.d.ts","import":"./dist/bun/runtime-modules.js"}},"scripts":{"dev":"tsc -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsgo -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js dist/rpc-entry.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/","build:binary":"npm --prefix ../tui run build && npm --prefix ../telemetry run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm --prefix ../protocol run build && npm --prefix ../client run build && npm --prefix ../pty run build && npm run build && node ../../scripts/prepare-bun-compile-assets.mjs && bun build --compile --splitting --compile-autoload-package-json --no-compile-autoload-dotenv --no-compile-autoload-bunfig --minify --keep-names ./dist/bun/cli.js ./src/modes/rpc/session-worker.ts ./src/utils/image-resize-worker.ts --outfile dist/pi && npm run copy-binary-assets","qa:app-server":"node scripts/qa-app-server/run-all.mjs","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","build:unbundled":"tsgo -p tsconfig.build.json && shx chmod +x dist/cli.js dist/rpc-entry.js && npm run copy-assets","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/export-html/ && shx cp -r docs dist/ && shx cp -r examples dist/ && node ../../scripts/copy-codemode-sidecar.mjs dist && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/ && shx mkdir -p dist/native/darwin dist/native/win32 && shx cp -r ../../packages/tui/native/darwin/prebuilds dist/native/darwin/ && shx cp -r ../../packages/tui/native/win32/prebuilds dist/native/win32/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/ && node ../../scripts/copy-pty-native.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ea548fc8-dac4-4dec-a439-6f4fa3870309"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.3"},"rimraf":"6.1.3","protobufjs":"7.6.5","@hono/node-server":"2.1.1"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.19.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.20.0","dependencies":{"ms":"2.1.3","qs":"6.15.3","ws":"8.21.3","ajv":"8.20.0","jwa":"2.0.1","jws":"4.0.1","zod":"4.4.3","cors":"2.8.6","depd":"2.0.0","diff":"9.0.0","etag":"1.8.1","glob":"13.0.6","gopd":"1.2.0","hono":"4.12.27","jiti":"2.7.0","jose":"6.2.3","long":"5.3.2","once":"1.4.0","send":"1.2.1","vary":"1.1.2","yaml":"2.9.0","bytes":"3.1.2","chalk":"6.0.0","cssom":"0.5.0","debug":"4.4.3","fresh":"2.0.0","isexe":"2.0.0","retry":"0.13.1","tslib":"2.8.1","which":"2.0.2","bowser":"2.14.1","cookie":"0.7.2","extend":"3.0.2","gaxios":"7.1.4","hasown":"2.0.3","ignore":"7.0.8","marked":"18.0.11","openai":"6.26.0","router":"2.2.0","semver":"7.8.5","undici":"8.10.2","unpipe":"1.0.0","wrappy":"1.0.2","accepts":"2.0.0","esbuild":"0.28.2","express":"5.2.1","mime-db":"1.54.0","p-retry":"4.6.2","type-is":"2.1.0","typebox":"1.3.27","uhyphen":"0.2.0","boolbase":"1.0.0","css-what":"6.2.2","domutils":"3.2.2","ee-first":"1.1.1","fast-uri":"3.1.4","inherits":"2.0.4","linkedom":"0.18.12","minipass":"7.1.3","parseurl":"1.3.3","path-key":"3.1.1","raw-body":"3.0.2","statuses":"2.0.2","turndown":"7.2.4","base64-js":"1.5.1","encodeurl":"2.0.0","es-errors":"1.3.0","forwarded":"0.2.0","get-proto":"1.0.1","ipaddr.js":"1.9.1","lru-cache":"11.5.2","minimatch":"10.2.6","nth-check":"2.1.1","picomatch":"4.0.5","agent-base":"9.0.0","call-bound":"1.0.4","css-select":"5.2.2","domhandler":"5.0.3","fetch-blob":"3.2.0","iconv-lite":"0.7.3","ip-address":"10.2.0","is-promise":"4.0.0","mime-types":"3.0.2","negotiator":"1.0.0","node-fetch":"3.3.2","protobufjs":"7.6.5","proxy-addr":"2.0.7","ts-algebra":"2.0.0","@types/node":"26.2.0","ajv-formats":"3.0.1","body-parser":"2.3.0","cross-spawn":"7.0.6","escape-html":"1.0.3","eventsource":"3.0.7","fast-sha256":"1.3.0","graceful-fs":"4.2.11","has-symbols":"1.1.0","htmlparser2":"10.1.0","http-errors":"2.0.1","json-bigint":"1.0.0","media-typer":"1.1.0","on-finished":"2.4.1","path-scurry":"2.0.2","safe-buffer":"5.2.1","signal-exit":"3.0.7","@smithy/core":"3.33.3","bignumber.js":"9.3.1","content-type":"1.0.5","dunder-proto":"1.0.1","finalhandler":"2.1.1","gcp-metadata":"8.1.2","grok-mermaid":"0.2.3","highlight.js":"11.12.0","partial-json":"0.1.7","range-parser":"1.3.0","safer-buffer":"2.1.2","serve-static":"2.2.1","side-channel":"1.1.1","toidentifier":"1.0.1","@aws-sdk/core":"3.978.0","@google/genai":"2.21.0","@smithy/types":"4.17.2","function-bind":"1.1.2","get-intrinsic":"1.3.0","object-assign":"4.1.1","shebang-regex":"3.0.0","@aws-sdk/types":"3.974.5","@babel/runtime":"7.29.2","balanced-match":"4.0.4","dom-serializer":"2.0.0","domelementtype":"2.3.0","object-inspect":"1.13.4","path-to-regexp":"8.4.2","pkce-challenge":"5.0.1","proxy-from-env":"2.1.0","setprototypeof":"1.2.0","@xterm/headless":"6.0.0","brace-expansion":"5.0.9","es-module-lexer":"2.1.0","es-object-atoms":"1.1.2","fast-deep-equal":"3.1.3","hosted-git-info":"10.1.1","math-intrinsics":"1.1.0","proper-lockfile":"4.1.2","shebang-command":"2.0.0","@protobufjs/path":"1.1.2","@protobufjs/pool":"1.1.0","@protobufjs/utf8":"1.1.1","cookie-signature":"1.2.2","http-proxy-agent":"9.1.0","side-channel-map":"1.0.1","standardwebhooks":"1.0.0","@anthropic-ai/sdk":"0.123.0","@hono/node-server":"2.1.1","@protobufjs/fetch":"1.1.1","@protobufjs/float":"1.0.2","@stablelib/base64":"1.0.1","formdata-polyfill":"4.0.10","https-proxy-agent":"9.1.0","json-schema-to-ts":"3.1.1","json-schema-typed":"8.0.2","merge-descriptors":"2.0.0","node-domexception":"1.0.0","side-channel-list":"1.0.1","@bufbuild/protobuf":"2.14.0","@mixmark-io/domino":"2.2.0","@opentelemetry/api":"1.9.1","@protobufjs/base64":"1.1.2","data-uri-to-buffer":"4.0.1","es-define-property":"1.0.1","eventsource-parser":"3.1.0","express-rate-limit":"8.5.2","zod-to-json-schema":"3.25.2","@protobufjs/codegen":"2.0.5","content-disposition":"1.1.0","ecdsa-sig-formatter":"1.0.11","google-auth-library":"10.6.2","require-from-string":"2.0.2","@aws-sdk/xml-builder":"3.972.40","@mozilla/readability":"0.6.0","@smithy/signature-v4":"5.7.3","get-east-asian-width":"1.6.0","google-logging-utils":"1.1.3","json-schema-traverse":"1.0.0","side-channel-weakmap":"1.0.2","web-streams-polyfill":"3.3.3","@earendil-works/chord":"0.85.1","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.9.16-2","@protobufjs/aspromise":"1.1.2","proxy-agent-negotiate":"1.1.0","@earendil-works/pi-pty":"npm:@code-yeongyu/senpi-pty@2026.9.16-2","@earendil-works/pi-tui":"npm:@code-yeongyu/senpi-tui@2026.9.16-2","@aws-sdk/nested-clients":"3.997.45","call-bind-apply-helpers":"1.0.2","@aws-sdk/token-providers":"3.1127.0","@aws/lambda-invoke-store":"0.3.0","@protobufjs/eventemitter":"1.1.1","@modelcontextprotocol/sdk":"1.30.0","@smithy/node-http-handler":"4.12.1","@silvia-odwyer/photon-node":"0.3.4","@smithy/fetch-http-handler":"5.7.2","buffer-equal-constant-time":"1.0.1","@code-yeongyu/senpi-codemode":"2026.9.16-2","@earendil-works/pi-telemetry":"npm:@code-yeongyu/senpi-telemetry@2026.9.16-2","@aws-sdk/middleware-websocket":"3.972.52","@earendil-works/pi-agent-core":"npm:@code-yeongyu/senpi-agent-core@2026.9.16-2","@anthropic-ai/claude-agent-sdk":"0.3.259","@aws-sdk/client-bedrock-runtime":"3.1127.0","@aws-sdk/middleware-eventstream":"3.972.29","@aws-sdk/credential-provider-env":"3.972.71","@aws-sdk/credential-provider-ini":"3.973.16","@aws-sdk/credential-provider-sso":"3.973.15","@smithy/credential-provider-imds":"4.5.2","@aws-sdk/credential-provider-http":"3.972.73","@aws-sdk/credential-provider-node":"3.972.83","@aws-sdk/eventstream-handler-node":"3.972.34","@aws-sdk/credential-provider-login":"3.972.78","@aws-sdk/signature-v4-multi-region":"3.996.46","@aws-sdk/credential-provider-process":"3.972.71","@aws-sdk/credential-provider-web-identity":"3.972.77"},"_hasShrinkwrap":false,"devDependencies":{"shx":"0.4.0","vitest":"4.1.11","@types/ws":"8.18.1","typescript":"7.0.2","@types/node":"26.2.0","@types/semver":"7.8.0","@types/turndown":"5.0.6","@types/picomatch":"4.0.3","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@anthropic-ai/claude-agent-sdk","@anthropic-ai/sdk","@aws-sdk/client-bedrock-runtime","@aws-sdk/core","@aws-sdk/credential-provider-env","@aws-sdk/credential-provider-http","@aws-sdk/credential-provider-ini","@aws-sdk/credential-provider-login","@aws-sdk/credential-provider-node","@aws-sdk/credential-provider-process","@aws-sdk/credential-provider-sso","@aws-sdk/credential-provider-web-identity","@aws-sdk/eventstream-handler-node","@aws-sdk/middleware-eventstream","@aws-sdk/middleware-websocket","@aws-sdk/nested-clients","@aws-sdk/signature-v4-multi-region","@aws-sdk/token-providers","@aws-sdk/types","@aws-sdk/xml-builder","@aws/lambda-invoke-store","@babel/runtime","@bufbuild/protobuf","@code-yeongyu/senpi-codemode","@earendil-works/chord","@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-pty","@earendil-works/pi-telemetry","@earendil-works/pi-tui","@google/genai","@hono/node-server","@mixmark-io/domino","@modelcontextprotocol/sdk","@mozilla/readability","@opentelemetry/api","@protobufjs/aspromise","@protobufjs/base64","@protobufjs/codegen","@protobufjs/eventemitter","@protobufjs/fetch","@protobufjs/float","@protobufjs/path","@protobufjs/pool","@protobufjs/utf8","@silvia-odwyer/photon-node","@smithy/core","@smithy/credential-provider-imds","@smithy/fetch-http-handler","@smithy/node-http-handler","@smithy/signature-v4","@smithy/types","@stablelib/base64","@types/node","@xterm/headless","accepts","agent-base","ajv","ajv-formats","balanced-match","base64-js","bignumber.js","body-parser","boolbase","bowser","brace-expansion","buffer-equal-constant-time","bytes","call-bind-apply-helpers","call-bound","chalk","content-disposition","content-type","cookie","cookie-signature","cors","cross-spawn","css-select","css-what","cssom","data-uri-to-buffer","debug","depd","diff","dom-serializer","domelementtype","domhandler","domutils","dunder-proto","ecdsa-sig-formatter","ee-first","encodeurl","es-define-property","es-errors","es-module-lexer","es-object-atoms","esbuild","escape-html","etag","eventsource","eventsource-parser","express","express-rate-limit","extend","fast-deep-equal","fast-sha256","fast-uri","fetch-blob","finalhandler","formdata-polyfill","forwarded","fresh","function-bind","gaxios","gcp-metadata","get-east-asian-width","get-intrinsic","get-proto","glob","google-auth-library","google-logging-utils","gopd","graceful-fs","grok-mermaid","has-symbols","hasown","highlight.js","hono","hosted-git-info","htmlparser2","http-errors","http-proxy-agent","https-proxy-agent","iconv-lite","ignore","inherits","ip-address","ipaddr.js","is-promise","isexe","jiti","jose","json-bigint","json-schema-to-ts","json-schema-traverse","json-schema-typed","jwa","jws","linkedom","long","lru-cache","marked","math-intrinsics","media-typer","merge-descriptors","mime-db","mime-types","minimatch","minipass","ms","negotiator","node-domexception","node-fetch","nth-check","object-assign","object-inspect","on-finished","once","openai","p-retry","parseurl","partial-json","path-key","path-scurry","path-to-regexp","picomatch","pkce-challenge","proper-lockfile","protobufjs","proxy-addr","proxy-agent-negotiate","proxy-from-env","qs","range-parser","raw-body","require-from-string","retry","router","safe-buffer","safer-buffer","semver","send","serve-static","setprototypeof","shebang-command","shebang-regex","side-channel","side-channel-list","side-channel-map","side-channel-weakmap","signal-exit","standardwebhooks","statuses","toidentifier","ts-algebra","tslib","turndown","type-is","typebox","uhyphen","undici","unpipe","vary","web-streams-polyfill","which","wrappy","ws","yaml","zod","zod-to-json-schema"],"optionalDependencies":{"@esbuild/aix-ppc64":"0.28.2","@esbuild/linux-arm":"0.28.2","@esbuild/linux-x64":"0.28.2","@esbuild/sunos-x64":"0.28.2","@esbuild/win32-x64":"0.28.2","@esbuild/darwin-x64":"0.28.2","@esbuild/linux-ia32":"0.28.2","@esbuild/netbsd-x64":"0.28.2","@esbuild/win32-ia32":"0.28.2","@esbuild/android-arm":"0.28.2","@esbuild/android-x64":"0.28.2","@esbuild/freebsd-x64":"0.28.2","@esbuild/linux-arm64":"0.28.2","@esbuild/linux-ppc64":"0.28.2","@esbuild/linux-s390x":"0.28.2","@esbuild/openbsd-x64":"0.28.2","@esbuild/win32-arm64":"0.28.2","@esbuild/darwin-arm64":"0.28.2","@esbuild/netbsd-arm64":"0.28.2","@esbuild/android-arm64":"0.28.2","@esbuild/freebsd-arm64":"0.28.2","@esbuild/linux-loong64":"0.28.2","@esbuild/linux-riscv64":"0.28.2","@esbuild/openbsd-arm64":"0.28.2","@esbuild/linux-mips64el":"0.28.2","@esbuild/openharmony-arm64":"0.28.2","@anthropic-ai/claude-agent-sdk-linux-x64":"0.3.259","@anthropic-ai/claude-agent-sdk-win32-x64":"0.3.259","@anthropic-ai/claude-agent-sdk-darwin-x64":"0.3.259","@anthropic-ai/claude-agent-sdk-linux-arm64":"0.3.259","@anthropic-ai/claude-agent-sdk-win32-arm64":"0.3.259","@anthropic-ai/claude-agent-sdk-darwin-arm64":"0.3.259","@anthropic-ai/claude-agent-sdk-linux-x64-musl":"0.3.259","@anthropic-ai/claude-agent-sdk-linux-arm64-musl":"0.3.259"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.9.16-2_1789540878345_0.43549569919592246","host":"s3://npm-registry-packages-npm-production"}},"2026.9.16-3":{"name":"@code-yeongyu/senpi","version":"2026.9.16-3","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.9.16-3","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"pi":"dist/bundle/cli.js","senpi":"dist/cli.js"},"dist":{"shasum":"d288df94f9aec85eb81e7519538330477b35aa28","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.9.16-3.tgz","fileCount":26525,"integrity":"sha512-xyDfEs333bT0sU/rEgGPRVhirxxwX/YCeOEbZlWGkGxHb7PlPWELuNtblrExS84yfTPBqWBFRiC2qAbixbzipw==","signatures":[{"sig":"MEUCIE2iosQC25QDldqlNAdQR6tQ54uqdchkA2AVV4NMxzqVAiEAwNtKmBQnjVOKI34YoOREr4Vzq3/b5aAO0j4SXn4VTAQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.9.16-3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":163042400},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.js"},"./rpc-entry":{"import":"./dist/rpc-entry.js"},"./bun-runtime":{"types":"./dist/bun/runtime-modules.d.ts","import":"./dist/bun/runtime-modules.js"}},"scripts":{"dev":"tsc -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsgo -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js dist/rpc-entry.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/","build:binary":"npm --prefix ../tui run build && npm --prefix ../telemetry run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm --prefix ../protocol run build && npm --prefix ../client run build && npm --prefix ../pty run build && npm run build && node ../../scripts/prepare-bun-compile-assets.mjs && bun build --compile --splitting --compile-autoload-package-json --no-compile-autoload-dotenv --no-compile-autoload-bunfig --minify --keep-names ./dist/bun/cli.js ./src/modes/rpc/session-worker.ts ./src/utils/image-resize-worker.ts --outfile dist/pi && npm run copy-binary-assets","qa:app-server":"node scripts/qa-app-server/run-all.mjs","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","build:unbundled":"tsgo -p tsconfig.build.json && shx chmod +x dist/cli.js dist/rpc-entry.js && npm run copy-assets","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/export-html/ && shx cp -r docs dist/ && shx cp -r examples dist/ && node ../../scripts/copy-codemode-sidecar.mjs dist && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/ && shx mkdir -p dist/native/darwin dist/native/win32 && shx cp -r ../../packages/tui/native/darwin/prebuilds dist/native/darwin/ && shx cp -r ../../packages/tui/native/win32/prebuilds dist/native/win32/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/ && node ../../scripts/copy-pty-native.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ea548fc8-dac4-4dec-a439-6f4fa3870309"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.3"},"rimraf":"6.1.3","protobufjs":"7.6.5","@hono/node-server":"2.1.1"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.19.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.20.0","dependencies":{"ms":"2.1.3","qs":"6.15.3","ws":"8.21.3","ajv":"8.20.0","jwa":"2.0.1","jws":"4.0.1","zod":"4.4.3","cors":"2.8.6","depd":"2.0.0","diff":"9.0.0","etag":"1.8.1","glob":"13.0.6","gopd":"1.2.0","hono":"4.12.27","jiti":"2.7.0","jose":"6.2.3","long":"5.3.2","once":"1.4.0","send":"1.2.1","vary":"1.1.2","yaml":"2.9.0","bytes":"3.1.2","chalk":"6.0.0","cssom":"0.5.0","debug":"4.4.3","fresh":"2.0.0","isexe":"2.0.0","retry":"0.13.1","tslib":"2.8.1","which":"2.0.2","bowser":"2.14.1","cookie":"0.7.2","extend":"3.0.2","gaxios":"7.1.4","hasown":"2.0.3","ignore":"7.0.8","marked":"18.0.11","openai":"6.26.0","router":"2.2.0","semver":"7.8.5","undici":"8.10.2","unpipe":"1.0.0","wrappy":"1.0.2","accepts":"2.0.0","esbuild":"0.28.2","express":"5.2.1","mime-db":"1.54.0","p-retry":"4.6.2","type-is":"2.1.0","typebox":"1.3.27","uhyphen":"0.2.0","boolbase":"1.0.0","css-what":"6.2.2","domutils":"3.2.2","ee-first":"1.1.1","fast-uri":"3.1.4","inherits":"2.0.4","linkedom":"0.18.12","minipass":"7.1.3","parseurl":"1.3.3","path-key":"3.1.1","raw-body":"3.0.2","statuses":"2.0.2","turndown":"7.2.4","base64-js":"1.5.1","encodeurl":"2.0.0","es-errors":"1.3.0","forwarded":"0.2.0","get-proto":"1.0.1","ipaddr.js":"1.9.1","lru-cache":"11.5.2","minimatch":"10.2.6","nth-check":"2.1.1","picomatch":"4.0.5","agent-base":"9.0.0","call-bound":"1.0.4","css-select":"5.2.2","domhandler":"5.0.3","fetch-blob":"3.2.0","iconv-lite":"0.7.3","ip-address":"10.2.0","is-promise":"4.0.0","mime-types":"3.0.2","negotiator":"1.0.0","node-fetch":"3.3.2","protobufjs":"7.6.5","proxy-addr":"2.0.7","ts-algebra":"2.0.0","@types/node":"26.2.0","ajv-formats":"3.0.1","body-parser":"2.3.0","cross-spawn":"7.0.6","escape-html":"1.0.3","eventsource":"3.0.7","fast-sha256":"1.3.0","graceful-fs":"4.2.11","has-symbols":"1.1.0","htmlparser2":"10.1.0","http-errors":"2.0.1","json-bigint":"1.0.0","media-typer":"1.1.0","on-finished":"2.4.1","path-scurry":"2.0.2","safe-buffer":"5.2.1","signal-exit":"3.0.7","@smithy/core":"3.33.3","bignumber.js":"9.3.1","content-type":"1.0.5","dunder-proto":"1.0.1","finalhandler":"2.1.1","gcp-metadata":"8.1.2","grok-mermaid":"0.2.3","highlight.js":"11.12.0","partial-json":"0.1.7","range-parser":"1.3.0","safer-buffer":"2.1.2","serve-static":"2.2.1","side-channel":"1.1.1","toidentifier":"1.0.1","@aws-sdk/core":"3.978.0","@google/genai":"2.21.0","@smithy/types":"4.17.2","function-bind":"1.1.2","get-intrinsic":"1.3.0","object-assign":"4.1.1","shebang-regex":"3.0.0","@aws-sdk/types":"3.974.5","@babel/runtime":"7.29.2","balanced-match":"4.0.4","dom-serializer":"2.0.0","domelementtype":"2.3.0","object-inspect":"1.13.4","path-to-regexp":"8.4.2","pkce-challenge":"5.0.1","proxy-from-env":"2.1.0","setprototypeof":"1.2.0","@xterm/headless":"6.0.0","brace-expansion":"5.0.9","es-module-lexer":"2.1.0","es-object-atoms":"1.1.2","fast-deep-equal":"3.1.3","hosted-git-info":"10.1.1","math-intrinsics":"1.1.0","proper-lockfile":"4.1.2","shebang-command":"2.0.0","@protobufjs/path":"1.1.2","@protobufjs/pool":"1.1.0","@protobufjs/utf8":"1.1.1","cookie-signature":"1.2.2","http-proxy-agent":"9.1.0","side-channel-map":"1.0.1","standardwebhooks":"1.0.0","@anthropic-ai/sdk":"0.123.0","@hono/node-server":"2.1.1","@protobufjs/fetch":"1.1.1","@protobufjs/float":"1.0.2","@stablelib/base64":"1.0.1","formdata-polyfill":"4.0.10","https-proxy-agent":"9.1.0","json-schema-to-ts":"3.1.1","json-schema-typed":"8.0.2","merge-descriptors":"2.0.0","node-domexception":"1.0.0","side-channel-list":"1.0.1","@bufbuild/protobuf":"2.14.0","@mixmark-io/domino":"2.2.0","@opentelemetry/api":"1.9.1","@protobufjs/base64":"1.1.2","data-uri-to-buffer":"4.0.1","es-define-property":"1.0.1","eventsource-parser":"3.1.0","express-rate-limit":"8.5.2","zod-to-json-schema":"3.25.2","@protobufjs/codegen":"2.0.5","content-disposition":"1.1.0","ecdsa-sig-formatter":"1.0.11","google-auth-library":"10.6.2","require-from-string":"2.0.2","@aws-sdk/xml-builder":"3.972.40","@mozilla/readability":"0.6.0","@smithy/signature-v4":"5.7.3","get-east-asian-width":"1.6.0","google-logging-utils":"1.1.3","json-schema-traverse":"1.0.0","side-channel-weakmap":"1.0.2","web-streams-polyfill":"3.3.3","@earendil-works/chord":"0.85.1","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.9.16-3","@protobufjs/aspromise":"1.1.2","proxy-agent-negotiate":"1.1.0","@earendil-works/pi-pty":"npm:@code-yeongyu/senpi-pty@2026.9.16-3","@earendil-works/pi-tui":"npm:@code-yeongyu/senpi-tui@2026.9.16-3","@aws-sdk/nested-clients":"3.997.45","call-bind-apply-helpers":"1.0.2","@aws-sdk/token-providers":"3.1127.0","@aws/lambda-invoke-store":"0.3.0","@protobufjs/eventemitter":"1.1.1","@modelcontextprotocol/sdk":"1.30.0","@smithy/node-http-handler":"4.12.1","@silvia-odwyer/photon-node":"0.3.4","@smithy/fetch-http-handler":"5.7.2","buffer-equal-constant-time":"1.0.1","@code-yeongyu/senpi-codemode":"2026.9.16-3","@earendil-works/pi-telemetry":"npm:@code-yeongyu/senpi-telemetry@2026.9.16-3","@aws-sdk/middleware-websocket":"3.972.52","@earendil-works/pi-agent-core":"npm:@code-yeongyu/senpi-agent-core@2026.9.16-3","@anthropic-ai/claude-agent-sdk":"0.3.259","@aws-sdk/client-bedrock-runtime":"3.1127.0","@aws-sdk/middleware-eventstream":"3.972.29","@aws-sdk/credential-provider-env":"3.972.71","@aws-sdk/credential-provider-ini":"3.973.16","@aws-sdk/credential-provider-sso":"3.973.15","@smithy/credential-provider-imds":"4.5.2","@aws-sdk/credential-provider-http":"3.972.73","@aws-sdk/credential-provider-node":"3.972.83","@aws-sdk/eventstream-handler-node":"3.972.34","@aws-sdk/credential-provider-login":"3.972.78","@aws-sdk/signature-v4-multi-region":"3.996.46","@aws-sdk/credential-provider-process":"3.972.71","@aws-sdk/credential-provider-web-identity":"3.972.77"},"_hasShrinkwrap":false,"devDependencies":{"shx":"0.4.0","vitest":"4.1.11","@types/ws":"8.18.1","typescript":"7.0.2","@types/node":"26.2.0","@types/semver":"7.8.0","@types/turndown":"5.0.6","@types/picomatch":"4.0.3","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@anthropic-ai/claude-agent-sdk","@anthropic-ai/sdk","@aws-sdk/client-bedrock-runtime","@aws-sdk/core","@aws-sdk/credential-provider-env","@aws-sdk/credential-provider-http","@aws-sdk/credential-provider-ini","@aws-sdk/credential-provider-login","@aws-sdk/credential-provider-node","@aws-sdk/credential-provider-process","@aws-sdk/credential-provider-sso","@aws-sdk/credential-provider-web-identity","@aws-sdk/eventstream-handler-node","@aws-sdk/middleware-eventstream","@aws-sdk/middleware-websocket","@aws-sdk/nested-clients","@aws-sdk/signature-v4-multi-region","@aws-sdk/token-providers","@aws-sdk/types","@aws-sdk/xml-builder","@aws/lambda-invoke-store","@babel/runtime","@bufbuild/protobuf","@code-yeongyu/senpi-codemode","@earendil-works/chord","@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-pty","@earendil-works/pi-telemetry","@earendil-works/pi-tui","@google/genai","@hono/node-server","@mixmark-io/domino","@modelcontextprotocol/sdk","@mozilla/readability","@opentelemetry/api","@protobufjs/aspromise","@protobufjs/base64","@protobufjs/codegen","@protobufjs/eventemitter","@protobufjs/fetch","@protobufjs/float","@protobufjs/path","@protobufjs/pool","@protobufjs/utf8","@silvia-odwyer/photon-node","@smithy/core","@smithy/credential-provider-imds","@smithy/fetch-http-handler","@smithy/node-http-handler","@smithy/signature-v4","@smithy/types","@stablelib/base64","@types/node","@xterm/headless","accepts","agent-base","ajv","ajv-formats","balanced-match","base64-js","bignumber.js","body-parser","boolbase","bowser","brace-expansion","buffer-equal-constant-time","bytes","call-bind-apply-helpers","call-bound","chalk","content-disposition","content-type","cookie","cookie-signature","cors","cross-spawn","css-select","css-what","cssom","data-uri-to-buffer","debug","depd","diff","dom-serializer","domelementtype","domhandler","domutils","dunder-proto","ecdsa-sig-formatter","ee-first","encodeurl","es-define-property","es-errors","es-module-lexer","es-object-atoms","esbuild","escape-html","etag","eventsource","eventsource-parser","express","express-rate-limit","extend","fast-deep-equal","fast-sha256","fast-uri","fetch-blob","finalhandler","formdata-polyfill","forwarded","fresh","function-bind","gaxios","gcp-metadata","get-east-asian-width","get-intrinsic","get-proto","glob","google-auth-library","google-logging-utils","gopd","graceful-fs","grok-mermaid","has-symbols","hasown","highlight.js","hono","hosted-git-info","htmlparser2","http-errors","http-proxy-agent","https-proxy-agent","iconv-lite","ignore","inherits","ip-address","ipaddr.js","is-promise","isexe","jiti","jose","json-bigint","json-schema-to-ts","json-schema-traverse","json-schema-typed","jwa","jws","linkedom","long","lru-cache","marked","math-intrinsics","media-typer","merge-descriptors","mime-db","mime-types","minimatch","minipass","ms","negotiator","node-domexception","node-fetch","nth-check","object-assign","object-inspect","on-finished","once","openai","p-retry","parseurl","partial-json","path-key","path-scurry","path-to-regexp","picomatch","pkce-challenge","proper-lockfile","protobufjs","proxy-addr","proxy-agent-negotiate","proxy-from-env","qs","range-parser","raw-body","require-from-string","retry","router","safe-buffer","safer-buffer","semver","send","serve-static","setprototypeof","shebang-command","shebang-regex","side-channel","side-channel-list","side-channel-map","side-channel-weakmap","signal-exit","standardwebhooks","statuses","toidentifier","ts-algebra","tslib","turndown","type-is","typebox","uhyphen","undici","unpipe","vary","web-streams-polyfill","which","wrappy","ws","yaml","zod","zod-to-json-schema"],"optionalDependencies":{"@esbuild/aix-ppc64":"0.28.2","@esbuild/linux-arm":"0.28.2","@esbuild/linux-x64":"0.28.2","@esbuild/sunos-x64":"0.28.2","@esbuild/win32-x64":"0.28.2","@esbuild/darwin-x64":"0.28.2","@esbuild/linux-ia32":"0.28.2","@esbuild/netbsd-x64":"0.28.2","@esbuild/win32-ia32":"0.28.2","@esbuild/android-arm":"0.28.2","@esbuild/android-x64":"0.28.2","@esbuild/freebsd-x64":"0.28.2","@esbuild/linux-arm64":"0.28.2","@esbuild/linux-ppc64":"0.28.2","@esbuild/linux-s390x":"0.28.2","@esbuild/openbsd-x64":"0.28.2","@esbuild/win32-arm64":"0.28.2","@esbuild/darwin-arm64":"0.28.2","@esbuild/netbsd-arm64":"0.28.2","@esbuild/android-arm64":"0.28.2","@esbuild/freebsd-arm64":"0.28.2","@esbuild/linux-loong64":"0.28.2","@esbuild/linux-riscv64":"0.28.2","@esbuild/openbsd-arm64":"0.28.2","@esbuild/linux-mips64el":"0.28.2","@esbuild/openharmony-arm64":"0.28.2","@anthropic-ai/claude-agent-sdk-linux-x64":"0.3.259","@anthropic-ai/claude-agent-sdk-win32-x64":"0.3.259","@anthropic-ai/claude-agent-sdk-darwin-x64":"0.3.259","@anthropic-ai/claude-agent-sdk-linux-arm64":"0.3.259","@anthropic-ai/claude-agent-sdk-win32-arm64":"0.3.259","@anthropic-ai/claude-agent-sdk-darwin-arm64":"0.3.259","@anthropic-ai/claude-agent-sdk-linux-x64-musl":"0.3.259","@anthropic-ai/claude-agent-sdk-linux-arm64-musl":"0.3.259"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.9.16-3_1789550542435_0.05348850773215963","host":"s3://npm-registry-packages-npm-production"}},"2026.9.17":{"name":"@code-yeongyu/senpi","version":"2026.9.17","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.9.17","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"pi":"dist/bundle/cli.js","senpi":"dist/cli.js"},"dist":{"shasum":"ca50e843cca0835439729f8d56b44aecded94bb2","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.9.17.tgz","fileCount":26752,"integrity":"sha512-xTmDhLURMDUnxgR9lHW6Annsee0mWgrchYbWXBDi9iJmSDTtaJO5sRBwQVlLC+QCZ0+B4u1Nh4uxuJfT5IIF2g==","signatures":[{"sig":"MEYCIQC2fu0r6K63OCLoEeXi5nu7ip6i1CUnW6BiVyhhKfVWqwIhAITu6+RiDgbZV7EG+wmeBDGCcgwQadK/hX0RGJDLAJlv","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.9.17","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":197514977},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.js"},"./rpc-entry":{"import":"./dist/rpc-entry.js"},"./bun-runtime":{"types":"./dist/bun/runtime-modules.d.ts","import":"./dist/bun/runtime-modules.js"}},"scripts":{"dev":"tsc -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsgo -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js dist/rpc-entry.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi && npm run build:bundle","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/","build:binary":"npm --prefix ../tui run build && npm --prefix ../telemetry run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm --prefix ../protocol run build && npm --prefix ../client run build && npm --prefix ../pty run build && npm run build && node ../../scripts/prepare-bun-compile-assets.mjs && bun build --compile --splitting --compile-autoload-package-json --no-compile-autoload-dotenv --no-compile-autoload-bunfig --minify --keep-names ./dist/bun/cli.js ./src/modes/rpc/session-worker.ts ./src/utils/image-resize-worker.ts --outfile dist/pi && npm run copy-binary-assets","build:bundle":"node ../../scripts/build-coding-agent-bundle.mjs","qa:app-server":"node scripts/qa-app-server/run-all.mjs","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","build:unbundled":"tsgo -p tsconfig.build.json && shx chmod +x dist/cli.js dist/rpc-entry.js && npm run copy-assets","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/export-html/ && shx cp -r docs dist/ && shx cp -r examples dist/ && node ../../scripts/copy-codemode-sidecar.mjs dist && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/ && shx mkdir -p dist/native/darwin dist/native/win32 && shx cp -r ../../packages/tui/native/darwin/prebuilds dist/native/darwin/ && shx cp -r ../../packages/tui/native/win32/prebuilds dist/native/win32/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/ && node ../../scripts/copy-pty-native.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ea548fc8-dac4-4dec-a439-6f4fa3870309"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.3"},"rimraf":"6.1.3","protobufjs":"7.6.5","@hono/node-server":"2.1.1"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.19.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.20.0","dependencies":{"ms":"2.1.3","qs":"6.15.3","ws":"8.21.3","ajv":"8.20.0","jwa":"2.0.1","jws":"4.0.1","zod":"4.4.3","cors":"2.8.6","depd":"2.0.0","diff":"9.0.0","etag":"1.8.1","glob":"13.0.6","gopd":"1.2.0","hono":"4.12.27","jiti":"2.7.0","jose":"6.2.3","long":"5.3.2","once":"1.4.0","send":"1.2.1","vary":"1.1.2","yaml":"2.9.0","bytes":"3.1.2","chalk":"6.0.0","cssom":"0.5.0","debug":"4.4.3","fresh":"2.0.0","isexe":"2.0.0","retry":"0.13.1","tslib":"2.8.1","which":"2.0.2","bowser":"2.14.1","cookie":"0.7.2","extend":"3.0.2","gaxios":"7.1.4","hasown":"2.0.3","ignore":"7.0.8","marked":"18.0.11","openai":"6.26.0","router":"2.2.0","semver":"7.8.5","undici":"8.10.2","unpipe":"1.0.0","wrappy":"1.0.2","accepts":"2.0.0","esbuild":"0.28.2","express":"5.2.1","mime-db":"1.54.0","p-retry":"4.6.2","type-is":"2.1.0","typebox":"1.3.27","uhyphen":"0.2.0","boolbase":"1.0.0","css-what":"6.2.2","domutils":"3.2.2","ee-first":"1.1.1","fast-uri":"3.1.4","inherits":"2.0.4","linkedom":"0.18.12","minipass":"7.1.3","parseurl":"1.3.3","path-key":"3.1.1","raw-body":"3.0.2","statuses":"2.0.2","turndown":"7.2.4","base64-js":"1.5.1","encodeurl":"2.0.0","es-errors":"1.3.0","forwarded":"0.2.0","get-proto":"1.0.1","ipaddr.js":"1.9.1","lru-cache":"11.5.2","minimatch":"10.2.6","nth-check":"2.1.1","picomatch":"4.0.5","agent-base":"9.0.0","call-bound":"1.0.4","css-select":"5.2.2","domhandler":"5.0.3","fetch-blob":"3.2.0","iconv-lite":"0.7.3","ip-address":"10.2.0","is-promise":"4.0.0","mime-types":"3.0.2","negotiator":"1.0.0","node-fetch":"3.3.2","protobufjs":"7.6.5","proxy-addr":"2.0.7","ts-algebra":"2.0.0","@types/node":"26.2.0","ajv-formats":"3.0.1","body-parser":"2.3.0","cross-spawn":"7.0.6","escape-html":"1.0.3","eventsource":"3.0.7","fast-sha256":"1.3.0","graceful-fs":"4.2.11","has-symbols":"1.1.0","htmlparser2":"10.1.0","http-errors":"2.0.1","json-bigint":"1.0.0","media-typer":"1.1.0","on-finished":"2.4.1","path-scurry":"2.0.2","safe-buffer":"5.2.1","signal-exit":"3.0.7","@smithy/core":"3.33.3","bignumber.js":"9.3.1","content-type":"1.0.5","dunder-proto":"1.0.1","finalhandler":"2.1.1","gcp-metadata":"8.1.2","grok-mermaid":"0.2.3","highlight.js":"11.12.0","partial-json":"0.1.7","range-parser":"1.3.0","safer-buffer":"2.1.2","serve-static":"2.2.1","side-channel":"1.1.1","toidentifier":"1.0.1","@aws-sdk/core":"3.978.0","@google/genai":"2.21.0","@smithy/types":"4.17.2","function-bind":"1.1.2","get-intrinsic":"1.3.0","object-assign":"4.1.1","shebang-regex":"3.0.0","@aws-sdk/types":"3.974.5","@babel/runtime":"7.29.2","balanced-match":"4.0.4","dom-serializer":"2.0.0","domelementtype":"2.3.0","object-inspect":"1.13.4","path-to-regexp":"8.4.2","pkce-challenge":"5.0.1","proxy-from-env":"2.1.0","setprototypeof":"1.2.0","@xterm/headless":"6.0.0","brace-expansion":"5.0.9","es-module-lexer":"2.1.0","es-object-atoms":"1.1.2","fast-deep-equal":"3.1.3","hosted-git-info":"10.1.1","math-intrinsics":"1.1.0","proper-lockfile":"4.1.2","shebang-command":"2.0.0","web-tree-sitter":"0.27.0","@protobufjs/path":"1.1.2","@protobufjs/pool":"1.1.0","@protobufjs/utf8":"1.1.1","cookie-signature":"1.2.2","http-proxy-agent":"9.1.0","side-channel-map":"1.0.1","standardwebhooks":"1.0.0","@anthropic-ai/sdk":"0.123.0","@hono/node-server":"2.1.1","@protobufjs/fetch":"1.1.1","@protobufjs/float":"1.0.2","@stablelib/base64":"1.0.1","formdata-polyfill":"4.0.10","https-proxy-agent":"9.1.0","json-schema-to-ts":"3.1.1","json-schema-typed":"8.0.2","merge-descriptors":"2.0.0","node-domexception":"1.0.0","side-channel-list":"1.0.1","@bufbuild/protobuf":"2.14.0","@mixmark-io/domino":"2.2.0","@opentelemetry/api":"1.9.1","@protobufjs/base64":"1.1.2","data-uri-to-buffer":"4.0.1","es-define-property":"1.0.1","eventsource-parser":"3.1.0","express-rate-limit":"8.5.2","zod-to-json-schema":"3.25.2","@protobufjs/codegen":"2.0.5","content-disposition":"1.1.0","ecdsa-sig-formatter":"1.0.11","google-auth-library":"10.6.2","require-from-string":"2.0.2","@aws-sdk/xml-builder":"3.972.40","@mozilla/readability":"0.6.0","@smithy/signature-v4":"5.7.3","get-east-asian-width":"1.6.0","google-logging-utils":"1.1.3","json-schema-traverse":"1.0.0","side-channel-weakmap":"1.0.2","web-streams-polyfill":"3.3.3","@earendil-works/chord":"0.85.1","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.9.17","@protobufjs/aspromise":"1.1.2","proxy-agent-negotiate":"1.1.0","@earendil-works/pi-pty":"npm:@code-yeongyu/senpi-pty@2026.9.17","@earendil-works/pi-tui":"npm:@code-yeongyu/senpi-tui@2026.9.17","@aws-sdk/nested-clients":"3.997.45","call-bind-apply-helpers":"1.0.2","@aws-sdk/token-providers":"3.1127.0","@aws/lambda-invoke-store":"0.3.0","@protobufjs/eventemitter":"1.1.1","@modelcontextprotocol/sdk":"1.30.0","@smithy/node-http-handler":"4.12.1","@silvia-odwyer/photon-node":"0.3.4","@smithy/fetch-http-handler":"5.7.2","buffer-equal-constant-time":"1.0.1","@code-yeongyu/senpi-codemode":"2026.9.17","@earendil-works/pi-telemetry":"npm:@code-yeongyu/senpi-telemetry@2026.9.17","@aws-sdk/middleware-websocket":"3.972.52","@earendil-works/pi-agent-core":"npm:@code-yeongyu/senpi-agent-core@2026.9.17","@anthropic-ai/claude-agent-sdk":"0.3.259","@aws-sdk/client-bedrock-runtime":"3.1127.0","@aws-sdk/middleware-eventstream":"3.972.29","@aws-sdk/credential-provider-env":"3.972.71","@aws-sdk/credential-provider-ini":"3.973.16","@aws-sdk/credential-provider-sso":"3.973.15","@smithy/credential-provider-imds":"4.5.2","@aws-sdk/credential-provider-http":"3.972.73","@aws-sdk/credential-provider-node":"3.972.83","@aws-sdk/eventstream-handler-node":"3.972.34","@aws-sdk/credential-provider-login":"3.972.78","@aws-sdk/signature-v4-multi-region":"3.996.46","@aws-sdk/credential-provider-process":"3.972.71","@aws-sdk/credential-provider-web-identity":"3.972.77"},"_hasShrinkwrap":false,"devDependencies":{"shx":"0.4.0","vitest":"4.1.11","@types/ws":"8.18.1","typescript":"7.0.2","@types/node":"26.2.0","@types/semver":"7.8.0","@types/turndown":"5.0.6","@types/picomatch":"4.0.3","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@anthropic-ai/claude-agent-sdk","@anthropic-ai/sdk","@aws-sdk/client-bedrock-runtime","@aws-sdk/core","@aws-sdk/credential-provider-env","@aws-sdk/credential-provider-http","@aws-sdk/credential-provider-ini","@aws-sdk/credential-provider-login","@aws-sdk/credential-provider-node","@aws-sdk/credential-provider-process","@aws-sdk/credential-provider-sso","@aws-sdk/credential-provider-web-identity","@aws-sdk/eventstream-handler-node","@aws-sdk/middleware-eventstream","@aws-sdk/middleware-websocket","@aws-sdk/nested-clients","@aws-sdk/signature-v4-multi-region","@aws-sdk/token-providers","@aws-sdk/types","@aws-sdk/xml-builder","@aws/lambda-invoke-store","@babel/runtime","@bufbuild/protobuf","@code-yeongyu/senpi-codemode","@earendil-works/chord","@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-pty","@earendil-works/pi-telemetry","@earendil-works/pi-tui","@google/genai","@hono/node-server","@mixmark-io/domino","@modelcontextprotocol/sdk","@mozilla/readability","@opentelemetry/api","@protobufjs/aspromise","@protobufjs/base64","@protobufjs/codegen","@protobufjs/eventemitter","@protobufjs/fetch","@protobufjs/float","@protobufjs/path","@protobufjs/pool","@protobufjs/utf8","@silvia-odwyer/photon-node","@smithy/core","@smithy/credential-provider-imds","@smithy/fetch-http-handler","@smithy/node-http-handler","@smithy/signature-v4","@smithy/types","@stablelib/base64","@types/node","@xterm/headless","accepts","agent-base","ajv","ajv-formats","balanced-match","base64-js","bignumber.js","body-parser","boolbase","bowser","brace-expansion","buffer-equal-constant-time","bytes","call-bind-apply-helpers","call-bound","chalk","content-disposition","content-type","cookie","cookie-signature","cors","cross-spawn","css-select","css-what","cssom","data-uri-to-buffer","debug","depd","diff","dom-serializer","domelementtype","domhandler","domutils","dunder-proto","ecdsa-sig-formatter","ee-first","encodeurl","es-define-property","es-errors","es-module-lexer","es-object-atoms","esbuild","escape-html","etag","eventsource","eventsource-parser","express","express-rate-limit","extend","fast-deep-equal","fast-sha256","fast-uri","fetch-blob","finalhandler","formdata-polyfill","forwarded","fresh","function-bind","gaxios","gcp-metadata","get-east-asian-width","get-intrinsic","get-proto","glob","google-auth-library","google-logging-utils","gopd","graceful-fs","grok-mermaid","has-symbols","hasown","highlight.js","hono","hosted-git-info","htmlparser2","http-errors","http-proxy-agent","https-proxy-agent","iconv-lite","ignore","inherits","ip-address","ipaddr.js","is-promise","isexe","jiti","jose","json-bigint","json-schema-to-ts","json-schema-traverse","json-schema-typed","jwa","jws","linkedom","long","lru-cache","marked","math-intrinsics","media-typer","merge-descriptors","mime-db","mime-types","minimatch","minipass","ms","negotiator","node-domexception","node-fetch","nth-check","object-assign","object-inspect","on-finished","once","openai","p-retry","parseurl","partial-json","path-key","path-scurry","path-to-regexp","picomatch","pkce-challenge","proper-lockfile","protobufjs","proxy-addr","proxy-agent-negotiate","proxy-from-env","qs","range-parser","raw-body","require-from-string","retry","router","safe-buffer","safer-buffer","semver","send","serve-static","setprototypeof","shebang-command","shebang-regex","side-channel","side-channel-list","side-channel-map","side-channel-weakmap","signal-exit","standardwebhooks","statuses","toidentifier","ts-algebra","tslib","turndown","type-is","typebox","uhyphen","undici","unpipe","vary","web-streams-polyfill","web-tree-sitter","which","wrappy","ws","yaml","zod","zod-to-json-schema"],"optionalDependencies":{"@esbuild/aix-ppc64":"0.28.2","@esbuild/linux-arm":"0.28.2","@esbuild/linux-x64":"0.28.2","@esbuild/sunos-x64":"0.28.2","@esbuild/win32-x64":"0.28.2","@esbuild/darwin-x64":"0.28.2","@esbuild/linux-ia32":"0.28.2","@esbuild/netbsd-x64":"0.28.2","@esbuild/win32-ia32":"0.28.2","@esbuild/android-arm":"0.28.2","@esbuild/android-x64":"0.28.2","@esbuild/freebsd-x64":"0.28.2","@esbuild/linux-arm64":"0.28.2","@esbuild/linux-ppc64":"0.28.2","@esbuild/linux-s390x":"0.28.2","@esbuild/openbsd-x64":"0.28.2","@esbuild/win32-arm64":"0.28.2","@esbuild/darwin-arm64":"0.28.2","@esbuild/netbsd-arm64":"0.28.2","@esbuild/android-arm64":"0.28.2","@esbuild/freebsd-arm64":"0.28.2","@esbuild/linux-loong64":"0.28.2","@esbuild/linux-riscv64":"0.28.2","@esbuild/openbsd-arm64":"0.28.2","@esbuild/linux-mips64el":"0.28.2","@esbuild/openharmony-arm64":"0.28.2","@anthropic-ai/claude-agent-sdk-linux-x64":"0.3.259","@anthropic-ai/claude-agent-sdk-win32-x64":"0.3.259","@anthropic-ai/claude-agent-sdk-darwin-x64":"0.3.259","@anthropic-ai/claude-agent-sdk-linux-arm64":"0.3.259","@anthropic-ai/claude-agent-sdk-win32-arm64":"0.3.259","@anthropic-ai/claude-agent-sdk-darwin-arm64":"0.3.259","@anthropic-ai/claude-agent-sdk-linux-x64-musl":"0.3.259","@anthropic-ai/claude-agent-sdk-linux-arm64-musl":"0.3.259"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.9.17_1789635893219_0.31163786934437665","host":"s3://npm-registry-packages-npm-production"}},"2026.9.17-2":{"name":"@code-yeongyu/senpi","version":"2026.9.17-2","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.9.17-2","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"pi":"dist/bundle/cli.js","senpi":"dist/cli.js"},"dist":{"shasum":"148154b0d8678250f0d7082e6157ed448cb66039","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.9.17-2.tgz","fileCount":26761,"integrity":"sha512-s+y6ZgYfStiSXTvMM/m+MGbqU9ADg2c1C3AvzSKk7EoO+6wS+MKqxWx8QKAffNf2Yhm00W/4xGXkEsoXFovHgw==","signatures":[{"sig":"MEUCIQCt7MtqfeaRVO59bnrUc2KA0Xfl3a/iZKO9fRCKhPY2aAIgUNwqjGQrK9jjfJhMjnIb+KTo7TeEmujEpkKM1KGTZUI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.9.17-2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":197587969},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.js"},"./rpc-entry":{"import":"./dist/rpc-entry.js"},"./bun-runtime":{"types":"./dist/bun/runtime-modules.d.ts","import":"./dist/bun/runtime-modules.js"}},"scripts":{"dev":"tsc -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsgo -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js dist/rpc-entry.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi && npm run build:bundle","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/","build:binary":"npm --prefix ../tui run build && npm --prefix ../telemetry run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm --prefix ../protocol run build && npm --prefix ../client run build && npm --prefix ../pty run build && npm run build && node ../../scripts/prepare-bun-compile-assets.mjs && bun build --compile --splitting --compile-autoload-package-json --no-compile-autoload-dotenv --no-compile-autoload-bunfig --minify --keep-names ./dist/bun/cli.js ./src/modes/rpc/session-worker.ts ./src/utils/image-resize-worker.ts --outfile dist/pi && npm run copy-binary-assets","build:bundle":"node ../../scripts/build-coding-agent-bundle.mjs","qa:app-server":"node scripts/qa-app-server/run-all.mjs","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","build:unbundled":"tsgo -p tsconfig.build.json && shx chmod +x dist/cli.js dist/rpc-entry.js && npm run copy-assets","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/export-html/ && shx cp -r docs dist/ && shx cp -r examples dist/ && node ../../scripts/copy-codemode-sidecar.mjs dist && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/ && shx mkdir -p dist/native/darwin dist/native/win32 && shx cp -r ../../packages/tui/native/darwin/prebuilds dist/native/darwin/ && shx cp -r ../../packages/tui/native/win32/prebuilds dist/native/win32/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/ && node ../../scripts/copy-pty-native.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ea548fc8-dac4-4dec-a439-6f4fa3870309"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.3"},"rimraf":"6.1.3","protobufjs":"7.6.5","@hono/node-server":"2.1.1"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.19.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.20.0","dependencies":{"ms":"2.1.3","qs":"6.15.3","ws":"8.21.3","ajv":"8.20.0","jwa":"2.0.1","jws":"4.0.1","zod":"4.4.3","cors":"2.8.6","depd":"2.0.0","diff":"9.0.0","etag":"1.8.1","glob":"13.0.6","gopd":"1.2.0","hono":"4.12.27","jiti":"2.7.0","jose":"6.2.3","long":"5.3.2","once":"1.4.0","send":"1.2.1","vary":"1.1.2","yaml":"2.9.0","bytes":"3.1.2","chalk":"6.0.0","cssom":"0.5.0","debug":"4.4.3","fresh":"2.0.0","isexe":"2.0.0","retry":"0.13.1","tslib":"2.8.1","which":"2.0.2","bowser":"2.14.1","cookie":"0.7.2","extend":"3.0.2","gaxios":"7.1.4","hasown":"2.0.3","ignore":"7.0.8","marked":"18.0.11","openai":"6.26.0","router":"2.2.0","semver":"7.8.5","undici":"8.10.2","unpipe":"1.0.0","wrappy":"1.0.2","accepts":"2.0.0","esbuild":"0.28.2","express":"5.2.1","mime-db":"1.54.0","p-retry":"4.6.2","type-is":"2.1.0","typebox":"1.3.27","uhyphen":"0.2.0","boolbase":"1.0.0","css-what":"6.2.2","domutils":"3.2.2","ee-first":"1.1.1","fast-uri":"3.1.4","inherits":"2.0.4","linkedom":"0.18.12","minipass":"7.1.3","parseurl":"1.3.3","path-key":"3.1.1","raw-body":"3.0.2","statuses":"2.0.2","turndown":"7.2.4","base64-js":"1.5.1","encodeurl":"2.0.0","es-errors":"1.3.0","forwarded":"0.2.0","get-proto":"1.0.1","ipaddr.js":"1.9.1","lru-cache":"11.5.2","minimatch":"10.2.6","nth-check":"2.1.1","picomatch":"4.0.5","agent-base":"9.0.0","call-bound":"1.0.4","css-select":"5.2.2","domhandler":"5.0.3","fetch-blob":"3.2.0","iconv-lite":"0.7.3","ip-address":"10.2.0","is-promise":"4.0.0","mime-types":"3.0.2","negotiator":"1.0.0","node-fetch":"3.3.2","protobufjs":"7.6.5","proxy-addr":"2.0.7","ts-algebra":"2.0.0","@types/node":"26.2.0","ajv-formats":"3.0.1","body-parser":"2.3.0","cross-spawn":"7.0.6","escape-html":"1.0.3","eventsource":"3.0.7","fast-sha256":"1.3.0","graceful-fs":"4.2.11","has-symbols":"1.1.0","htmlparser2":"10.1.0","http-errors":"2.0.1","json-bigint":"1.0.0","media-typer":"1.1.0","on-finished":"2.4.1","path-scurry":"2.0.2","safe-buffer":"5.2.1","signal-exit":"3.0.7","@smithy/core":"3.33.3","bignumber.js":"9.3.1","content-type":"1.0.5","dunder-proto":"1.0.1","finalhandler":"2.1.1","gcp-metadata":"8.1.2","grok-mermaid":"0.2.3","highlight.js":"11.12.0","partial-json":"0.1.7","range-parser":"1.3.0","safer-buffer":"2.1.2","serve-static":"2.2.1","side-channel":"1.1.1","toidentifier":"1.0.1","@aws-sdk/core":"3.978.0","@google/genai":"2.21.0","@smithy/types":"4.17.2","function-bind":"1.1.2","get-intrinsic":"1.3.0","object-assign":"4.1.1","shebang-regex":"3.0.0","@aws-sdk/types":"3.974.5","@babel/runtime":"7.29.2","balanced-match":"4.0.4","dom-serializer":"2.0.0","domelementtype":"2.3.0","object-inspect":"1.13.4","path-to-regexp":"8.4.2","pkce-challenge":"5.0.1","proxy-from-env":"2.1.0","setprototypeof":"1.2.0","@xterm/headless":"6.0.0","brace-expansion":"5.0.9","es-module-lexer":"2.1.0","es-object-atoms":"1.1.2","fast-deep-equal":"3.1.3","hosted-git-info":"10.1.1","math-intrinsics":"1.1.0","proper-lockfile":"4.1.2","shebang-command":"2.0.0","web-tree-sitter":"0.27.0","@protobufjs/path":"1.1.2","@protobufjs/pool":"1.1.0","@protobufjs/utf8":"1.1.1","cookie-signature":"1.2.2","http-proxy-agent":"9.1.0","side-channel-map":"1.0.1","standardwebhooks":"1.0.0","@anthropic-ai/sdk":"0.123.0","@hono/node-server":"2.1.1","@protobufjs/fetch":"1.1.1","@protobufjs/float":"1.0.2","@stablelib/base64":"1.0.1","formdata-polyfill":"4.0.10","https-proxy-agent":"9.1.0","json-schema-to-ts":"3.1.1","json-schema-typed":"8.0.2","merge-descriptors":"2.0.0","node-domexception":"1.0.0","side-channel-list":"1.0.1","@bufbuild/protobuf":"2.14.0","@mixmark-io/domino":"2.2.0","@opentelemetry/api":"1.9.1","@protobufjs/base64":"1.1.2","data-uri-to-buffer":"4.0.1","es-define-property":"1.0.1","eventsource-parser":"3.1.0","express-rate-limit":"8.5.2","zod-to-json-schema":"3.25.2","@protobufjs/codegen":"2.0.5","content-disposition":"1.1.0","ecdsa-sig-formatter":"1.0.11","google-auth-library":"10.6.2","require-from-string":"2.0.2","@aws-sdk/xml-builder":"3.972.40","@mozilla/readability":"0.6.0","@smithy/signature-v4":"5.7.3","get-east-asian-width":"1.6.0","google-logging-utils":"1.1.3","json-schema-traverse":"1.0.0","side-channel-weakmap":"1.0.2","web-streams-polyfill":"3.3.3","@earendil-works/chord":"0.85.1","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.9.17-2","@protobufjs/aspromise":"1.1.2","proxy-agent-negotiate":"1.1.0","@earendil-works/pi-pty":"npm:@code-yeongyu/senpi-pty@2026.9.17-2","@earendil-works/pi-tui":"npm:@code-yeongyu/senpi-tui@2026.9.17-2","@aws-sdk/nested-clients":"3.997.45","call-bind-apply-helpers":"1.0.2","@aws-sdk/token-providers":"3.1127.0","@aws/lambda-invoke-store":"0.3.0","@protobufjs/eventemitter":"1.1.1","@modelcontextprotocol/sdk":"1.30.0","@smithy/node-http-handler":"4.12.1","@silvia-odwyer/photon-node":"0.3.4","@smithy/fetch-http-handler":"5.7.2","buffer-equal-constant-time":"1.0.1","@code-yeongyu/senpi-codemode":"2026.9.17-2","@earendil-works/pi-telemetry":"npm:@code-yeongyu/senpi-telemetry@2026.9.17-2","@aws-sdk/middleware-websocket":"3.972.52","@earendil-works/pi-agent-core":"npm:@code-yeongyu/senpi-agent-core@2026.9.17-2","@anthropic-ai/claude-agent-sdk":"0.3.259","@aws-sdk/client-bedrock-runtime":"3.1127.0","@aws-sdk/middleware-eventstream":"3.972.29","@aws-sdk/credential-provider-env":"3.972.71","@aws-sdk/credential-provider-ini":"3.973.16","@aws-sdk/credential-provider-sso":"3.973.15","@smithy/credential-provider-imds":"4.5.2","@aws-sdk/credential-provider-http":"3.972.73","@aws-sdk/credential-provider-node":"3.972.83","@aws-sdk/eventstream-handler-node":"3.972.34","@aws-sdk/credential-provider-login":"3.972.78","@aws-sdk/signature-v4-multi-region":"3.996.46","@aws-sdk/credential-provider-process":"3.972.71","@aws-sdk/credential-provider-web-identity":"3.972.77"},"_hasShrinkwrap":false,"devDependencies":{"shx":"0.4.0","vitest":"4.1.11","@types/ws":"8.18.1","typescript":"7.0.2","@types/node":"26.2.0","@types/semver":"7.8.0","@types/turndown":"5.0.6","@types/picomatch":"4.0.3","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@anthropic-ai/claude-agent-sdk","@anthropic-ai/sdk","@aws-sdk/client-bedrock-runtime","@aws-sdk/core","@aws-sdk/credential-provider-env","@aws-sdk/credential-provider-http","@aws-sdk/credential-provider-ini","@aws-sdk/credential-provider-login","@aws-sdk/credential-provider-node","@aws-sdk/credential-provider-process","@aws-sdk/credential-provider-sso","@aws-sdk/credential-provider-web-identity","@aws-sdk/eventstream-handler-node","@aws-sdk/middleware-eventstream","@aws-sdk/middleware-websocket","@aws-sdk/nested-clients","@aws-sdk/signature-v4-multi-region","@aws-sdk/token-providers","@aws-sdk/types","@aws-sdk/xml-builder","@aws/lambda-invoke-store","@babel/runtime","@bufbuild/protobuf","@code-yeongyu/senpi-codemode","@earendil-works/chord","@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-pty","@earendil-works/pi-telemetry","@earendil-works/pi-tui","@google/genai","@hono/node-server","@mixmark-io/domino","@modelcontextprotocol/sdk","@mozilla/readability","@opentelemetry/api","@protobufjs/aspromise","@protobufjs/base64","@protobufjs/codegen","@protobufjs/eventemitter","@protobufjs/fetch","@protobufjs/float","@protobufjs/path","@protobufjs/pool","@protobufjs/utf8","@silvia-odwyer/photon-node","@smithy/core","@smithy/credential-provider-imds","@smithy/fetch-http-handler","@smithy/node-http-handler","@smithy/signature-v4","@smithy/types","@stablelib/base64","@types/node","@xterm/headless","accepts","agent-base","ajv","ajv-formats","balanced-match","base64-js","bignumber.js","body-parser","boolbase","bowser","brace-expansion","buffer-equal-constant-time","bytes","call-bind-apply-helpers","call-bound","chalk","content-disposition","content-type","cookie","cookie-signature","cors","cross-spawn","css-select","css-what","cssom","data-uri-to-buffer","debug","depd","diff","dom-serializer","domelementtype","domhandler","domutils","dunder-proto","ecdsa-sig-formatter","ee-first","encodeurl","es-define-property","es-errors","es-module-lexer","es-object-atoms","esbuild","escape-html","etag","eventsource","eventsource-parser","express","express-rate-limit","extend","fast-deep-equal","fast-sha256","fast-uri","fetch-blob","finalhandler","formdata-polyfill","forwarded","fresh","function-bind","gaxios","gcp-metadata","get-east-asian-width","get-intrinsic","get-proto","glob","google-auth-library","google-logging-utils","gopd","graceful-fs","grok-mermaid","has-symbols","hasown","highlight.js","hono","hosted-git-info","htmlparser2","http-errors","http-proxy-agent","https-proxy-agent","iconv-lite","ignore","inherits","ip-address","ipaddr.js","is-promise","isexe","jiti","jose","json-bigint","json-schema-to-ts","json-schema-traverse","json-schema-typed","jwa","jws","linkedom","long","lru-cache","marked","math-intrinsics","media-typer","merge-descriptors","mime-db","mime-types","minimatch","minipass","ms","negotiator","node-domexception","node-fetch","nth-check","object-assign","object-inspect","on-finished","once","openai","p-retry","parseurl","partial-json","path-key","path-scurry","path-to-regexp","picomatch","pkce-challenge","proper-lockfile","protobufjs","proxy-addr","proxy-agent-negotiate","proxy-from-env","qs","range-parser","raw-body","require-from-string","retry","router","safe-buffer","safer-buffer","semver","send","serve-static","setprototypeof","shebang-command","shebang-regex","side-channel","side-channel-list","side-channel-map","side-channel-weakmap","signal-exit","standardwebhooks","statuses","toidentifier","ts-algebra","tslib","turndown","type-is","typebox","uhyphen","undici","unpipe","vary","web-streams-polyfill","web-tree-sitter","which","wrappy","ws","yaml","zod","zod-to-json-schema"],"optionalDependencies":{"@esbuild/aix-ppc64":"0.28.2","@esbuild/linux-arm":"0.28.2","@esbuild/linux-x64":"0.28.2","@esbuild/sunos-x64":"0.28.2","@esbuild/win32-x64":"0.28.2","@esbuild/darwin-x64":"0.28.2","@esbuild/linux-ia32":"0.28.2","@esbuild/netbsd-x64":"0.28.2","@esbuild/win32-ia32":"0.28.2","@esbuild/android-arm":"0.28.2","@esbuild/android-x64":"0.28.2","@esbuild/freebsd-x64":"0.28.2","@esbuild/linux-arm64":"0.28.2","@esbuild/linux-ppc64":"0.28.2","@esbuild/linux-s390x":"0.28.2","@esbuild/openbsd-x64":"0.28.2","@esbuild/win32-arm64":"0.28.2","@esbuild/darwin-arm64":"0.28.2","@esbuild/netbsd-arm64":"0.28.2","@esbuild/android-arm64":"0.28.2","@esbuild/freebsd-arm64":"0.28.2","@esbuild/linux-loong64":"0.28.2","@esbuild/linux-riscv64":"0.28.2","@esbuild/openbsd-arm64":"0.28.2","@esbuild/linux-mips64el":"0.28.2","@esbuild/openharmony-arm64":"0.28.2","@anthropic-ai/claude-agent-sdk-linux-x64":"0.3.259","@anthropic-ai/claude-agent-sdk-win32-x64":"0.3.259","@anthropic-ai/claude-agent-sdk-darwin-x64":"0.3.259","@anthropic-ai/claude-agent-sdk-linux-arm64":"0.3.259","@anthropic-ai/claude-agent-sdk-win32-arm64":"0.3.259","@anthropic-ai/claude-agent-sdk-darwin-arm64":"0.3.259","@anthropic-ai/claude-agent-sdk-linux-x64-musl":"0.3.259","@anthropic-ai/claude-agent-sdk-linux-arm64-musl":"0.3.259"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.9.17-2_1789660773483_0.5558705940081066","host":"s3://npm-registry-packages-npm-production"}},"2026.9.17-3":{"name":"@code-yeongyu/senpi","version":"2026.9.17-3","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.9.17-3","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"pi":"dist/bundle/cli.js","senpi":"dist/cli.js"},"dist":{"shasum":"0d733c17d7c148e8c233766684a559ed90201a84","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.9.17-3.tgz","fileCount":26788,"integrity":"sha512-ADqH/NzLDbMYtNMrIatoiyFGkn8+z7O8Bq7QPoT5COKL2ClAktKteyoIL2H6UorkFx0AjieAu0qMqOOzni2VSw==","signatures":[{"sig":"MEUCIAP0YSq0cvPdvVyfSuWDn5Etr+eFVdWvzlk4huTfnqjEAiEAl5nXp1yaDX06QfwnH3nUQye+lDZz9MOUk2MrAzxKlzM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIFk7zt26GiRf5rsRM+fnfWkRRt/+UPjiQjk6PXdfOC8HAiEAnGDFYXhsIP+hD2ffq6Z/NCeB/WuRNds3d9Qt6c/LbsY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.9.17-3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":198461357},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.js"},"./rpc-entry":{"import":"./dist/rpc-entry.js"},"./bun-runtime":{"types":"./dist/bun/runtime-modules.d.ts","import":"./dist/bun/runtime-modules.js"}},"scripts":{"dev":"tsc -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsgo -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js dist/rpc-entry.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi && npm run build:bundle","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/","build:binary":"npm --prefix ../tui run build && npm --prefix ../telemetry run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm --prefix ../protocol run build && npm --prefix ../client run build && npm --prefix ../pty run build && npm run build && node ../../scripts/prepare-bun-compile-assets.mjs && bun build --compile --splitting --compile-autoload-package-json --no-compile-autoload-dotenv --no-compile-autoload-bunfig --minify --keep-names ./dist/bun/cli.js ./src/modes/rpc/session-worker.ts ./src/utils/image-resize-worker.ts --outfile dist/pi && npm run copy-binary-assets","build:bundle":"node ../../scripts/build-coding-agent-bundle.mjs","qa:app-server":"node scripts/qa-app-server/run-all.mjs","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","build:unbundled":"tsgo -p tsconfig.build.json && shx chmod +x dist/cli.js dist/rpc-entry.js && npm run copy-assets","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/export-html/ && shx cp -r docs dist/ && shx cp -r examples dist/ && node ../../scripts/copy-codemode-sidecar.mjs dist && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/ && shx mkdir -p dist/native/darwin dist/native/win32 && shx cp -r ../../packages/tui/native/darwin/prebuilds dist/native/darwin/ && shx cp -r ../../packages/tui/native/win32/prebuilds dist/native/win32/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/ && node ../../scripts/copy-pty-native.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ea548fc8-dac4-4dec-a439-6f4fa3870309"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.3"},"rimraf":"6.1.3","protobufjs":"7.6.5","@hono/node-server":"2.1.1"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.19.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.20.0","dependencies":{"ms":"2.1.3","qs":"6.15.3","ws":"8.21.3","ajv":"8.20.0","jwa":"2.0.1","jws":"4.0.1","zod":"4.4.3","cors":"2.8.6","depd":"2.0.0","diff":"9.0.0","etag":"1.8.1","glob":"13.0.6","gopd":"1.2.0","hono":"4.12.27","jiti":"2.7.0","jose":"6.2.3","long":"5.3.2","once":"1.4.0","send":"1.2.1","vary":"1.1.2","yaml":"2.9.0","bytes":"3.1.2","chalk":"6.0.0","cssom":"0.5.0","debug":"4.4.3","fresh":"2.0.0","isexe":"2.0.0","retry":"0.13.1","tslib":"2.8.1","which":"2.0.2","bowser":"2.14.1","cookie":"0.7.2","extend":"3.0.2","gaxios":"7.1.4","hasown":"2.0.3","ignore":"7.0.8","marked":"18.0.11","openai":"6.26.0","router":"2.2.0","semver":"7.8.5","undici":"8.10.2","unpipe":"1.0.0","wrappy":"1.0.2","accepts":"2.0.0","esbuild":"0.28.2","express":"5.2.1","mime-db":"1.54.0","p-retry":"4.6.2","type-is":"2.1.0","typebox":"1.3.27","uhyphen":"0.2.0","boolbase":"1.0.0","css-what":"6.2.2","domutils":"3.2.2","ee-first":"1.1.1","fast-uri":"3.1.4","inherits":"2.0.4","linkedom":"0.18.12","minipass":"7.1.3","parseurl":"1.3.3","path-key":"3.1.1","raw-body":"3.0.2","statuses":"2.0.2","turndown":"7.2.4","base64-js":"1.5.1","encodeurl":"2.0.0","es-errors":"1.3.0","forwarded":"0.2.0","get-proto":"1.0.1","ipaddr.js":"1.9.1","lru-cache":"11.5.2","minimatch":"10.2.6","nth-check":"2.1.1","picomatch":"4.0.5","agent-base":"9.0.0","call-bound":"1.0.4","css-select":"5.2.2","domhandler":"5.0.3","fetch-blob":"3.2.0","iconv-lite":"0.7.3","ip-address":"10.2.0","is-promise":"4.0.0","mime-types":"3.0.2","negotiator":"1.0.0","node-fetch":"3.3.2","protobufjs":"7.6.5","proxy-addr":"2.0.7","ts-algebra":"2.0.0","@types/node":"26.2.0","ajv-formats":"3.0.1","body-parser":"2.3.0","cross-spawn":"7.0.6","escape-html":"1.0.3","eventsource":"3.0.7","fast-sha256":"1.3.0","graceful-fs":"4.2.11","has-symbols":"1.1.0","htmlparser2":"10.1.0","http-errors":"2.0.1","json-bigint":"1.0.0","media-typer":"1.1.0","on-finished":"2.4.1","path-scurry":"2.0.2","safe-buffer":"5.2.1","signal-exit":"3.0.7","@smithy/core":"3.33.3","bignumber.js":"9.3.1","content-type":"1.0.5","dunder-proto":"1.0.1","finalhandler":"2.1.1","gcp-metadata":"8.1.2","grok-mermaid":"0.2.3","highlight.js":"11.12.0","partial-json":"0.1.7","range-parser":"1.3.0","safer-buffer":"2.1.2","serve-static":"2.2.1","side-channel":"1.1.1","toidentifier":"1.0.1","@aws-sdk/core":"3.978.0","@google/genai":"2.21.0","@smithy/types":"4.17.2","function-bind":"1.1.2","get-intrinsic":"1.3.0","object-assign":"4.1.1","shebang-regex":"3.0.0","@aws-sdk/types":"3.974.5","@babel/runtime":"7.29.2","balanced-match":"4.0.4","dom-serializer":"2.0.0","domelementtype":"2.3.0","object-inspect":"1.13.4","path-to-regexp":"8.4.2","pkce-challenge":"5.0.1","proxy-from-env":"2.1.0","setprototypeof":"1.2.0","@xterm/headless":"6.0.0","brace-expansion":"5.0.9","es-module-lexer":"2.1.0","es-object-atoms":"1.1.2","fast-deep-equal":"3.1.3","hosted-git-info":"10.1.1","math-intrinsics":"1.1.0","proper-lockfile":"4.1.2","shebang-command":"2.0.0","web-tree-sitter":"0.27.0","@protobufjs/path":"1.1.2","@protobufjs/pool":"1.1.0","@protobufjs/utf8":"1.1.1","cookie-signature":"1.2.2","http-proxy-agent":"9.1.0","side-channel-map":"1.0.1","standardwebhooks":"1.0.0","@anthropic-ai/sdk":"0.123.0","@hono/node-server":"2.1.1","@protobufjs/fetch":"1.1.1","@protobufjs/float":"1.0.2","@stablelib/base64":"1.0.1","formdata-polyfill":"4.0.10","https-proxy-agent":"9.1.0","json-schema-to-ts":"3.1.1","json-schema-typed":"8.0.2","merge-descriptors":"2.0.0","node-domexception":"1.0.0","side-channel-list":"1.0.1","@bufbuild/protobuf":"2.14.0","@mixmark-io/domino":"2.2.0","@opentelemetry/api":"1.9.1","@protobufjs/base64":"1.1.2","data-uri-to-buffer":"4.0.1","es-define-property":"1.0.1","eventsource-parser":"3.1.0","express-rate-limit":"8.5.2","zod-to-json-schema":"3.25.2","@protobufjs/codegen":"2.0.5","content-disposition":"1.1.0","ecdsa-sig-formatter":"1.0.11","google-auth-library":"10.6.2","require-from-string":"2.0.2","@aws-sdk/xml-builder":"3.972.40","@mozilla/readability":"0.6.0","@smithy/signature-v4":"5.7.3","get-east-asian-width":"1.6.0","google-logging-utils":"1.1.3","json-schema-traverse":"1.0.0","side-channel-weakmap":"1.0.2","web-streams-polyfill":"3.3.3","@earendil-works/chord":"0.85.1","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.9.17-3","@protobufjs/aspromise":"1.1.2","proxy-agent-negotiate":"1.1.0","@earendil-works/pi-pty":"npm:@code-yeongyu/senpi-pty@2026.9.17-3","@earendil-works/pi-tui":"npm:@code-yeongyu/senpi-tui@2026.9.17-3","@aws-sdk/nested-clients":"3.997.45","call-bind-apply-helpers":"1.0.2","@aws-sdk/token-providers":"3.1127.0","@aws/lambda-invoke-store":"0.3.0","@protobufjs/eventemitter":"1.1.1","@modelcontextprotocol/sdk":"1.30.0","@smithy/node-http-handler":"4.12.1","@silvia-odwyer/photon-node":"0.3.4","@smithy/fetch-http-handler":"5.7.2","buffer-equal-constant-time":"1.0.1","@code-yeongyu/senpi-codemode":"2026.9.17-3","@earendil-works/pi-telemetry":"npm:@code-yeongyu/senpi-telemetry@2026.9.17-3","@aws-sdk/middleware-websocket":"3.972.52","@earendil-works/pi-agent-core":"npm:@code-yeongyu/senpi-agent-core@2026.9.17-3","@anthropic-ai/claude-agent-sdk":"0.3.259","@aws-sdk/client-bedrock-runtime":"3.1127.0","@aws-sdk/middleware-eventstream":"3.972.29","@aws-sdk/credential-provider-env":"3.972.71","@aws-sdk/credential-provider-ini":"3.973.16","@aws-sdk/credential-provider-sso":"3.973.15","@smithy/credential-provider-imds":"4.5.2","@aws-sdk/credential-provider-http":"3.972.73","@aws-sdk/credential-provider-node":"3.972.83","@aws-sdk/eventstream-handler-node":"3.972.34","@aws-sdk/credential-provider-login":"3.972.78","@aws-sdk/signature-v4-multi-region":"3.996.46","@aws-sdk/credential-provider-process":"3.972.71","@aws-sdk/credential-provider-web-identity":"3.972.77"},"_hasShrinkwrap":false,"devDependencies":{"shx":"0.4.0","vitest":"4.1.11","@types/ws":"8.18.1","typescript":"7.0.2","@types/node":"26.2.0","@types/semver":"7.8.0","@types/turndown":"5.0.6","@types/picomatch":"4.0.3","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@anthropic-ai/claude-agent-sdk","@anthropic-ai/sdk","@aws-sdk/client-bedrock-runtime","@aws-sdk/core","@aws-sdk/credential-provider-env","@aws-sdk/credential-provider-http","@aws-sdk/credential-provider-ini","@aws-sdk/credential-provider-login","@aws-sdk/credential-provider-node","@aws-sdk/credential-provider-process","@aws-sdk/credential-provider-sso","@aws-sdk/credential-provider-web-identity","@aws-sdk/eventstream-handler-node","@aws-sdk/middleware-eventstream","@aws-sdk/middleware-websocket","@aws-sdk/nested-clients","@aws-sdk/signature-v4-multi-region","@aws-sdk/token-providers","@aws-sdk/types","@aws-sdk/xml-builder","@aws/lambda-invoke-store","@babel/runtime","@bufbuild/protobuf","@code-yeongyu/senpi-codemode","@earendil-works/chord","@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-pty","@earendil-works/pi-telemetry","@earendil-works/pi-tui","@google/genai","@hono/node-server","@mixmark-io/domino","@modelcontextprotocol/sdk","@mozilla/readability","@opentelemetry/api","@protobufjs/aspromise","@protobufjs/base64","@protobufjs/codegen","@protobufjs/eventemitter","@protobufjs/fetch","@protobufjs/float","@protobufjs/path","@protobufjs/pool","@protobufjs/utf8","@silvia-odwyer/photon-node","@smithy/core","@smithy/credential-provider-imds","@smithy/fetch-http-handler","@smithy/node-http-handler","@smithy/signature-v4","@smithy/types","@stablelib/base64","@types/node","@xterm/headless","accepts","agent-base","ajv","ajv-formats","balanced-match","base64-js","bignumber.js","body-parser","boolbase","bowser","brace-expansion","buffer-equal-constant-time","bytes","call-bind-apply-helpers","call-bound","chalk","content-disposition","content-type","cookie","cookie-signature","cors","cross-spawn","css-select","css-what","cssom","data-uri-to-buffer","debug","depd","diff","dom-serializer","domelementtype","domhandler","domutils","dunder-proto","ecdsa-sig-formatter","ee-first","encodeurl","es-define-property","es-errors","es-module-lexer","es-object-atoms","esbuild","escape-html","etag","eventsource","eventsource-parser","express","express-rate-limit","extend","fast-deep-equal","fast-sha256","fast-uri","fetch-blob","finalhandler","formdata-polyfill","forwarded","fresh","function-bind","gaxios","gcp-metadata","get-east-asian-width","get-intrinsic","get-proto","glob","google-auth-library","google-logging-utils","gopd","graceful-fs","grok-mermaid","has-symbols","hasown","highlight.js","hono","hosted-git-info","htmlparser2","http-errors","http-proxy-agent","https-proxy-agent","iconv-lite","ignore","inherits","ip-address","ipaddr.js","is-promise","isexe","jiti","jose","json-bigint","json-schema-to-ts","json-schema-traverse","json-schema-typed","jwa","jws","linkedom","long","lru-cache","marked","math-intrinsics","media-typer","merge-descriptors","mime-db","mime-types","minimatch","minipass","ms","negotiator","node-domexception","node-fetch","nth-check","object-assign","object-inspect","on-finished","once","openai","p-retry","parseurl","partial-json","path-key","path-scurry","path-to-regexp","picomatch","pkce-challenge","proper-lockfile","protobufjs","proxy-addr","proxy-agent-negotiate","proxy-from-env","qs","range-parser","raw-body","require-from-string","retry","router","safe-buffer","safer-buffer","semver","send","serve-static","setprototypeof","shebang-command","shebang-regex","side-channel","side-channel-list","side-channel-map","side-channel-weakmap","signal-exit","standardwebhooks","statuses","toidentifier","ts-algebra","tslib","turndown","type-is","typebox","uhyphen","undici","unpipe","vary","web-streams-polyfill","web-tree-sitter","which","wrappy","ws","yaml","zod","zod-to-json-schema"],"optionalDependencies":{"@esbuild/aix-ppc64":"0.28.2","@esbuild/linux-arm":"0.28.2","@esbuild/linux-x64":"0.28.2","@esbuild/sunos-x64":"0.28.2","@esbuild/win32-x64":"0.28.2","@esbuild/darwin-x64":"0.28.2","@esbuild/linux-ia32":"0.28.2","@esbuild/netbsd-x64":"0.28.2","@esbuild/win32-ia32":"0.28.2","@esbuild/android-arm":"0.28.2","@esbuild/android-x64":"0.28.2","@esbuild/freebsd-x64":"0.28.2","@esbuild/linux-arm64":"0.28.2","@esbuild/linux-ppc64":"0.28.2","@esbuild/linux-s390x":"0.28.2","@esbuild/openbsd-x64":"0.28.2","@esbuild/win32-arm64":"0.28.2","@esbuild/darwin-arm64":"0.28.2","@esbuild/netbsd-arm64":"0.28.2","@esbuild/android-arm64":"0.28.2","@esbuild/freebsd-arm64":"0.28.2","@esbuild/linux-loong64":"0.28.2","@esbuild/linux-riscv64":"0.28.2","@esbuild/openbsd-arm64":"0.28.2","@esbuild/linux-mips64el":"0.28.2","@esbuild/openharmony-arm64":"0.28.2","@anthropic-ai/claude-agent-sdk-linux-x64":"0.3.259","@anthropic-ai/claude-agent-sdk-win32-x64":"0.3.259","@anthropic-ai/claude-agent-sdk-darwin-x64":"0.3.259","@anthropic-ai/claude-agent-sdk-linux-arm64":"0.3.259","@anthropic-ai/claude-agent-sdk-win32-arm64":"0.3.259","@anthropic-ai/claude-agent-sdk-darwin-arm64":"0.3.259","@anthropic-ai/claude-agent-sdk-linux-x64-musl":"0.3.259","@anthropic-ai/claude-agent-sdk-linux-arm64-musl":"0.3.259"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.9.17-3_1789676896575_0.6780962541664004","host":"s3://npm-registry-packages-npm-production"}},"2026.9.17-4":{"name":"@code-yeongyu/senpi","version":"2026.9.17-4","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.9.17-4","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"pi":"dist/bundle/cli.js","senpi":"dist/cli.js"},"dist":{"shasum":"488bb6684b807abc117d9cbc61e6488e651edfde","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.9.17-4.tgz","fileCount":26788,"integrity":"sha512-J5FYkztei+oJ5h+nJZ4uJRbc0z78/jsTJUaWoTTIdeKzqwmEHgsjehhlYjX6jKlUgOCFXEgCbwaeIR1al+12zA==","signatures":[{"sig":"MEQCIAKLtdSOy5xrC8X892TwjOxIkE4zRd7NAXA4c0jGyNnCAiBGDhIJgF7r7edKr4cHdV0jbkDDWYJXwXdI7ghiUAplLQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIAKq4OhvgTa+tfPeQJFsYl55VrL5tSAotUCQjsdXDKoBAiEAlaa7Z372TWVEwXHG0+CbisZxH5CV0h9ArT8Cax33jDw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.9.17-4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":198463139},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.js"},"./rpc-entry":{"import":"./dist/rpc-entry.js"},"./bun-runtime":{"types":"./dist/bun/runtime-modules.d.ts","import":"./dist/bun/runtime-modules.js"}},"scripts":{"dev":"tsc -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsgo -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js dist/rpc-entry.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi && npm run build:bundle","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/","build:binary":"npm --prefix ../tui run build && npm --prefix ../telemetry run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm --prefix ../protocol run build && npm --prefix ../client run build && npm --prefix ../pty run build && npm run build && node ../../scripts/prepare-bun-compile-assets.mjs && bun build --compile --splitting --compile-autoload-package-json --no-compile-autoload-dotenv --no-compile-autoload-bunfig --minify --keep-names ./dist/bun/cli.js ./src/modes/rpc/session-worker.ts ./src/utils/image-resize-worker.ts --outfile dist/pi && npm run copy-binary-assets","build:bundle":"node ../../scripts/build-coding-agent-bundle.mjs","qa:app-server":"node scripts/qa-app-server/run-all.mjs","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","build:unbundled":"tsgo -p tsconfig.build.json && shx chmod +x dist/cli.js dist/rpc-entry.js && npm run copy-assets","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/export-html/ && shx cp -r docs dist/ && shx cp -r examples dist/ && node ../../scripts/copy-codemode-sidecar.mjs dist && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/ && shx mkdir -p dist/native/darwin dist/native/win32 && shx cp -r ../../packages/tui/native/darwin/prebuilds dist/native/darwin/ && shx cp -r ../../packages/tui/native/win32/prebuilds dist/native/win32/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/ && node ../../scripts/copy-pty-native.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ea548fc8-dac4-4dec-a439-6f4fa3870309"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.3"},"rimraf":"6.1.3","protobufjs":"7.6.5","@hono/node-server":"2.1.1"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.19.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.20.0","dependencies":{"ms":"2.1.3","qs":"6.15.3","ws":"8.21.3","ajv":"8.20.0","jwa":"2.0.1","jws":"4.0.1","zod":"4.4.3","cors":"2.8.6","depd":"2.0.0","diff":"9.0.0","etag":"1.8.1","glob":"13.0.6","gopd":"1.2.0","hono":"4.12.27","jiti":"2.7.0","jose":"6.2.3","long":"5.3.2","once":"1.4.0","send":"1.2.1","vary":"1.1.2","yaml":"2.9.0","bytes":"3.1.2","chalk":"6.0.0","cssom":"0.5.0","debug":"4.4.3","fresh":"2.0.0","isexe":"2.0.0","retry":"0.13.1","tslib":"2.8.1","which":"2.0.2","bowser":"2.14.1","cookie":"0.7.2","extend":"3.0.2","gaxios":"7.1.4","hasown":"2.0.3","ignore":"7.0.8","marked":"18.0.11","openai":"6.26.0","router":"2.2.0","semver":"7.8.5","undici":"8.10.2","unpipe":"1.0.0","wrappy":"1.0.2","accepts":"2.0.0","esbuild":"0.28.2","express":"5.2.1","mime-db":"1.54.0","p-retry":"4.6.2","type-is":"2.1.0","typebox":"1.3.27","uhyphen":"0.2.0","boolbase":"1.0.0","css-what":"6.2.2","domutils":"3.2.2","ee-first":"1.1.1","fast-uri":"3.1.4","inherits":"2.0.4","linkedom":"0.18.12","minipass":"7.1.3","parseurl":"1.3.3","path-key":"3.1.1","raw-body":"3.0.2","statuses":"2.0.2","turndown":"7.2.4","base64-js":"1.5.1","encodeurl":"2.0.0","es-errors":"1.3.0","forwarded":"0.2.0","get-proto":"1.0.1","ipaddr.js":"1.9.1","lru-cache":"11.5.2","minimatch":"10.2.6","nth-check":"2.1.1","picomatch":"4.0.5","agent-base":"9.0.0","call-bound":"1.0.4","css-select":"5.2.2","domhandler":"5.0.3","fetch-blob":"3.2.0","iconv-lite":"0.7.3","ip-address":"10.2.0","is-promise":"4.0.0","mime-types":"3.0.2","negotiator":"1.0.0","node-fetch":"3.3.2","protobufjs":"7.6.5","proxy-addr":"2.0.7","ts-algebra":"2.0.0","@types/node":"26.2.0","ajv-formats":"3.0.1","body-parser":"2.3.0","cross-spawn":"7.0.6","escape-html":"1.0.3","eventsource":"3.0.7","fast-sha256":"1.3.0","graceful-fs":"4.2.11","has-symbols":"1.1.0","htmlparser2":"10.1.0","http-errors":"2.0.1","json-bigint":"1.0.0","media-typer":"1.1.0","on-finished":"2.4.1","path-scurry":"2.0.2","safe-buffer":"5.2.1","signal-exit":"3.0.7","@smithy/core":"3.33.3","bignumber.js":"9.3.1","content-type":"1.0.5","dunder-proto":"1.0.1","finalhandler":"2.1.1","gcp-metadata":"8.1.2","grok-mermaid":"0.2.3","highlight.js":"11.12.0","partial-json":"0.1.7","range-parser":"1.3.0","safer-buffer":"2.1.2","serve-static":"2.2.1","side-channel":"1.1.1","toidentifier":"1.0.1","@aws-sdk/core":"3.978.0","@google/genai":"2.21.0","@smithy/types":"4.17.2","function-bind":"1.1.2","get-intrinsic":"1.3.0","object-assign":"4.1.1","shebang-regex":"3.0.0","@aws-sdk/types":"3.974.5","@babel/runtime":"7.29.2","balanced-match":"4.0.4","dom-serializer":"2.0.0","domelementtype":"2.3.0","object-inspect":"1.13.4","path-to-regexp":"8.4.2","pkce-challenge":"5.0.1","proxy-from-env":"2.1.0","setprototypeof":"1.2.0","@xterm/headless":"6.0.0","brace-expansion":"5.0.9","es-module-lexer":"2.1.0","es-object-atoms":"1.1.2","fast-deep-equal":"3.1.3","hosted-git-info":"10.1.1","math-intrinsics":"1.1.0","proper-lockfile":"4.1.2","shebang-command":"2.0.0","web-tree-sitter":"0.27.0","@protobufjs/path":"1.1.2","@protobufjs/pool":"1.1.0","@protobufjs/utf8":"1.1.1","cookie-signature":"1.2.2","http-proxy-agent":"9.1.0","side-channel-map":"1.0.1","standardwebhooks":"1.0.0","@anthropic-ai/sdk":"0.123.0","@hono/node-server":"2.1.1","@protobufjs/fetch":"1.1.1","@protobufjs/float":"1.0.2","@stablelib/base64":"1.0.1","formdata-polyfill":"4.0.10","https-proxy-agent":"9.1.0","json-schema-to-ts":"3.1.1","json-schema-typed":"8.0.2","merge-descriptors":"2.0.0","node-domexception":"1.0.0","side-channel-list":"1.0.1","@bufbuild/protobuf":"2.14.0","@mixmark-io/domino":"2.2.0","@opentelemetry/api":"1.9.1","@protobufjs/base64":"1.1.2","data-uri-to-buffer":"4.0.1","es-define-property":"1.0.1","eventsource-parser":"3.1.0","express-rate-limit":"8.5.2","zod-to-json-schema":"3.25.2","@protobufjs/codegen":"2.0.5","content-disposition":"1.1.0","ecdsa-sig-formatter":"1.0.11","google-auth-library":"10.6.2","require-from-string":"2.0.2","@aws-sdk/xml-builder":"3.972.40","@mozilla/readability":"0.6.0","@smithy/signature-v4":"5.7.3","get-east-asian-width":"1.6.0","google-logging-utils":"1.1.3","json-schema-traverse":"1.0.0","side-channel-weakmap":"1.0.2","web-streams-polyfill":"3.3.3","@earendil-works/chord":"0.85.1","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.9.17-4","@protobufjs/aspromise":"1.1.2","proxy-agent-negotiate":"1.1.0","@earendil-works/pi-pty":"npm:@code-yeongyu/senpi-pty@2026.9.17-4","@earendil-works/pi-tui":"npm:@code-yeongyu/senpi-tui@2026.9.17-4","@aws-sdk/nested-clients":"3.997.45","call-bind-apply-helpers":"1.0.2","@aws-sdk/token-providers":"3.1127.0","@aws/lambda-invoke-store":"0.3.0","@protobufjs/eventemitter":"1.1.1","@modelcontextprotocol/sdk":"1.30.0","@smithy/node-http-handler":"4.12.1","@silvia-odwyer/photon-node":"0.3.4","@smithy/fetch-http-handler":"5.7.2","buffer-equal-constant-time":"1.0.1","@code-yeongyu/senpi-codemode":"2026.9.17-4","@earendil-works/pi-telemetry":"npm:@code-yeongyu/senpi-telemetry@2026.9.17-4","@aws-sdk/middleware-websocket":"3.972.52","@earendil-works/pi-agent-core":"npm:@code-yeongyu/senpi-agent-core@2026.9.17-4","@anthropic-ai/claude-agent-sdk":"0.3.259","@aws-sdk/client-bedrock-runtime":"3.1127.0","@aws-sdk/middleware-eventstream":"3.972.29","@aws-sdk/credential-provider-env":"3.972.71","@aws-sdk/credential-provider-ini":"3.973.16","@aws-sdk/credential-provider-sso":"3.973.15","@smithy/credential-provider-imds":"4.5.2","@aws-sdk/credential-provider-http":"3.972.73","@aws-sdk/credential-provider-node":"3.972.83","@aws-sdk/eventstream-handler-node":"3.972.34","@aws-sdk/credential-provider-login":"3.972.78","@aws-sdk/signature-v4-multi-region":"3.996.46","@aws-sdk/credential-provider-process":"3.972.71","@aws-sdk/credential-provider-web-identity":"3.972.77"},"_hasShrinkwrap":false,"devDependencies":{"shx":"0.4.0","vitest":"4.1.11","@types/ws":"8.18.1","typescript":"7.0.2","@types/node":"26.2.0","@types/semver":"7.8.0","@types/turndown":"5.0.6","@types/picomatch":"4.0.3","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@anthropic-ai/claude-agent-sdk","@anthropic-ai/sdk","@aws-sdk/client-bedrock-runtime","@aws-sdk/core","@aws-sdk/credential-provider-env","@aws-sdk/credential-provider-http","@aws-sdk/credential-provider-ini","@aws-sdk/credential-provider-login","@aws-sdk/credential-provider-node","@aws-sdk/credential-provider-process","@aws-sdk/credential-provider-sso","@aws-sdk/credential-provider-web-identity","@aws-sdk/eventstream-handler-node","@aws-sdk/middleware-eventstream","@aws-sdk/middleware-websocket","@aws-sdk/nested-clients","@aws-sdk/signature-v4-multi-region","@aws-sdk/token-providers","@aws-sdk/types","@aws-sdk/xml-builder","@aws/lambda-invoke-store","@babel/runtime","@bufbuild/protobuf","@code-yeongyu/senpi-codemode","@earendil-works/chord","@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-pty","@earendil-works/pi-telemetry","@earendil-works/pi-tui","@google/genai","@hono/node-server","@mixmark-io/domino","@modelcontextprotocol/sdk","@mozilla/readability","@opentelemetry/api","@protobufjs/aspromise","@protobufjs/base64","@protobufjs/codegen","@protobufjs/eventemitter","@protobufjs/fetch","@protobufjs/float","@protobufjs/path","@protobufjs/pool","@protobufjs/utf8","@silvia-odwyer/photon-node","@smithy/core","@smithy/credential-provider-imds","@smithy/fetch-http-handler","@smithy/node-http-handler","@smithy/signature-v4","@smithy/types","@stablelib/base64","@types/node","@xterm/headless","accepts","agent-base","ajv","ajv-formats","balanced-match","base64-js","bignumber.js","body-parser","boolbase","bowser","brace-expansion","buffer-equal-constant-time","bytes","call-bind-apply-helpers","call-bound","chalk","content-disposition","content-type","cookie","cookie-signature","cors","cross-spawn","css-select","css-what","cssom","data-uri-to-buffer","debug","depd","diff","dom-serializer","domelementtype","domhandler","domutils","dunder-proto","ecdsa-sig-formatter","ee-first","encodeurl","es-define-property","es-errors","es-module-lexer","es-object-atoms","esbuild","escape-html","etag","eventsource","eventsource-parser","express","express-rate-limit","extend","fast-deep-equal","fast-sha256","fast-uri","fetch-blob","finalhandler","formdata-polyfill","forwarded","fresh","function-bind","gaxios","gcp-metadata","get-east-asian-width","get-intrinsic","get-proto","glob","google-auth-library","google-logging-utils","gopd","graceful-fs","grok-mermaid","has-symbols","hasown","highlight.js","hono","hosted-git-info","htmlparser2","http-errors","http-proxy-agent","https-proxy-agent","iconv-lite","ignore","inherits","ip-address","ipaddr.js","is-promise","isexe","jiti","jose","json-bigint","json-schema-to-ts","json-schema-traverse","json-schema-typed","jwa","jws","linkedom","long","lru-cache","marked","math-intrinsics","media-typer","merge-descriptors","mime-db","mime-types","minimatch","minipass","ms","negotiator","node-domexception","node-fetch","nth-check","object-assign","object-inspect","on-finished","once","openai","p-retry","parseurl","partial-json","path-key","path-scurry","path-to-regexp","picomatch","pkce-challenge","proper-lockfile","protobufjs","proxy-addr","proxy-agent-negotiate","proxy-from-env","qs","range-parser","raw-body","require-from-string","retry","router","safe-buffer","safer-buffer","semver","send","serve-static","setprototypeof","shebang-command","shebang-regex","side-channel","side-channel-list","side-channel-map","side-channel-weakmap","signal-exit","standardwebhooks","statuses","toidentifier","ts-algebra","tslib","turndown","type-is","typebox","uhyphen","undici","unpipe","vary","web-streams-polyfill","web-tree-sitter","which","wrappy","ws","yaml","zod","zod-to-json-schema"],"optionalDependencies":{"@esbuild/aix-ppc64":"0.28.2","@esbuild/linux-arm":"0.28.2","@esbuild/linux-x64":"0.28.2","@esbuild/sunos-x64":"0.28.2","@esbuild/win32-x64":"0.28.2","@esbuild/darwin-x64":"0.28.2","@esbuild/linux-ia32":"0.28.2","@esbuild/netbsd-x64":"0.28.2","@esbuild/win32-ia32":"0.28.2","@esbuild/android-arm":"0.28.2","@esbuild/android-x64":"0.28.2","@esbuild/freebsd-x64":"0.28.2","@esbuild/linux-arm64":"0.28.2","@esbuild/linux-ppc64":"0.28.2","@esbuild/linux-s390x":"0.28.2","@esbuild/openbsd-x64":"0.28.2","@esbuild/win32-arm64":"0.28.2","@esbuild/darwin-arm64":"0.28.2","@esbuild/netbsd-arm64":"0.28.2","@esbuild/android-arm64":"0.28.2","@esbuild/freebsd-arm64":"0.28.2","@esbuild/linux-loong64":"0.28.2","@esbuild/linux-riscv64":"0.28.2","@esbuild/openbsd-arm64":"0.28.2","@esbuild/linux-mips64el":"0.28.2","@esbuild/openharmony-arm64":"0.28.2","@anthropic-ai/claude-agent-sdk-linux-x64":"0.3.259","@anthropic-ai/claude-agent-sdk-win32-x64":"0.3.259","@anthropic-ai/claude-agent-sdk-darwin-x64":"0.3.259","@anthropic-ai/claude-agent-sdk-linux-arm64":"0.3.259","@anthropic-ai/claude-agent-sdk-win32-arm64":"0.3.259","@anthropic-ai/claude-agent-sdk-darwin-arm64":"0.3.259","@anthropic-ai/claude-agent-sdk-linux-x64-musl":"0.3.259","@anthropic-ai/claude-agent-sdk-linux-arm64-musl":"0.3.259"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.9.17-4_1789689823870_0.08735750064132297","host":"s3://npm-registry-packages-npm-production"}},"2026.9.18":{"name":"@code-yeongyu/senpi","version":"2026.9.18","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.9.18","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"pi":"dist/bundle/cli.js","senpi":"dist/cli.js"},"dist":{"shasum":"e75acb57c0a142afafe00c1fbe47459a5d8c7a3f","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.9.18.tgz","fileCount":26846,"integrity":"sha512-ytLWigDh43mLJ9meGToGDL3fPm5VfA+SnpeocY3cH8Xb2js4DXFLnruoSDRoztg9Y4SJeeTvNPDBQLyq2AhntQ==","signatures":[{"sig":"MEQCIDB5y13Wi3aAJjSeF9BLuewH90upaY9TDj48C0202u8WAiApO/VK8L1zcTIHt5YQv7tiVtCrNkQN1aJWoRvdEI7mmQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIAULi5/JmHB7IG7hPc//jL4WLEv3FRaXD0g8Hh8gIFlZAiB62d4ZhWEPJ0ofquuc/wFDb4aNXhBLransW7dNZOusKA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.9.18","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":198891347},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.js"},"./rpc-entry":{"import":"./dist/rpc-entry.js"},"./bun-runtime":{"types":"./dist/bun/runtime-modules.d.ts","import":"./dist/bun/runtime-modules.js"}},"scripts":{"dev":"tsc -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsgo -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js dist/rpc-entry.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi && npm run build:bundle","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/","build:binary":"npm --prefix ../tui run build && npm --prefix ../telemetry run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm --prefix ../protocol run build && npm --prefix ../client run build && npm --prefix ../pty run build && npm run build && node ../../scripts/prepare-bun-compile-assets.mjs && bun build --compile --splitting --compile-autoload-package-json --no-compile-autoload-dotenv --no-compile-autoload-bunfig --minify --keep-names ./dist/bun/cli.js ./src/modes/rpc/session-worker.ts ./src/utils/image-resize-worker.ts --outfile dist/pi && npm run copy-binary-assets","build:bundle":"node ../../scripts/build-coding-agent-bundle.mjs","qa:app-server":"node scripts/qa-app-server/run-all.mjs","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","build:unbundled":"tsgo -p tsconfig.build.json && shx chmod +x dist/cli.js dist/rpc-entry.js && npm run copy-assets","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/export-html/ && shx cp -r docs dist/ && shx cp -r examples dist/ && node ../../scripts/copy-codemode-sidecar.mjs dist && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/ && shx mkdir -p dist/native/darwin dist/native/win32 && shx cp -r ../../packages/tui/native/darwin/prebuilds dist/native/darwin/ && shx cp -r ../../packages/tui/native/win32/prebuilds dist/native/win32/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/ && node ../../scripts/copy-pty-native.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ea548fc8-dac4-4dec-a439-6f4fa3870309"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.3"},"rimraf":"6.1.3","protobufjs":"7.6.5","@hono/node-server":"2.1.1"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.19.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.20.0","dependencies":{"ms":"2.1.3","qs":"6.15.3","ws":"8.21.3","ajv":"8.20.0","jwa":"2.0.1","jws":"4.0.1","zod":"4.4.3","cors":"2.8.6","depd":"2.0.0","diff":"9.0.0","etag":"1.8.1","glob":"13.0.6","gopd":"1.2.0","hono":"4.12.27","jiti":"2.7.0","jose":"6.2.3","long":"5.3.2","once":"1.4.0","send":"1.2.1","vary":"1.1.2","yaml":"2.9.0","bytes":"3.1.2","chalk":"6.0.0","cssom":"0.5.0","debug":"4.4.3","fresh":"2.0.0","isexe":"2.0.0","retry":"0.13.1","tslib":"2.8.1","which":"2.0.2","bowser":"2.14.1","cookie":"0.7.2","extend":"3.0.2","gaxios":"7.1.4","hasown":"2.0.3","ignore":"7.0.8","marked":"18.0.11","openai":"6.26.0","router":"2.2.0","semver":"7.8.5","undici":"8.10.2","unpipe":"1.0.0","wrappy":"1.0.2","accepts":"2.0.0","esbuild":"0.28.2","express":"5.2.1","mime-db":"1.54.0","p-retry":"4.6.2","type-is":"2.1.0","typebox":"1.3.27","uhyphen":"0.2.0","boolbase":"1.0.0","css-what":"6.2.2","domutils":"3.2.2","ee-first":"1.1.1","fast-uri":"3.1.4","inherits":"2.0.4","linkedom":"0.18.12","minipass":"7.1.3","parseurl":"1.3.3","path-key":"3.1.1","raw-body":"3.0.2","statuses":"2.0.2","turndown":"7.2.4","base64-js":"1.5.1","encodeurl":"2.0.0","es-errors":"1.3.0","forwarded":"0.2.0","get-proto":"1.0.1","ipaddr.js":"1.9.1","lru-cache":"11.5.2","minimatch":"10.2.6","nth-check":"2.1.1","picomatch":"4.0.5","agent-base":"9.0.0","call-bound":"1.0.4","css-select":"5.2.2","domhandler":"5.0.3","fetch-blob":"3.2.0","iconv-lite":"0.7.3","ip-address":"10.2.0","is-promise":"4.0.0","mime-types":"3.0.2","negotiator":"1.0.0","node-fetch":"3.3.2","protobufjs":"7.6.5","proxy-addr":"2.0.7","ts-algebra":"2.0.0","@types/node":"26.2.0","ajv-formats":"3.0.1","body-parser":"2.3.0","cross-spawn":"7.0.6","escape-html":"1.0.3","eventsource":"3.0.7","fast-sha256":"1.3.0","graceful-fs":"4.2.11","has-symbols":"1.1.0","htmlparser2":"10.1.0","http-errors":"2.0.1","json-bigint":"1.0.0","media-typer":"1.1.0","on-finished":"2.4.1","path-scurry":"2.0.2","safe-buffer":"5.2.1","signal-exit":"3.0.7","@smithy/core":"3.33.3","bignumber.js":"9.3.1","content-type":"1.0.5","dunder-proto":"1.0.1","finalhandler":"2.1.1","gcp-metadata":"8.1.2","grok-mermaid":"0.2.3","highlight.js":"11.12.0","partial-json":"0.1.7","range-parser":"1.3.0","safer-buffer":"2.1.2","serve-static":"2.2.1","side-channel":"1.1.1","toidentifier":"1.0.1","@aws-sdk/core":"3.978.0","@google/genai":"2.21.0","@smithy/types":"4.17.2","function-bind":"1.1.2","get-intrinsic":"1.3.0","object-assign":"4.1.1","shebang-regex":"3.0.0","@aws-sdk/types":"3.974.5","@babel/runtime":"7.29.2","balanced-match":"4.0.4","dom-serializer":"2.0.0","domelementtype":"2.3.0","object-inspect":"1.13.4","path-to-regexp":"8.4.2","pkce-challenge":"5.0.1","proxy-from-env":"2.1.0","setprototypeof":"1.2.0","@xterm/headless":"6.0.0","brace-expansion":"5.0.9","es-module-lexer":"2.1.0","es-object-atoms":"1.1.2","fast-deep-equal":"3.1.3","hosted-git-info":"10.1.1","math-intrinsics":"1.1.0","proper-lockfile":"4.1.2","shebang-command":"2.0.0","web-tree-sitter":"0.27.0","@protobufjs/path":"1.1.2","@protobufjs/pool":"1.1.0","@protobufjs/utf8":"1.1.1","cookie-signature":"1.2.2","http-proxy-agent":"9.1.0","side-channel-map":"1.0.1","standardwebhooks":"1.0.0","@anthropic-ai/sdk":"0.123.0","@hono/node-server":"2.1.1","@protobufjs/fetch":"1.1.1","@protobufjs/float":"1.0.2","@stablelib/base64":"1.0.1","formdata-polyfill":"4.0.10","https-proxy-agent":"9.1.0","json-schema-to-ts":"3.1.1","json-schema-typed":"8.0.2","merge-descriptors":"2.0.0","node-domexception":"1.0.0","side-channel-list":"1.0.1","@bufbuild/protobuf":"2.14.0","@mixmark-io/domino":"2.2.0","@opentelemetry/api":"1.9.1","@protobufjs/base64":"1.1.2","data-uri-to-buffer":"4.0.1","es-define-property":"1.0.1","eventsource-parser":"3.1.0","express-rate-limit":"8.5.2","zod-to-json-schema":"3.25.2","@protobufjs/codegen":"2.0.5","content-disposition":"1.1.0","ecdsa-sig-formatter":"1.0.11","google-auth-library":"10.6.2","require-from-string":"2.0.2","@aws-sdk/xml-builder":"3.972.40","@mozilla/readability":"0.6.0","@smithy/signature-v4":"5.7.3","get-east-asian-width":"1.6.0","google-logging-utils":"1.1.3","json-schema-traverse":"1.0.0","side-channel-weakmap":"1.0.2","web-streams-polyfill":"3.3.3","@earendil-works/chord":"0.85.1","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.9.18","@protobufjs/aspromise":"1.1.2","proxy-agent-negotiate":"1.1.0","@earendil-works/pi-pty":"npm:@code-yeongyu/senpi-pty@2026.9.18","@earendil-works/pi-tui":"npm:@code-yeongyu/senpi-tui@2026.9.18","@aws-sdk/nested-clients":"3.997.45","call-bind-apply-helpers":"1.0.2","@aws-sdk/token-providers":"3.1127.0","@aws/lambda-invoke-store":"0.3.0","@protobufjs/eventemitter":"1.1.1","@modelcontextprotocol/sdk":"1.30.0","@smithy/node-http-handler":"4.12.1","@silvia-odwyer/photon-node":"0.3.4","@smithy/fetch-http-handler":"5.7.2","buffer-equal-constant-time":"1.0.1","@code-yeongyu/senpi-codemode":"2026.9.18","@earendil-works/pi-telemetry":"npm:@code-yeongyu/senpi-telemetry@2026.9.18","@aws-sdk/middleware-websocket":"3.972.52","@earendil-works/pi-agent-core":"npm:@code-yeongyu/senpi-agent-core@2026.9.18","@anthropic-ai/claude-agent-sdk":"0.3.259","@aws-sdk/client-bedrock-runtime":"3.1127.0","@aws-sdk/middleware-eventstream":"3.972.29","@aws-sdk/credential-provider-env":"3.972.71","@aws-sdk/credential-provider-ini":"3.973.16","@aws-sdk/credential-provider-sso":"3.973.15","@smithy/credential-provider-imds":"4.5.2","@aws-sdk/credential-provider-http":"3.972.73","@aws-sdk/credential-provider-node":"3.972.83","@aws-sdk/eventstream-handler-node":"3.972.34","@aws-sdk/credential-provider-login":"3.972.78","@aws-sdk/signature-v4-multi-region":"3.996.46","@aws-sdk/credential-provider-process":"3.972.71","@aws-sdk/credential-provider-web-identity":"3.972.77"},"_hasShrinkwrap":false,"devDependencies":{"shx":"0.4.0","vitest":"4.1.11","@types/ws":"8.18.1","typescript":"7.0.2","@types/node":"26.2.0","@types/semver":"7.8.0","@types/turndown":"5.0.6","@types/picomatch":"4.0.3","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@anthropic-ai/claude-agent-sdk","@anthropic-ai/sdk","@aws-sdk/client-bedrock-runtime","@aws-sdk/core","@aws-sdk/credential-provider-env","@aws-sdk/credential-provider-http","@aws-sdk/credential-provider-ini","@aws-sdk/credential-provider-login","@aws-sdk/credential-provider-node","@aws-sdk/credential-provider-process","@aws-sdk/credential-provider-sso","@aws-sdk/credential-provider-web-identity","@aws-sdk/eventstream-handler-node","@aws-sdk/middleware-eventstream","@aws-sdk/middleware-websocket","@aws-sdk/nested-clients","@aws-sdk/signature-v4-multi-region","@aws-sdk/token-providers","@aws-sdk/types","@aws-sdk/xml-builder","@aws/lambda-invoke-store","@babel/runtime","@bufbuild/protobuf","@code-yeongyu/senpi-codemode","@earendil-works/chord","@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-pty","@earendil-works/pi-telemetry","@earendil-works/pi-tui","@google/genai","@hono/node-server","@mixmark-io/domino","@modelcontextprotocol/sdk","@mozilla/readability","@opentelemetry/api","@protobufjs/aspromise","@protobufjs/base64","@protobufjs/codegen","@protobufjs/eventemitter","@protobufjs/fetch","@protobufjs/float","@protobufjs/path","@protobufjs/pool","@protobufjs/utf8","@silvia-odwyer/photon-node","@smithy/core","@smithy/credential-provider-imds","@smithy/fetch-http-handler","@smithy/node-http-handler","@smithy/signature-v4","@smithy/types","@stablelib/base64","@types/node","@xterm/headless","accepts","agent-base","ajv","ajv-formats","balanced-match","base64-js","bignumber.js","body-parser","boolbase","bowser","brace-expansion","buffer-equal-constant-time","bytes","call-bind-apply-helpers","call-bound","chalk","content-disposition","content-type","cookie","cookie-signature","cors","cross-spawn","css-select","css-what","cssom","data-uri-to-buffer","debug","depd","diff","dom-serializer","domelementtype","domhandler","domutils","dunder-proto","ecdsa-sig-formatter","ee-first","encodeurl","es-define-property","es-errors","es-module-lexer","es-object-atoms","esbuild","escape-html","etag","eventsource","eventsource-parser","express","express-rate-limit","extend","fast-deep-equal","fast-sha256","fast-uri","fetch-blob","finalhandler","formdata-polyfill","forwarded","fresh","function-bind","gaxios","gcp-metadata","get-east-asian-width","get-intrinsic","get-proto","glob","google-auth-library","google-logging-utils","gopd","graceful-fs","grok-mermaid","has-symbols","hasown","highlight.js","hono","hosted-git-info","htmlparser2","http-errors","http-proxy-agent","https-proxy-agent","iconv-lite","ignore","inherits","ip-address","ipaddr.js","is-promise","isexe","jiti","jose","json-bigint","json-schema-to-ts","json-schema-traverse","json-schema-typed","jwa","jws","linkedom","long","lru-cache","marked","math-intrinsics","media-typer","merge-descriptors","mime-db","mime-types","minimatch","minipass","ms","negotiator","node-domexception","node-fetch","nth-check","object-assign","object-inspect","on-finished","once","openai","p-retry","parseurl","partial-json","path-key","path-scurry","path-to-regexp","picomatch","pkce-challenge","proper-lockfile","protobufjs","proxy-addr","proxy-agent-negotiate","proxy-from-env","qs","range-parser","raw-body","require-from-string","retry","router","safe-buffer","safer-buffer","semver","send","serve-static","setprototypeof","shebang-command","shebang-regex","side-channel","side-channel-list","side-channel-map","side-channel-weakmap","signal-exit","standardwebhooks","statuses","toidentifier","ts-algebra","tslib","turndown","type-is","typebox","uhyphen","undici","unpipe","vary","web-streams-polyfill","web-tree-sitter","which","wrappy","ws","yaml","zod","zod-to-json-schema"],"optionalDependencies":{"@esbuild/aix-ppc64":"0.28.2","@esbuild/linux-arm":"0.28.2","@esbuild/linux-x64":"0.28.2","@esbuild/sunos-x64":"0.28.2","@esbuild/win32-x64":"0.28.2","@esbuild/darwin-x64":"0.28.2","@esbuild/linux-ia32":"0.28.2","@esbuild/netbsd-x64":"0.28.2","@esbuild/win32-ia32":"0.28.2","@esbuild/android-arm":"0.28.2","@esbuild/android-x64":"0.28.2","@esbuild/freebsd-x64":"0.28.2","@esbuild/linux-arm64":"0.28.2","@esbuild/linux-ppc64":"0.28.2","@esbuild/linux-s390x":"0.28.2","@esbuild/openbsd-x64":"0.28.2","@esbuild/win32-arm64":"0.28.2","@esbuild/darwin-arm64":"0.28.2","@esbuild/netbsd-arm64":"0.28.2","@esbuild/android-arm64":"0.28.2","@esbuild/freebsd-arm64":"0.28.2","@esbuild/linux-loong64":"0.28.2","@esbuild/linux-riscv64":"0.28.2","@esbuild/openbsd-arm64":"0.28.2","@esbuild/linux-mips64el":"0.28.2","@esbuild/openharmony-arm64":"0.28.2","@anthropic-ai/claude-agent-sdk-linux-x64":"0.3.259","@anthropic-ai/claude-agent-sdk-win32-x64":"0.3.259","@anthropic-ai/claude-agent-sdk-darwin-x64":"0.3.259","@anthropic-ai/claude-agent-sdk-linux-arm64":"0.3.259","@anthropic-ai/claude-agent-sdk-win32-arm64":"0.3.259","@anthropic-ai/claude-agent-sdk-darwin-arm64":"0.3.259","@anthropic-ai/claude-agent-sdk-linux-x64-musl":"0.3.259","@anthropic-ai/claude-agent-sdk-linux-arm64-musl":"0.3.259"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.9.18_1789697093275_0.28459476750902035","host":"s3://npm-registry-packages-npm-production"}},"2026.9.18-2":{"name":"@code-yeongyu/senpi","version":"2026.9.18-2","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.9.18-2","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"pi":"dist/bundle/cli.js","senpi":"dist/cli.js"},"dist":{"shasum":"46b4ce37fb1f2baba684bcbf913199e8e4219f48","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.9.18-2.tgz","fileCount":26877,"integrity":"sha512-BA8v/tdr2OqJf8pOxNWU6q6lyeLm9MWeH7AsSoEYMy+BiZv1sxHv+Ykx87bDAzkm/KKGhPqOQwsGTrevPrqs6A==","signatures":[{"sig":"MEUCIQDikQT/lLvlqoZ6CKvvHi5I/igvy04ZdQG0IlQi+lUm4gIgUupftsLsQpc5H7fS6kzXPKVuf13rqpEz4hU7TQnbiLI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDxjkTHg2AFJYxVPEZDtzODHdbktXBCBLPELCER1B9MVQIhANcSK1wkKITpt1o9pvRE+nD4ItftZgwH8INohZ9z9ETT","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.9.18-2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":199705054},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.js"},"./rpc-entry":{"import":"./dist/rpc-entry.js"},"./bun-runtime":{"types":"./dist/bun/runtime-modules.d.ts","import":"./dist/bun/runtime-modules.js"}},"scripts":{"dev":"tsc -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsgo -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js dist/rpc-entry.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi && npm run build:bundle","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/","build:binary":"npm --prefix ../tui run build && npm --prefix ../telemetry run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm --prefix ../protocol run build && npm --prefix ../client run build && npm --prefix ../pty run build && npm run build && node ../../scripts/prepare-bun-compile-assets.mjs && bun build --compile --splitting --compile-autoload-package-json --no-compile-autoload-dotenv --no-compile-autoload-bunfig --minify --keep-names ./dist/bun/cli.js ./src/modes/rpc/session-worker.ts ./src/utils/image-resize-worker.ts --outfile dist/pi && npm run copy-binary-assets","build:bundle":"node ../../scripts/build-coding-agent-bundle.mjs","qa:app-server":"node scripts/qa-app-server/run-all.mjs","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","build:unbundled":"tsgo -p tsconfig.build.json && shx chmod +x dist/cli.js dist/rpc-entry.js && npm run copy-assets","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/export-html/ && shx cp -r docs dist/ && shx cp -r examples dist/ && node ../../scripts/copy-codemode-sidecar.mjs dist && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/ && shx mkdir -p dist/native/darwin dist/native/win32 && shx cp -r ../../packages/tui/native/darwin/prebuilds dist/native/darwin/ && shx cp -r ../../packages/tui/native/win32/prebuilds dist/native/win32/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/ && node ../../scripts/copy-pty-native.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ea548fc8-dac4-4dec-a439-6f4fa3870309"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.3"},"rimraf":"6.1.3","protobufjs":"7.6.5","@hono/node-server":"2.1.1"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.19.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.20.0","dependencies":{"ms":"2.1.3","qs":"6.15.3","ws":"8.21.3","ajv":"8.20.0","jwa":"2.0.1","jws":"4.0.1","zod":"4.4.3","cors":"2.8.6","depd":"2.0.0","diff":"9.0.0","etag":"1.8.1","glob":"13.0.6","gopd":"1.2.0","hono":"4.12.27","jiti":"2.7.0","jose":"6.2.3","long":"5.3.2","once":"1.4.0","send":"1.2.1","vary":"1.1.2","yaml":"2.9.0","bytes":"3.1.2","chalk":"6.0.0","cssom":"0.5.0","debug":"4.4.3","fresh":"2.0.0","isexe":"2.0.0","retry":"0.13.1","tslib":"2.8.1","which":"2.0.2","bowser":"2.14.1","cookie":"0.7.2","extend":"3.0.2","gaxios":"7.1.4","hasown":"2.0.3","ignore":"7.0.8","marked":"18.0.11","openai":"6.26.0","router":"2.2.0","semver":"7.8.5","undici":"8.10.2","unpipe":"1.0.0","wrappy":"1.0.2","accepts":"2.0.0","esbuild":"0.28.2","express":"5.2.1","mime-db":"1.54.0","p-retry":"4.6.2","type-is":"2.1.0","typebox":"1.3.27","uhyphen":"0.2.0","boolbase":"1.0.0","css-what":"6.2.2","domutils":"3.2.2","ee-first":"1.1.1","fast-uri":"3.1.4","inherits":"2.0.4","linkedom":"0.18.12","minipass":"7.1.3","parseurl":"1.3.3","path-key":"3.1.1","raw-body":"3.0.2","statuses":"2.0.2","turndown":"7.2.4","base64-js":"1.5.1","encodeurl":"2.0.0","es-errors":"1.3.0","forwarded":"0.2.0","get-proto":"1.0.1","ipaddr.js":"1.9.1","lru-cache":"11.5.2","minimatch":"10.2.6","nth-check":"2.1.1","picomatch":"4.0.5","agent-base":"9.0.0","call-bound":"1.0.4","css-select":"5.2.2","domhandler":"5.0.3","fetch-blob":"3.2.0","iconv-lite":"0.7.3","ip-address":"10.2.0","is-promise":"4.0.0","mime-types":"3.0.2","negotiator":"1.0.0","node-fetch":"3.3.2","protobufjs":"7.6.5","proxy-addr":"2.0.7","ts-algebra":"2.0.0","@types/node":"26.2.0","ajv-formats":"3.0.1","body-parser":"2.3.0","cross-spawn":"7.0.6","escape-html":"1.0.3","eventsource":"3.0.7","fast-sha256":"1.3.0","graceful-fs":"4.2.11","has-symbols":"1.1.0","htmlparser2":"10.1.0","http-errors":"2.0.1","json-bigint":"1.0.0","media-typer":"1.1.0","on-finished":"2.4.1","path-scurry":"2.0.2","safe-buffer":"5.2.1","signal-exit":"3.0.7","@smithy/core":"3.33.3","bignumber.js":"9.3.1","content-type":"1.0.5","dunder-proto":"1.0.1","finalhandler":"2.1.1","gcp-metadata":"8.1.2","grok-mermaid":"0.2.3","highlight.js":"11.12.0","partial-json":"0.1.7","range-parser":"1.3.0","safer-buffer":"2.1.2","serve-static":"2.2.1","side-channel":"1.1.1","toidentifier":"1.0.1","@aws-sdk/core":"3.978.0","@google/genai":"2.21.0","@smithy/types":"4.17.2","function-bind":"1.1.2","get-intrinsic":"1.3.0","object-assign":"4.1.1","shebang-regex":"3.0.0","@aws-sdk/types":"3.974.5","@babel/runtime":"7.29.2","balanced-match":"4.0.4","dom-serializer":"2.0.0","domelementtype":"2.3.0","object-inspect":"1.13.4","path-to-regexp":"8.4.2","pkce-challenge":"5.0.1","proxy-from-env":"2.1.0","setprototypeof":"1.2.0","@xterm/headless":"6.0.0","brace-expansion":"5.0.9","es-module-lexer":"2.1.0","es-object-atoms":"1.1.2","fast-deep-equal":"3.1.3","hosted-git-info":"10.1.1","math-intrinsics":"1.1.0","proper-lockfile":"4.1.2","shebang-command":"2.0.0","web-tree-sitter":"0.27.0","@protobufjs/path":"1.1.2","@protobufjs/pool":"1.1.0","@protobufjs/utf8":"1.1.1","cookie-signature":"1.2.2","http-proxy-agent":"9.1.0","side-channel-map":"1.0.1","standardwebhooks":"1.0.0","@anthropic-ai/sdk":"0.123.0","@hono/node-server":"2.1.1","@protobufjs/fetch":"1.1.1","@protobufjs/float":"1.0.2","@stablelib/base64":"1.0.1","formdata-polyfill":"4.0.10","https-proxy-agent":"9.1.0","json-schema-to-ts":"3.1.1","json-schema-typed":"8.0.2","merge-descriptors":"2.0.0","node-domexception":"1.0.0","side-channel-list":"1.0.1","@bufbuild/protobuf":"2.14.0","@mixmark-io/domino":"2.2.0","@opentelemetry/api":"1.9.1","@protobufjs/base64":"1.1.2","data-uri-to-buffer":"4.0.1","es-define-property":"1.0.1","eventsource-parser":"3.1.0","express-rate-limit":"8.5.2","zod-to-json-schema":"3.25.2","@protobufjs/codegen":"2.0.5","content-disposition":"1.1.0","ecdsa-sig-formatter":"1.0.11","google-auth-library":"10.6.2","require-from-string":"2.0.2","@aws-sdk/xml-builder":"3.972.40","@mozilla/readability":"0.6.0","@smithy/signature-v4":"5.7.3","get-east-asian-width":"1.6.0","google-logging-utils":"1.1.3","json-schema-traverse":"1.0.0","side-channel-weakmap":"1.0.2","web-streams-polyfill":"3.3.3","@earendil-works/chord":"0.85.1","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.9.18-2","@protobufjs/aspromise":"1.1.2","proxy-agent-negotiate":"1.1.0","@earendil-works/pi-pty":"npm:@code-yeongyu/senpi-pty@2026.9.18-2","@earendil-works/pi-tui":"npm:@code-yeongyu/senpi-tui@2026.9.18-2","@aws-sdk/nested-clients":"3.997.45","call-bind-apply-helpers":"1.0.2","@aws-sdk/token-providers":"3.1127.0","@aws/lambda-invoke-store":"0.3.0","@protobufjs/eventemitter":"1.1.1","@modelcontextprotocol/sdk":"1.30.0","@smithy/node-http-handler":"4.12.1","@silvia-odwyer/photon-node":"0.3.4","@smithy/fetch-http-handler":"5.7.2","buffer-equal-constant-time":"1.0.1","@code-yeongyu/senpi-codemode":"2026.9.18-2","@earendil-works/pi-telemetry":"npm:@code-yeongyu/senpi-telemetry@2026.9.18-2","@aws-sdk/middleware-websocket":"3.972.52","@earendil-works/pi-agent-core":"npm:@code-yeongyu/senpi-agent-core@2026.9.18-2","@anthropic-ai/claude-agent-sdk":"0.3.259","@aws-sdk/client-bedrock-runtime":"3.1127.0","@aws-sdk/middleware-eventstream":"3.972.29","@aws-sdk/credential-provider-env":"3.972.71","@aws-sdk/credential-provider-ini":"3.973.16","@aws-sdk/credential-provider-sso":"3.973.15","@smithy/credential-provider-imds":"4.5.2","@aws-sdk/credential-provider-http":"3.972.73","@aws-sdk/credential-provider-node":"3.972.83","@aws-sdk/eventstream-handler-node":"3.972.34","@aws-sdk/credential-provider-login":"3.972.78","@aws-sdk/signature-v4-multi-region":"3.996.46","@aws-sdk/credential-provider-process":"3.972.71","@aws-sdk/credential-provider-web-identity":"3.972.77"},"_hasShrinkwrap":false,"devDependencies":{"shx":"0.4.0","vitest":"4.1.11","@types/ws":"8.18.1","typescript":"7.0.2","@types/node":"26.2.0","@types/semver":"7.8.0","@types/turndown":"5.0.6","@types/picomatch":"4.0.3","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@anthropic-ai/claude-agent-sdk","@anthropic-ai/sdk","@aws-sdk/client-bedrock-runtime","@aws-sdk/core","@aws-sdk/credential-provider-env","@aws-sdk/credential-provider-http","@aws-sdk/credential-provider-ini","@aws-sdk/credential-provider-login","@aws-sdk/credential-provider-node","@aws-sdk/credential-provider-process","@aws-sdk/credential-provider-sso","@aws-sdk/credential-provider-web-identity","@aws-sdk/eventstream-handler-node","@aws-sdk/middleware-eventstream","@aws-sdk/middleware-websocket","@aws-sdk/nested-clients","@aws-sdk/signature-v4-multi-region","@aws-sdk/token-providers","@aws-sdk/types","@aws-sdk/xml-builder","@aws/lambda-invoke-store","@babel/runtime","@bufbuild/protobuf","@code-yeongyu/senpi-codemode","@earendil-works/chord","@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-pty","@earendil-works/pi-telemetry","@earendil-works/pi-tui","@google/genai","@hono/node-server","@mixmark-io/domino","@modelcontextprotocol/sdk","@mozilla/readability","@opentelemetry/api","@protobufjs/aspromise","@protobufjs/base64","@protobufjs/codegen","@protobufjs/eventemitter","@protobufjs/fetch","@protobufjs/float","@protobufjs/path","@protobufjs/pool","@protobufjs/utf8","@silvia-odwyer/photon-node","@smithy/core","@smithy/credential-provider-imds","@smithy/fetch-http-handler","@smithy/node-http-handler","@smithy/signature-v4","@smithy/types","@stablelib/base64","@types/node","@xterm/headless","accepts","agent-base","ajv","ajv-formats","balanced-match","base64-js","bignumber.js","body-parser","boolbase","bowser","brace-expansion","buffer-equal-constant-time","bytes","call-bind-apply-helpers","call-bound","chalk","content-disposition","content-type","cookie","cookie-signature","cors","cross-spawn","css-select","css-what","cssom","data-uri-to-buffer","debug","depd","diff","dom-serializer","domelementtype","domhandler","domutils","dunder-proto","ecdsa-sig-formatter","ee-first","encodeurl","es-define-property","es-errors","es-module-lexer","es-object-atoms","esbuild","escape-html","etag","eventsource","eventsource-parser","express","express-rate-limit","extend","fast-deep-equal","fast-sha256","fast-uri","fetch-blob","finalhandler","formdata-polyfill","forwarded","fresh","function-bind","gaxios","gcp-metadata","get-east-asian-width","get-intrinsic","get-proto","glob","google-auth-library","google-logging-utils","gopd","graceful-fs","grok-mermaid","has-symbols","hasown","highlight.js","hono","hosted-git-info","htmlparser2","http-errors","http-proxy-agent","https-proxy-agent","iconv-lite","ignore","inherits","ip-address","ipaddr.js","is-promise","isexe","jiti","jose","json-bigint","json-schema-to-ts","json-schema-traverse","json-schema-typed","jwa","jws","linkedom","long","lru-cache","marked","math-intrinsics","media-typer","merge-descriptors","mime-db","mime-types","minimatch","minipass","ms","negotiator","node-domexception","node-fetch","nth-check","object-assign","object-inspect","on-finished","once","openai","p-retry","parseurl","partial-json","path-key","path-scurry","path-to-regexp","picomatch","pkce-challenge","proper-lockfile","protobufjs","proxy-addr","proxy-agent-negotiate","proxy-from-env","qs","range-parser","raw-body","require-from-string","retry","router","safe-buffer","safer-buffer","semver","send","serve-static","setprototypeof","shebang-command","shebang-regex","side-channel","side-channel-list","side-channel-map","side-channel-weakmap","signal-exit","standardwebhooks","statuses","toidentifier","ts-algebra","tslib","turndown","type-is","typebox","uhyphen","undici","unpipe","vary","web-streams-polyfill","web-tree-sitter","which","wrappy","ws","yaml","zod","zod-to-json-schema"],"optionalDependencies":{"@esbuild/aix-ppc64":"0.28.2","@esbuild/linux-arm":"0.28.2","@esbuild/linux-x64":"0.28.2","@esbuild/sunos-x64":"0.28.2","@esbuild/win32-x64":"0.28.2","@esbuild/darwin-x64":"0.28.2","@esbuild/linux-ia32":"0.28.2","@esbuild/netbsd-x64":"0.28.2","@esbuild/win32-ia32":"0.28.2","@esbuild/android-arm":"0.28.2","@esbuild/android-x64":"0.28.2","@esbuild/freebsd-x64":"0.28.2","@esbuild/linux-arm64":"0.28.2","@esbuild/linux-ppc64":"0.28.2","@esbuild/linux-s390x":"0.28.2","@esbuild/openbsd-x64":"0.28.2","@esbuild/win32-arm64":"0.28.2","@esbuild/darwin-arm64":"0.28.2","@esbuild/netbsd-arm64":"0.28.2","@esbuild/android-arm64":"0.28.2","@esbuild/freebsd-arm64":"0.28.2","@esbuild/linux-loong64":"0.28.2","@esbuild/linux-riscv64":"0.28.2","@esbuild/openbsd-arm64":"0.28.2","@esbuild/linux-mips64el":"0.28.2","@esbuild/openharmony-arm64":"0.28.2","@anthropic-ai/claude-agent-sdk-linux-x64":"0.3.259","@anthropic-ai/claude-agent-sdk-win32-x64":"0.3.259","@anthropic-ai/claude-agent-sdk-darwin-x64":"0.3.259","@anthropic-ai/claude-agent-sdk-linux-arm64":"0.3.259","@anthropic-ai/claude-agent-sdk-win32-arm64":"0.3.259","@anthropic-ai/claude-agent-sdk-darwin-arm64":"0.3.259","@anthropic-ai/claude-agent-sdk-linux-x64-musl":"0.3.259","@anthropic-ai/claude-agent-sdk-linux-arm64-musl":"0.3.259"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.9.18-2_1789699489001_0.8016446024015984","host":"s3://npm-registry-packages-npm-production"}},"2026.9.18-3":{"name":"@code-yeongyu/senpi","version":"2026.9.18-3","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.9.18-3","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"pi":"dist/bundle/cli.js","senpi":"dist/cli.js"},"dist":{"shasum":"51f468682b38bd840434fb71fb27475d5579d479","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.9.18-3.tgz","fileCount":26895,"integrity":"sha512-YLToKa9RT04nOgof8kI4yNw19cvl1CuNdNmug9BlCkkzl8C045MG4wbLob2azD3nNd6LNX0AfUPC4LUiC3bKaQ==","signatures":[{"sig":"MEYCIQDSAFI/AuEGPhaB0DjFe5rU723UGEsz0eVU6VycfS9sfwIhALJuiau5eBERfeVu69LJtiL0uDZqHDv+0b9nBX1RXSLI","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIDbbn8I06ibXSWYKZ8FjxwxfdScwKgD5O0kr8O5+qj0CAiEA6Le9GstVjm6d5wDIVRHiSJOFMuOstQ5yBV7cg8Hi/yY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.9.18-3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":199812318},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.js"},"./rpc-entry":{"import":"./dist/rpc-entry.js"},"./bun-runtime":{"types":"./dist/bun/runtime-modules.d.ts","import":"./dist/bun/runtime-modules.js"}},"scripts":{"dev":"tsc -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsgo -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js dist/rpc-entry.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi && npm run build:bundle","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/","build:binary":"npm --prefix ../tui run build && npm --prefix ../telemetry run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm --prefix ../protocol run build && npm --prefix ../client run build && npm --prefix ../pty run build && npm run build && node ../../scripts/prepare-bun-compile-assets.mjs && bun build --compile --splitting --compile-autoload-package-json --no-compile-autoload-dotenv --no-compile-autoload-bunfig --minify --keep-names ./dist/bun/cli.js ./src/modes/rpc/session-worker.ts ./src/utils/image-resize-worker.ts --outfile dist/pi && npm run copy-binary-assets","build:bundle":"node ../../scripts/build-coding-agent-bundle.mjs","qa:app-server":"node scripts/qa-app-server/run-all.mjs","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","build:unbundled":"tsgo -p tsconfig.build.json && shx chmod +x dist/cli.js dist/rpc-entry.js && npm run copy-assets","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/export-html/ && shx cp -r docs dist/ && shx cp -r examples dist/ && node ../../scripts/copy-codemode-sidecar.mjs dist && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/ && shx mkdir -p dist/native/darwin dist/native/win32 && shx cp -r ../../packages/tui/native/darwin/prebuilds dist/native/darwin/ && shx cp -r ../../packages/tui/native/win32/prebuilds dist/native/win32/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/ && node ../../scripts/copy-pty-native.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ea548fc8-dac4-4dec-a439-6f4fa3870309"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.3"},"rimraf":"6.1.3","protobufjs":"7.6.5","@hono/node-server":"2.1.1"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.19.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.20.0","dependencies":{"ms":"2.1.3","qs":"6.15.3","ws":"8.21.3","ajv":"8.20.0","jwa":"2.0.1","jws":"4.0.1","zod":"4.4.3","cors":"2.8.6","depd":"2.0.0","diff":"9.0.0","etag":"1.8.1","glob":"13.0.6","gopd":"1.2.0","hono":"4.12.27","jiti":"2.7.0","jose":"6.2.3","long":"5.3.2","once":"1.4.0","send":"1.2.1","vary":"1.1.2","yaml":"2.9.0","bytes":"3.1.2","chalk":"6.0.0","cssom":"0.5.0","debug":"4.4.3","fresh":"2.0.0","isexe":"2.0.0","retry":"0.13.1","tslib":"2.8.1","which":"2.0.2","bowser":"2.14.1","cookie":"0.7.2","extend":"3.0.2","gaxios":"7.1.4","hasown":"2.0.3","ignore":"7.0.8","marked":"18.0.11","openai":"6.26.0","router":"2.2.0","semver":"7.8.5","undici":"8.10.2","unpipe":"1.0.0","wrappy":"1.0.2","accepts":"2.0.0","esbuild":"0.28.2","express":"5.2.1","mime-db":"1.54.0","p-retry":"4.6.2","type-is":"2.1.0","typebox":"1.3.27","uhyphen":"0.2.0","boolbase":"1.0.0","css-what":"6.2.2","domutils":"3.2.2","ee-first":"1.1.1","fast-uri":"3.1.4","inherits":"2.0.4","linkedom":"0.18.12","minipass":"7.1.3","parseurl":"1.3.3","path-key":"3.1.1","raw-body":"3.0.2","statuses":"2.0.2","turndown":"7.2.4","base64-js":"1.5.1","encodeurl":"2.0.0","es-errors":"1.3.0","forwarded":"0.2.0","get-proto":"1.0.1","ipaddr.js":"1.9.1","lru-cache":"11.5.2","minimatch":"10.2.6","nth-check":"2.1.1","picomatch":"4.0.5","agent-base":"9.0.0","call-bound":"1.0.4","css-select":"5.2.2","domhandler":"5.0.3","fetch-blob":"3.2.0","iconv-lite":"0.7.3","ip-address":"10.2.0","is-promise":"4.0.0","mime-types":"3.0.2","negotiator":"1.0.0","node-fetch":"3.3.2","protobufjs":"7.6.5","proxy-addr":"2.0.7","ts-algebra":"2.0.0","@types/node":"26.2.0","ajv-formats":"3.0.1","body-parser":"2.3.0","cross-spawn":"7.0.6","escape-html":"1.0.3","eventsource":"3.0.7","fast-sha256":"1.3.0","graceful-fs":"4.2.11","has-symbols":"1.1.0","htmlparser2":"10.1.0","http-errors":"2.0.1","json-bigint":"1.0.0","media-typer":"1.1.0","on-finished":"2.4.1","path-scurry":"2.0.2","safe-buffer":"5.2.1","signal-exit":"3.0.7","@smithy/core":"3.33.3","bignumber.js":"9.3.1","content-type":"1.0.5","dunder-proto":"1.0.1","finalhandler":"2.1.1","gcp-metadata":"8.1.2","grok-mermaid":"0.2.3","highlight.js":"11.12.0","partial-json":"0.1.7","range-parser":"1.3.0","safer-buffer":"2.1.2","serve-static":"2.2.1","side-channel":"1.1.1","toidentifier":"1.0.1","@aws-sdk/core":"3.978.0","@google/genai":"2.21.0","@smithy/types":"4.17.2","function-bind":"1.1.2","get-intrinsic":"1.3.0","object-assign":"4.1.1","shebang-regex":"3.0.0","@aws-sdk/types":"3.974.5","@babel/runtime":"7.29.2","balanced-match":"4.0.4","dom-serializer":"2.0.0","domelementtype":"2.3.0","object-inspect":"1.13.4","path-to-regexp":"8.4.2","pkce-challenge":"5.0.1","proxy-from-env":"2.1.0","setprototypeof":"1.2.0","@xterm/headless":"6.0.0","brace-expansion":"5.0.9","es-module-lexer":"2.1.0","es-object-atoms":"1.1.2","fast-deep-equal":"3.1.3","hosted-git-info":"10.1.1","math-intrinsics":"1.1.0","proper-lockfile":"4.1.2","shebang-command":"2.0.0","web-tree-sitter":"0.27.0","@protobufjs/path":"1.1.2","@protobufjs/pool":"1.1.0","@protobufjs/utf8":"1.1.1","cookie-signature":"1.2.2","http-proxy-agent":"9.1.0","side-channel-map":"1.0.1","standardwebhooks":"1.0.0","@anthropic-ai/sdk":"0.123.0","@hono/node-server":"2.1.1","@protobufjs/fetch":"1.1.1","@protobufjs/float":"1.0.2","@stablelib/base64":"1.0.1","formdata-polyfill":"4.0.10","https-proxy-agent":"9.1.0","json-schema-to-ts":"3.1.1","json-schema-typed":"8.0.2","merge-descriptors":"2.0.0","node-domexception":"1.0.0","side-channel-list":"1.0.1","@bufbuild/protobuf":"2.14.0","@mixmark-io/domino":"2.2.0","@opentelemetry/api":"1.9.1","@protobufjs/base64":"1.1.2","data-uri-to-buffer":"4.0.1","es-define-property":"1.0.1","eventsource-parser":"3.1.0","express-rate-limit":"8.5.2","zod-to-json-schema":"3.25.2","@protobufjs/codegen":"2.0.5","content-disposition":"1.1.0","ecdsa-sig-formatter":"1.0.11","google-auth-library":"10.6.2","require-from-string":"2.0.2","@aws-sdk/xml-builder":"3.972.40","@mozilla/readability":"0.6.0","@smithy/signature-v4":"5.7.3","get-east-asian-width":"1.6.0","google-logging-utils":"1.1.3","json-schema-traverse":"1.0.0","side-channel-weakmap":"1.0.2","web-streams-polyfill":"3.3.3","@earendil-works/chord":"0.85.1","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.9.18-3","@protobufjs/aspromise":"1.1.2","proxy-agent-negotiate":"1.1.0","@earendil-works/pi-pty":"npm:@code-yeongyu/senpi-pty@2026.9.18-3","@earendil-works/pi-tui":"npm:@code-yeongyu/senpi-tui@2026.9.18-3","@aws-sdk/nested-clients":"3.997.45","call-bind-apply-helpers":"1.0.2","@aws-sdk/token-providers":"3.1127.0","@aws/lambda-invoke-store":"0.3.0","@protobufjs/eventemitter":"1.1.1","@modelcontextprotocol/sdk":"1.30.0","@smithy/node-http-handler":"4.12.1","@silvia-odwyer/photon-node":"0.3.4","@smithy/fetch-http-handler":"5.7.2","buffer-equal-constant-time":"1.0.1","@code-yeongyu/senpi-codemode":"2026.9.18-3","@earendil-works/pi-telemetry":"npm:@code-yeongyu/senpi-telemetry@2026.9.18-3","@aws-sdk/middleware-websocket":"3.972.52","@earendil-works/pi-agent-core":"npm:@code-yeongyu/senpi-agent-core@2026.9.18-3","@anthropic-ai/claude-agent-sdk":"0.3.259","@aws-sdk/client-bedrock-runtime":"3.1127.0","@aws-sdk/middleware-eventstream":"3.972.29","@aws-sdk/credential-provider-env":"3.972.71","@aws-sdk/credential-provider-ini":"3.973.16","@aws-sdk/credential-provider-sso":"3.973.15","@smithy/credential-provider-imds":"4.5.2","@aws-sdk/credential-provider-http":"3.972.73","@aws-sdk/credential-provider-node":"3.972.83","@aws-sdk/eventstream-handler-node":"3.972.34","@aws-sdk/credential-provider-login":"3.972.78","@aws-sdk/signature-v4-multi-region":"3.996.46","@aws-sdk/credential-provider-process":"3.972.71","@aws-sdk/credential-provider-web-identity":"3.972.77"},"_hasShrinkwrap":false,"devDependencies":{"shx":"0.4.0","vitest":"4.1.11","@types/ws":"8.18.1","typescript":"7.0.2","@types/node":"26.2.0","@types/semver":"7.8.0","@types/turndown":"5.0.6","@types/picomatch":"4.0.3","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@anthropic-ai/claude-agent-sdk","@anthropic-ai/sdk","@aws-sdk/client-bedrock-runtime","@aws-sdk/core","@aws-sdk/credential-provider-env","@aws-sdk/credential-provider-http","@aws-sdk/credential-provider-ini","@aws-sdk/credential-provider-login","@aws-sdk/credential-provider-node","@aws-sdk/credential-provider-process","@aws-sdk/credential-provider-sso","@aws-sdk/credential-provider-web-identity","@aws-sdk/eventstream-handler-node","@aws-sdk/middleware-eventstream","@aws-sdk/middleware-websocket","@aws-sdk/nested-clients","@aws-sdk/signature-v4-multi-region","@aws-sdk/token-providers","@aws-sdk/types","@aws-sdk/xml-builder","@aws/lambda-invoke-store","@babel/runtime","@bufbuild/protobuf","@code-yeongyu/senpi-codemode","@earendil-works/chord","@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-pty","@earendil-works/pi-telemetry","@earendil-works/pi-tui","@google/genai","@hono/node-server","@mixmark-io/domino","@modelcontextprotocol/sdk","@mozilla/readability","@opentelemetry/api","@protobufjs/aspromise","@protobufjs/base64","@protobufjs/codegen","@protobufjs/eventemitter","@protobufjs/fetch","@protobufjs/float","@protobufjs/path","@protobufjs/pool","@protobufjs/utf8","@silvia-odwyer/photon-node","@smithy/core","@smithy/credential-provider-imds","@smithy/fetch-http-handler","@smithy/node-http-handler","@smithy/signature-v4","@smithy/types","@stablelib/base64","@types/node","@xterm/headless","accepts","agent-base","ajv","ajv-formats","balanced-match","base64-js","bignumber.js","body-parser","boolbase","bowser","brace-expansion","buffer-equal-constant-time","bytes","call-bind-apply-helpers","call-bound","chalk","content-disposition","content-type","cookie","cookie-signature","cors","cross-spawn","css-select","css-what","cssom","data-uri-to-buffer","debug","depd","diff","dom-serializer","domelementtype","domhandler","domutils","dunder-proto","ecdsa-sig-formatter","ee-first","encodeurl","es-define-property","es-errors","es-module-lexer","es-object-atoms","esbuild","escape-html","etag","eventsource","eventsource-parser","express","express-rate-limit","extend","fast-deep-equal","fast-sha256","fast-uri","fetch-blob","finalhandler","formdata-polyfill","forwarded","fresh","function-bind","gaxios","gcp-metadata","get-east-asian-width","get-intrinsic","get-proto","glob","google-auth-library","google-logging-utils","gopd","graceful-fs","grok-mermaid","has-symbols","hasown","highlight.js","hono","hosted-git-info","htmlparser2","http-errors","http-proxy-agent","https-proxy-agent","iconv-lite","ignore","inherits","ip-address","ipaddr.js","is-promise","isexe","jiti","jose","json-bigint","json-schema-to-ts","json-schema-traverse","json-schema-typed","jwa","jws","linkedom","long","lru-cache","marked","math-intrinsics","media-typer","merge-descriptors","mime-db","mime-types","minimatch","minipass","ms","negotiator","node-domexception","node-fetch","nth-check","object-assign","object-inspect","on-finished","once","openai","p-retry","parseurl","partial-json","path-key","path-scurry","path-to-regexp","picomatch","pkce-challenge","proper-lockfile","protobufjs","proxy-addr","proxy-agent-negotiate","proxy-from-env","qs","range-parser","raw-body","require-from-string","retry","router","safe-buffer","safer-buffer","semver","send","serve-static","setprototypeof","shebang-command","shebang-regex","side-channel","side-channel-list","side-channel-map","side-channel-weakmap","signal-exit","standardwebhooks","statuses","toidentifier","ts-algebra","tslib","turndown","type-is","typebox","uhyphen","undici","unpipe","vary","web-streams-polyfill","web-tree-sitter","which","wrappy","ws","yaml","zod","zod-to-json-schema"],"optionalDependencies":{"@esbuild/aix-ppc64":"0.28.2","@esbuild/linux-arm":"0.28.2","@esbuild/linux-x64":"0.28.2","@esbuild/sunos-x64":"0.28.2","@esbuild/win32-x64":"0.28.2","@esbuild/darwin-x64":"0.28.2","@esbuild/linux-ia32":"0.28.2","@esbuild/netbsd-x64":"0.28.2","@esbuild/win32-ia32":"0.28.2","@esbuild/android-arm":"0.28.2","@esbuild/android-x64":"0.28.2","@esbuild/freebsd-x64":"0.28.2","@esbuild/linux-arm64":"0.28.2","@esbuild/linux-ppc64":"0.28.2","@esbuild/linux-s390x":"0.28.2","@esbuild/openbsd-x64":"0.28.2","@esbuild/win32-arm64":"0.28.2","@esbuild/darwin-arm64":"0.28.2","@esbuild/netbsd-arm64":"0.28.2","@esbuild/android-arm64":"0.28.2","@esbuild/freebsd-arm64":"0.28.2","@esbuild/linux-loong64":"0.28.2","@esbuild/linux-riscv64":"0.28.2","@esbuild/openbsd-arm64":"0.28.2","@esbuild/linux-mips64el":"0.28.2","@esbuild/openharmony-arm64":"0.28.2","@anthropic-ai/claude-agent-sdk-linux-x64":"0.3.259","@anthropic-ai/claude-agent-sdk-win32-x64":"0.3.259","@anthropic-ai/claude-agent-sdk-darwin-x64":"0.3.259","@anthropic-ai/claude-agent-sdk-linux-arm64":"0.3.259","@anthropic-ai/claude-agent-sdk-win32-arm64":"0.3.259","@anthropic-ai/claude-agent-sdk-darwin-arm64":"0.3.259","@anthropic-ai/claude-agent-sdk-linux-x64-musl":"0.3.259","@anthropic-ai/claude-agent-sdk-linux-arm64-musl":"0.3.259"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.9.18-3_1789731133978_0.7038035638656006","host":"s3://npm-registry-packages-npm-production"}},"2026.9.18-4":{"name":"@code-yeongyu/senpi","version":"2026.9.18-4","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.9.18-4","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"pi":"dist/bundle/cli.js","senpi":"dist/cli.js"},"dist":{"shasum":"b9a95359fbfe2d205d44305a9734dde7677a1f0e","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.9.18-4.tgz","fileCount":26902,"integrity":"sha512-pdeIekvskQnDyHgr9Qq5Tos5wt/g3ASVzKCWJH14CsyNKjGB63gO+aWMjLMuuwdwf8/2ucCUnYTbKr99n4xurQ==","signatures":[{"sig":"MEUCIQDvdrr2scalHh7O4YDzzyWf5ta0NzF5NQBKUaO61+yMoQIgZBaFRct1hHR2ox7rcmPgDIi41WiSLc3tg6o7zFmS6rk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCQ+R8GmQAXdmQrfUaMaZqlfMTVEiU0d9acV2YvtYEgCwIhAIGFxRv6/tQ+heUfYIYNfc3fh/vGBWsXFUwXmRRegG4j","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.9.18-4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":199851572},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.js"},"./rpc-entry":{"import":"./dist/rpc-entry.js"},"./bun-runtime":{"types":"./dist/bun/runtime-modules.d.ts","import":"./dist/bun/runtime-modules.js"}},"scripts":{"dev":"tsc -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsgo -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js dist/rpc-entry.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi && npm run build:bundle","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/","build:binary":"npm --prefix ../tui run build && npm --prefix ../telemetry run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm --prefix ../protocol run build && npm --prefix ../client run build && npm --prefix ../pty run build && npm run build && node ../../scripts/prepare-bun-compile-assets.mjs && bun build --compile --splitting --compile-autoload-package-json --no-compile-autoload-dotenv --no-compile-autoload-bunfig --minify --keep-names ./dist/bun/cli.js ./src/modes/rpc/session-worker.ts ./src/utils/image-resize-worker.ts --outfile dist/pi && npm run copy-binary-assets","build:bundle":"node ../../scripts/build-coding-agent-bundle.mjs","qa:app-server":"node scripts/qa-app-server/run-all.mjs","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","build:unbundled":"tsgo -p tsconfig.build.json && shx chmod +x dist/cli.js dist/rpc-entry.js && npm run copy-assets","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/export-html/ && shx cp -r docs dist/ && shx cp -r examples dist/ && node ../../scripts/copy-codemode-sidecar.mjs dist && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/ && shx mkdir -p dist/native/darwin dist/native/win32 && shx cp -r ../../packages/tui/native/darwin/prebuilds dist/native/darwin/ && shx cp -r ../../packages/tui/native/win32/prebuilds dist/native/win32/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/ && node ../../scripts/copy-pty-native.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ea548fc8-dac4-4dec-a439-6f4fa3870309"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.3"},"rimraf":"6.1.3","protobufjs":"7.6.5","@hono/node-server":"2.1.1"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.19.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.20.0","dependencies":{"ms":"2.1.3","qs":"6.15.3","ws":"8.21.3","ajv":"8.20.0","jwa":"2.0.1","jws":"4.0.1","zod":"4.4.3","cors":"2.8.6","depd":"2.0.0","diff":"9.0.0","etag":"1.8.1","glob":"13.0.6","gopd":"1.2.0","hono":"4.12.27","jiti":"2.7.0","jose":"6.2.3","long":"5.3.2","once":"1.4.0","send":"1.2.1","vary":"1.1.2","yaml":"2.9.0","bytes":"3.1.2","chalk":"6.0.0","cssom":"0.5.0","debug":"4.4.3","fresh":"2.0.0","isexe":"2.0.0","retry":"0.13.1","tslib":"2.8.1","which":"2.0.2","bowser":"2.14.1","cookie":"0.7.2","extend":"3.0.2","gaxios":"7.1.4","hasown":"2.0.3","ignore":"7.0.8","marked":"18.0.11","openai":"6.26.0","router":"2.2.0","semver":"7.8.5","undici":"8.10.2","unpipe":"1.0.0","wrappy":"1.0.2","accepts":"2.0.0","esbuild":"0.28.2","express":"5.2.1","mime-db":"1.54.0","p-retry":"4.6.2","type-is":"2.1.0","typebox":"1.3.27","uhyphen":"0.2.0","boolbase":"1.0.0","css-what":"6.2.2","domutils":"3.2.2","ee-first":"1.1.1","fast-uri":"3.1.4","inherits":"2.0.4","linkedom":"0.18.12","minipass":"7.1.3","parseurl":"1.3.3","path-key":"3.1.1","raw-body":"3.0.2","statuses":"2.0.2","turndown":"7.2.4","base64-js":"1.5.1","encodeurl":"2.0.0","es-errors":"1.3.0","forwarded":"0.2.0","get-proto":"1.0.1","ipaddr.js":"1.9.1","lru-cache":"11.5.2","minimatch":"10.2.6","nth-check":"2.1.1","picomatch":"4.0.5","agent-base":"9.0.0","call-bound":"1.0.4","css-select":"5.2.2","domhandler":"5.0.3","fetch-blob":"3.2.0","iconv-lite":"0.7.3","ip-address":"10.2.0","is-promise":"4.0.0","mime-types":"3.0.2","negotiator":"1.0.0","node-fetch":"3.3.2","protobufjs":"7.6.5","proxy-addr":"2.0.7","ts-algebra":"2.0.0","@types/node":"26.2.0","ajv-formats":"3.0.1","body-parser":"2.3.0","cross-spawn":"7.0.6","escape-html":"1.0.3","eventsource":"3.0.7","fast-sha256":"1.3.0","graceful-fs":"4.2.11","has-symbols":"1.1.0","htmlparser2":"10.1.0","http-errors":"2.0.1","json-bigint":"1.0.0","media-typer":"1.1.0","on-finished":"2.4.1","path-scurry":"2.0.2","safe-buffer":"5.2.1","signal-exit":"3.0.7","@smithy/core":"3.33.3","bignumber.js":"9.3.1","content-type":"1.0.5","dunder-proto":"1.0.1","finalhandler":"2.1.1","gcp-metadata":"8.1.2","grok-mermaid":"0.2.3","highlight.js":"11.12.0","partial-json":"0.1.7","range-parser":"1.3.0","safer-buffer":"2.1.2","serve-static":"2.2.1","side-channel":"1.1.1","toidentifier":"1.0.1","@aws-sdk/core":"3.978.0","@google/genai":"2.21.0","@smithy/types":"4.17.2","function-bind":"1.1.2","get-intrinsic":"1.3.0","object-assign":"4.1.1","shebang-regex":"3.0.0","@aws-sdk/types":"3.974.5","@babel/runtime":"7.29.2","balanced-match":"4.0.4","dom-serializer":"2.0.0","domelementtype":"2.3.0","object-inspect":"1.13.4","path-to-regexp":"8.4.2","pkce-challenge":"5.0.1","proxy-from-env":"2.1.0","setprototypeof":"1.2.0","@xterm/headless":"6.0.0","brace-expansion":"5.0.9","es-module-lexer":"2.1.0","es-object-atoms":"1.1.2","fast-deep-equal":"3.1.3","hosted-git-info":"10.1.1","math-intrinsics":"1.1.0","proper-lockfile":"4.1.2","shebang-command":"2.0.0","web-tree-sitter":"0.27.0","@protobufjs/path":"1.1.2","@protobufjs/pool":"1.1.0","@protobufjs/utf8":"1.1.1","cookie-signature":"1.2.2","http-proxy-agent":"9.1.0","side-channel-map":"1.0.1","standardwebhooks":"1.0.0","@anthropic-ai/sdk":"0.123.0","@hono/node-server":"2.1.1","@protobufjs/fetch":"1.1.1","@protobufjs/float":"1.0.2","@stablelib/base64":"1.0.1","formdata-polyfill":"4.0.10","https-proxy-agent":"9.1.0","json-schema-to-ts":"3.1.1","json-schema-typed":"8.0.2","merge-descriptors":"2.0.0","node-domexception":"1.0.0","side-channel-list":"1.0.1","@bufbuild/protobuf":"2.14.0","@mixmark-io/domino":"2.2.0","@opentelemetry/api":"1.9.1","@protobufjs/base64":"1.1.2","data-uri-to-buffer":"4.0.1","es-define-property":"1.0.1","eventsource-parser":"3.1.0","express-rate-limit":"8.5.2","zod-to-json-schema":"3.25.2","@protobufjs/codegen":"2.0.5","content-disposition":"1.1.0","ecdsa-sig-formatter":"1.0.11","google-auth-library":"10.6.2","require-from-string":"2.0.2","@aws-sdk/xml-builder":"3.972.40","@mozilla/readability":"0.6.0","@smithy/signature-v4":"5.7.3","get-east-asian-width":"1.6.0","google-logging-utils":"1.1.3","json-schema-traverse":"1.0.0","side-channel-weakmap":"1.0.2","web-streams-polyfill":"3.3.3","@earendil-works/chord":"0.85.1","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.9.18-4","@protobufjs/aspromise":"1.1.2","proxy-agent-negotiate":"1.1.0","@earendil-works/pi-pty":"npm:@code-yeongyu/senpi-pty@2026.9.18-4","@earendil-works/pi-tui":"npm:@code-yeongyu/senpi-tui@2026.9.18-4","@aws-sdk/nested-clients":"3.997.45","call-bind-apply-helpers":"1.0.2","@aws-sdk/token-providers":"3.1127.0","@aws/lambda-invoke-store":"0.3.0","@protobufjs/eventemitter":"1.1.1","@modelcontextprotocol/sdk":"1.30.0","@smithy/node-http-handler":"4.12.1","@silvia-odwyer/photon-node":"0.3.4","@smithy/fetch-http-handler":"5.7.2","buffer-equal-constant-time":"1.0.1","@code-yeongyu/senpi-codemode":"2026.9.18-4","@earendil-works/pi-telemetry":"npm:@code-yeongyu/senpi-telemetry@2026.9.18-4","@aws-sdk/middleware-websocket":"3.972.52","@earendil-works/pi-agent-core":"npm:@code-yeongyu/senpi-agent-core@2026.9.18-4","@anthropic-ai/claude-agent-sdk":"0.3.259","@aws-sdk/client-bedrock-runtime":"3.1127.0","@aws-sdk/middleware-eventstream":"3.972.29","@aws-sdk/credential-provider-env":"3.972.71","@aws-sdk/credential-provider-ini":"3.973.16","@aws-sdk/credential-provider-sso":"3.973.15","@smithy/credential-provider-imds":"4.5.2","@aws-sdk/credential-provider-http":"3.972.73","@aws-sdk/credential-provider-node":"3.972.83","@aws-sdk/eventstream-handler-node":"3.972.34","@aws-sdk/credential-provider-login":"3.972.78","@aws-sdk/signature-v4-multi-region":"3.996.46","@aws-sdk/credential-provider-process":"3.972.71","@aws-sdk/credential-provider-web-identity":"3.972.77"},"_hasShrinkwrap":false,"devDependencies":{"shx":"0.4.0","vitest":"4.1.11","@types/ws":"8.18.1","typescript":"7.0.2","@types/node":"26.2.0","@types/semver":"7.8.0","@types/turndown":"5.0.6","@types/picomatch":"4.0.3","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@anthropic-ai/claude-agent-sdk","@anthropic-ai/sdk","@aws-sdk/client-bedrock-runtime","@aws-sdk/core","@aws-sdk/credential-provider-env","@aws-sdk/credential-provider-http","@aws-sdk/credential-provider-ini","@aws-sdk/credential-provider-login","@aws-sdk/credential-provider-node","@aws-sdk/credential-provider-process","@aws-sdk/credential-provider-sso","@aws-sdk/credential-provider-web-identity","@aws-sdk/eventstream-handler-node","@aws-sdk/middleware-eventstream","@aws-sdk/middleware-websocket","@aws-sdk/nested-clients","@aws-sdk/signature-v4-multi-region","@aws-sdk/token-providers","@aws-sdk/types","@aws-sdk/xml-builder","@aws/lambda-invoke-store","@babel/runtime","@bufbuild/protobuf","@code-yeongyu/senpi-codemode","@earendil-works/chord","@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-pty","@earendil-works/pi-telemetry","@earendil-works/pi-tui","@google/genai","@hono/node-server","@mixmark-io/domino","@modelcontextprotocol/sdk","@mozilla/readability","@opentelemetry/api","@protobufjs/aspromise","@protobufjs/base64","@protobufjs/codegen","@protobufjs/eventemitter","@protobufjs/fetch","@protobufjs/float","@protobufjs/path","@protobufjs/pool","@protobufjs/utf8","@silvia-odwyer/photon-node","@smithy/core","@smithy/credential-provider-imds","@smithy/fetch-http-handler","@smithy/node-http-handler","@smithy/signature-v4","@smithy/types","@stablelib/base64","@types/node","@xterm/headless","accepts","agent-base","ajv","ajv-formats","balanced-match","base64-js","bignumber.js","body-parser","boolbase","bowser","brace-expansion","buffer-equal-constant-time","bytes","call-bind-apply-helpers","call-bound","chalk","content-disposition","content-type","cookie","cookie-signature","cors","cross-spawn","css-select","css-what","cssom","data-uri-to-buffer","debug","depd","diff","dom-serializer","domelementtype","domhandler","domutils","dunder-proto","ecdsa-sig-formatter","ee-first","encodeurl","es-define-property","es-errors","es-module-lexer","es-object-atoms","esbuild","escape-html","etag","eventsource","eventsource-parser","express","express-rate-limit","extend","fast-deep-equal","fast-sha256","fast-uri","fetch-blob","finalhandler","formdata-polyfill","forwarded","fresh","function-bind","gaxios","gcp-metadata","get-east-asian-width","get-intrinsic","get-proto","glob","google-auth-library","google-logging-utils","gopd","graceful-fs","grok-mermaid","has-symbols","hasown","highlight.js","hono","hosted-git-info","htmlparser2","http-errors","http-proxy-agent","https-proxy-agent","iconv-lite","ignore","inherits","ip-address","ipaddr.js","is-promise","isexe","jiti","jose","json-bigint","json-schema-to-ts","json-schema-traverse","json-schema-typed","jwa","jws","linkedom","long","lru-cache","marked","math-intrinsics","media-typer","merge-descriptors","mime-db","mime-types","minimatch","minipass","ms","negotiator","node-domexception","node-fetch","nth-check","object-assign","object-inspect","on-finished","once","openai","p-retry","parseurl","partial-json","path-key","path-scurry","path-to-regexp","picomatch","pkce-challenge","proper-lockfile","protobufjs","proxy-addr","proxy-agent-negotiate","proxy-from-env","qs","range-parser","raw-body","require-from-string","retry","router","safe-buffer","safer-buffer","semver","send","serve-static","setprototypeof","shebang-command","shebang-regex","side-channel","side-channel-list","side-channel-map","side-channel-weakmap","signal-exit","standardwebhooks","statuses","toidentifier","ts-algebra","tslib","turndown","type-is","typebox","uhyphen","undici","unpipe","vary","web-streams-polyfill","web-tree-sitter","which","wrappy","ws","yaml","zod","zod-to-json-schema"],"optionalDependencies":{"@esbuild/aix-ppc64":"0.28.2","@esbuild/linux-arm":"0.28.2","@esbuild/linux-x64":"0.28.2","@esbuild/sunos-x64":"0.28.2","@esbuild/win32-x64":"0.28.2","@esbuild/darwin-x64":"0.28.2","@esbuild/linux-ia32":"0.28.2","@esbuild/netbsd-x64":"0.28.2","@esbuild/win32-ia32":"0.28.2","@esbuild/android-arm":"0.28.2","@esbuild/android-x64":"0.28.2","@esbuild/freebsd-x64":"0.28.2","@esbuild/linux-arm64":"0.28.2","@esbuild/linux-ppc64":"0.28.2","@esbuild/linux-s390x":"0.28.2","@esbuild/openbsd-x64":"0.28.2","@esbuild/win32-arm64":"0.28.2","@esbuild/darwin-arm64":"0.28.2","@esbuild/netbsd-arm64":"0.28.2","@esbuild/android-arm64":"0.28.2","@esbuild/freebsd-arm64":"0.28.2","@esbuild/linux-loong64":"0.28.2","@esbuild/linux-riscv64":"0.28.2","@esbuild/openbsd-arm64":"0.28.2","@esbuild/linux-mips64el":"0.28.2","@esbuild/openharmony-arm64":"0.28.2","@anthropic-ai/claude-agent-sdk-linux-x64":"0.3.259","@anthropic-ai/claude-agent-sdk-win32-x64":"0.3.259","@anthropic-ai/claude-agent-sdk-darwin-x64":"0.3.259","@anthropic-ai/claude-agent-sdk-linux-arm64":"0.3.259","@anthropic-ai/claude-agent-sdk-win32-arm64":"0.3.259","@anthropic-ai/claude-agent-sdk-darwin-arm64":"0.3.259","@anthropic-ai/claude-agent-sdk-linux-x64-musl":"0.3.259","@anthropic-ai/claude-agent-sdk-linux-arm64-musl":"0.3.259"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.9.18-4_1789757716980_0.7473488722134054","host":"s3://npm-registry-packages-npm-production"}},"2026.9.18-5":{"name":"@code-yeongyu/senpi","version":"2026.9.18-5","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.9.18-5","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"pi":"dist/bundle/cli.js","senpi":"dist/cli.js"},"dist":{"shasum":"53e40eec88457083155eab16dc3e661b723e7204","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.9.18-5.tgz","fileCount":26902,"integrity":"sha512-biSQkiPHSREquIZ8oaY5r8v2JvG+Qkja3NZGXToeoi/9lfsGdUW6r9s69obejUhzSgW2KBdbA4rt+nAmeiKVCw==","signatures":[{"sig":"MEUCIDTt4UdEuevOPoI0gzsFbYtj9T0dscAY51KZfWz85c2NAiEAz5LU1YV9s08IqZUXxkU1dd77DZ7vfCaQsyZyJ2IY0UI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIGQmigqdTv+RykqG4/fU5t6aNcsmklrT4hEDWBdqUIXBAiBBZEQnigzobim/ERCOmi12blT40w5PqqvJBGrQFjCD7g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.9.18-5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":199851788},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.js"},"./rpc-entry":{"import":"./dist/rpc-entry.js"},"./bun-runtime":{"types":"./dist/bun/runtime-modules.d.ts","import":"./dist/bun/runtime-modules.js"}},"scripts":{"dev":"tsc -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsgo -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js dist/rpc-entry.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi && npm run build:bundle","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/","build:binary":"npm --prefix ../tui run build && npm --prefix ../telemetry run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm --prefix ../protocol run build && npm --prefix ../client run build && npm --prefix ../pty run build && npm run build && node ../../scripts/prepare-bun-compile-assets.mjs && bun build --compile --splitting --compile-autoload-package-json --no-compile-autoload-dotenv --no-compile-autoload-bunfig --minify --keep-names ./dist/bun/cli.js ./src/modes/rpc/session-worker.ts ./src/utils/image-resize-worker.ts --outfile dist/pi && npm run copy-binary-assets","build:bundle":"node ../../scripts/build-coding-agent-bundle.mjs","qa:app-server":"node scripts/qa-app-server/run-all.mjs","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","build:unbundled":"tsgo -p tsconfig.build.json && shx chmod +x dist/cli.js dist/rpc-entry.js && npm run copy-assets","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/export-html/ && shx cp -r docs dist/ && shx cp -r examples dist/ && node ../../scripts/copy-codemode-sidecar.mjs dist && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/ && shx mkdir -p dist/native/darwin dist/native/win32 && shx cp -r ../../packages/tui/native/darwin/prebuilds dist/native/darwin/ && shx cp -r ../../packages/tui/native/win32/prebuilds dist/native/win32/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/ && node ../../scripts/copy-pty-native.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ea548fc8-dac4-4dec-a439-6f4fa3870309"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.3"},"rimraf":"6.1.3","protobufjs":"7.6.5","@hono/node-server":"2.1.1"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.19.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.20.0","dependencies":{"ms":"2.1.3","qs":"6.15.3","ws":"8.21.3","ajv":"8.20.0","jwa":"2.0.1","jws":"4.0.1","zod":"4.4.3","cors":"2.8.6","depd":"2.0.0","diff":"9.0.0","etag":"1.8.1","glob":"13.0.6","gopd":"1.2.0","hono":"4.12.27","jiti":"2.7.0","jose":"6.2.3","long":"5.3.2","once":"1.4.0","send":"1.2.1","vary":"1.1.2","yaml":"2.9.0","bytes":"3.1.2","chalk":"6.0.0","cssom":"0.5.0","debug":"4.4.3","fresh":"2.0.0","isexe":"2.0.0","retry":"0.13.1","tslib":"2.8.1","which":"2.0.2","bowser":"2.14.1","cookie":"0.7.2","extend":"3.0.2","gaxios":"7.1.4","hasown":"2.0.3","ignore":"7.0.8","marked":"18.0.11","openai":"6.26.0","router":"2.2.0","semver":"7.8.5","undici":"8.10.2","unpipe":"1.0.0","wrappy":"1.0.2","accepts":"2.0.0","esbuild":"0.28.2","express":"5.2.1","mime-db":"1.54.0","p-retry":"4.6.2","type-is":"2.1.0","typebox":"1.3.27","uhyphen":"0.2.0","boolbase":"1.0.0","css-what":"6.2.2","domutils":"3.2.2","ee-first":"1.1.1","fast-uri":"3.1.4","inherits":"2.0.4","linkedom":"0.18.12","minipass":"7.1.3","parseurl":"1.3.3","path-key":"3.1.1","raw-body":"3.0.2","statuses":"2.0.2","turndown":"7.2.4","base64-js":"1.5.1","encodeurl":"2.0.0","es-errors":"1.3.0","forwarded":"0.2.0","get-proto":"1.0.1","ipaddr.js":"1.9.1","lru-cache":"11.5.2","minimatch":"10.2.6","nth-check":"2.1.1","picomatch":"4.0.5","agent-base":"9.0.0","call-bound":"1.0.4","css-select":"5.2.2","domhandler":"5.0.3","fetch-blob":"3.2.0","iconv-lite":"0.7.3","ip-address":"10.2.0","is-promise":"4.0.0","mime-types":"3.0.2","negotiator":"1.0.0","node-fetch":"3.3.2","protobufjs":"7.6.5","proxy-addr":"2.0.7","ts-algebra":"2.0.0","@types/node":"26.2.0","ajv-formats":"3.0.1","body-parser":"2.3.0","cross-spawn":"7.0.6","escape-html":"1.0.3","eventsource":"3.0.7","fast-sha256":"1.3.0","graceful-fs":"4.2.11","has-symbols":"1.1.0","htmlparser2":"10.1.0","http-errors":"2.0.1","json-bigint":"1.0.0","media-typer":"1.1.0","on-finished":"2.4.1","path-scurry":"2.0.2","safe-buffer":"5.2.1","signal-exit":"3.0.7","@smithy/core":"3.33.3","bignumber.js":"9.3.1","content-type":"1.0.5","dunder-proto":"1.0.1","finalhandler":"2.1.1","gcp-metadata":"8.1.2","grok-mermaid":"0.2.3","highlight.js":"11.12.0","partial-json":"0.1.7","range-parser":"1.3.0","safer-buffer":"2.1.2","serve-static":"2.2.1","side-channel":"1.1.1","toidentifier":"1.0.1","@aws-sdk/core":"3.978.0","@google/genai":"2.21.0","@smithy/types":"4.17.2","function-bind":"1.1.2","get-intrinsic":"1.3.0","object-assign":"4.1.1","shebang-regex":"3.0.0","@aws-sdk/types":"3.974.5","@babel/runtime":"7.29.2","balanced-match":"4.0.4","dom-serializer":"2.0.0","domelementtype":"2.3.0","object-inspect":"1.13.4","path-to-regexp":"8.4.2","pkce-challenge":"5.0.1","proxy-from-env":"2.1.0","setprototypeof":"1.2.0","@xterm/headless":"6.0.0","brace-expansion":"5.0.9","es-module-lexer":"2.1.0","es-object-atoms":"1.1.2","fast-deep-equal":"3.1.3","hosted-git-info":"10.1.1","math-intrinsics":"1.1.0","proper-lockfile":"4.1.2","shebang-command":"2.0.0","web-tree-sitter":"0.27.0","@protobufjs/path":"1.1.2","@protobufjs/pool":"1.1.0","@protobufjs/utf8":"1.1.1","cookie-signature":"1.2.2","http-proxy-agent":"9.1.0","side-channel-map":"1.0.1","standardwebhooks":"1.0.0","@anthropic-ai/sdk":"0.123.0","@hono/node-server":"2.1.1","@protobufjs/fetch":"1.1.1","@protobufjs/float":"1.0.2","@stablelib/base64":"1.0.1","formdata-polyfill":"4.0.10","https-proxy-agent":"9.1.0","json-schema-to-ts":"3.1.1","json-schema-typed":"8.0.2","merge-descriptors":"2.0.0","node-domexception":"1.0.0","side-channel-list":"1.0.1","@bufbuild/protobuf":"2.14.0","@mixmark-io/domino":"2.2.0","@opentelemetry/api":"1.9.1","@protobufjs/base64":"1.1.2","data-uri-to-buffer":"4.0.1","es-define-property":"1.0.1","eventsource-parser":"3.1.0","express-rate-limit":"8.5.2","zod-to-json-schema":"3.25.2","@protobufjs/codegen":"2.0.5","content-disposition":"1.1.0","ecdsa-sig-formatter":"1.0.11","google-auth-library":"10.6.2","require-from-string":"2.0.2","@aws-sdk/xml-builder":"3.972.40","@mozilla/readability":"0.6.0","@smithy/signature-v4":"5.7.3","get-east-asian-width":"1.6.0","google-logging-utils":"1.1.3","json-schema-traverse":"1.0.0","side-channel-weakmap":"1.0.2","web-streams-polyfill":"3.3.3","@earendil-works/chord":"0.85.1","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.9.18-5","@protobufjs/aspromise":"1.1.2","proxy-agent-negotiate":"1.1.0","@earendil-works/pi-pty":"npm:@code-yeongyu/senpi-pty@2026.9.18-5","@earendil-works/pi-tui":"npm:@code-yeongyu/senpi-tui@2026.9.18-5","@aws-sdk/nested-clients":"3.997.45","call-bind-apply-helpers":"1.0.2","@aws-sdk/token-providers":"3.1127.0","@aws/lambda-invoke-store":"0.3.0","@protobufjs/eventemitter":"1.1.1","@modelcontextprotocol/sdk":"1.30.0","@smithy/node-http-handler":"4.12.1","@silvia-odwyer/photon-node":"0.3.4","@smithy/fetch-http-handler":"5.7.2","buffer-equal-constant-time":"1.0.1","@code-yeongyu/senpi-codemode":"2026.9.18-5","@earendil-works/pi-telemetry":"npm:@code-yeongyu/senpi-telemetry@2026.9.18-5","@aws-sdk/middleware-websocket":"3.972.52","@earendil-works/pi-agent-core":"npm:@code-yeongyu/senpi-agent-core@2026.9.18-5","@anthropic-ai/claude-agent-sdk":"0.3.259","@aws-sdk/client-bedrock-runtime":"3.1127.0","@aws-sdk/middleware-eventstream":"3.972.29","@aws-sdk/credential-provider-env":"3.972.71","@aws-sdk/credential-provider-ini":"3.973.16","@aws-sdk/credential-provider-sso":"3.973.15","@smithy/credential-provider-imds":"4.5.2","@aws-sdk/credential-provider-http":"3.972.73","@aws-sdk/credential-provider-node":"3.972.83","@aws-sdk/eventstream-handler-node":"3.972.34","@aws-sdk/credential-provider-login":"3.972.78","@aws-sdk/signature-v4-multi-region":"3.996.46","@aws-sdk/credential-provider-process":"3.972.71","@aws-sdk/credential-provider-web-identity":"3.972.77"},"_hasShrinkwrap":false,"devDependencies":{"shx":"0.4.0","vitest":"4.1.11","@types/ws":"8.18.1","typescript":"7.0.2","@types/node":"26.2.0","@types/semver":"7.8.0","@types/turndown":"5.0.6","@types/picomatch":"4.0.3","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@anthropic-ai/claude-agent-sdk","@anthropic-ai/sdk","@aws-sdk/client-bedrock-runtime","@aws-sdk/core","@aws-sdk/credential-provider-env","@aws-sdk/credential-provider-http","@aws-sdk/credential-provider-ini","@aws-sdk/credential-provider-login","@aws-sdk/credential-provider-node","@aws-sdk/credential-provider-process","@aws-sdk/credential-provider-sso","@aws-sdk/credential-provider-web-identity","@aws-sdk/eventstream-handler-node","@aws-sdk/middleware-eventstream","@aws-sdk/middleware-websocket","@aws-sdk/nested-clients","@aws-sdk/signature-v4-multi-region","@aws-sdk/token-providers","@aws-sdk/types","@aws-sdk/xml-builder","@aws/lambda-invoke-store","@babel/runtime","@bufbuild/protobuf","@code-yeongyu/senpi-codemode","@earendil-works/chord","@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-pty","@earendil-works/pi-telemetry","@earendil-works/pi-tui","@google/genai","@hono/node-server","@mixmark-io/domino","@modelcontextprotocol/sdk","@mozilla/readability","@opentelemetry/api","@protobufjs/aspromise","@protobufjs/base64","@protobufjs/codegen","@protobufjs/eventemitter","@protobufjs/fetch","@protobufjs/float","@protobufjs/path","@protobufjs/pool","@protobufjs/utf8","@silvia-odwyer/photon-node","@smithy/core","@smithy/credential-provider-imds","@smithy/fetch-http-handler","@smithy/node-http-handler","@smithy/signature-v4","@smithy/types","@stablelib/base64","@types/node","@xterm/headless","accepts","agent-base","ajv","ajv-formats","balanced-match","base64-js","bignumber.js","body-parser","boolbase","bowser","brace-expansion","buffer-equal-constant-time","bytes","call-bind-apply-helpers","call-bound","chalk","content-disposition","content-type","cookie","cookie-signature","cors","cross-spawn","css-select","css-what","cssom","data-uri-to-buffer","debug","depd","diff","dom-serializer","domelementtype","domhandler","domutils","dunder-proto","ecdsa-sig-formatter","ee-first","encodeurl","es-define-property","es-errors","es-module-lexer","es-object-atoms","esbuild","escape-html","etag","eventsource","eventsource-parser","express","express-rate-limit","extend","fast-deep-equal","fast-sha256","fast-uri","fetch-blob","finalhandler","formdata-polyfill","forwarded","fresh","function-bind","gaxios","gcp-metadata","get-east-asian-width","get-intrinsic","get-proto","glob","google-auth-library","google-logging-utils","gopd","graceful-fs","grok-mermaid","has-symbols","hasown","highlight.js","hono","hosted-git-info","htmlparser2","http-errors","http-proxy-agent","https-proxy-agent","iconv-lite","ignore","inherits","ip-address","ipaddr.js","is-promise","isexe","jiti","jose","json-bigint","json-schema-to-ts","json-schema-traverse","json-schema-typed","jwa","jws","linkedom","long","lru-cache","marked","math-intrinsics","media-typer","merge-descriptors","mime-db","mime-types","minimatch","minipass","ms","negotiator","node-domexception","node-fetch","nth-check","object-assign","object-inspect","on-finished","once","openai","p-retry","parseurl","partial-json","path-key","path-scurry","path-to-regexp","picomatch","pkce-challenge","proper-lockfile","protobufjs","proxy-addr","proxy-agent-negotiate","proxy-from-env","qs","range-parser","raw-body","require-from-string","retry","router","safe-buffer","safer-buffer","semver","send","serve-static","setprototypeof","shebang-command","shebang-regex","side-channel","side-channel-list","side-channel-map","side-channel-weakmap","signal-exit","standardwebhooks","statuses","toidentifier","ts-algebra","tslib","turndown","type-is","typebox","uhyphen","undici","unpipe","vary","web-streams-polyfill","web-tree-sitter","which","wrappy","ws","yaml","zod","zod-to-json-schema"],"optionalDependencies":{"@esbuild/aix-ppc64":"0.28.2","@esbuild/linux-arm":"0.28.2","@esbuild/linux-x64":"0.28.2","@esbuild/sunos-x64":"0.28.2","@esbuild/win32-x64":"0.28.2","@esbuild/darwin-x64":"0.28.2","@esbuild/linux-ia32":"0.28.2","@esbuild/netbsd-x64":"0.28.2","@esbuild/win32-ia32":"0.28.2","@esbuild/android-arm":"0.28.2","@esbuild/android-x64":"0.28.2","@esbuild/freebsd-x64":"0.28.2","@esbuild/linux-arm64":"0.28.2","@esbuild/linux-ppc64":"0.28.2","@esbuild/linux-s390x":"0.28.2","@esbuild/openbsd-x64":"0.28.2","@esbuild/win32-arm64":"0.28.2","@esbuild/darwin-arm64":"0.28.2","@esbuild/netbsd-arm64":"0.28.2","@esbuild/android-arm64":"0.28.2","@esbuild/freebsd-arm64":"0.28.2","@esbuild/linux-loong64":"0.28.2","@esbuild/linux-riscv64":"0.28.2","@esbuild/openbsd-arm64":"0.28.2","@esbuild/linux-mips64el":"0.28.2","@esbuild/openharmony-arm64":"0.28.2","@anthropic-ai/claude-agent-sdk-linux-x64":"0.3.259","@anthropic-ai/claude-agent-sdk-win32-x64":"0.3.259","@anthropic-ai/claude-agent-sdk-darwin-x64":"0.3.259","@anthropic-ai/claude-agent-sdk-linux-arm64":"0.3.259","@anthropic-ai/claude-agent-sdk-win32-arm64":"0.3.259","@anthropic-ai/claude-agent-sdk-darwin-arm64":"0.3.259","@anthropic-ai/claude-agent-sdk-linux-x64-musl":"0.3.259","@anthropic-ai/claude-agent-sdk-linux-arm64-musl":"0.3.259"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.9.18-5_1789758759252_0.04466271186170112","host":"s3://npm-registry-packages-npm-production"}},"2026.9.18-6":{"name":"@code-yeongyu/senpi","version":"2026.9.18-6","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.9.18-6","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"pi":"dist/bundle/cli.js","senpi":"dist/cli.js"},"dist":{"shasum":"1075898f6dec41b6eab01829c3588e4c346b671b","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.9.18-6.tgz","fileCount":26903,"integrity":"sha512-41MVDpPRFsbFaEes3hUmB90LXEFU+9qzUFDheF0e60dAlv6w7U8L0KNGqdW9yeCbKOX48Fvxe6VimstAHskOHw==","signatures":[{"sig":"MEUCIQDy6Eu/tco+J6eTxTXEJ1HFU4NIBjPjdP2I3RP0wbYH1QIgUKEdd+rsQ+qCFl4QTh/H+UcJlB3WpycDHHBw0ipZI5w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDKj0gPA+p/26dVbWL7qbwveOpM3B+VRnv6OvfdZekCmQIhAM9EHdE4Ijpr1CO3EOUEUB6fFhimpV2O8FcAQC4TM7Qp","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.9.18-6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":199912707},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.js"},"./rpc-entry":{"import":"./dist/rpc-entry.js"},"./bun-runtime":{"types":"./dist/bun/runtime-modules.d.ts","import":"./dist/bun/runtime-modules.js"}},"scripts":{"dev":"tsc -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsgo -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js dist/rpc-entry.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi && npm run build:bundle","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/","build:binary":"npm --prefix ../tui run build && npm --prefix ../telemetry run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm --prefix ../protocol run build && npm --prefix ../client run build && npm --prefix ../pty run build && npm run build && node ../../scripts/prepare-bun-compile-assets.mjs && bun build --compile --splitting --compile-autoload-package-json --no-compile-autoload-dotenv --no-compile-autoload-bunfig --minify --keep-names ./dist/bun/cli.js ./src/modes/rpc/session-worker.ts ./src/utils/image-resize-worker.ts --outfile dist/pi && npm run copy-binary-assets","build:bundle":"node ../../scripts/build-coding-agent-bundle.mjs","qa:app-server":"node scripts/qa-app-server/run-all.mjs","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","build:unbundled":"tsgo -p tsconfig.build.json && shx chmod +x dist/cli.js dist/rpc-entry.js && npm run copy-assets","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/export-html/ && shx cp -r docs dist/ && shx cp -r examples dist/ && node ../../scripts/copy-codemode-sidecar.mjs dist && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/ && shx mkdir -p dist/native/darwin dist/native/win32 && shx cp -r ../../packages/tui/native/darwin/prebuilds dist/native/darwin/ && shx cp -r ../../packages/tui/native/win32/prebuilds dist/native/win32/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/ && node ../../scripts/copy-pty-native.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ea548fc8-dac4-4dec-a439-6f4fa3870309"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.3"},"rimraf":"6.1.3","protobufjs":"7.6.5","@hono/node-server":"2.1.1"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.19.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.20.0","dependencies":{"ms":"2.1.3","qs":"6.15.3","ws":"8.21.3","ajv":"8.20.0","jwa":"2.0.1","jws":"4.0.1","zod":"4.4.3","cors":"2.8.6","depd":"2.0.0","diff":"9.0.0","etag":"1.8.1","glob":"13.0.6","gopd":"1.2.0","hono":"4.12.27","jiti":"2.7.0","jose":"6.2.3","long":"5.3.2","once":"1.4.0","send":"1.2.1","vary":"1.1.2","yaml":"2.9.0","bytes":"3.1.2","chalk":"6.0.0","cssom":"0.5.0","debug":"4.4.3","fresh":"2.0.0","isexe":"2.0.0","retry":"0.13.1","tslib":"2.8.1","which":"2.0.2","bowser":"2.14.1","cookie":"0.7.2","extend":"3.0.2","gaxios":"7.1.4","hasown":"2.0.3","ignore":"7.0.8","marked":"18.0.11","openai":"6.26.0","router":"2.2.0","semver":"7.8.5","undici":"8.10.2","unpipe":"1.0.0","wrappy":"1.0.2","accepts":"2.0.0","esbuild":"0.28.2","express":"5.2.1","mime-db":"1.54.0","p-retry":"4.6.2","type-is":"2.1.0","typebox":"1.3.27","uhyphen":"0.2.0","boolbase":"1.0.0","css-what":"6.2.2","domutils":"3.2.2","ee-first":"1.1.1","fast-uri":"3.1.4","inherits":"2.0.4","linkedom":"0.18.12","minipass":"7.1.3","parseurl":"1.3.3","path-key":"3.1.1","raw-body":"3.0.2","statuses":"2.0.2","turndown":"7.2.4","base64-js":"1.5.1","encodeurl":"2.0.0","es-errors":"1.3.0","forwarded":"0.2.0","get-proto":"1.0.1","ipaddr.js":"1.9.1","lru-cache":"11.5.2","minimatch":"10.2.6","nth-check":"2.1.1","picomatch":"4.0.5","agent-base":"9.0.0","call-bound":"1.0.4","css-select":"5.2.2","domhandler":"5.0.3","fetch-blob":"3.2.0","iconv-lite":"0.7.3","ip-address":"10.2.0","is-promise":"4.0.0","mime-types":"3.0.2","negotiator":"1.0.0","node-fetch":"3.3.2","protobufjs":"7.6.5","proxy-addr":"2.0.7","ts-algebra":"2.0.0","@types/node":"26.2.0","ajv-formats":"3.0.1","body-parser":"2.3.0","cross-spawn":"7.0.6","escape-html":"1.0.3","eventsource":"3.0.7","fast-sha256":"1.3.0","graceful-fs":"4.2.11","has-symbols":"1.1.0","htmlparser2":"10.1.0","http-errors":"2.0.1","json-bigint":"1.0.0","media-typer":"1.1.0","on-finished":"2.4.1","path-scurry":"2.0.2","safe-buffer":"5.2.1","signal-exit":"3.0.7","@smithy/core":"3.33.3","bignumber.js":"9.3.1","content-type":"1.0.5","dunder-proto":"1.0.1","finalhandler":"2.1.1","gcp-metadata":"8.1.2","grok-mermaid":"0.2.3","highlight.js":"11.12.0","partial-json":"0.1.7","range-parser":"1.3.0","safer-buffer":"2.1.2","serve-static":"2.2.1","side-channel":"1.1.1","toidentifier":"1.0.1","@aws-sdk/core":"3.978.0","@google/genai":"2.21.0","@smithy/types":"4.17.2","function-bind":"1.1.2","get-intrinsic":"1.3.0","object-assign":"4.1.1","shebang-regex":"3.0.0","@aws-sdk/types":"3.974.5","@babel/runtime":"7.29.2","balanced-match":"4.0.4","dom-serializer":"2.0.0","domelementtype":"2.3.0","object-inspect":"1.13.4","path-to-regexp":"8.4.2","pkce-challenge":"5.0.1","proxy-from-env":"2.1.0","setprototypeof":"1.2.0","@xterm/headless":"6.0.0","brace-expansion":"5.0.9","es-module-lexer":"2.1.0","es-object-atoms":"1.1.2","fast-deep-equal":"3.1.3","hosted-git-info":"10.1.1","math-intrinsics":"1.1.0","proper-lockfile":"4.1.2","shebang-command":"2.0.0","web-tree-sitter":"0.27.0","@protobufjs/path":"1.1.2","@protobufjs/pool":"1.1.0","@protobufjs/utf8":"1.1.1","cookie-signature":"1.2.2","http-proxy-agent":"9.1.0","side-channel-map":"1.0.1","standardwebhooks":"1.0.0","@anthropic-ai/sdk":"0.123.0","@hono/node-server":"2.1.1","@protobufjs/fetch":"1.1.1","@protobufjs/float":"1.0.2","@stablelib/base64":"1.0.1","formdata-polyfill":"4.0.10","https-proxy-agent":"9.1.0","json-schema-to-ts":"3.1.1","json-schema-typed":"8.0.2","merge-descriptors":"2.0.0","node-domexception":"1.0.0","side-channel-list":"1.0.1","@bufbuild/protobuf":"2.14.0","@mixmark-io/domino":"2.2.0","@opentelemetry/api":"1.9.1","@protobufjs/base64":"1.1.2","data-uri-to-buffer":"4.0.1","es-define-property":"1.0.1","eventsource-parser":"3.1.0","express-rate-limit":"8.5.2","zod-to-json-schema":"3.25.2","@protobufjs/codegen":"2.0.5","content-disposition":"1.1.0","ecdsa-sig-formatter":"1.0.11","google-auth-library":"10.6.2","require-from-string":"2.0.2","@aws-sdk/xml-builder":"3.972.40","@mozilla/readability":"0.6.0","@smithy/signature-v4":"5.7.3","get-east-asian-width":"1.6.0","google-logging-utils":"1.1.3","json-schema-traverse":"1.0.0","side-channel-weakmap":"1.0.2","web-streams-polyfill":"3.3.3","@earendil-works/chord":"0.85.1","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.9.18-6","@protobufjs/aspromise":"1.1.2","proxy-agent-negotiate":"1.1.0","@earendil-works/pi-pty":"npm:@code-yeongyu/senpi-pty@2026.9.18-6","@earendil-works/pi-tui":"npm:@code-yeongyu/senpi-tui@2026.9.18-6","@aws-sdk/nested-clients":"3.997.45","call-bind-apply-helpers":"1.0.2","@aws-sdk/token-providers":"3.1127.0","@aws/lambda-invoke-store":"0.3.0","@protobufjs/eventemitter":"1.1.1","@modelcontextprotocol/sdk":"1.30.0","@smithy/node-http-handler":"4.12.1","@silvia-odwyer/photon-node":"0.3.4","@smithy/fetch-http-handler":"5.7.2","buffer-equal-constant-time":"1.0.1","@code-yeongyu/senpi-codemode":"2026.9.18-6","@earendil-works/pi-telemetry":"npm:@code-yeongyu/senpi-telemetry@2026.9.18-6","@aws-sdk/middleware-websocket":"3.972.52","@earendil-works/pi-agent-core":"npm:@code-yeongyu/senpi-agent-core@2026.9.18-6","@anthropic-ai/claude-agent-sdk":"0.3.259","@aws-sdk/client-bedrock-runtime":"3.1127.0","@aws-sdk/middleware-eventstream":"3.972.29","@aws-sdk/credential-provider-env":"3.972.71","@aws-sdk/credential-provider-ini":"3.973.16","@aws-sdk/credential-provider-sso":"3.973.15","@smithy/credential-provider-imds":"4.5.2","@aws-sdk/credential-provider-http":"3.972.73","@aws-sdk/credential-provider-node":"3.972.83","@aws-sdk/eventstream-handler-node":"3.972.34","@aws-sdk/credential-provider-login":"3.972.78","@aws-sdk/signature-v4-multi-region":"3.996.46","@aws-sdk/credential-provider-process":"3.972.71","@aws-sdk/credential-provider-web-identity":"3.972.77"},"_hasShrinkwrap":false,"devDependencies":{"shx":"0.4.0","vitest":"4.1.11","@types/ws":"8.18.1","typescript":"7.0.2","@types/node":"26.2.0","@types/semver":"7.8.0","@types/turndown":"5.0.6","@types/picomatch":"4.0.3","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@anthropic-ai/claude-agent-sdk","@anthropic-ai/sdk","@aws-sdk/client-bedrock-runtime","@aws-sdk/core","@aws-sdk/credential-provider-env","@aws-sdk/credential-provider-http","@aws-sdk/credential-provider-ini","@aws-sdk/credential-provider-login","@aws-sdk/credential-provider-node","@aws-sdk/credential-provider-process","@aws-sdk/credential-provider-sso","@aws-sdk/credential-provider-web-identity","@aws-sdk/eventstream-handler-node","@aws-sdk/middleware-eventstream","@aws-sdk/middleware-websocket","@aws-sdk/nested-clients","@aws-sdk/signature-v4-multi-region","@aws-sdk/token-providers","@aws-sdk/types","@aws-sdk/xml-builder","@aws/lambda-invoke-store","@babel/runtime","@bufbuild/protobuf","@code-yeongyu/senpi-codemode","@earendil-works/chord","@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-pty","@earendil-works/pi-telemetry","@earendil-works/pi-tui","@google/genai","@hono/node-server","@mixmark-io/domino","@modelcontextprotocol/sdk","@mozilla/readability","@opentelemetry/api","@protobufjs/aspromise","@protobufjs/base64","@protobufjs/codegen","@protobufjs/eventemitter","@protobufjs/fetch","@protobufjs/float","@protobufjs/path","@protobufjs/pool","@protobufjs/utf8","@silvia-odwyer/photon-node","@smithy/core","@smithy/credential-provider-imds","@smithy/fetch-http-handler","@smithy/node-http-handler","@smithy/signature-v4","@smithy/types","@stablelib/base64","@types/node","@xterm/headless","accepts","agent-base","ajv","ajv-formats","balanced-match","base64-js","bignumber.js","body-parser","boolbase","bowser","brace-expansion","buffer-equal-constant-time","bytes","call-bind-apply-helpers","call-bound","chalk","content-disposition","content-type","cookie","cookie-signature","cors","cross-spawn","css-select","css-what","cssom","data-uri-to-buffer","debug","depd","diff","dom-serializer","domelementtype","domhandler","domutils","dunder-proto","ecdsa-sig-formatter","ee-first","encodeurl","es-define-property","es-errors","es-module-lexer","es-object-atoms","esbuild","escape-html","etag","eventsource","eventsource-parser","express","express-rate-limit","extend","fast-deep-equal","fast-sha256","fast-uri","fetch-blob","finalhandler","formdata-polyfill","forwarded","fresh","function-bind","gaxios","gcp-metadata","get-east-asian-width","get-intrinsic","get-proto","glob","google-auth-library","google-logging-utils","gopd","graceful-fs","grok-mermaid","has-symbols","hasown","highlight.js","hono","hosted-git-info","htmlparser2","http-errors","http-proxy-agent","https-proxy-agent","iconv-lite","ignore","inherits","ip-address","ipaddr.js","is-promise","isexe","jiti","jose","json-bigint","json-schema-to-ts","json-schema-traverse","json-schema-typed","jwa","jws","linkedom","long","lru-cache","marked","math-intrinsics","media-typer","merge-descriptors","mime-db","mime-types","minimatch","minipass","ms","negotiator","node-domexception","node-fetch","nth-check","object-assign","object-inspect","on-finished","once","openai","p-retry","parseurl","partial-json","path-key","path-scurry","path-to-regexp","picomatch","pkce-challenge","proper-lockfile","protobufjs","proxy-addr","proxy-agent-negotiate","proxy-from-env","qs","range-parser","raw-body","require-from-string","retry","router","safe-buffer","safer-buffer","semver","send","serve-static","setprototypeof","shebang-command","shebang-regex","side-channel","side-channel-list","side-channel-map","side-channel-weakmap","signal-exit","standardwebhooks","statuses","toidentifier","ts-algebra","tslib","turndown","type-is","typebox","uhyphen","undici","unpipe","vary","web-streams-polyfill","web-tree-sitter","which","wrappy","ws","yaml","zod","zod-to-json-schema"],"optionalDependencies":{"@esbuild/aix-ppc64":"0.28.2","@esbuild/linux-arm":"0.28.2","@esbuild/linux-x64":"0.28.2","@esbuild/sunos-x64":"0.28.2","@esbuild/win32-x64":"0.28.2","@esbuild/darwin-x64":"0.28.2","@esbuild/linux-ia32":"0.28.2","@esbuild/netbsd-x64":"0.28.2","@esbuild/win32-ia32":"0.28.2","@esbuild/android-arm":"0.28.2","@esbuild/android-x64":"0.28.2","@esbuild/freebsd-x64":"0.28.2","@esbuild/linux-arm64":"0.28.2","@esbuild/linux-ppc64":"0.28.2","@esbuild/linux-s390x":"0.28.2","@esbuild/openbsd-x64":"0.28.2","@esbuild/win32-arm64":"0.28.2","@esbuild/darwin-arm64":"0.28.2","@esbuild/netbsd-arm64":"0.28.2","@esbuild/android-arm64":"0.28.2","@esbuild/freebsd-arm64":"0.28.2","@esbuild/linux-loong64":"0.28.2","@esbuild/linux-riscv64":"0.28.2","@esbuild/openbsd-arm64":"0.28.2","@esbuild/linux-mips64el":"0.28.2","@esbuild/openharmony-arm64":"0.28.2","@anthropic-ai/claude-agent-sdk-linux-x64":"0.3.259","@anthropic-ai/claude-agent-sdk-win32-x64":"0.3.259","@anthropic-ai/claude-agent-sdk-darwin-x64":"0.3.259","@anthropic-ai/claude-agent-sdk-linux-arm64":"0.3.259","@anthropic-ai/claude-agent-sdk-win32-arm64":"0.3.259","@anthropic-ai/claude-agent-sdk-darwin-arm64":"0.3.259","@anthropic-ai/claude-agent-sdk-linux-x64-musl":"0.3.259","@anthropic-ai/claude-agent-sdk-linux-arm64-musl":"0.3.259"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.9.18-6_1789773392647_0.9597132999160227","host":"s3://npm-registry-packages-npm-production"}},"2026.9.19":{"name":"@code-yeongyu/senpi","version":"2026.9.19","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.9.19","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"pi":"dist/bundle/cli.js","senpi":"dist/cli.js"},"dist":{"shasum":"497b3151a627258cb8f37413ed8a454a1330a2bf","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.9.19.tgz","fileCount":26903,"integrity":"sha512-AdNdYpkkqI0sZ9OsT4yYuDlUN4tys7B+jvqE4Rkq1j54NIolTCgYoi1LBG9UUj40ZDm52LGmKP+TwO2N7tjPYA==","signatures":[{"sig":"MEQCIGgWUSj1ApiKLwJktuetIl5PzQMW0CTmirStQcvAutQoAiAMj15s8UewfRzku7rDKPfKBiQsqbhRzMebHp5A04lQ0w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDtBeFbHXOMEcEIHcZPyHfZPDgL5++N+bBOERrvS+2uAQIhALZ1762ugKIwltNOQr016fJVUqoU9gPbvS1BoHqdaxKh","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.9.19","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":199922174},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.js"},"./rpc-entry":{"import":"./dist/rpc-entry.js"},"./bun-runtime":{"types":"./dist/bun/runtime-modules.d.ts","import":"./dist/bun/runtime-modules.js"}},"scripts":{"dev":"tsc -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsgo -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js dist/rpc-entry.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi && npm run build:bundle","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/","build:binary":"npm --prefix ../tui run build && npm --prefix ../telemetry run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm --prefix ../protocol run build && npm --prefix ../client run build && npm --prefix ../pty run build && npm run build && node ../../scripts/prepare-bun-compile-assets.mjs && bun build --compile --splitting --compile-autoload-package-json --no-compile-autoload-dotenv --no-compile-autoload-bunfig --minify --keep-names ./dist/bun/cli.js ./src/modes/rpc/session-worker.ts ./src/utils/image-resize-worker.ts --outfile dist/pi && npm run copy-binary-assets","build:bundle":"node ../../scripts/build-coding-agent-bundle.mjs","qa:app-server":"node scripts/qa-app-server/run-all.mjs","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","build:unbundled":"tsgo -p tsconfig.build.json && shx chmod +x dist/cli.js dist/rpc-entry.js && npm run copy-assets","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/export-html/ && shx cp -r docs dist/ && shx cp -r examples dist/ && node ../../scripts/copy-codemode-sidecar.mjs dist && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/ && shx mkdir -p dist/native/darwin dist/native/win32 && shx cp -r ../../packages/tui/native/darwin/prebuilds dist/native/darwin/ && shx cp -r ../../packages/tui/native/win32/prebuilds dist/native/win32/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/ && node ../../scripts/copy-pty-native.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ea548fc8-dac4-4dec-a439-6f4fa3870309"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.3"},"rimraf":"6.1.3","protobufjs":"7.6.5","@hono/node-server":"2.1.1"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.19.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.20.0","dependencies":{"ms":"2.1.3","qs":"6.15.3","ws":"8.21.3","ajv":"8.20.0","jwa":"2.0.1","jws":"4.0.1","zod":"4.4.3","cors":"2.8.6","depd":"2.0.0","diff":"9.0.0","etag":"1.8.1","glob":"13.0.6","gopd":"1.2.0","hono":"4.12.27","jiti":"2.7.0","jose":"6.2.3","long":"5.3.2","once":"1.4.0","send":"1.2.1","vary":"1.1.2","yaml":"2.9.0","bytes":"3.1.2","chalk":"6.0.0","cssom":"0.5.0","debug":"4.4.3","fresh":"2.0.0","isexe":"2.0.0","retry":"0.13.1","tslib":"2.8.1","which":"2.0.2","bowser":"2.14.1","cookie":"0.7.2","extend":"3.0.2","gaxios":"7.1.4","hasown":"2.0.3","ignore":"7.0.8","marked":"18.0.11","openai":"6.26.0","router":"2.2.0","semver":"7.8.5","undici":"8.10.2","unpipe":"1.0.0","wrappy":"1.0.2","accepts":"2.0.0","esbuild":"0.28.2","express":"5.2.1","mime-db":"1.54.0","p-retry":"4.6.2","type-is":"2.1.0","typebox":"1.3.27","uhyphen":"0.2.0","boolbase":"1.0.0","css-what":"6.2.2","domutils":"3.2.2","ee-first":"1.1.1","fast-uri":"3.1.4","inherits":"2.0.4","linkedom":"0.18.12","minipass":"7.1.3","parseurl":"1.3.3","path-key":"3.1.1","raw-body":"3.0.2","statuses":"2.0.2","turndown":"7.2.4","base64-js":"1.5.1","encodeurl":"2.0.0","es-errors":"1.3.0","forwarded":"0.2.0","get-proto":"1.0.1","ipaddr.js":"1.9.1","lru-cache":"11.5.2","minimatch":"10.2.6","nth-check":"2.1.1","picomatch":"4.0.5","agent-base":"9.0.0","call-bound":"1.0.4","css-select":"5.2.2","domhandler":"5.0.3","fetch-blob":"3.2.0","iconv-lite":"0.7.3","ip-address":"10.2.0","is-promise":"4.0.0","mime-types":"3.0.2","negotiator":"1.0.0","node-fetch":"3.3.2","protobufjs":"7.6.5","proxy-addr":"2.0.7","ts-algebra":"2.0.0","@types/node":"26.2.0","ajv-formats":"3.0.1","body-parser":"2.3.0","cross-spawn":"7.0.6","escape-html":"1.0.3","eventsource":"3.0.7","fast-sha256":"1.3.0","graceful-fs":"4.2.11","has-symbols":"1.1.0","htmlparser2":"10.1.0","http-errors":"2.0.1","json-bigint":"1.0.0","media-typer":"1.1.0","on-finished":"2.4.1","path-scurry":"2.0.2","safe-buffer":"5.2.1","signal-exit":"3.0.7","@smithy/core":"3.33.3","bignumber.js":"9.3.1","content-type":"1.0.5","dunder-proto":"1.0.1","finalhandler":"2.1.1","gcp-metadata":"8.1.2","grok-mermaid":"0.2.3","highlight.js":"11.12.0","partial-json":"0.1.7","range-parser":"1.3.0","safer-buffer":"2.1.2","serve-static":"2.2.1","side-channel":"1.1.1","toidentifier":"1.0.1","@aws-sdk/core":"3.978.0","@google/genai":"2.21.0","@smithy/types":"4.17.2","function-bind":"1.1.2","get-intrinsic":"1.3.0","object-assign":"4.1.1","shebang-regex":"3.0.0","@aws-sdk/types":"3.974.5","@babel/runtime":"7.29.2","balanced-match":"4.0.4","dom-serializer":"2.0.0","domelementtype":"2.3.0","object-inspect":"1.13.4","path-to-regexp":"8.4.2","pkce-challenge":"5.0.1","proxy-from-env":"2.1.0","setprototypeof":"1.2.0","@xterm/headless":"6.0.0","brace-expansion":"5.0.9","es-module-lexer":"2.1.0","es-object-atoms":"1.1.2","fast-deep-equal":"3.1.3","hosted-git-info":"10.1.1","math-intrinsics":"1.1.0","proper-lockfile":"4.1.2","shebang-command":"2.0.0","web-tree-sitter":"0.27.0","@protobufjs/path":"1.1.2","@protobufjs/pool":"1.1.0","@protobufjs/utf8":"1.1.1","cookie-signature":"1.2.2","http-proxy-agent":"9.1.0","side-channel-map":"1.0.1","standardwebhooks":"1.0.0","@anthropic-ai/sdk":"0.123.0","@hono/node-server":"2.1.1","@protobufjs/fetch":"1.1.1","@protobufjs/float":"1.0.2","@stablelib/base64":"1.0.1","formdata-polyfill":"4.0.10","https-proxy-agent":"9.1.0","json-schema-to-ts":"3.1.1","json-schema-typed":"8.0.2","merge-descriptors":"2.0.0","node-domexception":"1.0.0","side-channel-list":"1.0.1","@bufbuild/protobuf":"2.14.0","@mixmark-io/domino":"2.2.0","@opentelemetry/api":"1.9.1","@protobufjs/base64":"1.1.2","data-uri-to-buffer":"4.0.1","es-define-property":"1.0.1","eventsource-parser":"3.1.0","express-rate-limit":"8.5.2","zod-to-json-schema":"3.25.2","@protobufjs/codegen":"2.0.5","content-disposition":"1.1.0","ecdsa-sig-formatter":"1.0.11","google-auth-library":"10.6.2","require-from-string":"2.0.2","@aws-sdk/xml-builder":"3.972.40","@mozilla/readability":"0.6.0","@smithy/signature-v4":"5.7.3","get-east-asian-width":"1.6.0","google-logging-utils":"1.1.3","json-schema-traverse":"1.0.0","side-channel-weakmap":"1.0.2","web-streams-polyfill":"3.3.3","@earendil-works/chord":"0.85.1","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.9.19","@protobufjs/aspromise":"1.1.2","proxy-agent-negotiate":"1.1.0","@earendil-works/pi-pty":"npm:@code-yeongyu/senpi-pty@2026.9.19","@earendil-works/pi-tui":"npm:@code-yeongyu/senpi-tui@2026.9.19","@aws-sdk/nested-clients":"3.997.45","call-bind-apply-helpers":"1.0.2","@aws-sdk/token-providers":"3.1127.0","@aws/lambda-invoke-store":"0.3.0","@protobufjs/eventemitter":"1.1.1","@modelcontextprotocol/sdk":"1.30.0","@smithy/node-http-handler":"4.12.1","@silvia-odwyer/photon-node":"0.3.4","@smithy/fetch-http-handler":"5.7.2","buffer-equal-constant-time":"1.0.1","@code-yeongyu/senpi-codemode":"2026.9.19","@earendil-works/pi-telemetry":"npm:@code-yeongyu/senpi-telemetry@2026.9.19","@aws-sdk/middleware-websocket":"3.972.52","@earendil-works/pi-agent-core":"npm:@code-yeongyu/senpi-agent-core@2026.9.19","@anthropic-ai/claude-agent-sdk":"0.3.259","@aws-sdk/client-bedrock-runtime":"3.1127.0","@aws-sdk/middleware-eventstream":"3.972.29","@aws-sdk/credential-provider-env":"3.972.71","@aws-sdk/credential-provider-ini":"3.973.16","@aws-sdk/credential-provider-sso":"3.973.15","@smithy/credential-provider-imds":"4.5.2","@aws-sdk/credential-provider-http":"3.972.73","@aws-sdk/credential-provider-node":"3.972.83","@aws-sdk/eventstream-handler-node":"3.972.34","@aws-sdk/credential-provider-login":"3.972.78","@aws-sdk/signature-v4-multi-region":"3.996.46","@aws-sdk/credential-provider-process":"3.972.71","@aws-sdk/credential-provider-web-identity":"3.972.77"},"_hasShrinkwrap":false,"devDependencies":{"shx":"0.4.0","vitest":"4.1.11","@types/ws":"8.18.1","typescript":"7.0.2","@types/node":"26.2.0","@types/semver":"7.8.0","@types/turndown":"5.0.6","@types/picomatch":"4.0.3","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@anthropic-ai/claude-agent-sdk","@anthropic-ai/sdk","@aws-sdk/client-bedrock-runtime","@aws-sdk/core","@aws-sdk/credential-provider-env","@aws-sdk/credential-provider-http","@aws-sdk/credential-provider-ini","@aws-sdk/credential-provider-login","@aws-sdk/credential-provider-node","@aws-sdk/credential-provider-process","@aws-sdk/credential-provider-sso","@aws-sdk/credential-provider-web-identity","@aws-sdk/eventstream-handler-node","@aws-sdk/middleware-eventstream","@aws-sdk/middleware-websocket","@aws-sdk/nested-clients","@aws-sdk/signature-v4-multi-region","@aws-sdk/token-providers","@aws-sdk/types","@aws-sdk/xml-builder","@aws/lambda-invoke-store","@babel/runtime","@bufbuild/protobuf","@code-yeongyu/senpi-codemode","@earendil-works/chord","@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-pty","@earendil-works/pi-telemetry","@earendil-works/pi-tui","@google/genai","@hono/node-server","@mixmark-io/domino","@modelcontextprotocol/sdk","@mozilla/readability","@opentelemetry/api","@protobufjs/aspromise","@protobufjs/base64","@protobufjs/codegen","@protobufjs/eventemitter","@protobufjs/fetch","@protobufjs/float","@protobufjs/path","@protobufjs/pool","@protobufjs/utf8","@silvia-odwyer/photon-node","@smithy/core","@smithy/credential-provider-imds","@smithy/fetch-http-handler","@smithy/node-http-handler","@smithy/signature-v4","@smithy/types","@stablelib/base64","@types/node","@xterm/headless","accepts","agent-base","ajv","ajv-formats","balanced-match","base64-js","bignumber.js","body-parser","boolbase","bowser","brace-expansion","buffer-equal-constant-time","bytes","call-bind-apply-helpers","call-bound","chalk","content-disposition","content-type","cookie","cookie-signature","cors","cross-spawn","css-select","css-what","cssom","data-uri-to-buffer","debug","depd","diff","dom-serializer","domelementtype","domhandler","domutils","dunder-proto","ecdsa-sig-formatter","ee-first","encodeurl","es-define-property","es-errors","es-module-lexer","es-object-atoms","esbuild","escape-html","etag","eventsource","eventsource-parser","express","express-rate-limit","extend","fast-deep-equal","fast-sha256","fast-uri","fetch-blob","finalhandler","formdata-polyfill","forwarded","fresh","function-bind","gaxios","gcp-metadata","get-east-asian-width","get-intrinsic","get-proto","glob","google-auth-library","google-logging-utils","gopd","graceful-fs","grok-mermaid","has-symbols","hasown","highlight.js","hono","hosted-git-info","htmlparser2","http-errors","http-proxy-agent","https-proxy-agent","iconv-lite","ignore","inherits","ip-address","ipaddr.js","is-promise","isexe","jiti","jose","json-bigint","json-schema-to-ts","json-schema-traverse","json-schema-typed","jwa","jws","linkedom","long","lru-cache","marked","math-intrinsics","media-typer","merge-descriptors","mime-db","mime-types","minimatch","minipass","ms","negotiator","node-domexception","node-fetch","nth-check","object-assign","object-inspect","on-finished","once","openai","p-retry","parseurl","partial-json","path-key","path-scurry","path-to-regexp","picomatch","pkce-challenge","proper-lockfile","protobufjs","proxy-addr","proxy-agent-negotiate","proxy-from-env","qs","range-parser","raw-body","require-from-string","retry","router","safe-buffer","safer-buffer","semver","send","serve-static","setprototypeof","shebang-command","shebang-regex","side-channel","side-channel-list","side-channel-map","side-channel-weakmap","signal-exit","standardwebhooks","statuses","toidentifier","ts-algebra","tslib","turndown","type-is","typebox","uhyphen","undici","unpipe","vary","web-streams-polyfill","web-tree-sitter","which","wrappy","ws","yaml","zod","zod-to-json-schema"],"optionalDependencies":{"@esbuild/aix-ppc64":"0.28.2","@esbuild/linux-arm":"0.28.2","@esbuild/linux-x64":"0.28.2","@esbuild/sunos-x64":"0.28.2","@esbuild/win32-x64":"0.28.2","@esbuild/darwin-x64":"0.28.2","@esbuild/linux-ia32":"0.28.2","@esbuild/netbsd-x64":"0.28.2","@esbuild/win32-ia32":"0.28.2","@esbuild/android-arm":"0.28.2","@esbuild/android-x64":"0.28.2","@esbuild/freebsd-x64":"0.28.2","@esbuild/linux-arm64":"0.28.2","@esbuild/linux-ppc64":"0.28.2","@esbuild/linux-s390x":"0.28.2","@esbuild/openbsd-x64":"0.28.2","@esbuild/win32-arm64":"0.28.2","@esbuild/darwin-arm64":"0.28.2","@esbuild/netbsd-arm64":"0.28.2","@esbuild/android-arm64":"0.28.2","@esbuild/freebsd-arm64":"0.28.2","@esbuild/linux-loong64":"0.28.2","@esbuild/linux-riscv64":"0.28.2","@esbuild/openbsd-arm64":"0.28.2","@esbuild/linux-mips64el":"0.28.2","@esbuild/openharmony-arm64":"0.28.2","@anthropic-ai/claude-agent-sdk-linux-x64":"0.3.259","@anthropic-ai/claude-agent-sdk-win32-x64":"0.3.259","@anthropic-ai/claude-agent-sdk-darwin-x64":"0.3.259","@anthropic-ai/claude-agent-sdk-linux-arm64":"0.3.259","@anthropic-ai/claude-agent-sdk-win32-arm64":"0.3.259","@anthropic-ai/claude-agent-sdk-darwin-arm64":"0.3.259","@anthropic-ai/claude-agent-sdk-linux-x64-musl":"0.3.259","@anthropic-ai/claude-agent-sdk-linux-arm64-musl":"0.3.259"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.9.19_1789790390879_0.2757343424075671","host":"s3://npm-registry-packages-npm-production"}},"2026.9.19-2":{"name":"@code-yeongyu/senpi","version":"2026.9.19-2","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.9.19-2","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"pi":"dist/bundle/cli.js","senpi":"dist/cli.js"},"dist":{"shasum":"4ae3bad3773613dd8798a5a4d56822c46c99c37b","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.9.19-2.tgz","fileCount":26903,"integrity":"sha512-oeM7bYliiyHANSEJRjpnD5sCScvAvWVHsSxizNppO/PD1aCr5bMjtEV7VK18mRPVpNZ9gwsltS394onWx1OjIA==","signatures":[{"sig":"MEQCIFgmtt7WxfofFslDQGimPmOiAOjv98x1eoY3fNQ7WSAfAiASfmSxYvAEBDuvNkGyNAsm5bTk7c5JwZ+2fk27ayYnEQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCICttm1EIfAyfvPm6soWw6l1MYmSuw2iOzmhiuCe7FlApAiEAxKvjVFW8Zd3pEOzC5pfDf1G6ikZk31tI0dT2CjJfTDY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.9.19-2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":199929647},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.js"},"./rpc-entry":{"import":"./dist/rpc-entry.js"},"./bun-runtime":{"types":"./dist/bun/runtime-modules.d.ts","import":"./dist/bun/runtime-modules.js"}},"scripts":{"dev":"tsc -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsgo -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js dist/rpc-entry.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi && npm run build:bundle","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/","build:binary":"npm --prefix ../tui run build && npm --prefix ../telemetry run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm --prefix ../protocol run build && npm --prefix ../client run build && npm --prefix ../pty run build && npm run build && node ../../scripts/prepare-bun-compile-assets.mjs && bun build --compile --splitting --compile-autoload-package-json --no-compile-autoload-dotenv --no-compile-autoload-bunfig --minify --keep-names ./dist/bun/cli.js ./src/modes/rpc/session-worker.ts ./src/utils/image-resize-worker.ts --outfile dist/pi && npm run copy-binary-assets","build:bundle":"node ../../scripts/build-coding-agent-bundle.mjs","qa:app-server":"node scripts/qa-app-server/run-all.mjs","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","build:unbundled":"tsgo -p tsconfig.build.json && shx chmod +x dist/cli.js dist/rpc-entry.js && npm run copy-assets","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/export-html/ && shx cp -r docs dist/ && shx cp -r examples dist/ && node ../../scripts/copy-codemode-sidecar.mjs dist && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/ && shx mkdir -p dist/native/darwin dist/native/win32 && shx cp -r ../../packages/tui/native/darwin/prebuilds dist/native/darwin/ && shx cp -r ../../packages/tui/native/win32/prebuilds dist/native/win32/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/ && node ../../scripts/copy-pty-native.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ea548fc8-dac4-4dec-a439-6f4fa3870309"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.3"},"rimraf":"6.1.3","protobufjs":"7.6.5","@hono/node-server":"2.1.1"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.19.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.20.0","dependencies":{"ms":"2.1.3","qs":"6.15.3","ws":"8.21.3","ajv":"8.20.0","jwa":"2.0.1","jws":"4.0.1","zod":"4.4.3","cors":"2.8.6","depd":"2.0.0","diff":"9.0.0","etag":"1.8.1","glob":"13.0.6","gopd":"1.2.0","hono":"4.12.27","jiti":"2.7.0","jose":"6.2.3","long":"5.3.2","once":"1.4.0","send":"1.2.1","vary":"1.1.2","yaml":"2.9.0","bytes":"3.1.2","chalk":"6.0.0","cssom":"0.5.0","debug":"4.4.3","fresh":"2.0.0","isexe":"2.0.0","retry":"0.13.1","tslib":"2.8.1","which":"2.0.2","bowser":"2.14.1","cookie":"0.7.2","extend":"3.0.2","gaxios":"7.1.4","hasown":"2.0.3","ignore":"7.0.8","marked":"18.0.11","openai":"6.26.0","router":"2.2.0","semver":"7.8.5","undici":"8.10.2","unpipe":"1.0.0","wrappy":"1.0.2","accepts":"2.0.0","esbuild":"0.28.2","express":"5.2.1","mime-db":"1.54.0","p-retry":"4.6.2","type-is":"2.1.0","typebox":"1.3.27","uhyphen":"0.2.0","boolbase":"1.0.0","css-what":"6.2.2","domutils":"3.2.2","ee-first":"1.1.1","fast-uri":"3.1.4","inherits":"2.0.4","linkedom":"0.18.12","minipass":"7.1.3","parseurl":"1.3.3","path-key":"3.1.1","raw-body":"3.0.2","statuses":"2.0.2","turndown":"7.2.4","base64-js":"1.5.1","encodeurl":"2.0.0","es-errors":"1.3.0","forwarded":"0.2.0","get-proto":"1.0.1","ipaddr.js":"1.9.1","lru-cache":"11.5.2","minimatch":"10.2.6","nth-check":"2.1.1","picomatch":"4.0.5","agent-base":"9.0.0","call-bound":"1.0.4","css-select":"5.2.2","domhandler":"5.0.3","fetch-blob":"3.2.0","iconv-lite":"0.7.3","ip-address":"10.2.0","is-promise":"4.0.0","mime-types":"3.0.2","negotiator":"1.0.0","node-fetch":"3.3.2","protobufjs":"7.6.5","proxy-addr":"2.0.7","ts-algebra":"2.0.0","@types/node":"26.2.0","ajv-formats":"3.0.1","body-parser":"2.3.0","cross-spawn":"7.0.6","escape-html":"1.0.3","eventsource":"3.0.7","fast-sha256":"1.3.0","graceful-fs":"4.2.11","has-symbols":"1.1.0","htmlparser2":"10.1.0","http-errors":"2.0.1","json-bigint":"1.0.0","media-typer":"1.1.0","on-finished":"2.4.1","path-scurry":"2.0.2","safe-buffer":"5.2.1","signal-exit":"3.0.7","@smithy/core":"3.33.3","bignumber.js":"9.3.1","content-type":"1.0.5","dunder-proto":"1.0.1","finalhandler":"2.1.1","gcp-metadata":"8.1.2","grok-mermaid":"0.2.3","highlight.js":"11.12.0","partial-json":"0.1.7","range-parser":"1.3.0","safer-buffer":"2.1.2","serve-static":"2.2.1","side-channel":"1.1.1","toidentifier":"1.0.1","@aws-sdk/core":"3.978.0","@google/genai":"2.21.0","@smithy/types":"4.17.2","function-bind":"1.1.2","get-intrinsic":"1.3.0","object-assign":"4.1.1","shebang-regex":"3.0.0","@aws-sdk/types":"3.974.5","@babel/runtime":"7.29.2","balanced-match":"4.0.4","dom-serializer":"2.0.0","domelementtype":"2.3.0","object-inspect":"1.13.4","path-to-regexp":"8.4.2","pkce-challenge":"5.0.1","proxy-from-env":"2.1.0","setprototypeof":"1.2.0","@xterm/headless":"6.0.0","brace-expansion":"5.0.9","es-module-lexer":"2.1.0","es-object-atoms":"1.1.2","fast-deep-equal":"3.1.3","hosted-git-info":"10.1.1","math-intrinsics":"1.1.0","proper-lockfile":"4.1.2","shebang-command":"2.0.0","web-tree-sitter":"0.27.0","@protobufjs/path":"1.1.2","@protobufjs/pool":"1.1.0","@protobufjs/utf8":"1.1.1","cookie-signature":"1.2.2","http-proxy-agent":"9.1.0","side-channel-map":"1.0.1","standardwebhooks":"1.0.0","@anthropic-ai/sdk":"0.123.0","@hono/node-server":"2.1.1","@protobufjs/fetch":"1.1.1","@protobufjs/float":"1.0.2","@stablelib/base64":"1.0.1","formdata-polyfill":"4.0.10","https-proxy-agent":"9.1.0","json-schema-to-ts":"3.1.1","json-schema-typed":"8.0.2","merge-descriptors":"2.0.0","node-domexception":"1.0.0","side-channel-list":"1.0.1","@bufbuild/protobuf":"2.14.0","@mixmark-io/domino":"2.2.0","@opentelemetry/api":"1.9.1","@protobufjs/base64":"1.1.2","data-uri-to-buffer":"4.0.1","es-define-property":"1.0.1","eventsource-parser":"3.1.0","express-rate-limit":"8.5.2","zod-to-json-schema":"3.25.2","@protobufjs/codegen":"2.0.5","content-disposition":"1.1.0","ecdsa-sig-formatter":"1.0.11","google-auth-library":"10.6.2","require-from-string":"2.0.2","@aws-sdk/xml-builder":"3.972.40","@mozilla/readability":"0.6.0","@smithy/signature-v4":"5.7.3","get-east-asian-width":"1.6.0","google-logging-utils":"1.1.3","json-schema-traverse":"1.0.0","side-channel-weakmap":"1.0.2","web-streams-polyfill":"3.3.3","@earendil-works/chord":"0.85.1","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.9.19-2","@protobufjs/aspromise":"1.1.2","proxy-agent-negotiate":"1.1.0","@earendil-works/pi-pty":"npm:@code-yeongyu/senpi-pty@2026.9.19-2","@earendil-works/pi-tui":"npm:@code-yeongyu/senpi-tui@2026.9.19-2","@aws-sdk/nested-clients":"3.997.45","call-bind-apply-helpers":"1.0.2","@aws-sdk/token-providers":"3.1127.0","@aws/lambda-invoke-store":"0.3.0","@protobufjs/eventemitter":"1.1.1","@modelcontextprotocol/sdk":"1.30.0","@smithy/node-http-handler":"4.12.1","@silvia-odwyer/photon-node":"0.3.4","@smithy/fetch-http-handler":"5.7.2","buffer-equal-constant-time":"1.0.1","@code-yeongyu/senpi-codemode":"2026.9.19-2","@earendil-works/pi-telemetry":"npm:@code-yeongyu/senpi-telemetry@2026.9.19-2","@aws-sdk/middleware-websocket":"3.972.52","@earendil-works/pi-agent-core":"npm:@code-yeongyu/senpi-agent-core@2026.9.19-2","@anthropic-ai/claude-agent-sdk":"0.3.259","@aws-sdk/client-bedrock-runtime":"3.1127.0","@aws-sdk/middleware-eventstream":"3.972.29","@aws-sdk/credential-provider-env":"3.972.71","@aws-sdk/credential-provider-ini":"3.973.16","@aws-sdk/credential-provider-sso":"3.973.15","@smithy/credential-provider-imds":"4.5.2","@aws-sdk/credential-provider-http":"3.972.73","@aws-sdk/credential-provider-node":"3.972.83","@aws-sdk/eventstream-handler-node":"3.972.34","@aws-sdk/credential-provider-login":"3.972.78","@aws-sdk/signature-v4-multi-region":"3.996.46","@aws-sdk/credential-provider-process":"3.972.71","@aws-sdk/credential-provider-web-identity":"3.972.77"},"_hasShrinkwrap":false,"devDependencies":{"shx":"0.4.0","vitest":"4.1.11","@types/ws":"8.18.1","typescript":"7.0.2","@types/node":"26.2.0","@types/semver":"7.8.0","@types/turndown":"5.0.6","@types/picomatch":"4.0.3","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@anthropic-ai/claude-agent-sdk","@anthropic-ai/sdk","@aws-sdk/client-bedrock-runtime","@aws-sdk/core","@aws-sdk/credential-provider-env","@aws-sdk/credential-provider-http","@aws-sdk/credential-provider-ini","@aws-sdk/credential-provider-login","@aws-sdk/credential-provider-node","@aws-sdk/credential-provider-process","@aws-sdk/credential-provider-sso","@aws-sdk/credential-provider-web-identity","@aws-sdk/eventstream-handler-node","@aws-sdk/middleware-eventstream","@aws-sdk/middleware-websocket","@aws-sdk/nested-clients","@aws-sdk/signature-v4-multi-region","@aws-sdk/token-providers","@aws-sdk/types","@aws-sdk/xml-builder","@aws/lambda-invoke-store","@babel/runtime","@bufbuild/protobuf","@code-yeongyu/senpi-codemode","@earendil-works/chord","@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-pty","@earendil-works/pi-telemetry","@earendil-works/pi-tui","@google/genai","@hono/node-server","@mixmark-io/domino","@modelcontextprotocol/sdk","@mozilla/readability","@opentelemetry/api","@protobufjs/aspromise","@protobufjs/base64","@protobufjs/codegen","@protobufjs/eventemitter","@protobufjs/fetch","@protobufjs/float","@protobufjs/path","@protobufjs/pool","@protobufjs/utf8","@silvia-odwyer/photon-node","@smithy/core","@smithy/credential-provider-imds","@smithy/fetch-http-handler","@smithy/node-http-handler","@smithy/signature-v4","@smithy/types","@stablelib/base64","@types/node","@xterm/headless","accepts","agent-base","ajv","ajv-formats","balanced-match","base64-js","bignumber.js","body-parser","boolbase","bowser","brace-expansion","buffer-equal-constant-time","bytes","call-bind-apply-helpers","call-bound","chalk","content-disposition","content-type","cookie","cookie-signature","cors","cross-spawn","css-select","css-what","cssom","data-uri-to-buffer","debug","depd","diff","dom-serializer","domelementtype","domhandler","domutils","dunder-proto","ecdsa-sig-formatter","ee-first","encodeurl","es-define-property","es-errors","es-module-lexer","es-object-atoms","esbuild","escape-html","etag","eventsource","eventsource-parser","express","express-rate-limit","extend","fast-deep-equal","fast-sha256","fast-uri","fetch-blob","finalhandler","formdata-polyfill","forwarded","fresh","function-bind","gaxios","gcp-metadata","get-east-asian-width","get-intrinsic","get-proto","glob","google-auth-library","google-logging-utils","gopd","graceful-fs","grok-mermaid","has-symbols","hasown","highlight.js","hono","hosted-git-info","htmlparser2","http-errors","http-proxy-agent","https-proxy-agent","iconv-lite","ignore","inherits","ip-address","ipaddr.js","is-promise","isexe","jiti","jose","json-bigint","json-schema-to-ts","json-schema-traverse","json-schema-typed","jwa","jws","linkedom","long","lru-cache","marked","math-intrinsics","media-typer","merge-descriptors","mime-db","mime-types","minimatch","minipass","ms","negotiator","node-domexception","node-fetch","nth-check","object-assign","object-inspect","on-finished","once","openai","p-retry","parseurl","partial-json","path-key","path-scurry","path-to-regexp","picomatch","pkce-challenge","proper-lockfile","protobufjs","proxy-addr","proxy-agent-negotiate","proxy-from-env","qs","range-parser","raw-body","require-from-string","retry","router","safe-buffer","safer-buffer","semver","send","serve-static","setprototypeof","shebang-command","shebang-regex","side-channel","side-channel-list","side-channel-map","side-channel-weakmap","signal-exit","standardwebhooks","statuses","toidentifier","ts-algebra","tslib","turndown","type-is","typebox","uhyphen","undici","unpipe","vary","web-streams-polyfill","web-tree-sitter","which","wrappy","ws","yaml","zod","zod-to-json-schema"],"optionalDependencies":{"@esbuild/aix-ppc64":"0.28.2","@esbuild/linux-arm":"0.28.2","@esbuild/linux-x64":"0.28.2","@esbuild/sunos-x64":"0.28.2","@esbuild/win32-x64":"0.28.2","@esbuild/darwin-x64":"0.28.2","@esbuild/linux-ia32":"0.28.2","@esbuild/netbsd-x64":"0.28.2","@esbuild/win32-ia32":"0.28.2","@esbuild/android-arm":"0.28.2","@esbuild/android-x64":"0.28.2","@esbuild/freebsd-x64":"0.28.2","@esbuild/linux-arm64":"0.28.2","@esbuild/linux-ppc64":"0.28.2","@esbuild/linux-s390x":"0.28.2","@esbuild/openbsd-x64":"0.28.2","@esbuild/win32-arm64":"0.28.2","@esbuild/darwin-arm64":"0.28.2","@esbuild/netbsd-arm64":"0.28.2","@esbuild/android-arm64":"0.28.2","@esbuild/freebsd-arm64":"0.28.2","@esbuild/linux-loong64":"0.28.2","@esbuild/linux-riscv64":"0.28.2","@esbuild/openbsd-arm64":"0.28.2","@esbuild/linux-mips64el":"0.28.2","@esbuild/openharmony-arm64":"0.28.2","@anthropic-ai/claude-agent-sdk-linux-x64":"0.3.259","@anthropic-ai/claude-agent-sdk-win32-x64":"0.3.259","@anthropic-ai/claude-agent-sdk-darwin-x64":"0.3.259","@anthropic-ai/claude-agent-sdk-linux-arm64":"0.3.259","@anthropic-ai/claude-agent-sdk-win32-arm64":"0.3.259","@anthropic-ai/claude-agent-sdk-darwin-arm64":"0.3.259","@anthropic-ai/claude-agent-sdk-linux-x64-musl":"0.3.259","@anthropic-ai/claude-agent-sdk-linux-arm64-musl":"0.3.259"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.9.19-2_1789794111908_0.7607878992475954","host":"s3://npm-registry-packages-npm-production"}},"2026.9.20":{"name":"@code-yeongyu/senpi","version":"2026.9.20","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.9.20","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"pi":"dist/bundle/cli.js","senpi":"dist/bundle/cli.js"},"dist":{"shasum":"8b09386e7005522b2fc3fac346cf906d2be8c188","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.9.20.tgz","fileCount":26919,"integrity":"sha512-jhmnS2CWItxN1PM+hWmU+xuvgcglNFX3xB7/MSyOZpF0U4KoIy3zYcxSD/sO9DWxpEnRIkWQP9OE7iHPjEz3Bw==","signatures":[{"sig":"MEQCIEjDvjbtc75yjwTWeQMhBXWwnjBh+/GGanhtLLt/YCldAiARbowGXI3gtliuQDfXsqAnTXVzlB2wIt3MpIIFs0IFFw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIGrcNDiIal0KvcvtDHkHNc1QPh9htArDzBb/YnFB1rYiAiBL3SQk3Geqq1R3pkwuuShxOkYYGen1E6h81WFFfT56fw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.9.20","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":200122867},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.js"},"./rpc-entry":{"import":"./dist/rpc-entry.js"},"./bun-runtime":{"types":"./dist/bun/runtime-modules.d.ts","import":"./dist/bun/runtime-modules.js"}},"scripts":{"dev":"tsc -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsgo -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js dist/rpc-entry.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi && npm run build:bundle","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/","build:binary":"npm --prefix ../tui run build && npm --prefix ../telemetry run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm --prefix ../protocol run build && npm --prefix ../client run build && npm --prefix ../pty run build && npm run build && node ../../scripts/prepare-bun-compile-assets.mjs && bun build --compile --splitting --compile-autoload-package-json --no-compile-autoload-dotenv --no-compile-autoload-bunfig --minify --keep-names ./dist/bun/cli.js ./src/modes/rpc/session-worker.ts ./src/utils/image-resize-worker.ts --outfile dist/pi && npm run copy-binary-assets","build:bundle":"node ../../scripts/build-coding-agent-bundle.mjs","qa:app-server":"node scripts/qa-app-server/run-all.mjs","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","build:unbundled":"tsgo -p tsconfig.build.json && shx chmod +x dist/cli.js dist/rpc-entry.js && npm run copy-assets","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/export-html/ && shx cp -r docs dist/ && shx cp -r examples dist/ && node ../../scripts/copy-codemode-sidecar.mjs dist && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/ && shx mkdir -p dist/native/darwin dist/native/win32 && shx cp -r ../../packages/tui/native/darwin/prebuilds dist/native/darwin/ && shx cp -r ../../packages/tui/native/win32/prebuilds dist/native/win32/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/ && node ../../scripts/copy-pty-native.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ea548fc8-dac4-4dec-a439-6f4fa3870309"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.3"},"rimraf":"6.1.3","protobufjs":"7.6.5","@hono/node-server":"2.1.1"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.19.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.20.0","dependencies":{"ms":"2.1.3","qs":"6.15.3","ws":"8.21.3","ajv":"8.20.0","jwa":"2.0.1","jws":"4.0.1","zod":"4.4.3","cors":"2.8.6","depd":"2.0.0","diff":"9.0.0","etag":"1.8.1","glob":"13.0.6","gopd":"1.2.0","hono":"4.12.27","jiti":"2.7.0","jose":"6.2.3","long":"5.3.2","once":"1.4.0","send":"1.2.1","vary":"1.1.2","yaml":"2.9.0","bytes":"3.1.2","chalk":"6.0.0","cssom":"0.5.0","debug":"4.4.3","fresh":"2.0.0","isexe":"2.0.0","retry":"0.13.1","tslib":"2.8.1","which":"2.0.2","bowser":"2.14.1","cookie":"0.7.2","extend":"3.0.2","gaxios":"7.1.4","hasown":"2.0.3","ignore":"7.0.8","marked":"18.0.11","openai":"6.26.0","router":"2.2.0","semver":"7.8.5","undici":"8.10.2","unpipe":"1.0.0","wrappy":"1.0.2","accepts":"2.0.0","esbuild":"0.28.2","express":"5.2.1","mime-db":"1.54.0","p-retry":"4.6.2","type-is":"2.1.0","typebox":"1.3.27","uhyphen":"0.2.0","boolbase":"1.0.0","css-what":"6.2.2","domutils":"3.2.2","ee-first":"1.1.1","fast-uri":"3.1.4","inherits":"2.0.4","linkedom":"0.18.12","minipass":"7.1.3","parseurl":"1.3.3","path-key":"3.1.1","raw-body":"3.0.2","statuses":"2.0.2","turndown":"7.2.4","base64-js":"1.5.1","encodeurl":"2.0.0","es-errors":"1.3.0","forwarded":"0.2.0","get-proto":"1.0.1","ipaddr.js":"1.9.1","lru-cache":"11.5.2","minimatch":"10.2.6","nth-check":"2.1.1","picomatch":"4.0.5","agent-base":"9.0.0","call-bound":"1.0.4","css-select":"5.2.2","domhandler":"5.0.3","fetch-blob":"3.2.0","iconv-lite":"0.7.3","ip-address":"10.2.0","is-promise":"4.0.0","mime-types":"3.0.2","negotiator":"1.0.0","node-fetch":"3.3.2","protobufjs":"7.6.5","proxy-addr":"2.0.7","ts-algebra":"2.0.0","@types/node":"26.2.0","ajv-formats":"3.0.1","body-parser":"2.3.0","cross-spawn":"7.0.6","escape-html":"1.0.3","eventsource":"3.0.7","fast-sha256":"1.3.0","graceful-fs":"4.2.11","has-symbols":"1.1.0","htmlparser2":"10.1.0","http-errors":"2.0.1","json-bigint":"1.0.0","media-typer":"1.1.0","on-finished":"2.4.1","path-scurry":"2.0.2","safe-buffer":"5.2.1","signal-exit":"3.0.7","@smithy/core":"3.33.3","bignumber.js":"9.3.1","content-type":"1.0.5","dunder-proto":"1.0.1","finalhandler":"2.1.1","gcp-metadata":"8.1.2","grok-mermaid":"0.2.3","highlight.js":"11.12.0","partial-json":"0.1.7","range-parser":"1.3.0","safer-buffer":"2.1.2","serve-static":"2.2.1","side-channel":"1.1.1","toidentifier":"1.0.1","@aws-sdk/core":"3.978.0","@google/genai":"2.21.0","@smithy/types":"4.17.2","function-bind":"1.1.2","get-intrinsic":"1.3.0","object-assign":"4.1.1","shebang-regex":"3.0.0","@aws-sdk/types":"3.974.5","@babel/runtime":"7.29.2","balanced-match":"4.0.4","dom-serializer":"2.0.0","domelementtype":"2.3.0","object-inspect":"1.13.4","path-to-regexp":"8.4.2","pkce-challenge":"5.0.1","proxy-from-env":"2.1.0","setprototypeof":"1.2.0","@xterm/headless":"6.0.0","brace-expansion":"5.0.9","es-module-lexer":"2.1.0","es-object-atoms":"1.1.2","fast-deep-equal":"3.1.3","hosted-git-info":"10.1.1","math-intrinsics":"1.1.0","proper-lockfile":"4.1.2","shebang-command":"2.0.0","web-tree-sitter":"0.27.0","@protobufjs/path":"1.1.2","@protobufjs/pool":"1.1.0","@protobufjs/utf8":"1.1.1","cookie-signature":"1.2.2","http-proxy-agent":"9.1.0","side-channel-map":"1.0.1","standardwebhooks":"1.0.0","@anthropic-ai/sdk":"0.123.0","@hono/node-server":"2.1.1","@protobufjs/fetch":"1.1.1","@protobufjs/float":"1.0.2","@stablelib/base64":"1.0.1","formdata-polyfill":"4.0.10","https-proxy-agent":"9.1.0","json-schema-to-ts":"3.1.1","json-schema-typed":"8.0.2","merge-descriptors":"2.0.0","node-domexception":"1.0.0","side-channel-list":"1.0.1","@bufbuild/protobuf":"2.14.0","@mixmark-io/domino":"2.2.0","@opentelemetry/api":"1.9.1","@protobufjs/base64":"1.1.2","data-uri-to-buffer":"4.0.1","es-define-property":"1.0.1","eventsource-parser":"3.1.0","express-rate-limit":"8.5.2","zod-to-json-schema":"3.25.2","@protobufjs/codegen":"2.0.5","content-disposition":"1.1.0","ecdsa-sig-formatter":"1.0.11","google-auth-library":"10.6.2","require-from-string":"2.0.2","@aws-sdk/xml-builder":"3.972.40","@mozilla/readability":"0.6.0","@smithy/signature-v4":"5.7.3","get-east-asian-width":"1.6.0","google-logging-utils":"1.1.3","json-schema-traverse":"1.0.0","side-channel-weakmap":"1.0.2","web-streams-polyfill":"3.3.3","@earendil-works/chord":"0.85.1","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.9.20","@protobufjs/aspromise":"1.1.2","proxy-agent-negotiate":"1.1.0","@earendil-works/pi-pty":"npm:@code-yeongyu/senpi-pty@2026.9.20","@earendil-works/pi-tui":"npm:@code-yeongyu/senpi-tui@2026.9.20","@aws-sdk/nested-clients":"3.997.45","call-bind-apply-helpers":"1.0.2","@aws-sdk/token-providers":"3.1127.0","@aws/lambda-invoke-store":"0.3.0","@protobufjs/eventemitter":"1.1.1","@modelcontextprotocol/sdk":"1.30.0","@smithy/node-http-handler":"4.12.1","@silvia-odwyer/photon-node":"0.3.4","@smithy/fetch-http-handler":"5.7.2","buffer-equal-constant-time":"1.0.1","@code-yeongyu/senpi-codemode":"2026.9.20","@earendil-works/pi-telemetry":"npm:@code-yeongyu/senpi-telemetry@2026.9.20","@aws-sdk/middleware-websocket":"3.972.52","@earendil-works/pi-agent-core":"npm:@code-yeongyu/senpi-agent-core@2026.9.20","@anthropic-ai/claude-agent-sdk":"0.3.259","@aws-sdk/client-bedrock-runtime":"3.1127.0","@aws-sdk/middleware-eventstream":"3.972.29","@aws-sdk/credential-provider-env":"3.972.71","@aws-sdk/credential-provider-ini":"3.973.16","@aws-sdk/credential-provider-sso":"3.973.15","@smithy/credential-provider-imds":"4.5.2","@aws-sdk/credential-provider-http":"3.972.73","@aws-sdk/credential-provider-node":"3.972.83","@aws-sdk/eventstream-handler-node":"3.972.34","@aws-sdk/credential-provider-login":"3.972.78","@aws-sdk/signature-v4-multi-region":"3.996.46","@aws-sdk/credential-provider-process":"3.972.71","@aws-sdk/credential-provider-web-identity":"3.972.77"},"_hasShrinkwrap":false,"devDependencies":{"shx":"0.4.0","vitest":"4.1.11","@types/ws":"8.18.1","typescript":"7.0.2","@types/node":"26.2.0","@types/semver":"7.8.0","@types/turndown":"5.0.6","@types/picomatch":"4.0.3","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@anthropic-ai/claude-agent-sdk","@anthropic-ai/sdk","@aws-sdk/client-bedrock-runtime","@aws-sdk/core","@aws-sdk/credential-provider-env","@aws-sdk/credential-provider-http","@aws-sdk/credential-provider-ini","@aws-sdk/credential-provider-login","@aws-sdk/credential-provider-node","@aws-sdk/credential-provider-process","@aws-sdk/credential-provider-sso","@aws-sdk/credential-provider-web-identity","@aws-sdk/eventstream-handler-node","@aws-sdk/middleware-eventstream","@aws-sdk/middleware-websocket","@aws-sdk/nested-clients","@aws-sdk/signature-v4-multi-region","@aws-sdk/token-providers","@aws-sdk/types","@aws-sdk/xml-builder","@aws/lambda-invoke-store","@babel/runtime","@bufbuild/protobuf","@code-yeongyu/senpi-codemode","@earendil-works/chord","@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-pty","@earendil-works/pi-telemetry","@earendil-works/pi-tui","@google/genai","@hono/node-server","@mixmark-io/domino","@modelcontextprotocol/sdk","@mozilla/readability","@opentelemetry/api","@protobufjs/aspromise","@protobufjs/base64","@protobufjs/codegen","@protobufjs/eventemitter","@protobufjs/fetch","@protobufjs/float","@protobufjs/path","@protobufjs/pool","@protobufjs/utf8","@silvia-odwyer/photon-node","@smithy/core","@smithy/credential-provider-imds","@smithy/fetch-http-handler","@smithy/node-http-handler","@smithy/signature-v4","@smithy/types","@stablelib/base64","@types/node","@xterm/headless","accepts","agent-base","ajv","ajv-formats","balanced-match","base64-js","bignumber.js","body-parser","boolbase","bowser","brace-expansion","buffer-equal-constant-time","bytes","call-bind-apply-helpers","call-bound","chalk","content-disposition","content-type","cookie","cookie-signature","cors","cross-spawn","css-select","css-what","cssom","data-uri-to-buffer","debug","depd","diff","dom-serializer","domelementtype","domhandler","domutils","dunder-proto","ecdsa-sig-formatter","ee-first","encodeurl","es-define-property","es-errors","es-module-lexer","es-object-atoms","esbuild","escape-html","etag","eventsource","eventsource-parser","express","express-rate-limit","extend","fast-deep-equal","fast-sha256","fast-uri","fetch-blob","finalhandler","formdata-polyfill","forwarded","fresh","function-bind","gaxios","gcp-metadata","get-east-asian-width","get-intrinsic","get-proto","glob","google-auth-library","google-logging-utils","gopd","graceful-fs","grok-mermaid","has-symbols","hasown","highlight.js","hono","hosted-git-info","htmlparser2","http-errors","http-proxy-agent","https-proxy-agent","iconv-lite","ignore","inherits","ip-address","ipaddr.js","is-promise","isexe","jiti","jose","json-bigint","json-schema-to-ts","json-schema-traverse","json-schema-typed","jwa","jws","linkedom","long","lru-cache","marked","math-intrinsics","media-typer","merge-descriptors","mime-db","mime-types","minimatch","minipass","ms","negotiator","node-domexception","node-fetch","nth-check","object-assign","object-inspect","on-finished","once","openai","p-retry","parseurl","partial-json","path-key","path-scurry","path-to-regexp","picomatch","pkce-challenge","proper-lockfile","protobufjs","proxy-addr","proxy-agent-negotiate","proxy-from-env","qs","range-parser","raw-body","require-from-string","retry","router","safe-buffer","safer-buffer","semver","send","serve-static","setprototypeof","shebang-command","shebang-regex","side-channel","side-channel-list","side-channel-map","side-channel-weakmap","signal-exit","standardwebhooks","statuses","toidentifier","ts-algebra","tslib","turndown","type-is","typebox","uhyphen","undici","unpipe","vary","web-streams-polyfill","web-tree-sitter","which","wrappy","ws","yaml","zod","zod-to-json-schema"],"optionalDependencies":{"@esbuild/aix-ppc64":"0.28.2","@esbuild/linux-arm":"0.28.2","@esbuild/linux-x64":"0.28.2","@esbuild/sunos-x64":"0.28.2","@esbuild/win32-x64":"0.28.2","@esbuild/darwin-x64":"0.28.2","@esbuild/linux-ia32":"0.28.2","@esbuild/netbsd-x64":"0.28.2","@esbuild/win32-ia32":"0.28.2","@esbuild/android-arm":"0.28.2","@esbuild/android-x64":"0.28.2","@esbuild/freebsd-x64":"0.28.2","@esbuild/linux-arm64":"0.28.2","@esbuild/linux-ppc64":"0.28.2","@esbuild/linux-s390x":"0.28.2","@esbuild/openbsd-x64":"0.28.2","@esbuild/win32-arm64":"0.28.2","@esbuild/darwin-arm64":"0.28.2","@esbuild/netbsd-arm64":"0.28.2","@esbuild/android-arm64":"0.28.2","@esbuild/freebsd-arm64":"0.28.2","@esbuild/linux-loong64":"0.28.2","@esbuild/linux-riscv64":"0.28.2","@esbuild/openbsd-arm64":"0.28.2","@esbuild/linux-mips64el":"0.28.2","@esbuild/openharmony-arm64":"0.28.2","@anthropic-ai/claude-agent-sdk-linux-x64":"0.3.259","@anthropic-ai/claude-agent-sdk-win32-x64":"0.3.259","@anthropic-ai/claude-agent-sdk-darwin-x64":"0.3.259","@anthropic-ai/claude-agent-sdk-linux-arm64":"0.3.259","@anthropic-ai/claude-agent-sdk-win32-arm64":"0.3.259","@anthropic-ai/claude-agent-sdk-darwin-arm64":"0.3.259","@anthropic-ai/claude-agent-sdk-linux-x64-musl":"0.3.259","@anthropic-ai/claude-agent-sdk-linux-arm64-musl":"0.3.259"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.9.20_1789923580834_0.46672395402740774","host":"s3://npm-registry-packages-npm-production"}},"2026.9.21":{"name":"@code-yeongyu/senpi","version":"2026.9.21","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.9.21","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"pi":"dist/bundle/cli.js","senpi":"dist/bundle/cli.js"},"dist":{"shasum":"e37f165337cf030c55edd29fd444558bef9eb685","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.9.21.tgz","fileCount":26970,"integrity":"sha512-2CWeD9NpAXI57+cydTrbNDpTXfu/zQHNkkVpI4xkSrPlD5WrIxVmMQt+YfemwigMsPXwjQjOO1S3ZYbD92Mk8w==","signatures":[{"sig":"MEUCIQDQ0kZUWHd1ihtBLBX8C7RD4a48WvpCI1mkBkCmNsK9YwIgLwsdtM/DVo6j6JrX6tV/6rGGdcpfSVcLryDHRtwL/4A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQC5XTWUDUE3B+pzf02ZN0gF5xwoEI2GwunX6tk0SBuokgIgF5JcpkR+/CWzDX1rGwxoh8mScf6UWzoZWAUxZnlY1J0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.9.21","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":204448967},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.js"},"./rpc-entry":{"import":"./dist/rpc-entry.js"},"./bun-runtime":{"types":"./dist/bun/runtime-modules.d.ts","import":"./dist/bun/runtime-modules.js"}},"scripts":{"dev":"tsc -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsgo -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js dist/rpc-entry.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi && npm run build:bundle","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/","build:binary":"npm --prefix ../tui run build && npm --prefix ../telemetry run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm --prefix ../protocol run build && npm --prefix ../client run build && npm --prefix ../pty run build && npm run build && node ../../scripts/prepare-bun-compile-assets.mjs && bun build --compile --splitting --compile-autoload-package-json --no-compile-autoload-dotenv --no-compile-autoload-bunfig --minify --keep-names ./dist/bun/cli.js ./src/modes/rpc/session-worker.ts ./src/utils/image-resize-worker.ts --outfile dist/pi && npm run copy-binary-assets","build:bundle":"node ../../scripts/build-coding-agent-bundle.mjs","qa:app-server":"node scripts/qa-app-server/run-all.mjs","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","build:unbundled":"tsgo -p tsconfig.build.json && shx chmod +x dist/cli.js dist/rpc-entry.js && npm run copy-assets","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/export-html/ && shx cp -r docs dist/ && shx cp -r examples dist/ && node ../../scripts/copy-codemode-sidecar.mjs dist && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/ && shx mkdir -p dist/native/darwin dist/native/win32 && shx cp -r ../../packages/tui/native/darwin/prebuilds dist/native/darwin/ && shx cp -r ../../packages/tui/native/win32/prebuilds dist/native/win32/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/ && node ../../scripts/copy-pty-native.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ea548fc8-dac4-4dec-a439-6f4fa3870309"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.3"},"rimraf":"6.1.3","protobufjs":"7.6.5","@hono/node-server":"2.1.1"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.19.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.20.0","dependencies":{"ms":"2.1.3","qs":"6.16.0","ws":"8.21.3","ajv":"8.20.0","jwa":"2.0.1","jws":"4.0.1","zod":"4.6.5","cors":"2.8.6","depd":"2.0.0","diff":"9.0.0","etag":"1.8.1","glob":"13.0.6","gopd":"1.2.0","hono":"4.13.8","jiti":"2.7.0","jose":"6.2.3","long":"5.3.2","once":"1.4.0","send":"1.2.1","vary":"1.1.2","yaml":"2.9.1","bytes":"3.1.2","chalk":"6.0.0","cssom":"0.5.0","debug":"4.4.3","fresh":"2.0.0","isexe":"2.0.0","retry":"0.13.1","tslib":"2.8.1","which":"2.0.2","bowser":"2.14.1","cookie":"0.7.2","extend":"3.0.2","gaxios":"7.1.4","hasown":"2.0.3","ignore":"7.0.9","marked":"18.0.13","openai":"6.26.0","router":"2.2.0","semver":"7.8.5","undici":"8.10.2","unpipe":"1.0.0","wrappy":"1.0.2","accepts":"2.0.0","esbuild":"0.28.2","express":"5.2.1","mime-db":"1.54.0","p-retry":"4.6.2","type-is":"2.1.0","typebox":"1.3.34","uhyphen":"0.2.0","boolbase":"2.0.0","css-what":"8.0.0","domutils":"3.2.2","ee-first":"1.1.1","entities":"8.1.0","fast-uri":"3.1.8","inherits":"2.0.4","linkedom":"0.18.13","minipass":"7.1.3","parseurl":"1.3.3","path-key":"3.1.1","raw-body":"3.0.2","statuses":"2.0.2","turndown":"7.2.4","base64-js":"1.5.1","encodeurl":"2.0.0","es-errors":"1.3.0","forwarded":"0.2.0","get-proto":"1.0.1","ipaddr.js":"1.9.1","lru-cache":"11.5.2","minimatch":"10.2.6","nth-check":"3.0.1","picomatch":"4.0.7","agent-base":"9.0.0","call-bound":"1.0.4","css-select":"7.0.0","domhandler":"5.0.3","fetch-blob":"3.2.0","iconv-lite":"0.7.3","ip-address":"10.7.2","is-promise":"4.0.0","mime-types":"3.0.2","negotiator":"1.0.0","node-fetch":"3.3.2","protobufjs":"7.6.5","proxy-addr":"2.0.7","ts-algebra":"2.0.0","@types/node":"26.6.2","ajv-formats":"3.0.1","body-parser":"2.3.0","cross-spawn":"7.0.6","escape-html":"1.0.3","eventsource":"3.0.7","fast-sha256":"1.3.0","graceful-fs":"4.2.11","has-symbols":"1.1.0","htmlparser2":"10.1.0","http-errors":"2.0.1","json-bigint":"1.0.0","media-typer":"1.1.0","on-finished":"2.4.1","path-scurry":"2.0.2","safe-buffer":"5.2.1","signal-exit":"3.0.7","@smithy/core":"3.33.3","bignumber.js":"9.3.1","content-type":"1.0.5","dunder-proto":"1.0.1","finalhandler":"2.1.1","gcp-metadata":"8.1.2","grok-mermaid":"0.2.3","highlight.js":"11.12.0","partial-json":"0.1.7","range-parser":"1.3.0","safer-buffer":"2.1.2","serve-static":"2.2.1","side-channel":"1.1.1","toidentifier":"1.0.1","undici-types":"8.9.0","@aws-sdk/core":"3.978.0","@google/genai":"2.23.0","@smithy/types":"4.18.0","function-bind":"1.1.2","get-intrinsic":"1.3.0","object-assign":"4.1.1","shebang-regex":"3.0.0","@aws-sdk/types":"3.974.5","@babel/runtime":"7.29.2","balanced-match":"4.0.4","dom-serializer":"2.0.0","domelementtype":"2.3.0","object-inspect":"1.13.4","path-to-regexp":"8.4.2","pkce-challenge":"5.0.1","proxy-from-env":"2.1.0","setprototypeof":"1.2.0","@xterm/headless":"6.0.0","brace-expansion":"5.0.12","es-module-lexer":"2.1.0","es-object-atoms":"1.1.2","fast-deep-equal":"3.1.3","hosted-git-info":"10.1.1","math-intrinsics":"1.1.0","proper-lockfile":"4.1.2","shebang-command":"2.0.0","web-tree-sitter":"0.27.0","@protobufjs/path":"1.1.2","@protobufjs/pool":"1.1.0","@protobufjs/utf8":"1.1.1","cookie-signature":"1.2.2","http-proxy-agent":"9.1.0","side-channel-map":"1.0.1","standardwebhooks":"1.0.0","@anthropic-ai/sdk":"0.127.0","@hono/node-server":"2.1.1","@protobufjs/fetch":"1.1.1","@protobufjs/float":"1.0.2","@stablelib/base64":"1.0.1","formdata-polyfill":"4.0.10","https-proxy-agent":"9.1.0","json-schema-to-ts":"3.1.1","json-schema-typed":"8.0.2","merge-descriptors":"2.0.0","node-domexception":"1.0.0","side-channel-list":"1.0.1","@bufbuild/protobuf":"2.15.0","@mixmark-io/domino":"2.2.0","@opentelemetry/api":"1.9.1","@protobufjs/base64":"1.1.2","data-uri-to-buffer":"4.0.1","es-define-property":"1.0.1","eventsource-parser":"3.1.0","express-rate-limit":"8.7.0","zod-to-json-schema":"3.25.2","@protobufjs/codegen":"2.0.5","content-disposition":"1.1.0","ecdsa-sig-formatter":"1.0.11","google-auth-library":"10.6.2","require-from-string":"2.0.2","@aws-sdk/xml-builder":"3.972.40","@mozilla/readability":"0.6.0","@smithy/signature-v4":"5.7.3","get-east-asian-width":"1.7.0","google-logging-utils":"1.1.3","json-schema-traverse":"1.0.0","side-channel-weakmap":"1.0.2","web-streams-polyfill":"3.3.3","@earendil-works/chord":"0.85.1","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.9.21","@protobufjs/aspromise":"1.1.2","proxy-agent-negotiate":"1.1.0","@earendil-works/pi-pty":"npm:@code-yeongyu/senpi-pty@2026.9.21","@earendil-works/pi-tui":"npm:@code-yeongyu/senpi-tui@2026.9.21","@aws-sdk/nested-clients":"3.997.45","call-bind-apply-helpers":"1.0.2","@aws-sdk/token-providers":"3.1136.0","@aws/lambda-invoke-store":"0.3.0","@protobufjs/eventemitter":"1.1.1","@modelcontextprotocol/sdk":"1.30.0","@smithy/node-http-handler":"4.12.1","@silvia-odwyer/photon-node":"0.3.4","@smithy/fetch-http-handler":"5.7.2","buffer-equal-constant-time":"1.0.1","@code-yeongyu/senpi-codemode":"2026.9.21","@earendil-works/pi-telemetry":"npm:@code-yeongyu/senpi-telemetry@2026.9.21","@aws-sdk/middleware-websocket":"3.972.53","@earendil-works/pi-agent-core":"npm:@code-yeongyu/senpi-agent-core@2026.9.21","@anthropic-ai/claude-agent-sdk":"0.3.278","@aws-sdk/client-bedrock-runtime":"3.1136.0","@aws-sdk/middleware-eventstream":"3.972.29","@aws-sdk/credential-provider-env":"3.972.71","@aws-sdk/credential-provider-ini":"3.973.16","@aws-sdk/credential-provider-sso":"3.973.15","@smithy/credential-provider-imds":"4.5.2","@aws-sdk/credential-provider-http":"3.972.73","@aws-sdk/credential-provider-node":"3.972.83","@aws-sdk/eventstream-handler-node":"3.972.34","@aws-sdk/credential-provider-login":"3.972.78","@aws-sdk/signature-v4-multi-region":"3.996.46","@aws-sdk/credential-provider-process":"3.972.71","@aws-sdk/credential-provider-web-identity":"3.972.77"},"_hasShrinkwrap":false,"devDependencies":{"shx":"0.4.0","vitest":"4.1.11","@types/ws":"8.18.1","typescript":"7.0.2","@types/node":"26.6.2","@types/semver":"7.8.0","@types/turndown":"5.0.6","@types/picomatch":"4.0.3","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@anthropic-ai/claude-agent-sdk","@anthropic-ai/sdk","@aws-sdk/client-bedrock-runtime","@aws-sdk/core","@aws-sdk/credential-provider-env","@aws-sdk/credential-provider-http","@aws-sdk/credential-provider-ini","@aws-sdk/credential-provider-login","@aws-sdk/credential-provider-node","@aws-sdk/credential-provider-process","@aws-sdk/credential-provider-sso","@aws-sdk/credential-provider-web-identity","@aws-sdk/eventstream-handler-node","@aws-sdk/middleware-eventstream","@aws-sdk/middleware-websocket","@aws-sdk/nested-clients","@aws-sdk/signature-v4-multi-region","@aws-sdk/token-providers","@aws-sdk/types","@aws-sdk/xml-builder","@aws/lambda-invoke-store","@babel/runtime","@bufbuild/protobuf","@code-yeongyu/senpi-codemode","@earendil-works/chord","@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-pty","@earendil-works/pi-telemetry","@earendil-works/pi-tui","@google/genai","@hono/node-server","@mixmark-io/domino","@modelcontextprotocol/sdk","@mozilla/readability","@opentelemetry/api","@protobufjs/aspromise","@protobufjs/base64","@protobufjs/codegen","@protobufjs/eventemitter","@protobufjs/fetch","@protobufjs/float","@protobufjs/path","@protobufjs/pool","@protobufjs/utf8","@silvia-odwyer/photon-node","@smithy/core","@smithy/credential-provider-imds","@smithy/fetch-http-handler","@smithy/node-http-handler","@smithy/signature-v4","@smithy/types","@stablelib/base64","@types/node","@xterm/headless","accepts","agent-base","ajv","ajv-formats","balanced-match","base64-js","bignumber.js","body-parser","boolbase","bowser","brace-expansion","buffer-equal-constant-time","bytes","call-bind-apply-helpers","call-bound","chalk","content-disposition","content-type","cookie","cookie-signature","cors","cross-spawn","css-select","css-what","cssom","data-uri-to-buffer","debug","depd","diff","dom-serializer","domelementtype","domhandler","domutils","dunder-proto","ecdsa-sig-formatter","ee-first","encodeurl","entities","es-define-property","es-errors","es-module-lexer","es-object-atoms","esbuild","escape-html","etag","eventsource","eventsource-parser","express","express-rate-limit","extend","fast-deep-equal","fast-sha256","fast-uri","fetch-blob","finalhandler","formdata-polyfill","forwarded","fresh","function-bind","gaxios","gcp-metadata","get-east-asian-width","get-intrinsic","get-proto","glob","google-auth-library","google-logging-utils","gopd","graceful-fs","grok-mermaid","has-symbols","hasown","highlight.js","hono","hosted-git-info","htmlparser2","http-errors","http-proxy-agent","https-proxy-agent","iconv-lite","ignore","inherits","ip-address","ipaddr.js","is-promise","isexe","jiti","jose","json-bigint","json-schema-to-ts","json-schema-traverse","json-schema-typed","jwa","jws","linkedom","long","lru-cache","marked","math-intrinsics","media-typer","merge-descriptors","mime-db","mime-types","minimatch","minipass","ms","negotiator","node-domexception","node-fetch","nth-check","object-assign","object-inspect","on-finished","once","openai","p-retry","parseurl","partial-json","path-key","path-scurry","path-to-regexp","picomatch","pkce-challenge","proper-lockfile","protobufjs","proxy-addr","proxy-agent-negotiate","proxy-from-env","qs","range-parser","raw-body","require-from-string","retry","router","safe-buffer","safer-buffer","semver","send","serve-static","setprototypeof","shebang-command","shebang-regex","side-channel","side-channel-list","side-channel-map","side-channel-weakmap","signal-exit","standardwebhooks","statuses","toidentifier","ts-algebra","tslib","turndown","type-is","typebox","uhyphen","undici","undici-types","unpipe","vary","web-streams-polyfill","web-tree-sitter","which","wrappy","ws","yaml","zod","zod-to-json-schema"],"optionalDependencies":{"@esbuild/aix-ppc64":"0.28.2","@esbuild/linux-arm":"0.28.2","@esbuild/linux-x64":"0.28.2","@esbuild/sunos-x64":"0.28.2","@esbuild/win32-x64":"0.28.2","@esbuild/darwin-x64":"0.28.2","@esbuild/linux-ia32":"0.28.2","@esbuild/netbsd-x64":"0.28.2","@esbuild/win32-ia32":"0.28.2","@esbuild/android-arm":"0.28.2","@esbuild/android-x64":"0.28.2","@esbuild/freebsd-x64":"0.28.2","@esbuild/linux-arm64":"0.28.2","@esbuild/linux-ppc64":"0.28.2","@esbuild/linux-s390x":"0.28.2","@esbuild/openbsd-x64":"0.28.2","@esbuild/win32-arm64":"0.28.2","@esbuild/darwin-arm64":"0.28.2","@esbuild/netbsd-arm64":"0.28.2","@esbuild/android-arm64":"0.28.2","@esbuild/freebsd-arm64":"0.28.2","@esbuild/linux-loong64":"0.28.2","@esbuild/linux-riscv64":"0.28.2","@esbuild/openbsd-arm64":"0.28.2","@esbuild/linux-mips64el":"0.28.2","@esbuild/openharmony-arm64":"0.28.2","@anthropic-ai/claude-agent-sdk-linux-x64":"0.3.278","@anthropic-ai/claude-agent-sdk-win32-x64":"0.3.278","@anthropic-ai/claude-agent-sdk-darwin-x64":"0.3.278","@anthropic-ai/claude-agent-sdk-linux-arm64":"0.3.278","@anthropic-ai/claude-agent-sdk-win32-arm64":"0.3.278","@anthropic-ai/claude-agent-sdk-darwin-arm64":"0.3.278","@anthropic-ai/claude-agent-sdk-linux-x64-musl":"0.3.278","@anthropic-ai/claude-agent-sdk-linux-arm64-musl":"0.3.278"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.9.21_1789979326355_0.8420727559016832","host":"s3://npm-registry-packages-npm-production"}},"2026.9.21-2":{"name":"@code-yeongyu/senpi","version":"2026.9.21-2","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.9.21-2","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"pi":"dist/bundle/cli.js","senpi":"dist/bundle/cli.js"},"dist":{"shasum":"a4f0f55c080b9a1a4bef119a8a46d20a9a5587a7","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.9.21-2.tgz","fileCount":26997,"integrity":"sha512-odDIrjtnmjKXI5wDDnMESWiTJ5b1wdA3sKTmMjECwEcbgjTdoxHvBABwESBACc+6Avi9H7lvwQ1AViBTVTxjsg==","signatures":[{"sig":"MEQCICn78fm+yTBhOlc9jbUb5nmynmKrjGDUyizXzhcldW3JAiAEq7OBnrjbSzfxhnqOLgVAQyv7CVCXEyhNCvjj9O/C+w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQC7y84x6C656FyPXRoBialoYue2GAyyWiXJiksZGRJCagIhAOD1OxX4ChlDHAvs2C2MpkleNKWNZxLgW6ZqB2lJ7p5L","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.9.21-2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":204815018},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.js"},"./rpc-entry":{"import":"./dist/rpc-entry.js"},"./bun-runtime":{"types":"./dist/bun/runtime-modules.d.ts","import":"./dist/bun/runtime-modules.js"}},"scripts":{"dev":"tsc -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsgo -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js dist/rpc-entry.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi && npm run build:bundle","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/","build:binary":"npm --prefix ../tui run build && npm --prefix ../telemetry run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm --prefix ../protocol run build && npm --prefix ../client run build && npm --prefix ../pty run build && npm run build && node ../../scripts/prepare-bun-compile-assets.mjs && bun build --compile --splitting --compile-autoload-package-json --no-compile-autoload-dotenv --no-compile-autoload-bunfig --minify --keep-names ./dist/bun/cli.js ./src/modes/rpc/session-worker.ts ./src/utils/image-resize-worker.ts --outfile dist/pi && npm run copy-binary-assets","build:bundle":"node ../../scripts/build-coding-agent-bundle.mjs","qa:app-server":"node scripts/qa-app-server/run-all.mjs","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","build:unbundled":"tsgo -p tsconfig.build.json && shx chmod +x dist/cli.js dist/rpc-entry.js && npm run copy-assets","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/export-html/ && shx cp -r docs dist/ && shx cp -r examples dist/ && node ../../scripts/copy-codemode-sidecar.mjs dist && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/ && shx mkdir -p dist/native/darwin dist/native/win32 && shx cp -r ../../packages/tui/native/darwin/prebuilds dist/native/darwin/ && shx cp -r ../../packages/tui/native/win32/prebuilds dist/native/win32/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/ && node ../../scripts/copy-pty-native.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ea548fc8-dac4-4dec-a439-6f4fa3870309"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.3"},"rimraf":"6.1.3","protobufjs":"7.6.5","@hono/node-server":"2.1.1"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.19.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.20.0","dependencies":{"ms":"2.1.3","qs":"6.16.0","ws":"8.21.3","ajv":"8.20.0","jwa":"2.0.1","jws":"4.0.1","zod":"4.6.5","cors":"2.8.6","depd":"2.0.0","diff":"9.0.0","etag":"1.8.1","glob":"13.0.6","gopd":"1.2.0","hono":"4.13.8","jiti":"2.7.0","jose":"6.2.3","long":"5.3.2","once":"1.4.0","send":"1.2.1","vary":"1.1.2","yaml":"2.9.1","bytes":"3.1.2","chalk":"6.0.0","cssom":"0.5.0","debug":"4.4.3","fresh":"2.0.0","isexe":"2.0.0","retry":"0.13.1","tslib":"2.8.1","which":"2.0.2","bowser":"2.14.1","cookie":"0.7.2","extend":"3.0.2","gaxios":"7.1.4","hasown":"2.0.3","ignore":"7.0.9","marked":"18.0.13","openai":"6.26.0","router":"2.2.0","semver":"7.8.5","undici":"8.10.2","unpipe":"1.0.0","wrappy":"1.0.2","accepts":"2.0.0","esbuild":"0.28.2","express":"5.2.1","mime-db":"1.54.0","p-retry":"4.6.2","type-is":"2.1.0","typebox":"1.3.34","uhyphen":"0.2.0","boolbase":"2.0.0","css-what":"8.0.0","domutils":"3.2.2","ee-first":"1.1.1","entities":"8.1.0","fast-uri":"3.1.8","inherits":"2.0.4","linkedom":"0.18.13","minipass":"7.1.3","parseurl":"1.3.3","path-key":"3.1.1","raw-body":"3.0.2","statuses":"2.0.2","turndown":"7.2.4","base64-js":"1.5.1","encodeurl":"2.0.0","es-errors":"1.3.0","forwarded":"0.2.0","get-proto":"1.0.1","ipaddr.js":"1.9.1","lru-cache":"11.5.2","minimatch":"10.2.6","nth-check":"3.0.1","picomatch":"4.0.7","agent-base":"9.0.0","call-bound":"1.0.4","css-select":"7.0.0","domhandler":"5.0.3","fetch-blob":"3.2.0","iconv-lite":"0.7.3","ip-address":"10.7.2","is-promise":"4.0.0","mime-types":"3.0.2","negotiator":"1.0.0","node-fetch":"3.3.2","protobufjs":"7.6.5","proxy-addr":"2.0.7","ts-algebra":"2.0.0","@types/node":"26.6.2","ajv-formats":"3.0.1","body-parser":"2.3.0","cross-spawn":"7.0.6","escape-html":"1.0.3","eventsource":"3.0.7","fast-sha256":"1.3.0","graceful-fs":"4.2.11","has-symbols":"1.1.0","htmlparser2":"10.1.0","http-errors":"2.0.1","json-bigint":"1.0.0","media-typer":"1.1.0","on-finished":"2.4.1","path-scurry":"2.0.2","safe-buffer":"5.2.1","signal-exit":"3.0.7","@smithy/core":"3.33.3","bignumber.js":"9.3.1","content-type":"1.0.5","dunder-proto":"1.0.1","finalhandler":"2.1.1","gcp-metadata":"8.1.2","grok-mermaid":"0.2.3","highlight.js":"11.12.0","partial-json":"0.1.7","range-parser":"1.3.0","safer-buffer":"2.1.2","serve-static":"2.2.1","side-channel":"1.1.1","toidentifier":"1.0.1","undici-types":"8.9.0","@aws-sdk/core":"3.978.0","@google/genai":"2.23.0","@smithy/types":"4.18.0","function-bind":"1.1.2","get-intrinsic":"1.3.0","object-assign":"4.1.1","shebang-regex":"3.0.0","@aws-sdk/types":"3.974.5","@babel/runtime":"7.29.2","balanced-match":"4.0.4","dom-serializer":"2.0.0","domelementtype":"2.3.0","object-inspect":"1.13.4","path-to-regexp":"8.4.2","pkce-challenge":"5.0.1","proxy-from-env":"2.1.0","setprototypeof":"1.2.0","@xterm/headless":"6.0.0","brace-expansion":"5.0.12","es-module-lexer":"3.0.2","es-object-atoms":"1.1.2","fast-deep-equal":"3.1.3","hosted-git-info":"10.1.1","math-intrinsics":"1.1.0","proper-lockfile":"4.1.2","shebang-command":"2.0.0","web-tree-sitter":"0.27.0","@protobufjs/path":"1.1.2","@protobufjs/pool":"1.1.0","@protobufjs/utf8":"1.1.1","cookie-signature":"1.2.2","http-proxy-agent":"9.1.0","side-channel-map":"1.0.1","standardwebhooks":"1.0.0","@anthropic-ai/sdk":"0.127.0","@hono/node-server":"2.1.1","@protobufjs/fetch":"1.1.1","@protobufjs/float":"1.0.2","@stablelib/base64":"1.0.1","formdata-polyfill":"4.0.10","https-proxy-agent":"9.1.0","json-schema-to-ts":"3.1.1","json-schema-typed":"8.0.2","merge-descriptors":"2.0.0","node-domexception":"1.0.0","side-channel-list":"1.0.1","@bufbuild/protobuf":"2.15.0","@mixmark-io/domino":"2.2.0","@opentelemetry/api":"1.9.1","@protobufjs/base64":"1.1.2","data-uri-to-buffer":"4.0.1","es-define-property":"1.0.1","eventsource-parser":"3.1.0","express-rate-limit":"8.7.0","zod-to-json-schema":"3.25.2","@protobufjs/codegen":"2.0.5","content-disposition":"1.1.0","ecdsa-sig-formatter":"1.0.11","google-auth-library":"10.6.2","require-from-string":"2.0.2","@aws-sdk/xml-builder":"3.972.40","@mozilla/readability":"0.6.0","@smithy/signature-v4":"5.7.3","get-east-asian-width":"1.7.0","google-logging-utils":"1.1.3","json-schema-traverse":"1.0.0","side-channel-weakmap":"1.0.2","web-streams-polyfill":"3.3.3","@earendil-works/chord":"0.85.1","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.9.21-2","@protobufjs/aspromise":"1.1.2","proxy-agent-negotiate":"1.1.0","@earendil-works/pi-pty":"npm:@code-yeongyu/senpi-pty@2026.9.21-2","@earendil-works/pi-tui":"npm:@code-yeongyu/senpi-tui@2026.9.21-2","@aws-sdk/nested-clients":"3.997.45","call-bind-apply-helpers":"1.0.2","@aws-sdk/token-providers":"3.1136.0","@aws/lambda-invoke-store":"0.3.0","@protobufjs/eventemitter":"1.1.1","@modelcontextprotocol/sdk":"1.30.0","@smithy/node-http-handler":"4.12.1","@silvia-odwyer/photon-node":"0.3.4","@smithy/fetch-http-handler":"5.7.2","buffer-equal-constant-time":"1.0.1","@code-yeongyu/senpi-codemode":"2026.9.21-2","@earendil-works/pi-telemetry":"npm:@code-yeongyu/senpi-telemetry@2026.9.21-2","@aws-sdk/middleware-websocket":"3.972.53","@earendil-works/pi-agent-core":"npm:@code-yeongyu/senpi-agent-core@2026.9.21-2","@anthropic-ai/claude-agent-sdk":"0.3.278","@aws-sdk/client-bedrock-runtime":"3.1136.0","@aws-sdk/middleware-eventstream":"3.972.29","@aws-sdk/credential-provider-env":"3.972.71","@aws-sdk/credential-provider-ini":"3.973.16","@aws-sdk/credential-provider-sso":"3.973.15","@smithy/credential-provider-imds":"4.5.2","@aws-sdk/credential-provider-http":"3.972.73","@aws-sdk/credential-provider-node":"3.972.83","@aws-sdk/eventstream-handler-node":"3.972.34","@aws-sdk/credential-provider-login":"3.972.78","@aws-sdk/signature-v4-multi-region":"3.996.46","@aws-sdk/credential-provider-process":"3.972.71","@aws-sdk/credential-provider-web-identity":"3.972.77"},"_hasShrinkwrap":false,"devDependencies":{"shx":"0.4.0","vitest":"5.0.1","@types/ws":"8.18.1","typescript":"7.0.2","@types/node":"26.6.2","@types/semver":"7.8.0","@types/turndown":"5.0.6","@types/picomatch":"4.0.3","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@anthropic-ai/claude-agent-sdk","@anthropic-ai/sdk","@aws-sdk/client-bedrock-runtime","@aws-sdk/core","@aws-sdk/credential-provider-env","@aws-sdk/credential-provider-http","@aws-sdk/credential-provider-ini","@aws-sdk/credential-provider-login","@aws-sdk/credential-provider-node","@aws-sdk/credential-provider-process","@aws-sdk/credential-provider-sso","@aws-sdk/credential-provider-web-identity","@aws-sdk/eventstream-handler-node","@aws-sdk/middleware-eventstream","@aws-sdk/middleware-websocket","@aws-sdk/nested-clients","@aws-sdk/signature-v4-multi-region","@aws-sdk/token-providers","@aws-sdk/types","@aws-sdk/xml-builder","@aws/lambda-invoke-store","@babel/runtime","@bufbuild/protobuf","@code-yeongyu/senpi-codemode","@earendil-works/chord","@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-pty","@earendil-works/pi-telemetry","@earendil-works/pi-tui","@google/genai","@hono/node-server","@mixmark-io/domino","@modelcontextprotocol/sdk","@mozilla/readability","@opentelemetry/api","@protobufjs/aspromise","@protobufjs/base64","@protobufjs/codegen","@protobufjs/eventemitter","@protobufjs/fetch","@protobufjs/float","@protobufjs/path","@protobufjs/pool","@protobufjs/utf8","@silvia-odwyer/photon-node","@smithy/core","@smithy/credential-provider-imds","@smithy/fetch-http-handler","@smithy/node-http-handler","@smithy/signature-v4","@smithy/types","@stablelib/base64","@types/node","@xterm/headless","accepts","agent-base","ajv","ajv-formats","balanced-match","base64-js","bignumber.js","body-parser","boolbase","bowser","brace-expansion","buffer-equal-constant-time","bytes","call-bind-apply-helpers","call-bound","chalk","content-disposition","content-type","cookie","cookie-signature","cors","cross-spawn","css-select","css-what","cssom","data-uri-to-buffer","debug","depd","diff","dom-serializer","domelementtype","domhandler","domutils","dunder-proto","ecdsa-sig-formatter","ee-first","encodeurl","entities","es-define-property","es-errors","es-module-lexer","es-object-atoms","esbuild","escape-html","etag","eventsource","eventsource-parser","express","express-rate-limit","extend","fast-deep-equal","fast-sha256","fast-uri","fetch-blob","finalhandler","formdata-polyfill","forwarded","fresh","function-bind","gaxios","gcp-metadata","get-east-asian-width","get-intrinsic","get-proto","glob","google-auth-library","google-logging-utils","gopd","graceful-fs","grok-mermaid","has-symbols","hasown","highlight.js","hono","hosted-git-info","htmlparser2","http-errors","http-proxy-agent","https-proxy-agent","iconv-lite","ignore","inherits","ip-address","ipaddr.js","is-promise","isexe","jiti","jose","json-bigint","json-schema-to-ts","json-schema-traverse","json-schema-typed","jwa","jws","linkedom","long","lru-cache","marked","math-intrinsics","media-typer","merge-descriptors","mime-db","mime-types","minimatch","minipass","ms","negotiator","node-domexception","node-fetch","nth-check","object-assign","object-inspect","on-finished","once","openai","p-retry","parseurl","partial-json","path-key","path-scurry","path-to-regexp","picomatch","pkce-challenge","proper-lockfile","protobufjs","proxy-addr","proxy-agent-negotiate","proxy-from-env","qs","range-parser","raw-body","require-from-string","retry","router","safe-buffer","safer-buffer","semver","send","serve-static","setprototypeof","shebang-command","shebang-regex","side-channel","side-channel-list","side-channel-map","side-channel-weakmap","signal-exit","standardwebhooks","statuses","toidentifier","ts-algebra","tslib","turndown","type-is","typebox","uhyphen","undici","undici-types","unpipe","vary","web-streams-polyfill","web-tree-sitter","which","wrappy","ws","yaml","zod","zod-to-json-schema"],"optionalDependencies":{"@esbuild/aix-ppc64":"0.28.2","@esbuild/linux-arm":"0.28.2","@esbuild/linux-x64":"0.28.2","@esbuild/sunos-x64":"0.28.2","@esbuild/win32-x64":"0.28.2","@esbuild/darwin-x64":"0.28.2","@esbuild/linux-ia32":"0.28.2","@esbuild/netbsd-x64":"0.28.2","@esbuild/win32-ia32":"0.28.2","@esbuild/android-arm":"0.28.2","@esbuild/android-x64":"0.28.2","@esbuild/freebsd-x64":"0.28.2","@esbuild/linux-arm64":"0.28.2","@esbuild/linux-ppc64":"0.28.2","@esbuild/linux-s390x":"0.28.2","@esbuild/openbsd-x64":"0.28.2","@esbuild/win32-arm64":"0.28.2","@esbuild/darwin-arm64":"0.28.2","@esbuild/netbsd-arm64":"0.28.2","@esbuild/android-arm64":"0.28.2","@esbuild/freebsd-arm64":"0.28.2","@esbuild/linux-loong64":"0.28.2","@esbuild/linux-riscv64":"0.28.2","@esbuild/openbsd-arm64":"0.28.2","@esbuild/linux-mips64el":"0.28.2","@esbuild/openharmony-arm64":"0.28.2","@anthropic-ai/claude-agent-sdk-linux-x64":"0.3.278","@anthropic-ai/claude-agent-sdk-win32-x64":"0.3.278","@anthropic-ai/claude-agent-sdk-darwin-x64":"0.3.278","@anthropic-ai/claude-agent-sdk-linux-arm64":"0.3.278","@anthropic-ai/claude-agent-sdk-win32-arm64":"0.3.278","@anthropic-ai/claude-agent-sdk-darwin-arm64":"0.3.278","@anthropic-ai/claude-agent-sdk-linux-x64-musl":"0.3.278","@anthropic-ai/claude-agent-sdk-linux-arm64-musl":"0.3.278"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.9.21-2_1789988238583_0.4696073702961274","host":"s3://npm-registry-packages-npm-production"}},"2026.9.22":{"name":"@code-yeongyu/senpi","version":"2026.9.22","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.9.22","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"pi":"dist/bundle/cli.js","senpi":"dist/bundle/cli.js"},"dist":{"shasum":"a077999c37f8e1c805d1b8e7ab006e081af11aa9","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.9.22.tgz","fileCount":27022,"integrity":"sha512-26HqycZC71sB4Lp7hKDYVEB/6xIKKErdgGLO/w7iP79OUc3ffGEM7EiPEEti2vOfgoKi15kYjIITDJzIgNdDkw==","signatures":[{"sig":"MEUCIQDX2YnR7SmtR4b+XdWJ2yQcqqUBWHGMkHFvWFh6ZomP2gIgPt5V6hO5SkJrveQ2hAh64hWMMVnPkfDoCvN7VALiMkI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCxztnfogSH6xlnPDMddCOF2nPaTtxwvB1Dl5PCDw6YwAIgTUj+ppFIMkzz+wRu25c0swo5+VP6qOqtEoLVCsLKbRU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.9.22","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":204969559},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.js"},"./rpc-entry":{"import":"./dist/rpc-entry.js"},"./bun-runtime":{"types":"./dist/bun/runtime-modules.d.ts","import":"./dist/bun/runtime-modules.js"}},"scripts":{"dev":"tsc -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsgo -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js dist/rpc-entry.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi && npm run build:bundle","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/","build:binary":"npm --prefix ../tui run build && npm --prefix ../telemetry run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm --prefix ../protocol run build && npm --prefix ../client run build && npm --prefix ../pty run build && npm run build && node ../../scripts/prepare-bun-compile-assets.mjs && bun build --compile --splitting --compile-autoload-package-json --no-compile-autoload-dotenv --no-compile-autoload-bunfig --minify --keep-names ./dist/bun/cli.js ./src/modes/rpc/session-worker.ts ./src/utils/image-resize-worker.ts --outfile dist/pi && npm run copy-binary-assets","build:bundle":"node ../../scripts/build-coding-agent-bundle.mjs","qa:app-server":"node scripts/qa-app-server/run-all.mjs","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","build:unbundled":"tsgo -p tsconfig.build.json && shx chmod +x dist/cli.js dist/rpc-entry.js && npm run copy-assets","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/export-html/ && shx cp -r docs dist/ && shx cp -r examples dist/ && node ../../scripts/copy-codemode-sidecar.mjs dist && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/ && shx mkdir -p dist/native/darwin dist/native/win32 && shx cp -r ../../packages/tui/native/darwin/prebuilds dist/native/darwin/ && shx cp -r ../../packages/tui/native/win32/prebuilds dist/native/win32/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/ && node ../../scripts/copy-pty-native.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ea548fc8-dac4-4dec-a439-6f4fa3870309"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.3"},"rimraf":"6.1.3","protobufjs":"7.6.5","@hono/node-server":"2.1.1"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.19.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.20.0","dependencies":{"ms":"2.1.3","qs":"6.16.0","ws":"8.21.3","ajv":"8.20.0","jwa":"2.0.1","jws":"4.0.1","zod":"4.6.5","cors":"2.8.6","depd":"2.0.0","diff":"9.0.0","etag":"1.8.1","glob":"13.0.6","gopd":"1.2.0","hono":"4.13.8","jiti":"2.7.0","jose":"6.2.3","long":"5.3.2","once":"1.4.0","send":"1.2.1","vary":"1.1.2","yaml":"2.9.1","bytes":"3.1.2","chalk":"6.0.0","cssom":"0.5.0","debug":"4.4.3","fresh":"2.0.0","isexe":"2.0.0","retry":"0.13.1","tslib":"2.8.1","which":"2.0.2","bowser":"2.14.1","cookie":"0.7.2","extend":"3.0.2","gaxios":"7.1.4","hasown":"2.0.3","ignore":"7.0.9","marked":"18.0.13","openai":"6.26.0","router":"2.2.0","semver":"7.8.5","undici":"8.10.2","unpipe":"1.0.0","wrappy":"1.0.2","accepts":"2.0.0","esbuild":"0.28.2","express":"5.2.1","mime-db":"1.54.0","p-retry":"4.6.2","type-is":"2.1.0","typebox":"1.3.34","uhyphen":"0.2.0","boolbase":"2.0.0","css-what":"8.0.0","domutils":"3.2.2","ee-first":"1.1.1","entities":"8.1.0","fast-uri":"3.1.8","inherits":"2.0.4","linkedom":"0.18.13","minipass":"7.1.3","parseurl":"1.3.3","path-key":"3.1.1","raw-body":"3.0.2","statuses":"2.0.2","turndown":"7.2.4","base64-js":"1.5.1","encodeurl":"2.0.0","es-errors":"1.3.0","forwarded":"0.2.0","get-proto":"1.0.1","ipaddr.js":"1.9.1","lru-cache":"11.5.2","minimatch":"10.2.6","nth-check":"3.0.1","picomatch":"4.0.7","agent-base":"9.0.0","call-bound":"1.0.4","css-select":"7.0.0","domhandler":"5.0.3","fetch-blob":"3.2.0","iconv-lite":"0.7.3","ip-address":"10.7.2","is-promise":"4.0.0","mime-types":"3.0.2","negotiator":"1.0.0","node-fetch":"3.3.2","protobufjs":"7.6.5","proxy-addr":"2.0.7","ts-algebra":"2.0.0","@types/node":"26.6.2","ajv-formats":"3.0.1","body-parser":"2.3.0","cross-spawn":"7.0.6","escape-html":"1.0.3","eventsource":"3.0.7","fast-sha256":"1.3.0","graceful-fs":"4.2.11","has-symbols":"1.1.0","htmlparser2":"10.1.0","http-errors":"2.0.1","json-bigint":"1.0.0","media-typer":"1.1.0","on-finished":"2.4.1","path-scurry":"2.0.2","safe-buffer":"5.2.1","signal-exit":"3.0.7","@smithy/core":"3.33.3","bignumber.js":"9.3.1","content-type":"1.0.5","dunder-proto":"1.0.1","finalhandler":"2.1.1","gcp-metadata":"8.1.2","grok-mermaid":"0.2.3","highlight.js":"11.12.0","partial-json":"0.1.7","range-parser":"1.3.0","safer-buffer":"2.1.2","serve-static":"2.2.1","side-channel":"1.1.1","toidentifier":"1.0.1","undici-types":"8.9.0","@aws-sdk/core":"3.978.0","@google/genai":"2.23.0","@smithy/types":"4.18.0","function-bind":"1.1.2","get-intrinsic":"1.3.0","object-assign":"4.1.1","shebang-regex":"3.0.0","@aws-sdk/types":"3.974.5","@babel/runtime":"7.29.2","balanced-match":"4.0.4","dom-serializer":"2.0.0","domelementtype":"2.3.0","object-inspect":"1.13.4","path-to-regexp":"8.4.2","pkce-challenge":"5.0.1","proxy-from-env":"2.1.0","setprototypeof":"1.2.0","@xterm/headless":"6.0.0","brace-expansion":"5.0.12","es-module-lexer":"3.0.2","es-object-atoms":"1.1.2","fast-deep-equal":"3.1.3","hosted-git-info":"10.1.1","math-intrinsics":"1.1.0","proper-lockfile":"4.1.2","shebang-command":"2.0.0","web-tree-sitter":"0.27.0","@protobufjs/path":"1.1.2","@protobufjs/pool":"1.1.0","@protobufjs/utf8":"1.1.1","cookie-signature":"1.2.2","http-proxy-agent":"9.1.0","side-channel-map":"1.0.1","standardwebhooks":"1.0.0","@anthropic-ai/sdk":"0.127.0","@hono/node-server":"2.1.1","@protobufjs/fetch":"1.1.1","@protobufjs/float":"1.0.2","@stablelib/base64":"1.0.1","formdata-polyfill":"4.0.10","https-proxy-agent":"9.1.0","json-schema-to-ts":"3.1.1","json-schema-typed":"8.0.2","merge-descriptors":"2.0.0","node-domexception":"1.0.0","side-channel-list":"1.0.1","@bufbuild/protobuf":"2.15.0","@mixmark-io/domino":"2.2.0","@opentelemetry/api":"1.9.1","@protobufjs/base64":"1.1.2","data-uri-to-buffer":"4.0.1","es-define-property":"1.0.1","eventsource-parser":"3.1.0","express-rate-limit":"8.7.0","zod-to-json-schema":"3.25.2","@protobufjs/codegen":"2.0.5","content-disposition":"1.1.0","ecdsa-sig-formatter":"1.0.11","google-auth-library":"10.6.2","require-from-string":"2.0.2","@aws-sdk/xml-builder":"3.972.40","@mozilla/readability":"0.6.0","@smithy/signature-v4":"5.7.3","get-east-asian-width":"1.7.0","google-logging-utils":"1.1.3","json-schema-traverse":"1.0.0","side-channel-weakmap":"1.0.2","web-streams-polyfill":"3.3.3","@earendil-works/chord":"0.85.1","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.9.22","@protobufjs/aspromise":"1.1.2","proxy-agent-negotiate":"1.1.0","@earendil-works/pi-pty":"npm:@code-yeongyu/senpi-pty@2026.9.22","@earendil-works/pi-tui":"npm:@code-yeongyu/senpi-tui@2026.9.22","@aws-sdk/nested-clients":"3.997.45","call-bind-apply-helpers":"1.0.2","@aws-sdk/token-providers":"3.1136.0","@aws/lambda-invoke-store":"0.3.0","@protobufjs/eventemitter":"1.1.1","@modelcontextprotocol/sdk":"1.30.0","@smithy/node-http-handler":"4.12.1","@silvia-odwyer/photon-node":"0.3.4","@smithy/fetch-http-handler":"5.7.2","buffer-equal-constant-time":"1.0.1","@code-yeongyu/senpi-codemode":"2026.9.22","@earendil-works/pi-telemetry":"npm:@code-yeongyu/senpi-telemetry@2026.9.22","@aws-sdk/middleware-websocket":"3.972.53","@earendil-works/pi-agent-core":"npm:@code-yeongyu/senpi-agent-core@2026.9.22","@anthropic-ai/claude-agent-sdk":"0.3.278","@aws-sdk/client-bedrock-runtime":"3.1136.0","@aws-sdk/middleware-eventstream":"3.972.29","@aws-sdk/credential-provider-env":"3.972.71","@aws-sdk/credential-provider-ini":"3.973.16","@aws-sdk/credential-provider-sso":"3.973.15","@smithy/credential-provider-imds":"4.5.2","@aws-sdk/credential-provider-http":"3.972.73","@aws-sdk/credential-provider-node":"3.972.83","@aws-sdk/eventstream-handler-node":"3.972.34","@aws-sdk/credential-provider-login":"3.972.78","@aws-sdk/signature-v4-multi-region":"3.996.46","@aws-sdk/credential-provider-process":"3.972.71","@aws-sdk/credential-provider-web-identity":"3.972.77"},"_hasShrinkwrap":false,"devDependencies":{"shx":"0.4.0","vitest":"5.0.1","@types/ws":"8.18.1","typescript":"7.0.2","@types/node":"26.6.2","@types/semver":"7.8.0","@types/turndown":"5.0.6","@types/picomatch":"4.0.3","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@anthropic-ai/claude-agent-sdk","@anthropic-ai/sdk","@aws-sdk/client-bedrock-runtime","@aws-sdk/core","@aws-sdk/credential-provider-env","@aws-sdk/credential-provider-http","@aws-sdk/credential-provider-ini","@aws-sdk/credential-provider-login","@aws-sdk/credential-provider-node","@aws-sdk/credential-provider-process","@aws-sdk/credential-provider-sso","@aws-sdk/credential-provider-web-identity","@aws-sdk/eventstream-handler-node","@aws-sdk/middleware-eventstream","@aws-sdk/middleware-websocket","@aws-sdk/nested-clients","@aws-sdk/signature-v4-multi-region","@aws-sdk/token-providers","@aws-sdk/types","@aws-sdk/xml-builder","@aws/lambda-invoke-store","@babel/runtime","@bufbuild/protobuf","@code-yeongyu/senpi-codemode","@earendil-works/chord","@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-pty","@earendil-works/pi-telemetry","@earendil-works/pi-tui","@google/genai","@hono/node-server","@mixmark-io/domino","@modelcontextprotocol/sdk","@mozilla/readability","@opentelemetry/api","@protobufjs/aspromise","@protobufjs/base64","@protobufjs/codegen","@protobufjs/eventemitter","@protobufjs/fetch","@protobufjs/float","@protobufjs/path","@protobufjs/pool","@protobufjs/utf8","@silvia-odwyer/photon-node","@smithy/core","@smithy/credential-provider-imds","@smithy/fetch-http-handler","@smithy/node-http-handler","@smithy/signature-v4","@smithy/types","@stablelib/base64","@types/node","@xterm/headless","accepts","agent-base","ajv","ajv-formats","balanced-match","base64-js","bignumber.js","body-parser","boolbase","bowser","brace-expansion","buffer-equal-constant-time","bytes","call-bind-apply-helpers","call-bound","chalk","content-disposition","content-type","cookie","cookie-signature","cors","cross-spawn","css-select","css-what","cssom","data-uri-to-buffer","debug","depd","diff","dom-serializer","domelementtype","domhandler","domutils","dunder-proto","ecdsa-sig-formatter","ee-first","encodeurl","entities","es-define-property","es-errors","es-module-lexer","es-object-atoms","esbuild","escape-html","etag","eventsource","eventsource-parser","express","express-rate-limit","extend","fast-deep-equal","fast-sha256","fast-uri","fetch-blob","finalhandler","formdata-polyfill","forwarded","fresh","function-bind","gaxios","gcp-metadata","get-east-asian-width","get-intrinsic","get-proto","glob","google-auth-library","google-logging-utils","gopd","graceful-fs","grok-mermaid","has-symbols","hasown","highlight.js","hono","hosted-git-info","htmlparser2","http-errors","http-proxy-agent","https-proxy-agent","iconv-lite","ignore","inherits","ip-address","ipaddr.js","is-promise","isexe","jiti","jose","json-bigint","json-schema-to-ts","json-schema-traverse","json-schema-typed","jwa","jws","linkedom","long","lru-cache","marked","math-intrinsics","media-typer","merge-descriptors","mime-db","mime-types","minimatch","minipass","ms","negotiator","node-domexception","node-fetch","nth-check","object-assign","object-inspect","on-finished","once","openai","p-retry","parseurl","partial-json","path-key","path-scurry","path-to-regexp","picomatch","pkce-challenge","proper-lockfile","protobufjs","proxy-addr","proxy-agent-negotiate","proxy-from-env","qs","range-parser","raw-body","require-from-string","retry","router","safe-buffer","safer-buffer","semver","send","serve-static","setprototypeof","shebang-command","shebang-regex","side-channel","side-channel-list","side-channel-map","side-channel-weakmap","signal-exit","standardwebhooks","statuses","toidentifier","ts-algebra","tslib","turndown","type-is","typebox","uhyphen","undici","undici-types","unpipe","vary","web-streams-polyfill","web-tree-sitter","which","wrappy","ws","yaml","zod","zod-to-json-schema"],"optionalDependencies":{"@esbuild/aix-ppc64":"0.28.2","@esbuild/linux-arm":"0.28.2","@esbuild/linux-x64":"0.28.2","@esbuild/sunos-x64":"0.28.2","@esbuild/win32-x64":"0.28.2","@esbuild/darwin-x64":"0.28.2","@esbuild/linux-ia32":"0.28.2","@esbuild/netbsd-x64":"0.28.2","@esbuild/win32-ia32":"0.28.2","@esbuild/android-arm":"0.28.2","@esbuild/android-x64":"0.28.2","@esbuild/freebsd-x64":"0.28.2","@esbuild/linux-arm64":"0.28.2","@esbuild/linux-ppc64":"0.28.2","@esbuild/linux-s390x":"0.28.2","@esbuild/openbsd-x64":"0.28.2","@esbuild/win32-arm64":"0.28.2","@esbuild/darwin-arm64":"0.28.2","@esbuild/netbsd-arm64":"0.28.2","@esbuild/android-arm64":"0.28.2","@esbuild/freebsd-arm64":"0.28.2","@esbuild/linux-loong64":"0.28.2","@esbuild/linux-riscv64":"0.28.2","@esbuild/openbsd-arm64":"0.28.2","@esbuild/linux-mips64el":"0.28.2","@esbuild/openharmony-arm64":"0.28.2","@anthropic-ai/claude-agent-sdk-linux-x64":"0.3.278","@anthropic-ai/claude-agent-sdk-win32-x64":"0.3.278","@anthropic-ai/claude-agent-sdk-darwin-x64":"0.3.278","@anthropic-ai/claude-agent-sdk-linux-arm64":"0.3.278","@anthropic-ai/claude-agent-sdk-win32-arm64":"0.3.278","@anthropic-ai/claude-agent-sdk-darwin-arm64":"0.3.278","@anthropic-ai/claude-agent-sdk-linux-x64-musl":"0.3.278","@anthropic-ai/claude-agent-sdk-linux-arm64-musl":"0.3.278"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.9.22_1790009586075_0.28997289622982425","host":"s3://npm-registry-packages-npm-production"}},"2026.9.22-2":{"name":"@code-yeongyu/senpi","version":"2026.9.22-2","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.9.22-2","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"pi":"dist/bundle/cli.js","senpi":"dist/bundle/cli.js"},"dist":{"shasum":"7d988000574cae429a943ed00b22532c6438523c","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.9.22-2.tgz","fileCount":27058,"integrity":"sha512-7MJXCUorizH9OKovHovCwh0+M/TD1IbY4qsVZiSOsZoMmiP7s++CtB5ngSKuSQac246Me4MkFYcb6w/BF1opUw==","signatures":[{"sig":"MEUCIFAGtw6qbnV/R+Q29WecRBsx1sIdfwYkMCW285tmkcOGAiEApaX/rC6Qxf04ACVQEA6bSaR36tgGO1ipND24ck3kWtA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDz+bMqNPQmEvbcGOIh7Q9s6A500bNDlg1js/2nPp/P9QIgJnmxlz3htAkB1czN5CuGI9ZGqBYGRbuS+MKjzW/vvrk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.9.22-2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":205153306},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.js"},"./rpc-entry":{"import":"./dist/rpc-entry.js"},"./bun-runtime":{"types":"./dist/bun/runtime-modules.d.ts","import":"./dist/bun/runtime-modules.js"}},"scripts":{"dev":"tsc -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsgo -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js dist/rpc-entry.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi && npm run build:bundle","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/","build:binary":"npm --prefix ../tui run build && npm --prefix ../telemetry run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm --prefix ../protocol run build && npm --prefix ../client run build && npm --prefix ../pty run build && npm run build && node ../../scripts/prepare-bun-compile-assets.mjs && bun build --compile --splitting --compile-autoload-package-json --no-compile-autoload-dotenv --no-compile-autoload-bunfig --minify --keep-names ./dist/bun/cli.js ./src/modes/rpc/session-worker.ts ./src/utils/image-resize-worker.ts --outfile dist/pi && npm run copy-binary-assets","build:bundle":"node ../../scripts/build-coding-agent-bundle.mjs","qa:app-server":"node scripts/qa-app-server/run-all.mjs","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","build:unbundled":"tsgo -p tsconfig.build.json && shx chmod +x dist/cli.js dist/rpc-entry.js && npm run copy-assets","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/export-html/ && shx cp -r docs dist/ && shx cp -r examples dist/ && node ../../scripts/copy-codemode-sidecar.mjs dist && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/ && shx mkdir -p dist/native/darwin dist/native/win32 && shx cp -r ../../packages/tui/native/darwin/prebuilds dist/native/darwin/ && shx cp -r ../../packages/tui/native/win32/prebuilds dist/native/win32/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/ && node ../../scripts/copy-pty-native.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ea548fc8-dac4-4dec-a439-6f4fa3870309"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.3"},"rimraf":"6.1.3","protobufjs":"7.6.5","@hono/node-server":"2.1.1"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.19.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.20.0","dependencies":{"ms":"2.1.3","qs":"6.16.0","ws":"8.21.3","ajv":"8.20.0","jwa":"2.0.1","jws":"4.0.1","zod":"4.6.5","cors":"2.8.6","depd":"2.0.0","diff":"9.0.0","etag":"1.8.1","glob":"13.0.6","gopd":"1.2.0","hono":"4.13.8","jiti":"2.7.0","jose":"6.2.3","long":"5.3.2","once":"1.4.0","send":"1.2.1","vary":"1.1.2","yaml":"2.9.1","bytes":"3.1.2","chalk":"6.0.0","cssom":"0.5.0","debug":"4.4.3","fresh":"2.0.0","isexe":"2.0.0","retry":"0.13.1","tslib":"2.8.1","which":"2.0.2","bowser":"2.14.1","cookie":"0.7.2","extend":"3.0.2","gaxios":"7.1.4","hasown":"2.0.3","ignore":"7.0.9","marked":"18.0.13","openai":"6.26.0","router":"2.2.0","semver":"7.8.5","undici":"8.10.2","unpipe":"1.0.0","wrappy":"1.0.2","accepts":"2.0.0","esbuild":"0.28.2","express":"5.2.1","mime-db":"1.54.0","p-retry":"4.6.2","type-is":"2.1.0","typebox":"1.3.34","uhyphen":"0.2.0","boolbase":"2.0.0","css-what":"8.0.0","domutils":"3.2.2","ee-first":"1.1.1","entities":"8.1.0","fast-uri":"3.1.8","inherits":"2.0.4","linkedom":"0.18.13","minipass":"7.1.3","parseurl":"1.3.3","path-key":"3.1.1","raw-body":"3.0.2","statuses":"2.0.2","turndown":"7.2.4","base64-js":"1.5.1","encodeurl":"2.0.0","es-errors":"1.3.0","forwarded":"0.2.0","get-proto":"1.0.1","ipaddr.js":"1.9.1","lru-cache":"11.5.2","minimatch":"10.2.6","nth-check":"3.0.1","picomatch":"4.0.7","agent-base":"9.0.0","call-bound":"1.0.4","css-select":"7.0.0","domhandler":"5.0.3","fetch-blob":"3.2.0","iconv-lite":"0.7.3","ip-address":"10.7.2","is-promise":"4.0.0","mime-types":"3.0.2","negotiator":"1.0.0","node-fetch":"3.3.2","protobufjs":"7.6.5","proxy-addr":"2.0.7","ts-algebra":"2.0.0","@types/node":"26.6.2","ajv-formats":"3.0.1","body-parser":"2.3.0","cross-spawn":"7.0.6","escape-html":"1.0.3","eventsource":"3.0.7","fast-sha256":"1.3.0","graceful-fs":"4.2.11","has-symbols":"1.1.0","htmlparser2":"10.1.0","http-errors":"2.0.1","json-bigint":"1.0.0","media-typer":"1.1.0","on-finished":"2.4.1","path-scurry":"2.0.2","safe-buffer":"5.2.1","signal-exit":"3.0.7","@smithy/core":"3.33.3","bignumber.js":"9.3.1","content-type":"1.0.5","dunder-proto":"1.0.1","finalhandler":"2.1.1","gcp-metadata":"8.1.2","grok-mermaid":"0.2.3","highlight.js":"11.12.0","partial-json":"0.1.7","range-parser":"1.3.0","safer-buffer":"2.1.2","serve-static":"2.2.1","side-channel":"1.1.1","toidentifier":"1.0.1","undici-types":"8.9.0","@aws-sdk/core":"3.978.0","@google/genai":"2.23.0","@smithy/types":"4.18.0","function-bind":"1.1.2","get-intrinsic":"1.3.0","object-assign":"4.1.1","shebang-regex":"3.0.0","@aws-sdk/types":"3.974.5","@babel/runtime":"7.29.2","balanced-match":"4.0.4","dom-serializer":"2.0.0","domelementtype":"2.3.0","object-inspect":"1.13.4","path-to-regexp":"8.4.2","pkce-challenge":"5.0.1","proxy-from-env":"2.1.0","setprototypeof":"1.2.0","@xterm/headless":"6.0.0","brace-expansion":"5.0.12","es-module-lexer":"3.0.2","es-object-atoms":"1.1.2","fast-deep-equal":"3.1.3","hosted-git-info":"10.1.1","math-intrinsics":"1.1.0","proper-lockfile":"4.1.2","shebang-command":"2.0.0","web-tree-sitter":"0.27.0","@protobufjs/path":"1.1.2","@protobufjs/pool":"1.1.0","@protobufjs/utf8":"1.1.1","cookie-signature":"1.2.2","http-proxy-agent":"9.1.0","side-channel-map":"1.0.1","standardwebhooks":"1.0.0","@anthropic-ai/sdk":"0.127.0","@hono/node-server":"2.1.1","@protobufjs/fetch":"1.1.1","@protobufjs/float":"1.0.2","@stablelib/base64":"1.0.1","formdata-polyfill":"4.0.10","https-proxy-agent":"9.1.0","json-schema-to-ts":"3.1.1","json-schema-typed":"8.0.2","merge-descriptors":"2.0.0","node-domexception":"1.0.0","side-channel-list":"1.0.1","@bufbuild/protobuf":"2.15.0","@mixmark-io/domino":"2.2.0","@opentelemetry/api":"1.9.1","@protobufjs/base64":"1.1.2","data-uri-to-buffer":"4.0.1","es-define-property":"1.0.1","eventsource-parser":"3.1.0","express-rate-limit":"8.7.0","zod-to-json-schema":"3.25.2","@protobufjs/codegen":"2.0.5","content-disposition":"1.1.0","ecdsa-sig-formatter":"1.0.11","google-auth-library":"10.6.2","require-from-string":"2.0.2","@aws-sdk/xml-builder":"3.972.40","@mozilla/readability":"0.6.0","@smithy/signature-v4":"5.7.3","get-east-asian-width":"1.7.0","google-logging-utils":"1.1.3","json-schema-traverse":"1.0.0","side-channel-weakmap":"1.0.2","web-streams-polyfill":"3.3.3","@earendil-works/chord":"0.85.1","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.9.22-2","@protobufjs/aspromise":"1.1.2","proxy-agent-negotiate":"1.1.0","@earendil-works/pi-pty":"npm:@code-yeongyu/senpi-pty@2026.9.22-2","@earendil-works/pi-tui":"npm:@code-yeongyu/senpi-tui@2026.9.22-2","@aws-sdk/nested-clients":"3.997.45","call-bind-apply-helpers":"1.0.2","@aws-sdk/token-providers":"3.1136.0","@aws/lambda-invoke-store":"0.3.0","@protobufjs/eventemitter":"1.1.1","@modelcontextprotocol/sdk":"1.30.0","@smithy/node-http-handler":"4.12.1","@silvia-odwyer/photon-node":"0.3.4","@smithy/fetch-http-handler":"5.7.2","buffer-equal-constant-time":"1.0.1","@code-yeongyu/senpi-codemode":"2026.9.22-2","@earendil-works/pi-telemetry":"npm:@code-yeongyu/senpi-telemetry@2026.9.22-2","@aws-sdk/middleware-websocket":"3.972.53","@earendil-works/pi-agent-core":"npm:@code-yeongyu/senpi-agent-core@2026.9.22-2","@anthropic-ai/claude-agent-sdk":"0.3.278","@aws-sdk/client-bedrock-runtime":"3.1136.0","@aws-sdk/middleware-eventstream":"3.972.29","@aws-sdk/credential-provider-env":"3.972.71","@aws-sdk/credential-provider-ini":"3.973.16","@aws-sdk/credential-provider-sso":"3.973.15","@smithy/credential-provider-imds":"4.5.2","@aws-sdk/credential-provider-http":"3.972.73","@aws-sdk/credential-provider-node":"3.972.83","@aws-sdk/eventstream-handler-node":"3.972.34","@aws-sdk/credential-provider-login":"3.972.78","@aws-sdk/signature-v4-multi-region":"3.996.46","@aws-sdk/credential-provider-process":"3.972.71","@aws-sdk/credential-provider-web-identity":"3.972.77"},"_hasShrinkwrap":false,"devDependencies":{"shx":"0.4.0","vitest":"5.0.1","@types/ws":"8.18.1","typescript":"7.0.2","@types/node":"26.6.2","@types/semver":"7.8.0","@types/turndown":"5.0.6","@types/picomatch":"4.0.3","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@anthropic-ai/claude-agent-sdk","@anthropic-ai/sdk","@aws-sdk/client-bedrock-runtime","@aws-sdk/core","@aws-sdk/credential-provider-env","@aws-sdk/credential-provider-http","@aws-sdk/credential-provider-ini","@aws-sdk/credential-provider-login","@aws-sdk/credential-provider-node","@aws-sdk/credential-provider-process","@aws-sdk/credential-provider-sso","@aws-sdk/credential-provider-web-identity","@aws-sdk/eventstream-handler-node","@aws-sdk/middleware-eventstream","@aws-sdk/middleware-websocket","@aws-sdk/nested-clients","@aws-sdk/signature-v4-multi-region","@aws-sdk/token-providers","@aws-sdk/types","@aws-sdk/xml-builder","@aws/lambda-invoke-store","@babel/runtime","@bufbuild/protobuf","@code-yeongyu/senpi-codemode","@earendil-works/chord","@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-pty","@earendil-works/pi-telemetry","@earendil-works/pi-tui","@google/genai","@hono/node-server","@mixmark-io/domino","@modelcontextprotocol/sdk","@mozilla/readability","@opentelemetry/api","@protobufjs/aspromise","@protobufjs/base64","@protobufjs/codegen","@protobufjs/eventemitter","@protobufjs/fetch","@protobufjs/float","@protobufjs/path","@protobufjs/pool","@protobufjs/utf8","@silvia-odwyer/photon-node","@smithy/core","@smithy/credential-provider-imds","@smithy/fetch-http-handler","@smithy/node-http-handler","@smithy/signature-v4","@smithy/types","@stablelib/base64","@types/node","@xterm/headless","accepts","agent-base","ajv","ajv-formats","balanced-match","base64-js","bignumber.js","body-parser","boolbase","bowser","brace-expansion","buffer-equal-constant-time","bytes","call-bind-apply-helpers","call-bound","chalk","content-disposition","content-type","cookie","cookie-signature","cors","cross-spawn","css-select","css-what","cssom","data-uri-to-buffer","debug","depd","diff","dom-serializer","domelementtype","domhandler","domutils","dunder-proto","ecdsa-sig-formatter","ee-first","encodeurl","entities","es-define-property","es-errors","es-module-lexer","es-object-atoms","esbuild","escape-html","etag","eventsource","eventsource-parser","express","express-rate-limit","extend","fast-deep-equal","fast-sha256","fast-uri","fetch-blob","finalhandler","formdata-polyfill","forwarded","fresh","function-bind","gaxios","gcp-metadata","get-east-asian-width","get-intrinsic","get-proto","glob","google-auth-library","google-logging-utils","gopd","graceful-fs","grok-mermaid","has-symbols","hasown","highlight.js","hono","hosted-git-info","htmlparser2","http-errors","http-proxy-agent","https-proxy-agent","iconv-lite","ignore","inherits","ip-address","ipaddr.js","is-promise","isexe","jiti","jose","json-bigint","json-schema-to-ts","json-schema-traverse","json-schema-typed","jwa","jws","linkedom","long","lru-cache","marked","math-intrinsics","media-typer","merge-descriptors","mime-db","mime-types","minimatch","minipass","ms","negotiator","node-domexception","node-fetch","nth-check","object-assign","object-inspect","on-finished","once","openai","p-retry","parseurl","partial-json","path-key","path-scurry","path-to-regexp","picomatch","pkce-challenge","proper-lockfile","protobufjs","proxy-addr","proxy-agent-negotiate","proxy-from-env","qs","range-parser","raw-body","require-from-string","retry","router","safe-buffer","safer-buffer","semver","send","serve-static","setprototypeof","shebang-command","shebang-regex","side-channel","side-channel-list","side-channel-map","side-channel-weakmap","signal-exit","standardwebhooks","statuses","toidentifier","ts-algebra","tslib","turndown","type-is","typebox","uhyphen","undici","undici-types","unpipe","vary","web-streams-polyfill","web-tree-sitter","which","wrappy","ws","yaml","zod","zod-to-json-schema"],"optionalDependencies":{"@esbuild/aix-ppc64":"0.28.2","@esbuild/linux-arm":"0.28.2","@esbuild/linux-x64":"0.28.2","@esbuild/sunos-x64":"0.28.2","@esbuild/win32-x64":"0.28.2","@esbuild/darwin-x64":"0.28.2","@esbuild/linux-ia32":"0.28.2","@esbuild/netbsd-x64":"0.28.2","@esbuild/win32-ia32":"0.28.2","@esbuild/android-arm":"0.28.2","@esbuild/android-x64":"0.28.2","@esbuild/freebsd-x64":"0.28.2","@esbuild/linux-arm64":"0.28.2","@esbuild/linux-ppc64":"0.28.2","@esbuild/linux-s390x":"0.28.2","@esbuild/openbsd-x64":"0.28.2","@esbuild/win32-arm64":"0.28.2","@esbuild/darwin-arm64":"0.28.2","@esbuild/netbsd-arm64":"0.28.2","@esbuild/android-arm64":"0.28.2","@esbuild/freebsd-arm64":"0.28.2","@esbuild/linux-loong64":"0.28.2","@esbuild/linux-riscv64":"0.28.2","@esbuild/openbsd-arm64":"0.28.2","@esbuild/linux-mips64el":"0.28.2","@esbuild/openharmony-arm64":"0.28.2","@anthropic-ai/claude-agent-sdk-linux-x64":"0.3.278","@anthropic-ai/claude-agent-sdk-win32-x64":"0.3.278","@anthropic-ai/claude-agent-sdk-darwin-x64":"0.3.278","@anthropic-ai/claude-agent-sdk-linux-arm64":"0.3.278","@anthropic-ai/claude-agent-sdk-win32-arm64":"0.3.278","@anthropic-ai/claude-agent-sdk-darwin-arm64":"0.3.278","@anthropic-ai/claude-agent-sdk-linux-x64-musl":"0.3.278","@anthropic-ai/claude-agent-sdk-linux-arm64-musl":"0.3.278"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.9.22-2_1790072928745_0.12356877576429959","host":"s3://npm-registry-packages-npm-production"}},"2026.9.22-3":{"name":"@code-yeongyu/senpi","version":"2026.9.22-3","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.9.22-3","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"pi":"dist/bundle/cli.js","senpi":"dist/bundle/cli.js"},"dist":{"shasum":"04d330369935f79d19b1d7fa321a9a55b1caca0e","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.9.22-3.tgz","fileCount":27066,"integrity":"sha512-Ne672w29CEmoI1JWwweD8ULbaMMeDJxjkD6ZYr5tPTSTr7Q1PYsm/Cw9GIy7V1hZCdLxe4wHB8ibEZdH94/eTQ==","signatures":[{"sig":"MEUCIQD6trlk1mhiyMa3eg9gnvg6ntxb+w5TgcVLNy5YYlUQxwIgChhL+U0m1T0A7j2Qc6E8281RQa5kYnoS2rn+9c6VySU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIE9+TR3FgRX0Zdl0TD8FOvCz+53hp0/a/knApf79RLHrAiA1ESFMnRXdxYoQzDFzZ7HHNoRDEhbBrPPJj/nTKGS/gQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.9.22-3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":205300509},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.js"},"./rpc-entry":{"import":"./dist/rpc-entry.js"},"./bun-runtime":{"types":"./dist/bun/runtime-modules.d.ts","import":"./dist/bun/runtime-modules.js"}},"scripts":{"dev":"tsc -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsgo -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js dist/rpc-entry.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi && npm run build:bundle","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/","build:binary":"npm --prefix ../tui run build && npm --prefix ../telemetry run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm --prefix ../protocol run build && npm --prefix ../client run build && npm --prefix ../pty run build && npm run build && node ../../scripts/prepare-bun-compile-assets.mjs && bun build --compile --splitting --compile-autoload-package-json --no-compile-autoload-dotenv --no-compile-autoload-bunfig --minify --keep-names ./dist/bun/cli.js ./src/modes/rpc/session-worker.ts ./src/utils/image-resize-worker.ts --outfile dist/pi && npm run copy-binary-assets","build:bundle":"node ../../scripts/build-coding-agent-bundle.mjs","qa:app-server":"node scripts/qa-app-server/run-all.mjs","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","build:unbundled":"tsgo -p tsconfig.build.json && shx chmod +x dist/cli.js dist/rpc-entry.js && npm run copy-assets","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/export-html/ && shx cp -r docs dist/ && shx cp -r examples dist/ && node ../../scripts/copy-codemode-sidecar.mjs dist && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/ && shx mkdir -p dist/native/darwin dist/native/win32 && shx cp -r ../../packages/tui/native/darwin/prebuilds dist/native/darwin/ && shx cp -r ../../packages/tui/native/win32/prebuilds dist/native/win32/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/ && node ../../scripts/copy-pty-native.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ea548fc8-dac4-4dec-a439-6f4fa3870309"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.3"},"rimraf":"6.1.3","protobufjs":"7.6.5","@hono/node-server":"2.1.1"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.19.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.21.0","dependencies":{"ms":"2.1.3","qs":"6.16.0","ws":"8.21.3","ajv":"8.20.0","jwa":"2.0.1","jws":"4.0.1","zod":"4.6.5","cors":"2.8.6","depd":"2.0.0","diff":"9.0.0","etag":"1.8.1","glob":"13.0.6","gopd":"1.2.0","hono":"4.13.8","jiti":"2.7.0","jose":"6.2.3","long":"5.3.2","once":"1.4.0","send":"1.2.1","vary":"1.1.2","yaml":"2.9.1","bytes":"3.1.2","chalk":"6.0.0","cssom":"0.5.0","debug":"4.4.3","fresh":"2.0.0","isexe":"2.0.0","retry":"0.13.1","tslib":"2.8.1","which":"2.0.2","bowser":"2.14.1","cookie":"0.7.2","extend":"3.0.2","gaxios":"7.1.4","hasown":"2.0.3","ignore":"7.0.9","marked":"18.0.13","openai":"6.26.0","router":"2.2.0","semver":"7.8.5","undici":"8.10.2","unpipe":"1.0.0","wrappy":"1.0.2","accepts":"2.0.0","esbuild":"0.28.2","express":"5.2.1","mime-db":"1.54.0","p-retry":"4.6.2","type-is":"2.1.0","typebox":"1.3.34","uhyphen":"0.2.0","boolbase":"2.0.0","css-what":"8.0.0","domutils":"3.2.2","ee-first":"1.1.1","entities":"8.1.0","fast-uri":"3.1.8","inherits":"2.0.4","linkedom":"0.18.13","minipass":"7.1.3","parseurl":"1.3.3","path-key":"3.1.1","raw-body":"3.0.2","statuses":"2.0.2","turndown":"7.2.4","base64-js":"1.5.1","encodeurl":"2.0.0","es-errors":"1.3.0","forwarded":"0.2.0","get-proto":"1.0.1","ipaddr.js":"1.9.1","lru-cache":"11.5.2","minimatch":"10.2.6","nth-check":"3.0.1","picomatch":"4.0.7","agent-base":"9.0.0","call-bound":"1.0.4","css-select":"7.0.0","domhandler":"5.0.3","fetch-blob":"3.2.0","iconv-lite":"0.7.3","ip-address":"10.7.2","is-promise":"4.0.0","mime-types":"3.0.2","negotiator":"1.0.0","node-fetch":"3.3.2","protobufjs":"7.6.5","proxy-addr":"2.0.7","ts-algebra":"2.0.0","@types/node":"26.6.2","ajv-formats":"3.0.1","body-parser":"2.3.0","cross-spawn":"7.0.6","escape-html":"1.0.3","eventsource":"3.0.7","fast-sha256":"1.3.0","graceful-fs":"4.2.11","has-symbols":"1.1.0","htmlparser2":"10.1.0","http-errors":"2.0.1","json-bigint":"1.0.0","media-typer":"1.1.0","on-finished":"2.4.1","path-scurry":"2.0.2","safe-buffer":"5.2.1","signal-exit":"3.0.7","@smithy/core":"3.33.3","bignumber.js":"9.3.1","content-type":"1.0.5","dunder-proto":"1.0.1","finalhandler":"2.1.1","gcp-metadata":"8.1.2","grok-mermaid":"0.2.3","highlight.js":"11.12.0","partial-json":"0.1.7","range-parser":"1.3.0","safer-buffer":"2.1.2","serve-static":"2.2.1","side-channel":"1.1.1","toidentifier":"1.0.1","undici-types":"8.9.0","@aws-sdk/core":"3.978.0","@google/genai":"2.23.0","@smithy/types":"4.18.0","function-bind":"1.1.2","get-intrinsic":"1.3.0","object-assign":"4.1.1","shebang-regex":"3.0.0","@aws-sdk/types":"3.974.5","@babel/runtime":"7.29.2","balanced-match":"4.0.4","dom-serializer":"2.0.0","domelementtype":"2.3.0","object-inspect":"1.13.4","path-to-regexp":"8.4.2","pkce-challenge":"5.0.1","proxy-from-env":"2.1.0","setprototypeof":"1.2.0","@xterm/headless":"6.0.0","brace-expansion":"5.0.12","es-module-lexer":"3.0.2","es-object-atoms":"1.1.2","fast-deep-equal":"3.1.3","hosted-git-info":"10.1.1","math-intrinsics":"1.1.0","proper-lockfile":"4.1.2","shebang-command":"2.0.0","web-tree-sitter":"0.27.0","@protobufjs/path":"1.1.2","@protobufjs/pool":"1.1.0","@protobufjs/utf8":"1.1.1","cookie-signature":"1.2.2","http-proxy-agent":"9.1.0","side-channel-map":"1.0.1","standardwebhooks":"1.0.0","@anthropic-ai/sdk":"0.127.0","@hono/node-server":"2.1.1","@protobufjs/fetch":"1.1.1","@protobufjs/float":"1.0.2","@stablelib/base64":"1.0.1","formdata-polyfill":"4.0.10","https-proxy-agent":"9.1.0","json-schema-to-ts":"3.1.1","json-schema-typed":"8.0.2","merge-descriptors":"2.0.0","node-domexception":"1.0.0","side-channel-list":"1.0.1","@bufbuild/protobuf":"2.15.0","@mixmark-io/domino":"2.2.0","@opentelemetry/api":"1.9.1","@protobufjs/base64":"1.1.2","data-uri-to-buffer":"4.0.1","es-define-property":"1.0.1","eventsource-parser":"3.1.0","express-rate-limit":"8.7.0","zod-to-json-schema":"3.25.2","@protobufjs/codegen":"2.0.5","content-disposition":"1.1.0","ecdsa-sig-formatter":"1.0.11","google-auth-library":"10.6.2","require-from-string":"2.0.2","@aws-sdk/xml-builder":"3.972.40","@mozilla/readability":"0.6.0","@smithy/signature-v4":"5.7.3","get-east-asian-width":"1.7.0","google-logging-utils":"1.1.3","json-schema-traverse":"1.0.0","side-channel-weakmap":"1.0.2","web-streams-polyfill":"3.3.3","@earendil-works/chord":"0.85.1","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.9.22-3","@protobufjs/aspromise":"1.1.2","proxy-agent-negotiate":"1.1.0","@earendil-works/pi-pty":"npm:@code-yeongyu/senpi-pty@2026.9.22-3","@earendil-works/pi-tui":"npm:@code-yeongyu/senpi-tui@2026.9.22-3","@aws-sdk/nested-clients":"3.997.45","call-bind-apply-helpers":"1.0.2","@aws-sdk/token-providers":"3.1136.0","@aws/lambda-invoke-store":"0.3.0","@protobufjs/eventemitter":"1.1.1","@modelcontextprotocol/sdk":"1.30.0","@smithy/node-http-handler":"4.12.1","@silvia-odwyer/photon-node":"0.3.4","@smithy/fetch-http-handler":"5.7.2","buffer-equal-constant-time":"1.0.1","@code-yeongyu/senpi-codemode":"2026.9.22-3","@earendil-works/pi-telemetry":"npm:@code-yeongyu/senpi-telemetry@2026.9.22-3","@aws-sdk/middleware-websocket":"3.972.53","@earendil-works/pi-agent-core":"npm:@code-yeongyu/senpi-agent-core@2026.9.22-3","@anthropic-ai/claude-agent-sdk":"0.3.278","@aws-sdk/client-bedrock-runtime":"3.1136.0","@aws-sdk/middleware-eventstream":"3.972.29","@aws-sdk/credential-provider-env":"3.972.71","@aws-sdk/credential-provider-ini":"3.973.16","@aws-sdk/credential-provider-sso":"3.973.15","@smithy/credential-provider-imds":"4.5.2","@aws-sdk/credential-provider-http":"3.972.73","@aws-sdk/credential-provider-node":"3.972.83","@aws-sdk/eventstream-handler-node":"3.972.34","@aws-sdk/credential-provider-login":"3.972.78","@aws-sdk/signature-v4-multi-region":"3.996.46","@aws-sdk/credential-provider-process":"3.972.71","@aws-sdk/credential-provider-web-identity":"3.972.77"},"_hasShrinkwrap":false,"devDependencies":{"shx":"0.4.0","vitest":"5.0.1","@types/ws":"8.18.1","typescript":"7.0.2","@types/node":"26.6.2","@types/semver":"7.8.0","@types/turndown":"5.0.6","@types/picomatch":"4.0.3","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@anthropic-ai/claude-agent-sdk","@anthropic-ai/sdk","@aws-sdk/client-bedrock-runtime","@aws-sdk/core","@aws-sdk/credential-provider-env","@aws-sdk/credential-provider-http","@aws-sdk/credential-provider-ini","@aws-sdk/credential-provider-login","@aws-sdk/credential-provider-node","@aws-sdk/credential-provider-process","@aws-sdk/credential-provider-sso","@aws-sdk/credential-provider-web-identity","@aws-sdk/eventstream-handler-node","@aws-sdk/middleware-eventstream","@aws-sdk/middleware-websocket","@aws-sdk/nested-clients","@aws-sdk/signature-v4-multi-region","@aws-sdk/token-providers","@aws-sdk/types","@aws-sdk/xml-builder","@aws/lambda-invoke-store","@babel/runtime","@bufbuild/protobuf","@code-yeongyu/senpi-codemode","@earendil-works/chord","@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-pty","@earendil-works/pi-telemetry","@earendil-works/pi-tui","@google/genai","@hono/node-server","@mixmark-io/domino","@modelcontextprotocol/sdk","@mozilla/readability","@opentelemetry/api","@protobufjs/aspromise","@protobufjs/base64","@protobufjs/codegen","@protobufjs/eventemitter","@protobufjs/fetch","@protobufjs/float","@protobufjs/path","@protobufjs/pool","@protobufjs/utf8","@silvia-odwyer/photon-node","@smithy/core","@smithy/credential-provider-imds","@smithy/fetch-http-handler","@smithy/node-http-handler","@smithy/signature-v4","@smithy/types","@stablelib/base64","@types/node","@xterm/headless","accepts","agent-base","ajv","ajv-formats","balanced-match","base64-js","bignumber.js","body-parser","boolbase","bowser","brace-expansion","buffer-equal-constant-time","bytes","call-bind-apply-helpers","call-bound","chalk","content-disposition","content-type","cookie","cookie-signature","cors","cross-spawn","css-select","css-what","cssom","data-uri-to-buffer","debug","depd","diff","dom-serializer","domelementtype","domhandler","domutils","dunder-proto","ecdsa-sig-formatter","ee-first","encodeurl","entities","es-define-property","es-errors","es-module-lexer","es-object-atoms","esbuild","escape-html","etag","eventsource","eventsource-parser","express","express-rate-limit","extend","fast-deep-equal","fast-sha256","fast-uri","fetch-blob","finalhandler","formdata-polyfill","forwarded","fresh","function-bind","gaxios","gcp-metadata","get-east-asian-width","get-intrinsic","get-proto","glob","google-auth-library","google-logging-utils","gopd","graceful-fs","grok-mermaid","has-symbols","hasown","highlight.js","hono","hosted-git-info","htmlparser2","http-errors","http-proxy-agent","https-proxy-agent","iconv-lite","ignore","inherits","ip-address","ipaddr.js","is-promise","isexe","jiti","jose","json-bigint","json-schema-to-ts","json-schema-traverse","json-schema-typed","jwa","jws","linkedom","long","lru-cache","marked","math-intrinsics","media-typer","merge-descriptors","mime-db","mime-types","minimatch","minipass","ms","negotiator","node-domexception","node-fetch","nth-check","object-assign","object-inspect","on-finished","once","openai","p-retry","parseurl","partial-json","path-key","path-scurry","path-to-regexp","picomatch","pkce-challenge","proper-lockfile","protobufjs","proxy-addr","proxy-agent-negotiate","proxy-from-env","qs","range-parser","raw-body","require-from-string","retry","router","safe-buffer","safer-buffer","semver","send","serve-static","setprototypeof","shebang-command","shebang-regex","side-channel","side-channel-list","side-channel-map","side-channel-weakmap","signal-exit","standardwebhooks","statuses","toidentifier","ts-algebra","tslib","turndown","type-is","typebox","uhyphen","undici","undici-types","unpipe","vary","web-streams-polyfill","web-tree-sitter","which","wrappy","ws","yaml","zod","zod-to-json-schema"],"optionalDependencies":{"@esbuild/aix-ppc64":"0.28.2","@esbuild/linux-arm":"0.28.2","@esbuild/linux-x64":"0.28.2","@esbuild/sunos-x64":"0.28.2","@esbuild/win32-x64":"0.28.2","@esbuild/darwin-x64":"0.28.2","@esbuild/linux-ia32":"0.28.2","@esbuild/netbsd-x64":"0.28.2","@esbuild/win32-ia32":"0.28.2","@esbuild/android-arm":"0.28.2","@esbuild/android-x64":"0.28.2","@esbuild/freebsd-x64":"0.28.2","@esbuild/linux-arm64":"0.28.2","@esbuild/linux-ppc64":"0.28.2","@esbuild/linux-s390x":"0.28.2","@esbuild/openbsd-x64":"0.28.2","@esbuild/win32-arm64":"0.28.2","@esbuild/darwin-arm64":"0.28.2","@esbuild/netbsd-arm64":"0.28.2","@esbuild/android-arm64":"0.28.2","@esbuild/freebsd-arm64":"0.28.2","@esbuild/linux-loong64":"0.28.2","@esbuild/linux-riscv64":"0.28.2","@esbuild/openbsd-arm64":"0.28.2","@esbuild/linux-mips64el":"0.28.2","@esbuild/openharmony-arm64":"0.28.2","@anthropic-ai/claude-agent-sdk-linux-x64":"0.3.278","@anthropic-ai/claude-agent-sdk-win32-x64":"0.3.278","@anthropic-ai/claude-agent-sdk-darwin-x64":"0.3.278","@anthropic-ai/claude-agent-sdk-linux-arm64":"0.3.278","@anthropic-ai/claude-agent-sdk-win32-arm64":"0.3.278","@anthropic-ai/claude-agent-sdk-darwin-arm64":"0.3.278","@anthropic-ai/claude-agent-sdk-linux-x64-musl":"0.3.278","@anthropic-ai/claude-agent-sdk-linux-arm64-musl":"0.3.278"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.9.22-3_1790099189813_0.3291184049977973","host":"s3://npm-registry-packages-npm-production"}},"2026.9.22-4":{"name":"@code-yeongyu/senpi","version":"2026.9.22-4","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.9.22-4","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"pi":"dist/bundle/cli.js","senpi":"dist/bundle/cli.js"},"dist":{"shasum":"014a0cdc1d5ae950355e9f27e495b78e04166359","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.9.22-4.tgz","fileCount":27070,"integrity":"sha512-VhCyrr/jBw4Ix7n7FBK3dSWagxQVy9TfVcSkns1bw/g1JJOMHqFvQMuYtk/7viB4UFG4JmNubtv7GhZQLohZXw==","signatures":[{"sig":"MEQCIGqxadFOkKxte1PHgBjvXcN2NBh6Njh/F/FuMZjmXBfqAiA20kL1eQAS0wy3Gq+7nBa6uAuD2fFnijdkgm2PrheySQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIDmCtrt6Ca36Nw+ujBHIO1pW5koAe0tWayYZkePJvDk9AiEAqj3/5ne6RXmyx8y50gtEc0eEfUyTTBbX9jNQrZ3N1Ss=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.9.22-4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":205360011},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.js"},"./rpc-entry":{"import":"./dist/rpc-entry.js"},"./bun-runtime":{"types":"./dist/bun/runtime-modules.d.ts","import":"./dist/bun/runtime-modules.js"}},"scripts":{"dev":"tsc -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsgo -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js dist/rpc-entry.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi && npm run build:bundle","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/","build:binary":"npm --prefix ../tui run build && npm --prefix ../telemetry run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm --prefix ../protocol run build && npm --prefix ../client run build && npm --prefix ../pty run build && npm run build && node ../../scripts/prepare-bun-compile-assets.mjs && bun build --compile --splitting --compile-autoload-package-json --no-compile-autoload-dotenv --no-compile-autoload-bunfig --minify --keep-names ./dist/bun/cli.js ./src/modes/rpc/session-worker.ts ./src/utils/image-resize-worker.ts --outfile dist/pi && npm run copy-binary-assets","build:bundle":"node ../../scripts/build-coding-agent-bundle.mjs","qa:app-server":"node scripts/qa-app-server/run-all.mjs","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","build:unbundled":"tsgo -p tsconfig.build.json && shx chmod +x dist/cli.js dist/rpc-entry.js && npm run copy-assets","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/export-html/ && shx cp -r docs dist/ && shx cp -r examples dist/ && node ../../scripts/copy-codemode-sidecar.mjs dist && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/ && shx mkdir -p dist/native/darwin dist/native/win32 && shx cp -r ../../packages/tui/native/darwin/prebuilds dist/native/darwin/ && shx cp -r ../../packages/tui/native/win32/prebuilds dist/native/win32/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/ && node ../../scripts/copy-pty-native.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ea548fc8-dac4-4dec-a439-6f4fa3870309"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.3"},"rimraf":"6.1.3","protobufjs":"7.6.5","@hono/node-server":"2.1.1"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.19.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.20.0","dependencies":{"ms":"2.1.3","qs":"6.16.0","ws":"8.21.3","ajv":"8.20.0","jwa":"2.0.1","jws":"4.0.1","zod":"4.6.5","cors":"2.8.6","depd":"2.0.0","diff":"9.0.0","etag":"1.8.1","glob":"13.0.6","gopd":"1.2.0","hono":"4.13.8","jiti":"2.7.0","jose":"6.2.3","long":"5.3.2","once":"1.4.0","send":"1.2.1","vary":"1.1.2","yaml":"2.9.1","bytes":"3.1.2","chalk":"6.0.0","cssom":"0.5.0","debug":"4.4.3","fresh":"2.0.0","isexe":"2.0.0","retry":"0.13.1","tslib":"2.8.1","which":"2.0.2","bowser":"2.14.1","cookie":"0.7.2","extend":"3.0.2","gaxios":"7.1.4","hasown":"2.0.3","ignore":"7.0.9","marked":"18.0.13","openai":"6.26.0","router":"2.2.0","semver":"7.8.5","undici":"8.10.2","unpipe":"1.0.0","wrappy":"1.0.2","accepts":"2.0.0","esbuild":"0.28.2","express":"5.2.1","mime-db":"1.54.0","p-retry":"4.6.2","type-is":"2.1.0","typebox":"1.3.34","uhyphen":"0.2.0","boolbase":"2.0.0","css-what":"8.0.0","domutils":"3.2.2","ee-first":"1.1.1","entities":"8.1.0","fast-uri":"3.1.8","inherits":"2.0.4","linkedom":"0.18.13","minipass":"7.1.3","parseurl":"1.3.3","path-key":"3.1.1","raw-body":"3.0.2","statuses":"2.0.2","turndown":"7.2.4","base64-js":"1.5.1","encodeurl":"2.0.0","es-errors":"1.3.0","forwarded":"0.2.0","get-proto":"1.0.1","ipaddr.js":"1.9.1","lru-cache":"11.5.2","minimatch":"10.2.6","nth-check":"3.0.1","picomatch":"4.0.7","agent-base":"9.0.0","call-bound":"1.0.4","css-select":"7.0.0","domhandler":"5.0.3","fetch-blob":"3.2.0","iconv-lite":"0.7.3","ip-address":"10.7.2","is-promise":"4.0.0","mime-types":"3.0.2","negotiator":"1.0.0","node-fetch":"3.3.2","protobufjs":"7.6.5","proxy-addr":"2.0.7","ts-algebra":"2.0.0","@types/node":"26.6.2","ajv-formats":"3.0.1","body-parser":"2.3.0","cross-spawn":"7.0.6","escape-html":"1.0.3","eventsource":"3.0.7","fast-sha256":"1.3.0","graceful-fs":"4.2.11","has-symbols":"1.1.0","htmlparser2":"10.1.0","http-errors":"2.0.1","json-bigint":"1.0.0","media-typer":"1.1.0","on-finished":"2.4.1","path-scurry":"2.0.2","safe-buffer":"5.2.1","signal-exit":"3.0.7","@smithy/core":"3.33.3","bignumber.js":"9.3.1","content-type":"1.0.5","dunder-proto":"1.0.1","finalhandler":"2.1.1","gcp-metadata":"8.1.2","grok-mermaid":"0.2.3","highlight.js":"11.12.0","partial-json":"0.1.7","range-parser":"1.3.0","safer-buffer":"2.1.2","serve-static":"2.2.1","side-channel":"1.1.1","toidentifier":"1.0.1","undici-types":"8.9.0","@aws-sdk/core":"3.978.0","@google/genai":"2.23.0","@smithy/types":"4.18.0","function-bind":"1.1.2","get-intrinsic":"1.3.0","object-assign":"4.1.1","shebang-regex":"3.0.0","@aws-sdk/types":"3.974.5","@babel/runtime":"7.29.2","balanced-match":"4.0.4","dom-serializer":"2.0.0","domelementtype":"2.3.0","object-inspect":"1.13.4","path-to-regexp":"8.4.2","pkce-challenge":"5.0.1","proxy-from-env":"2.1.0","setprototypeof":"1.2.0","@xterm/headless":"6.0.0","brace-expansion":"5.0.12","es-module-lexer":"3.0.2","es-object-atoms":"1.1.2","fast-deep-equal":"3.1.3","hosted-git-info":"10.1.1","math-intrinsics":"1.1.0","proper-lockfile":"4.1.2","shebang-command":"2.0.0","web-tree-sitter":"0.27.0","@protobufjs/path":"1.1.2","@protobufjs/pool":"1.1.0","@protobufjs/utf8":"1.1.1","cookie-signature":"1.2.2","http-proxy-agent":"9.1.0","side-channel-map":"1.0.1","standardwebhooks":"1.0.0","@anthropic-ai/sdk":"0.127.0","@hono/node-server":"2.1.1","@protobufjs/fetch":"1.1.1","@protobufjs/float":"1.0.2","@stablelib/base64":"1.0.1","formdata-polyfill":"4.0.10","https-proxy-agent":"9.1.0","json-schema-to-ts":"3.1.1","json-schema-typed":"8.0.2","merge-descriptors":"2.0.0","node-domexception":"1.0.0","side-channel-list":"1.0.1","@bufbuild/protobuf":"2.15.0","@mixmark-io/domino":"2.2.0","@opentelemetry/api":"1.9.1","@protobufjs/base64":"1.1.2","data-uri-to-buffer":"4.0.1","es-define-property":"1.0.1","eventsource-parser":"3.1.0","express-rate-limit":"8.7.0","zod-to-json-schema":"3.25.2","@protobufjs/codegen":"2.0.5","content-disposition":"1.1.0","ecdsa-sig-formatter":"1.0.11","google-auth-library":"10.6.2","require-from-string":"2.0.2","@aws-sdk/xml-builder":"3.972.40","@mozilla/readability":"0.6.0","@smithy/signature-v4":"5.7.3","get-east-asian-width":"1.7.0","google-logging-utils":"1.1.3","json-schema-traverse":"1.0.0","side-channel-weakmap":"1.0.2","web-streams-polyfill":"3.3.3","@earendil-works/chord":"0.85.1","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.9.22-4","@protobufjs/aspromise":"1.1.2","proxy-agent-negotiate":"1.1.0","@earendil-works/pi-pty":"npm:@code-yeongyu/senpi-pty@2026.9.22-4","@earendil-works/pi-tui":"npm:@code-yeongyu/senpi-tui@2026.9.22-4","@aws-sdk/nested-clients":"3.997.45","call-bind-apply-helpers":"1.0.2","@aws-sdk/token-providers":"3.1136.0","@aws/lambda-invoke-store":"0.3.0","@protobufjs/eventemitter":"1.1.1","@modelcontextprotocol/sdk":"1.30.0","@smithy/node-http-handler":"4.12.1","@silvia-odwyer/photon-node":"0.3.4","@smithy/fetch-http-handler":"5.7.2","buffer-equal-constant-time":"1.0.1","@code-yeongyu/senpi-codemode":"2026.9.22-4","@earendil-works/pi-telemetry":"npm:@code-yeongyu/senpi-telemetry@2026.9.22-4","@aws-sdk/middleware-websocket":"3.972.53","@earendil-works/pi-agent-core":"npm:@code-yeongyu/senpi-agent-core@2026.9.22-4","@anthropic-ai/claude-agent-sdk":"0.3.278","@aws-sdk/client-bedrock-runtime":"3.1136.0","@aws-sdk/middleware-eventstream":"3.972.29","@aws-sdk/credential-provider-env":"3.972.71","@aws-sdk/credential-provider-ini":"3.973.16","@aws-sdk/credential-provider-sso":"3.973.15","@smithy/credential-provider-imds":"4.5.2","@aws-sdk/credential-provider-http":"3.972.73","@aws-sdk/credential-provider-node":"3.972.83","@aws-sdk/eventstream-handler-node":"3.972.34","@aws-sdk/credential-provider-login":"3.972.78","@aws-sdk/signature-v4-multi-region":"3.996.46","@aws-sdk/credential-provider-process":"3.972.71","@aws-sdk/credential-provider-web-identity":"3.972.77"},"_hasShrinkwrap":false,"devDependencies":{"shx":"0.4.0","vitest":"5.0.1","@types/ws":"8.18.1","typescript":"7.0.2","@types/node":"26.6.2","@types/semver":"7.8.0","@types/turndown":"5.0.6","@types/picomatch":"4.0.3","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@anthropic-ai/claude-agent-sdk","@anthropic-ai/sdk","@aws-sdk/client-bedrock-runtime","@aws-sdk/core","@aws-sdk/credential-provider-env","@aws-sdk/credential-provider-http","@aws-sdk/credential-provider-ini","@aws-sdk/credential-provider-login","@aws-sdk/credential-provider-node","@aws-sdk/credential-provider-process","@aws-sdk/credential-provider-sso","@aws-sdk/credential-provider-web-identity","@aws-sdk/eventstream-handler-node","@aws-sdk/middleware-eventstream","@aws-sdk/middleware-websocket","@aws-sdk/nested-clients","@aws-sdk/signature-v4-multi-region","@aws-sdk/token-providers","@aws-sdk/types","@aws-sdk/xml-builder","@aws/lambda-invoke-store","@babel/runtime","@bufbuild/protobuf","@code-yeongyu/senpi-codemode","@earendil-works/chord","@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-pty","@earendil-works/pi-telemetry","@earendil-works/pi-tui","@google/genai","@hono/node-server","@mixmark-io/domino","@modelcontextprotocol/sdk","@mozilla/readability","@opentelemetry/api","@protobufjs/aspromise","@protobufjs/base64","@protobufjs/codegen","@protobufjs/eventemitter","@protobufjs/fetch","@protobufjs/float","@protobufjs/path","@protobufjs/pool","@protobufjs/utf8","@silvia-odwyer/photon-node","@smithy/core","@smithy/credential-provider-imds","@smithy/fetch-http-handler","@smithy/node-http-handler","@smithy/signature-v4","@smithy/types","@stablelib/base64","@types/node","@xterm/headless","accepts","agent-base","ajv","ajv-formats","balanced-match","base64-js","bignumber.js","body-parser","boolbase","bowser","brace-expansion","buffer-equal-constant-time","bytes","call-bind-apply-helpers","call-bound","chalk","content-disposition","content-type","cookie","cookie-signature","cors","cross-spawn","css-select","css-what","cssom","data-uri-to-buffer","debug","depd","diff","dom-serializer","domelementtype","domhandler","domutils","dunder-proto","ecdsa-sig-formatter","ee-first","encodeurl","entities","es-define-property","es-errors","es-module-lexer","es-object-atoms","esbuild","escape-html","etag","eventsource","eventsource-parser","express","express-rate-limit","extend","fast-deep-equal","fast-sha256","fast-uri","fetch-blob","finalhandler","formdata-polyfill","forwarded","fresh","function-bind","gaxios","gcp-metadata","get-east-asian-width","get-intrinsic","get-proto","glob","google-auth-library","google-logging-utils","gopd","graceful-fs","grok-mermaid","has-symbols","hasown","highlight.js","hono","hosted-git-info","htmlparser2","http-errors","http-proxy-agent","https-proxy-agent","iconv-lite","ignore","inherits","ip-address","ipaddr.js","is-promise","isexe","jiti","jose","json-bigint","json-schema-to-ts","json-schema-traverse","json-schema-typed","jwa","jws","linkedom","long","lru-cache","marked","math-intrinsics","media-typer","merge-descriptors","mime-db","mime-types","minimatch","minipass","ms","negotiator","node-domexception","node-fetch","nth-check","object-assign","object-inspect","on-finished","once","openai","p-retry","parseurl","partial-json","path-key","path-scurry","path-to-regexp","picomatch","pkce-challenge","proper-lockfile","protobufjs","proxy-addr","proxy-agent-negotiate","proxy-from-env","qs","range-parser","raw-body","require-from-string","retry","router","safe-buffer","safer-buffer","semver","send","serve-static","setprototypeof","shebang-command","shebang-regex","side-channel","side-channel-list","side-channel-map","side-channel-weakmap","signal-exit","standardwebhooks","statuses","toidentifier","ts-algebra","tslib","turndown","type-is","typebox","uhyphen","undici","undici-types","unpipe","vary","web-streams-polyfill","web-tree-sitter","which","wrappy","ws","yaml","zod","zod-to-json-schema"],"optionalDependencies":{"@esbuild/aix-ppc64":"0.28.2","@esbuild/linux-arm":"0.28.2","@esbuild/linux-x64":"0.28.2","@esbuild/sunos-x64":"0.28.2","@esbuild/win32-x64":"0.28.2","@esbuild/darwin-x64":"0.28.2","@esbuild/linux-ia32":"0.28.2","@esbuild/netbsd-x64":"0.28.2","@esbuild/win32-ia32":"0.28.2","@esbuild/android-arm":"0.28.2","@esbuild/android-x64":"0.28.2","@esbuild/freebsd-x64":"0.28.2","@esbuild/linux-arm64":"0.28.2","@esbuild/linux-ppc64":"0.28.2","@esbuild/linux-s390x":"0.28.2","@esbuild/openbsd-x64":"0.28.2","@esbuild/win32-arm64":"0.28.2","@esbuild/darwin-arm64":"0.28.2","@esbuild/netbsd-arm64":"0.28.2","@esbuild/android-arm64":"0.28.2","@esbuild/freebsd-arm64":"0.28.2","@esbuild/linux-loong64":"0.28.2","@esbuild/linux-riscv64":"0.28.2","@esbuild/openbsd-arm64":"0.28.2","@esbuild/linux-mips64el":"0.28.2","@esbuild/openharmony-arm64":"0.28.2","@anthropic-ai/claude-agent-sdk-linux-x64":"0.3.278","@anthropic-ai/claude-agent-sdk-win32-x64":"0.3.278","@anthropic-ai/claude-agent-sdk-darwin-x64":"0.3.278","@anthropic-ai/claude-agent-sdk-linux-arm64":"0.3.278","@anthropic-ai/claude-agent-sdk-win32-arm64":"0.3.278","@anthropic-ai/claude-agent-sdk-darwin-arm64":"0.3.278","@anthropic-ai/claude-agent-sdk-linux-x64-musl":"0.3.278","@anthropic-ai/claude-agent-sdk-linux-arm64-musl":"0.3.278"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.9.22-4_1790105051986_0.3326697510428356","host":"s3://npm-registry-packages-npm-production"}},"2026.9.23":{"name":"@code-yeongyu/senpi","version":"2026.9.23","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.9.23","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"pi":"dist/bundle/cli.js","senpi":"dist/bundle/cli.js"},"dist":{"shasum":"86c18362d287eecfe25e525cd9fb8dabdd41bcaa","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.9.23.tgz","fileCount":27070,"integrity":"sha512-KszJKTQ5/jCwyCekrhY5Xk4C7r3MUU9QEv851rtAe/O/S1b2o66AqdOLEQ3DnZQ0fHo4MM9ZceRGAuUfIlwfAQ==","signatures":[{"sig":"MEQCIFsMly6AUdd4wQw8l9FBooLWTlfgEGE9aVvtRX3E6D9lAiB7iAMzIyJ9jol9FnRdsIEvNc40JPNaQPlXYz/T3uunCg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDKO8Pm1mSI3R6g9/fB5fy9zkTjbZFVUXh1JC+p+EKaVgIhAPbsCaJuhe1phO1+Mpw9zLKJJiQEul1V5umusivHCVrf","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.9.23","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":205396543},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.js"},"./rpc-entry":{"import":"./dist/rpc-entry.js"},"./bun-runtime":{"types":"./dist/bun/runtime-modules.d.ts","import":"./dist/bun/runtime-modules.js"}},"scripts":{"dev":"tsc -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsgo -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js dist/rpc-entry.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi && npm run build:bundle","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/","build:binary":"npm --prefix ../tui run build && npm --prefix ../telemetry run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm --prefix ../protocol run build && npm --prefix ../client run build && npm --prefix ../pty run build && npm run build && node ../../scripts/prepare-bun-compile-assets.mjs && bun build --compile --splitting --compile-autoload-package-json --no-compile-autoload-dotenv --no-compile-autoload-bunfig --minify --keep-names ./dist/bun/cli.js ./src/modes/rpc/session-worker.ts ./src/utils/image-resize-worker.ts --outfile dist/pi && npm run copy-binary-assets","build:bundle":"node ../../scripts/build-coding-agent-bundle.mjs","qa:app-server":"node scripts/qa-app-server/run-all.mjs","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","build:unbundled":"tsgo -p tsconfig.build.json && shx chmod +x dist/cli.js dist/rpc-entry.js && npm run copy-assets","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/export-html/ && shx cp -r docs dist/ && shx cp -r examples dist/ && node ../../scripts/copy-codemode-sidecar.mjs dist && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/ && shx mkdir -p dist/native/darwin dist/native/win32 && shx cp -r ../../packages/tui/native/darwin/prebuilds dist/native/darwin/ && shx cp -r ../../packages/tui/native/win32/prebuilds dist/native/win32/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/ && node ../../scripts/copy-pty-native.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ea548fc8-dac4-4dec-a439-6f4fa3870309"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.3"},"rimraf":"6.1.3","protobufjs":"7.6.5","@hono/node-server":"2.1.1"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.19.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.20.0","dependencies":{"ms":"2.1.3","qs":"6.16.0","ws":"8.21.3","ajv":"8.20.0","jwa":"2.0.1","jws":"4.0.1","zod":"4.6.5","cors":"2.8.6","depd":"2.0.0","diff":"9.0.0","etag":"1.8.1","glob":"13.0.6","gopd":"1.2.0","hono":"4.13.8","jiti":"2.7.0","jose":"6.2.3","long":"5.3.2","once":"1.4.0","send":"1.2.1","vary":"1.1.2","yaml":"2.9.1","bytes":"3.1.2","chalk":"6.0.0","cssom":"0.5.0","debug":"4.4.3","fresh":"2.0.0","isexe":"2.0.0","retry":"0.13.1","tslib":"2.8.1","which":"2.0.2","bowser":"2.14.1","cookie":"0.7.2","extend":"3.0.2","gaxios":"7.1.4","hasown":"2.0.3","ignore":"7.0.9","marked":"18.0.13","openai":"6.26.0","router":"2.2.0","semver":"7.8.5","undici":"8.10.2","unpipe":"1.0.0","wrappy":"1.0.2","accepts":"2.0.0","esbuild":"0.28.2","express":"5.2.1","mime-db":"1.54.0","p-retry":"4.6.2","type-is":"2.1.0","typebox":"1.3.34","uhyphen":"0.2.0","boolbase":"2.0.0","css-what":"8.0.0","domutils":"3.2.2","ee-first":"1.1.1","entities":"8.1.0","fast-uri":"3.1.8","inherits":"2.0.4","linkedom":"0.18.13","minipass":"7.1.3","parseurl":"1.3.3","path-key":"3.1.1","raw-body":"3.0.2","statuses":"2.0.2","turndown":"7.2.4","base64-js":"1.5.1","encodeurl":"2.0.0","es-errors":"1.3.0","forwarded":"0.2.0","get-proto":"1.0.1","ipaddr.js":"1.9.1","lru-cache":"11.5.2","minimatch":"10.2.6","nth-check":"3.0.1","picomatch":"4.0.7","agent-base":"9.0.0","call-bound":"1.0.4","css-select":"7.0.0","domhandler":"5.0.3","fetch-blob":"3.2.0","iconv-lite":"0.7.3","ip-address":"10.7.2","is-promise":"4.0.0","mime-types":"3.0.2","negotiator":"1.0.0","node-fetch":"3.3.2","protobufjs":"7.6.5","proxy-addr":"2.0.7","ts-algebra":"2.0.0","@types/node":"26.6.2","ajv-formats":"3.0.1","body-parser":"2.3.0","cross-spawn":"7.0.6","escape-html":"1.0.3","eventsource":"3.0.7","fast-sha256":"1.3.0","graceful-fs":"4.2.11","has-symbols":"1.1.0","htmlparser2":"10.1.0","http-errors":"2.0.1","json-bigint":"1.0.0","media-typer":"1.1.0","on-finished":"2.4.1","path-scurry":"2.0.2","safe-buffer":"5.2.1","signal-exit":"3.0.7","@smithy/core":"3.33.3","bignumber.js":"9.3.1","content-type":"1.0.5","dunder-proto":"1.0.1","finalhandler":"2.1.1","gcp-metadata":"8.1.2","grok-mermaid":"0.2.3","highlight.js":"11.12.0","partial-json":"0.1.7","range-parser":"1.3.0","safer-buffer":"2.1.2","serve-static":"2.2.1","side-channel":"1.1.1","toidentifier":"1.0.1","undici-types":"8.9.0","@aws-sdk/core":"3.978.0","@google/genai":"2.23.0","@smithy/types":"4.18.0","function-bind":"1.1.2","get-intrinsic":"1.3.0","object-assign":"4.1.1","shebang-regex":"3.0.0","@aws-sdk/types":"3.974.5","@babel/runtime":"7.29.2","balanced-match":"4.0.4","dom-serializer":"2.0.0","domelementtype":"2.3.0","object-inspect":"1.13.4","path-to-regexp":"8.4.2","pkce-challenge":"5.0.1","proxy-from-env":"2.1.0","setprototypeof":"1.2.0","@xterm/headless":"6.0.0","brace-expansion":"5.0.12","es-module-lexer":"3.0.2","es-object-atoms":"1.1.2","fast-deep-equal":"3.1.3","hosted-git-info":"10.1.1","math-intrinsics":"1.1.0","proper-lockfile":"4.1.2","shebang-command":"2.0.0","web-tree-sitter":"0.27.0","@protobufjs/path":"1.1.2","@protobufjs/pool":"1.1.0","@protobufjs/utf8":"1.1.1","cookie-signature":"1.2.2","http-proxy-agent":"9.1.0","side-channel-map":"1.0.1","standardwebhooks":"1.0.0","@anthropic-ai/sdk":"0.127.0","@hono/node-server":"2.1.1","@protobufjs/fetch":"1.1.1","@protobufjs/float":"1.0.2","@stablelib/base64":"1.0.1","formdata-polyfill":"4.0.10","https-proxy-agent":"9.1.0","json-schema-to-ts":"3.1.1","json-schema-typed":"8.0.2","merge-descriptors":"2.0.0","node-domexception":"1.0.0","side-channel-list":"1.0.1","@bufbuild/protobuf":"2.15.0","@mixmark-io/domino":"2.2.0","@opentelemetry/api":"1.9.1","@protobufjs/base64":"1.1.2","data-uri-to-buffer":"4.0.1","es-define-property":"1.0.1","eventsource-parser":"3.1.0","express-rate-limit":"8.7.0","zod-to-json-schema":"3.25.2","@protobufjs/codegen":"2.0.5","content-disposition":"1.1.0","ecdsa-sig-formatter":"1.0.11","google-auth-library":"10.6.2","require-from-string":"2.0.2","@aws-sdk/xml-builder":"3.972.40","@mozilla/readability":"0.6.0","@smithy/signature-v4":"5.7.3","get-east-asian-width":"1.7.0","google-logging-utils":"1.1.3","json-schema-traverse":"1.0.0","side-channel-weakmap":"1.0.2","web-streams-polyfill":"3.3.3","@earendil-works/chord":"0.85.1","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.9.23","@protobufjs/aspromise":"1.1.2","proxy-agent-negotiate":"1.1.0","@earendil-works/pi-pty":"npm:@code-yeongyu/senpi-pty@2026.9.23","@earendil-works/pi-tui":"npm:@code-yeongyu/senpi-tui@2026.9.23","@aws-sdk/nested-clients":"3.997.45","call-bind-apply-helpers":"1.0.2","@aws-sdk/token-providers":"3.1136.0","@aws/lambda-invoke-store":"0.3.0","@protobufjs/eventemitter":"1.1.1","@modelcontextprotocol/sdk":"1.30.0","@smithy/node-http-handler":"4.12.1","@silvia-odwyer/photon-node":"0.3.4","@smithy/fetch-http-handler":"5.7.2","buffer-equal-constant-time":"1.0.1","@code-yeongyu/senpi-codemode":"2026.9.23","@earendil-works/pi-telemetry":"npm:@code-yeongyu/senpi-telemetry@2026.9.23","@aws-sdk/middleware-websocket":"3.972.53","@earendil-works/pi-agent-core":"npm:@code-yeongyu/senpi-agent-core@2026.9.23","@anthropic-ai/claude-agent-sdk":"0.3.278","@aws-sdk/client-bedrock-runtime":"3.1136.0","@aws-sdk/middleware-eventstream":"3.972.29","@aws-sdk/credential-provider-env":"3.972.71","@aws-sdk/credential-provider-ini":"3.973.16","@aws-sdk/credential-provider-sso":"3.973.15","@smithy/credential-provider-imds":"4.5.2","@aws-sdk/credential-provider-http":"3.972.73","@aws-sdk/credential-provider-node":"3.972.83","@aws-sdk/eventstream-handler-node":"3.972.34","@aws-sdk/credential-provider-login":"3.972.78","@aws-sdk/signature-v4-multi-region":"3.996.46","@aws-sdk/credential-provider-process":"3.972.71","@aws-sdk/credential-provider-web-identity":"3.972.77"},"_hasShrinkwrap":false,"devDependencies":{"shx":"0.4.0","vitest":"5.0.1","@types/ws":"8.18.1","typescript":"7.0.2","@types/node":"26.6.2","@types/semver":"7.8.0","@types/turndown":"5.0.6","@types/picomatch":"4.0.3","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@anthropic-ai/claude-agent-sdk","@anthropic-ai/sdk","@aws-sdk/client-bedrock-runtime","@aws-sdk/core","@aws-sdk/credential-provider-env","@aws-sdk/credential-provider-http","@aws-sdk/credential-provider-ini","@aws-sdk/credential-provider-login","@aws-sdk/credential-provider-node","@aws-sdk/credential-provider-process","@aws-sdk/credential-provider-sso","@aws-sdk/credential-provider-web-identity","@aws-sdk/eventstream-handler-node","@aws-sdk/middleware-eventstream","@aws-sdk/middleware-websocket","@aws-sdk/nested-clients","@aws-sdk/signature-v4-multi-region","@aws-sdk/token-providers","@aws-sdk/types","@aws-sdk/xml-builder","@aws/lambda-invoke-store","@babel/runtime","@bufbuild/protobuf","@code-yeongyu/senpi-codemode","@earendil-works/chord","@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-pty","@earendil-works/pi-telemetry","@earendil-works/pi-tui","@google/genai","@hono/node-server","@mixmark-io/domino","@modelcontextprotocol/sdk","@mozilla/readability","@opentelemetry/api","@protobufjs/aspromise","@protobufjs/base64","@protobufjs/codegen","@protobufjs/eventemitter","@protobufjs/fetch","@protobufjs/float","@protobufjs/path","@protobufjs/pool","@protobufjs/utf8","@silvia-odwyer/photon-node","@smithy/core","@smithy/credential-provider-imds","@smithy/fetch-http-handler","@smithy/node-http-handler","@smithy/signature-v4","@smithy/types","@stablelib/base64","@types/node","@xterm/headless","accepts","agent-base","ajv","ajv-formats","balanced-match","base64-js","bignumber.js","body-parser","boolbase","bowser","brace-expansion","buffer-equal-constant-time","bytes","call-bind-apply-helpers","call-bound","chalk","content-disposition","content-type","cookie","cookie-signature","cors","cross-spawn","css-select","css-what","cssom","data-uri-to-buffer","debug","depd","diff","dom-serializer","domelementtype","domhandler","domutils","dunder-proto","ecdsa-sig-formatter","ee-first","encodeurl","entities","es-define-property","es-errors","es-module-lexer","es-object-atoms","esbuild","escape-html","etag","eventsource","eventsource-parser","express","express-rate-limit","extend","fast-deep-equal","fast-sha256","fast-uri","fetch-blob","finalhandler","formdata-polyfill","forwarded","fresh","function-bind","gaxios","gcp-metadata","get-east-asian-width","get-intrinsic","get-proto","glob","google-auth-library","google-logging-utils","gopd","graceful-fs","grok-mermaid","has-symbols","hasown","highlight.js","hono","hosted-git-info","htmlparser2","http-errors","http-proxy-agent","https-proxy-agent","iconv-lite","ignore","inherits","ip-address","ipaddr.js","is-promise","isexe","jiti","jose","json-bigint","json-schema-to-ts","json-schema-traverse","json-schema-typed","jwa","jws","linkedom","long","lru-cache","marked","math-intrinsics","media-typer","merge-descriptors","mime-db","mime-types","minimatch","minipass","ms","negotiator","node-domexception","node-fetch","nth-check","object-assign","object-inspect","on-finished","once","openai","p-retry","parseurl","partial-json","path-key","path-scurry","path-to-regexp","picomatch","pkce-challenge","proper-lockfile","protobufjs","proxy-addr","proxy-agent-negotiate","proxy-from-env","qs","range-parser","raw-body","require-from-string","retry","router","safe-buffer","safer-buffer","semver","send","serve-static","setprototypeof","shebang-command","shebang-regex","side-channel","side-channel-list","side-channel-map","side-channel-weakmap","signal-exit","standardwebhooks","statuses","toidentifier","ts-algebra","tslib","turndown","type-is","typebox","uhyphen","undici","undici-types","unpipe","vary","web-streams-polyfill","web-tree-sitter","which","wrappy","ws","yaml","zod","zod-to-json-schema"],"optionalDependencies":{"@esbuild/aix-ppc64":"0.28.2","@esbuild/linux-arm":"0.28.2","@esbuild/linux-x64":"0.28.2","@esbuild/sunos-x64":"0.28.2","@esbuild/win32-x64":"0.28.2","@esbuild/darwin-x64":"0.28.2","@esbuild/linux-ia32":"0.28.2","@esbuild/netbsd-x64":"0.28.2","@esbuild/win32-ia32":"0.28.2","@esbuild/android-arm":"0.28.2","@esbuild/android-x64":"0.28.2","@esbuild/freebsd-x64":"0.28.2","@esbuild/linux-arm64":"0.28.2","@esbuild/linux-ppc64":"0.28.2","@esbuild/linux-s390x":"0.28.2","@esbuild/openbsd-x64":"0.28.2","@esbuild/win32-arm64":"0.28.2","@esbuild/darwin-arm64":"0.28.2","@esbuild/netbsd-arm64":"0.28.2","@esbuild/android-arm64":"0.28.2","@esbuild/freebsd-arm64":"0.28.2","@esbuild/linux-loong64":"0.28.2","@esbuild/linux-riscv64":"0.28.2","@esbuild/openbsd-arm64":"0.28.2","@esbuild/linux-mips64el":"0.28.2","@esbuild/openharmony-arm64":"0.28.2","@anthropic-ai/claude-agent-sdk-linux-x64":"0.3.278","@anthropic-ai/claude-agent-sdk-win32-x64":"0.3.278","@anthropic-ai/claude-agent-sdk-darwin-x64":"0.3.278","@anthropic-ai/claude-agent-sdk-linux-arm64":"0.3.278","@anthropic-ai/claude-agent-sdk-win32-arm64":"0.3.278","@anthropic-ai/claude-agent-sdk-darwin-arm64":"0.3.278","@anthropic-ai/claude-agent-sdk-linux-x64-musl":"0.3.278","@anthropic-ai/claude-agent-sdk-linux-arm64-musl":"0.3.278"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.9.23_1790130909253_0.9586651071166181","host":"s3://npm-registry-packages-npm-production"}},"2026.9.23-2":{"name":"@code-yeongyu/senpi","version":"2026.9.23-2","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.9.23-2","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"pi":"dist/bundle/cli.js","senpi":"dist/bundle/cli.js"},"dist":{"shasum":"ff092210b0426c0ca6d88efebd18272f3c1293d2","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.9.23-2.tgz","fileCount":27078,"integrity":"sha512-IaACDKiX+aiHwrSVmgn8pG39qK6n0gWjFxwv3e9Roj66eCeOu492AhQG6jZywNpaNtSjBdnmiUSVuT7zSatFTQ==","signatures":[{"sig":"MEUCIQCH0qSBLnEHa3QC0fIRqqkSdKq2OVPg/9hESVz7Dm0xYwIgLke+zOiCre+KsmwdumSPHO3k6vEkWUNrEGKsojl3jg4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIFBs2yub15emNLwwIl5mGGtRm3JLEFyomBA8DLxBwANRAiB4ZElQx7Dla74srQa+eJSKcGDjb4J57h8e8rNjsgrOhA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.9.23-2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":205487592},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.js"},"./rpc-entry":{"import":"./dist/rpc-entry.js"},"./bun-runtime":{"types":"./dist/bun/runtime-modules.d.ts","import":"./dist/bun/runtime-modules.js"}},"scripts":{"dev":"tsc -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsgo -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js dist/rpc-entry.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi && npm run build:bundle","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/","build:binary":"npm --prefix ../tui run build && npm --prefix ../telemetry run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm --prefix ../protocol run build && npm --prefix ../client run build && npm --prefix ../pty run build && npm run build && node ../../scripts/prepare-bun-compile-assets.mjs && bun build --compile --splitting --compile-autoload-package-json --no-compile-autoload-dotenv --no-compile-autoload-bunfig --minify --keep-names ./dist/bun/cli.js ./src/modes/rpc/session-worker.ts ./src/utils/image-resize-worker.ts --outfile dist/pi && npm run copy-binary-assets","build:bundle":"node ../../scripts/build-coding-agent-bundle.mjs","qa:app-server":"node scripts/qa-app-server/run-all.mjs","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","build:unbundled":"tsgo -p tsconfig.build.json && shx chmod +x dist/cli.js dist/rpc-entry.js && npm run copy-assets","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/export-html/ && shx cp -r docs dist/ && shx cp -r examples dist/ && node ../../scripts/copy-codemode-sidecar.mjs dist && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/ && shx mkdir -p dist/native/darwin dist/native/win32 && shx cp -r ../../packages/tui/native/darwin/prebuilds dist/native/darwin/ && shx cp -r ../../packages/tui/native/win32/prebuilds dist/native/win32/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/ && node ../../scripts/copy-pty-native.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ea548fc8-dac4-4dec-a439-6f4fa3870309"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.3"},"rimraf":"6.1.3","protobufjs":"7.6.5","@hono/node-server":"2.1.1"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.19.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.21.0","dependencies":{"ms":"2.1.3","qs":"6.16.0","ws":"8.21.3","ajv":"8.20.0","jwa":"2.0.1","jws":"4.0.1","zod":"4.6.5","cors":"2.8.6","depd":"2.0.0","diff":"9.0.0","etag":"1.8.1","glob":"13.0.6","gopd":"1.2.0","hono":"4.13.8","jiti":"2.7.0","jose":"6.2.3","long":"5.3.2","once":"1.4.0","send":"1.2.1","vary":"1.1.2","yaml":"2.9.1","bytes":"3.1.2","chalk":"6.0.0","cssom":"0.5.0","debug":"4.4.3","fresh":"2.0.0","isexe":"2.0.0","retry":"0.13.1","tslib":"2.8.1","which":"2.0.2","bowser":"2.14.1","cookie":"0.7.2","extend":"3.0.2","gaxios":"7.1.4","hasown":"2.0.3","ignore":"7.0.9","marked":"18.0.13","openai":"6.26.0","router":"2.2.0","semver":"7.8.5","undici":"8.10.2","unpipe":"1.0.0","wrappy":"1.0.2","accepts":"2.0.0","esbuild":"0.28.2","express":"5.2.1","mime-db":"1.54.0","p-retry":"4.6.2","type-is":"2.1.0","typebox":"1.3.34","uhyphen":"0.2.0","boolbase":"2.0.0","css-what":"8.0.0","domutils":"3.2.2","ee-first":"1.1.1","entities":"8.1.0","fast-uri":"3.1.8","inherits":"2.0.4","linkedom":"0.18.13","minipass":"7.1.3","parseurl":"1.3.3","path-key":"3.1.1","raw-body":"3.0.2","statuses":"2.0.2","turndown":"7.2.4","base64-js":"1.5.1","encodeurl":"2.0.0","es-errors":"1.3.0","forwarded":"0.2.0","get-proto":"1.0.1","ipaddr.js":"1.9.1","lru-cache":"11.5.2","minimatch":"10.2.6","nth-check":"3.0.1","picomatch":"4.0.7","agent-base":"9.0.0","call-bound":"1.0.4","css-select":"7.0.0","domhandler":"5.0.3","fetch-blob":"3.2.0","iconv-lite":"0.7.3","ip-address":"10.7.2","is-promise":"4.0.0","mime-types":"3.0.2","negotiator":"1.0.0","node-fetch":"3.3.2","protobufjs":"7.6.5","proxy-addr":"2.0.7","ts-algebra":"2.0.0","@types/node":"26.6.2","ajv-formats":"3.0.1","body-parser":"2.3.0","cross-spawn":"7.0.6","escape-html":"1.0.3","eventsource":"3.0.7","fast-sha256":"1.3.0","graceful-fs":"4.2.11","has-symbols":"1.1.0","htmlparser2":"10.1.0","http-errors":"2.0.1","json-bigint":"1.0.0","media-typer":"1.1.0","on-finished":"2.4.1","path-scurry":"2.0.2","safe-buffer":"5.2.1","signal-exit":"3.0.7","@smithy/core":"3.33.3","bignumber.js":"9.3.1","content-type":"1.0.5","dunder-proto":"1.0.1","finalhandler":"2.1.1","gcp-metadata":"8.1.2","grok-mermaid":"0.2.3","highlight.js":"11.12.0","partial-json":"0.1.7","range-parser":"1.3.0","safer-buffer":"2.1.2","serve-static":"2.2.1","side-channel":"1.1.1","toidentifier":"1.0.1","undici-types":"8.9.0","@aws-sdk/core":"3.978.0","@google/genai":"2.23.0","@smithy/types":"4.18.0","function-bind":"1.1.2","get-intrinsic":"1.3.0","object-assign":"4.1.1","shebang-regex":"3.0.0","@aws-sdk/types":"3.974.5","@babel/runtime":"7.29.2","balanced-match":"4.0.4","dom-serializer":"2.0.0","domelementtype":"2.3.0","object-inspect":"1.13.4","path-to-regexp":"8.4.2","pkce-challenge":"5.0.1","proxy-from-env":"2.1.0","setprototypeof":"1.2.0","@xterm/headless":"6.0.0","brace-expansion":"5.0.12","es-module-lexer":"3.0.2","es-object-atoms":"1.1.2","fast-deep-equal":"3.1.3","hosted-git-info":"10.1.1","math-intrinsics":"1.1.0","proper-lockfile":"4.1.2","shebang-command":"2.0.0","web-tree-sitter":"0.27.0","@protobufjs/path":"1.1.2","@protobufjs/pool":"1.1.0","@protobufjs/utf8":"1.1.1","cookie-signature":"1.2.2","http-proxy-agent":"9.1.0","side-channel-map":"1.0.1","standardwebhooks":"1.0.0","@anthropic-ai/sdk":"0.127.0","@hono/node-server":"2.1.1","@protobufjs/fetch":"1.1.1","@protobufjs/float":"1.0.2","@stablelib/base64":"1.0.1","formdata-polyfill":"4.0.10","https-proxy-agent":"9.1.0","json-schema-to-ts":"3.1.1","json-schema-typed":"8.0.2","merge-descriptors":"2.0.0","node-domexception":"1.0.0","side-channel-list":"1.0.1","@bufbuild/protobuf":"2.15.0","@mixmark-io/domino":"2.2.0","@opentelemetry/api":"1.9.1","@protobufjs/base64":"1.1.2","data-uri-to-buffer":"4.0.1","es-define-property":"1.0.1","eventsource-parser":"3.1.0","express-rate-limit":"8.7.0","zod-to-json-schema":"3.25.2","@protobufjs/codegen":"2.0.5","content-disposition":"1.1.0","ecdsa-sig-formatter":"1.0.11","google-auth-library":"10.6.2","require-from-string":"2.0.2","@aws-sdk/xml-builder":"3.972.40","@mozilla/readability":"0.6.0","@smithy/signature-v4":"5.7.3","get-east-asian-width":"1.7.0","google-logging-utils":"1.1.3","json-schema-traverse":"1.0.0","side-channel-weakmap":"1.0.2","web-streams-polyfill":"3.3.3","@earendil-works/chord":"0.85.1","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.9.23-2","@protobufjs/aspromise":"1.1.2","proxy-agent-negotiate":"1.1.0","@earendil-works/pi-pty":"npm:@code-yeongyu/senpi-pty@2026.9.23-2","@earendil-works/pi-tui":"npm:@code-yeongyu/senpi-tui@2026.9.23-2","@aws-sdk/nested-clients":"3.997.45","call-bind-apply-helpers":"1.0.2","@aws-sdk/token-providers":"3.1136.0","@aws/lambda-invoke-store":"0.3.0","@protobufjs/eventemitter":"1.1.1","@modelcontextprotocol/sdk":"1.30.0","@smithy/node-http-handler":"4.12.1","@silvia-odwyer/photon-node":"0.3.4","@smithy/fetch-http-handler":"5.7.2","buffer-equal-constant-time":"1.0.1","@code-yeongyu/senpi-codemode":"2026.9.23-2","@earendil-works/pi-telemetry":"npm:@code-yeongyu/senpi-telemetry@2026.9.23-2","@aws-sdk/middleware-websocket":"3.972.53","@earendil-works/pi-agent-core":"npm:@code-yeongyu/senpi-agent-core@2026.9.23-2","@anthropic-ai/claude-agent-sdk":"0.3.280","@aws-sdk/client-bedrock-runtime":"3.1136.0","@aws-sdk/middleware-eventstream":"3.972.29","@aws-sdk/credential-provider-env":"3.972.71","@aws-sdk/credential-provider-ini":"3.973.16","@aws-sdk/credential-provider-sso":"3.973.15","@smithy/credential-provider-imds":"4.5.2","@aws-sdk/credential-provider-http":"3.972.73","@aws-sdk/credential-provider-node":"3.972.83","@aws-sdk/eventstream-handler-node":"3.972.34","@aws-sdk/credential-provider-login":"3.972.78","@aws-sdk/signature-v4-multi-region":"3.996.46","@aws-sdk/credential-provider-process":"3.972.71","@aws-sdk/credential-provider-web-identity":"3.972.77"},"_hasShrinkwrap":false,"devDependencies":{"shx":"0.4.0","vitest":"5.0.1","@types/ws":"8.18.1","typescript":"7.0.2","@types/node":"26.6.2","@types/semver":"7.8.0","@types/turndown":"5.0.6","@types/picomatch":"4.0.3","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@anthropic-ai/claude-agent-sdk","@anthropic-ai/sdk","@aws-sdk/client-bedrock-runtime","@aws-sdk/core","@aws-sdk/credential-provider-env","@aws-sdk/credential-provider-http","@aws-sdk/credential-provider-ini","@aws-sdk/credential-provider-login","@aws-sdk/credential-provider-node","@aws-sdk/credential-provider-process","@aws-sdk/credential-provider-sso","@aws-sdk/credential-provider-web-identity","@aws-sdk/eventstream-handler-node","@aws-sdk/middleware-eventstream","@aws-sdk/middleware-websocket","@aws-sdk/nested-clients","@aws-sdk/signature-v4-multi-region","@aws-sdk/token-providers","@aws-sdk/types","@aws-sdk/xml-builder","@aws/lambda-invoke-store","@babel/runtime","@bufbuild/protobuf","@code-yeongyu/senpi-codemode","@earendil-works/chord","@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-pty","@earendil-works/pi-telemetry","@earendil-works/pi-tui","@google/genai","@hono/node-server","@mixmark-io/domino","@modelcontextprotocol/sdk","@mozilla/readability","@opentelemetry/api","@protobufjs/aspromise","@protobufjs/base64","@protobufjs/codegen","@protobufjs/eventemitter","@protobufjs/fetch","@protobufjs/float","@protobufjs/path","@protobufjs/pool","@protobufjs/utf8","@silvia-odwyer/photon-node","@smithy/core","@smithy/credential-provider-imds","@smithy/fetch-http-handler","@smithy/node-http-handler","@smithy/signature-v4","@smithy/types","@stablelib/base64","@types/node","@xterm/headless","accepts","agent-base","ajv","ajv-formats","balanced-match","base64-js","bignumber.js","body-parser","boolbase","bowser","brace-expansion","buffer-equal-constant-time","bytes","call-bind-apply-helpers","call-bound","chalk","content-disposition","content-type","cookie","cookie-signature","cors","cross-spawn","css-select","css-what","cssom","data-uri-to-buffer","debug","depd","diff","dom-serializer","domelementtype","domhandler","domutils","dunder-proto","ecdsa-sig-formatter","ee-first","encodeurl","entities","es-define-property","es-errors","es-module-lexer","es-object-atoms","esbuild","escape-html","etag","eventsource","eventsource-parser","express","express-rate-limit","extend","fast-deep-equal","fast-sha256","fast-uri","fetch-blob","finalhandler","formdata-polyfill","forwarded","fresh","function-bind","gaxios","gcp-metadata","get-east-asian-width","get-intrinsic","get-proto","glob","google-auth-library","google-logging-utils","gopd","graceful-fs","grok-mermaid","has-symbols","hasown","highlight.js","hono","hosted-git-info","htmlparser2","http-errors","http-proxy-agent","https-proxy-agent","iconv-lite","ignore","inherits","ip-address","ipaddr.js","is-promise","isexe","jiti","jose","json-bigint","json-schema-to-ts","json-schema-traverse","json-schema-typed","jwa","jws","linkedom","long","lru-cache","marked","math-intrinsics","media-typer","merge-descriptors","mime-db","mime-types","minimatch","minipass","ms","negotiator","node-domexception","node-fetch","nth-check","object-assign","object-inspect","on-finished","once","openai","p-retry","parseurl","partial-json","path-key","path-scurry","path-to-regexp","picomatch","pkce-challenge","proper-lockfile","protobufjs","proxy-addr","proxy-agent-negotiate","proxy-from-env","qs","range-parser","raw-body","require-from-string","retry","router","safe-buffer","safer-buffer","semver","send","serve-static","setprototypeof","shebang-command","shebang-regex","side-channel","side-channel-list","side-channel-map","side-channel-weakmap","signal-exit","standardwebhooks","statuses","toidentifier","ts-algebra","tslib","turndown","type-is","typebox","uhyphen","undici","undici-types","unpipe","vary","web-streams-polyfill","web-tree-sitter","which","wrappy","ws","yaml","zod","zod-to-json-schema"],"optionalDependencies":{"@esbuild/aix-ppc64":"0.28.2","@esbuild/linux-arm":"0.28.2","@esbuild/linux-x64":"0.28.2","@esbuild/sunos-x64":"0.28.2","@esbuild/win32-x64":"0.28.2","@esbuild/darwin-x64":"0.28.2","@esbuild/linux-ia32":"0.28.2","@esbuild/netbsd-x64":"0.28.2","@esbuild/win32-ia32":"0.28.2","@esbuild/android-arm":"0.28.2","@esbuild/android-x64":"0.28.2","@esbuild/freebsd-x64":"0.28.2","@esbuild/linux-arm64":"0.28.2","@esbuild/linux-ppc64":"0.28.2","@esbuild/linux-s390x":"0.28.2","@esbuild/openbsd-x64":"0.28.2","@esbuild/win32-arm64":"0.28.2","@esbuild/darwin-arm64":"0.28.2","@esbuild/netbsd-arm64":"0.28.2","@esbuild/android-arm64":"0.28.2","@esbuild/freebsd-arm64":"0.28.2","@esbuild/linux-loong64":"0.28.2","@esbuild/linux-riscv64":"0.28.2","@esbuild/openbsd-arm64":"0.28.2","@esbuild/linux-mips64el":"0.28.2","@esbuild/openharmony-arm64":"0.28.2","@anthropic-ai/claude-agent-sdk-linux-x64":"0.3.280","@anthropic-ai/claude-agent-sdk-win32-x64":"0.3.280","@anthropic-ai/claude-agent-sdk-darwin-x64":"0.3.280","@anthropic-ai/claude-agent-sdk-linux-arm64":"0.3.280","@anthropic-ai/claude-agent-sdk-win32-arm64":"0.3.280","@anthropic-ai/claude-agent-sdk-darwin-arm64":"0.3.280","@anthropic-ai/claude-agent-sdk-linux-x64-musl":"0.3.280","@anthropic-ai/claude-agent-sdk-linux-arm64-musl":"0.3.280"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.9.23-2_1790140204787_0.6664223845544504","host":"s3://npm-registry-packages-npm-production"}},"2026.9.23-3":{"name":"@code-yeongyu/senpi","version":"2026.9.23-3","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.9.23-3","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"pi":"dist/bundle/cli.js","senpi":"dist/bundle/cli.js"},"dist":{"shasum":"1276063798a6dffe0fcfb4a0ee2383003dff4041","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.9.23-3.tgz","fileCount":27119,"integrity":"sha512-aNbKRotedKKsqcYNj+ayfbxCHkYc7LLF7SBLUrCa3PNXDZ5CbqWYorWN5GuFLjdjQ9E+uJFq6P0EjrAfJMzm1Q==","signatures":[{"sig":"MEYCIQDlQx7fh2IAillgmeEss05WqatfKVKfZom8Shu96iV4gAIhAOAYEHoimfOag3VZrojFOysCt82GutJtGsPntqSwFigA","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCICAPetkthV38tKoh6IA4JJjvlbquhEVyBLOEqz9iJWnrAiB+AX3wHyWCEpSak7YcHqZgmtmnTnWbHf22wfLCAO5QYQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.9.23-3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":205675968},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.js"},"./rpc-entry":{"import":"./dist/rpc-entry.js"},"./bun-runtime":{"types":"./dist/bun/runtime-modules.d.ts","import":"./dist/bun/runtime-modules.js"}},"scripts":{"dev":"tsc -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsgo -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js dist/rpc-entry.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi && npm run build:bundle","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/","build:binary":"npm --prefix ../tui run build && npm --prefix ../telemetry run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm --prefix ../protocol run build && npm --prefix ../client run build && npm --prefix ../pty run build && npm run build && node ../../scripts/prepare-bun-compile-assets.mjs && bun build --compile --splitting --compile-autoload-package-json --no-compile-autoload-dotenv --no-compile-autoload-bunfig --minify --keep-names ./dist/bun/cli.js ./src/modes/rpc/session-worker.ts ./src/utils/image-resize-worker.ts --outfile dist/pi && npm run copy-binary-assets","build:bundle":"node ../../scripts/build-coding-agent-bundle.mjs","qa:app-server":"node scripts/qa-app-server/run-all.mjs","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","build:unbundled":"tsgo -p tsconfig.build.json && shx chmod +x dist/cli.js dist/rpc-entry.js && npm run copy-assets","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/export-html/ && shx cp -r docs dist/ && shx cp -r examples dist/ && node ../../scripts/copy-codemode-sidecar.mjs dist && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/ && shx mkdir -p dist/native/darwin dist/native/win32 && shx cp -r ../../packages/tui/native/darwin/prebuilds dist/native/darwin/ && shx cp -r ../../packages/tui/native/win32/prebuilds dist/native/win32/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/ && node ../../scripts/copy-pty-native.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ea548fc8-dac4-4dec-a439-6f4fa3870309"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.3"},"rimraf":"6.1.3","protobufjs":"7.6.5","@hono/node-server":"2.1.1"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.19.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.20.0","dependencies":{"ms":"2.1.3","qs":"6.16.0","ws":"8.21.3","ajv":"8.20.0","jwa":"2.0.1","jws":"4.0.1","zod":"4.6.5","cors":"2.8.6","depd":"2.0.0","diff":"9.0.0","etag":"1.8.1","glob":"13.0.6","gopd":"1.2.0","hono":"4.13.8","jiti":"2.7.0","jose":"6.2.3","long":"5.3.2","once":"1.4.0","send":"1.2.1","vary":"1.1.2","yaml":"2.9.1","bytes":"3.1.2","chalk":"6.0.0","cssom":"0.5.0","debug":"4.4.3","fresh":"2.0.0","isexe":"2.0.0","retry":"0.13.1","tslib":"2.8.1","which":"2.0.2","bowser":"2.14.1","cookie":"0.7.2","extend":"3.0.2","gaxios":"7.1.4","hasown":"2.0.3","ignore":"7.0.9","marked":"18.0.13","openai":"6.26.0","router":"2.2.0","semver":"7.8.5","undici":"8.10.2","unpipe":"1.0.0","wrappy":"1.0.2","accepts":"2.0.0","esbuild":"0.28.2","express":"5.2.1","mime-db":"1.54.0","p-retry":"4.6.2","type-is":"2.1.0","typebox":"1.3.34","uhyphen":"0.2.0","boolbase":"2.0.0","css-what":"8.0.0","domutils":"3.2.2","ee-first":"1.1.1","entities":"8.1.0","fast-uri":"3.1.8","inherits":"2.0.4","linkedom":"0.18.13","minipass":"7.1.3","parseurl":"1.3.3","path-key":"3.1.1","raw-body":"3.0.2","statuses":"2.0.2","turndown":"7.2.4","base64-js":"1.5.1","encodeurl":"2.0.0","es-errors":"1.3.0","forwarded":"0.2.0","get-proto":"1.0.1","ipaddr.js":"1.9.1","lru-cache":"11.5.2","minimatch":"10.2.6","nth-check":"3.0.1","picomatch":"4.0.7","agent-base":"9.0.0","call-bound":"1.0.4","css-select":"7.0.0","domhandler":"5.0.3","fetch-blob":"3.2.0","iconv-lite":"0.7.3","ip-address":"10.7.2","is-promise":"4.0.0","mime-types":"3.0.2","negotiator":"1.0.0","node-fetch":"3.3.2","protobufjs":"7.6.5","proxy-addr":"2.0.7","ts-algebra":"2.0.0","@types/node":"26.6.2","ajv-formats":"3.0.1","body-parser":"2.3.0","cross-spawn":"7.0.6","escape-html":"1.0.3","eventsource":"3.0.7","fast-sha256":"1.3.0","graceful-fs":"4.2.11","has-symbols":"1.1.0","htmlparser2":"10.1.0","http-errors":"2.0.1","json-bigint":"1.0.0","media-typer":"1.1.0","on-finished":"2.4.1","path-scurry":"2.0.2","safe-buffer":"5.2.1","signal-exit":"3.0.7","@smithy/core":"3.33.3","bignumber.js":"9.3.1","content-type":"1.0.5","dunder-proto":"1.0.1","finalhandler":"2.1.1","gcp-metadata":"8.1.2","grok-mermaid":"0.2.3","highlight.js":"11.12.0","partial-json":"0.1.7","range-parser":"1.3.0","safer-buffer":"2.1.2","serve-static":"2.2.1","side-channel":"1.1.1","toidentifier":"1.0.1","undici-types":"8.9.0","@aws-sdk/core":"3.978.0","@google/genai":"2.23.0","@smithy/types":"4.18.0","function-bind":"1.1.2","get-intrinsic":"1.3.0","object-assign":"4.1.1","shebang-regex":"3.0.0","@aws-sdk/types":"3.974.5","@babel/runtime":"7.29.2","balanced-match":"4.0.4","dom-serializer":"2.0.0","domelementtype":"2.3.0","object-inspect":"1.13.4","path-to-regexp":"8.4.2","pkce-challenge":"5.0.1","proxy-from-env":"2.1.0","setprototypeof":"1.2.0","@xterm/headless":"6.0.0","brace-expansion":"5.0.12","es-module-lexer":"3.0.2","es-object-atoms":"1.1.2","fast-deep-equal":"3.1.3","hosted-git-info":"10.1.1","math-intrinsics":"1.1.0","proper-lockfile":"4.1.2","shebang-command":"2.0.0","web-tree-sitter":"0.27.0","@protobufjs/path":"1.1.2","@protobufjs/pool":"1.1.0","@protobufjs/utf8":"1.1.1","cookie-signature":"1.2.2","http-proxy-agent":"9.1.0","side-channel-map":"1.0.1","standardwebhooks":"1.0.0","@anthropic-ai/sdk":"0.127.0","@hono/node-server":"2.1.1","@protobufjs/fetch":"1.1.1","@protobufjs/float":"1.0.2","@stablelib/base64":"1.0.1","formdata-polyfill":"4.0.10","https-proxy-agent":"9.1.0","json-schema-to-ts":"3.1.1","json-schema-typed":"8.0.2","merge-descriptors":"2.0.0","node-domexception":"1.0.0","side-channel-list":"1.0.1","@bufbuild/protobuf":"2.15.0","@mixmark-io/domino":"2.2.0","@opentelemetry/api":"1.9.1","@protobufjs/base64":"1.1.2","data-uri-to-buffer":"4.0.1","es-define-property":"1.0.1","eventsource-parser":"3.1.0","express-rate-limit":"8.7.0","zod-to-json-schema":"3.25.2","@protobufjs/codegen":"2.0.5","content-disposition":"1.1.0","ecdsa-sig-formatter":"1.0.11","google-auth-library":"10.6.2","require-from-string":"2.0.2","@aws-sdk/xml-builder":"3.972.40","@mozilla/readability":"0.6.0","@smithy/signature-v4":"5.7.3","get-east-asian-width":"1.7.0","google-logging-utils":"1.1.3","json-schema-traverse":"1.0.0","side-channel-weakmap":"1.0.2","web-streams-polyfill":"3.3.3","@earendil-works/chord":"0.85.1","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.9.23-3","@protobufjs/aspromise":"1.1.2","proxy-agent-negotiate":"1.1.0","@earendil-works/pi-pty":"npm:@code-yeongyu/senpi-pty@2026.9.23-3","@earendil-works/pi-tui":"npm:@code-yeongyu/senpi-tui@2026.9.23-3","@aws-sdk/nested-clients":"3.997.45","call-bind-apply-helpers":"1.0.2","@aws-sdk/token-providers":"3.1136.0","@aws/lambda-invoke-store":"0.3.0","@protobufjs/eventemitter":"1.1.1","@modelcontextprotocol/sdk":"1.30.0","@smithy/node-http-handler":"4.12.1","@silvia-odwyer/photon-node":"0.3.4","@smithy/fetch-http-handler":"5.7.2","buffer-equal-constant-time":"1.0.1","@code-yeongyu/senpi-codemode":"2026.9.23-3","@earendil-works/pi-telemetry":"npm:@code-yeongyu/senpi-telemetry@2026.9.23-3","@aws-sdk/middleware-websocket":"3.972.53","@earendil-works/pi-agent-core":"npm:@code-yeongyu/senpi-agent-core@2026.9.23-3","@anthropic-ai/claude-agent-sdk":"0.3.280","@aws-sdk/client-bedrock-runtime":"3.1136.0","@aws-sdk/middleware-eventstream":"3.972.29","@aws-sdk/credential-provider-env":"3.972.71","@aws-sdk/credential-provider-ini":"3.973.16","@aws-sdk/credential-provider-sso":"3.973.15","@smithy/credential-provider-imds":"4.5.2","@aws-sdk/credential-provider-http":"3.972.73","@aws-sdk/credential-provider-node":"3.972.83","@aws-sdk/eventstream-handler-node":"3.972.34","@aws-sdk/credential-provider-login":"3.972.78","@aws-sdk/signature-v4-multi-region":"3.996.46","@aws-sdk/credential-provider-process":"3.972.71","@aws-sdk/credential-provider-web-identity":"3.972.77"},"_hasShrinkwrap":false,"devDependencies":{"shx":"0.4.0","vitest":"5.0.1","@types/ws":"8.18.1","typescript":"7.0.2","@types/node":"26.6.2","@types/semver":"7.8.0","@types/turndown":"5.0.6","@types/picomatch":"4.0.3","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@anthropic-ai/claude-agent-sdk","@anthropic-ai/sdk","@aws-sdk/client-bedrock-runtime","@aws-sdk/core","@aws-sdk/credential-provider-env","@aws-sdk/credential-provider-http","@aws-sdk/credential-provider-ini","@aws-sdk/credential-provider-login","@aws-sdk/credential-provider-node","@aws-sdk/credential-provider-process","@aws-sdk/credential-provider-sso","@aws-sdk/credential-provider-web-identity","@aws-sdk/eventstream-handler-node","@aws-sdk/middleware-eventstream","@aws-sdk/middleware-websocket","@aws-sdk/nested-clients","@aws-sdk/signature-v4-multi-region","@aws-sdk/token-providers","@aws-sdk/types","@aws-sdk/xml-builder","@aws/lambda-invoke-store","@babel/runtime","@bufbuild/protobuf","@code-yeongyu/senpi-codemode","@earendil-works/chord","@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-pty","@earendil-works/pi-telemetry","@earendil-works/pi-tui","@google/genai","@hono/node-server","@mixmark-io/domino","@modelcontextprotocol/sdk","@mozilla/readability","@opentelemetry/api","@protobufjs/aspromise","@protobufjs/base64","@protobufjs/codegen","@protobufjs/eventemitter","@protobufjs/fetch","@protobufjs/float","@protobufjs/path","@protobufjs/pool","@protobufjs/utf8","@silvia-odwyer/photon-node","@smithy/core","@smithy/credential-provider-imds","@smithy/fetch-http-handler","@smithy/node-http-handler","@smithy/signature-v4","@smithy/types","@stablelib/base64","@types/node","@xterm/headless","accepts","agent-base","ajv","ajv-formats","balanced-match","base64-js","bignumber.js","body-parser","boolbase","bowser","brace-expansion","buffer-equal-constant-time","bytes","call-bind-apply-helpers","call-bound","chalk","content-disposition","content-type","cookie","cookie-signature","cors","cross-spawn","css-select","css-what","cssom","data-uri-to-buffer","debug","depd","diff","dom-serializer","domelementtype","domhandler","domutils","dunder-proto","ecdsa-sig-formatter","ee-first","encodeurl","entities","es-define-property","es-errors","es-module-lexer","es-object-atoms","esbuild","escape-html","etag","eventsource","eventsource-parser","express","express-rate-limit","extend","fast-deep-equal","fast-sha256","fast-uri","fetch-blob","finalhandler","formdata-polyfill","forwarded","fresh","function-bind","gaxios","gcp-metadata","get-east-asian-width","get-intrinsic","get-proto","glob","google-auth-library","google-logging-utils","gopd","graceful-fs","grok-mermaid","has-symbols","hasown","highlight.js","hono","hosted-git-info","htmlparser2","http-errors","http-proxy-agent","https-proxy-agent","iconv-lite","ignore","inherits","ip-address","ipaddr.js","is-promise","isexe","jiti","jose","json-bigint","json-schema-to-ts","json-schema-traverse","json-schema-typed","jwa","jws","linkedom","long","lru-cache","marked","math-intrinsics","media-typer","merge-descriptors","mime-db","mime-types","minimatch","minipass","ms","negotiator","node-domexception","node-fetch","nth-check","object-assign","object-inspect","on-finished","once","openai","p-retry","parseurl","partial-json","path-key","path-scurry","path-to-regexp","picomatch","pkce-challenge","proper-lockfile","protobufjs","proxy-addr","proxy-agent-negotiate","proxy-from-env","qs","range-parser","raw-body","require-from-string","retry","router","safe-buffer","safer-buffer","semver","send","serve-static","setprototypeof","shebang-command","shebang-regex","side-channel","side-channel-list","side-channel-map","side-channel-weakmap","signal-exit","standardwebhooks","statuses","toidentifier","ts-algebra","tslib","turndown","type-is","typebox","uhyphen","undici","undici-types","unpipe","vary","web-streams-polyfill","web-tree-sitter","which","wrappy","ws","yaml","zod","zod-to-json-schema"],"optionalDependencies":{"@esbuild/aix-ppc64":"0.28.2","@esbuild/linux-arm":"0.28.2","@esbuild/linux-x64":"0.28.2","@esbuild/sunos-x64":"0.28.2","@esbuild/win32-x64":"0.28.2","@esbuild/darwin-x64":"0.28.2","@esbuild/linux-ia32":"0.28.2","@esbuild/netbsd-x64":"0.28.2","@esbuild/win32-ia32":"0.28.2","@esbuild/android-arm":"0.28.2","@esbuild/android-x64":"0.28.2","@esbuild/freebsd-x64":"0.28.2","@esbuild/linux-arm64":"0.28.2","@esbuild/linux-ppc64":"0.28.2","@esbuild/linux-s390x":"0.28.2","@esbuild/openbsd-x64":"0.28.2","@esbuild/win32-arm64":"0.28.2","@esbuild/darwin-arm64":"0.28.2","@esbuild/netbsd-arm64":"0.28.2","@esbuild/android-arm64":"0.28.2","@esbuild/freebsd-arm64":"0.28.2","@esbuild/linux-loong64":"0.28.2","@esbuild/linux-riscv64":"0.28.2","@esbuild/openbsd-arm64":"0.28.2","@esbuild/linux-mips64el":"0.28.2","@esbuild/openharmony-arm64":"0.28.2","@anthropic-ai/claude-agent-sdk-linux-x64":"0.3.280","@anthropic-ai/claude-agent-sdk-win32-x64":"0.3.280","@anthropic-ai/claude-agent-sdk-darwin-x64":"0.3.280","@anthropic-ai/claude-agent-sdk-linux-arm64":"0.3.280","@anthropic-ai/claude-agent-sdk-win32-arm64":"0.3.280","@anthropic-ai/claude-agent-sdk-darwin-arm64":"0.3.280","@anthropic-ai/claude-agent-sdk-linux-x64-musl":"0.3.280","@anthropic-ai/claude-agent-sdk-linux-arm64-musl":"0.3.280"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.9.23-3_1790154046047_0.43729014143593736","host":"s3://npm-registry-packages-npm-production"}},"2026.9.23-4":{"name":"@code-yeongyu/senpi","version":"2026.9.23-4","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.9.23-4","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"pi":"dist/bundle/cli.js","senpi":"dist/bundle/cli.js"},"dist":{"shasum":"50c1adaa8442370743954a57b9109e95acca0af3","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.9.23-4.tgz","fileCount":27127,"integrity":"sha512-DFcDTqtWu7JlPgcOtCSaLvM/nTTeQjpTMw2xP93i/20vNYP0/dWldB+ARAY9uNIrg3GOW/llEuHwvGLvr+FNDg==","signatures":[{"sig":"MEUCIBaAoSDbVGSodNYkoaB2+oI+LJPIy2kMDRk0m3rDQhVyAiEAjrj1Oa7gQ+ki627wvnC3uKkWF0YCCn08lmU/clf1rQ0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCICh6E9wXNhyhg6w2xGY/2mGMfWwLum6TjszqxCJAe0IEAiEA8E0Ql/zjM3x9vPP4S8b3THXw6xoIgBUo/rwug6UJOs0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.9.23-4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":205748347},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.js"},"./rpc-entry":{"import":"./dist/rpc-entry.js"},"./bun-runtime":{"types":"./dist/bun/runtime-modules.d.ts","import":"./dist/bun/runtime-modules.js"}},"scripts":{"dev":"tsc -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsgo -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js dist/rpc-entry.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi && npm run build:bundle","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/","build:binary":"npm --prefix ../tui run build && npm --prefix ../telemetry run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm --prefix ../protocol run build && npm --prefix ../client run build && npm --prefix ../pty run build && npm run build && node ../../scripts/prepare-bun-compile-assets.mjs && bun build --compile --splitting --compile-autoload-package-json --no-compile-autoload-dotenv --no-compile-autoload-bunfig --minify --keep-names ./dist/bun/cli.js ./src/modes/rpc/session-worker.ts ./src/utils/image-resize-worker.ts --outfile dist/pi && npm run copy-binary-assets","build:bundle":"node ../../scripts/build-coding-agent-bundle.mjs","qa:app-server":"node scripts/qa-app-server/run-all.mjs","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","build:unbundled":"tsgo -p tsconfig.build.json && shx chmod +x dist/cli.js dist/rpc-entry.js && npm run copy-assets","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/export-html/ && shx cp -r docs dist/ && shx cp -r examples dist/ && node ../../scripts/copy-codemode-sidecar.mjs dist && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/ && shx mkdir -p dist/native/darwin dist/native/win32 && shx cp -r ../../packages/tui/native/darwin/prebuilds dist/native/darwin/ && shx cp -r ../../packages/tui/native/win32/prebuilds dist/native/win32/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/ && node ../../scripts/copy-pty-native.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ea548fc8-dac4-4dec-a439-6f4fa3870309"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.3"},"rimraf":"6.1.3","protobufjs":"7.6.5","@hono/node-server":"2.1.1"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.19.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.20.0","dependencies":{"ms":"2.1.3","qs":"6.16.0","ws":"8.21.3","ajv":"8.20.0","jwa":"2.0.1","jws":"4.0.1","zod":"4.6.5","cors":"2.8.6","depd":"2.0.0","diff":"9.0.0","etag":"1.8.1","glob":"13.0.6","gopd":"1.2.0","hono":"4.13.8","jiti":"2.7.0","jose":"6.2.3","long":"5.3.2","once":"1.4.0","send":"1.2.1","vary":"1.1.2","yaml":"2.9.1","bytes":"3.1.2","chalk":"6.0.0","cssom":"0.5.0","debug":"4.4.3","fresh":"2.0.0","isexe":"2.0.0","retry":"0.13.1","tslib":"2.8.1","which":"2.0.2","bowser":"2.14.1","cookie":"0.7.2","extend":"3.0.2","gaxios":"7.1.4","hasown":"2.0.3","ignore":"7.0.9","marked":"18.0.13","openai":"6.26.0","router":"2.2.0","semver":"7.8.5","undici":"8.10.2","unpipe":"1.0.0","wrappy":"1.0.2","accepts":"2.0.0","esbuild":"0.28.2","express":"5.2.1","mime-db":"1.54.0","p-retry":"4.6.2","type-is":"2.1.0","typebox":"1.3.34","uhyphen":"0.2.0","boolbase":"2.0.0","css-what":"8.0.0","domutils":"3.2.2","ee-first":"1.1.1","entities":"8.1.0","fast-uri":"3.1.8","inherits":"2.0.4","linkedom":"0.18.13","minipass":"7.1.3","parseurl":"1.3.3","path-key":"3.1.1","raw-body":"3.0.2","statuses":"2.0.2","turndown":"7.2.4","base64-js":"1.5.1","encodeurl":"2.0.0","es-errors":"1.3.0","forwarded":"0.2.0","get-proto":"1.0.1","ipaddr.js":"1.9.1","lru-cache":"11.5.2","minimatch":"10.2.6","nth-check":"3.0.1","picomatch":"4.0.7","agent-base":"9.0.0","call-bound":"1.0.4","css-select":"7.0.0","domhandler":"5.0.3","fetch-blob":"3.2.0","iconv-lite":"0.7.3","ip-address":"10.7.2","is-promise":"4.0.0","mime-types":"3.0.2","negotiator":"1.0.0","node-fetch":"3.3.2","protobufjs":"7.6.5","proxy-addr":"2.0.7","ts-algebra":"2.0.0","@types/node":"26.6.2","ajv-formats":"3.0.1","body-parser":"2.3.0","cross-spawn":"7.0.6","escape-html":"1.0.3","eventsource":"3.0.7","fast-sha256":"1.3.0","graceful-fs":"4.2.11","has-symbols":"1.1.0","htmlparser2":"10.1.0","http-errors":"2.0.1","json-bigint":"1.0.0","media-typer":"1.1.0","on-finished":"2.4.1","path-scurry":"2.0.2","safe-buffer":"5.2.1","signal-exit":"3.0.7","@smithy/core":"3.33.3","bignumber.js":"9.3.1","content-type":"1.0.5","dunder-proto":"1.0.1","finalhandler":"2.1.1","gcp-metadata":"8.1.2","grok-mermaid":"0.2.3","highlight.js":"11.12.0","partial-json":"0.1.7","range-parser":"1.3.0","safer-buffer":"2.1.2","serve-static":"2.2.1","side-channel":"1.1.1","toidentifier":"1.0.1","undici-types":"8.9.0","@aws-sdk/core":"3.978.0","@google/genai":"2.23.0","@smithy/types":"4.18.0","function-bind":"1.1.2","get-intrinsic":"1.3.0","object-assign":"4.1.1","shebang-regex":"3.0.0","@aws-sdk/types":"3.974.5","@babel/runtime":"7.29.2","balanced-match":"4.0.4","dom-serializer":"2.0.0","domelementtype":"2.3.0","object-inspect":"1.13.4","path-to-regexp":"8.4.2","pkce-challenge":"5.0.1","proxy-from-env":"2.1.0","setprototypeof":"1.2.0","@xterm/headless":"6.0.0","brace-expansion":"5.0.12","es-module-lexer":"3.0.2","es-object-atoms":"1.1.2","fast-deep-equal":"3.1.3","hosted-git-info":"10.1.1","math-intrinsics":"1.1.0","proper-lockfile":"4.1.2","shebang-command":"2.0.0","web-tree-sitter":"0.27.0","@protobufjs/path":"1.1.2","@protobufjs/pool":"1.1.0","@protobufjs/utf8":"1.1.1","cookie-signature":"1.2.2","http-proxy-agent":"9.1.0","side-channel-map":"1.0.1","standardwebhooks":"1.0.0","@anthropic-ai/sdk":"0.127.0","@hono/node-server":"2.1.1","@protobufjs/fetch":"1.1.1","@protobufjs/float":"1.0.2","@stablelib/base64":"1.0.1","formdata-polyfill":"4.0.10","https-proxy-agent":"9.1.0","json-schema-to-ts":"3.1.1","json-schema-typed":"8.0.2","merge-descriptors":"2.0.0","node-domexception":"1.0.0","side-channel-list":"1.0.1","@bufbuild/protobuf":"2.15.0","@mixmark-io/domino":"2.2.0","@opentelemetry/api":"1.9.1","@protobufjs/base64":"1.1.2","data-uri-to-buffer":"4.0.1","es-define-property":"1.0.1","eventsource-parser":"3.1.0","express-rate-limit":"8.7.0","zod-to-json-schema":"3.25.2","@protobufjs/codegen":"2.0.5","content-disposition":"1.1.0","ecdsa-sig-formatter":"1.0.11","google-auth-library":"10.6.2","require-from-string":"2.0.2","@aws-sdk/xml-builder":"3.972.40","@mozilla/readability":"0.6.0","@smithy/signature-v4":"5.7.3","get-east-asian-width":"1.7.0","google-logging-utils":"1.1.3","json-schema-traverse":"1.0.0","side-channel-weakmap":"1.0.2","web-streams-polyfill":"3.3.3","@earendil-works/chord":"0.85.1","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.9.23-4","@protobufjs/aspromise":"1.1.2","proxy-agent-negotiate":"1.1.0","@earendil-works/pi-pty":"npm:@code-yeongyu/senpi-pty@2026.9.23-4","@earendil-works/pi-tui":"npm:@code-yeongyu/senpi-tui@2026.9.23-4","@aws-sdk/nested-clients":"3.997.45","call-bind-apply-helpers":"1.0.2","@aws-sdk/token-providers":"3.1136.0","@aws/lambda-invoke-store":"0.3.0","@protobufjs/eventemitter":"1.1.1","@modelcontextprotocol/sdk":"1.30.0","@smithy/node-http-handler":"4.12.1","@silvia-odwyer/photon-node":"0.3.4","@smithy/fetch-http-handler":"5.7.2","buffer-equal-constant-time":"1.0.1","@code-yeongyu/senpi-codemode":"2026.9.23-4","@earendil-works/pi-telemetry":"npm:@code-yeongyu/senpi-telemetry@2026.9.23-4","@aws-sdk/middleware-websocket":"3.972.53","@earendil-works/pi-agent-core":"npm:@code-yeongyu/senpi-agent-core@2026.9.23-4","@anthropic-ai/claude-agent-sdk":"0.3.280","@aws-sdk/client-bedrock-runtime":"3.1136.0","@aws-sdk/middleware-eventstream":"3.972.29","@aws-sdk/credential-provider-env":"3.972.71","@aws-sdk/credential-provider-ini":"3.973.16","@aws-sdk/credential-provider-sso":"3.973.15","@smithy/credential-provider-imds":"4.5.2","@aws-sdk/credential-provider-http":"3.972.73","@aws-sdk/credential-provider-node":"3.972.83","@aws-sdk/eventstream-handler-node":"3.972.34","@aws-sdk/credential-provider-login":"3.972.78","@aws-sdk/signature-v4-multi-region":"3.996.46","@aws-sdk/credential-provider-process":"3.972.71","@aws-sdk/credential-provider-web-identity":"3.972.77"},"_hasShrinkwrap":false,"devDependencies":{"shx":"0.4.0","vitest":"5.0.1","@types/ws":"8.18.1","typescript":"7.0.2","@types/node":"26.6.2","@types/semver":"7.8.0","@types/turndown":"5.0.6","@types/picomatch":"4.0.3","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@anthropic-ai/claude-agent-sdk","@anthropic-ai/sdk","@aws-sdk/client-bedrock-runtime","@aws-sdk/core","@aws-sdk/credential-provider-env","@aws-sdk/credential-provider-http","@aws-sdk/credential-provider-ini","@aws-sdk/credential-provider-login","@aws-sdk/credential-provider-node","@aws-sdk/credential-provider-process","@aws-sdk/credential-provider-sso","@aws-sdk/credential-provider-web-identity","@aws-sdk/eventstream-handler-node","@aws-sdk/middleware-eventstream","@aws-sdk/middleware-websocket","@aws-sdk/nested-clients","@aws-sdk/signature-v4-multi-region","@aws-sdk/token-providers","@aws-sdk/types","@aws-sdk/xml-builder","@aws/lambda-invoke-store","@babel/runtime","@bufbuild/protobuf","@code-yeongyu/senpi-codemode","@earendil-works/chord","@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-pty","@earendil-works/pi-telemetry","@earendil-works/pi-tui","@google/genai","@hono/node-server","@mixmark-io/domino","@modelcontextprotocol/sdk","@mozilla/readability","@opentelemetry/api","@protobufjs/aspromise","@protobufjs/base64","@protobufjs/codegen","@protobufjs/eventemitter","@protobufjs/fetch","@protobufjs/float","@protobufjs/path","@protobufjs/pool","@protobufjs/utf8","@silvia-odwyer/photon-node","@smithy/core","@smithy/credential-provider-imds","@smithy/fetch-http-handler","@smithy/node-http-handler","@smithy/signature-v4","@smithy/types","@stablelib/base64","@types/node","@xterm/headless","accepts","agent-base","ajv","ajv-formats","balanced-match","base64-js","bignumber.js","body-parser","boolbase","bowser","brace-expansion","buffer-equal-constant-time","bytes","call-bind-apply-helpers","call-bound","chalk","content-disposition","content-type","cookie","cookie-signature","cors","cross-spawn","css-select","css-what","cssom","data-uri-to-buffer","debug","depd","diff","dom-serializer","domelementtype","domhandler","domutils","dunder-proto","ecdsa-sig-formatter","ee-first","encodeurl","entities","es-define-property","es-errors","es-module-lexer","es-object-atoms","esbuild","escape-html","etag","eventsource","eventsource-parser","express","express-rate-limit","extend","fast-deep-equal","fast-sha256","fast-uri","fetch-blob","finalhandler","formdata-polyfill","forwarded","fresh","function-bind","gaxios","gcp-metadata","get-east-asian-width","get-intrinsic","get-proto","glob","google-auth-library","google-logging-utils","gopd","graceful-fs","grok-mermaid","has-symbols","hasown","highlight.js","hono","hosted-git-info","htmlparser2","http-errors","http-proxy-agent","https-proxy-agent","iconv-lite","ignore","inherits","ip-address","ipaddr.js","is-promise","isexe","jiti","jose","json-bigint","json-schema-to-ts","json-schema-traverse","json-schema-typed","jwa","jws","linkedom","long","lru-cache","marked","math-intrinsics","media-typer","merge-descriptors","mime-db","mime-types","minimatch","minipass","ms","negotiator","node-domexception","node-fetch","nth-check","object-assign","object-inspect","on-finished","once","openai","p-retry","parseurl","partial-json","path-key","path-scurry","path-to-regexp","picomatch","pkce-challenge","proper-lockfile","protobufjs","proxy-addr","proxy-agent-negotiate","proxy-from-env","qs","range-parser","raw-body","require-from-string","retry","router","safe-buffer","safer-buffer","semver","send","serve-static","setprototypeof","shebang-command","shebang-regex","side-channel","side-channel-list","side-channel-map","side-channel-weakmap","signal-exit","standardwebhooks","statuses","toidentifier","ts-algebra","tslib","turndown","type-is","typebox","uhyphen","undici","undici-types","unpipe","vary","web-streams-polyfill","web-tree-sitter","which","wrappy","ws","yaml","zod","zod-to-json-schema"],"optionalDependencies":{"@esbuild/aix-ppc64":"0.28.2","@esbuild/linux-arm":"0.28.2","@esbuild/linux-x64":"0.28.2","@esbuild/sunos-x64":"0.28.2","@esbuild/win32-x64":"0.28.2","@esbuild/darwin-x64":"0.28.2","@esbuild/linux-ia32":"0.28.2","@esbuild/netbsd-x64":"0.28.2","@esbuild/win32-ia32":"0.28.2","@esbuild/android-arm":"0.28.2","@esbuild/android-x64":"0.28.2","@esbuild/freebsd-x64":"0.28.2","@esbuild/linux-arm64":"0.28.2","@esbuild/linux-ppc64":"0.28.2","@esbuild/linux-s390x":"0.28.2","@esbuild/openbsd-x64":"0.28.2","@esbuild/win32-arm64":"0.28.2","@esbuild/darwin-arm64":"0.28.2","@esbuild/netbsd-arm64":"0.28.2","@esbuild/android-arm64":"0.28.2","@esbuild/freebsd-arm64":"0.28.2","@esbuild/linux-loong64":"0.28.2","@esbuild/linux-riscv64":"0.28.2","@esbuild/openbsd-arm64":"0.28.2","@esbuild/linux-mips64el":"0.28.2","@esbuild/openharmony-arm64":"0.28.2","@anthropic-ai/claude-agent-sdk-linux-x64":"0.3.280","@anthropic-ai/claude-agent-sdk-win32-x64":"0.3.280","@anthropic-ai/claude-agent-sdk-darwin-x64":"0.3.280","@anthropic-ai/claude-agent-sdk-linux-arm64":"0.3.280","@anthropic-ai/claude-agent-sdk-win32-arm64":"0.3.280","@anthropic-ai/claude-agent-sdk-darwin-arm64":"0.3.280","@anthropic-ai/claude-agent-sdk-linux-x64-musl":"0.3.280","@anthropic-ai/claude-agent-sdk-linux-arm64-musl":"0.3.280"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.9.23-4_1790158919340_0.8113005731406215","host":"s3://npm-registry-packages-npm-production"}},"2026.9.23-5":{"name":"@code-yeongyu/senpi","version":"2026.9.23-5","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.9.23-5","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"pi":"dist/bundle/cli.js","senpi":"dist/bundle/cli.js"},"dist":{"shasum":"30cbe1db77ea53c4031a5cbe584e33498f403498","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.9.23-5.tgz","fileCount":27131,"integrity":"sha512-zaUag8NB2pL1Nv2vgbmYS4cW+l5OAxrJCi0rwmU1AeUWbn+1iN60GA/Cd+VKYTclQWHn3ZbxOEzXaxfTcXQDWQ==","signatures":[{"sig":"MEUCIQCW0z7IOJkAC69s1VqFY/ClB8K/BOXG5RQGCv2JXVcBZQIgBJAbDd3+qzvfSf3ERUWcaNJO/9vhlKq4vZXFGXmyFqA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIGy9qTsiihL5nODGp7ZEXBqox4tNmjWrmsvdkg7K1oFSAiAU3XDtJLrycy1j/i/buxmyglmuTP1bA3V1q0hgkc1kdw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.9.23-5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":205775516},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.js"},"./rpc-entry":{"import":"./dist/rpc-entry.js"},"./bun-runtime":{"types":"./dist/bun/runtime-modules.d.ts","import":"./dist/bun/runtime-modules.js"}},"scripts":{"dev":"tsc -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsgo -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js dist/rpc-entry.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi && npm run build:bundle","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/","build:binary":"npm --prefix ../tui run build && npm --prefix ../telemetry run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm --prefix ../protocol run build && npm --prefix ../client run build && npm --prefix ../pty run build && npm run build && node ../../scripts/prepare-bun-compile-assets.mjs && bun build --compile --splitting --compile-autoload-package-json --no-compile-autoload-dotenv --no-compile-autoload-bunfig --minify --keep-names ./dist/bun/cli.js ./src/modes/rpc/session-worker.ts ./src/utils/image-resize-worker.ts --outfile dist/pi && npm run copy-binary-assets","build:bundle":"node ../../scripts/build-coding-agent-bundle.mjs","qa:app-server":"node scripts/qa-app-server/run-all.mjs","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","build:unbundled":"tsgo -p tsconfig.build.json && shx chmod +x dist/cli.js dist/rpc-entry.js && npm run copy-assets","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/export-html/ && shx cp -r docs dist/ && shx cp -r examples dist/ && node ../../scripts/copy-codemode-sidecar.mjs dist && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/ && shx mkdir -p dist/native/darwin dist/native/win32 && shx cp -r ../../packages/tui/native/darwin/prebuilds dist/native/darwin/ && shx cp -r ../../packages/tui/native/win32/prebuilds dist/native/win32/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/ && node ../../scripts/copy-pty-native.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ea548fc8-dac4-4dec-a439-6f4fa3870309"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.3"},"rimraf":"6.1.3","protobufjs":"7.6.5","@hono/node-server":"2.1.1"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.19.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.21.0","dependencies":{"ms":"2.1.3","qs":"6.16.0","ws":"8.21.3","ajv":"8.20.0","jwa":"2.0.1","jws":"4.0.1","zod":"4.6.5","cors":"2.8.6","depd":"2.0.0","diff":"9.0.0","etag":"1.8.1","glob":"13.0.6","gopd":"1.2.0","hono":"4.13.8","jiti":"2.7.0","jose":"6.2.3","long":"5.3.2","once":"1.4.0","send":"1.2.1","vary":"1.1.2","yaml":"2.9.1","bytes":"3.1.2","chalk":"6.0.0","cssom":"0.5.0","debug":"4.4.3","fresh":"2.0.0","isexe":"2.0.0","retry":"0.13.1","tslib":"2.8.1","which":"2.0.2","bowser":"2.14.1","cookie":"0.7.2","extend":"3.0.2","gaxios":"7.1.4","hasown":"2.0.3","ignore":"7.0.9","marked":"18.0.13","openai":"6.26.0","router":"2.2.0","semver":"7.8.5","undici":"8.10.2","unpipe":"1.0.0","wrappy":"1.0.2","accepts":"2.0.0","esbuild":"0.28.2","express":"5.2.1","mime-db":"1.54.0","p-retry":"4.6.2","type-is":"2.1.0","typebox":"1.3.34","uhyphen":"0.2.0","boolbase":"2.0.0","css-what":"8.0.0","domutils":"3.2.2","ee-first":"1.1.1","entities":"8.1.0","fast-uri":"3.1.8","inherits":"2.0.4","linkedom":"0.18.13","minipass":"7.1.3","parseurl":"1.3.3","path-key":"3.1.1","raw-body":"3.0.2","statuses":"2.0.2","turndown":"7.2.4","base64-js":"1.5.1","encodeurl":"2.0.0","es-errors":"1.3.0","forwarded":"0.2.0","get-proto":"1.0.1","ipaddr.js":"1.9.1","lru-cache":"11.5.2","minimatch":"10.2.6","nth-check":"3.0.1","picomatch":"4.0.7","agent-base":"9.0.0","call-bound":"1.0.4","css-select":"7.0.0","domhandler":"5.0.3","fetch-blob":"3.2.0","iconv-lite":"0.7.3","ip-address":"10.7.2","is-promise":"4.0.0","mime-types":"3.0.2","negotiator":"1.0.0","node-fetch":"3.3.2","protobufjs":"7.6.5","proxy-addr":"2.0.7","ts-algebra":"2.0.0","@types/node":"26.6.2","ajv-formats":"3.0.1","body-parser":"2.3.0","cross-spawn":"7.0.6","escape-html":"1.0.3","eventsource":"3.0.7","fast-sha256":"1.3.0","graceful-fs":"4.2.11","has-symbols":"1.1.0","htmlparser2":"10.1.0","http-errors":"2.0.1","json-bigint":"1.0.0","media-typer":"1.1.0","on-finished":"2.4.1","path-scurry":"2.0.2","safe-buffer":"5.2.1","signal-exit":"3.0.7","@smithy/core":"3.33.3","bignumber.js":"9.3.1","content-type":"1.0.5","dunder-proto":"1.0.1","finalhandler":"2.1.1","gcp-metadata":"8.1.2","grok-mermaid":"0.2.3","highlight.js":"11.12.0","partial-json":"0.1.7","range-parser":"1.3.0","safer-buffer":"2.1.2","serve-static":"2.2.1","side-channel":"1.1.1","toidentifier":"1.0.1","undici-types":"8.9.0","@aws-sdk/core":"3.978.0","@google/genai":"2.23.0","@smithy/types":"4.18.0","function-bind":"1.1.2","get-intrinsic":"1.3.0","object-assign":"4.1.1","shebang-regex":"3.0.0","@aws-sdk/types":"3.974.5","@babel/runtime":"7.29.2","balanced-match":"4.0.4","dom-serializer":"2.0.0","domelementtype":"2.3.0","object-inspect":"1.13.4","path-to-regexp":"8.4.2","pkce-challenge":"5.0.1","proxy-from-env":"2.1.0","setprototypeof":"1.2.0","@xterm/headless":"6.0.0","brace-expansion":"5.0.12","es-module-lexer":"3.0.2","es-object-atoms":"1.1.2","fast-deep-equal":"3.1.3","hosted-git-info":"10.1.1","math-intrinsics":"1.1.0","proper-lockfile":"4.1.2","shebang-command":"2.0.0","web-tree-sitter":"0.27.0","@protobufjs/path":"1.1.2","@protobufjs/pool":"1.1.0","@protobufjs/utf8":"1.1.1","cookie-signature":"1.2.2","http-proxy-agent":"9.1.0","side-channel-map":"1.0.1","standardwebhooks":"1.0.0","@anthropic-ai/sdk":"0.127.0","@hono/node-server":"2.1.1","@protobufjs/fetch":"1.1.1","@protobufjs/float":"1.0.2","@stablelib/base64":"1.0.1","formdata-polyfill":"4.0.10","https-proxy-agent":"9.1.0","json-schema-to-ts":"3.1.1","json-schema-typed":"8.0.2","merge-descriptors":"2.0.0","node-domexception":"1.0.0","side-channel-list":"1.0.1","@bufbuild/protobuf":"2.15.0","@mixmark-io/domino":"2.2.0","@opentelemetry/api":"1.9.1","@protobufjs/base64":"1.1.2","data-uri-to-buffer":"4.0.1","es-define-property":"1.0.1","eventsource-parser":"3.1.0","express-rate-limit":"8.7.0","zod-to-json-schema":"3.25.2","@protobufjs/codegen":"2.0.5","content-disposition":"1.1.0","ecdsa-sig-formatter":"1.0.11","google-auth-library":"10.6.2","require-from-string":"2.0.2","@aws-sdk/xml-builder":"3.972.40","@mozilla/readability":"0.6.0","@smithy/signature-v4":"5.7.3","get-east-asian-width":"1.7.0","google-logging-utils":"1.1.3","json-schema-traverse":"1.0.0","side-channel-weakmap":"1.0.2","web-streams-polyfill":"3.3.3","@earendil-works/chord":"0.85.1","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.9.23-5","@protobufjs/aspromise":"1.1.2","proxy-agent-negotiate":"1.1.0","@earendil-works/pi-pty":"npm:@code-yeongyu/senpi-pty@2026.9.23-5","@earendil-works/pi-tui":"npm:@code-yeongyu/senpi-tui@2026.9.23-5","@aws-sdk/nested-clients":"3.997.45","call-bind-apply-helpers":"1.0.2","@aws-sdk/token-providers":"3.1136.0","@aws/lambda-invoke-store":"0.3.0","@protobufjs/eventemitter":"1.1.1","@modelcontextprotocol/sdk":"1.30.0","@smithy/node-http-handler":"4.12.1","@silvia-odwyer/photon-node":"0.3.4","@smithy/fetch-http-handler":"5.7.2","buffer-equal-constant-time":"1.0.1","@code-yeongyu/senpi-codemode":"2026.9.23-5","@earendil-works/pi-telemetry":"npm:@code-yeongyu/senpi-telemetry@2026.9.23-5","@aws-sdk/middleware-websocket":"3.972.53","@earendil-works/pi-agent-core":"npm:@code-yeongyu/senpi-agent-core@2026.9.23-5","@anthropic-ai/claude-agent-sdk":"0.3.280","@aws-sdk/client-bedrock-runtime":"3.1136.0","@aws-sdk/middleware-eventstream":"3.972.29","@aws-sdk/credential-provider-env":"3.972.71","@aws-sdk/credential-provider-ini":"3.973.16","@aws-sdk/credential-provider-sso":"3.973.15","@smithy/credential-provider-imds":"4.5.2","@aws-sdk/credential-provider-http":"3.972.73","@aws-sdk/credential-provider-node":"3.972.83","@aws-sdk/eventstream-handler-node":"3.972.34","@aws-sdk/credential-provider-login":"3.972.78","@aws-sdk/signature-v4-multi-region":"3.996.46","@aws-sdk/credential-provider-process":"3.972.71","@aws-sdk/credential-provider-web-identity":"3.972.77"},"_hasShrinkwrap":false,"devDependencies":{"shx":"0.4.0","vitest":"5.0.1","@types/ws":"8.18.1","typescript":"7.0.2","@types/node":"26.6.2","@types/semver":"7.8.0","@types/turndown":"5.0.6","@types/picomatch":"4.0.3","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@anthropic-ai/claude-agent-sdk","@anthropic-ai/sdk","@aws-sdk/client-bedrock-runtime","@aws-sdk/core","@aws-sdk/credential-provider-env","@aws-sdk/credential-provider-http","@aws-sdk/credential-provider-ini","@aws-sdk/credential-provider-login","@aws-sdk/credential-provider-node","@aws-sdk/credential-provider-process","@aws-sdk/credential-provider-sso","@aws-sdk/credential-provider-web-identity","@aws-sdk/eventstream-handler-node","@aws-sdk/middleware-eventstream","@aws-sdk/middleware-websocket","@aws-sdk/nested-clients","@aws-sdk/signature-v4-multi-region","@aws-sdk/token-providers","@aws-sdk/types","@aws-sdk/xml-builder","@aws/lambda-invoke-store","@babel/runtime","@bufbuild/protobuf","@code-yeongyu/senpi-codemode","@earendil-works/chord","@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-pty","@earendil-works/pi-telemetry","@earendil-works/pi-tui","@google/genai","@hono/node-server","@mixmark-io/domino","@modelcontextprotocol/sdk","@mozilla/readability","@opentelemetry/api","@protobufjs/aspromise","@protobufjs/base64","@protobufjs/codegen","@protobufjs/eventemitter","@protobufjs/fetch","@protobufjs/float","@protobufjs/path","@protobufjs/pool","@protobufjs/utf8","@silvia-odwyer/photon-node","@smithy/core","@smithy/credential-provider-imds","@smithy/fetch-http-handler","@smithy/node-http-handler","@smithy/signature-v4","@smithy/types","@stablelib/base64","@types/node","@xterm/headless","accepts","agent-base","ajv","ajv-formats","balanced-match","base64-js","bignumber.js","body-parser","boolbase","bowser","brace-expansion","buffer-equal-constant-time","bytes","call-bind-apply-helpers","call-bound","chalk","content-disposition","content-type","cookie","cookie-signature","cors","cross-spawn","css-select","css-what","cssom","data-uri-to-buffer","debug","depd","diff","dom-serializer","domelementtype","domhandler","domutils","dunder-proto","ecdsa-sig-formatter","ee-first","encodeurl","entities","es-define-property","es-errors","es-module-lexer","es-object-atoms","esbuild","escape-html","etag","eventsource","eventsource-parser","express","express-rate-limit","extend","fast-deep-equal","fast-sha256","fast-uri","fetch-blob","finalhandler","formdata-polyfill","forwarded","fresh","function-bind","gaxios","gcp-metadata","get-east-asian-width","get-intrinsic","get-proto","glob","google-auth-library","google-logging-utils","gopd","graceful-fs","grok-mermaid","has-symbols","hasown","highlight.js","hono","hosted-git-info","htmlparser2","http-errors","http-proxy-agent","https-proxy-agent","iconv-lite","ignore","inherits","ip-address","ipaddr.js","is-promise","isexe","jiti","jose","json-bigint","json-schema-to-ts","json-schema-traverse","json-schema-typed","jwa","jws","linkedom","long","lru-cache","marked","math-intrinsics","media-typer","merge-descriptors","mime-db","mime-types","minimatch","minipass","ms","negotiator","node-domexception","node-fetch","nth-check","object-assign","object-inspect","on-finished","once","openai","p-retry","parseurl","partial-json","path-key","path-scurry","path-to-regexp","picomatch","pkce-challenge","proper-lockfile","protobufjs","proxy-addr","proxy-agent-negotiate","proxy-from-env","qs","range-parser","raw-body","require-from-string","retry","router","safe-buffer","safer-buffer","semver","send","serve-static","setprototypeof","shebang-command","shebang-regex","side-channel","side-channel-list","side-channel-map","side-channel-weakmap","signal-exit","standardwebhooks","statuses","toidentifier","ts-algebra","tslib","turndown","type-is","typebox","uhyphen","undici","undici-types","unpipe","vary","web-streams-polyfill","web-tree-sitter","which","wrappy","ws","yaml","zod","zod-to-json-schema"],"optionalDependencies":{"@esbuild/aix-ppc64":"0.28.2","@esbuild/linux-arm":"0.28.2","@esbuild/linux-x64":"0.28.2","@esbuild/sunos-x64":"0.28.2","@esbuild/win32-x64":"0.28.2","@esbuild/darwin-x64":"0.28.2","@esbuild/linux-ia32":"0.28.2","@esbuild/netbsd-x64":"0.28.2","@esbuild/win32-ia32":"0.28.2","@esbuild/android-arm":"0.28.2","@esbuild/android-x64":"0.28.2","@esbuild/freebsd-x64":"0.28.2","@esbuild/linux-arm64":"0.28.2","@esbuild/linux-ppc64":"0.28.2","@esbuild/linux-s390x":"0.28.2","@esbuild/openbsd-x64":"0.28.2","@esbuild/win32-arm64":"0.28.2","@esbuild/darwin-arm64":"0.28.2","@esbuild/netbsd-arm64":"0.28.2","@esbuild/android-arm64":"0.28.2","@esbuild/freebsd-arm64":"0.28.2","@esbuild/linux-loong64":"0.28.2","@esbuild/linux-riscv64":"0.28.2","@esbuild/openbsd-arm64":"0.28.2","@esbuild/linux-mips64el":"0.28.2","@esbuild/openharmony-arm64":"0.28.2","@anthropic-ai/claude-agent-sdk-linux-x64":"0.3.280","@anthropic-ai/claude-agent-sdk-win32-x64":"0.3.280","@anthropic-ai/claude-agent-sdk-darwin-x64":"0.3.280","@anthropic-ai/claude-agent-sdk-linux-arm64":"0.3.280","@anthropic-ai/claude-agent-sdk-win32-arm64":"0.3.280","@anthropic-ai/claude-agent-sdk-darwin-arm64":"0.3.280","@anthropic-ai/claude-agent-sdk-linux-x64-musl":"0.3.280","@anthropic-ai/claude-agent-sdk-linux-arm64-musl":"0.3.280"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.9.23-5_1790171194012_0.47135132457377926","host":"s3://npm-registry-packages-npm-production"}},"2026.9.24":{"name":"@code-yeongyu/senpi","version":"2026.9.24","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.9.24","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"pi":"dist/bundle/cli.js","senpi":"dist/bundle/cli.js"},"dist":{"shasum":"845dca74d6fab000f80052bddfd16aaf4f1c8bfd","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.9.24.tgz","fileCount":27131,"integrity":"sha512-+uJGVciZjwIdzQ+vHx11cxF2ckjUpR3OOj3JxYO0vu+FckkYjsLsqfzL3NMNfM4Jmg82407WKb5YZg91kdzu4A==","signatures":[{"sig":"MEUCIQCpW1oFFtriQ6V9tEK7pa9hdV67gmiyn7DVp4UiYpcz3AIgbjVXLMQrFHI2JKZOHNpA2sihmVmW7ZAOA2j7qvd2ELA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCPRpR48nK1JIIMzkmmw97qk6Nk4J+QwwqeW6oETDo3HQIgYodi3C1ala0Uzp0r2CgdIpn6vHEN7rlY3cEidpN6zl8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.9.24","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":205805322},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.js"},"./rpc-entry":{"import":"./dist/rpc-entry.js"},"./bun-runtime":{"types":"./dist/bun/runtime-modules.d.ts","import":"./dist/bun/runtime-modules.js"}},"scripts":{"dev":"tsc -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsgo -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js dist/rpc-entry.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi && npm run build:bundle","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/","build:binary":"npm --prefix ../tui run build && npm --prefix ../telemetry run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm --prefix ../protocol run build && npm --prefix ../client run build && npm --prefix ../pty run build && npm run build && node ../../scripts/prepare-bun-compile-assets.mjs && bun build --compile --splitting --compile-autoload-package-json --no-compile-autoload-dotenv --no-compile-autoload-bunfig --minify --keep-names ./dist/bun/cli.js ./src/modes/rpc/session-worker.ts ./src/utils/image-resize-worker.ts --outfile dist/pi && npm run copy-binary-assets","build:bundle":"node ../../scripts/build-coding-agent-bundle.mjs","qa:app-server":"node scripts/qa-app-server/run-all.mjs","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","build:unbundled":"tsgo -p tsconfig.build.json && shx chmod +x dist/cli.js dist/rpc-entry.js && npm run copy-assets","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/export-html/ && shx cp -r docs dist/ && shx cp -r examples dist/ && node ../../scripts/copy-codemode-sidecar.mjs dist && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/ && shx mkdir -p dist/native/darwin dist/native/win32 && shx cp -r ../../packages/tui/native/darwin/prebuilds dist/native/darwin/ && shx cp -r ../../packages/tui/native/win32/prebuilds dist/native/win32/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/ && node ../../scripts/copy-pty-native.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ea548fc8-dac4-4dec-a439-6f4fa3870309"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.3"},"rimraf":"6.1.3","protobufjs":"7.6.5","@hono/node-server":"2.1.1"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.19.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.21.0","dependencies":{"ms":"2.1.3","qs":"6.16.0","ws":"8.21.3","ajv":"8.20.0","jwa":"2.0.1","jws":"4.0.1","zod":"4.6.5","cors":"2.8.6","depd":"2.0.0","diff":"9.0.0","etag":"1.8.1","glob":"13.0.6","gopd":"1.2.0","hono":"4.13.8","jiti":"2.7.0","jose":"6.2.3","long":"5.3.2","once":"1.4.0","send":"1.2.1","vary":"1.1.2","yaml":"2.9.1","bytes":"3.1.2","chalk":"6.0.0","cssom":"0.5.0","debug":"4.4.3","fresh":"2.0.0","isexe":"2.0.0","retry":"0.13.1","tslib":"2.8.1","which":"2.0.2","bowser":"2.14.1","cookie":"0.7.2","extend":"3.0.2","gaxios":"7.1.4","hasown":"2.0.3","ignore":"7.0.9","marked":"18.0.13","openai":"6.26.0","router":"2.2.0","semver":"7.8.5","undici":"8.10.2","unpipe":"1.0.0","wrappy":"1.0.2","accepts":"2.0.0","esbuild":"0.28.2","express":"5.2.1","mime-db":"1.54.0","p-retry":"4.6.2","type-is":"2.1.0","typebox":"1.3.34","uhyphen":"0.2.0","boolbase":"2.0.0","css-what":"8.0.0","domutils":"3.2.2","ee-first":"1.1.1","entities":"8.1.0","fast-uri":"3.1.8","inherits":"2.0.4","linkedom":"0.18.13","minipass":"7.1.3","parseurl":"1.3.3","path-key":"3.1.1","raw-body":"3.0.2","statuses":"2.0.2","turndown":"7.2.4","base64-js":"1.5.1","encodeurl":"2.0.0","es-errors":"1.3.0","forwarded":"0.2.0","get-proto":"1.0.1","ipaddr.js":"1.9.1","lru-cache":"11.5.2","minimatch":"10.2.6","nth-check":"3.0.1","picomatch":"4.0.7","agent-base":"9.0.0","call-bound":"1.0.4","css-select":"7.0.0","domhandler":"5.0.3","fetch-blob":"3.2.0","iconv-lite":"0.7.3","ip-address":"10.7.2","is-promise":"4.0.0","mime-types":"3.0.2","negotiator":"1.0.0","node-fetch":"3.3.2","protobufjs":"7.6.5","proxy-addr":"2.0.7","ts-algebra":"2.0.0","@types/node":"26.6.2","ajv-formats":"3.0.1","body-parser":"2.3.0","cross-spawn":"7.0.6","escape-html":"1.0.3","eventsource":"3.0.7","fast-sha256":"1.3.0","graceful-fs":"4.2.11","has-symbols":"1.1.0","htmlparser2":"10.1.0","http-errors":"2.0.1","json-bigint":"1.0.0","media-typer":"1.1.0","on-finished":"2.4.1","path-scurry":"2.0.2","safe-buffer":"5.2.1","signal-exit":"3.0.7","@smithy/core":"3.33.3","bignumber.js":"9.3.1","content-type":"1.0.5","dunder-proto":"1.0.1","finalhandler":"2.1.1","gcp-metadata":"8.1.2","grok-mermaid":"0.2.3","highlight.js":"11.12.0","partial-json":"0.1.7","range-parser":"1.3.0","safer-buffer":"2.1.2","serve-static":"2.2.1","side-channel":"1.1.1","toidentifier":"1.0.1","undici-types":"8.9.0","@aws-sdk/core":"3.978.0","@google/genai":"2.23.0","@smithy/types":"4.18.0","function-bind":"1.1.2","get-intrinsic":"1.3.0","object-assign":"4.1.1","shebang-regex":"3.0.0","@aws-sdk/types":"3.974.5","@babel/runtime":"7.29.2","balanced-match":"4.0.4","dom-serializer":"2.0.0","domelementtype":"2.3.0","object-inspect":"1.13.4","path-to-regexp":"8.4.2","pkce-challenge":"5.0.1","proxy-from-env":"2.1.0","setprototypeof":"1.2.0","@xterm/headless":"6.0.0","brace-expansion":"5.0.12","es-module-lexer":"3.0.2","es-object-atoms":"1.1.2","fast-deep-equal":"3.1.3","hosted-git-info":"10.1.1","math-intrinsics":"1.1.0","proper-lockfile":"4.1.2","shebang-command":"2.0.0","web-tree-sitter":"0.27.0","@protobufjs/path":"1.1.2","@protobufjs/pool":"1.1.0","@protobufjs/utf8":"1.1.1","cookie-signature":"1.2.2","http-proxy-agent":"9.1.0","side-channel-map":"1.0.1","standardwebhooks":"1.0.0","@anthropic-ai/sdk":"0.127.0","@hono/node-server":"2.1.1","@protobufjs/fetch":"1.1.1","@protobufjs/float":"1.0.2","@stablelib/base64":"1.0.1","formdata-polyfill":"4.0.10","https-proxy-agent":"9.1.0","json-schema-to-ts":"3.1.1","json-schema-typed":"8.0.2","merge-descriptors":"2.0.0","node-domexception":"1.0.0","side-channel-list":"1.0.1","@bufbuild/protobuf":"2.15.0","@mixmark-io/domino":"2.2.0","@opentelemetry/api":"1.9.1","@protobufjs/base64":"1.1.2","data-uri-to-buffer":"4.0.1","es-define-property":"1.0.1","eventsource-parser":"3.1.0","express-rate-limit":"8.7.0","zod-to-json-schema":"3.25.2","@protobufjs/codegen":"2.0.5","content-disposition":"1.1.0","ecdsa-sig-formatter":"1.0.11","google-auth-library":"10.6.2","require-from-string":"2.0.2","@aws-sdk/xml-builder":"3.972.40","@mozilla/readability":"0.6.0","@smithy/signature-v4":"5.7.3","get-east-asian-width":"1.7.0","google-logging-utils":"1.1.3","json-schema-traverse":"1.0.0","side-channel-weakmap":"1.0.2","web-streams-polyfill":"3.3.3","@earendil-works/chord":"0.85.1","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.9.24","@protobufjs/aspromise":"1.1.2","proxy-agent-negotiate":"1.1.0","@earendil-works/pi-pty":"npm:@code-yeongyu/senpi-pty@2026.9.24","@earendil-works/pi-tui":"npm:@code-yeongyu/senpi-tui@2026.9.24","@aws-sdk/nested-clients":"3.997.45","call-bind-apply-helpers":"1.0.2","@aws-sdk/token-providers":"3.1136.0","@aws/lambda-invoke-store":"0.3.0","@protobufjs/eventemitter":"1.1.1","@modelcontextprotocol/sdk":"1.30.0","@smithy/node-http-handler":"4.12.1","@silvia-odwyer/photon-node":"0.3.4","@smithy/fetch-http-handler":"5.7.2","buffer-equal-constant-time":"1.0.1","@code-yeongyu/senpi-codemode":"2026.9.24","@earendil-works/pi-telemetry":"npm:@code-yeongyu/senpi-telemetry@2026.9.24","@aws-sdk/middleware-websocket":"3.972.53","@earendil-works/pi-agent-core":"npm:@code-yeongyu/senpi-agent-core@2026.9.24","@anthropic-ai/claude-agent-sdk":"0.3.280","@aws-sdk/client-bedrock-runtime":"3.1136.0","@aws-sdk/middleware-eventstream":"3.972.29","@aws-sdk/credential-provider-env":"3.972.71","@aws-sdk/credential-provider-ini":"3.973.16","@aws-sdk/credential-provider-sso":"3.973.15","@smithy/credential-provider-imds":"4.5.2","@aws-sdk/credential-provider-http":"3.972.73","@aws-sdk/credential-provider-node":"3.972.83","@aws-sdk/eventstream-handler-node":"3.972.34","@aws-sdk/credential-provider-login":"3.972.78","@aws-sdk/signature-v4-multi-region":"3.996.46","@aws-sdk/credential-provider-process":"3.972.71","@aws-sdk/credential-provider-web-identity":"3.972.77"},"_hasShrinkwrap":false,"devDependencies":{"shx":"0.4.0","vitest":"5.0.1","@types/ws":"8.18.1","typescript":"7.0.2","@types/node":"26.6.2","@types/semver":"7.8.0","@types/turndown":"5.0.6","@types/picomatch":"4.0.3","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@anthropic-ai/claude-agent-sdk","@anthropic-ai/sdk","@aws-sdk/client-bedrock-runtime","@aws-sdk/core","@aws-sdk/credential-provider-env","@aws-sdk/credential-provider-http","@aws-sdk/credential-provider-ini","@aws-sdk/credential-provider-login","@aws-sdk/credential-provider-node","@aws-sdk/credential-provider-process","@aws-sdk/credential-provider-sso","@aws-sdk/credential-provider-web-identity","@aws-sdk/eventstream-handler-node","@aws-sdk/middleware-eventstream","@aws-sdk/middleware-websocket","@aws-sdk/nested-clients","@aws-sdk/signature-v4-multi-region","@aws-sdk/token-providers","@aws-sdk/types","@aws-sdk/xml-builder","@aws/lambda-invoke-store","@babel/runtime","@bufbuild/protobuf","@code-yeongyu/senpi-codemode","@earendil-works/chord","@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-pty","@earendil-works/pi-telemetry","@earendil-works/pi-tui","@google/genai","@hono/node-server","@mixmark-io/domino","@modelcontextprotocol/sdk","@mozilla/readability","@opentelemetry/api","@protobufjs/aspromise","@protobufjs/base64","@protobufjs/codegen","@protobufjs/eventemitter","@protobufjs/fetch","@protobufjs/float","@protobufjs/path","@protobufjs/pool","@protobufjs/utf8","@silvia-odwyer/photon-node","@smithy/core","@smithy/credential-provider-imds","@smithy/fetch-http-handler","@smithy/node-http-handler","@smithy/signature-v4","@smithy/types","@stablelib/base64","@types/node","@xterm/headless","accepts","agent-base","ajv","ajv-formats","balanced-match","base64-js","bignumber.js","body-parser","boolbase","bowser","brace-expansion","buffer-equal-constant-time","bytes","call-bind-apply-helpers","call-bound","chalk","content-disposition","content-type","cookie","cookie-signature","cors","cross-spawn","css-select","css-what","cssom","data-uri-to-buffer","debug","depd","diff","dom-serializer","domelementtype","domhandler","domutils","dunder-proto","ecdsa-sig-formatter","ee-first","encodeurl","entities","es-define-property","es-errors","es-module-lexer","es-object-atoms","esbuild","escape-html","etag","eventsource","eventsource-parser","express","express-rate-limit","extend","fast-deep-equal","fast-sha256","fast-uri","fetch-blob","finalhandler","formdata-polyfill","forwarded","fresh","function-bind","gaxios","gcp-metadata","get-east-asian-width","get-intrinsic","get-proto","glob","google-auth-library","google-logging-utils","gopd","graceful-fs","grok-mermaid","has-symbols","hasown","highlight.js","hono","hosted-git-info","htmlparser2","http-errors","http-proxy-agent","https-proxy-agent","iconv-lite","ignore","inherits","ip-address","ipaddr.js","is-promise","isexe","jiti","jose","json-bigint","json-schema-to-ts","json-schema-traverse","json-schema-typed","jwa","jws","linkedom","long","lru-cache","marked","math-intrinsics","media-typer","merge-descriptors","mime-db","mime-types","minimatch","minipass","ms","negotiator","node-domexception","node-fetch","nth-check","object-assign","object-inspect","on-finished","once","openai","p-retry","parseurl","partial-json","path-key","path-scurry","path-to-regexp","picomatch","pkce-challenge","proper-lockfile","protobufjs","proxy-addr","proxy-agent-negotiate","proxy-from-env","qs","range-parser","raw-body","require-from-string","retry","router","safe-buffer","safer-buffer","semver","send","serve-static","setprototypeof","shebang-command","shebang-regex","side-channel","side-channel-list","side-channel-map","side-channel-weakmap","signal-exit","standardwebhooks","statuses","toidentifier","ts-algebra","tslib","turndown","type-is","typebox","uhyphen","undici","undici-types","unpipe","vary","web-streams-polyfill","web-tree-sitter","which","wrappy","ws","yaml","zod","zod-to-json-schema"],"optionalDependencies":{"@esbuild/aix-ppc64":"0.28.2","@esbuild/linux-arm":"0.28.2","@esbuild/linux-x64":"0.28.2","@esbuild/sunos-x64":"0.28.2","@esbuild/win32-x64":"0.28.2","@esbuild/darwin-x64":"0.28.2","@esbuild/linux-ia32":"0.28.2","@esbuild/netbsd-x64":"0.28.2","@esbuild/win32-ia32":"0.28.2","@esbuild/android-arm":"0.28.2","@esbuild/android-x64":"0.28.2","@esbuild/freebsd-x64":"0.28.2","@esbuild/linux-arm64":"0.28.2","@esbuild/linux-ppc64":"0.28.2","@esbuild/linux-s390x":"0.28.2","@esbuild/openbsd-x64":"0.28.2","@esbuild/win32-arm64":"0.28.2","@esbuild/darwin-arm64":"0.28.2","@esbuild/netbsd-arm64":"0.28.2","@esbuild/android-arm64":"0.28.2","@esbuild/freebsd-arm64":"0.28.2","@esbuild/linux-loong64":"0.28.2","@esbuild/linux-riscv64":"0.28.2","@esbuild/openbsd-arm64":"0.28.2","@esbuild/linux-mips64el":"0.28.2","@esbuild/openharmony-arm64":"0.28.2","@anthropic-ai/claude-agent-sdk-linux-x64":"0.3.280","@anthropic-ai/claude-agent-sdk-win32-x64":"0.3.280","@anthropic-ai/claude-agent-sdk-darwin-x64":"0.3.280","@anthropic-ai/claude-agent-sdk-linux-arm64":"0.3.280","@anthropic-ai/claude-agent-sdk-win32-arm64":"0.3.280","@anthropic-ai/claude-agent-sdk-darwin-arm64":"0.3.280","@anthropic-ai/claude-agent-sdk-linux-x64-musl":"0.3.280","@anthropic-ai/claude-agent-sdk-linux-arm64-musl":"0.3.280"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.9.24_1790229873277_0.4669372881497602","host":"s3://npm-registry-packages-npm-production"}},"2026.9.24-2":{"name":"@code-yeongyu/senpi","version":"2026.9.24-2","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.9.24-2","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"pi":"dist/bundle/cli.js","senpi":"dist/bundle/cli.js"},"dist":{"shasum":"2c0918ac603a1d1d5e033eb890affe5268fec649","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.9.24-2.tgz","fileCount":27175,"integrity":"sha512-IHVofBmHv27zhT9evrHsdEHBsd8F3yfvnDP0WoW5bItj1TWyxJrYTqYbnt0PZK3xbNhSnp299vEBs3SSanofMw==","signatures":[{"sig":"MEUCIQCU32qiE9zSZuY2grdQM7Fe6F5558/7ArOLnMwA7ikFJwIgdMTwSg/6V1QSSp1tu+D1zWW/NQrG6/8rGkFE3C3BugI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCf5A5/sH5HmzTIGgmC6Qf5RtGzSGEcr9O+/bn3jy+vXgIhAMuDI/OZtzeBQW628ROhsC+jORTNS/NTzZcbu90W344I","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.9.24-2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":206073914},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.js"},"./rpc-entry":{"import":"./dist/rpc-entry.js"},"./bun-runtime":{"types":"./dist/bun/runtime-modules.d.ts","import":"./dist/bun/runtime-modules.js"}},"scripts":{"dev":"tsc -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsgo -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js dist/rpc-entry.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi && npm run build:bundle","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/","build:binary":"npm --prefix ../tui run build && npm --prefix ../telemetry run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm --prefix ../protocol run build && npm --prefix ../client run build && npm --prefix ../pty run build && npm run build && node ../../scripts/prepare-bun-compile-assets.mjs && bun build --compile --splitting --compile-autoload-package-json --no-compile-autoload-dotenv --no-compile-autoload-bunfig --minify --keep-names ./dist/bun/cli.js ./src/modes/rpc/session-worker.ts ./src/utils/image-resize-worker.ts --outfile dist/pi && npm run copy-binary-assets","build:bundle":"node ../../scripts/build-coding-agent-bundle.mjs","qa:app-server":"node scripts/qa-app-server/run-all.mjs","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","build:unbundled":"tsgo -p tsconfig.build.json && shx chmod +x dist/cli.js dist/rpc-entry.js && npm run copy-assets","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/export-html/ && shx cp -r docs dist/ && shx cp -r examples dist/ && node ../../scripts/copy-codemode-sidecar.mjs dist && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/ && shx mkdir -p dist/native/darwin dist/native/win32 && shx cp -r ../../packages/tui/native/darwin/prebuilds dist/native/darwin/ && shx cp -r ../../packages/tui/native/win32/prebuilds dist/native/win32/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/ && node ../../scripts/copy-pty-native.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ea548fc8-dac4-4dec-a439-6f4fa3870309"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.3"},"rimraf":"6.1.3","protobufjs":"7.6.5","@hono/node-server":"2.1.1"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.19.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.21.0","dependencies":{"ms":"2.1.3","qs":"6.16.0","ws":"8.21.3","ajv":"8.20.0","jwa":"2.0.1","jws":"4.0.1","zod":"4.6.5","cors":"2.8.6","depd":"2.0.0","diff":"9.0.0","etag":"1.8.1","glob":"13.0.6","gopd":"1.2.0","hono":"4.13.8","jiti":"2.7.0","jose":"6.2.3","long":"5.3.2","once":"1.4.0","send":"1.2.1","vary":"1.1.2","yaml":"2.9.1","bytes":"3.1.2","chalk":"6.0.0","cssom":"0.5.0","debug":"4.4.3","fresh":"2.0.0","isexe":"2.0.0","retry":"0.13.1","tslib":"2.8.1","which":"2.0.2","bowser":"2.14.1","cookie":"0.7.2","extend":"3.0.2","gaxios":"7.1.4","hasown":"2.0.3","ignore":"7.0.9","marked":"18.0.13","openai":"6.26.0","router":"2.2.0","semver":"7.8.5","undici":"8.10.2","unpipe":"1.0.0","wrappy":"1.0.2","accepts":"2.0.0","esbuild":"0.28.2","express":"5.2.1","mime-db":"1.54.0","p-retry":"4.6.2","type-is":"2.1.0","typebox":"1.3.34","uhyphen":"0.2.0","boolbase":"2.0.0","css-what":"8.0.0","domutils":"3.2.2","ee-first":"1.1.1","entities":"8.1.0","fast-uri":"3.1.8","inherits":"2.0.4","linkedom":"0.18.13","minipass":"7.1.3","parseurl":"1.3.3","path-key":"3.1.1","raw-body":"3.0.2","statuses":"2.0.2","turndown":"7.2.4","base64-js":"1.5.1","encodeurl":"2.0.0","es-errors":"1.3.0","forwarded":"0.2.0","get-proto":"1.0.1","ipaddr.js":"1.9.1","lru-cache":"11.5.2","minimatch":"10.2.6","nth-check":"3.0.1","picomatch":"4.0.7","agent-base":"9.0.0","call-bound":"1.0.4","css-select":"7.0.0","domhandler":"5.0.3","fetch-blob":"3.2.0","iconv-lite":"0.7.3","ip-address":"10.7.2","is-promise":"4.0.0","mime-types":"3.0.2","negotiator":"1.0.0","node-fetch":"3.3.2","protobufjs":"7.6.5","proxy-addr":"2.0.7","ts-algebra":"2.0.0","@types/node":"26.6.2","ajv-formats":"3.0.1","body-parser":"2.3.0","cross-spawn":"7.0.6","escape-html":"1.0.3","eventsource":"3.0.7","fast-sha256":"1.3.0","graceful-fs":"4.2.11","has-symbols":"1.1.0","htmlparser2":"10.1.0","http-errors":"2.0.1","json-bigint":"1.0.0","media-typer":"1.1.0","on-finished":"2.4.1","path-scurry":"2.0.2","safe-buffer":"5.2.1","signal-exit":"3.0.7","@smithy/core":"3.33.3","bignumber.js":"9.3.1","content-type":"1.0.5","dunder-proto":"1.0.1","finalhandler":"2.1.1","gcp-metadata":"8.1.2","grok-mermaid":"0.2.3","highlight.js":"11.12.0","partial-json":"0.1.7","range-parser":"1.3.0","safer-buffer":"2.1.2","serve-static":"2.2.1","side-channel":"1.1.1","toidentifier":"1.0.1","undici-types":"8.9.0","@aws-sdk/core":"3.978.0","@google/genai":"2.23.0","@smithy/types":"4.18.0","function-bind":"1.1.2","get-intrinsic":"1.3.0","object-assign":"4.1.1","shebang-regex":"3.0.0","@aws-sdk/types":"3.974.5","@babel/runtime":"7.29.2","balanced-match":"4.0.4","dom-serializer":"2.0.0","domelementtype":"2.3.0","object-inspect":"1.13.4","path-to-regexp":"8.4.2","pkce-challenge":"5.0.1","proxy-from-env":"2.1.0","setprototypeof":"1.2.0","@xterm/headless":"6.0.0","brace-expansion":"5.0.12","es-module-lexer":"3.0.2","es-object-atoms":"1.1.2","fast-deep-equal":"3.1.3","hosted-git-info":"10.1.1","math-intrinsics":"1.1.0","proper-lockfile":"4.1.2","shebang-command":"2.0.0","web-tree-sitter":"0.27.0","@protobufjs/path":"1.1.2","@protobufjs/pool":"1.1.0","@protobufjs/utf8":"1.1.1","cookie-signature":"1.2.2","http-proxy-agent":"9.1.0","side-channel-map":"1.0.1","standardwebhooks":"1.0.0","@anthropic-ai/sdk":"0.127.0","@hono/node-server":"2.1.1","@protobufjs/fetch":"1.1.1","@protobufjs/float":"1.0.2","@stablelib/base64":"1.0.1","formdata-polyfill":"4.0.10","https-proxy-agent":"9.1.0","json-schema-to-ts":"3.1.1","json-schema-typed":"8.0.2","merge-descriptors":"2.0.0","node-domexception":"1.0.0","side-channel-list":"1.0.1","@bufbuild/protobuf":"2.15.0","@mixmark-io/domino":"2.2.0","@opentelemetry/api":"1.9.1","@protobufjs/base64":"1.1.2","data-uri-to-buffer":"4.0.1","es-define-property":"1.0.1","eventsource-parser":"3.1.0","express-rate-limit":"8.7.0","zod-to-json-schema":"3.25.2","@protobufjs/codegen":"2.0.5","content-disposition":"1.1.0","ecdsa-sig-formatter":"1.0.11","google-auth-library":"10.6.2","require-from-string":"2.0.2","@aws-sdk/xml-builder":"3.972.40","@mozilla/readability":"0.6.0","@smithy/signature-v4":"5.7.3","get-east-asian-width":"1.7.0","google-logging-utils":"1.1.3","json-schema-traverse":"1.0.0","side-channel-weakmap":"1.0.2","web-streams-polyfill":"3.3.3","@earendil-works/chord":"0.85.1","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.9.24-2","@protobufjs/aspromise":"1.1.2","proxy-agent-negotiate":"1.1.0","@earendil-works/pi-pty":"npm:@code-yeongyu/senpi-pty@2026.9.24-2","@earendil-works/pi-tui":"npm:@code-yeongyu/senpi-tui@2026.9.24-2","@aws-sdk/nested-clients":"3.997.45","call-bind-apply-helpers":"1.0.2","@aws-sdk/token-providers":"3.1136.0","@aws/lambda-invoke-store":"0.3.0","@protobufjs/eventemitter":"1.1.1","@modelcontextprotocol/sdk":"1.30.0","@smithy/node-http-handler":"4.12.1","@silvia-odwyer/photon-node":"0.3.4","@smithy/fetch-http-handler":"5.7.2","buffer-equal-constant-time":"1.0.1","@code-yeongyu/senpi-codemode":"2026.9.24-2","@earendil-works/pi-telemetry":"npm:@code-yeongyu/senpi-telemetry@2026.9.24-2","@aws-sdk/middleware-websocket":"3.972.53","@earendil-works/pi-agent-core":"npm:@code-yeongyu/senpi-agent-core@2026.9.24-2","@anthropic-ai/claude-agent-sdk":"0.3.280","@aws-sdk/client-bedrock-runtime":"3.1136.0","@aws-sdk/middleware-eventstream":"3.972.29","@aws-sdk/credential-provider-env":"3.972.71","@aws-sdk/credential-provider-ini":"3.973.16","@aws-sdk/credential-provider-sso":"3.973.15","@smithy/credential-provider-imds":"4.5.2","@aws-sdk/credential-provider-http":"3.972.73","@aws-sdk/credential-provider-node":"3.972.83","@aws-sdk/eventstream-handler-node":"3.972.34","@aws-sdk/credential-provider-login":"3.972.78","@aws-sdk/signature-v4-multi-region":"3.996.46","@aws-sdk/credential-provider-process":"3.972.71","@aws-sdk/credential-provider-web-identity":"3.972.77"},"_hasShrinkwrap":false,"devDependencies":{"shx":"0.4.0","vitest":"5.0.1","@types/ws":"8.18.1","typescript":"7.0.2","@types/node":"26.6.2","@types/semver":"7.8.0","@types/turndown":"5.0.6","@types/picomatch":"4.0.3","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@anthropic-ai/claude-agent-sdk","@anthropic-ai/sdk","@aws-sdk/client-bedrock-runtime","@aws-sdk/core","@aws-sdk/credential-provider-env","@aws-sdk/credential-provider-http","@aws-sdk/credential-provider-ini","@aws-sdk/credential-provider-login","@aws-sdk/credential-provider-node","@aws-sdk/credential-provider-process","@aws-sdk/credential-provider-sso","@aws-sdk/credential-provider-web-identity","@aws-sdk/eventstream-handler-node","@aws-sdk/middleware-eventstream","@aws-sdk/middleware-websocket","@aws-sdk/nested-clients","@aws-sdk/signature-v4-multi-region","@aws-sdk/token-providers","@aws-sdk/types","@aws-sdk/xml-builder","@aws/lambda-invoke-store","@babel/runtime","@bufbuild/protobuf","@code-yeongyu/senpi-codemode","@earendil-works/chord","@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-pty","@earendil-works/pi-telemetry","@earendil-works/pi-tui","@google/genai","@hono/node-server","@mixmark-io/domino","@modelcontextprotocol/sdk","@mozilla/readability","@opentelemetry/api","@protobufjs/aspromise","@protobufjs/base64","@protobufjs/codegen","@protobufjs/eventemitter","@protobufjs/fetch","@protobufjs/float","@protobufjs/path","@protobufjs/pool","@protobufjs/utf8","@silvia-odwyer/photon-node","@smithy/core","@smithy/credential-provider-imds","@smithy/fetch-http-handler","@smithy/node-http-handler","@smithy/signature-v4","@smithy/types","@stablelib/base64","@types/node","@xterm/headless","accepts","agent-base","ajv","ajv-formats","balanced-match","base64-js","bignumber.js","body-parser","boolbase","bowser","brace-expansion","buffer-equal-constant-time","bytes","call-bind-apply-helpers","call-bound","chalk","content-disposition","content-type","cookie","cookie-signature","cors","cross-spawn","css-select","css-what","cssom","data-uri-to-buffer","debug","depd","diff","dom-serializer","domelementtype","domhandler","domutils","dunder-proto","ecdsa-sig-formatter","ee-first","encodeurl","entities","es-define-property","es-errors","es-module-lexer","es-object-atoms","esbuild","escape-html","etag","eventsource","eventsource-parser","express","express-rate-limit","extend","fast-deep-equal","fast-sha256","fast-uri","fetch-blob","finalhandler","formdata-polyfill","forwarded","fresh","function-bind","gaxios","gcp-metadata","get-east-asian-width","get-intrinsic","get-proto","glob","google-auth-library","google-logging-utils","gopd","graceful-fs","grok-mermaid","has-symbols","hasown","highlight.js","hono","hosted-git-info","htmlparser2","http-errors","http-proxy-agent","https-proxy-agent","iconv-lite","ignore","inherits","ip-address","ipaddr.js","is-promise","isexe","jiti","jose","json-bigint","json-schema-to-ts","json-schema-traverse","json-schema-typed","jwa","jws","linkedom","long","lru-cache","marked","math-intrinsics","media-typer","merge-descriptors","mime-db","mime-types","minimatch","minipass","ms","negotiator","node-domexception","node-fetch","nth-check","object-assign","object-inspect","on-finished","once","openai","p-retry","parseurl","partial-json","path-key","path-scurry","path-to-regexp","picomatch","pkce-challenge","proper-lockfile","protobufjs","proxy-addr","proxy-agent-negotiate","proxy-from-env","qs","range-parser","raw-body","require-from-string","retry","router","safe-buffer","safer-buffer","semver","send","serve-static","setprototypeof","shebang-command","shebang-regex","side-channel","side-channel-list","side-channel-map","side-channel-weakmap","signal-exit","standardwebhooks","statuses","toidentifier","ts-algebra","tslib","turndown","type-is","typebox","uhyphen","undici","undici-types","unpipe","vary","web-streams-polyfill","web-tree-sitter","which","wrappy","ws","yaml","zod","zod-to-json-schema"],"optionalDependencies":{"@esbuild/aix-ppc64":"0.28.2","@esbuild/linux-arm":"0.28.2","@esbuild/linux-x64":"0.28.2","@esbuild/sunos-x64":"0.28.2","@esbuild/win32-x64":"0.28.2","@esbuild/darwin-x64":"0.28.2","@esbuild/linux-ia32":"0.28.2","@esbuild/netbsd-x64":"0.28.2","@esbuild/win32-ia32":"0.28.2","@esbuild/android-arm":"0.28.2","@esbuild/android-x64":"0.28.2","@esbuild/freebsd-x64":"0.28.2","@esbuild/linux-arm64":"0.28.2","@esbuild/linux-ppc64":"0.28.2","@esbuild/linux-s390x":"0.28.2","@esbuild/openbsd-x64":"0.28.2","@esbuild/win32-arm64":"0.28.2","@esbuild/darwin-arm64":"0.28.2","@esbuild/netbsd-arm64":"0.28.2","@esbuild/android-arm64":"0.28.2","@esbuild/freebsd-arm64":"0.28.2","@esbuild/linux-loong64":"0.28.2","@esbuild/linux-riscv64":"0.28.2","@esbuild/openbsd-arm64":"0.28.2","@esbuild/linux-mips64el":"0.28.2","@esbuild/openharmony-arm64":"0.28.2","@anthropic-ai/claude-agent-sdk-linux-x64":"0.3.280","@anthropic-ai/claude-agent-sdk-win32-x64":"0.3.280","@anthropic-ai/claude-agent-sdk-darwin-x64":"0.3.280","@anthropic-ai/claude-agent-sdk-linux-arm64":"0.3.280","@anthropic-ai/claude-agent-sdk-win32-arm64":"0.3.280","@anthropic-ai/claude-agent-sdk-darwin-arm64":"0.3.280","@anthropic-ai/claude-agent-sdk-linux-x64-musl":"0.3.280","@anthropic-ai/claude-agent-sdk-linux-arm64-musl":"0.3.280"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.9.24-2_1790257547617_0.9297719641203286","host":"s3://npm-registry-packages-npm-production"}},"2026.9.24-3":{"name":"@code-yeongyu/senpi","version":"2026.9.24-3","keywords":["coding-agent","ai","llm","cli","tui","agent"],"author":{"name":"Mario Zechner"},"license":"MIT","_id":"@code-yeongyu/senpi@2026.9.24-3","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"homepage":"https://github.com/code-yeongyu/senpi#readme","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"bin":{"pi":"dist/bundle/cli.js","senpi":"dist/bundle/cli.js"},"dist":{"shasum":"f4530766a976fa423761030cab8cc22516422b26","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.9.24-3.tgz","fileCount":27211,"integrity":"sha512-fWnKmZ+HFGPRiWQwnqYMhwTDYGj5J3vf2rXiwUhJgGfWHftkelezUmLu0ZXjAAs8IHdHLHLmnBu5y6cGniQY7w==","signatures":[{"sig":"MEUCIBx07fpH61akzBCO/ehuz4aMy3xk5ycoxDZCrnEAyXuxAiEAk1EMygVvsXPaILHms2hNO99xTd4OMRmrSm7FUkIegn8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIH4fMlZFuql79jielbk752fpbkC67kKuzO5jAo2WQl13AiEAvdUqSXdrlv235NeAO5QWz7sE0WtuOKl9OVKp20Nix54=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.9.24-3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":206385781},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.js"},"./rpc-entry":{"import":"./dist/rpc-entry.js"},"./bun-runtime":{"types":"./dist/bun/runtime-modules.d.ts","import":"./dist/bun/runtime-modules.js"}},"scripts":{"dev":"tsc -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsgo -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js dist/rpc-entry.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi && npm run build:bundle","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/","build:binary":"npm --prefix ../tui run build && npm --prefix ../telemetry run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm --prefix ../protocol run build && npm --prefix ../client run build && npm --prefix ../pty run build && npm run build && node ../../scripts/prepare-bun-compile-assets.mjs && bun build --compile --splitting --compile-autoload-package-json --no-compile-autoload-dotenv --no-compile-autoload-bunfig --minify --keep-names ./dist/bun/cli.js ./src/modes/rpc/session-worker.ts ./src/utils/image-resize-worker.ts --outfile dist/pi && npm run copy-binary-assets","build:bundle":"node ../../scripts/build-coding-agent-bundle.mjs","qa:app-server":"node scripts/qa-app-server/run-all.mjs","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","build:unbundled":"tsgo -p tsconfig.build.json && shx chmod +x dist/cli.js dist/rpc-entry.js && npm run copy-assets","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/export-html/ && shx cp -r docs dist/ && shx cp -r examples dist/ && node ../../scripts/copy-codemode-sidecar.mjs dist && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/ && shx mkdir -p dist/native/darwin dist/native/win32 && shx cp -r ../../packages/tui/native/darwin/prebuilds dist/native/darwin/ && shx cp -r ../../packages/tui/native/win32/prebuilds dist/native/win32/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/ && node ../../scripts/copy-pty-native.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ea548fc8-dac4-4dec-a439-6f4fa3870309"}},"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.3"},"rimraf":"6.1.3","protobufjs":"7.6.5","@hono/node-server":"2.1.1"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.19.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"_nodeVersion":"24.21.0","dependencies":{"ms":"2.1.3","qs":"6.16.0","ws":"8.21.3","ajv":"8.20.0","jwa":"2.0.1","jws":"4.0.1","zod":"4.6.5","cors":"2.8.6","depd":"2.0.0","diff":"9.0.0","etag":"1.8.1","glob":"13.0.6","gopd":"1.2.0","hono":"4.13.8","jiti":"2.7.0","jose":"6.2.3","long":"5.3.2","once":"1.4.0","send":"1.2.1","vary":"1.1.2","yaml":"2.9.1","bytes":"3.1.2","chalk":"6.0.0","cssom":"0.5.0","debug":"4.4.3","fresh":"2.0.0","isexe":"2.0.0","retry":"0.13.1","tslib":"2.8.1","which":"2.0.2","bowser":"2.14.1","cookie":"0.7.2","extend":"3.0.2","gaxios":"7.1.4","hasown":"2.0.3","ignore":"7.0.9","marked":"18.0.13","openai":"6.26.0","router":"2.2.0","semver":"7.8.5","undici":"8.10.2","unpipe":"1.0.0","wrappy":"1.0.2","accepts":"2.0.0","esbuild":"0.28.2","express":"5.2.1","mime-db":"1.54.0","p-retry":"4.6.2","type-is":"2.1.0","typebox":"1.3.34","uhyphen":"0.2.0","boolbase":"2.0.0","css-what":"8.0.0","domutils":"3.2.2","ee-first":"1.1.1","entities":"8.1.0","fast-uri":"3.1.8","inherits":"2.0.4","linkedom":"0.18.13","minipass":"7.1.3","parseurl":"1.3.3","path-key":"3.1.1","raw-body":"3.0.2","statuses":"2.0.2","turndown":"7.2.4","base64-js":"1.5.1","encodeurl":"2.0.0","es-errors":"1.3.0","forwarded":"0.2.0","get-proto":"1.0.1","ipaddr.js":"1.9.1","lru-cache":"11.5.2","minimatch":"10.2.6","nth-check":"3.0.1","picomatch":"4.0.7","agent-base":"9.0.0","call-bound":"1.0.4","css-select":"7.0.0","domhandler":"5.0.3","fetch-blob":"3.2.0","iconv-lite":"0.7.3","ip-address":"10.7.2","is-promise":"4.0.0","mime-types":"3.0.2","negotiator":"1.0.0","node-fetch":"3.3.2","protobufjs":"7.6.5","proxy-addr":"2.0.7","ts-algebra":"2.0.0","@types/node":"26.6.2","ajv-formats":"3.0.1","body-parser":"2.3.0","cross-spawn":"7.0.6","escape-html":"1.0.3","eventsource":"3.0.7","fast-sha256":"1.3.0","graceful-fs":"4.2.11","has-symbols":"1.1.0","htmlparser2":"10.1.0","http-errors":"2.0.1","json-bigint":"1.0.0","media-typer":"1.1.0","on-finished":"2.4.1","path-scurry":"2.0.2","safe-buffer":"5.2.1","signal-exit":"3.0.7","@smithy/core":"3.33.3","bignumber.js":"9.3.1","content-type":"1.0.5","dunder-proto":"1.0.1","finalhandler":"2.1.1","gcp-metadata":"8.1.2","grok-mermaid":"0.2.3","highlight.js":"11.12.0","partial-json":"0.1.7","range-parser":"1.3.0","safer-buffer":"2.1.2","serve-static":"2.2.1","side-channel":"1.1.1","toidentifier":"1.0.1","undici-types":"8.9.0","@aws-sdk/core":"3.978.0","@google/genai":"2.23.0","@smithy/types":"4.18.0","function-bind":"1.1.2","get-intrinsic":"1.3.0","object-assign":"4.1.1","shebang-regex":"3.0.0","@aws-sdk/types":"3.974.5","@babel/runtime":"7.29.2","balanced-match":"4.0.4","dom-serializer":"2.0.0","domelementtype":"2.3.0","object-inspect":"1.13.4","path-to-regexp":"8.4.2","pkce-challenge":"5.0.1","proxy-from-env":"2.1.0","setprototypeof":"1.2.0","@xterm/headless":"6.0.0","brace-expansion":"5.0.12","es-module-lexer":"3.0.2","es-object-atoms":"1.1.2","fast-deep-equal":"3.1.3","hosted-git-info":"10.1.1","math-intrinsics":"1.1.0","proper-lockfile":"4.1.2","shebang-command":"2.0.0","web-tree-sitter":"0.27.0","@protobufjs/path":"1.1.2","@protobufjs/pool":"1.1.0","@protobufjs/utf8":"1.1.1","cookie-signature":"1.2.2","http-proxy-agent":"9.1.0","side-channel-map":"1.0.1","standardwebhooks":"1.0.0","@anthropic-ai/sdk":"0.127.0","@hono/node-server":"2.1.1","@protobufjs/fetch":"1.1.1","@protobufjs/float":"1.0.2","@stablelib/base64":"1.0.1","formdata-polyfill":"4.0.10","https-proxy-agent":"9.1.0","json-schema-to-ts":"3.1.1","json-schema-typed":"8.0.2","merge-descriptors":"2.0.0","node-domexception":"1.0.0","side-channel-list":"1.0.1","@bufbuild/protobuf":"2.15.0","@mixmark-io/domino":"2.2.0","@opentelemetry/api":"1.9.1","@protobufjs/base64":"1.1.2","data-uri-to-buffer":"4.0.1","es-define-property":"1.0.1","eventsource-parser":"3.1.0","express-rate-limit":"8.7.0","zod-to-json-schema":"3.25.2","@protobufjs/codegen":"2.0.5","content-disposition":"1.1.0","ecdsa-sig-formatter":"1.0.11","google-auth-library":"10.6.2","require-from-string":"2.0.2","@aws-sdk/xml-builder":"3.972.40","@mozilla/readability":"0.6.0","@smithy/signature-v4":"5.7.3","get-east-asian-width":"1.7.0","google-logging-utils":"1.1.3","json-schema-traverse":"1.0.0","side-channel-weakmap":"1.0.2","web-streams-polyfill":"3.3.3","@earendil-works/chord":"0.85.1","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.9.24-3","@protobufjs/aspromise":"1.1.2","proxy-agent-negotiate":"1.1.0","@earendil-works/pi-pty":"npm:@code-yeongyu/senpi-pty@2026.9.24-3","@earendil-works/pi-tui":"npm:@code-yeongyu/senpi-tui@2026.9.24-3","@aws-sdk/nested-clients":"3.997.45","call-bind-apply-helpers":"1.0.2","@aws-sdk/token-providers":"3.1136.0","@aws/lambda-invoke-store":"0.3.0","@protobufjs/eventemitter":"1.1.1","@modelcontextprotocol/sdk":"1.30.0","@smithy/node-http-handler":"4.12.1","@silvia-odwyer/photon-node":"0.3.4","@smithy/fetch-http-handler":"5.7.2","buffer-equal-constant-time":"1.0.1","@code-yeongyu/senpi-codemode":"2026.9.24-3","@earendil-works/pi-telemetry":"npm:@code-yeongyu/senpi-telemetry@2026.9.24-3","@aws-sdk/middleware-websocket":"3.972.53","@earendil-works/pi-agent-core":"npm:@code-yeongyu/senpi-agent-core@2026.9.24-3","@anthropic-ai/claude-agent-sdk":"0.3.280","@aws-sdk/client-bedrock-runtime":"3.1136.0","@aws-sdk/middleware-eventstream":"3.972.29","@aws-sdk/credential-provider-env":"3.972.71","@aws-sdk/credential-provider-ini":"3.973.16","@aws-sdk/credential-provider-sso":"3.973.15","@smithy/credential-provider-imds":"4.5.2","@aws-sdk/credential-provider-http":"3.972.73","@aws-sdk/credential-provider-node":"3.972.83","@aws-sdk/eventstream-handler-node":"3.972.34","@aws-sdk/credential-provider-login":"3.972.78","@aws-sdk/signature-v4-multi-region":"3.996.46","@aws-sdk/credential-provider-process":"3.972.71","@aws-sdk/credential-provider-web-identity":"3.972.77"},"_hasShrinkwrap":false,"devDependencies":{"shx":"0.4.0","vitest":"5.0.1","@types/ws":"8.18.1","typescript":"7.0.2","@types/node":"26.6.2","@types/semver":"7.8.0","@types/turndown":"5.0.6","@types/picomatch":"4.0.3","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@anthropic-ai/claude-agent-sdk","@anthropic-ai/sdk","@aws-sdk/client-bedrock-runtime","@aws-sdk/core","@aws-sdk/credential-provider-env","@aws-sdk/credential-provider-http","@aws-sdk/credential-provider-ini","@aws-sdk/credential-provider-login","@aws-sdk/credential-provider-node","@aws-sdk/credential-provider-process","@aws-sdk/credential-provider-sso","@aws-sdk/credential-provider-web-identity","@aws-sdk/eventstream-handler-node","@aws-sdk/middleware-eventstream","@aws-sdk/middleware-websocket","@aws-sdk/nested-clients","@aws-sdk/signature-v4-multi-region","@aws-sdk/token-providers","@aws-sdk/types","@aws-sdk/xml-builder","@aws/lambda-invoke-store","@babel/runtime","@bufbuild/protobuf","@code-yeongyu/senpi-codemode","@earendil-works/chord","@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-pty","@earendil-works/pi-telemetry","@earendil-works/pi-tui","@google/genai","@hono/node-server","@mixmark-io/domino","@modelcontextprotocol/sdk","@mozilla/readability","@opentelemetry/api","@protobufjs/aspromise","@protobufjs/base64","@protobufjs/codegen","@protobufjs/eventemitter","@protobufjs/fetch","@protobufjs/float","@protobufjs/path","@protobufjs/pool","@protobufjs/utf8","@silvia-odwyer/photon-node","@smithy/core","@smithy/credential-provider-imds","@smithy/fetch-http-handler","@smithy/node-http-handler","@smithy/signature-v4","@smithy/types","@stablelib/base64","@types/node","@xterm/headless","accepts","agent-base","ajv","ajv-formats","balanced-match","base64-js","bignumber.js","body-parser","boolbase","bowser","brace-expansion","buffer-equal-constant-time","bytes","call-bind-apply-helpers","call-bound","chalk","content-disposition","content-type","cookie","cookie-signature","cors","cross-spawn","css-select","css-what","cssom","data-uri-to-buffer","debug","depd","diff","dom-serializer","domelementtype","domhandler","domutils","dunder-proto","ecdsa-sig-formatter","ee-first","encodeurl","entities","es-define-property","es-errors","es-module-lexer","es-object-atoms","esbuild","escape-html","etag","eventsource","eventsource-parser","express","express-rate-limit","extend","fast-deep-equal","fast-sha256","fast-uri","fetch-blob","finalhandler","formdata-polyfill","forwarded","fresh","function-bind","gaxios","gcp-metadata","get-east-asian-width","get-intrinsic","get-proto","glob","google-auth-library","google-logging-utils","gopd","graceful-fs","grok-mermaid","has-symbols","hasown","highlight.js","hono","hosted-git-info","htmlparser2","http-errors","http-proxy-agent","https-proxy-agent","iconv-lite","ignore","inherits","ip-address","ipaddr.js","is-promise","isexe","jiti","jose","json-bigint","json-schema-to-ts","json-schema-traverse","json-schema-typed","jwa","jws","linkedom","long","lru-cache","marked","math-intrinsics","media-typer","merge-descriptors","mime-db","mime-types","minimatch","minipass","ms","negotiator","node-domexception","node-fetch","nth-check","object-assign","object-inspect","on-finished","once","openai","p-retry","parseurl","partial-json","path-key","path-scurry","path-to-regexp","picomatch","pkce-challenge","proper-lockfile","protobufjs","proxy-addr","proxy-agent-negotiate","proxy-from-env","qs","range-parser","raw-body","require-from-string","retry","router","safe-buffer","safer-buffer","semver","send","serve-static","setprototypeof","shebang-command","shebang-regex","side-channel","side-channel-list","side-channel-map","side-channel-weakmap","signal-exit","standardwebhooks","statuses","toidentifier","ts-algebra","tslib","turndown","type-is","typebox","uhyphen","undici","undici-types","unpipe","vary","web-streams-polyfill","web-tree-sitter","which","wrappy","ws","yaml","zod","zod-to-json-schema"],"optionalDependencies":{"@esbuild/aix-ppc64":"0.28.2","@esbuild/linux-arm":"0.28.2","@esbuild/linux-x64":"0.28.2","@esbuild/sunos-x64":"0.28.2","@esbuild/win32-x64":"0.28.2","@esbuild/darwin-x64":"0.28.2","@esbuild/linux-ia32":"0.28.2","@esbuild/netbsd-x64":"0.28.2","@esbuild/win32-ia32":"0.28.2","@esbuild/android-arm":"0.28.2","@esbuild/android-x64":"0.28.2","@esbuild/freebsd-x64":"0.28.2","@esbuild/linux-arm64":"0.28.2","@esbuild/linux-ppc64":"0.28.2","@esbuild/linux-s390x":"0.28.2","@esbuild/openbsd-x64":"0.28.2","@esbuild/win32-arm64":"0.28.2","@esbuild/darwin-arm64":"0.28.2","@esbuild/netbsd-arm64":"0.28.2","@esbuild/android-arm64":"0.28.2","@esbuild/freebsd-arm64":"0.28.2","@esbuild/linux-loong64":"0.28.2","@esbuild/linux-riscv64":"0.28.2","@esbuild/openbsd-arm64":"0.28.2","@esbuild/linux-mips64el":"0.28.2","@esbuild/openharmony-arm64":"0.28.2","@anthropic-ai/claude-agent-sdk-linux-x64":"0.3.280","@anthropic-ai/claude-agent-sdk-win32-x64":"0.3.280","@anthropic-ai/claude-agent-sdk-darwin-x64":"0.3.280","@anthropic-ai/claude-agent-sdk-linux-arm64":"0.3.280","@anthropic-ai/claude-agent-sdk-win32-arm64":"0.3.280","@anthropic-ai/claude-agent-sdk-darwin-arm64":"0.3.280","@anthropic-ai/claude-agent-sdk-linux-x64-musl":"0.3.280","@anthropic-ai/claude-agent-sdk-linux-arm64-musl":"0.3.280"},"_npmOperationalInternal":{"tmp":"tmp/senpi_2026.9.24-3_1790288463195_0.897478126133666","host":"s3://npm-registry-packages-npm-production"}},"2026.9.25":{"_id":"@code-yeongyu/senpi@2026.9.25","bin":{"pi":"dist/bundle/cli.js","senpi":"dist/bundle/cli.js"},"bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"dist":{"shasum":"a11a03872722bd7509bd435b6382519bcc86f368","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi/-/senpi-2026.9.25.tgz","fileCount":27337,"integrity":"sha512-vCUunD5ahYrRQ2lNEGfz8/juYtD9i0WtuwXDtsRCJ3De8ractF4zyDkc3puo1+TG49M5w0cL3IMZeOTdF2Z1Yw==","signatures":[{"sig":"MEYCIQCqbaEp5JOsClI/zkpUViUqXrTTtTUJSVPEn/wLDUFdawIhAPCXYqwhPphLuWaSZUGWOYYf7oa8bKFGnlnwWdJNugtx","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQD/SvIXgWWaT05VM/mfx5vixTd4B419yEn5YZNDNaOBnAIhANjx7GWUHVNokqBO1IiuVGp8mPms+e1JS2vXCVdi73jp"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi@2026.9.25","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":210884993},"main":"./dist/index.js","name":"@code-yeongyu/senpi","type":"module","types":"./dist/index.d.ts","author":{"name":"Mario Zechner"},"engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./client":{"types":"./dist/client/index.d.ts","import":"./dist/client/index.js"},"./rpc-entry":{"import":"./dist/rpc-entry.js"},"./bun-runtime":{"types":"./dist/bun/runtime-modules.d.ts","import":"./dist/bun/runtime-modules.js"}},"license":"MIT","scripts":{"dev":"tsc -p tsconfig.build.json --watch --preserveWatchOutput","test":"vitest --run","build":"tsgo -p tsconfig.build.json && npm run copy-assets && shx chmod +x dist/cli.js dist/rpc-entry.js && shx cp dist/cli.js dist/senpi && shx chmod +x dist/senpi && npm run build:bundle","clean":"shx rm -rf dist","shrinkwrap":"node ../../scripts/generate-coding-agent-shrinkwrap.mjs","copy-assets":"shx mkdir -p dist/modes/interactive/theme && shx cp src/modes/interactive/theme/*.json dist/modes/interactive/theme/ && shx mkdir -p dist/modes/interactive/assets && shx cp src/modes/interactive/assets/*.png dist/modes/interactive/assets/ && shx mkdir -p dist/core/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/core/export-html/ && shx cp src/core/export-html/vendor/*.js dist/core/export-html/vendor/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/","build:binary":"npm --prefix ../tui run build && npm --prefix ../telemetry run build && npm --prefix ../ai run build && npm --prefix ../agent run build && npm --prefix ../protocol run build && npm --prefix ../client run build && npm --prefix ../pty run build && npm run build && node ../../scripts/prepare-bun-compile-assets.mjs && bun build --compile --splitting --compile-autoload-package-json --no-compile-autoload-dotenv --no-compile-autoload-bunfig --minify --keep-names ./dist/bun/cli.js ./src/modes/rpc/session-worker.ts ./src/utils/image-resize-worker.ts --outfile dist/pi && npm run copy-binary-assets","build:bundle":"node ../../scripts/build-coding-agent-bundle.mjs","qa:app-server":"node scripts/qa-app-server/run-all.mjs","prepublishOnly":"npm run clean && npm run build && npm run shrinkwrap","build:unbundled":"tsgo -p tsconfig.build.json && shx chmod +x dist/cli.js dist/rpc-entry.js && npm run copy-assets","copy-binary-assets":"shx cp package.json dist/ && shx cp README.md dist/ && shx cp CHANGELOG.md dist/ && shx mkdir -p dist/theme && shx cp src/modes/interactive/theme/*.json dist/theme/ && shx mkdir -p dist/assets && shx cp src/modes/interactive/assets/*.png dist/assets/ && shx mkdir -p dist/export-html/vendor && shx cp src/core/export-html/template.html src/core/export-html/template.css src/core/export-html/template.js dist/export-html/ && shx cp -r docs dist/ && shx cp -r examples dist/ && node ../../scripts/copy-codemode-sidecar.mjs dist && shx cp ../../node_modules/@silvia-odwyer/photon-node/photon_rs_bg.wasm dist/ && shx mkdir -p dist/native/darwin dist/native/win32 && shx cp -r ../../packages/tui/native/darwin/prebuilds dist/native/darwin/ && shx cp -r ../../packages/tui/native/win32/prebuilds dist/native/win32/ && shx mkdir -p dist/core/extensions/builtin/imagegen/skill && shx cp src/core/extensions/builtin/imagegen/skill/SKILL.md dist/core/extensions/builtin/imagegen/skill/ && node ../../scripts/copy-pty-native.mjs"},"version":"2026.9.25","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ea548fc8-dac4-4dec-a439-6f4fa3870309"}},"homepage":"https://github.com/code-yeongyu/senpi#readme","keywords":["coding-agent","ai","llm","cli","tui","agent"],"piConfig":{"name":"senpi","configDir":".senpi"},"overrides":{"gaxios":{"rimraf":"6.1.3"},"rimraf":"6.1.3","protobufjs":"7.6.5","@hono/node-server":"2.1.1"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"_npmVersion":"11.19.0","description":"Coding agent CLI with read, bash, edit, write tools and session management","directories":{},"maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"_nodeVersion":"24.21.0","dependencies":{"ms":"2.1.3","qs":"6.16.0","ws":"8.21.3","ajv":"8.20.0","jwa":"2.0.1","jws":"4.0.1","zod":"4.6.5","cors":"2.8.6","depd":"2.0.0","diff":"9.0.0","etag":"1.8.1","glob":"13.0.6","gopd":"1.2.0","hono":"4.13.8","jiti":"2.7.0","jose":"6.2.3","long":"5.3.2","once":"1.4.0","send":"1.2.1","vary":"1.1.2","yaml":"2.9.1","bytes":"3.1.2","chalk":"6.0.0","cssom":"0.5.0","debug":"4.4.3","fresh":"2.0.0","isexe":"2.0.0","retry":"0.13.1","tslib":"2.8.1","which":"2.0.2","bowser":"2.14.1","cookie":"0.7.2","extend":"3.0.2","gaxios":"7.1.4","hasown":"2.0.3","ignore":"7.0.9","marked":"18.0.13","openai":"6.26.0","router":"2.2.0","semver":"7.8.5","undici":"8.10.2","unpipe":"1.0.0","wrappy":"1.0.2","accepts":"2.0.0","esbuild":"0.28.2","express":"5.2.1","mime-db":"1.54.0","p-retry":"4.6.2","type-is":"2.1.0","typebox":"1.3.34","uhyphen":"0.2.0","boolbase":"2.0.0","css-what":"8.0.0","domutils":"3.2.2","ee-first":"1.1.1","entities":"8.1.0","fast-uri":"3.1.8","inherits":"2.0.4","linkedom":"0.18.13","minipass":"7.1.3","parseurl":"1.3.3","path-key":"3.1.1","raw-body":"3.0.2","statuses":"2.0.2","turndown":"7.2.4","base64-js":"1.5.1","encodeurl":"2.0.0","es-errors":"1.3.0","forwarded":"0.2.0","get-proto":"1.0.1","ipaddr.js":"1.9.1","lru-cache":"11.5.2","minimatch":"10.2.6","nth-check":"3.0.1","picomatch":"4.0.7","agent-base":"9.0.0","call-bound":"1.0.4","css-select":"7.0.0","domhandler":"5.0.3","fetch-blob":"3.2.0","iconv-lite":"0.7.3","ip-address":"10.7.2","is-promise":"4.0.0","mime-types":"3.0.2","negotiator":"1.0.0","node-fetch":"3.3.2","protobufjs":"7.6.5","proxy-addr":"2.0.7","ts-algebra":"2.0.0","@types/node":"26.6.2","ajv-formats":"3.0.1","body-parser":"2.3.0","cross-spawn":"7.0.6","escape-html":"1.0.3","eventsource":"3.0.7","fast-sha256":"1.3.0","graceful-fs":"4.2.11","has-symbols":"1.1.0","htmlparser2":"10.1.0","http-errors":"2.0.1","json-bigint":"1.0.0","media-typer":"1.1.0","on-finished":"2.4.1","path-scurry":"2.0.2","safe-buffer":"5.2.1","signal-exit":"3.0.7","@smithy/core":"3.33.3","bignumber.js":"9.3.1","content-type":"1.0.5","dunder-proto":"1.0.1","finalhandler":"2.1.1","gcp-metadata":"8.1.2","grok-mermaid":"0.2.3","highlight.js":"11.12.0","partial-json":"0.1.7","range-parser":"1.3.0","safer-buffer":"2.1.2","serve-static":"2.2.1","side-channel":"1.1.1","toidentifier":"1.0.1","undici-types":"8.9.0","@aws-sdk/core":"3.978.0","@google/genai":"2.23.0","@smithy/types":"4.18.0","function-bind":"1.1.2","get-intrinsic":"1.3.0","object-assign":"4.1.1","shebang-regex":"3.0.0","@aws-sdk/types":"3.974.5","@babel/runtime":"7.29.2","balanced-match":"4.0.4","dom-serializer":"2.0.0","domelementtype":"2.3.0","object-inspect":"1.13.4","path-to-regexp":"8.4.2","pkce-challenge":"5.0.1","proxy-from-env":"2.1.0","setprototypeof":"1.2.0","@xterm/headless":"6.0.0","brace-expansion":"5.0.12","es-module-lexer":"3.0.2","es-object-atoms":"1.1.2","fast-deep-equal":"3.1.3","hosted-git-info":"10.1.1","math-intrinsics":"1.1.0","proper-lockfile":"4.1.2","shebang-command":"2.0.0","web-tree-sitter":"0.27.0","@protobufjs/path":"1.1.2","@protobufjs/pool":"1.1.0","@protobufjs/utf8":"1.1.1","cookie-signature":"1.2.2","http-proxy-agent":"9.1.0","side-channel-map":"1.0.1","standardwebhooks":"1.0.0","@anthropic-ai/sdk":"0.127.0","@hono/node-server":"2.1.1","@protobufjs/fetch":"1.1.1","@protobufjs/float":"1.0.2","@stablelib/base64":"1.0.1","formdata-polyfill":"4.0.10","https-proxy-agent":"9.1.0","json-schema-to-ts":"3.1.1","json-schema-typed":"8.0.2","merge-descriptors":"2.0.0","node-domexception":"1.0.0","side-channel-list":"1.0.1","@bufbuild/protobuf":"2.15.0","@mixmark-io/domino":"2.2.0","@opentelemetry/api":"1.9.1","@protobufjs/base64":"1.1.2","data-uri-to-buffer":"4.0.1","es-define-property":"1.0.1","eventsource-parser":"3.1.0","express-rate-limit":"8.7.0","zod-to-json-schema":"3.25.2","@protobufjs/codegen":"2.0.5","content-disposition":"1.1.0","ecdsa-sig-formatter":"1.0.11","google-auth-library":"10.6.2","require-from-string":"2.0.2","@aws-sdk/xml-builder":"3.972.40","@mozilla/readability":"0.6.0","@smithy/signature-v4":"5.7.3","get-east-asian-width":"1.7.0","google-logging-utils":"1.1.3","json-schema-traverse":"1.0.0","side-channel-weakmap":"1.0.2","web-streams-polyfill":"3.3.3","@earendil-works/chord":"0.85.1","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.9.25","@protobufjs/aspromise":"1.1.2","proxy-agent-negotiate":"1.1.0","@earendil-works/pi-pty":"npm:@code-yeongyu/senpi-pty@2026.9.25","@earendil-works/pi-tui":"npm:@code-yeongyu/senpi-tui@2026.9.25","@aws-sdk/nested-clients":"3.997.45","call-bind-apply-helpers":"1.0.2","@aws-sdk/token-providers":"3.1136.0","@aws/lambda-invoke-store":"0.3.0","@protobufjs/eventemitter":"1.1.1","@modelcontextprotocol/sdk":"1.30.0","@smithy/node-http-handler":"4.12.1","@silvia-odwyer/photon-node":"0.3.4","@smithy/fetch-http-handler":"5.7.2","buffer-equal-constant-time":"1.0.1","@code-yeongyu/senpi-codemode":"2026.9.25","@earendil-works/pi-telemetry":"npm:@code-yeongyu/senpi-telemetry@2026.9.25","@aws-sdk/middleware-websocket":"3.972.53","@earendil-works/pi-agent-core":"npm:@code-yeongyu/senpi-agent-core@2026.9.25","@anthropic-ai/claude-agent-sdk":"0.3.280","@aws-sdk/client-bedrock-runtime":"3.1136.0","@aws-sdk/middleware-eventstream":"3.972.29","@aws-sdk/credential-provider-env":"3.972.71","@aws-sdk/credential-provider-ini":"3.973.16","@aws-sdk/credential-provider-sso":"3.973.15","@code-yeongyu/senpi-desktop-tool":"2026.9.24-2","@smithy/credential-provider-imds":"4.5.2","@aws-sdk/credential-provider-http":"3.972.73","@aws-sdk/credential-provider-node":"3.972.83","@aws-sdk/eventstream-handler-node":"3.972.34","@aws-sdk/credential-provider-login":"3.972.78","@aws-sdk/signature-v4-multi-region":"3.996.46","@code-yeongyu/senpi-desktop-engine":"2026.9.24-2","@code-yeongyu/senpi-desktop-prelude":"2026.9.24-2","@code-yeongyu/senpi-desktop-service":"2026.9.24-2","@aws-sdk/credential-provider-process":"3.972.71","@code-yeongyu/senpi-desktop-protocol":"2026.9.24-2","@aws-sdk/credential-provider-web-identity":"3.972.77"},"_hasShrinkwrap":false,"devDependencies":{"shx":"0.4.0","vitest":"5.0.1","@types/ws":"8.18.1","typescript":"7.0.2","@types/node":"26.6.2","@types/semver":"7.8.0","@types/turndown":"5.0.6","@types/picomatch":"4.0.3","@types/cross-spawn":"6.0.6","@types/hosted-git-info":"3.0.5","@types/proper-lockfile":"4.1.4"},"bundleDependencies":["@anthropic-ai/claude-agent-sdk","@anthropic-ai/sdk","@aws-sdk/client-bedrock-runtime","@aws-sdk/core","@aws-sdk/credential-provider-env","@aws-sdk/credential-provider-http","@aws-sdk/credential-provider-ini","@aws-sdk/credential-provider-login","@aws-sdk/credential-provider-node","@aws-sdk/credential-provider-process","@aws-sdk/credential-provider-sso","@aws-sdk/credential-provider-web-identity","@aws-sdk/eventstream-handler-node","@aws-sdk/middleware-eventstream","@aws-sdk/middleware-websocket","@aws-sdk/nested-clients","@aws-sdk/signature-v4-multi-region","@aws-sdk/token-providers","@aws-sdk/types","@aws-sdk/xml-builder","@aws/lambda-invoke-store","@babel/runtime","@bufbuild/protobuf","@code-yeongyu/senpi-codemode","@code-yeongyu/senpi-desktop-engine","@code-yeongyu/senpi-desktop-prelude","@code-yeongyu/senpi-desktop-protocol","@code-yeongyu/senpi-desktop-service","@code-yeongyu/senpi-desktop-tool","@earendil-works/chord","@earendil-works/pi-agent-core","@earendil-works/pi-ai","@earendil-works/pi-pty","@earendil-works/pi-telemetry","@earendil-works/pi-tui","@google/genai","@hono/node-server","@mixmark-io/domino","@modelcontextprotocol/sdk","@mozilla/readability","@opentelemetry/api","@protobufjs/aspromise","@protobufjs/base64","@protobufjs/codegen","@protobufjs/eventemitter","@protobufjs/fetch","@protobufjs/float","@protobufjs/path","@protobufjs/pool","@protobufjs/utf8","@silvia-odwyer/photon-node","@smithy/core","@smithy/credential-provider-imds","@smithy/fetch-http-handler","@smithy/node-http-handler","@smithy/signature-v4","@smithy/types","@stablelib/base64","@types/node","@xterm/headless","accepts","agent-base","ajv","ajv-formats","balanced-match","base64-js","bignumber.js","body-parser","boolbase","bowser","brace-expansion","buffer-equal-constant-time","bytes","call-bind-apply-helpers","call-bound","chalk","content-disposition","content-type","cookie","cookie-signature","cors","cross-spawn","css-select","css-what","cssom","data-uri-to-buffer","debug","depd","diff","dom-serializer","domelementtype","domhandler","domutils","dunder-proto","ecdsa-sig-formatter","ee-first","encodeurl","entities","es-define-property","es-errors","es-module-lexer","es-object-atoms","esbuild","escape-html","etag","eventsource","eventsource-parser","express","express-rate-limit","extend","fast-deep-equal","fast-sha256","fast-uri","fetch-blob","finalhandler","formdata-polyfill","forwarded","fresh","function-bind","gaxios","gcp-metadata","get-east-asian-width","get-intrinsic","get-proto","glob","google-auth-library","google-logging-utils","gopd","graceful-fs","grok-mermaid","has-symbols","hasown","highlight.js","hono","hosted-git-info","htmlparser2","http-errors","http-proxy-agent","https-proxy-agent","iconv-lite","ignore","inherits","ip-address","ipaddr.js","is-promise","isexe","jiti","jose","json-bigint","json-schema-to-ts","json-schema-traverse","json-schema-typed","jwa","jws","linkedom","long","lru-cache","marked","math-intrinsics","media-typer","merge-descriptors","mime-db","mime-types","minimatch","minipass","ms","negotiator","node-domexception","node-fetch","nth-check","object-assign","object-inspect","on-finished","once","openai","p-retry","parseurl","partial-json","path-key","path-scurry","path-to-regexp","picomatch","pkce-challenge","proper-lockfile","protobufjs","proxy-addr","proxy-agent-negotiate","proxy-from-env","qs","range-parser","raw-body","require-from-string","retry","router","safe-buffer","safer-buffer","semver","send","serve-static","setprototypeof","shebang-command","shebang-regex","side-channel","side-channel-list","side-channel-map","side-channel-weakmap","signal-exit","standardwebhooks","statuses","toidentifier","ts-algebra","tslib","turndown","type-is","typebox","uhyphen","undici","undici-types","unpipe","vary","web-streams-polyfill","web-tree-sitter","which","wrappy","ws","yaml","zod","zod-to-json-schema"],"optionalDependencies":{"@esbuild/aix-ppc64":"0.28.2","@esbuild/linux-arm":"0.28.2","@esbuild/linux-x64":"0.28.2","@esbuild/sunos-x64":"0.28.2","@esbuild/win32-x64":"0.28.2","@esbuild/darwin-x64":"0.28.2","@esbuild/linux-ia32":"0.28.2","@esbuild/netbsd-x64":"0.28.2","@esbuild/win32-ia32":"0.28.2","@esbuild/android-arm":"0.28.2","@esbuild/android-x64":"0.28.2","@esbuild/freebsd-x64":"0.28.2","@esbuild/linux-arm64":"0.28.2","@esbuild/linux-ppc64":"0.28.2","@esbuild/linux-s390x":"0.28.2","@esbuild/openbsd-x64":"0.28.2","@esbuild/win32-arm64":"0.28.2","@esbuild/darwin-arm64":"0.28.2","@esbuild/netbsd-arm64":"0.28.2","@esbuild/android-arm64":"0.28.2","@esbuild/freebsd-arm64":"0.28.2","@esbuild/linux-loong64":"0.28.2","@esbuild/linux-riscv64":"0.28.2","@esbuild/openbsd-arm64":"0.28.2","@esbuild/linux-mips64el":"0.28.2","@esbuild/openharmony-arm64":"0.28.2","@anthropic-ai/claude-agent-sdk-linux-x64":"0.3.280","@anthropic-ai/claude-agent-sdk-win32-x64":"0.3.280","@anthropic-ai/claude-agent-sdk-darwin-x64":"0.3.280","@anthropic-ai/claude-agent-sdk-linux-arm64":"0.3.280","@anthropic-ai/claude-agent-sdk-win32-arm64":"0.3.280","@anthropic-ai/claude-agent-sdk-darwin-arm64":"0.3.280","@anthropic-ai/claude-agent-sdk-linux-x64-musl":"0.3.280","@anthropic-ai/claude-agent-sdk-linux-arm64-musl":"0.3.280"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/senpi_2026.9.25_1790312642413_0.6338653477844871"}}},"time":{"created":"2026-05-11T07:59:36.633Z","modified":"2026-09-25T05:04:03.494Z","0.74.0":"2026-05-11T07:59:37.055Z","2026.5.13":"2026-05-13T04:56:24.363Z","2026.5.13-2":"2026-05-13T05:34:18.849Z","2026.5.13-3":"2026-05-13T05:46:42.694Z","2026.5.13-4":"2026-05-13T08:32:21.362Z","2026.5.14":"2026-05-14T11:01:33.618Z","2026.5.15":"2026-05-15T01:00:21.153Z","2026.5.15-2":"2026-05-15T08:16:38.897Z","2026.5.15-3":"2026-05-15T12:51:36.090Z","2026.5.16":"2026-05-16T06:13:49.450Z","2026.5.18":"2026-05-18T02:18:45.661Z","2026.5.18-2":"2026-05-18T02:38:38.297Z","2026.5.19":"2026-05-19T01:33:54.561Z","2026.5.20-2":"2026-05-20T09:35:06.892Z","2026.5.20-3":"2026-05-20T11:09:56.514Z","2026.5.20-4":"2026-05-20T12:11:07.100Z","2026.5.21":"2026-05-21T06:02:51.550Z","2026.5.21-2":"2026-05-21T06:24:27.912Z","2026.5.23":"2026-05-23T13:00:16.647Z","2026.5.23-2":"2026-05-23T18:24:17.739Z","2026.5.24":"2026-05-24T07:44:23.077Z","2026.5.29":"2026-05-29T01:51:55.501Z","2026.5.29-2":"2026-05-29T02:05:22.762Z","2026.5.29-3":"2026-05-29T02:20:29.623Z","2026.5.29-4":"2026-05-29T06:57:40.838Z","2026.6.2":"2026-06-02T14:56:51.738Z","2026.6.3":"2026-06-03T04:32:15.173Z","2026.6.4":"2026-06-04T03:00:13.417Z","2026.6.6-3":"2026-06-06T04:02:31.692Z","2026.6.10":"2026-06-10T03:46:20.926Z","2026.6.10-2":"2026-06-10T07:07:19.734Z","2026.6.12-2":"2026-06-12T10:02:37.664Z","2026.6.13":"2026-06-13T18:30:07.524Z","2026.6.14":"2026-06-14T07:24:38.772Z","2026.6.14-2":"2026-06-14T07:58:58.069Z","2026.6.14-3":"2026-06-14T08:34:04.858Z","2026.6.15":"2026-06-15T02:17:43.199Z","2026.6.16":"2026-06-16T02:14:20.463Z","2026.6.16-2":"2026-06-16T02:31:25.999Z","2026.6.17":"2026-06-17T04:51:31.056Z","2026.6.17-2":"2026-06-17T05:19:19.777Z","2026.6.21":"2026-06-21T13:53:33.542Z","2026.6.28-4":"2026-06-28T14:16:03.470Z","2026.6.30":"2026-06-30T04:32:56.884Z","2026.6.30-2":"2026-06-30T21:28:37.280Z","2026.7.2":"2026-07-02T03:46:21.928Z","2026.7.3":"2026-07-03T02:59:51.136Z","2026.7.4":"2026-07-04T10:01:54.789Z","2026.7.5-2":"2026-07-05T17:16:41.486Z","2026.7.9":"2026-07-09T17:38:31.216Z","2026.7.9-2":"2026-07-09T21:24:17.611Z","2026.7.10":"2026-07-10T00:19:13.131Z","2026.7.10-2":"2026-07-10T01:14:15.715Z","2026.7.11":"2026-07-11T19:31:50.254Z","2026.7.13":"2026-07-13T09:34:28.937Z","2026.7.14":"2026-07-14T04:15:46.544Z","2026.7.14-2":"2026-07-14T09:56:11.835Z","2026.7.14-3":"2026-07-14T19:00:35.224Z","2026.7.16":"2026-07-16T18:08:55.060Z","2026.7.16-2":"2026-07-16T19:40:13.489Z","2026.7.16-3":"2026-07-16T23:38:46.319Z","2026.7.17":"2026-07-17T09:11:42.189Z","2026.7.17-2":"2026-07-17T12:28:53.795Z","2026.7.17-3":"2026-07-17T14:06:43.851Z","2026.7.17-4":"2026-07-17T15:01:47.122Z","2026.7.17-5":"2026-07-17T16:11:30.645Z","2026.7.20":"2026-07-20T02:08:05.136Z","2026.7.20-2":"2026-07-20T09:16:50.020Z","2026.7.22":"2026-07-22T02:49:18.901Z","2026.7.22-2":"2026-07-22T10:13:20.431Z","2026.7.23":"2026-07-23T05:19:46.117Z","2026.7.24":"2026-07-24T19:59:14.939Z","2026.7.25":"2026-07-25T12:59:59.545Z","2026.7.25-2":"2026-07-25T19:27:11.421Z","2026.7.26":"2026-07-26T18:23:22.656Z","2026.7.28":"2026-07-28T14:27:02.189Z","2026.7.28-2":"2026-07-28T16:24:08.335Z","2026.7.28-3":"2026-07-28T17:03:36.616Z","2026.7.29":"2026-07-29T13:39:55.972Z","2026.7.29-3":"2026-07-29T17:35:04.485Z","2026.7.29-4":"2026-07-29T18:10:13.217Z","2026.7.29-5":"2026-07-29T19:40:59.426Z","2026.7.29-6":"2026-07-29T20:30:57.280Z","2026.7.30":"2026-07-30T04:50:57.282Z","2026.7.30-2":"2026-07-31T01:59:45.764Z","2026.7.31":"2026-07-31T02:22:08.523Z","2026.7.31-2":"2026-07-31T09:51:43.514Z","2026.8.1":"2026-08-01T07:12:51.951Z","2026.8.3":"2026-08-03T06:54:19.940Z","2026.8.3-3":"2026-08-03T10:13:40.161Z","2026.8.4":"2026-08-04T09:44:12.926Z","2026.8.4-2":"2026-08-04T22:47:34.707Z","2026.8.5":"2026-08-05T01:02:38.586Z","2026.8.5-2":"2026-08-05T04:41:42.230Z","2026.8.6":"2026-08-06T03:04:14.469Z","2026.8.7":"2026-08-07T04:46:09.860Z","2026.8.9":"2026-08-09T08:32:04.228Z","2026.8.9-2":"2026-08-09T14:13:04.868Z","2026.8.10":"2026-08-10T02:57:55.434Z","2026.8.11":"2026-08-10T03:41:38.734Z","2026.8.11-2":"2026-08-10T06:46:34.648Z","2026.8.11-3":"2026-08-11T10:46:39.206Z","2026.8.11-4":"2026-08-11T12:25:46.218Z","2026.8.11-5":"2026-08-11T16:58:10.397Z","2026.8.11-6":"2026-08-11T19:05:51.534Z","2026.8.12":"2026-08-12T07:28:02.991Z","2026.8.12-2":"2026-08-12T07:51:49.478Z","2026.8.12-3":"2026-08-12T08:08:46.195Z","2026.8.12-4":"2026-08-12T10:06:26.595Z","2026.8.13":"2026-08-13T09:54:07.883Z","2026.8.14":"2026-08-14T05:52:20.184Z","2026.8.16":"2026-08-16T17:47:18.535Z","2026.8.17":"2026-08-17T20:19:50.161Z","2026.8.18":"2026-08-18T04:35:26.962Z","2026.8.18-2":"2026-08-18T09:12:58.694Z","2026.8.18-3":"2026-08-18T16:01:55.961Z","2026.8.19":"2026-08-19T14:08:36.662Z","2026.8.20":"2026-08-20T15:35:18.469Z","2026.8.20-2":"2026-08-20T16:02:26.116Z","2026.8.21":"2026-08-21T05:47:15.234Z","2026.8.21-2":"2026-08-21T09:09:27.079Z","2026.8.21-3":"2026-08-21T12:35:12.434Z","2026.8.22":"2026-08-22T04:39:13.090Z","2026.8.22-2":"2026-08-22T18:18:51.027Z","2026.8.23":"2026-08-23T12:03:18.678Z","2026.8.24":"2026-08-24T17:32:45.627Z","2026.8.25":"2026-08-25T15:29:34.475Z","2026.8.26":"2026-08-26T06:01:03.863Z","2026.8.26-2":"2026-08-26T11:44:17.670Z","2026.8.27":"2026-08-27T08:23:28.787Z","2026.8.28":"2026-08-28T05:13:49.465Z","2026.8.28-2":"2026-08-28T22:52:42.047Z","2026.8.29":"2026-08-29T05:09:55.593Z","2026.8.30":"2026-08-30T09:18:12.073Z","2026.8.30-2":"2026-08-30T13:08:22.312Z","2026.8.30-3":"2026-08-30T16:46:24.407Z","2026.8.31":"2026-08-31T11:15:00.743Z","2026.9.2":"2026-09-02T01:52:29.330Z","2026.9.2-3":"2026-09-02T09:01:54.311Z","2026.9.2-4":"2026-09-02T10:28:08.623Z","2026.9.3":"2026-09-03T00:47:44.619Z","2026.9.3-2":"2026-09-03T05:57:46.844Z","2026.9.3-3":"2026-09-03T11:19:58.620Z","2026.9.4":"2026-09-04T02:37:15.557Z","2026.9.4-2":"2026-09-04T06:56:41.819Z","2026.9.4-3":"2026-09-04T13:22:43.000Z","2026.9.5":"2026-09-05T09:49:14.677Z","2026.9.5-2":"2026-09-05T14:11:04.868Z","2026.9.5-3":"2026-09-05T14:26:01.100Z","2026.9.6":"2026-09-06T17:43:17.765Z","2026.9.7":"2026-09-07T03:26:17.342Z","2026.9.7-2":"2026-09-07T16:59:23.046Z","2026.9.8":"2026-09-08T17:39:20.315Z","2026.9.9":"2026-09-09T02:49:19.843Z","2026.9.9-2":"2026-09-09T09:31:11.387Z","2026.9.10":"2026-09-10T11:07:30.987Z","2026.9.10-2":"2026-09-10T15:57:13.825Z","2026.9.11":"2026-09-11T16:56:51.355Z","2026.9.12":"2026-09-12T04:39:26.177Z","2026.9.12-2":"2026-09-12T06:27:27.578Z","2026.9.12-3":"2026-09-12T12:10:23.849Z","2026.9.13":"2026-09-13T01:23:35.523Z","2026.9.13-2":"2026-09-13T13:01:31.298Z","2026.9.15":"2026-09-15T08:09:09.840Z","2026.9.15-2":"2026-09-15T15:50:30.223Z","2026.9.16":"2026-09-16T02:43:33.401Z","2026.9.16-2":"2026-09-16T06:41:19.057Z","2026.9.16-3":"2026-09-16T09:22:23.083Z","2026.9.17":"2026-09-17T09:04:54.057Z","2026.9.17-2":"2026-09-17T15:59:34.262Z","2026.9.17-3":"2026-09-17T20:28:17.266Z","2026.9.17-4":"2026-09-18T00:03:44.622Z","2026.9.18":"2026-09-18T02:04:53.933Z","2026.9.18-2":"2026-09-18T02:44:49.822Z","2026.9.18-3":"2026-09-18T11:32:14.680Z","2026.9.18-4":"2026-09-18T18:55:17.718Z","2026.9.18-5":"2026-09-18T19:12:39.931Z","2026.9.18-6":"2026-09-18T23:16:33.378Z","2026.9.19":"2026-09-19T03:59:51.541Z","2026.9.19-2":"2026-09-19T05:01:52.646Z","2026.9.20":"2026-09-20T16:59:41.462Z","2026.9.21":"2026-09-21T08:28:47.349Z","2026.9.21-2":"2026-09-21T10:57:19.368Z","2026.9.22":"2026-09-21T16:53:06.963Z","2026.9.22-2":"2026-09-22T10:28:49.453Z","2026.9.22-3":"2026-09-22T17:46:30.464Z","2026.9.22-4":"2026-09-22T19:24:12.670Z","2026.9.23":"2026-09-23T02:35:10.239Z","2026.9.23-2":"2026-09-23T05:10:05.503Z","2026.9.23-3":"2026-09-23T09:00:46.771Z","2026.9.23-4":"2026-09-23T10:21:59.990Z","2026.9.23-5":"2026-09-23T13:46:34.728Z","2026.9.24":"2026-09-24T06:04:33.955Z","2026.9.24-2":"2026-09-24T13:45:48.298Z","2026.9.24-3":"2026-09-24T22:21:03.884Z","2026.9.25":"2026-09-25T05:04:03.144Z"},"bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"author":{"name":"Mario Zechner"},"license":"MIT","homepage":"https://github.com/code-yeongyu/senpi#readme","keywords":["coding-agent","ai","llm","cli","tui","agent"],"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/coding-agent"},"description":"Coding agent CLI with read, bash, edit, write tools and session management","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"readme":"<p align=\"center\">\n  <a href=\"https://pi.dev\">\n    <img alt=\"pi logo\" src=\"https://pi.dev/logo-auto.svg\" width=\"128\">\n  </a>\n</p>\n<p align=\"center\">\n  <a href=\"https://discord.com/invite/3cU7Bz4UPx\"><img alt=\"Discord\" src=\"https://img.shields.io/badge/discord-community-5865F2?style=flat-square&logo=discord&logoColor=white\" /></a>\n  <a href=\"https://www.npmjs.com/package/@earendil-works/pi-coding-agent\"><img alt=\"npm\" src=\"https://img.shields.io/npm/v/@earendil-works/pi-coding-agent?style=flat-square\" /></a>\n</p>\n\n> New issues and PRs from new contributors are auto-closed by default. Maintainers review auto-closed issues daily. See [CONTRIBUTING.md](../../CONTRIBUTING.md).\n>\n> Release, upgrade, dual-machine installation, verification, rollback, and maintenance:\n> [Senpi Release and Installation Guide](docs/release-guide.md).\n\n---\n\nPi is a minimal terminal coding harness. Adapt pi to your workflows, not the other way around, without having to fork and modify pi internals. Extend it with TypeScript [Extensions](#extensions), [Skills](#skills), [Prompt Templates](#prompt-templates), and [Themes](#themes). Put your extensions, skills, prompt templates, and themes in [Pi Packages](#pi-packages) and share them with others via npm or git.\n\nPi ships with powerful defaults but skips features like sub agents and plan mode. Instead, you can ask pi to build what you want or install a third party pi package that matches your workflow.\n\nPi runs in five modes: interactive, print or JSON, RPC for process integration, app-server for Codex-compatible app integrations, and an SDK for embedding in your own apps. See [openclaw/openclaw](https://github.com/openclaw/openclaw) for a real-world SDK integration.\n\n## Share your OSS coding agent sessions\n\nIf you use pi for open source work, please share your coding agent sessions.\n\nPublic OSS session data helps improve models, prompts, tools, and evaluations using real development workflows.\n\nFor the full explanation, see [this post on X](https://x.com/badlogicgames/status/2037811643774652911).\n\nTo publish sessions, use [`badlogic/pi-share-hf`](https://github.com/badlogic/pi-share-hf). Read its README.md for setup instructions. All you need is a Hugging Face account, the Hugging Face CLI, and `pi-share-hf`.\n\nYou can also watch [this video](https://x.com/badlogicgames/status/2041151967695634619), where I show how I publish my `pi-mono` sessions.\n\nI regularly publish my own `pi-mono` work sessions here:\n\n- [badlogicgames/pi-mono on Hugging Face](https://huggingface.co/datasets/badlogicgames/pi-mono)\n\n## Table of Contents\n\n- [Quick Start](#quick-start)\n- [Providers & Models](#providers--models)\n- [Interactive Mode](#interactive-mode)\n  - [Editor](#editor)\n  - [Commands](#commands)\n  - [Keyboard Shortcuts](#keyboard-shortcuts)\n  - [Message Queue](#message-queue)\n- [Sessions](#sessions)\n  - [Branching](#branching)\n  - [Compaction](#compaction)\n- [Settings](#settings)\n- [Context Files](#context-files)\n- [Customization](#customization)\n  - [Prompt Templates](#prompt-templates)\n  - [Skills](#skills)\n  - [Extensions](#extensions)\n  - [Themes](#themes)\n  - [Pi Packages](#pi-packages)\n- [Programmatic Usage](#programmatic-usage)\n- [Philosophy](#philosophy)\n- [CLI Reference](#cli-reference)\n\n---\n\n## Quick Start\n\n```bash\nnpm install -g --ignore-scripts @earendil-works/pi-coding-agent\n\n# Bun alternative\nbun add -g --ignore-scripts @earendil-works/pi-coding-agent\n```\n\n`--ignore-scripts` disables dependency lifecycle scripts during install. Pi does not require install scripts for normal npm installs.\n\nInstaller alternative:\n\n```bash\ncurl -fsSL https://pi.dev/install.sh | sh\n```\n\nAuthenticate with an API key:\n\n```bash\nexport ANTHROPIC_API_KEY=sk-ant-...\npi\n```\n\nOr use your existing subscription:\n\n```bash\npi\n/login  # Then select provider\n```\n\nThen just talk to pi. By default, pi gives the model four tools: `read`, `write`, `edit`, and `bash`. The model uses these to fulfill your requests. Add capabilities via [skills](#skills), [prompt templates](#prompt-templates), [extensions](#extensions), or [pi packages](#pi-packages).\n\n**Platform notes:** [Windows](docs/windows.md) | [Termux (Android)](docs/termux.md) | [tmux](docs/tmux.md) | [Terminal setup](docs/terminal-setup.md) | [Shell aliases](docs/shell-aliases.md)\n\n---\n\n## Providers & Models\n\nFor each built-in provider, pi maintains a list of tool-capable models. Configured provider catalogs refresh automatically; run `pi update --models` to force an immediate refresh. Authenticate via subscription (`/login`) or API key, then select any model from that provider via `/model` (or Ctrl+L). Press Ctrl+S in the model picker to save the highlighted model as the startup default.\n\n**Subscriptions:**\n- Anthropic Claude Pro/Max\n- OpenAI ChatGPT Plus/Pro (Codex)\n- GitHub Copilot\n\n**API keys:**\n- Anthropic\n- Ant Ling\n- OpenAI\n- Ollama Cloud\n- Azure OpenAI\n- DeepSeek\n- NVIDIA NIM\n- Google Gemini\n- Google Vertex\n- Amazon Bedrock\n- Mistral\n- Groq\n- Cerebras\n- Venice AI\n- Cloudflare AI Gateway\n- Cloudflare Workers AI\n- xAI\n- OpenRouter\n- Vercel AI Gateway\n- OpenGateway\n- ZAI Coding Plan (Global)\n- ZAI Coding Plan (China)\n- OpenCode Zen\n- OpenCode Go\n- Hugging Face\n- Fireworks\n- Together AI\n- Baseten\n- Kimi For Coding\n- MiniMax\n- Xiaomi MiMo\n- Xiaomi MiMo Token Plan (China)\n- Xiaomi MiMo Token Plan (Amsterdam)\n- Xiaomi MiMo Token Plan (Singapore)\n- Alibaba Token Plan\n\nPi also supports the llama.cpp router server. Configure it with `/login llama.cpp`, manage downloads and loaded models with `/llama`, then select a loaded model with `/model`. See [docs/llama-cpp.md](docs/llama-cpp.md) for setup and usage.\n\nSee [docs/providers.md](docs/providers.md) for other provider setup instructions.\n\n**Custom providers & models:** Add providers via `~/.pi/agent/models.json` if they speak a supported API (OpenAI, Anthropic, Google). For custom APIs or OAuth, use extensions. See [docs/models.md](docs/models.md) and [docs/custom-provider.md](docs/custom-provider.md).\n\n---\n\n## Interactive Mode\n\n<p align=\"center\"><img src=\"docs/images/interactive-mode.png\" alt=\"Interactive Mode\" width=\"600\"></p>\n\nThe interface from top to bottom:\n\n- **Startup header** - Shows shortcuts (`/hotkeys` for all), loaded AGENTS.md files, prompt templates, skills, and extensions\n- **Messages** - Your messages, assistant responses, tool calls and results, notifications, errors, and extension UI\n- **Editor** - Where you type; border color indicates thinking level and the border shows the streaming working indicator\n- **Footer** - Working directory, session name, total token/cache usage (`↑` input, `↓` output, `R` cache read, `W` cache write, `CH` latest cache hit rate), cost, context usage, current model. Totals include assistant responses, usage reported by tools, and summary generation.\n\nThe editor can be temporarily replaced by other UI, like built-in `/settings` or custom UI from extensions (e.g., a Q&A tool that lets the user answer model questions in a structured format). [Extensions](#extensions) can also replace the editor, add widgets above/below it, a status line, custom footer, or overlays.\n\n### Editor\n\n| Feature | How |\n|---------|-----|\n| File reference | Type `@` to fuzzy-search project files |\n| Path completion | Tab to complete paths |\n| Multi-line | Shift+Enter (or Ctrl+Enter on Windows Terminal) |\n| External editor | Ctrl+G opens `externalEditor`, `$VISUAL`, `$EDITOR`, Notepad on Windows, or `nano` elsewhere |\n| Clipboard | Ctrl+V to paste an image or text (Alt+V on Windows), or drag images onto terminal |\n| Bash commands | `!command` runs and sends output to LLM, `!!command` runs without sending |\n\nStandard editing keybindings for delete word, undo, etc. See [docs/keybindings.md](docs/keybindings.md).\n\n### Commands\n\nType `/` in the editor to trigger commands. [Extensions](#extensions) can register custom commands, [skills](#skills) are available as `/skill:name`, and [prompt templates](#prompt-templates) expand via `/templatename`.\n\n| Command | Description |\n|---------|-------------|\n| `/login`, `/logout` | Manage provider credentials |\n| [`/llama`](docs/llama-cpp.md) | Download, load, and unload llama.cpp router models |\n| `/model` | Switch models; Ctrl+S in the picker saves the startup default |\n| `/thinking` | Switch thinking level; Ctrl+S in the picker saves the startup default |\n| `/scoped-models` | Enable/disable models for Ctrl+P cycling |\n| `/settings` | Theme, message delivery, transport, and other preferences |\n| `/resume` | Pick from previous sessions |\n| `/new` | Start a new session |\n| `/rename [name]` | Rename the current session (`/name` is an alias) |\n| `/session` | Show session info (file, ID, messages, tokens, cost) |\n| `/tree` | Jump to any point in the session and continue from there |\n| `/trust` | Save project trust decision for future sessions (restart required) |\n| `/fork` | Create a new session from a previous user message |\n| `/clone` | Duplicate the current active branch into a new session |\n| `/compact [prompt]` | Manually compact context, optional custom instructions |\n| `/copy` | Copy last assistant message to clipboard |\n| `/export [file]` | Export session to HTML or JSONL file |\n| `/import <file>` | Import and resume a session from a JSONL file |\n| `/share` | Upload as private GitHub gist with shareable HTML link |\n| `/reload` | Reload keybindings, extensions, skills, prompts, themes, and context files |\n| `/hotkeys` | Show all keyboard shortcuts |\n| `/changelog` | Display version history |\n| `/quit`, `/exit` | Quit pi |\n\n### Keyboard Shortcuts\n\nSee `/hotkeys` for the full list. Customize via `~/.pi/agent/keybindings.json`. See [docs/keybindings.md](docs/keybindings.md).\n\n**Commonly used:**\n\n| Key | Action |\n|-----|--------|\n| Ctrl+C | Clear editor |\n| Ctrl+C twice | Quit |\n| Escape | Cancel/abort |\n| Escape twice | Open `/tree` |\n| Ctrl+L | Open model selector |\n| Ctrl+P / Shift+Ctrl+P | Cycle scoped models forward/backward |\n| Shift+Tab | Cycle thinking level |\n| Ctrl+O | Collapse/expand tool output |\n| Ctrl+T | Collapse/expand thinking blocks |\n| Ctrl+X | Copy the last assistant message; with fullscreen copy-on-select disabled, copy the active text selection |\n\n### Message Queue\n\nSubmit messages while the agent is working:\n\n- **Enter** queues a *steering* message, delivered after the current assistant turn finishes executing its tool calls\n- **Alt+Enter** queues a *follow-up* message, delivered only after the agent finishes all work\n- **Escape** aborts and restores queued messages to editor\n- **Alt+Up** retrieves queued messages back to editor\n\nOn Windows Terminal, `Alt+Enter` is fullscreen by default. Remap it in [docs/terminal-setup.md](docs/terminal-setup.md) so pi can receive the follow-up shortcut.\n\nConfigure delivery in [settings](docs/settings.md): `steeringMode` and `followUpMode` can be `\"one-at-a-time\"` (default, waits for response) or `\"all\"` (delivers all queued at once). `transport` selects provider transport preference (`\"sse\"`, `\"websocket\"`, or `\"auto\"`) for providers that support multiple transports.\n\n---\n\n## Sessions\n\nSessions are stored as JSONL files with a tree structure. Each entry has an `id` and `parentId`, enabling in-place branching without creating new files. See [docs/session-format.md](docs/session-format.md) for file format.\n\n### Management\n\nSessions auto-save to `~/.pi/agent/sessions/` organized by working directory.\n\n```bash\npi -c                  # Continue most recent session\npi -r                  # Browse and select from past sessions\npi --no-session        # Ephemeral mode (don't save)\npi --name \"my task\"    # Set session display name at startup\npi --session <path|id> # Use specific session file or ID\npi --fork <path|id>    # Fork specific session file or ID into a new session\n```\n\nUse `/session` in interactive mode to see the current session ID before reusing it with `--session <id>` or `--fork <id>`.\n\n### Branching\n\n**`/tree`** - Navigate the session tree in-place. Select any previous point, continue from there, and switch between branches. All history preserved in a single file.\n\n<p align=\"center\"><img src=\"docs/images/tree-view.png\" alt=\"Tree View\" width=\"600\"></p>\n\n- Search by typing, fold/unfold and jump between branches with Ctrl+←/Ctrl+→ or Alt+←/Alt+→, page with ←/→\n- Filter modes (Ctrl+O): default → no-tools → user-only → labeled-only → all\n- Press Ctrl+X to copy the selected message\n- Press Ctrl+E on an assistant response to edit it and continue from the edited copy\n- Press Shift+L to label entries as bookmarks and Shift+T to toggle label timestamps\n\n**`/fork`** - Create a new session file from a previous user message on the active branch. Opens a selector, copies the active path up to that point, and places the selected prompt in the editor for modification.\n\n**`/clone`** - Duplicate the current active branch into a new session file at the current position. The new session keeps the full active-path history and opens with an empty editor.\n\n**`--fork <path|id>`** - Fork an existing session file or partial session UUID directly from the CLI. This copies the full source session into a new session file in the current project.\n\n### Compaction\n\nLong sessions can exhaust context windows. Compaction summarizes older messages while keeping recent ones.\n\n**Manual:** `/compact` or `/compact <custom instructions>`\n\n**Automatic:** Enabled by default. Triggers on context overflow (recovers and retries) or when approaching the limit (proactive). Configure via `/settings` or `settings.json`.\n\nCompaction is lossy. The full history remains in the JSONL file; use `/tree` to revisit. Customize compaction behavior via [extensions](#extensions). See [docs/compaction.md](docs/compaction.md) for internals.\n\n---\n\n## Settings\n\nUse `/settings` to modify common options, or edit JSON files directly:\n\n| Location | Scope |\n|----------|-------|\n| `~/.pi/agent/settings.json` | Global (all projects) |\n| `.pi/settings.json` | Project (overrides global) |\n\nSee [docs/settings.md](docs/settings.md) for all options.\n\n### Permissions\n\nPi includes a built-in permission system for tool calls. The default preset is `full-access`, which allows tool calls without prompting. Use `permissionPreset` in settings or `--permission-preset` for stricter behavior:\n\n| Preset | Behavior |\n|--------|----------|\n| `full-access` | Allow all permission checks |\n| `workspace` | Allow read, list, grep, edit, and bash; ask for external-directory access |\n| `read-only` | Allow read, list, and grep; ask before edit, bash, and external-directory access |\n| `ask` | Prompt whenever no explicit rule matches |\n\n```json\n{\n  \"permissionPreset\": \"workspace\",\n  \"permission\": {\n    \"bash\": {\n      \"rm *\": \"deny\"\n    }\n  }\n}\n```\n\nExplicit `permission` rules override the selected preset. CLI overrides have the highest precedence:\n\n```bash\npi --permission-preset read-only\npi --permission-preset workspace --permission \"bash:rm *=deny\"\n```\n\nPermissions are confirmation policy, not a sandbox. Pi and its extensions still run with the permissions of the host process. Use containers, VMs, or a policy sandbox for isolation.\n\n### Project Trust\n\nOn interactive startup, pi asks before trusting a project folder that contains project-local settings, resources, or project `.agents/skills` and has no saved decision for the folder or a parent folder in `~/.pi/agent/trust.json`. Trusting a project allows pi to load `.pi/settings.json` and `.pi` resources, install missing project packages, and execute project extensions.\n\nBefore the trust decision, pi loads only context files, user/global extensions, and CLI `-e` extensions so they can handle the `project_trust` event. Project-local extensions, project package-managed extensions, and project settings are loaded only after the project is trusted. This split also applies when switching to a session from a different cwd whose trust has not been resolved in the current process.\n\nNon-interactive modes (`-p`, `--mode json`, and `--mode rpc`) do not show a trust prompt. Without an applicable saved trust decision, they use `defaultProjectTrust` from global settings: `ask` (default) and `never` ignore those project resources, while `always` trusts them. Pass `--approve`/`-a` or `--no-approve`/`-na` to override project trust for one run.\n\nIf no extension or saved decision applies, `defaultProjectTrust` controls the fallback behavior. Set it to `\"ask\"`, `\"always\"`, or `\"never\"` in `~/.pi/agent/settings.json`, or change it with `/settings`.\n\n`pi config` and package commands use the same project trust flow, except `pi update` never prompts. Pass `--approve` to trust project-local settings for one command or `--no-approve` to ignore them.\n\nUse `/trust` in interactive mode to save a project trust decision for future sessions, including trust for the immediate parent folder. It writes `~/.pi/agent/trust.json` only; the current session is not reloaded, so restart pi for changes to take effect.\n\n### Telemetry and update checks\n\nPi has two separate startup features:\n\n- **Update check:** fetches `https://pi.dev/api/latest-version` to check whether a newer Pi version exists. Disable it with `PI_SKIP_VERSION_CHECK=1`. Disabling update checks only turns off this check.\n- **Install/update telemetry:** after first install or a changelog-detected update, sends an anonymous version ping to `https://pi.dev/api/report-install`. This setting also controls optional provider attribution headers for OpenRouter, Cloudflare, and direct NVIDIA NIM requests. Opt out by setting `enableInstallTelemetry` to `false` in `settings.json`, or by setting `PI_TELEMETRY=0`. This does not disable update checks; Pi may still contact `pi.dev` for the latest version unless update checks are disabled or offline mode is enabled.\n\nUse `--offline` or `PI_OFFLINE=1` to disable all startup network operations described here, including update checks, package update checks, and install/update telemetry.\n\n---\n\n## Context Files\n\nPi loads `AGENTS.md` (or `CLAUDE.md`) at startup from:\n- `~/.pi/agent/AGENTS.md` (global)\n- Parent directories (walking up from cwd)\n- Current directory\n\nIf a directory contains `AGENTS.override.md`, Pi loads it instead of `AGENTS.md` or `CLAUDE.md` from that directory. Context files from other directories are still concatenated.\n\nUse for project instructions (`AGENTS.md`/`CLAUDE.md`), conventions, common commands. All matching files are concatenated.\n\nDisable context file loading with `--no-context-files` (or `-nc`).\n\n### System Prompt\n\nReplace the default system prompt with `.pi/SYSTEM.md` (project) or `~/.pi/agent/SYSTEM.md` (global). Append without replacing via `APPEND_SYSTEM.md`.\n\n---\n\n## Customization\n\n### Prompt Templates\n\nReusable prompts as Markdown files. Type `/name` to expand.\n\n```markdown\n<!-- ~/.pi/agent/prompts/review.md -->\nReview this code for bugs, security issues, and performance problems.\nFocus on: {{focus}}\n```\n\nPlace in `~/.pi/agent/prompts/`, `.pi/prompts/`, or a [pi package](#pi-packages) to share with others. See [docs/prompt-templates.md](docs/prompt-templates.md).\n\n### Skills\n\nOn-demand capability packages following the [Agent Skills standard](https://agentskills.io). Invoke via `/skill:name` or let the agent load them automatically.\n\n```markdown\n<!-- ~/.pi/agent/skills/my-skill/SKILL.md -->\n# My Skill\nUse this skill when the user asks about X.\n\n## Steps\n1. Do this\n2. Then that\n```\n\nPlace in `~/.pi/agent/skills/`, `~/.agents/skills/`, `.pi/skills/`, or `.agents/skills/` (from `cwd` up through parent directories) or a [pi package](#pi-packages) to share with others. See [docs/skills.md](docs/skills.md).\n\n### Extensions\n\n<p align=\"center\"><img src=\"docs/images/doom-extension.png\" alt=\"Doom Extension\" width=\"600\"></p>\n\nTypeScript modules that extend pi with custom tools, commands, keyboard shortcuts, event handlers, and UI components.\n\n```typescript\nexport default function (pi: ExtensionAPI) {\n  pi.registerTool({ name: \"deploy\", ... });\n  pi.registerCommand(\"stats\", { ... });\n  pi.on(\"tool_call\", async (event, ctx) => { ... });\n}\n```\n\nThe default export can also be `async`. pi waits for async extension factories before startup continues, which is useful for one-time initialization such as fetching remote model lists before calling `pi.registerProvider()`.\n\n**What's possible:**\n- Custom tools (or replace built-in tools entirely)\n- Sub-agents and plan mode\n- Custom compaction and summarization\n- Builtin command hooks for local guardrails\n- Permission gates and path protection\n- Custom editors and UI components\n- Status lines, headers, footers\n- Git checkpointing and auto-commit\n- SSH and sandbox execution\n- MCP server integration\n- Make pi look like Claude Code\n- Games while waiting (yes, Doom runs)\n- ...anything you can dream up\n\nPlace in `~/.pi/agent/extensions/`, `.pi/extensions/`, or a [pi package](#pi-packages) to share with others. See [docs/extensions.md](docs/extensions.md), [Builtin Hooks](docs/extensions.md#builtin-hooks), and [examples/extensions/](examples/extensions/).\n\n### Themes\n\nBuilt-in: `dark`, `light`. Themes hot-reload: modify the active theme file and pi immediately applies changes.\n\nPlace in `~/.pi/agent/themes/`, `.pi/themes/`, or a [pi package](#pi-packages) to share with others. See [docs/themes.md](docs/themes.md).\n\n### Pi Packages\n\nBundle and share extensions, skills, prompts, and themes via npm or git. Find packages on [npmjs.com](https://www.npmjs.com/search?q=keywords%3Api-package) or [Discord](https://discord.com/channels/1456806362351669492/1457744485428629628).\n\n> **Security:** Pi packages run with full system access. Extensions execute arbitrary code, and skills can instruct the model to perform any action including running executables. Review source code before installing third-party packages.\n\n```bash\npi install npm:@foo/pi-tools\npi install npm:@foo/pi-tools@1.2.3      # pinned version\npi install git:github.com/user/repo\npi install git:github.com/user/repo@v1  # tag or commit\npi install git:git@github.com:user/repo\npi install git:git@github.com:user/repo@v1  # tag or commit\npi install https://github.com/user/repo\npi install https://github.com/user/repo@v1      # tag or commit\npi install ssh://git@github.com/user/repo\npi install ssh://git@github.com/user/repo@v1    # tag or commit\npi remove npm:@foo/pi-tools\npi uninstall npm:@foo/pi-tools          # alias for remove\npi list\npi update                               # update pi only\npi update --all                         # update pi and packages\npi update --extensions                  # update packages only\npi update --models                      # refresh model catalogs only\npi update --self                        # update pi only\npi update --self --force                # reinstall pi even if current\npi update npm:@foo/pi-tools             # update one package\npi config                               # enable/disable extensions, skills, prompts, themes\n```\n\nPackages install to `~/.pi/agent/git/` (git) or `~/.pi/agent/npm/` (npm). Use `-l` for project-local installs (`.pi/git/`, `.pi/npm/`). Git `@ref` values are pinned tags or commits; pinned packages are skipped by `pi update --extensions` and `pi update --all`, so use `pi install git:host/user/repo@new-ref` to move an existing package to a new ref. Git packages install dependencies with `npm install --omit=dev` by default, so runtime deps must be listed under `dependencies`; when `npmCommand` is configured, git packages use plain `install` for compatibility with wrappers. If you use a Node version manager and want package installs to reuse a stable npm context, set `npmCommand` in `settings.json`, for example `[\"mise\", \"exec\", \"node@20\", \"--\", \"npm\"]`.\n\nCreate a package by adding a `pi` key to `package.json`:\n\n```json\n{\n  \"name\": \"my-pi-package\",\n  \"keywords\": [\"pi-package\"],\n  \"pi\": {\n    \"extensions\": [\"./extensions\"],\n    \"skills\": [\"./skills\"],\n    \"prompts\": [\"./prompts\"],\n    \"themes\": [\"./themes\"]\n  }\n}\n```\n\nWithout a `pi` manifest, pi auto-discovers from conventional directories (`extensions/`, `skills/`, `prompts/`, `themes/`).\n\nSee [docs/packages.md](docs/packages.md).\n\n---\n\n## Programmatic Usage\n\n### SDK\n\n```typescript\nimport { createAgentSession, ModelRuntime, SessionManager } from \"@earendil-works/pi-coding-agent\";\n\nconst modelRuntime = await ModelRuntime.create();\nconst { session } = await createAgentSession({\n  sessionManager: SessionManager.inMemory(),\n  modelRuntime,\n});\n\nawait session.prompt(\"What files are in the current directory?\");\n```\n\nFor advanced multi-session runtime replacement, use `createAgentSessionRuntime()` and `AgentSessionRuntime`.\n\nSee [docs/sdk.md](docs/sdk.md) and [examples/sdk/](examples/sdk/).\n\n### RPC Mode\n\nFor non-Node.js integrations, use RPC mode over stdin/stdout:\n\n```bash\npi --mode rpc\n```\n\nRPC mode uses strict LF-delimited JSONL framing. Clients must split records on `\\n` only. Do not use generic line readers like Node `readline`, which also split on Unicode separators inside JSON payloads. For concurrent clients, use the shared Unix-socket host (`--listen <path-or-unix-url>`); `ensureHost()` provides attach-compatible startup and handshake semantics, with lifecycle supervision for hosts it starts.\n\nSee [docs/rpc.md](docs/rpc.md) for the protocol, socket host, and lifecycle details.\n\n### App Server Mode\n\nFor Codex-compatible app or editor integrations, use app-server mode over authenticated loopback websocket or stdio:\n\n```bash\nsenpi app-server --listen ws://127.0.0.1:18990\n```\n\nSee [docs/app-server.md](docs/app-server.md) for activation, framing, and method coverage.\n\n---\n\n## Philosophy\n\nPi is aggressively extensible so it doesn't have to dictate your workflow. Features that other tools bake in can be built with [extensions](#extensions), [skills](#skills), or installed from third-party [pi packages](#pi-packages). This keeps the core minimal while letting you shape pi to fit how you work.\n\n**MCP as a builtin extension, not core.** Upstream pi ships no MCP ([why?](https://mariozechner.at/posts/2025-11-02-what-if-you-dont-need-mcp/)); this fork adds MCP support as a builtin extension — configure servers under `mcpServers` and manage them with `/mcp`. Prefer CLI tools with READMEs (see [Skills](#skills)) when they fit; MCP is there when a server is the right integration.\n\n**No sub-agents.** There's many ways to do this. Spawn pi instances via tmux, or build your own with [extensions](#extensions), or install a package that does it your way.\n\n**Permission presets, not a sandbox.** Use the built-in permission presets for tool-call confirmation policy. Run in a container or VM when you need an actual isolation boundary.\n\n**No plan mode.** Write plans to files, or build it with [extensions](#extensions), or install a package.\n\n**No built-in to-dos.** They confuse models. Use a TODO.md file, or build your own with [extensions](#extensions).\n\n**No background bash.** Use tmux. Full observability, direct interaction.\n\nRead the [blog post](https://mariozechner.at/posts/2025-11-30-pi-coding-agent/) for the full rationale.\n\n---\n\n## CLI Reference\n\n```bash\npi [options] [@files...] [messages...]\n```\n\n### Package Commands\n\n```bash\npi install <source> [-l]     # Install package, -l for project-local\npi remove <source> [-l]      # Remove package\npi uninstall <source> [-l]   # Alias for remove\npi update [source|self|pi]   # Update pi only, or one package source\npi update --all              # Update pi and packages\npi update --extensions       # Update packages only\npi update --models           # Refresh model catalogs only\npi update --self             # Update pi only\npi update --self --force     # Reinstall pi even if current\npi update --extension <src>  # Update one package\npi list                      # List installed packages\npi config                    # Enable/disable package resources\n```\n\n`pi config` and project package commands accept `--approve`/`--no-approve` to trust or ignore project-local settings for one command. `pi update` never prompts for project trust.\n\n### Modes\n\n| Flag | Description |\n|------|-------------|\n| (default) | Interactive mode |\n| `-p`, `--print` | Print response and exit |\n| `--mode json` | Output all events as JSON lines (see [docs/json.md](docs/json.md)) |\n| `--mode rpc` | RPC mode for process integration; add `--listen` for the shared multi-session socket host (see [docs/rpc.md](docs/rpc.md)) |\n| `app-server` | Codex-compatible app-server integration (see [docs/app-server.md](docs/app-server.md)) |\n| `--export <in> [out]` | Export session to HTML |\n\nIn print mode, pi also reads piped stdin and merges it into the initial prompt:\n\n```bash\ncat README.md | pi -p \"Summarize this text\"\n```\n\n### Model Options\n\n| Option | Description |\n|--------|-------------|\n| `--provider <name>` | Provider (anthropic, openai, google, etc.) |\n| `--model <pattern>` | Model pattern or ID (supports `provider/id` and optional `:<thinking>`) |\n| `--api-key <key>` | API key (overrides env vars) |\n| `--thinking <level>` | `off`, `minimal`, `low`, `medium`, `high`, `xhigh`, `max` |\n| `--models <patterns>` | Comma-separated patterns for Ctrl+P cycling |\n| `--list-models [search]` | List available models |\n\n### Session Options\n\n| Option | Description |\n|--------|-------------|\n| `-c`, `--continue` | Continue most recent session |\n| `-r`, `--resume` | Browse and select session |\n| `--session <path\\|id>` | Use specific session file or partial UUID |\n| `--fork <path\\|id>` | Fork specific session file or partial UUID into a new session |\n| `--session-dir <dir>` | Custom session storage directory |\n| `--no-session` | Ephemeral mode (don't save) |\n| `--name <name>`, `-n <name>` | Set session display name at startup |\n\n### Tool Options\n\n| Option | Description |\n|--------|-------------|\n| `--tools <list>`, `-t <list>` | Allowlist specific tool names across built-in, extension, and custom tools |\n| `--exclude-tools <list>`, `-xt <list>` | Disable specific tool names across built-in, extension, and custom tools |\n| `--permission-preset <preset>` | Set permission preset: `full-access`, `workspace`, `read-only`, or `ask` |\n| `--permission <rules>` | Add permission rules, e.g. `bash:rm *=deny` or `edit=ask` |\n| `--no-builtin-tools`, `-nbt` | Disable built-in tools by default but keep extension/custom tools enabled |\n| `--no-tools`, `-nt` | Disable all tools by default |\n\nAvailable built-in tools: `read`, `bash`, `edit`, `write`, `grep`, `find`, `ls`\n\n### Resource Options\n\n| Option | Description |\n|--------|-------------|\n| `-e`, `--extension <source>` | Load extension from path, npm, or git (repeatable) |\n| `--no-extensions` | Disable extension discovery |\n| `--skill <path>` | Load skill (repeatable) |\n| `--no-skills` | Disable skill discovery |\n| `--prompt-template <path>` | Load prompt template (repeatable) |\n| `--no-prompt-templates` | Disable prompt template discovery |\n| `--theme <path>` | Load theme (repeatable) |\n| `--no-themes` | Disable theme discovery |\n| `--no-context-files`, `-nc` | Disable AGENTS.md and CLAUDE.md context file discovery |\n\nCombine `--no-*` with explicit flags to load exactly what you need, ignoring settings.json (e.g., `--no-extensions -e ./my-ext.ts`).\n\n### Other Options\n\n| Option | Description |\n|--------|-------------|\n| `--system-prompt <text>` | Replace default prompt (context files and skills still appended) |\n| `--append-system-prompt <text>` | Append to system prompt |\n| `--tui-mode <mode>` | TUI mode: `regular` (default) or experimental `fullscreen` |\n| `--use-theme <name[/name]>` | Set the initial interactive theme for this run without changing settings |\n| `--verbose` | Force verbose startup |\n| `-a`, `--approve` | Trust project-local files for this run |\n| `-na`, `--no-approve` | Ignore project-local files for this run |\n| `-h`, `--help` | Show help |\n| `-v`, `--version` | Show version |\n\n### File Arguments\n\nPrefix files with `@` to include in the message:\n\n```bash\npi @prompt.md \"Answer this\"\npi -p @screenshot.png \"What's in this image?\"\npi @code.ts @test.ts \"Review these files\"\n```\n\n### Examples\n\n```bash\n# Interactive with initial prompt\npi \"List all .ts files in src/\"\n\n# Non-interactive\npi -p \"Summarize this codebase\"\n\n# Non-interactive with piped stdin\ncat README.md | pi -p \"Summarize this text\"\n\n# Named one-shot session\npi --name \"release audit\" -p \"Audit this repository\"\n\n# Different model\npi --provider openai --model gpt-4o \"Help me refactor\"\n\n# Model with provider prefix (no --provider needed)\npi --model openai/gpt-4o \"Help me refactor\"\n\n# Model with thinking level shorthand\npi --model sonnet:high \"Solve this complex problem\"\n\n# Limit model cycling\npi --models \"claude-*,gpt-4o\"\n\n# Read-only mode\npi --tools read,grep,find,ls -p \"Review the code\"\n\n# Disable one extension or built-in tool while keeping the rest available\npi --exclude-tools ask_question\n\n# High thinking level\npi --thinking high \"Solve this complex problem\"\n```\n\n### Environment Variables\n\n| Variable | Description |\n|----------|-------------|\n| `AI_AGENT` | Set to `pi` by the CLI and RPC entry points so generic tooling can attribute child processes to Pi |\n| `PI_CODING_AGENT` | Set to `true` by the CLI and RPC entry points so child processes can detect that they run inside Pi |\n| `PI_CODING_AGENT_DIR` | Override config directory (default: `~/.pi/agent`) |\n| `PI_CODING_AGENT_SESSION_DIR` | Override session storage directory (overridden by `--session-dir`) |\n| `PI_PACKAGE_DIR` | Override package directory (useful for Nix/Guix where store paths tokenize poorly) |\n| `PI_OFFLINE` | Disable startup network operations, including update checks, package update checks, and install/update telemetry |\n| `PI_SKIP_VERSION_CHECK` | Skip the Pi version update check at startup. This prevents the `pi.dev` latest-version request |\n| `PI_TELEMETRY` | Override install/update telemetry and provider attribution headers. Use `1`/`true`/`yes` to enable or `0`/`false`/`no` to disable. This does not disable update checks |\n| `PI_CACHE_RETENTION` | Set to `long` for extended prompt cache (Anthropic: 1h, OpenAI: 24h) |\n| `PI_RULES_DISABLED` | Disable the built-in rules extension when set to `1`, `true`, `yes`, or `on` (case-insensitive) |\n| `PI_RULES_MAX_RULE_CHARS` | Set the positive-integer character cap for each formatted rule payload (default: `12000`) |\n| `PI_RULES_MAX_RESULT_CHARS` | Set the positive-integer character cap for each complete static or dynamic rules block (default: `40000`) |\n| `VISUAL`, `EDITOR` | Fallback external editor for Ctrl+G when `externalEditor` is unset; defaults to Notepad on Windows and `nano` elsewhere |\n\nRules limits are resolved when the built-in extension is registered. Empty,\nzero, negative, fractional, partially numeric, scientific, hexadecimal,\nsigned, non-ASCII-digit, and unsafe-integer values preserve the documented\ndefaults.\n\nCommands run by the LLM-callable bash tool also receive current session metadata:\n\n| Variable | Description |\n|----------|-------------|\n| `PI_SESSION_ID` | Current session ID |\n| `PI_SESSION_FILE` | Absolute session JSONL path; unset for ephemeral sessions |\n| `PI_SESSION_CWD` | Current session working directory |\n| `PI_GOAL_STORE_FILE` | Absolute session goal-store path, including in-memory sessions; the file need not exist yet |\n| `PI_PROVIDER` | Currently selected model provider |\n| `PI_MODEL` | Currently selected model ID |\n| `PI_REASONING_LEVEL` | Current effective reasoning level |\n\nThese values are resolved when each command starts, including terminal-extension PTY bash. Eval kernels snapshot them at kernel start and pass them to their children. See [Environment Variables](docs/environment-variables.md#shell-tool-session-environment) for semantics, examples, and custom-tool opt-out.\n\n---\n\n## Contributing & Development\n\nSee [CONTRIBUTING.md](../../CONTRIBUTING.md) for guidelines and [docs/development.md](docs/development.md) for setup, forking, and debugging.\n\n## License\n\nMIT\n\n## See Also\n\n- [@earendil-works/pi-ai](https://www.npmjs.com/package/@earendil-works/pi-ai): Core LLM toolkit\n- [@earendil-works/pi-agent-core](https://www.npmjs.com/package/@earendil-works/pi-agent-core): Agent framework\n- [@earendil-works/pi-tui](https://www.npmjs.com/package/@earendil-works/pi-tui): Terminal UI components\n\n<p align=\"center\">\n  <a href=\"https://pi.dev\">pi.dev</a> domain graciously donated by\n  <br /><br />\n  <a href=\"https://exe.dev\"><img src=\"docs/images/exy.png\" alt=\"Exy mascot\" width=\"48\" /><br />exe.dev</a>\n</p>\n","readmeFilename":"README.md"}