{"_id":"@code-yeongyu/senpi-codemode","_rev":"107-123739fdb9ee80f5f1face75a65b266a","name":"@code-yeongyu/senpi-codemode","dist-tags":{"latest":"2026.9.19-2"},"versions":{"2026.7.25-2":{"name":"@code-yeongyu/senpi-codemode","version":"2026.7.25-2","keywords":["senpi","pi","extension","codemode"],"author":{"name":"Yeongyu Kim"},"license":"MIT","_id":"@code-yeongyu/senpi-codemode@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"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"bbcf89053da91500506570baa665aec6d9810db4","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi-codemode/-/senpi-codemode-2026.7.25-2.tgz","fileCount":63,"integrity":"sha512-gzKD1YdLtcPIXjyv0qM5QgNy+YkMVRfOP1lSDOMDwgiLtljzaRlJw9wBkTQoabyMPbszyzB8u5aYZ6hAfLeqIA==","signatures":[{"sig":"MEQCIGcouE7Z77ko6Mf5ArrfJmX/Q8fgYR4/HXANjKRE5jeOAiBeVapEOBEPiMqj0PSppDwaOJlYfyiciY4ZZeR9i1FVcw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":369836},"main":"./src/index.ts","type":"module","types":"./src/index.ts","engines":{"node":">=24.0.0"},"exports":{".":"./src/index.ts","./package.json":"./package.json"},"scripts":{"test":"npx tsx ../../node_modules/vitest/dist/cli.js --run test/","build":"node -e \"\"","clean":"node -e \"\""},"_npmUser":{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/senpi-codemode"},"_npmVersion":"11.17.0","description":"Source-only senpi extension package for codemode evaluation tools","directories":{},"_nodeVersion":"26.5.0","dependencies":{"typebox":"1.1.38","@babel/parser":"7.29.7","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@^2026.7.25-2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@code-yeongyu/senpi":"2026.7.25-2"},"peerDependencies":{"@code-yeongyu/senpi":"*"},"_npmOperationalInternal":{"tmp":"tmp/senpi-codemode_2026.7.25-2_1785050474340_0.9639837398069799","host":"s3://npm-registry-packages-npm-production"}},"2026.7.26":{"name":"@code-yeongyu/senpi-codemode","version":"2026.7.26","keywords":["senpi","pi","extension","codemode"],"author":{"name":"Yeongyu Kim"},"license":"MIT","_id":"@code-yeongyu/senpi-codemode@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"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"fe7d3642606814c1b594399e7c5ffa2e97bbcd67","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi-codemode/-/senpi-codemode-2026.7.26.tgz","fileCount":64,"integrity":"sha512-EmdoKaya58F4rLj7F4NhDcOFdf+AQ6lXfRgnt6hW7UmQhaoJneOBpzyviP6T/vBnMUJy2ifkm9YOHTgifxM7nw==","signatures":[{"sig":"MEQCIE45l6f80Cva2YPNz9uKMTjK08HuaWt+wu58J4Tkbs+6AiBfQM5xh4G7iU1y/qqb3WCUP72bBFrvq/gy/HZ7gbsCuw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi-codemode@2026.7.26","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":390343},"main":"./src/index.ts","type":"module","types":"./src/index.ts","engines":{"node":">=24.0.0"},"exports":{".":"./src/index.ts","./package.json":"./package.json"},"scripts":{"test":"npx tsx ../../node_modules/vitest/dist/cli.js --run test/","build":"node -e \"\"","clean":"node -e \"\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b59e4503-db56-4e82-89c7-e80f7e094f2c"}},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/senpi-codemode"},"_npmVersion":"11.16.0","description":"Source-only senpi extension package for codemode evaluation tools","directories":{},"_nodeVersion":"24.18.0","dependencies":{"typebox":"1.1.38","@babel/parser":"7.29.7","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@^2026.7.26"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@code-yeongyu/senpi":"2026.7.26"},"peerDependencies":{"@code-yeongyu/senpi":"*"},"_npmOperationalInternal":{"tmp":"tmp/senpi-codemode_2026.7.26_1785090162800_0.9567700235982457","host":"s3://npm-registry-packages-npm-production"}},"2026.7.28":{"name":"@code-yeongyu/senpi-codemode","version":"2026.7.28","keywords":["senpi","pi","extension","codemode"],"author":{"name":"Yeongyu Kim"},"license":"MIT","_id":"@code-yeongyu/senpi-codemode@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"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"9b37a8d771f16502467e1370b5fd4c34e3eeaab8","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi-codemode/-/senpi-codemode-2026.7.28.tgz","fileCount":67,"integrity":"sha512-upFqtd1RB80LpzT8V5Jb/ZLi9wzAB2oY2ZLeGb7+MiSmrI5mva3ejzNmbX2RZ/rOdXHXdCo0MYOS+cdLnyZo1g==","signatures":[{"sig":"MEQCIEAZ2k+Ig95tswC3R8YRM35hidTpS2Gs/SVJWmvUMiRwAiB1X8YtnX/R4jSrn2vqZNxy27Nyzb6r5n5YSnNqmgrhmA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi-codemode@2026.7.28","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":403738},"main":"./src/index.ts","type":"module","types":"./src/index.ts","engines":{"node":">=24.0.0"},"exports":{".":"./src/index.ts","./package.json":"./package.json"},"scripts":{"test":"npx tsx ../../node_modules/vitest/dist/cli.js --run test/","build":"node -e \"\"","clean":"node -e \"\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b59e4503-db56-4e82-89c7-e80f7e094f2c"}},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/senpi-codemode"},"_npmVersion":"11.16.0","description":"Source-only senpi extension package for codemode evaluation tools","directories":{},"_nodeVersion":"24.18.0","dependencies":{"typebox":"1.1.38","@babel/parser":"7.29.7","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@^2026.7.28"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@code-yeongyu/senpi":"2026.7.28"},"peerDependencies":{"@code-yeongyu/senpi":"*"},"_npmOperationalInternal":{"tmp":"tmp/senpi-codemode_2026.7.28_1785248748013_0.9015605191488976","host":"s3://npm-registry-packages-npm-production"}},"2026.7.28-2":{"name":"@code-yeongyu/senpi-codemode","version":"2026.7.28-2","keywords":["senpi","pi","extension","codemode"],"author":{"name":"Yeongyu Kim"},"license":"MIT","_id":"@code-yeongyu/senpi-codemode@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"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"8663889fae13debeb6e9aa52b8c5a41b4dda92b7","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi-codemode/-/senpi-codemode-2026.7.28-2.tgz","fileCount":67,"integrity":"sha512-Dw7eiBHxu8/1u8Wj7BxDTwae7Qw+Phh8jk3SSItEal9wFS3v+lOmGZ9qMxhUW07Tq2DgLPHZT+jRMmAFWeVXDg==","signatures":[{"sig":"MEUCIQCvlmsTQ0Qknq9WYaEWnHp/TMSKeE1vF6rgacyyZB1lXAIgWqzhPaZZtqN4/t8gfsBra38fyZYr2bdaSaupO3WvSd4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi-codemode@2026.7.28-2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":404757},"main":"./src/index.ts","type":"module","types":"./src/index.ts","engines":{"node":">=24.0.0"},"exports":{".":"./src/index.ts","./package.json":"./package.json"},"scripts":{"test":"npx tsx ../../node_modules/vitest/dist/cli.js --run test/","build":"node -e \"\"","clean":"node -e \"\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b59e4503-db56-4e82-89c7-e80f7e094f2c"}},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/senpi-codemode"},"_npmVersion":"11.16.0","description":"Source-only senpi extension package for codemode evaluation tools","directories":{},"_nodeVersion":"24.18.0","dependencies":{"typebox":"1.1.38","@babel/parser":"7.29.7","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@^2026.7.28-2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@code-yeongyu/senpi":"2026.7.28-2"},"peerDependencies":{"@code-yeongyu/senpi":"*"},"_npmOperationalInternal":{"tmp":"tmp/senpi-codemode_2026.7.28-2_1785255752914_0.03405682780616548","host":"s3://npm-registry-packages-npm-production"}},"2026.7.28-3":{"name":"@code-yeongyu/senpi-codemode","version":"2026.7.28-3","keywords":["senpi","pi","extension","codemode"],"author":{"name":"Yeongyu Kim"},"license":"MIT","_id":"@code-yeongyu/senpi-codemode@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"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"77017525f2b7a1f500fbac25a0f59d7af36869fb","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi-codemode/-/senpi-codemode-2026.7.28-3.tgz","fileCount":69,"integrity":"sha512-GVI7VtkFPpeXj6DHmi4uwwWEQkLXL5uN7ZhB4J5+1LGmxsRckN2sepNOn0O7MVVpW29CMtVE7gfOUYGp7C61pA==","signatures":[{"sig":"MEYCIQDmz79dboKFdXzlQEBH8fZ8Pkn6KnqwJYewrWK7sq5WcQIhAJEY4miFRsOklItrjJXYourEfIpkyuwlOICxd5OLeQJu","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi-codemode@2026.7.28-3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":422017},"main":"./src/index.ts","type":"module","types":"./src/index.ts","engines":{"node":">=24.0.0"},"exports":{".":"./src/index.ts","./package.json":"./package.json"},"scripts":{"test":"npx tsx ../../node_modules/vitest/dist/cli.js --run test/","build":"node -e \"\"","clean":"node -e \"\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b59e4503-db56-4e82-89c7-e80f7e094f2c"}},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/senpi-codemode"},"_npmVersion":"11.16.0","description":"Source-only senpi extension package for codemode evaluation tools","directories":{},"_nodeVersion":"24.18.0","dependencies":{"typebox":"1.1.38","@babel/parser":"7.29.7","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@^2026.7.28-3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@code-yeongyu/senpi":"2026.7.28-3"},"peerDependencies":{"@code-yeongyu/senpi":"*"},"_npmOperationalInternal":{"tmp":"tmp/senpi-codemode_2026.7.28-3_1785258124694_0.7285994330248047","host":"s3://npm-registry-packages-npm-production"}},"2026.7.29":{"name":"@code-yeongyu/senpi-codemode","version":"2026.7.29","keywords":["senpi","pi","extension","codemode"],"author":{"name":"Yeongyu Kim"},"license":"MIT","_id":"@code-yeongyu/senpi-codemode@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"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"41e04ebbcdd97e0370ef1ac82b90b1894147a966","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi-codemode/-/senpi-codemode-2026.7.29.tgz","fileCount":70,"integrity":"sha512-HNrz4VW5Kk/g2Go2nYU6eyEZ4ZQ23f8GlNJxprpSprD/g2nEb277n6eGQTg20H9h3u4eYHVmjERI1j+UoHSezg==","signatures":[{"sig":"MEUCIGLvGNAVLJgLMqWWUfK16HawaoDJSC367BvrECuOXgXkAiEAmUxH/ti7mAkaGzNbm7hYCAmkbJYrcCFNlHOlAzvPQhE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi-codemode@2026.7.29","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":428398},"main":"./src/index.ts","type":"module","types":"./src/index.ts","engines":{"node":">=24.0.0"},"exports":{".":"./src/index.ts","./package.json":"./package.json"},"scripts":{"test":"npx tsx ../../node_modules/vitest/dist/cli.js --run test/","build":"node -e \"\"","clean":"node -e \"\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b59e4503-db56-4e82-89c7-e80f7e094f2c"}},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/senpi-codemode"},"_npmVersion":"11.16.0","description":"Source-only senpi extension package for codemode evaluation tools","directories":{},"_nodeVersion":"24.18.0","dependencies":{"typebox":"1.3.8","@babel/parser":"8.0.4","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@^2026.7.29"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@code-yeongyu/senpi":"2026.7.29"},"peerDependencies":{"@code-yeongyu/senpi":"*"},"_npmOperationalInternal":{"tmp":"tmp/senpi-codemode_2026.7.29_1785332319521_0.7008225619668382","host":"s3://npm-registry-packages-npm-production"}},"2026.7.29-3":{"name":"@code-yeongyu/senpi-codemode","version":"2026.7.29-3","keywords":["senpi","pi","extension","codemode"],"author":{"name":"Yeongyu Kim"},"license":"MIT","_id":"@code-yeongyu/senpi-codemode@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"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"bf7c2f8a97d966eedc2d985ac472352b440111ec","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi-codemode/-/senpi-codemode-2026.7.29-3.tgz","fileCount":70,"integrity":"sha512-BVimMPu3nFpplqFK5lyPVwyBlkzbV0ocYDppurp0/VJKKP8pZ1KG4anLyIxqVxgVlX4AdYUjXbkYPuW8QS27Zw==","signatures":[{"sig":"MEUCIHh8d3d3HuFlejEGV9U76pS8UBoAnJaxz6rWiCRPe2xYAiEAkpHDDfExSjbtRqpcy1OkuFOuN3GwO8up6Bt+b5iBvQ8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi-codemode@2026.7.29-3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":428606},"main":"./src/index.ts","type":"module","types":"./src/index.ts","engines":{"node":">=24.0.0"},"exports":{".":"./src/index.ts","./package.json":"./package.json"},"scripts":{"test":"npx tsx ../../node_modules/vitest/dist/cli.js --run test/","build":"node -e \"\"","clean":"node -e \"\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b59e4503-db56-4e82-89c7-e80f7e094f2c"}},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/senpi-codemode"},"_npmVersion":"11.16.0","description":"Source-only senpi extension package for codemode evaluation tools","directories":{},"_nodeVersion":"24.18.0","dependencies":{"typebox":"1.3.8","@babel/parser":"8.0.4","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@^2026.7.29-3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@code-yeongyu/senpi":"2026.7.29-3"},"peerDependencies":{"@code-yeongyu/senpi":"*"},"_npmOperationalInternal":{"tmp":"tmp/senpi-codemode_2026.7.29-3_1785346405348_0.17039229574225012","host":"s3://npm-registry-packages-npm-production"}},"2026.7.29-4":{"name":"@code-yeongyu/senpi-codemode","version":"2026.7.29-4","keywords":["senpi","pi","extension","codemode"],"author":{"name":"Yeongyu Kim"},"license":"MIT","_id":"@code-yeongyu/senpi-codemode@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"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"df8e11f06fc2beb4ce499d0ec622eec7f3b342c8","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi-codemode/-/senpi-codemode-2026.7.29-4.tgz","fileCount":70,"integrity":"sha512-t1Sf3VFpeakydta0h2KhWHTtKam21oVOx1v39SH8DaEIZGwbhczSd+HwW7FOLc5cVLsBGoW9cVG6QC2iD2aEsg==","signatures":[{"sig":"MEYCIQDiUGDZYrf7JjRzljvwoMLxzu29/vHnAMIvFqalReKevwIhALuMYKY1H0npga1oTvxEz0tvbbvs6dnhPP7+cN/+Z0DW","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi-codemode@2026.7.29-4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":428707},"main":"./src/index.ts","type":"module","types":"./src/index.ts","engines":{"node":">=24.0.0"},"exports":{".":"./src/index.ts","./package.json":"./package.json"},"scripts":{"test":"npx tsx ../../node_modules/vitest/dist/cli.js --run test/","build":"node -e \"\"","clean":"node -e \"\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b59e4503-db56-4e82-89c7-e80f7e094f2c"}},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/senpi-codemode"},"_npmVersion":"11.16.0","description":"Source-only senpi extension package for codemode evaluation tools","directories":{},"_nodeVersion":"24.18.0","dependencies":{"typebox":"1.3.8","@babel/parser":"8.0.4","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@^2026.7.29-4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@code-yeongyu/senpi":"2026.7.29-4"},"peerDependencies":{"@code-yeongyu/senpi":"*"},"_npmOperationalInternal":{"tmp":"tmp/senpi-codemode_2026.7.29-4_1785348515822_0.12496313255756286","host":"s3://npm-registry-packages-npm-production"}},"2026.7.29-5":{"name":"@code-yeongyu/senpi-codemode","version":"2026.7.29-5","keywords":["senpi","pi","extension","codemode"],"author":{"name":"Yeongyu Kim"},"license":"MIT","_id":"@code-yeongyu/senpi-codemode@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"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"f85c43f7c75b402abb9ce280482895c9acbc7ef5","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi-codemode/-/senpi-codemode-2026.7.29-5.tgz","fileCount":70,"integrity":"sha512-sOAt0eTuoIFTirUhe8vsgJJynFaJV9lO7zQnqDJ2Kzf2JMBivmBs1PU44R8Zuvv2aYdNpsbBISiCUXOCEWMfjw==","signatures":[{"sig":"MEUCIQCUpl1Vw1+2ZGmbFsJGma6lbcX9/5aiIbksZKxaubhSgQIgL9W1vlBvnhHPNzxdc2ER7ac1xJnN0SGuHMBB/PhUZ/Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi-codemode@2026.7.29-5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":428808},"main":"./src/index.ts","type":"module","types":"./src/index.ts","engines":{"node":">=24.0.0"},"exports":{".":"./src/index.ts","./package.json":"./package.json"},"scripts":{"test":"npx tsx ../../node_modules/vitest/dist/cli.js --run test/","build":"node -e \"\"","clean":"node -e \"\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b59e4503-db56-4e82-89c7-e80f7e094f2c"}},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/senpi-codemode"},"_npmVersion":"11.16.0","description":"Source-only senpi extension package for codemode evaluation tools","directories":{},"_nodeVersion":"24.18.0","dependencies":{"typebox":"1.3.8","@babel/parser":"8.0.4","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@^2026.7.29-5"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@code-yeongyu/senpi":"2026.7.29-5"},"peerDependencies":{"@code-yeongyu/senpi":"*"},"_npmOperationalInternal":{"tmp":"tmp/senpi-codemode_2026.7.29-5_1785354007259_0.28898958215489157","host":"s3://npm-registry-packages-npm-production"}},"2026.7.29-6":{"name":"@code-yeongyu/senpi-codemode","version":"2026.7.29-6","keywords":["senpi","pi","extension","codemode"],"author":{"name":"Yeongyu Kim"},"license":"MIT","_id":"@code-yeongyu/senpi-codemode@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"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"74568e6ca1063f420adabcaadc0f395cf3dfab50","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi-codemode/-/senpi-codemode-2026.7.29-6.tgz","fileCount":70,"integrity":"sha512-iBci9Neihf5BZPq3bq7YFgppBsYkgOJaxxdSK57h5kSi/dprPLsb78x3iZu31v25BdkBAcJ5LAOCc72oGyRXOQ==","signatures":[{"sig":"MEQCIDtztAVqNRIrDl3sWM9aOEOKz8JXYo8gKKIrlSEob0Y1AiA5FH4O9oYYk2f64ACAVoI0NusfAgR/HpB/W0eYtfu2cg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi-codemode@2026.7.29-6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":428909},"main":"./src/index.ts","type":"module","types":"./src/index.ts","engines":{"node":">=24.0.0"},"exports":{".":"./src/index.ts","./package.json":"./package.json"},"scripts":{"test":"npx tsx ../../node_modules/vitest/dist/cli.js --run test/","build":"node -e \"\"","clean":"node -e \"\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b59e4503-db56-4e82-89c7-e80f7e094f2c"}},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/senpi-codemode"},"_npmVersion":"11.16.0","description":"Source-only senpi extension package for codemode evaluation tools","directories":{},"_nodeVersion":"24.18.0","dependencies":{"typebox":"1.3.8","@babel/parser":"8.0.4","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@^2026.7.29-6"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@code-yeongyu/senpi":"2026.7.29-6"},"peerDependencies":{"@code-yeongyu/senpi":"*"},"_npmOperationalInternal":{"tmp":"tmp/senpi-codemode_2026.7.29-6_1785357002099_0.8294272518869419","host":"s3://npm-registry-packages-npm-production"}},"2026.7.30":{"name":"@code-yeongyu/senpi-codemode","version":"2026.7.30","keywords":["senpi","pi","extension","codemode"],"author":{"name":"Yeongyu Kim"},"license":"MIT","_id":"@code-yeongyu/senpi-codemode@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"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"e55ccb46cbe8b264570968dbcb2c96f60904d7d2","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi-codemode/-/senpi-codemode-2026.7.30.tgz","fileCount":70,"integrity":"sha512-Ziuqz6b9X33HmEgzzBaFCsglLeN9gZY/9yWahIxr/7gcybjJDVHFG3hC9frreUib5WH7DSTX4aM/GR6o3iJ8AA==","signatures":[{"sig":"MEUCIFNNj6nyWCyZGre1egETjpYR+GjZDrmyePzeIFlBPKLTAiEAi71ASsur1KfgH6T+Hc3mtQ12imWSRYtmLLsawze3Zyw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi-codemode@2026.7.30","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":429002},"main":"./src/index.ts","type":"module","types":"./src/index.ts","engines":{"node":">=24.0.0"},"exports":{".":"./src/index.ts","./package.json":"./package.json"},"scripts":{"test":"npx tsx ../../node_modules/vitest/dist/cli.js --run test/","build":"node -e \"\"","clean":"node -e \"\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b59e4503-db56-4e82-89c7-e80f7e094f2c"}},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/senpi-codemode"},"_npmVersion":"11.16.0","description":"Source-only senpi extension package for codemode evaluation tools","directories":{},"_nodeVersion":"24.18.0","dependencies":{"typebox":"1.3.8","@babel/parser":"8.0.4","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@^2026.7.30"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@code-yeongyu/senpi":"2026.7.30"},"peerDependencies":{"@code-yeongyu/senpi":"*"},"_npmOperationalInternal":{"tmp":"tmp/senpi-codemode_2026.7.30_1785387004304_0.5375418214172905","host":"s3://npm-registry-packages-npm-production"}},"2026.7.30-2":{"name":"@code-yeongyu/senpi-codemode","version":"2026.7.30-2","keywords":["senpi","pi","extension","codemode"],"author":{"name":"Yeongyu Kim"},"license":"MIT","_id":"@code-yeongyu/senpi-codemode@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"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"2df66ef63b1819324059db5f10c776cb8e5fe910","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi-codemode/-/senpi-codemode-2026.7.30-2.tgz","fileCount":70,"integrity":"sha512-QQcrP9Oa/YKOHt5jqohDzi6j8dbf48WBOHBr4IvODiguWfELFcXh5+JrH6OYWJ7ZBnL/B6uyTCBGj+0ynlkG2A==","signatures":[{"sig":"MEUCICV0kTE4s3Sk3mB85KaMJ+PF/YXmgcR9aZPvPr0ubwvOAiEAiac+ize6mXZtPK/L1sEdzjEjAJyK/gJkuOHGhjbaTz4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi-codemode@2026.7.30-2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":429109},"main":"./src/index.ts","type":"module","types":"./src/index.ts","engines":{"node":">=24.0.0"},"exports":{".":"./src/index.ts","./package.json":"./package.json"},"scripts":{"test":"npx tsx ../../node_modules/vitest/dist/cli.js --run test/","build":"node -e \"\"","clean":"node -e \"\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b59e4503-db56-4e82-89c7-e80f7e094f2c"}},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/senpi-codemode"},"_npmVersion":"11.16.0","description":"Source-only senpi extension package for codemode evaluation tools","directories":{},"_nodeVersion":"24.18.0","dependencies":{"typebox":"1.3.8","@babel/parser":"8.0.4","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@^2026.7.30-2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@code-yeongyu/senpi":"2026.7.30-2"},"peerDependencies":{"@code-yeongyu/senpi":"*"},"_npmOperationalInternal":{"tmp":"tmp/senpi-codemode_2026.7.30-2_1785463137239_0.5401837492502384","host":"s3://npm-registry-packages-npm-production"}},"2026.7.31":{"name":"@code-yeongyu/senpi-codemode","version":"2026.7.31","keywords":["senpi","pi","extension","codemode"],"author":{"name":"Yeongyu Kim"},"license":"MIT","_id":"@code-yeongyu/senpi-codemode@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"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"8fc436638108e86380c50d853ca566a9c6763fd1","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi-codemode/-/senpi-codemode-2026.7.31.tgz","fileCount":70,"integrity":"sha512-P0uCGnUdLrxmARm6+uvJiCdFWQTTHXE3AXrByJnwqauWy7C98aRIhS1ktVpIYeh9j7Y4g/sRQHtxgQbA7tz5bQ==","signatures":[{"sig":"MEYCIQCjyDkY4TSzmp2dKJybLTIrIEAi0BqhxO0NPy4sDYo0DQIhANI0z3tTQtR7P3G/REgqgVjR5WZH8R+7KhFmMRxP2wBL","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi-codemode@2026.7.31","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":429202},"main":"./src/index.ts","type":"module","types":"./src/index.ts","engines":{"node":">=24.0.0"},"exports":{".":"./src/index.ts","./package.json":"./package.json"},"scripts":{"test":"npx tsx ../../node_modules/vitest/dist/cli.js --run test/","build":"node -e \"\"","clean":"node -e \"\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b59e4503-db56-4e82-89c7-e80f7e094f2c"}},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/senpi-codemode"},"_npmVersion":"11.16.0","description":"Source-only senpi extension package for codemode evaluation tools","directories":{},"_nodeVersion":"24.18.0","dependencies":{"typebox":"1.3.8","@babel/parser":"8.0.4","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@^2026.7.31"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@code-yeongyu/senpi":"2026.7.31"},"peerDependencies":{"@code-yeongyu/senpi":"*"},"_npmOperationalInternal":{"tmp":"tmp/senpi-codemode_2026.7.31_1785464476134_0.4753088661251592","host":"s3://npm-registry-packages-npm-production"}},"2026.7.31-2":{"name":"@code-yeongyu/senpi-codemode","version":"2026.7.31-2","keywords":["senpi","pi","extension","codemode"],"author":{"name":"Yeongyu Kim"},"license":"MIT","_id":"@code-yeongyu/senpi-codemode@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"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"567bec349768fe084418d161b4c91faa69c9c08c","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi-codemode/-/senpi-codemode-2026.7.31-2.tgz","fileCount":71,"integrity":"sha512-xxJl4NUxn8c7ME+USrCHhSGNeBSPccYgPhRU4pmxsULtUxgrp9iR3ikS5mNhTqeuvXF1tQQaeHNs4GWDqTYivg==","signatures":[{"sig":"MEUCIQDBG3PNd9+pOrv/bYIbbEEqwM/vzuxbOxfx51JzZNeMJgIgEpkpjc966JLSPDSOrhDimykyWDWTJEijAAEzGbGcTyo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi-codemode@2026.7.31-2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":434291},"main":"./src/index.ts","type":"module","types":"./src/index.ts","engines":{"node":">=24.0.0"},"exports":{".":"./src/index.ts","./package.json":"./package.json"},"scripts":{"test":"npx tsx ../../node_modules/vitest/dist/cli.js --run test/","build":"node -e \"\"","clean":"node -e \"\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b59e4503-db56-4e82-89c7-e80f7e094f2c"}},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/senpi-codemode"},"_npmVersion":"11.16.0","description":"Source-only senpi extension package for codemode evaluation tools","directories":{},"_nodeVersion":"24.18.0","dependencies":{"typebox":"1.3.8","@babel/parser":"8.0.4","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@^2026.7.31-2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@code-yeongyu/senpi":"2026.7.31-2"},"peerDependencies":{"@code-yeongyu/senpi":"*"},"_npmOperationalInternal":{"tmp":"tmp/senpi-codemode_2026.7.31-2_1785491450478_0.04896826828044909","host":"s3://npm-registry-packages-npm-production"}},"2026.8.1":{"name":"@code-yeongyu/senpi-codemode","version":"2026.8.1","keywords":["senpi","pi","extension","codemode"],"author":{"name":"Yeongyu Kim"},"license":"MIT","_id":"@code-yeongyu/senpi-codemode@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"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"c4d004eacb20a4a1d20bf2205997c2789e97841b","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi-codemode/-/senpi-codemode-2026.8.1.tgz","fileCount":80,"integrity":"sha512-/HdeaBAOF9YoeHIe+O2x79hapxY5QzH8EcUkpqkNfcg+cVCmT4cXkkvSfs4RAx9Wnnb0Jww4rVpstMpjvklRWA==","signatures":[{"sig":"MEYCIQCFYpKy9lAMTOhD3dd0pRJGfBkBR1xpKuog41j6GCB0vQIhAJLJIodLkyEhyQJg31V1yMsCg12yIeTfoFwRmMx1OrQ2","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi-codemode@2026.8.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":442062},"main":"./src/index.ts","type":"module","types":"./src/index.ts","engines":{"node":">=24.0.0"},"exports":{".":"./src/index.ts","./package.json":"./package.json"},"scripts":{"test":"npx tsx ../../node_modules/vitest/dist/cli.js --run test/","build":"node -e \"\"","clean":"node -e \"\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b59e4503-db56-4e82-89c7-e80f7e094f2c"}},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/senpi-codemode"},"_npmVersion":"11.16.0","description":"Source-only senpi extension package for codemode evaluation tools","directories":{},"_nodeVersion":"24.18.0","dependencies":{"typebox":"1.3.8","@babel/parser":"8.0.4","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@^2026.8.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@code-yeongyu/senpi":"2026.8.1"},"peerDependencies":{"@code-yeongyu/senpi":"*"},"_npmOperationalInternal":{"tmp":"tmp/senpi-codemode_2026.8.1_1785568332347_0.12177390519725817","host":"s3://npm-registry-packages-npm-production"}},"2026.8.3":{"name":"@code-yeongyu/senpi-codemode","version":"2026.8.3","keywords":["senpi","pi","extension","codemode"],"author":{"name":"Yeongyu Kim"},"license":"MIT","_id":"@code-yeongyu/senpi-codemode@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"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"48abe1abecb3846e9ae84ea984a917cdca80b6a9","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi-codemode/-/senpi-codemode-2026.8.3.tgz","fileCount":80,"integrity":"sha512-pEtfrZbZyOLw2WjRAw2KkpJTfo8OcempIfOE2Y/XHpKzuH4iFYtwmaPUD5Z3LqmUabLz08SPbKvcj8ZR8BKdPw==","signatures":[{"sig":"MEYCIQCqKugMdDHJ9CJEVwtibdiywEp90YRvHXZwFlPREkqBVgIhANWEYHkB+HfQNwNGdCOLI2TJWw53GvUTimTfeYdtiXbx","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi-codemode@2026.8.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":442160},"main":"./src/index.ts","type":"module","types":"./src/index.ts","engines":{"node":">=24.0.0"},"exports":{".":"./src/index.ts","./package.json":"./package.json"},"scripts":{"test":"npx tsx ../../node_modules/vitest/dist/cli.js --run test/","build":"node -e \"\"","clean":"node -e \"\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b59e4503-db56-4e82-89c7-e80f7e094f2c"}},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/senpi-codemode"},"_npmVersion":"11.16.0","description":"Source-only senpi extension package for codemode evaluation tools","directories":{},"_nodeVersion":"24.18.0","dependencies":{"typebox":"1.3.8","@babel/parser":"8.0.4","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@^2026.8.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@code-yeongyu/senpi":"2026.8.3"},"peerDependencies":{"@code-yeongyu/senpi":"*"},"_npmOperationalInternal":{"tmp":"tmp/senpi-codemode_2026.8.3_1785740004274_0.34080968224912556","host":"s3://npm-registry-packages-npm-production"}},"2026.8.3-3":{"name":"@code-yeongyu/senpi-codemode","version":"2026.8.3-3","keywords":["senpi","pi","extension","codemode"],"author":{"name":"Yeongyu Kim"},"license":"MIT","_id":"@code-yeongyu/senpi-codemode@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"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"a5f1d4651366ea4dc2b8e2e5a046975ba284e59b","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi-codemode/-/senpi-codemode-2026.8.3-3.tgz","fileCount":80,"integrity":"sha512-3M6pZUgpXItuCpImBy10KzUrqGPLDlRNAcUMdLBPXgrRR8QGoCHaswx32oQJeDGrPsiAUexf+nDl6DiDJGiyeg==","signatures":[{"sig":"MEUCIQDaoerEUaKDtP2wJCVDptAFAYJqJT76ILb8KPKb9TcuAQIgBeKTxvkhPfdqOZvK1BDa8H6eVzmStrS6BBhfLHJ+lFU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi-codemode@2026.8.3-3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":442374},"main":"./src/index.ts","type":"module","types":"./src/index.ts","engines":{"node":">=24.0.0"},"exports":{".":"./src/index.ts","./package.json":"./package.json"},"scripts":{"test":"npx tsx ../../node_modules/vitest/dist/cli.js --run test/","build":"node -e \"\"","clean":"node -e \"\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b59e4503-db56-4e82-89c7-e80f7e094f2c"}},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/senpi-codemode"},"_npmVersion":"11.16.0","description":"Source-only senpi extension package for codemode evaluation tools","directories":{},"_nodeVersion":"24.18.0","dependencies":{"typebox":"1.3.8","@babel/parser":"8.0.4","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.8.3-3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@code-yeongyu/senpi":"2026.8.3-3"},"peerDependencies":{"@code-yeongyu/senpi":"2026.8.3-3"},"_npmOperationalInternal":{"tmp":"tmp/senpi-codemode_2026.8.3-3_1785751965098_0.027391369184310843","host":"s3://npm-registry-packages-npm-production"}},"2026.8.4":{"name":"@code-yeongyu/senpi-codemode","version":"2026.8.4","keywords":["senpi","pi","extension","codemode"],"author":{"name":"Yeongyu Kim"},"license":"MIT","_id":"@code-yeongyu/senpi-codemode@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"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"5cc142c8d99760696aa8259759e4918dd35ed2af","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi-codemode/-/senpi-codemode-2026.8.4.tgz","fileCount":80,"integrity":"sha512-7T1okYeDQV8pgZj1jDFf/1FKIZCWZty7mGCtm12OD3iCyE+82qS/Y5d0CQu4HQdf1qXQzSI3mDnB5xgkNrfCAw==","signatures":[{"sig":"MEQCICC+ikb7nQiCvOO5QsF89s1nO/bV3CCASNdCn6pt+EUcAiAxo2Y6cU4+paOPxtOmIaPmE5a327R7HSeUY0/ztiVKVQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi-codemode@2026.8.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":446309},"main":"./src/index.ts","type":"module","types":"./src/index.ts","engines":{"node":">=24.0.0"},"exports":{".":"./src/index.ts","./package.json":"./package.json"},"scripts":{"test":"npx tsx ../../node_modules/vitest/dist/cli.js --run test/","build":"node -e \"\"","clean":"node -e \"\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b59e4503-db56-4e82-89c7-e80f7e094f2c"}},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/senpi-codemode"},"_npmVersion":"11.16.0","description":"Source-only senpi extension package for codemode evaluation tools","directories":{},"_nodeVersion":"24.18.0","dependencies":{"typebox":"1.3.8","@babel/parser":"8.0.4","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.8.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@code-yeongyu/senpi":"2026.8.4"},"peerDependencies":{"@code-yeongyu/senpi":"2026.8.4"},"_npmOperationalInternal":{"tmp":"tmp/senpi-codemode_2026.8.4_1785836600336_0.8998713277497903","host":"s3://npm-registry-packages-npm-production"}},"2026.8.4-2":{"name":"@code-yeongyu/senpi-codemode","version":"2026.8.4-2","keywords":["senpi","pi","extension","codemode"],"author":{"name":"Yeongyu Kim"},"license":"MIT","_id":"@code-yeongyu/senpi-codemode@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"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"da9549228456fd0a4db85a89c9a52252c7418f06","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi-codemode/-/senpi-codemode-2026.8.4-2.tgz","fileCount":80,"integrity":"sha512-2rgCqP1tagWrMeRkJqhGJtfFrrSyetKNF+d3/l0oCFpLXIRF/2DgKqCEp2sB89GHU8qqOtax34aZw/VmOfwPTg==","signatures":[{"sig":"MEQCIDxJYhiOi36oesLf5N9JqX6QiKtpaP66nyD+xlR9rxekAiBQklSM+QKz8GVHHwzIPg3ACiyxlwIUGvgyqgv1M+xn3A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi-codemode@2026.8.4-2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":446417},"main":"./src/index.ts","type":"module","types":"./src/index.ts","engines":{"node":">=24.0.0"},"exports":{".":"./src/index.ts","./package.json":"./package.json"},"scripts":{"test":"npx tsx ../../node_modules/vitest/dist/cli.js --run test/","build":"node -e \"\"","clean":"node -e \"\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b59e4503-db56-4e82-89c7-e80f7e094f2c"}},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/senpi-codemode"},"_npmVersion":"11.16.0","description":"Source-only senpi extension package for codemode evaluation tools","directories":{},"_nodeVersion":"24.18.0","dependencies":{"typebox":"1.3.8","@babel/parser":"8.0.4","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.8.4-2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@code-yeongyu/senpi":"2026.8.4-2"},"peerDependencies":{"@code-yeongyu/senpi":"2026.8.4-2"},"_npmOperationalInternal":{"tmp":"tmp/senpi-codemode_2026.8.4-2_1785883602415_0.4013109655688769","host":"s3://npm-registry-packages-npm-production"}},"2026.8.5":{"name":"@code-yeongyu/senpi-codemode","version":"2026.8.5","keywords":["senpi","pi","extension","codemode"],"author":{"name":"Yeongyu Kim"},"license":"MIT","_id":"@code-yeongyu/senpi-codemode@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"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"8adc0708099eea3dc823110326f21d956755c09a","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi-codemode/-/senpi-codemode-2026.8.5.tgz","fileCount":80,"integrity":"sha512-+iT6+pX455204ahQPVEbLODs/wXcoqF0vYtXfps7DDNA43Vw578qaYgGR9Ipnc9I/tvH7efSpd1WWoTcO3wEfg==","signatures":[{"sig":"MEYCIQCyG3wf3RQEg53/tQNX+W/b+/ZFbeoz+wPdWmtFe4dZwQIhAKIYekRxanG9rs6qm1WKwMZHUZRB4pG8gZaxWMDQJ+49","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi-codemode@2026.8.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":446507},"main":"./src/index.ts","type":"module","types":"./src/index.ts","engines":{"node":">=24.0.0"},"exports":{".":"./src/index.ts","./package.json":"./package.json"},"scripts":{"test":"npx tsx ../../node_modules/vitest/dist/cli.js --run test/","build":"node -e \"\"","clean":"node -e \"\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b59e4503-db56-4e82-89c7-e80f7e094f2c"}},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/senpi-codemode"},"_npmVersion":"11.16.0","description":"Source-only senpi extension package for codemode evaluation tools","directories":{},"_nodeVersion":"24.18.0","dependencies":{"typebox":"1.3.8","@babel/parser":"8.0.4","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.8.5"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@code-yeongyu/senpi":"2026.8.5"},"peerDependencies":{"@code-yeongyu/senpi":"2026.8.5"},"_npmOperationalInternal":{"tmp":"tmp/senpi-codemode_2026.8.5_1785891704161_0.45622136908326016","host":"s3://npm-registry-packages-npm-production"}},"2026.8.5-2":{"name":"@code-yeongyu/senpi-codemode","version":"2026.8.5-2","keywords":["senpi","pi","extension","codemode"],"author":{"name":"Yeongyu Kim"},"license":"MIT","_id":"@code-yeongyu/senpi-codemode@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"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"4dde48d483d5c7be4e5a7b3cdfc0d4c881d32df7","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi-codemode/-/senpi-codemode-2026.8.5-2.tgz","fileCount":80,"integrity":"sha512-+W5FK9VuLY4zu8acgtYrJouBLcRTUmVujernEHXVbL9CluVYDRvI4uaHNf78vZZNzYxuLW1WnFiGfUy1q918CA==","signatures":[{"sig":"MEUCIH/idPcB3iiWuXbOjHUTa0kGeiaUA/DMObLKJGoNkoosAiEAiIxluzlZRrRqgNKtEaR1GsPPLgenbhCUEj7CtoNv9oA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi-codemode@2026.8.5-2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":446615},"main":"./src/index.ts","type":"module","types":"./src/index.ts","engines":{"node":">=24.0.0"},"exports":{".":"./src/index.ts","./package.json":"./package.json"},"scripts":{"test":"npx tsx ../../node_modules/vitest/dist/cli.js --run test/","build":"node -e \"\"","clean":"node -e \"\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b59e4503-db56-4e82-89c7-e80f7e094f2c"}},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/senpi-codemode"},"_npmVersion":"11.16.0","description":"Source-only senpi extension package for codemode evaluation tools","directories":{},"_nodeVersion":"24.18.0","dependencies":{"typebox":"1.3.8","@babel/parser":"8.0.4","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.8.5-2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@code-yeongyu/senpi":"2026.8.5-2"},"peerDependencies":{"@code-yeongyu/senpi":"2026.8.5-2"},"_npmOperationalInternal":{"tmp":"tmp/senpi-codemode_2026.8.5-2_1785904863185_0.6800401660891044","host":"s3://npm-registry-packages-npm-production"}},"2026.8.6":{"name":"@code-yeongyu/senpi-codemode","version":"2026.8.6","keywords":["senpi","pi","extension","codemode"],"author":{"name":"Yeongyu Kim"},"license":"MIT","_id":"@code-yeongyu/senpi-codemode@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"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"e1f1556896016e7ccb703da0bc49d0f948d01053","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi-codemode/-/senpi-codemode-2026.8.6.tgz","fileCount":80,"integrity":"sha512-BZyiQHeSjsUtLdIzfXKwYfpbsOH8719wIin5VW1hhZNSNLt8x4EUagUinKFPFa05o89C3Z2kBPdmKdXdzUM0TQ==","signatures":[{"sig":"MEQCIBCXkWcYgisEuSDJHuWyRdOIaozJzJfA2hASpCgKStJvAiARM4KKUzIppItCJ5LP3nIfuiKkwSFxyribF+Ta39v9NQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi-codemode@2026.8.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":446705},"main":"./src/index.ts","type":"module","types":"./src/index.ts","engines":{"node":">=24.0.0"},"exports":{".":"./src/index.ts","./package.json":"./package.json"},"scripts":{"test":"npx tsx ../../node_modules/vitest/dist/cli.js --run test/","build":"node -e \"\"","clean":"node -e \"\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b59e4503-db56-4e82-89c7-e80f7e094f2c"}},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/senpi-codemode"},"_npmVersion":"11.16.0","description":"Source-only senpi extension package for codemode evaluation tools","directories":{},"_nodeVersion":"24.18.0","dependencies":{"typebox":"1.3.8","@babel/parser":"8.0.4","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.8.6"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@code-yeongyu/senpi":"2026.8.6"},"peerDependencies":{"@code-yeongyu/senpi":"2026.8.6"},"_npmOperationalInternal":{"tmp":"tmp/senpi-codemode_2026.8.6_1785985398093_0.1433149126320974","host":"s3://npm-registry-packages-npm-production"}},"2026.8.7":{"name":"@code-yeongyu/senpi-codemode","version":"2026.8.7","keywords":["senpi","pi","extension","codemode"],"author":{"name":"Yeongyu Kim"},"license":"MIT","_id":"@code-yeongyu/senpi-codemode@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"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"3e88177cdac2f115c6f2963d02590e5a930477d2","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi-codemode/-/senpi-codemode-2026.8.7.tgz","fileCount":80,"integrity":"sha512-eQmIsaqCArFzRB67oHesYBTtcN1To98rb/AeBHRfqvIjD7OmtAzZ3V10srVYotyUAU6Mtq4G3Vpj+PkSZ/OdYw==","signatures":[{"sig":"MEQCIEhfynaCk5vPwYiPKsTT5hC3FsbKLpKsQqnyvjV5Kf/iAiBYM00raZTHHo/CTjqF4o9VIFt+Z/if1zY8yv9/1D3m7g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi-codemode@2026.8.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":447276},"main":"./src/index.ts","type":"module","types":"./src/index.ts","engines":{"node":">=24.0.0"},"exports":{".":"./src/index.ts","./package.json":"./package.json"},"scripts":{"test":"npx tsx ../../node_modules/vitest/dist/cli.js --run test/","build":"node -e \"\"","clean":"node -e \"\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b59e4503-db56-4e82-89c7-e80f7e094f2c"}},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/senpi-codemode"},"_npmVersion":"11.16.0","description":"Source-only senpi extension package for codemode evaluation tools","directories":{},"_nodeVersion":"24.18.0","dependencies":{"typebox":"1.3.8","@babel/parser":"8.0.4","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.8.7"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@code-yeongyu/senpi":"2026.8.7"},"peerDependencies":{"@code-yeongyu/senpi":"2026.8.7"},"_npmOperationalInternal":{"tmp":"tmp/senpi-codemode_2026.8.7_1786077918369_0.6892985137085961","host":"s3://npm-registry-packages-npm-production"}},"2026.8.9":{"name":"@code-yeongyu/senpi-codemode","version":"2026.8.9","keywords":["senpi","pi","extension","codemode"],"author":{"name":"Yeongyu Kim"},"license":"MIT","_id":"@code-yeongyu/senpi-codemode@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"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"4e2b33440476e6d7b152513d25d4ed941b554487","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi-codemode/-/senpi-codemode-2026.8.9.tgz","fileCount":81,"integrity":"sha512-jqgBC9oaJjOBSyQdQS1Fk+CkS10pwItOeXjMh6IOPcoU/ccLWEmO3dlCSlBHgRZwHCCxdcox0Hz+z0M2xyGrsg==","signatures":[{"sig":"MEUCIBiUV7tX3nU9e1oO+fCllSvBWdM/EDV1AkE4UcbbxG8aAiEAoCz+RmMtPNfL1kg1yq1BBD4BcQeDLHTEMwRViqkh0eA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi-codemode@2026.8.9","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":450917},"main":"./src/index.ts","type":"module","types":"./src/index.ts","engines":{"node":">=24.0.0"},"exports":{".":"./src/index.ts","./package.json":"./package.json"},"scripts":{"test":"npx tsx ../../node_modules/vitest/dist/cli.js --run test/","build":"node -e \"\"","clean":"node -e \"\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b59e4503-db56-4e82-89c7-e80f7e094f2c"}},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/senpi-codemode"},"_npmVersion":"11.16.0","description":"Source-only senpi extension package for codemode evaluation tools","directories":{},"_nodeVersion":"24.18.0","dependencies":{"typebox":"1.3.8","@babel/parser":"8.0.4","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.8.9"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@code-yeongyu/senpi":"2026.8.9"},"peerDependencies":{"@code-yeongyu/senpi":"2026.8.9"},"_npmOperationalInternal":{"tmp":"tmp/senpi-codemode_2026.8.9_1786264271333_0.030652349800435852","host":"s3://npm-registry-packages-npm-production"}},"2026.8.9-2":{"name":"@code-yeongyu/senpi-codemode","version":"2026.8.9-2","keywords":["senpi","pi","extension","codemode"],"author":{"name":"Yeongyu Kim"},"license":"MIT","_id":"@code-yeongyu/senpi-codemode@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"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"81154eae082a028d0225d44bdc389062ea9c1309","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi-codemode/-/senpi-codemode-2026.8.9-2.tgz","fileCount":81,"integrity":"sha512-6RaVdrFC6NCgaZkoPLXqhYTGOzm81ga2hw9lgVc2GfCRZmeV0Ox71Qc4zqvdprkxNOYx84dqp5IzsGTNRU0iyw==","signatures":[{"sig":"MEYCIQDEhC0kiJrXhPar7aDLSnH+J7LrYmPtaUQaLhJNzZJn6QIhAIjRryvubVnPxPb1pMwqkL2KuGJms7ZfMOQSDsBIfMpW","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi-codemode@2026.8.9-2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":451310},"main":"./src/index.ts","type":"module","types":"./src/index.ts","engines":{"node":">=24.0.0"},"exports":{".":"./src/index.ts","./package.json":"./package.json"},"scripts":{"test":"npx tsx ../../node_modules/vitest/dist/cli.js --run test/","build":"node -e \"\"","clean":"node -e \"\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b59e4503-db56-4e82-89c7-e80f7e094f2c"}},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/senpi-codemode"},"_npmVersion":"11.16.0","description":"Source-only senpi extension package for codemode evaluation tools","directories":{},"_nodeVersion":"24.18.0","dependencies":{"typebox":"1.3.8","@babel/parser":"8.0.4","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.8.9-2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@code-yeongyu/senpi":"2026.8.9-2"},"peerDependencies":{"@code-yeongyu/senpi":"2026.8.9-2"},"_npmOperationalInternal":{"tmp":"tmp/senpi-codemode_2026.8.9-2_1786284724616_0.6003236709974549","host":"s3://npm-registry-packages-npm-production"}},"2026.8.10":{"name":"@code-yeongyu/senpi-codemode","version":"2026.8.10","keywords":["senpi","pi","extension","codemode"],"author":{"name":"Yeongyu Kim"},"license":"MIT","_id":"@code-yeongyu/senpi-codemode@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"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"03f32e3142e5066b711ad5d1a992c41b58e67ba4","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi-codemode/-/senpi-codemode-2026.8.10.tgz","fileCount":81,"integrity":"sha512-DlRaSOQ80jsqcBnJzUkG54/CIlA1yaaGb1SiJyQ9joAXGs/58ekl3WvNlsLOb6dOCwC43Z8G3xbHS8ipEO5k2g==","signatures":[{"sig":"MEUCIQCBgkdqX7OdRZ65LirJYcXcFoQtElb7jJy3z1wCx/wXuAIgJ5RacN+RpIMFv0cYQEa5zqSMBW03MxTxW5bCtQQXp94=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi-codemode@2026.8.10","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":451405},"main":"./src/index.ts","type":"module","types":"./src/index.ts","engines":{"node":">=24.0.0"},"exports":{".":"./src/index.ts","./package.json":"./package.json"},"scripts":{"test":"npx tsx ../../node_modules/vitest/dist/cli.js --run test/","build":"node -e \"\"","clean":"node -e \"\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b59e4503-db56-4e82-89c7-e80f7e094f2c"}},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/senpi-codemode"},"_npmVersion":"11.16.0","description":"Source-only senpi extension package for codemode evaluation tools","directories":{},"_nodeVersion":"24.18.0","dependencies":{"typebox":"1.3.8","@babel/parser":"8.0.4","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.8.10"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@code-yeongyu/senpi":"2026.8.10"},"peerDependencies":{"@code-yeongyu/senpi":"2026.8.10"},"_npmOperationalInternal":{"tmp":"tmp/senpi-codemode_2026.8.10_1786330617844_0.0036283393707303713","host":"s3://npm-registry-packages-npm-production"}},"2026.8.11":{"name":"@code-yeongyu/senpi-codemode","version":"2026.8.11","keywords":["senpi","pi","extension","codemode"],"author":{"name":"Yeongyu Kim"},"license":"MIT","_id":"@code-yeongyu/senpi-codemode@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"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"1d4f8ea0ed42d7527abbd00c45c756740d04bb17","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi-codemode/-/senpi-codemode-2026.8.11.tgz","fileCount":81,"integrity":"sha512-zgEBpa5S+ZpHW0OIpwa8gCGtbI6409gVpPtjiJWEQvrLQI9Nt9o2cZU49wEFXsUG+TTizJuiPFbw2RLUo8Ttyg==","signatures":[{"sig":"MEQCIG+rNVqdsKv9x8kEmimwGJ/Xb0xSWTvnH77u01/yy4iNAiAW5lxon4rSuXRDaqNo8Bzniwvna2YBSUEMMPlT5jG1Eg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi-codemode@2026.8.11","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":451504},"main":"./src/index.ts","type":"module","types":"./src/index.ts","engines":{"node":">=24.0.0"},"exports":{".":"./src/index.ts","./package.json":"./package.json"},"scripts":{"test":"npx tsx ../../node_modules/vitest/dist/cli.js --run test/","build":"node -e \"\"","clean":"node -e \"\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b59e4503-db56-4e82-89c7-e80f7e094f2c"}},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/senpi-codemode"},"_npmVersion":"11.16.0","description":"Source-only senpi extension package for codemode evaluation tools","directories":{},"_nodeVersion":"24.18.0","dependencies":{"typebox":"1.3.8","@babel/parser":"8.0.4","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.8.11"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@code-yeongyu/senpi":"2026.8.11"},"peerDependencies":{"@code-yeongyu/senpi":"2026.8.11"},"_npmOperationalInternal":{"tmp":"tmp/senpi-codemode_2026.8.11_1786333257029_0.09599568814911397","host":"s3://npm-registry-packages-npm-production"}},"2026.8.11-2":{"name":"@code-yeongyu/senpi-codemode","version":"2026.8.11-2","keywords":["senpi","pi","extension","codemode"],"author":{"name":"Yeongyu Kim"},"license":"MIT","_id":"@code-yeongyu/senpi-codemode@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"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"11cc6fce756a1296edb8150cce6eba44a5755929","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi-codemode/-/senpi-codemode-2026.8.11-2.tgz","fileCount":81,"integrity":"sha512-b2yZ0Uat7GLqLHk2G3XrvXtmDUWXUZ2eJDWN9/c8ZMTaqDS0+DOU1LJNwh1m4DdHrBdHIIj2WZTfKkTg04zWYQ==","signatures":[{"sig":"MEUCIB/kZvEx0HTvPMlTborIihFOdI0E/JLopl1fx5rMNbTdAiEAwPjMvCJ0BExRoiqA6Sb1Ea85tuxNqOmg7EKAun+rMUI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi-codemode@2026.8.11-2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":451613},"main":"./src/index.ts","type":"module","types":"./src/index.ts","engines":{"node":">=24.0.0"},"exports":{".":"./src/index.ts","./package.json":"./package.json"},"scripts":{"test":"npx tsx ../../node_modules/vitest/dist/cli.js --run test/","build":"node -e \"\"","clean":"node -e \"\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b59e4503-db56-4e82-89c7-e80f7e094f2c"}},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/senpi-codemode"},"_npmVersion":"11.16.0","description":"Source-only senpi extension package for codemode evaluation tools","directories":{},"_nodeVersion":"24.18.0","dependencies":{"typebox":"1.3.8","@babel/parser":"8.0.4","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.8.11-2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@code-yeongyu/senpi":"2026.8.11-2"},"peerDependencies":{"@code-yeongyu/senpi":"2026.8.11-2"},"_npmOperationalInternal":{"tmp":"tmp/senpi-codemode_2026.8.11-2_1786344341911_0.22174188965340424","host":"s3://npm-registry-packages-npm-production"}},"2026.8.11-3":{"name":"@code-yeongyu/senpi-codemode","version":"2026.8.11-3","keywords":["senpi","pi","extension","codemode"],"author":{"name":"Yeongyu Kim"},"license":"MIT","_id":"@code-yeongyu/senpi-codemode@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"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"17552f30b7471f4caf0eb2362e726e4ca4c277bd","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi-codemode/-/senpi-codemode-2026.8.11-3.tgz","fileCount":81,"integrity":"sha512-AWK7qbPAZ+PB45AWGy1AtaGFKHGf6yF/YJHmD51/T5eoICZij9NWcpCeHSxnIzpxhF9F94HVz1qAS67ZcL8DjA==","signatures":[{"sig":"MEYCIQCVy5bRmXj+c37kFPO3NGxIqzoIMW+MipxYHLzE4XFPBgIhAKu0cavn9UPC2mUC/uv4q5MNz+oBcXTQHTstCn0A5FhB","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi-codemode@2026.8.11-3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":451714},"main":"./src/index.ts","type":"module","types":"./src/index.ts","engines":{"node":">=24.0.0"},"exports":{".":"./src/index.ts","./package.json":"./package.json"},"scripts":{"test":"npx tsx ../../node_modules/vitest/dist/cli.js --run test/","build":"node -e \"\"","clean":"node -e \"\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b59e4503-db56-4e82-89c7-e80f7e094f2c"}},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/senpi-codemode"},"_npmVersion":"11.16.0","description":"Source-only senpi extension package for codemode evaluation tools","directories":{},"_nodeVersion":"24.18.0","dependencies":{"typebox":"1.3.8","@babel/parser":"8.0.4","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.8.11-3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@code-yeongyu/senpi":"2026.8.11-3"},"peerDependencies":{"@code-yeongyu/senpi":"2026.8.11-3"},"_npmOperationalInternal":{"tmp":"tmp/senpi-codemode_2026.8.11-3_1786445143652_0.31723412784078464","host":"s3://npm-registry-packages-npm-production"}},"2026.8.11-4":{"name":"@code-yeongyu/senpi-codemode","version":"2026.8.11-4","keywords":["senpi","pi","extension","codemode"],"author":{"name":"Yeongyu Kim"},"license":"MIT","_id":"@code-yeongyu/senpi-codemode@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"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"ab837f563823943884871cbcb9c9bdcdcbe34bc7","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi-codemode/-/senpi-codemode-2026.8.11-4.tgz","fileCount":82,"integrity":"sha512-/wd0o4SGTOvYyyJ7T3h6xayiVFq4c7aywO0TT7U67thvMLIcC3bgqTCS50Ey5h4i7m6zvRXzJ6MjGBncYnmMlA==","signatures":[{"sig":"MEUCIEJR8VjLSnqndyjJozjVYBAx+uYxyD5GIIMUUeKiFaShAiEA+Mu+yUQ735lCq7oUn7PlzIx+r+5gU+CBoc2ZTqB9QJs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi-codemode@2026.8.11-4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":453726},"main":"./src/index.ts","type":"module","types":"./src/index.ts","engines":{"node":">=24.0.0"},"exports":{".":"./src/index.ts","./package.json":"./package.json"},"scripts":{"test":"npx tsx ../../node_modules/vitest/dist/cli.js --run test/","build":"node -e \"\"","clean":"node -e \"\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b59e4503-db56-4e82-89c7-e80f7e094f2c"}},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/senpi-codemode"},"_npmVersion":"11.16.0","description":"Source-only senpi extension package for codemode evaluation tools","directories":{},"_nodeVersion":"24.18.0","dependencies":{"typebox":"1.3.8","@babel/parser":"8.0.4","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.8.11-4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@code-yeongyu/senpi":"2026.8.11-4"},"peerDependencies":{"@code-yeongyu/senpi":"2026.8.11-4"},"_npmOperationalInternal":{"tmp":"tmp/senpi-codemode_2026.8.11-4_1786451089843_0.967412415018094","host":"s3://npm-registry-packages-npm-production"}},"2026.8.11-5":{"name":"@code-yeongyu/senpi-codemode","version":"2026.8.11-5","keywords":["senpi","pi","extension","codemode"],"author":{"name":"Yeongyu Kim"},"license":"MIT","_id":"@code-yeongyu/senpi-codemode@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"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"587580627214dd6893ab996612221e234b43e74a","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi-codemode/-/senpi-codemode-2026.8.11-5.tgz","fileCount":82,"integrity":"sha512-lmq0lrxVJiiphF8J89ulhQzU00907A61CnzmOfLvUs7XoUGaf9IfV0AgjsfJQn6Gy8d+kQt4MfSNMZr2dDISEQ==","signatures":[{"sig":"MEUCIFwDLSy3tn3GtVEcQERfXSgpBbw62qo8CfLlv+bQDEhnAiEAhkgXHQ1LNdOiniKHS/DpFMktu7P/3MvB6brKE7N/vM4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi-codemode@2026.8.11-5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":453827},"main":"./src/index.ts","type":"module","types":"./src/index.ts","engines":{"node":">=24.0.0"},"exports":{".":"./src/index.ts","./package.json":"./package.json"},"scripts":{"test":"npx tsx ../../node_modules/vitest/dist/cli.js --run test/","build":"node -e \"\"","clean":"node -e \"\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b59e4503-db56-4e82-89c7-e80f7e094f2c"}},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/senpi-codemode"},"_npmVersion":"11.16.0","description":"Source-only senpi extension package for codemode evaluation tools","directories":{},"_nodeVersion":"24.18.0","dependencies":{"typebox":"1.3.8","@babel/parser":"8.0.4","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.8.11-5"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@code-yeongyu/senpi":"2026.8.11-5"},"peerDependencies":{"@code-yeongyu/senpi":"2026.8.11-5"},"_npmOperationalInternal":{"tmp":"tmp/senpi-codemode_2026.8.11-5_1786467439909_0.5535123661691914","host":"s3://npm-registry-packages-npm-production"}},"2026.8.11-6":{"name":"@code-yeongyu/senpi-codemode","version":"2026.8.11-6","keywords":["senpi","pi","extension","codemode"],"author":{"name":"Yeongyu Kim"},"license":"MIT","_id":"@code-yeongyu/senpi-codemode@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"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"d57deb69e6afdd5d61469c32c9ba38be09a1d685","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi-codemode/-/senpi-codemode-2026.8.11-6.tgz","fileCount":82,"integrity":"sha512-ALcvpZbW7cdwlmPUBRBOYo5Rw103hp5idthYXtwsfqVa15D/RZ6cHntJvooQmgtcyXYqBaVjtn7cVxYZKm49TA==","signatures":[{"sig":"MEYCIQDOsl+4pPKDIzSo1ED8hQlaHFdmTXLgZPdYBQDE8wv71QIhANPv5Gk48HHNtFy3YE8glVf4xIK0gVwCW5WfooSMhaAn","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi-codemode@2026.8.11-6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":453928},"main":"./src/index.ts","type":"module","types":"./src/index.ts","engines":{"node":">=24.0.0"},"exports":{".":"./src/index.ts","./package.json":"./package.json"},"scripts":{"test":"npx tsx ../../node_modules/vitest/dist/cli.js --run test/","build":"node -e \"\"","clean":"node -e \"\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b59e4503-db56-4e82-89c7-e80f7e094f2c"}},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/senpi-codemode"},"_npmVersion":"11.16.0","description":"Source-only senpi extension package for codemode evaluation tools","directories":{},"_nodeVersion":"24.18.0","dependencies":{"typebox":"1.3.8","@babel/parser":"8.0.4","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.8.11-6"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@code-yeongyu/senpi":"2026.8.11-6"},"peerDependencies":{"@code-yeongyu/senpi":"2026.8.11-6"},"_npmOperationalInternal":{"tmp":"tmp/senpi-codemode_2026.8.11-6_1786474969047_0.2129442521532643","host":"s3://npm-registry-packages-npm-production"}},"2026.8.12":{"name":"@code-yeongyu/senpi-codemode","version":"2026.8.12","keywords":["senpi","pi","extension","codemode"],"author":{"name":"Yeongyu Kim"},"license":"MIT","_id":"@code-yeongyu/senpi-codemode@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"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"1320101bb7c730f5c5691ddcd0d83c3049f7b22f","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi-codemode/-/senpi-codemode-2026.8.12.tgz","fileCount":82,"integrity":"sha512-cOdjKiuY0mLKVji7NXW2qJh38rRlN0Ws1KeFxRzbdpO/9QXQ3eElw9K5zLcC6QxjGkxILGLLvAviVp8XMoZ+Ag==","signatures":[{"sig":"MEYCIQCv/110wsUwDmyF9EX3FFBP0mdVOTEqSyBbWVNJzCLDWwIhAKfF6TXyclPnTscss2l31B9z1cVd4oANR+y6g9EpcIk8","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi-codemode@2026.8.12","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":454019},"main":"./src/index.ts","type":"module","types":"./src/index.ts","engines":{"node":">=24.0.0"},"exports":{".":"./src/index.ts","./package.json":"./package.json"},"scripts":{"test":"npx tsx ../../node_modules/vitest/dist/cli.js --run test/","build":"node -e \"\"","clean":"node -e \"\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b59e4503-db56-4e82-89c7-e80f7e094f2c"}},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/senpi-codemode"},"_npmVersion":"11.16.0","description":"Source-only senpi extension package for codemode evaluation tools","directories":{},"_nodeVersion":"24.18.0","dependencies":{"typebox":"1.3.8","@babel/parser":"8.0.4","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.8.12"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@code-yeongyu/senpi":"2026.8.12"},"peerDependencies":{"@code-yeongyu/senpi":"2026.8.12"},"_npmOperationalInternal":{"tmp":"tmp/senpi-codemode_2026.8.12_1786519637037_0.5001775518024181","host":"s3://npm-registry-packages-npm-production"}},"2026.8.12-2":{"name":"@code-yeongyu/senpi-codemode","version":"2026.8.12-2","keywords":["senpi","pi","extension","codemode"],"author":{"name":"Yeongyu Kim"},"license":"MIT","_id":"@code-yeongyu/senpi-codemode@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"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"53fef94aa6da07c3bf6067de2601c8370e4c4095","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi-codemode/-/senpi-codemode-2026.8.12-2.tgz","fileCount":82,"integrity":"sha512-3CUtpyPv7kSVZSYwscztSo/CmLsfXfmJYeiMyZgk3J3jsx0+lco9LpPPoGNiVHJ+M4XTCjqsT1nyxANd1cyHiw==","signatures":[{"sig":"MEQCIHh8X+nU441y9bEt8FvGrJTQOOm1JNJc3PczRnUMi6V/AiAtngbujQnE2Vrk/djAWsLtte3tfSP4AaJ/Ug/uu0Etpw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi-codemode@2026.8.12-2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":454128},"main":"./src/index.ts","type":"module","types":"./src/index.ts","engines":{"node":">=24.0.0"},"exports":{".":"./src/index.ts","./package.json":"./package.json"},"scripts":{"test":"npx tsx ../../node_modules/vitest/dist/cli.js --run test/","build":"node -e \"\"","clean":"node -e \"\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b59e4503-db56-4e82-89c7-e80f7e094f2c"}},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/senpi-codemode"},"_npmVersion":"11.17.0","description":"Source-only senpi extension package for codemode evaluation tools","directories":{},"_nodeVersion":"24.19.0","dependencies":{"typebox":"1.3.8","@babel/parser":"8.0.4","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.8.12-2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@code-yeongyu/senpi":"2026.8.12-2"},"peerDependencies":{"@code-yeongyu/senpi":"2026.8.12-2"},"_npmOperationalInternal":{"tmp":"tmp/senpi-codemode_2026.8.12-2_1786521054543_0.3596129759090829","host":"s3://npm-registry-packages-npm-production"}},"2026.8.12-3":{"name":"@code-yeongyu/senpi-codemode","version":"2026.8.12-3","keywords":["senpi","pi","extension","codemode"],"author":{"name":"Yeongyu Kim"},"license":"MIT","_id":"@code-yeongyu/senpi-codemode@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"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"1a99542c537129c7eb9f12d1ea01c586267c42a0","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi-codemode/-/senpi-codemode-2026.8.12-3.tgz","fileCount":82,"integrity":"sha512-G5LyiNrCKBjwKFyJR+W9oqpZM3oaZrxdyLZIMlHRke8YpwR2vv50+LddSPCf1La6ofcDEG3CCXUHn5eiT2nQ1w==","signatures":[{"sig":"MEUCIFNbL3qEqC8v7IzLLi1naBPw0cD3kRgCbrrC2cwmM4zxAiEAgTEXb00/8aNsSod093YccDD7AHpdEJPkcUyi1mX/NB0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi-codemode@2026.8.12-3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":454229},"main":"./src/index.ts","type":"module","types":"./src/index.ts","engines":{"node":">=24.0.0"},"exports":{".":"./src/index.ts","./package.json":"./package.json"},"scripts":{"test":"npx tsx ../../node_modules/vitest/dist/cli.js --run test/","build":"node -e \"\"","clean":"node -e \"\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b59e4503-db56-4e82-89c7-e80f7e094f2c"}},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/senpi-codemode"},"_npmVersion":"11.16.0","description":"Source-only senpi extension package for codemode evaluation tools","directories":{},"_nodeVersion":"24.18.0","dependencies":{"typebox":"1.3.8","@babel/parser":"8.0.4","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.8.12-3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@code-yeongyu/senpi":"2026.8.12-3"},"peerDependencies":{"@code-yeongyu/senpi":"2026.8.12-3"},"_npmOperationalInternal":{"tmp":"tmp/senpi-codemode_2026.8.12-3_1786522074404_0.18531334772586439","host":"s3://npm-registry-packages-npm-production"}},"2026.8.12-4":{"name":"@code-yeongyu/senpi-codemode","version":"2026.8.12-4","keywords":["senpi","pi","extension","codemode"],"author":{"name":"Yeongyu Kim"},"license":"MIT","_id":"@code-yeongyu/senpi-codemode@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"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"e615b230fc046c4c1d1f0b34ebe2270340f67f42","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi-codemode/-/senpi-codemode-2026.8.12-4.tgz","fileCount":82,"integrity":"sha512-n8oJp6SAOTDpqtC3uOE4MBiHdIqXzAUQVXfsTLZnzk3/DwvRhVceRkzouNm9nPm6HfOvBkMcinfqV+Rtx+bM7g==","signatures":[{"sig":"MEYCIQDCoe84O+D/6dvhj4U6gVtFxP+ntpBN6/6zsFVvBUr5iwIhAOO48RhxGwoNPVJC/bTr/1gD34/2W/q4QMWIPwWVpncd","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi-codemode@2026.8.12-4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":454330},"main":"./src/index.ts","type":"module","types":"./src/index.ts","engines":{"node":">=24.0.0"},"exports":{".":"./src/index.ts","./package.json":"./package.json"},"scripts":{"test":"npx tsx ../../node_modules/vitest/dist/cli.js --run test/","build":"node -e \"\"","clean":"node -e \"\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b59e4503-db56-4e82-89c7-e80f7e094f2c"}},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/senpi-codemode"},"_npmVersion":"11.16.0","description":"Source-only senpi extension package for codemode evaluation tools","directories":{},"_nodeVersion":"24.18.0","dependencies":{"typebox":"1.3.8","@babel/parser":"8.0.4","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.8.12-4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@code-yeongyu/senpi":"2026.8.12-4"},"peerDependencies":{"@code-yeongyu/senpi":"2026.8.12-4"},"_npmOperationalInternal":{"tmp":"tmp/senpi-codemode_2026.8.12-4_1786529143732_0.40410931505604775","host":"s3://npm-registry-packages-npm-production"}},"2026.8.13":{"name":"@code-yeongyu/senpi-codemode","version":"2026.8.13","keywords":["senpi","pi","extension","codemode"],"author":{"name":"Yeongyu Kim"},"license":"MIT","_id":"@code-yeongyu/senpi-codemode@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"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"ddab3872b714fc156a5f5dfb21b887f913137eae","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi-codemode/-/senpi-codemode-2026.8.13.tgz","fileCount":82,"integrity":"sha512-MtYnv9HwImf3bR9XlyuN6aPVdWGiflGgrwvxYwDnS7yb1NTfli4sw2I8x+bU15hnFxK6ls6UL3ZADL8l/MrbfQ==","signatures":[{"sig":"MEQCICU7U/DRqaVHy0kzknQTIREy5u4G4uFv0Zzl0/1JlMRfAiBhcgFQ2UYlwZw1CaDtVEkXSYTouP/9nTKVfaLKPLgdng==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":459486},"main":"./src/index.ts","type":"module","types":"./src/index.ts","engines":{"node":">=24.0.0"},"exports":{".":"./src/index.ts","./package.json":"./package.json"},"scripts":{"test":"npx tsx ../../node_modules/vitest/dist/cli.js --run test/","build":"node -e \"\"","clean":"node -e \"\""},"_npmUser":{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/senpi-codemode"},"_npmVersion":"11.18.0","description":"Source-only senpi extension package for codemode evaluation tools","directories":{},"_nodeVersion":"26.6.0","dependencies":{"typebox":"1.3.8","@babel/parser":"8.0.4","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.8.13"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@code-yeongyu/senpi":"2026.8.13"},"peerDependencies":{"@code-yeongyu/senpi":"2026.8.13"},"_npmOperationalInternal":{"tmp":"tmp/senpi-codemode_2026.8.13_1786614818442_0.6109708392561679","host":"s3://npm-registry-packages-npm-production"}},"2026.8.14":{"name":"@code-yeongyu/senpi-codemode","version":"2026.8.14","keywords":["senpi","pi","extension","codemode"],"author":{"name":"Yeongyu Kim"},"license":"MIT","_id":"@code-yeongyu/senpi-codemode@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"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"89209b32d504b50db3dee1ae6ab1ff82f929026b","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi-codemode/-/senpi-codemode-2026.8.14.tgz","fileCount":82,"integrity":"sha512-zF8j/Mn1VCdYvbWXQVS4ZRSVaXniqe49q9LlH8HbggHX8GHA6gVn0v3nnzbmHOpKdKYe+lmL/qDsQI4nQKKfYg==","signatures":[{"sig":"MEQCIQCTR3wPNc5TWFUXNmzrJ06Lm8brVCtg/joyhdbpWYDzegIfXKzfUU6WsgKzdgqxQbXo+1pHRPi1sZcCUydC5BuC2g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi-codemode@2026.8.14","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":459686},"main":"./src/index.ts","type":"module","types":"./src/index.ts","engines":{"node":">=24.0.0"},"exports":{".":"./src/index.ts","./package.json":"./package.json"},"scripts":{"test":"npx tsx ../../node_modules/vitest/dist/cli.js --run test/","build":"node -e \"\"","clean":"node -e \"\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b59e4503-db56-4e82-89c7-e80f7e094f2c"}},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/senpi-codemode"},"_npmVersion":"11.16.0","description":"Source-only senpi extension package for codemode evaluation tools","directories":{},"_nodeVersion":"24.18.0","dependencies":{"typebox":"1.3.8","@babel/parser":"8.0.4","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.8.14"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@code-yeongyu/senpi":"2026.8.14"},"peerDependencies":{"@code-yeongyu/senpi":"2026.8.14"},"_npmOperationalInternal":{"tmp":"tmp/senpi-codemode_2026.8.14_1786686695211_0.7264102065885067","host":"s3://npm-registry-packages-npm-production"}},"2026.8.16":{"name":"@code-yeongyu/senpi-codemode","version":"2026.8.16","keywords":["senpi","pi","extension","codemode"],"author":{"name":"Yeongyu Kim"},"license":"MIT","_id":"@code-yeongyu/senpi-codemode@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"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"27b04aa64888852c1420c1d93fb4fc38238d57e4","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi-codemode/-/senpi-codemode-2026.8.16.tgz","fileCount":83,"integrity":"sha512-Ie+IWRe/0hbZY1pkg+rPkToydUpMp6yLaMrI0ozFxLaBO60e9azyyFZMcuqr5t9tAfNYufzgpD3iCgz9MXkKnQ==","signatures":[{"sig":"MEUCIHN2WixtKaBVVe4imnYad9CWj7O6qFpwsBv6ZysuzWb6AiEA8AWZ3kyf3HNxu9QRir+ndmqEIVKKl6Ay2vTrQf3kAps=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi-codemode@2026.8.16","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":470865},"main":"./src/index.ts","type":"module","types":"./src/index.ts","engines":{"node":">=24.0.0"},"exports":{".":"./src/index.ts","./package.json":"./package.json"},"scripts":{"test":"npx tsx ../../node_modules/vitest/dist/cli.js --run test/","build":"node -e \"\"","clean":"node -e \"\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b59e4503-db56-4e82-89c7-e80f7e094f2c"}},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/senpi-codemode"},"_npmVersion":"11.17.0","description":"Source-only senpi extension package for codemode evaluation tools","directories":{},"_nodeVersion":"24.19.0","dependencies":{"typebox":"1.3.8","@babel/parser":"8.0.4","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.8.16"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@code-yeongyu/senpi":"2026.8.16"},"peerDependencies":{"@code-yeongyu/senpi":"2026.8.16"},"_npmOperationalInternal":{"tmp":"tmp/senpi-codemode_2026.8.16_1786902382604_0.5684755495615308","host":"s3://npm-registry-packages-npm-production"}},"2026.8.17":{"name":"@code-yeongyu/senpi-codemode","version":"2026.8.17","keywords":["senpi","pi","extension","codemode"],"author":{"name":"Yeongyu Kim"},"license":"MIT","_id":"@code-yeongyu/senpi-codemode@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"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"ddf988c9bd1b35f7ea6eace99e52b018eb582218","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi-codemode/-/senpi-codemode-2026.8.17.tgz","fileCount":83,"integrity":"sha512-xUFyyUMBcbMKOMRMnotVWV9XQBko3ZjBbIP2Wh9Vbis29nkqyTomcieBmKfI57rVBKFmkF3t9XayTven7I5W/w==","signatures":[{"sig":"MEYCIQD28AkWKQsfLQcJ7T2bfoHnJWXV9pub71csVgTv356PngIhAJau1ZL4kVCjndH5iQoyiXXD32/Nrqf1+EifPF44+A1t","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi-codemode@2026.8.17","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":473129},"main":"./src/index.ts","type":"module","types":"./src/index.ts","engines":{"node":">=24.0.0"},"exports":{".":"./src/index.ts","./package.json":"./package.json"},"scripts":{"test":"npx tsx ../../node_modules/vitest/dist/cli.js --run test/","build":"node -e \"\"","clean":"node -e \"\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b59e4503-db56-4e82-89c7-e80f7e094f2c"}},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/senpi-codemode"},"_npmVersion":"11.17.0","description":"Source-only senpi extension package for codemode evaluation tools","directories":{},"_nodeVersion":"24.19.0","dependencies":{"typebox":"1.3.8","@babel/parser":"8.0.4","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.8.17"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@code-yeongyu/senpi":"2026.8.17"},"peerDependencies":{"@code-yeongyu/senpi":"2026.8.17"},"_npmOperationalInternal":{"tmp":"tmp/senpi-codemode_2026.8.17_1786997932726_0.441749063978518","host":"s3://npm-registry-packages-npm-production"}},"2026.8.18":{"name":"@code-yeongyu/senpi-codemode","version":"2026.8.18","keywords":["senpi","pi","extension","codemode"],"author":{"name":"Yeongyu Kim"},"license":"MIT","_id":"@code-yeongyu/senpi-codemode@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"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"467d1dec92697183b5fc018306f745b787d1f201","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi-codemode/-/senpi-codemode-2026.8.18.tgz","fileCount":83,"integrity":"sha512-ow9V97NXuMiMRf9ek78QIYMKjr40c43cLrh00TYq0fZMKQQqg235YSX9t/z12XYdr9rs7P/XbT+93UGU+alMEg==","signatures":[{"sig":"MEUCIQCJlgCOxPjb4sgcLrLOasho5QH5QRqzE2pIpRHD6rhy1QIgR9CnO+75+EZkHS9qlYhd8lVQ2WYwWzZR0gyeV66An/c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi-codemode@2026.8.18","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":473228},"main":"./src/index.ts","type":"module","types":"./src/index.ts","engines":{"node":">=24.0.0"},"exports":{".":"./src/index.ts","./package.json":"./package.json"},"scripts":{"test":"npx tsx ../../node_modules/vitest/dist/cli.js --run test/","build":"node -e \"\"","clean":"node -e \"\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b59e4503-db56-4e82-89c7-e80f7e094f2c"}},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/senpi-codemode"},"_npmVersion":"11.17.0","description":"Source-only senpi extension package for codemode evaluation tools","directories":{},"_nodeVersion":"24.19.0","dependencies":{"typebox":"1.3.8","@babel/parser":"8.0.4","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.8.18"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@code-yeongyu/senpi":"2026.8.18"},"peerDependencies":{"@code-yeongyu/senpi":"2026.8.18"},"_npmOperationalInternal":{"tmp":"tmp/senpi-codemode_2026.8.18_1787027670196_0.33337922265186637","host":"s3://npm-registry-packages-npm-production"}},"2026.8.18-2":{"name":"@code-yeongyu/senpi-codemode","version":"2026.8.18-2","keywords":["senpi","pi","extension","codemode"],"author":{"name":"Yeongyu Kim"},"license":"MIT","_id":"@code-yeongyu/senpi-codemode@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"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"fb0046ec65c7249b6cc706a02beb3f97b6c70c5c","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi-codemode/-/senpi-codemode-2026.8.18-2.tgz","fileCount":83,"integrity":"sha512-bTGp0jdg7JRuprTQOrkGU4b0DfiG5PfRzypzCS4bUyVxrRcTVuiFFGesfYHI8vejzI4wGtfVrdG7eKKH8dcNiQ==","signatures":[{"sig":"MEQCIAaGz03vXNZX3axXa2vXGH8mY12R4Q11TseEfecyXCEuAiAN9o8DztVDZBSEFfLBuKZwci1ekGyZBvueQUO/nFj/lQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi-codemode@2026.8.18-2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":473337},"main":"./src/index.ts","type":"module","types":"./src/index.ts","engines":{"node":">=24.0.0"},"exports":{".":"./src/index.ts","./package.json":"./package.json"},"scripts":{"test":"npx tsx ../../node_modules/vitest/dist/cli.js --run test/","build":"node -e \"\"","clean":"node -e \"\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b59e4503-db56-4e82-89c7-e80f7e094f2c"}},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/senpi-codemode"},"_npmVersion":"11.17.0","description":"Source-only senpi extension package for codemode evaluation tools","directories":{},"_nodeVersion":"24.19.0","dependencies":{"typebox":"1.3.8","@babel/parser":"8.0.4","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.8.18-2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@code-yeongyu/senpi":"2026.8.18-2"},"peerDependencies":{"@code-yeongyu/senpi":"2026.8.18-2"},"_npmOperationalInternal":{"tmp":"tmp/senpi-codemode_2026.8.18-2_1787044320737_0.6885956458563205","host":"s3://npm-registry-packages-npm-production"}},"2026.8.18-3":{"name":"@code-yeongyu/senpi-codemode","version":"2026.8.18-3","keywords":["senpi","pi","extension","codemode"],"author":{"name":"Yeongyu Kim"},"license":"MIT","_id":"@code-yeongyu/senpi-codemode@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"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"be71c06c1bc5e754d4f56068252c1f7af888186c","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi-codemode/-/senpi-codemode-2026.8.18-3.tgz","fileCount":83,"integrity":"sha512-YpV7NhoHxeOQ7eEF/TE1F0NJi10iD4oUS9G+kOHHRCN2EWcVe/mwOhsvkdbSBrAv0QuaArX8WNH8Z3EkqjKeow==","signatures":[{"sig":"MEUCIGjH+1Jmp5tTtR2istFOvJw7WvYVDlAnenurEiJWWxX5AiEA8I3xO6VZVvXm6sIzZJzu2RjWObApzC5WnusUcIpPyPQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi-codemode@2026.8.18-3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":473942},"main":"./src/index.ts","type":"module","types":"./src/index.ts","engines":{"node":">=24.0.0"},"exports":{".":"./src/index.ts","./package.json":"./package.json"},"scripts":{"test":"npx tsx ../../node_modules/vitest/dist/cli.js --run test/","build":"node -e \"\"","clean":"node -e \"\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b59e4503-db56-4e82-89c7-e80f7e094f2c"}},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/senpi-codemode"},"_npmVersion":"11.17.0","description":"Source-only senpi extension package for codemode evaluation tools","directories":{},"_nodeVersion":"24.19.0","dependencies":{"typebox":"1.3.8","@babel/parser":"8.0.4","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.8.18-3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@code-yeongyu/senpi":"2026.8.18-3"},"peerDependencies":{"@code-yeongyu/senpi":"2026.8.18-3"},"_npmOperationalInternal":{"tmp":"tmp/senpi-codemode_2026.8.18-3_1787068865703_0.29218941192094605","host":"s3://npm-registry-packages-npm-production"}},"2026.8.19":{"name":"@code-yeongyu/senpi-codemode","version":"2026.8.19","keywords":["senpi","pi","extension","codemode"],"author":{"name":"Yeongyu Kim"},"license":"MIT","_id":"@code-yeongyu/senpi-codemode@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"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"b7d6beda74d822cc5dfd2a4d03874413428cc4b1","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi-codemode/-/senpi-codemode-2026.8.19.tgz","fileCount":83,"integrity":"sha512-YfoOBQvkPr4Vufnr2QsolG/EQ5u2V7nPC0UgPDU+cRUY039BeS8xZmar25QiF8C/efVjjtrnMeFGfdA0PBjb4w==","signatures":[{"sig":"MEYCIQDE4Tk2Wbq0DkI4ROtbzNPVKF6CBRTpIUV1u+KAXEpO3AIhAKcoAPekHUtQMB9a9EN/kg0B4YAJyGICFlpctaoSrKjk","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi-codemode@2026.8.19","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":474033},"main":"./src/index.ts","type":"module","types":"./src/index.ts","engines":{"node":">=24.0.0"},"exports":{".":"./src/index.ts","./package.json":"./package.json"},"scripts":{"test":"npx tsx ../../node_modules/vitest/dist/cli.js --run test/","build":"node -e \"\"","clean":"node -e \"\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b59e4503-db56-4e82-89c7-e80f7e094f2c"}},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/senpi-codemode"},"_npmVersion":"11.17.0","description":"Source-only senpi extension package for codemode evaluation tools","directories":{},"_nodeVersion":"24.19.0","dependencies":{"typebox":"1.3.8","@babel/parser":"8.0.4","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.8.19"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@code-yeongyu/senpi":"2026.8.19"},"peerDependencies":{"@code-yeongyu/senpi":"2026.8.19"},"_npmOperationalInternal":{"tmp":"tmp/senpi-codemode_2026.8.19_1787148460812_0.14284065053266692","host":"s3://npm-registry-packages-npm-production"}},"2026.8.20":{"name":"@code-yeongyu/senpi-codemode","version":"2026.8.20","keywords":["senpi","pi","extension","codemode"],"author":{"name":"Yeongyu Kim"},"license":"MIT","_id":"@code-yeongyu/senpi-codemode@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"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"1114d9e472096578bee42628df0975ab9457ffb5","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi-codemode/-/senpi-codemode-2026.8.20.tgz","fileCount":83,"integrity":"sha512-z/3bzpJeylMvfUYmRYjgqxihNe0HyHM5gx9dUA+xvaBU4vHsWf17kPMlNX6MuhWNilkUbMjioRHgadRmwKycAg==","signatures":[{"sig":"MEQCICjVXYKWmep85MwkklddCYayAn8LH4HecgxAUq9pGs7qAiATTzLnjuHyjNoOwfqNt/UuCvd06yiOfBVynNhWe3EUKg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi-codemode@2026.8.20","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":474132},"main":"./src/index.ts","type":"module","types":"./src/index.ts","engines":{"node":">=24.0.0"},"exports":{".":"./src/index.ts","./package.json":"./package.json"},"scripts":{"test":"npx tsx ../../node_modules/vitest/dist/cli.js --run test/","build":"node -e \"\"","clean":"node -e \"\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b59e4503-db56-4e82-89c7-e80f7e094f2c"}},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/senpi-codemode"},"_npmVersion":"11.17.0","description":"Source-only senpi extension package for codemode evaluation tools","directories":{},"_nodeVersion":"24.19.0","dependencies":{"typebox":"1.3.8","@babel/parser":"8.0.4","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.8.20"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@code-yeongyu/senpi":"2026.8.20"},"peerDependencies":{"@code-yeongyu/senpi":"2026.8.20"},"_npmOperationalInternal":{"tmp":"tmp/senpi-codemode_2026.8.20_1787240057742_0.5257280406078011","host":"s3://npm-registry-packages-npm-production"}},"2026.8.20-2":{"name":"@code-yeongyu/senpi-codemode","version":"2026.8.20-2","keywords":["senpi","pi","extension","codemode"],"author":{"name":"Yeongyu Kim"},"license":"MIT","_id":"@code-yeongyu/senpi-codemode@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"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"3f5e424f17ae5f54ebbcd005a84dc7657987b13a","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi-codemode/-/senpi-codemode-2026.8.20-2.tgz","fileCount":83,"integrity":"sha512-usBCLmXYnv7GP7T3rer2O4jOcRK5l2aI3n7mQpdfe2RdejuGJafc3rgqOLMZdEukf3+r/5UU/siK/+DEkwJXfw==","signatures":[{"sig":"MEYCIQD/Qo9HitGEjlgxfRbFYCbaCciFyjN2XuefUR7mQqZtLwIhAJwY51uKTmahEBgKqFRJCfhNQOvVQ38RmF/SaKE4LVxv","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi-codemode@2026.8.20-2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":474241},"main":"./src/index.ts","type":"module","types":"./src/index.ts","engines":{"node":">=24.0.0"},"exports":{".":"./src/index.ts","./package.json":"./package.json"},"scripts":{"test":"npx tsx ../../node_modules/vitest/dist/cli.js --run test/","build":"node -e \"\"","clean":"node -e \"\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b59e4503-db56-4e82-89c7-e80f7e094f2c"}},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/senpi-codemode"},"_npmVersion":"11.17.0","description":"Source-only senpi extension package for codemode evaluation tools","directories":{},"_nodeVersion":"24.19.0","dependencies":{"typebox":"1.3.8","@babel/parser":"8.0.4","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.8.20-2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@code-yeongyu/senpi":"2026.8.20-2"},"peerDependencies":{"@code-yeongyu/senpi":"2026.8.20-2"},"_npmOperationalInternal":{"tmp":"tmp/senpi-codemode_2026.8.20-2_1787241687351_0.7762888096733374","host":"s3://npm-registry-packages-npm-production"}},"2026.8.21":{"name":"@code-yeongyu/senpi-codemode","version":"2026.8.21","keywords":["senpi","pi","extension","codemode"],"author":{"name":"Yeongyu Kim"},"license":"MIT","_id":"@code-yeongyu/senpi-codemode@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"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"a1a5a5637f3bdc83bb964b3e121db85eb78d6db1","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi-codemode/-/senpi-codemode-2026.8.21.tgz","fileCount":83,"integrity":"sha512-FQ3aPpNzoGffZboGPbajvY+loGxpLhyrgKD/NkaF7l58fqv0mq30L8aKznX7RJkMz6LkVsPVfyStI+Xviyyuvw==","signatures":[{"sig":"MEUCIQDAFMQRnRbp9IlpZVaoTGYjit+du0h9BnvN+S1x7kDaJgIgYHEzCVUQGXJiLfZk4yalScQn7BHwU8NeQEfOZ3rvtds=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi-codemode@2026.8.21","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":474333},"main":"./src/index.ts","type":"module","types":"./src/index.ts","engines":{"node":">=24.0.0"},"exports":{".":"./src/index.ts","./package.json":"./package.json"},"scripts":{"test":"npx tsx ../../node_modules/vitest/dist/cli.js --run test/","build":"node -e \"\"","clean":"node -e \"\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b59e4503-db56-4e82-89c7-e80f7e094f2c"}},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/senpi-codemode"},"_npmVersion":"11.17.0","description":"Source-only senpi extension package for codemode evaluation tools","directories":{},"_nodeVersion":"24.19.0","dependencies":{"typebox":"1.3.16","@babel/parser":"8.0.4","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.8.21"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@code-yeongyu/senpi":"2026.8.21"},"peerDependencies":{"@code-yeongyu/senpi":"2026.8.21"},"_npmOperationalInternal":{"tmp":"tmp/senpi-codemode_2026.8.21_1787291183404_0.7266828524785145","host":"s3://npm-registry-packages-npm-production"}},"2026.8.21-2":{"name":"@code-yeongyu/senpi-codemode","version":"2026.8.21-2","keywords":["senpi","pi","extension","codemode"],"author":{"name":"Yeongyu Kim"},"license":"MIT","_id":"@code-yeongyu/senpi-codemode@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"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"592f055662324774c063867d974c44fd8b5b57c9","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi-codemode/-/senpi-codemode-2026.8.21-2.tgz","fileCount":83,"integrity":"sha512-Vkeck0BHIeUPKJWxdE6d1geBn2J2aKAcC5BqS5ka85zAD6iH9V/afBbeyxVqkLb+8aTWkGqismKiV4KRPZsC7w==","signatures":[{"sig":"MEUCIQD/ndhYGyD+bKDsTRy/ItDpM6hvQ+9JYf7SB93u+AB6VAIgBtaUbRzB63lKz3qzOyCvQn8klGaTrb+6LbFIBRhB6K0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi-codemode@2026.8.21-2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":475351},"main":"./src/index.ts","type":"module","types":"./src/index.ts","engines":{"node":">=24.0.0"},"exports":{".":"./src/index.ts","./package.json":"./package.json"},"scripts":{"test":"npx tsx ../../node_modules/vitest/dist/cli.js --run test/","build":"node -e \"\"","clean":"node -e \"\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b59e4503-db56-4e82-89c7-e80f7e094f2c"}},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/senpi-codemode"},"_npmVersion":"11.17.0","description":"Source-only senpi extension package for codemode evaluation tools","directories":{},"_nodeVersion":"24.19.0","dependencies":{"typebox":"1.3.16","@babel/parser":"8.0.4","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.8.21-2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@code-yeongyu/senpi":"2026.8.21-2"},"peerDependencies":{"@code-yeongyu/senpi":"2026.8.21-2"},"_npmOperationalInternal":{"tmp":"tmp/senpi-codemode_2026.8.21-2_1787303314333_0.5267731994992733","host":"s3://npm-registry-packages-npm-production"}},"2026.8.21-3":{"name":"@code-yeongyu/senpi-codemode","version":"2026.8.21-3","keywords":["senpi","pi","extension","codemode"],"author":{"name":"Yeongyu Kim"},"license":"MIT","_id":"@code-yeongyu/senpi-codemode@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"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"390d5e0563f8f6a1460e607c4d43886899c6c3d6","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi-codemode/-/senpi-codemode-2026.8.21-3.tgz","fileCount":83,"integrity":"sha512-vAohFQyRK0+AYgNxf0A+tfLxNU4FnXYEP0BWREl2bwQQ4GWs38JFuDjND0uXQvwKLSe4KfB8chGO5X+YZe0YBg==","signatures":[{"sig":"MEYCIQDOmQpYTYSPkJlG307ELdPHNU8aBpxE9Tvc5ElWD6bhRwIhANvTIZlZdxnZjvMk7zcG/0mWEGg+FOeLrvSX+bs4when","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi-codemode@2026.8.21-3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":475452},"main":"./src/index.ts","type":"module","types":"./src/index.ts","engines":{"node":">=24.0.0"},"exports":{".":"./src/index.ts","./package.json":"./package.json"},"scripts":{"test":"npx tsx ../../node_modules/vitest/dist/cli.js --run test/","build":"node -e \"\"","clean":"node -e \"\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b59e4503-db56-4e82-89c7-e80f7e094f2c"}},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/senpi-codemode"},"_npmVersion":"11.17.0","description":"Source-only senpi extension package for codemode evaluation tools","directories":{},"_nodeVersion":"24.19.0","dependencies":{"typebox":"1.3.16","@babel/parser":"8.0.4","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.8.21-3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@code-yeongyu/senpi":"2026.8.21-3"},"peerDependencies":{"@code-yeongyu/senpi":"2026.8.21-3"},"_npmOperationalInternal":{"tmp":"tmp/senpi-codemode_2026.8.21-3_1787315656105_0.3664341242235065","host":"s3://npm-registry-packages-npm-production"}},"2026.8.22":{"name":"@code-yeongyu/senpi-codemode","version":"2026.8.22","keywords":["senpi","pi","extension","codemode"],"author":{"name":"Yeongyu Kim"},"license":"MIT","_id":"@code-yeongyu/senpi-codemode@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"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"c0a4ffd6e759e8fcfc230261b6faa2c809b0ff0f","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi-codemode/-/senpi-codemode-2026.8.22.tgz","fileCount":83,"integrity":"sha512-gEZME2uSov2YbCQ2QuthIlBgEDqhP7ovX3/051HN1hgnJcU5mPEG9Lsj1AM93D2CnWzlZgl/0vcU3EwOVrFNbg==","signatures":[{"sig":"MEYCIQCtJORmqkNs6ubfv0gObrmNH68NfvJixA5v13TROWRq4AIhANy5hlKEc4PNNb0TT7ZgnYLuS0y9vE92GUeBy2AFSBau","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi-codemode@2026.8.22","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":476215},"main":"./src/index.ts","type":"module","types":"./src/index.ts","engines":{"node":">=24.0.0"},"exports":{".":"./src/index.ts","./package.json":"./package.json"},"scripts":{"test":"npx tsx ../../node_modules/vitest/dist/cli.js --run test/","build":"node -e \"\"","clean":"node -e \"\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b59e4503-db56-4e82-89c7-e80f7e094f2c"}},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/senpi-codemode"},"_npmVersion":"11.17.0","description":"Source-only senpi extension package for codemode evaluation tools","directories":{},"_nodeVersion":"24.19.0","dependencies":{"typebox":"1.3.16","@babel/parser":"8.0.4","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.8.22"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@code-yeongyu/senpi":"2026.8.22"},"peerDependencies":{"@code-yeongyu/senpi":"2026.8.22"},"_npmOperationalInternal":{"tmp":"tmp/senpi-codemode_2026.8.22_1787373499932_0.9657054437910488","host":"s3://npm-registry-packages-npm-production"}},"2026.8.22-2":{"name":"@code-yeongyu/senpi-codemode","version":"2026.8.22-2","keywords":["senpi","pi","extension","codemode"],"author":{"name":"Yeongyu Kim"},"license":"MIT","_id":"@code-yeongyu/senpi-codemode@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"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"a0fd33f638fea6890661a40cc1ae370e7cfa6127","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi-codemode/-/senpi-codemode-2026.8.22-2.tgz","fileCount":86,"integrity":"sha512-AwLpFDrZSdPVFJzy+20IAUE7k5IFeLpDpSFt9xIWTr4j92YZup49+SzuwbkrYxWL+a8Ry82STgpi//lVzWBfVw==","signatures":[{"sig":"MEYCIQD52J9K2Q1fgYZ2Qgl6cl5Gilec6t7TbAmG5vOw2wzJqQIhAPgNxkgrTZerpITciEzCioK1oZ1NS1b671GCp5B9dmml","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi-codemode@2026.8.22-2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":490788},"main":"./src/index.ts","type":"module","types":"./src/index.ts","engines":{"node":">=24.0.0"},"exports":{".":"./src/index.ts","./package.json":"./package.json"},"scripts":{"test":"npx tsx ../../node_modules/vitest/dist/cli.js --run test/","build":"node -e \"\"","clean":"node -e \"\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b59e4503-db56-4e82-89c7-e80f7e094f2c"}},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/senpi-codemode"},"_npmVersion":"11.17.0","description":"Source-only senpi extension package for codemode evaluation tools","directories":{},"_nodeVersion":"24.19.0","dependencies":{"typebox":"1.3.16","@babel/parser":"8.0.4","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.8.22-2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@code-yeongyu/senpi":"2026.8.22-2"},"peerDependencies":{"@code-yeongyu/senpi":"2026.8.22-2"},"_npmOperationalInternal":{"tmp":"tmp/senpi-codemode_2026.8.22-2_1787422679807_0.23578749792118825","host":"s3://npm-registry-packages-npm-production"}},"2026.8.23":{"name":"@code-yeongyu/senpi-codemode","version":"2026.8.23","keywords":["senpi","pi","extension","codemode"],"author":{"name":"Yeongyu Kim"},"license":"MIT","_id":"@code-yeongyu/senpi-codemode@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"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"a8db93cf2f355e5e8ccb674e69e2a6625641d623","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi-codemode/-/senpi-codemode-2026.8.23.tgz","fileCount":86,"integrity":"sha512-yjJ5jTGHRVnDinZc4P+6Byc9W4a28Z397dYxCblErJkapYaUklkLLrDFDDLCM+dWKrn/RqEcaYllswsXOo2lHg==","signatures":[{"sig":"MEYCIQD0F2KXkFjJAlYltJPKb38LdkhtHd5QYfvowHoa2Scm0QIhALAMlsrO71uESnnPfCaCrm+x5wZvodouVCgjFCIrGjf9","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi-codemode@2026.8.23","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":491935},"main":"./src/index.ts","type":"module","types":"./src/index.ts","engines":{"node":">=24.0.0"},"exports":{".":"./src/index.ts","./package.json":"./package.json"},"scripts":{"test":"npx tsx ../../node_modules/vitest/dist/cli.js --run test/","build":"node -e \"\"","clean":"node -e \"\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b59e4503-db56-4e82-89c7-e80f7e094f2c"}},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/senpi-codemode"},"_npmVersion":"11.17.0","description":"Source-only senpi extension package for codemode evaluation tools","directories":{},"_nodeVersion":"24.19.0","dependencies":{"typebox":"1.3.16","@babel/parser":"8.0.4","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.8.23"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@code-yeongyu/senpi":"2026.8.23"},"peerDependencies":{"@code-yeongyu/senpi":"2026.8.23"},"_npmOperationalInternal":{"tmp":"tmp/senpi-codemode_2026.8.23_1787486547735_0.18800270776303396","host":"s3://npm-registry-packages-npm-production"}},"2026.8.24":{"name":"@code-yeongyu/senpi-codemode","version":"2026.8.24","keywords":["senpi","pi","extension","codemode"],"author":{"name":"Yeongyu Kim"},"license":"MIT","_id":"@code-yeongyu/senpi-codemode@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"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"9a2b772096e111e36d15284d8eb8bc7ede71edf2","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi-codemode/-/senpi-codemode-2026.8.24.tgz","fileCount":88,"integrity":"sha512-qMshcDgo1cKE79PveZp5zmZuDGbY2bk48lBJKcoJ3WM/PtYgL/EtTm8qlTdtCA2sQbKNIrPOHJtQTXwFhsea0g==","signatures":[{"sig":"MEQCIHsJq5Og9y6cmIerthCydugOIeaJ9oXmIJ2IMRboDmheAiAS/Rhwn3I29aBT6y1ayg72ZFYLVwCipCY/jbXSBhpWJA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi-codemode@2026.8.24","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":496299},"main":"./src/index.ts","type":"module","types":"./src/index.ts","engines":{"node":">=24.0.0"},"exports":{".":"./src/index.ts","./package.json":"./package.json"},"scripts":{"test":"npx tsx ../../node_modules/vitest/dist/cli.js --run test/","build":"node -e \"\"","clean":"node -e \"\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b59e4503-db56-4e82-89c7-e80f7e094f2c"}},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/senpi-codemode"},"_npmVersion":"11.17.0","description":"Source-only senpi extension package for codemode evaluation tools","directories":{},"_nodeVersion":"24.19.0","dependencies":{"typebox":"1.3.18","@babel/parser":"8.0.4","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.8.24"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@code-yeongyu/senpi":"2026.8.24"},"peerDependencies":{"@code-yeongyu/senpi":"2026.8.24"},"_npmOperationalInternal":{"tmp":"tmp/senpi-codemode_2026.8.24_1787592710585_0.7459555827104363","host":"s3://npm-registry-packages-npm-production"}},"2026.8.25":{"name":"@code-yeongyu/senpi-codemode","version":"2026.8.25","keywords":["senpi","pi","extension","codemode"],"author":{"name":"Yeongyu Kim"},"license":"MIT","_id":"@code-yeongyu/senpi-codemode@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"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"81d394f4c121a337ef2f0bd42c5743627ff07c04","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi-codemode/-/senpi-codemode-2026.8.25.tgz","fileCount":88,"integrity":"sha512-vZ1bWF8kt+1migivdMXbLL6i2IUZ1AVv3t29uCJKdABTjPOI6QEU44wfBPcgvIs5uuYU6hY78Xk500KZQFLTZA==","signatures":[{"sig":"MEQCIADDMpnNEubj1rVh7S7WZYyXvNf8uwyqagXCjtGO9bXmAiAOHl50bL4CupfP79nqjlu9jj0b0a1Wv1A93/jW+Eek9w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi-codemode@2026.8.25","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":497856},"main":"./src/index.ts","type":"module","types":"./src/index.ts","engines":{"node":">=24.0.0"},"exports":{".":"./src/index.ts","./package.json":"./package.json"},"scripts":{"test":"npx tsx ../../node_modules/vitest/dist/cli.js --run test/","build":"node -e \"\"","clean":"node -e \"\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b59e4503-db56-4e82-89c7-e80f7e094f2c"}},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/senpi-codemode"},"_npmVersion":"11.17.0","description":"Source-only senpi extension package for codemode evaluation tools","directories":{},"_nodeVersion":"24.19.0","dependencies":{"typebox":"1.3.18","@babel/parser":"8.0.4","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.8.25"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@code-yeongyu/senpi":"2026.8.25"},"peerDependencies":{"@code-yeongyu/senpi":"2026.8.25"},"_npmOperationalInternal":{"tmp":"tmp/senpi-codemode_2026.8.25_1787671720767_0.4665792341815975","host":"s3://npm-registry-packages-npm-production"}},"2026.8.26":{"name":"@code-yeongyu/senpi-codemode","version":"2026.8.26","keywords":["senpi","pi","extension","codemode"],"author":{"name":"Yeongyu Kim"},"license":"MIT","_id":"@code-yeongyu/senpi-codemode@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"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"afb697bdc37e2fd23a92d96e8f1a0858f8bb761d","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi-codemode/-/senpi-codemode-2026.8.26.tgz","fileCount":88,"integrity":"sha512-gHGRuFma2xWSjQT6yEkqZlRnfL330UU36iJ372v+kaTHsbIWw3EHCwmuxKLThcXtQiFUT8SdzHmf1KP2yirg2w==","signatures":[{"sig":"MEUCIQDI/gINlrHT7a5lgQt4L6vKReji9NyY7HEQgBh/oPOadAIgUbey8/q78oCTjzmOUTjNdqYlZsUj/2Z4UFwAvHAVgXA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi-codemode@2026.8.26","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":497955},"main":"./src/index.ts","type":"module","types":"./src/index.ts","engines":{"node":">=24.0.0"},"exports":{".":"./src/index.ts","./package.json":"./package.json"},"scripts":{"test":"npx tsx ../../node_modules/vitest/dist/cli.js --run test/","build":"node -e \"\"","clean":"node -e \"\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b59e4503-db56-4e82-89c7-e80f7e094f2c"}},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/senpi-codemode"},"_npmVersion":"11.17.0","description":"Source-only senpi extension package for codemode evaluation tools","directories":{},"_nodeVersion":"24.19.0","dependencies":{"typebox":"1.3.18","@babel/parser":"8.0.4","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.8.26"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@code-yeongyu/senpi":"2026.8.26"},"peerDependencies":{"@code-yeongyu/senpi":"2026.8.26"},"_npmOperationalInternal":{"tmp":"tmp/senpi-codemode_2026.8.26_1787724016869_0.9638122236307658","host":"s3://npm-registry-packages-npm-production"}},"2026.8.26-2":{"name":"@code-yeongyu/senpi-codemode","version":"2026.8.26-2","keywords":["senpi","pi","extension","codemode"],"author":{"name":"Yeongyu Kim"},"license":"MIT","_id":"@code-yeongyu/senpi-codemode@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"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"21279e7ac02b5a1e685121b7477a48cd96557be5","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi-codemode/-/senpi-codemode-2026.8.26-2.tgz","fileCount":88,"integrity":"sha512-NOclTjprCnSP94WuhivJ8drP1Lks5g+9QFaWphYIqP7BbnZ3oZf/AEZwmVIq9M0jWvGhPjQtPKsC4cq5A4Jq5g==","signatures":[{"sig":"MEUCIED4fcZV/jHxfZvPYZb3BdIPUARUIbSlcSbR6rg3SHoLAiEA9BnnPYhqBL3MretyWs57ybRXXCokWFI9SWh9r26kIR8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi-codemode@2026.8.26-2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":498064},"main":"./src/index.ts","type":"module","types":"./src/index.ts","engines":{"node":">=24.0.0"},"exports":{".":"./src/index.ts","./package.json":"./package.json"},"scripts":{"test":"npx tsx ../../node_modules/vitest/dist/cli.js --run test/","build":"node -e \"\"","clean":"node -e \"\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b59e4503-db56-4e82-89c7-e80f7e094f2c"}},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/senpi-codemode"},"_npmVersion":"11.17.0","description":"Source-only senpi extension package for codemode evaluation tools","directories":{},"_nodeVersion":"24.19.0","dependencies":{"typebox":"1.3.18","@babel/parser":"8.0.4","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.8.26-2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@code-yeongyu/senpi":"2026.8.26-2"},"peerDependencies":{"@code-yeongyu/senpi":"2026.8.26-2"},"_npmOperationalInternal":{"tmp":"tmp/senpi-codemode_2026.8.26-2_1787744607763_0.3001669334049175","host":"s3://npm-registry-packages-npm-production"}},"2026.8.27":{"name":"@code-yeongyu/senpi-codemode","version":"2026.8.27","keywords":["senpi","pi","extension","codemode"],"author":{"name":"Yeongyu Kim"},"license":"MIT","_id":"@code-yeongyu/senpi-codemode@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"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"51921386d4daa598e54eb9abc32ca9d0bf8f53f4","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi-codemode/-/senpi-codemode-2026.8.27.tgz","fileCount":88,"integrity":"sha512-0ETb8LuPwA0OCbENqItSUgBQayEeJWTc7enRRNaQSeaf983OXxoOu5/Le3yRUvEdpG/LGxdcyVo9Hh5uJhCXCw==","signatures":[{"sig":"MEYCIQD+nwR6dGzKY6rBd51vxUHgnHpZ/x2iheH4waXtJnvgkwIhALiOD5y1nVLJLaqRL6Qzhv2iv2i5ve44AIuQVY1ZRxno","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi-codemode@2026.8.27","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":520796},"main":"./src/index.ts","type":"module","types":"./src/index.ts","engines":{"node":">=24.0.0"},"exports":{".":"./src/index.ts","./package.json":"./package.json"},"scripts":{"test":"npx tsx ../../node_modules/vitest/dist/cli.js --run test/","build":"node -e \"\"","clean":"node -e \"\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b59e4503-db56-4e82-89c7-e80f7e094f2c"}},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/senpi-codemode"},"_npmVersion":"11.17.0","description":"Source-only senpi extension package for codemode evaluation tools","directories":{},"_nodeVersion":"24.19.0","dependencies":{"typebox":"1.3.18","@babel/parser":"8.0.4","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.8.27"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@code-yeongyu/senpi":"2026.8.27"},"peerDependencies":{"@code-yeongyu/senpi":"2026.8.27"},"_npmOperationalInternal":{"tmp":"tmp/senpi-codemode_2026.8.27_1787818957844_0.7566079347855414","host":"s3://npm-registry-packages-npm-production"}},"2026.8.28":{"name":"@code-yeongyu/senpi-codemode","version":"2026.8.28","keywords":["senpi","pi","extension","codemode"],"author":{"name":"Yeongyu Kim"},"license":"MIT","_id":"@code-yeongyu/senpi-codemode@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"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"e3f604494a6ffc476887836e91c1211718184226","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi-codemode/-/senpi-codemode-2026.8.28.tgz","fileCount":88,"integrity":"sha512-pApI0diTB565nYALBE026Fx0KVsu5AwwIaMdl0nPQ0z1tqaAH8opF3dQdi9empwxB92+DBLtQn8QnXMmNuoKfw==","signatures":[{"sig":"MEQCIANVLG4NZdpc+wh+0l/7twRo+YZa5GSAvezmGx0/UvmIAiBvkhJ2PQOw9kCJpl4Lu9q3OqT5DLU1xv2gHz6hrNr6Tg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi-codemode@2026.8.28","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":522859},"main":"./src/index.ts","type":"module","types":"./src/index.ts","engines":{"node":">=24.0.0"},"exports":{".":"./src/index.ts","./package.json":"./package.json"},"scripts":{"test":"npx tsx ../../node_modules/vitest/dist/cli.js --run test/","build":"node -e \"\"","clean":"node -e \"\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b59e4503-db56-4e82-89c7-e80f7e094f2c"}},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/senpi-codemode"},"_npmVersion":"11.17.0","description":"Source-only senpi extension package for codemode evaluation tools","directories":{},"_nodeVersion":"24.19.0","dependencies":{"typebox":"1.3.18","@babel/parser":"8.0.4","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.8.28"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@code-yeongyu/senpi":"2026.8.28"},"peerDependencies":{"@code-yeongyu/senpi":"2026.8.28"},"_npmOperationalInternal":{"tmp":"tmp/senpi-codemode_2026.8.28_1787893980748_0.5276521316115883","host":"s3://npm-registry-packages-npm-production"}},"2026.8.28-2":{"name":"@code-yeongyu/senpi-codemode","version":"2026.8.28-2","keywords":["senpi","pi","extension","codemode"],"author":{"name":"Yeongyu Kim"},"license":"MIT","_id":"@code-yeongyu/senpi-codemode@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"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"7fa19c7deea7e9624487dd993f2653a9c3753088","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi-codemode/-/senpi-codemode-2026.8.28-2.tgz","fileCount":88,"integrity":"sha512-rM71DLGhiBSUkNtTkHXx1hNeZopzz3eud9/3QIvi+UBfORFfzbDa+e/ZBTh3DY0hOPzFQJs4tcPaH0kU51POuQ==","signatures":[{"sig":"MEUCIGRcD76k5y+2WhpdiqeMzUaCgcqh/DXMdUFSkCO+z/tZAiEA+5LYmIzpFaSYMcCsalsZMVyIHyy9pXhpWAuVk/TzBC0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi-codemode@2026.8.28-2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":522968},"main":"./src/index.ts","type":"module","types":"./src/index.ts","engines":{"node":">=24.0.0"},"exports":{".":"./src/index.ts","./package.json":"./package.json"},"scripts":{"test":"npx tsx ../../node_modules/vitest/dist/cli.js --run test/","build":"node -e \"\"","clean":"node -e \"\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b59e4503-db56-4e82-89c7-e80f7e094f2c"}},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/senpi-codemode"},"_npmVersion":"11.17.0","description":"Source-only senpi extension package for codemode evaluation tools","directories":{},"_nodeVersion":"24.19.0","dependencies":{"typebox":"1.3.18","@babel/parser":"8.0.4","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.8.28-2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@code-yeongyu/senpi":"2026.8.28-2"},"peerDependencies":{"@code-yeongyu/senpi":"2026.8.28-2"},"_npmOperationalInternal":{"tmp":"tmp/senpi-codemode_2026.8.28-2_1787957523412_0.7266143621817673","host":"s3://npm-registry-packages-npm-production"}},"2026.8.29":{"name":"@code-yeongyu/senpi-codemode","version":"2026.8.29","keywords":["senpi","pi","extension","codemode"],"author":{"name":"Yeongyu Kim"},"license":"MIT","_id":"@code-yeongyu/senpi-codemode@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"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"51a92c7efdc6faadca54966c970f52f41ffe7907","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi-codemode/-/senpi-codemode-2026.8.29.tgz","fileCount":88,"integrity":"sha512-Loc9m6V4GSxu00l3i/nAFyPmBJAhNB4JPfG6jBnh7Jz700EDXTLi/lrymmIIVcBX5ooVk4mYj/iQpEvuHH0d+g==","signatures":[{"sig":"MEUCIQDeKU82tJ0XwG1a92/PuIYCN/ABie7xLWgUHRlOAW/0FwIgcduni1OqCdl6Eh8KGUx2ddsi1+s+ltz1DvT6ZFKKEKM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi-codemode@2026.8.29","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":523059},"main":"./src/index.ts","type":"module","types":"./src/index.ts","engines":{"node":">=24.0.0"},"exports":{".":"./src/index.ts","./package.json":"./package.json"},"scripts":{"test":"npx tsx ../../node_modules/vitest/dist/cli.js --run test/","build":"node -e \"\"","clean":"node -e \"\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b59e4503-db56-4e82-89c7-e80f7e094f2c"}},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/senpi-codemode"},"_npmVersion":"11.17.0","description":"Source-only senpi extension package for codemode evaluation tools","directories":{},"_nodeVersion":"24.19.0","dependencies":{"typebox":"1.3.18","@babel/parser":"8.0.4","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.8.29"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@code-yeongyu/senpi":"2026.8.29"},"peerDependencies":{"@code-yeongyu/senpi":"2026.8.29"},"_npmOperationalInternal":{"tmp":"tmp/senpi-codemode_2026.8.29_1787980142881_0.437204700518268","host":"s3://npm-registry-packages-npm-production"}},"2026.8.30":{"name":"@code-yeongyu/senpi-codemode","version":"2026.8.30","keywords":["senpi","pi","extension","codemode"],"author":{"name":"Yeongyu Kim"},"license":"MIT","_id":"@code-yeongyu/senpi-codemode@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"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"e039292f093132a935faf2ba3566e2301a4a548a","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi-codemode/-/senpi-codemode-2026.8.30.tgz","fileCount":88,"integrity":"sha512-3V2ZyAyRG1NeohqNAS9bVkxIJ9w2thG7bJSPrudg78roWO71I6q0sGchjjxjbsql9vwcpKlHRfb6HgblDN7Idw==","signatures":[{"sig":"MEUCIGC7uDzsG8IfW7SB+4bWcaidCiGh45Ud9k4rmswnoQ3AAiEAkMxs2jP06CQRad1A9vO9cLDD6mvJfk3ns7esIU9iilI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi-codemode@2026.8.30","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":527187},"main":"./src/index.ts","type":"module","types":"./src/index.ts","engines":{"node":">=24.0.0"},"exports":{".":"./src/index.ts","./package.json":"./package.json"},"scripts":{"test":"npx tsx ../../node_modules/vitest/dist/cli.js --run test/","build":"node -e \"\"","clean":"node -e \"\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b59e4503-db56-4e82-89c7-e80f7e094f2c"}},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/senpi-codemode"},"_npmVersion":"11.17.0","description":"Source-only senpi extension package for codemode evaluation tools","directories":{},"_nodeVersion":"24.19.0","dependencies":{"typebox":"1.3.18","@babel/parser":"8.0.4","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.8.30"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@code-yeongyu/senpi":"2026.8.30"},"peerDependencies":{"@code-yeongyu/senpi":"2026.8.30"},"_npmOperationalInternal":{"tmp":"tmp/senpi-codemode_2026.8.30_1788081451896_0.17688352050044842","host":"s3://npm-registry-packages-npm-production"}},"2026.8.30-2":{"name":"@code-yeongyu/senpi-codemode","version":"2026.8.30-2","keywords":["senpi","pi","extension","codemode"],"author":{"name":"Yeongyu Kim"},"license":"MIT","_id":"@code-yeongyu/senpi-codemode@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"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"443d5dc010b8bbb49513d535d3c52313c1bba180","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi-codemode/-/senpi-codemode-2026.8.30-2.tgz","fileCount":88,"integrity":"sha512-i4vHUNMDOHshcogF3WvuDFBs7xUMB3kJf78BfgaU+Nn0DVdi4xwpjwIhuakohzICmMczN45pHGNZ+ixJgV5nDg==","signatures":[{"sig":"MEUCIFNZqw6LMyUM/p9nVoyIpd5JCbn0n1XUSG+EVhePO2tiAiEA5bklds4m5k5DoRoKViL0DglADQQ8Apfn+6YaHPJu5M4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi-codemode@2026.8.30-2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":527296},"main":"./src/index.ts","type":"module","types":"./src/index.ts","engines":{"node":">=24.0.0"},"exports":{".":"./src/index.ts","./package.json":"./package.json"},"scripts":{"test":"npx tsx ../../node_modules/vitest/dist/cli.js --run test/","build":"node -e \"\"","clean":"node -e \"\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b59e4503-db56-4e82-89c7-e80f7e094f2c"}},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/senpi-codemode"},"_npmVersion":"11.17.0","description":"Source-only senpi extension package for codemode evaluation tools","directories":{},"_nodeVersion":"24.19.0","dependencies":{"typebox":"1.3.18","@babel/parser":"8.0.4","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.8.30-2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@code-yeongyu/senpi":"2026.8.30-2"},"peerDependencies":{"@code-yeongyu/senpi":"2026.8.30-2"},"_npmOperationalInternal":{"tmp":"tmp/senpi-codemode_2026.8.30-2_1788095250019_0.3108257862413386","host":"s3://npm-registry-packages-npm-production"}},"2026.8.30-3":{"name":"@code-yeongyu/senpi-codemode","version":"2026.8.30-3","keywords":["senpi","pi","extension","codemode"],"author":{"name":"Yeongyu Kim"},"license":"MIT","_id":"@code-yeongyu/senpi-codemode@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"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"a3baf242599ecf798a2a244a96a83b0ace54247f","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi-codemode/-/senpi-codemode-2026.8.30-3.tgz","fileCount":88,"integrity":"sha512-0p8uNmq21tlX7ou7lf+dnrIxzWBhMbSqcOmTnSnWIVtSfV/aDEpuYIXm45FE/5Mnk8sqJ3NYFjtz0ae/q76z6w==","signatures":[{"sig":"MEUCIBpmShtNe3UwFz78fzj8clAX4o0U7zfbgzCq0l2TzjVRAiEAhNO516f/6BndtwtseHtaqbdekUzUl/Y5evmrqIzobtM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi-codemode@2026.8.30-3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":527397},"main":"./src/index.ts","type":"module","types":"./src/index.ts","engines":{"node":">=24.0.0"},"exports":{".":"./src/index.ts","./package.json":"./package.json"},"scripts":{"test":"npx tsx ../../node_modules/vitest/dist/cli.js --run test/","build":"node -e \"\"","clean":"node -e \"\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b59e4503-db56-4e82-89c7-e80f7e094f2c"}},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/senpi-codemode"},"_npmVersion":"11.17.0","description":"Source-only senpi extension package for codemode evaluation tools","directories":{},"_nodeVersion":"24.19.0","dependencies":{"typebox":"1.3.18","@babel/parser":"8.0.4","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.8.30-3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@code-yeongyu/senpi":"2026.8.30-3"},"peerDependencies":{"@code-yeongyu/senpi":"2026.8.30-3"},"_npmOperationalInternal":{"tmp":"tmp/senpi-codemode_2026.8.30-3_1788108334015_0.7655730644075551","host":"s3://npm-registry-packages-npm-production"}},"2026.8.31":{"name":"@code-yeongyu/senpi-codemode","version":"2026.8.31","keywords":["senpi","pi","extension","codemode"],"author":{"name":"Yeongyu Kim"},"license":"MIT","_id":"@code-yeongyu/senpi-codemode@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"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"b14c619e779107f21d8d581c3239b58dbc04feb2","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi-codemode/-/senpi-codemode-2026.8.31.tgz","fileCount":100,"integrity":"sha512-Rzo/73q6lyRmeBcftNQVjXFntedcSwn0u1mbGRHYsD2zuVhdox0CfGLlakp+FUfW5kyfR4alNXCeEN9iv1pDiw==","signatures":[{"sig":"MEYCIQCRGGHojeA4V5Dt2Z8txntgOoPGKl3lUvkdPAm+w2elKQIhAJlvyO+a/LRwe5ObJzZnCH8ThO/cevF2YGARtBv1E8yU","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi-codemode@2026.8.31","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":576555},"main":"./src/index.ts","type":"module","types":"./src/index.ts","engines":{"node":">=24.0.0"},"exports":{".":"./src/index.ts","./package.json":"./package.json"},"scripts":{"test":"npx tsx ../../node_modules/vitest/dist/cli.js --run test/","build":"node -e \"\"","clean":"node -e \"\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b59e4503-db56-4e82-89c7-e80f7e094f2c"}},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/senpi-codemode"},"_npmVersion":"11.17.0","description":"Source-only senpi extension package for codemode evaluation tools","directories":{},"_nodeVersion":"24.19.0","dependencies":{"typebox":"1.3.18","@babel/parser":"8.0.4","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.8.31"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@code-yeongyu/senpi":"2026.8.31"},"peerDependencies":{"@code-yeongyu/senpi":"2026.8.31"},"_npmOperationalInternal":{"tmp":"tmp/senpi-codemode_2026.8.31_1788174855366_0.7627230509060163","host":"s3://npm-registry-packages-npm-production"}},"2026.9.2":{"name":"@code-yeongyu/senpi-codemode","version":"2026.9.2","keywords":["senpi","pi","extension","codemode"],"author":{"name":"Yeongyu Kim"},"license":"MIT","_id":"@code-yeongyu/senpi-codemode@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"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"06973abedfc503e84f00a47bd31034d53e008a4e","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi-codemode/-/senpi-codemode-2026.9.2.tgz","fileCount":100,"integrity":"sha512-xnnccdo/i86uE0eB1BxSyVZy7U3PPiM0L2wU/U4mZNHDeWUIWAjH0T84IAEUpTgqpTDpXuwRc6XBCSFZqkvclQ==","signatures":[{"sig":"MEYCIQDNO6QsIkHqf61wQ1j03gyXBfh95U3g8wbssmzA5dXicQIhAKYsD87w6Kgn4+jLjz8gK0NQ6NCVttFZKibzio7bwuyd","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi-codemode@2026.9.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":576649},"main":"./src/index.ts","type":"module","types":"./src/index.ts","engines":{"node":">=24.0.0"},"exports":{".":"./src/index.ts","./package.json":"./package.json"},"scripts":{"test":"npx tsx ../../node_modules/vitest/dist/cli.js --run test/","build":"node -e \"\"","clean":"node -e \"\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b59e4503-db56-4e82-89c7-e80f7e094f2c"}},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/senpi-codemode"},"_npmVersion":"11.17.0","description":"Source-only senpi extension package for codemode evaluation tools","directories":{},"_nodeVersion":"24.19.0","dependencies":{"typebox":"1.3.18","@babel/parser":"8.0.4","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.9.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@code-yeongyu/senpi":"2026.9.2"},"peerDependencies":{"@code-yeongyu/senpi":"2026.9.2"},"_npmOperationalInternal":{"tmp":"tmp/senpi-codemode_2026.9.2_1788313898243_0.5836511927976862","host":"s3://npm-registry-packages-npm-production"}},"2026.9.2-3":{"name":"@code-yeongyu/senpi-codemode","version":"2026.9.2-3","keywords":["senpi","pi","extension","codemode"],"author":{"name":"Yeongyu Kim"},"license":"MIT","_id":"@code-yeongyu/senpi-codemode@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"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"72b4bca3fcbc8c8e7161d8a60c472db45e0187c4","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi-codemode/-/senpi-codemode-2026.9.2-3.tgz","fileCount":100,"integrity":"sha512-K5J4nwEh1e3zOa6HFAHMKarLMKdD3baWdVgXxEGVbprDR0a4IAbnLvygJOOtPcQscDDUukBc7uCqkSBhRIG7sA==","signatures":[{"sig":"MEUCIQCmB33jKx261gkJB/8OccuN37xxMb/+Qn6tT/xK0u01KwIgSRSPThvMu2D2oRqfnwXPyZNG4177VFQ3EtTDD/giTQc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi-codemode@2026.9.2-3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":580652},"main":"./src/index.ts","type":"module","types":"./src/index.ts","engines":{"node":">=24.0.0"},"exports":{".":"./src/index.ts","./package.json":"./package.json"},"scripts":{"test":"npx tsx ../../node_modules/vitest/dist/cli.js --run test/","build":"node -e \"\"","clean":"node -e \"\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b59e4503-db56-4e82-89c7-e80f7e094f2c"}},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/senpi-codemode"},"_npmVersion":"11.17.0","description":"Source-only senpi extension package for codemode evaluation tools","directories":{},"_nodeVersion":"24.19.0","dependencies":{"typebox":"1.3.18","@babel/parser":"8.0.4","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.9.2-3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@code-yeongyu/senpi":"2026.9.2-3"},"peerDependencies":{"@code-yeongyu/senpi":"2026.9.2-3"},"_npmOperationalInternal":{"tmp":"tmp/senpi-codemode_2026.9.2-3_1788339663102_0.12861446626016693","host":"s3://npm-registry-packages-npm-production"}},"2026.9.2-4":{"name":"@code-yeongyu/senpi-codemode","version":"2026.9.2-4","keywords":["senpi","pi","extension","codemode"],"author":{"name":"Yeongyu Kim"},"license":"MIT","_id":"@code-yeongyu/senpi-codemode@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"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"5d45f89833040a98b4a55d8e5e8ab5a0079176e1","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi-codemode/-/senpi-codemode-2026.9.2-4.tgz","fileCount":100,"integrity":"sha512-O7FPB8a8iO5NnKe28xtkyTFK/c0dJEjahANRwVLzS4IptcygIwwqJVk1kV/I8oZekwX8ft+sjASpjT/+G87saQ==","signatures":[{"sig":"MEQCIDGphqShnOkqGCCeKUsJfHoRkzvGXl6RLNdEDmu6DMnXAiB5t8QBtrM2Aaew883lez6OGmhwlRWWv5ZakAo8C3ZdGg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi-codemode@2026.9.2-4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":580752},"main":"./src/index.ts","type":"module","types":"./src/index.ts","engines":{"node":">=24.0.0"},"exports":{".":"./src/index.ts","./package.json":"./package.json"},"scripts":{"test":"npx tsx ../../node_modules/vitest/dist/cli.js --run test/","build":"node -e \"\"","clean":"node -e \"\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b59e4503-db56-4e82-89c7-e80f7e094f2c"}},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/senpi-codemode"},"_npmVersion":"11.17.0","description":"Source-only senpi extension package for codemode evaluation tools","directories":{},"_nodeVersion":"24.19.0","dependencies":{"typebox":"1.3.18","@babel/parser":"8.0.4","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.9.2-4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@code-yeongyu/senpi":"2026.9.2-4"},"peerDependencies":{"@code-yeongyu/senpi":"2026.9.2-4"},"_npmOperationalInternal":{"tmp":"tmp/senpi-codemode_2026.9.2-4_1788344847094_0.4684250542056929","host":"s3://npm-registry-packages-npm-production"}},"2026.9.3":{"name":"@code-yeongyu/senpi-codemode","version":"2026.9.3","keywords":["senpi","pi","extension","codemode"],"author":{"name":"Yeongyu Kim"},"license":"MIT","_id":"@code-yeongyu/senpi-codemode@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"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"61e2e646a43ccad2e62f3bba271cdf95acb9501c","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi-codemode/-/senpi-codemode-2026.9.3.tgz","fileCount":100,"integrity":"sha512-WoTk1iBozVqp1lU9b8comjoyv5zKvkbJElEiJMgV8rC9agTI1y4IA0ChTSfnCISKwja2kKsBSQDIFgWRJ8CYxw==","signatures":[{"sig":"MEQCIC3TI2cgV1HPkHqUtOYVltRqEMjYMVXDZEGLo8qZgp07AiBIOF8qvDhTzN8BztbU0adicfgunljYpcWTcirr2tElKQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi-codemode@2026.9.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":580842},"main":"./src/index.ts","type":"module","types":"./src/index.ts","engines":{"node":">=24.0.0"},"exports":{".":"./src/index.ts","./package.json":"./package.json"},"scripts":{"test":"npx tsx ../../node_modules/vitest/dist/cli.js --run test/","build":"node -e \"\"","clean":"node -e \"\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b59e4503-db56-4e82-89c7-e80f7e094f2c"}},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/senpi-codemode"},"_npmVersion":"11.17.0","description":"Source-only senpi extension package for codemode evaluation tools","directories":{},"_nodeVersion":"24.19.0","dependencies":{"typebox":"1.3.18","@babel/parser":"8.0.4","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.9.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@code-yeongyu/senpi":"2026.9.3"},"peerDependencies":{"@code-yeongyu/senpi":"2026.9.3"},"_npmOperationalInternal":{"tmp":"tmp/senpi-codemode_2026.9.3_1788396425190_0.30240303905865606","host":"s3://npm-registry-packages-npm-production"}},"2026.9.3-2":{"name":"@code-yeongyu/senpi-codemode","version":"2026.9.3-2","keywords":["senpi","pi","extension","codemode"],"author":{"name":"Yeongyu Kim"},"license":"MIT","_id":"@code-yeongyu/senpi-codemode@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"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"b9072abc59f3978883e782dbcde68c7b80ac9069","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi-codemode/-/senpi-codemode-2026.9.3-2.tgz","fileCount":102,"integrity":"sha512-qJEBl9BeJt+1a6VMP1qbNfXH+IQAxJ9FznkKj7EgnX84bYtLT3JQUIwICmtRO99HsQNbO+dzfSfWCyMndNldKw==","signatures":[{"sig":"MEUCIQDKJxRZXl21z79h+tM+RlCnNtVhKf4dfFMh5RGXP3XwGAIgWwpX+dXDSvKOOiSpWLoGjRgG0YQcGOctsaXjmrfaXjQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi-codemode@2026.9.3-2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":588329},"main":"./src/index.ts","type":"module","types":"./src/index.ts","engines":{"node":">=24.0.0"},"exports":{".":"./src/index.ts","./package.json":"./package.json"},"scripts":{"test":"npx tsx ../../node_modules/vitest/dist/cli.js --run test/","build":"node -e \"\"","clean":"node -e \"\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b59e4503-db56-4e82-89c7-e80f7e094f2c"}},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/senpi-codemode"},"_npmVersion":"11.17.0","description":"Source-only senpi extension package for codemode evaluation tools","directories":{},"_nodeVersion":"24.19.0","dependencies":{"typebox":"1.3.18","@babel/parser":"8.0.4","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.9.3-2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@code-yeongyu/senpi":"2026.9.3-2"},"peerDependencies":{"@code-yeongyu/senpi":"2026.9.3-2"},"_npmOperationalInternal":{"tmp":"tmp/senpi-codemode_2026.9.3-2_1788415016964_0.22142068299127504","host":"s3://npm-registry-packages-npm-production"}},"2026.9.3-3":{"name":"@code-yeongyu/senpi-codemode","version":"2026.9.3-3","keywords":["senpi","pi","extension","codemode"],"author":{"name":"Yeongyu Kim"},"license":"MIT","_id":"@code-yeongyu/senpi-codemode@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"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"6b7d8af5569740d41a1fe65f983421652c5bdf32","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi-codemode/-/senpi-codemode-2026.9.3-3.tgz","fileCount":102,"integrity":"sha512-Zb4PeKZqOipFX/VArfzNtAmvAaulCMsdoEDJlP91WPigLIzq+SxWd+jUIvcFRTNoTEnXA25uypuZpKt747K5XA==","signatures":[{"sig":"MEUCIQDelhM1MzMGUTtYvf0ZF2LxKmZDUOjSi74phL+gpGPiSwIgDPP8hYNcJ4p075OuEwinFlOG7LDWVCrM6yriZIXojTk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi-codemode@2026.9.3-3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":588429},"main":"./src/index.ts","type":"module","types":"./src/index.ts","engines":{"node":">=24.0.0"},"exports":{".":"./src/index.ts","./package.json":"./package.json"},"scripts":{"test":"npx tsx ../../node_modules/vitest/dist/cli.js --run test/","build":"node -e \"\"","clean":"node -e \"\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b59e4503-db56-4e82-89c7-e80f7e094f2c"}},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/senpi-codemode"},"_npmVersion":"11.17.0","description":"Source-only senpi extension package for codemode evaluation tools","directories":{},"_nodeVersion":"24.19.0","dependencies":{"typebox":"1.3.18","@babel/parser":"8.0.4","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.9.3-3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@code-yeongyu/senpi":"2026.9.3-3"},"peerDependencies":{"@code-yeongyu/senpi":"2026.9.3-3"},"_npmOperationalInternal":{"tmp":"tmp/senpi-codemode_2026.9.3-3_1788434346436_0.23216172966362514","host":"s3://npm-registry-packages-npm-production"}},"2026.9.4":{"name":"@code-yeongyu/senpi-codemode","version":"2026.9.4","keywords":["senpi","pi","extension","codemode"],"author":{"name":"Yeongyu Kim"},"license":"MIT","_id":"@code-yeongyu/senpi-codemode@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"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"a2538dc5c126aa62c877837d131b9f71e0c92b20","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi-codemode/-/senpi-codemode-2026.9.4.tgz","fileCount":102,"integrity":"sha512-g3zje2UjlpiVVFBctk1/0VNdU/ThoVZqiahh0UEMSllVK/LO0qJbLG0NBt7vfxP6HByLv/AeC+HS9Fndrnnm8Q==","signatures":[{"sig":"MEUCIQCiYMOfdyez35VIzAxWympTXhwr1/DugW9Jovu1p0CrTwIgffj7o3yywLXXdDIMXA/Ty9ncJHS9nTn5g9lwd60MaIs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi-codemode@2026.9.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":588519},"main":"./src/index.ts","type":"module","types":"./src/index.ts","engines":{"node":">=24.0.0"},"exports":{".":"./src/index.ts","./package.json":"./package.json"},"scripts":{"test":"npx tsx ../../node_modules/vitest/dist/cli.js --run test/","build":"node -e \"\"","clean":"node -e \"\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b59e4503-db56-4e82-89c7-e80f7e094f2c"}},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/senpi-codemode"},"_npmVersion":"11.19.0","description":"Source-only senpi extension package for codemode evaluation tools","directories":{},"_nodeVersion":"24.20.0","dependencies":{"typebox":"1.3.18","@babel/parser":"8.0.4","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.9.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@code-yeongyu/senpi":"2026.9.4"},"peerDependencies":{"@code-yeongyu/senpi":"2026.9.4"},"_npmOperationalInternal":{"tmp":"tmp/senpi-codemode_2026.9.4_1788489383125_0.8130331252228138","host":"s3://npm-registry-packages-npm-production"}},"2026.9.4-2":{"name":"@code-yeongyu/senpi-codemode","version":"2026.9.4-2","keywords":["senpi","pi","extension","codemode"],"author":{"name":"Yeongyu Kim"},"license":"MIT","_id":"@code-yeongyu/senpi-codemode@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"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"4462519c973b0c4ab69929838bbed6da53fdabe8","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi-codemode/-/senpi-codemode-2026.9.4-2.tgz","fileCount":102,"integrity":"sha512-3LHozilSD7g5URgWx/pvxVfpwIFSmkoMkujsWpUxrJGJoN3udpy6KfL1zuQie5FuRGS7kTkFMGDssYgnxXbiuQ==","signatures":[{"sig":"MEYCIQCLXNs/J4RshS7KtCc3x47pYtpEm3LZOOp9BKaZJzSuMgIhALx6Pc0pzwFoJaRz1pDq7V1s6V1D/MFmf2xvapdiKOAO","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi-codemode@2026.9.4-2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":589749},"main":"./src/index.ts","type":"module","types":"./src/index.ts","engines":{"node":">=24.0.0"},"exports":{".":"./src/index.ts","./package.json":"./package.json"},"scripts":{"test":"npx tsx ../../node_modules/vitest/dist/cli.js --run test/","build":"node -e \"\"","clean":"node -e \"\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b59e4503-db56-4e82-89c7-e80f7e094f2c"}},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/senpi-codemode"},"_npmVersion":"11.19.0","description":"Source-only senpi extension package for codemode evaluation tools","directories":{},"_nodeVersion":"24.20.0","dependencies":{"typebox":"1.3.18","@babel/parser":"8.0.4","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.9.4-2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@code-yeongyu/senpi":"2026.9.4-2"},"peerDependencies":{"@code-yeongyu/senpi":"2026.9.4-2"},"_npmOperationalInternal":{"tmp":"tmp/senpi-codemode_2026.9.4-2_1788504950921_0.8635179015844034","host":"s3://npm-registry-packages-npm-production"}},"2026.9.4-3":{"name":"@code-yeongyu/senpi-codemode","version":"2026.9.4-3","keywords":["senpi","pi","extension","codemode"],"author":{"name":"Yeongyu Kim"},"license":"MIT","_id":"@code-yeongyu/senpi-codemode@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"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"af9a3261209c852b7ab545ddf9f79b81663d0dcd","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi-codemode/-/senpi-codemode-2026.9.4-3.tgz","fileCount":102,"integrity":"sha512-DX0Sf6/S5Ez8AeIAzAJyYxrAUAFmDhQ+FP+KxXw+RmLwJfX/cxzktiUcm3v89zR1xHDuiPkCDWQMHGhA5uM1OQ==","signatures":[{"sig":"MEQCIBJtqWMsozZc45P3riTWNGZNjNvQ8lBFgzST5FLrmF0mAiBu8IKDMYlKWTvpXgcELjvgeLNxZGpTDrPkxjaYt6l1mQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi-codemode@2026.9.4-3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":590643},"main":"./src/index.ts","type":"module","types":"./src/index.ts","engines":{"node":">=24.0.0"},"exports":{".":"./src/index.ts","./package.json":"./package.json"},"scripts":{"test":"vitest run test/","build":"node -e \"\"","clean":"node -e \"\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b59e4503-db56-4e82-89c7-e80f7e094f2c"}},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/senpi-codemode"},"_npmVersion":"11.19.0","description":"Source-only senpi extension package for codemode evaluation tools","directories":{},"_nodeVersion":"24.20.0","dependencies":{"typebox":"1.3.18","@babel/parser":"8.0.4","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.9.4-3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@code-yeongyu/senpi":"2026.9.4-3"},"peerDependencies":{"@code-yeongyu/senpi":"2026.9.4-3"},"_npmOperationalInternal":{"tmp":"tmp/senpi-codemode_2026.9.4-3_1788528110581_0.9575720149231794","host":"s3://npm-registry-packages-npm-production"}},"2026.9.5":{"name":"@code-yeongyu/senpi-codemode","version":"2026.9.5","keywords":["senpi","pi","extension","codemode"],"author":{"name":"Yeongyu Kim"},"license":"MIT","_id":"@code-yeongyu/senpi-codemode@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"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"0c4abc0fdb32e826a8795fc10a9b66ed9489babe","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi-codemode/-/senpi-codemode-2026.9.5.tgz","fileCount":103,"integrity":"sha512-BjPaVPcLq/FM0b3kDXejBM6GNMhjS/+fE0hpSi6zid4rJk6AxyY5TGDxmdbk72L7tW2RGGop492grQqW1o3bkg==","signatures":[{"sig":"MEYCIQCOhyk6y/nHzSBK6uYvxhW83h+LeGy9isM+VZbEYjIwIwIhANjpLY94qerlWI5wtAFvFL3P0jhjDgrPGQRjP/OIcGJh","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi-codemode@2026.9.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":598651},"main":"./src/index.ts","type":"module","types":"./src/index.ts","engines":{"node":">=24.0.0"},"exports":{".":"./src/index.ts","./package.json":"./package.json"},"scripts":{"test":"vitest run test/","build":"node -e \"\"","clean":"node -e \"\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b59e4503-db56-4e82-89c7-e80f7e094f2c"}},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/senpi-codemode"},"_npmVersion":"11.19.0","description":"Source-only senpi extension package for codemode evaluation tools","directories":{},"_nodeVersion":"24.20.0","dependencies":{"typebox":"1.3.18","@babel/parser":"8.0.4","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.9.5"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@code-yeongyu/senpi":"2026.9.5"},"peerDependencies":{"@code-yeongyu/senpi":"2026.9.5"},"_npmOperationalInternal":{"tmp":"tmp/senpi-codemode_2026.9.5_1788601703380_0.9223880107147664","host":"s3://npm-registry-packages-npm-production"}},"2026.9.5-2":{"name":"@code-yeongyu/senpi-codemode","version":"2026.9.5-2","keywords":["senpi","pi","extension","codemode"],"author":{"name":"Yeongyu Kim"},"license":"MIT","_id":"@code-yeongyu/senpi-codemode@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"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"9df3eabe80abb1736a67d48b2153e94d59e891a6","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi-codemode/-/senpi-codemode-2026.9.5-2.tgz","fileCount":103,"integrity":"sha512-HcDhp5ylbSsCdTt3N1zyTannnsSScaUEbGd0xZmdUxoSoKzAADYDElBTTtCnaYROz/QlywGTs2XZl0x2CqYBVg==","signatures":[{"sig":"MEYCIQCLb/zIGHhcWKr3dljomLx9TbluAZVIFB+UiYD2XeQiFgIhAKNPtC/oPYQ0Alva04nBGOK6TOhn8nv99ixZLq1Mgdt4","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi-codemode@2026.9.5-2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":599566},"main":"./src/index.ts","type":"module","types":"./src/index.ts","engines":{"node":">=24.0.0"},"exports":{".":"./src/index.ts","./package.json":"./package.json"},"scripts":{"test":"vitest run test/","build":"node -e \"\"","clean":"node -e \"\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b59e4503-db56-4e82-89c7-e80f7e094f2c"}},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/senpi-codemode"},"_npmVersion":"11.19.0","description":"Source-only senpi extension package for codemode evaluation tools","directories":{},"_nodeVersion":"24.20.0","dependencies":{"typebox":"1.3.18","@babel/parser":"8.0.4","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.9.5-2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@code-yeongyu/senpi":"2026.9.5-2"},"peerDependencies":{"@code-yeongyu/senpi":"2026.9.5-2"},"_npmOperationalInternal":{"tmp":"tmp/senpi-codemode_2026.9.5-2_1788617408740_0.8200687430685405","host":"s3://npm-registry-packages-npm-production"}},"2026.9.5-3":{"name":"@code-yeongyu/senpi-codemode","version":"2026.9.5-3","keywords":["senpi","pi","extension","codemode"],"author":{"name":"Yeongyu Kim"},"license":"MIT","_id":"@code-yeongyu/senpi-codemode@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"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"b4b09f1e56f2ee15542b6d12585309c4ff246602","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi-codemode/-/senpi-codemode-2026.9.5-3.tgz","fileCount":103,"integrity":"sha512-PS2j9o31cyhgtMVeC28yI6U+v262cVZr/tmN9RV6CXhXLdlTL1ZdnHzBN4eIcsZV23rDM4Bcm1HEdCWN8Bj7lg==","signatures":[{"sig":"MEUCIQCbECiq3uyggmOnsw6+tiDKv7VuqwNNWJNKCChVjhlCgAIgeCvPvUU1BTYMEPziycsW27I+dXsyJ94lpKewWIaeymM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi-codemode@2026.9.5-3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":599666},"main":"./src/index.ts","type":"module","types":"./src/index.ts","engines":{"node":">=24.0.0"},"exports":{".":"./src/index.ts","./package.json":"./package.json"},"scripts":{"test":"vitest run test/","build":"node -e \"\"","clean":"node -e \"\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b59e4503-db56-4e82-89c7-e80f7e094f2c"}},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/senpi-codemode"},"_npmVersion":"11.19.0","description":"Source-only senpi extension package for codemode evaluation tools","directories":{},"_nodeVersion":"24.20.0","dependencies":{"typebox":"1.3.18","@babel/parser":"8.0.4","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.9.5-3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@code-yeongyu/senpi":"2026.9.5-3"},"peerDependencies":{"@code-yeongyu/senpi":"2026.9.5-3"},"_npmOperationalInternal":{"tmp":"tmp/senpi-codemode_2026.9.5-3_1788618319507_0.7567317433666876","host":"s3://npm-registry-packages-npm-production"}},"2026.9.6":{"name":"@code-yeongyu/senpi-codemode","version":"2026.9.6","keywords":["senpi","pi","extension","codemode"],"author":{"name":"Yeongyu Kim"},"license":"MIT","_id":"@code-yeongyu/senpi-codemode@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"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"ddf15f2d3d94dfb4cd719e72c64e7792b66895ea","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi-codemode/-/senpi-codemode-2026.9.6.tgz","fileCount":108,"integrity":"sha512-tOYzes7yz5HCgiFSbd+uWtbe7w+JijaJTLro5cZ6UZ62AMyVm/VrVV1TayngQFrZ9MQb+d5AzRwSH7Q+SAs62A==","signatures":[{"sig":"MEYCIQD5n3J7gOMU2UtYNPJx89dhC90KwW1h/z1+xHUQ+MudzAIhAOjP+6pHg0fRaldP23mD/uFoIgHezoWNy4HeeIkylqOp","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi-codemode@2026.9.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":616263},"main":"./src/index.ts","type":"module","types":"./src/index.ts","engines":{"node":">=24.0.0"},"exports":{".":"./src/index.ts","./package.json":"./package.json"},"scripts":{"test":"vitest run test/","build":"node -e \"\"","clean":"node -e \"\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b59e4503-db56-4e82-89c7-e80f7e094f2c"}},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/senpi-codemode"},"_npmVersion":"11.19.0","description":"Source-only senpi extension package for codemode evaluation tools","directories":{},"_nodeVersion":"24.20.0","dependencies":{"typebox":"1.3.18","@babel/parser":"8.0.4","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.9.6"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@code-yeongyu/senpi":"2026.9.6"},"peerDependencies":{"@code-yeongyu/senpi":"2026.9.6"},"_npmOperationalInternal":{"tmp":"tmp/senpi-codemode_2026.9.6_1788716544231_0.906094518320278","host":"s3://npm-registry-packages-npm-production"}},"2026.9.7":{"name":"@code-yeongyu/senpi-codemode","version":"2026.9.7","keywords":["senpi","pi","extension","codemode"],"author":{"name":"Yeongyu Kim"},"license":"MIT","_id":"@code-yeongyu/senpi-codemode@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"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"c3b4ed6fbe78247b690b4cf32603f01f2068cc42","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi-codemode/-/senpi-codemode-2026.9.7.tgz","fileCount":108,"integrity":"sha512-dfjrYkRGsI6LVUVKPd9Ef4jIqQu6tNt7qVS66HfJxxtl2BMI184f2A8uCq9fcuEtIQBpOqnjuKvRgPRI/eiIeg==","signatures":[{"sig":"MEUCIDEzetnaz1s2vPwbeKMBeR0k/uQGMmrJGMQHQYPodTEoAiEAmhFb6LVrsUgzok00KC0eSS9+8sLZIcsvp9epm9C5ZLY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi-codemode@2026.9.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":617937},"main":"./src/index.ts","type":"module","types":"./src/index.ts","engines":{"node":">=24.0.0"},"exports":{".":"./src/index.ts","./package.json":"./package.json"},"scripts":{"test":"vitest run test/","build":"node -e \"\"","clean":"node -e \"\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b59e4503-db56-4e82-89c7-e80f7e094f2c"}},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/senpi-codemode"},"_npmVersion":"11.19.0","description":"Source-only senpi extension package for codemode evaluation tools","directories":{},"_nodeVersion":"24.20.0","dependencies":{"typebox":"1.3.18","@babel/parser":"8.0.4","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.9.7"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@code-yeongyu/senpi":"2026.9.7"},"peerDependencies":{"@code-yeongyu/senpi":"2026.9.7"},"_npmOperationalInternal":{"tmp":"tmp/senpi-codemode_2026.9.7_1788751535279_0.47447973999213433","host":"s3://npm-registry-packages-npm-production"}},"2026.9.7-2":{"name":"@code-yeongyu/senpi-codemode","version":"2026.9.7-2","keywords":["senpi","pi","extension","codemode"],"author":{"name":"Yeongyu Kim"},"license":"MIT","_id":"@code-yeongyu/senpi-codemode@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"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"2bb24aff2fef3ab5e87521fa386deab899a0a374","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi-codemode/-/senpi-codemode-2026.9.7-2.tgz","fileCount":109,"integrity":"sha512-jEb2xn97Ns6AsoYoQpemnV3Ad69DVo+vNSAnMtftu/CkLs/vKuyWlce2h9JjP3o/kE8CYOgkMcgHjzTAOJM2Jg==","signatures":[{"sig":"MEYCIQDWJ7wyQk3qBdlFArllfQEKvueVWi40y7kc8zfhTzRBawIhAIPNZQfCio9I54eGhjuxDl5GSAPvzHYHKflvXe0rCYBb","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi-codemode@2026.9.7-2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":631143},"main":"./src/index.ts","type":"module","types":"./src/index.ts","engines":{"node":">=24.0.0"},"exports":{".":"./src/index.ts","./package.json":"./package.json"},"scripts":{"test":"vitest run test/","build":"node -e \"\"","clean":"node -e \"\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b59e4503-db56-4e82-89c7-e80f7e094f2c"}},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/senpi-codemode"},"_npmVersion":"11.19.0","description":"Source-only senpi extension package for codemode evaluation tools","directories":{},"_nodeVersion":"24.20.0","dependencies":{"typebox":"1.3.18","@babel/parser":"8.0.4","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.9.7-2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@code-yeongyu/senpi":"2026.9.7-2"},"peerDependencies":{"@code-yeongyu/senpi":"2026.9.7-2"},"_npmOperationalInternal":{"tmp":"tmp/senpi-codemode_2026.9.7-2_1788800306460_0.5552051393706428","host":"s3://npm-registry-packages-npm-production"}},"2026.9.8":{"name":"@code-yeongyu/senpi-codemode","version":"2026.9.8","keywords":["senpi","pi","extension","codemode"],"author":{"name":"Yeongyu Kim"},"license":"MIT","_id":"@code-yeongyu/senpi-codemode@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"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"6b15f5f90bc64241a5483080c53123b1494394ea","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi-codemode/-/senpi-codemode-2026.9.8.tgz","fileCount":109,"integrity":"sha512-NIhiL2TjQwdBmiqCR48z94k4FVZRr0nx3bTXmnLnu/Dagpy8gH7QBxQgrCzskICZoSmsEXcdGv8To6mf+l3zUg==","signatures":[{"sig":"MEYCIQCVIRVNCpg1nsjqiCD7rNQBqF8SwrDb3HQOc/7nOTN2dQIhAOQIhyVs7NQj0FeGQy49z5oi+Yqkd2Az581DC2Ti4MHa","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi-codemode@2026.9.8","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":629750},"main":"./src/index.ts","type":"module","types":"./src/index.ts","engines":{"node":">=24.0.0"},"exports":{".":"./src/index.ts","./package.json":"./package.json"},"scripts":{"test":"vitest run test/","build":"node -e \"\"","clean":"node -e \"\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b59e4503-db56-4e82-89c7-e80f7e094f2c"}},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/senpi-codemode"},"_npmVersion":"11.19.0","description":"Source-only senpi extension package for codemode evaluation tools","directories":{},"_nodeVersion":"24.20.0","dependencies":{"typebox":"1.3.18","@babel/parser":"8.0.4","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.9.8"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@code-yeongyu/senpi":"2026.9.8"},"peerDependencies":{"@code-yeongyu/senpi":"2026.9.8"},"_npmOperationalInternal":{"tmp":"tmp/senpi-codemode_2026.9.8_1788889106338_0.06591106372938582","host":"s3://npm-registry-packages-npm-production"}},"2026.9.9":{"name":"@code-yeongyu/senpi-codemode","version":"2026.9.9","keywords":["senpi","pi","extension","codemode"],"author":{"name":"Yeongyu Kim"},"license":"MIT","_id":"@code-yeongyu/senpi-codemode@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"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"69aa757c69736e273ebbd5b257458f25c5ecb567","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi-codemode/-/senpi-codemode-2026.9.9.tgz","fileCount":109,"integrity":"sha512-U8SFpPLLFfVKBqwO7W71K4vzKwwWnLSRPA362Xu1OgCFD9FZr64JU79L8cT1/v3uJEMuBtMW4JStXwYpRSTpbw==","signatures":[{"sig":"MEQCIB6MsTcJvf5SOcnUTJzJNDVRqDK/CMSzo28dl/U6so+rAiBoGuhPEfFOnpdtjWpKxPbhMslF6yr188OU0ydWZ5eUOg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi-codemode@2026.9.9","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":629848},"main":"./src/index.ts","type":"module","types":"./src/index.ts","engines":{"node":">=24.0.0"},"exports":{".":"./src/index.ts","./package.json":"./package.json"},"scripts":{"test":"vitest run test/","build":"node -e \"\"","clean":"node -e \"\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b59e4503-db56-4e82-89c7-e80f7e094f2c"}},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/senpi-codemode"},"_npmVersion":"11.19.0","description":"Source-only senpi extension package for codemode evaluation tools","directories":{},"_nodeVersion":"24.20.0","dependencies":{"typebox":"1.3.18","@babel/parser":"8.0.4","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.9.9"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@code-yeongyu/senpi":"2026.9.9"},"peerDependencies":{"@code-yeongyu/senpi":"2026.9.9"},"_npmOperationalInternal":{"tmp":"tmp/senpi-codemode_2026.9.9_1788922107339_0.23381545727663533","host":"s3://npm-registry-packages-npm-production"}},"2026.9.9-2":{"name":"@code-yeongyu/senpi-codemode","version":"2026.9.9-2","keywords":["senpi","pi","extension","codemode"],"author":{"name":"Yeongyu Kim"},"license":"MIT","_id":"@code-yeongyu/senpi-codemode@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"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"ee3b5d3095b8467389607d3d4e7de93a6b60e005","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi-codemode/-/senpi-codemode-2026.9.9-2.tgz","fileCount":109,"integrity":"sha512-rg9C+vqUFK9UBHPJeSVzjBRKPD+eXJU6+3pLg7ayOE/aU5NYJYOCIsGDj1bAH6vW0xpTdtrxiJX3jvyvvYjf6w==","signatures":[{"sig":"MEYCIQDh/1lxnLKDlfua6imF+j2N7q/t5JyKzYOKkqtPcI2u/QIhAN2f75BIqXR08VQo4q81JCE+geLSKSsRn+33apiC4J6u","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi-codemode@2026.9.9-2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":629956},"main":"./src/index.ts","type":"module","types":"./src/index.ts","engines":{"node":">=24.0.0"},"exports":{".":"./src/index.ts","./package.json":"./package.json"},"scripts":{"test":"vitest run test/","build":"node -e \"\"","clean":"node -e \"\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b59e4503-db56-4e82-89c7-e80f7e094f2c"}},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/senpi-codemode"},"_npmVersion":"11.19.0","description":"Source-only senpi extension package for codemode evaluation tools","directories":{},"_nodeVersion":"24.20.0","dependencies":{"typebox":"1.3.18","@babel/parser":"8.0.4","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.9.9-2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@code-yeongyu/senpi":"2026.9.9-2"},"peerDependencies":{"@code-yeongyu/senpi":"2026.9.9-2"},"_npmOperationalInternal":{"tmp":"tmp/senpi-codemode_2026.9.9-2_1788946231424_0.8328599776988066","host":"s3://npm-registry-packages-npm-production"}},"2026.9.10":{"name":"@code-yeongyu/senpi-codemode","version":"2026.9.10","keywords":["senpi","pi","extension","codemode"],"author":{"name":"Yeongyu Kim"},"license":"MIT","_id":"@code-yeongyu/senpi-codemode@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"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"5fc70c3ad49a9a278104d813a1a3717e23f2dfb4","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi-codemode/-/senpi-codemode-2026.9.10.tgz","fileCount":113,"integrity":"sha512-MP0I6tnw6CQvksCuU/imSjwPyjeLEVBN9H/VmGyRro9tyZi5vDOkUzLgsX3uyWTjqWpPNprA36VPVCJLuhekqA==","signatures":[{"sig":"MEQCIHvptw3VeTvUitXJdIBQHEB5zl6oPCsJxvFgVtGtm8aoAiAaqfqy7Sd935euqVX/K6CgBlx9bUM12qQsGaC0tLYo7A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi-codemode@2026.9.10","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":642357},"main":"./src/index.ts","type":"module","types":"./src/index.ts","engines":{"node":">=24.0.0"},"exports":{".":"./src/index.ts","./package.json":"./package.json"},"scripts":{"test":"vitest run test/","build":"node -e \"\"","clean":"node -e \"\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b59e4503-db56-4e82-89c7-e80f7e094f2c"}},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/senpi-codemode"},"_npmVersion":"11.19.0","description":"Source-only senpi extension package for codemode evaluation tools","directories":{},"_nodeVersion":"24.20.0","dependencies":{"typebox":"1.3.18","@babel/parser":"8.0.4","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.9.10"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@code-yeongyu/senpi":"2026.9.10"},"peerDependencies":{"@code-yeongyu/senpi":"2026.9.10"},"_npmOperationalInternal":{"tmp":"tmp/senpi-codemode_2026.9.10_1789038397449_0.20196562190116052","host":"s3://npm-registry-packages-npm-production"}},"2026.9.10-2":{"name":"@code-yeongyu/senpi-codemode","version":"2026.9.10-2","keywords":["senpi","pi","extension","codemode"],"author":{"name":"Yeongyu Kim"},"license":"MIT","_id":"@code-yeongyu/senpi-codemode@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"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"7f67a12372599dfcdf232cb2ce20fdb8a0df5386","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi-codemode/-/senpi-codemode-2026.9.10-2.tgz","fileCount":113,"integrity":"sha512-NlDjd3zRKYn/DmMDO64zggOxrs1jJHTsgey6dEoYlh3jJXZ66xUqXh8aUndSwg6FIpdLIv0csWVsZLHMjMlCIA==","signatures":[{"sig":"MEQCIBE6SQj4FuwJuxSDa6zy0OXD4GFJ9FPkD2EUqEgb4r8CAiAS+gwRy9S92XrMhFnYyvMH4NxOjS+AL/FdKMEyYPMQNQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi-codemode@2026.9.10-2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":642466},"main":"./src/index.ts","type":"module","types":"./src/index.ts","engines":{"node":">=24.0.0"},"exports":{".":"./src/index.ts","./package.json":"./package.json"},"scripts":{"test":"vitest run test/","build":"node -e \"\"","clean":"node -e \"\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b59e4503-db56-4e82-89c7-e80f7e094f2c"}},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/senpi-codemode"},"_npmVersion":"11.19.0","description":"Source-only senpi extension package for codemode evaluation tools","directories":{},"_nodeVersion":"24.20.0","dependencies":{"typebox":"1.3.18","@babel/parser":"8.0.4","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.9.10-2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@code-yeongyu/senpi":"2026.9.10-2"},"peerDependencies":{"@code-yeongyu/senpi":"2026.9.10-2"},"_npmOperationalInternal":{"tmp":"tmp/senpi-codemode_2026.9.10-2_1789055778862_0.0009851579612918382","host":"s3://npm-registry-packages-npm-production"}},"2026.9.11":{"name":"@code-yeongyu/senpi-codemode","version":"2026.9.11","keywords":["senpi","pi","extension","codemode"],"author":{"name":"Yeongyu Kim"},"license":"MIT","_id":"@code-yeongyu/senpi-codemode@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"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"559b96976966b87306de6b139e6d4a170c0603d9","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi-codemode/-/senpi-codemode-2026.9.11.tgz","fileCount":114,"integrity":"sha512-OknciHTUyrgTxcc4qfqK0xYQW+B8mZKOzvPoRyWTchirJuGLAMSlySk/FIHOgy8RKKEMdov7gz/45PkTDx4Rpg==","signatures":[{"sig":"MEQCIF0hF3vjm3Qr8xKsgfC3IvZSct6cwCqt3oMUWO4KslGeAiAfYbL/5fl2ZSDDthvLUWeK6JnX+zn/0VobrOgGDGYMrg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi-codemode@2026.9.11","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":643702},"main":"./src/index.ts","type":"module","types":"./src/index.ts","engines":{"node":">=24.0.0"},"exports":{".":"./src/index.ts","./package.json":"./package.json"},"scripts":{"test":"vitest run test/","build":"node -e \"\"","clean":"node -e \"\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b59e4503-db56-4e82-89c7-e80f7e094f2c"}},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/senpi-codemode"},"_npmVersion":"11.19.0","description":"Source-only senpi extension package for codemode evaluation tools","directories":{},"_nodeVersion":"24.20.0","dependencies":{"typebox":"1.3.18","@babel/parser":"8.0.4","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.9.11"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@code-yeongyu/senpi":"2026.9.11"},"peerDependencies":{"@code-yeongyu/senpi":"2026.9.11"},"_npmOperationalInternal":{"tmp":"tmp/senpi-codemode_2026.9.11_1789145758960_0.9930107749092203","host":"s3://npm-registry-packages-npm-production"}},"2026.9.12":{"name":"@code-yeongyu/senpi-codemode","version":"2026.9.12","keywords":["senpi","pi","extension","codemode"],"author":{"name":"Yeongyu Kim"},"license":"MIT","_id":"@code-yeongyu/senpi-codemode@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"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"e4a2239d901453e640328a26852c22c0a87b308d","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi-codemode/-/senpi-codemode-2026.9.12.tgz","fileCount":114,"integrity":"sha512-4cESCdgUKAgPiGUK7j5AGuGTA1hmhuqpPyJ6/QET+cdzOrABRrgjTbAzIFt7dZn9pnYOmErYhrQN+2EK/l1S1w==","signatures":[{"sig":"MEQCIEY29rq7NMcmGbacwKby/pShJdMYJvrW/EFq5w5XMQjZAiARtNgPmhjYof7bvEV4U6N0CRi3m7x6f9LR/3qGoXgucA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi-codemode@2026.9.12","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":643801},"main":"./src/index.ts","type":"module","types":"./src/index.ts","engines":{"node":">=24.0.0"},"exports":{".":"./src/index.ts","./package.json":"./package.json"},"scripts":{"test":"vitest run test/","build":"node -e \"\"","clean":"node -e \"\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b59e4503-db56-4e82-89c7-e80f7e094f2c"}},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/senpi-codemode"},"_npmVersion":"11.19.0","description":"Source-only senpi extension package for codemode evaluation tools","directories":{},"_nodeVersion":"24.20.0","dependencies":{"typebox":"1.3.18","@babel/parser":"8.0.4","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.9.12"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@code-yeongyu/senpi":"2026.9.12"},"peerDependencies":{"@code-yeongyu/senpi":"2026.9.12"},"_npmOperationalInternal":{"tmp":"tmp/senpi-codemode_2026.9.12_1789187914521_0.5027634446156704","host":"s3://npm-registry-packages-npm-production"}},"2026.9.12-2":{"name":"@code-yeongyu/senpi-codemode","version":"2026.9.12-2","keywords":["senpi","pi","extension","codemode"],"author":{"name":"Yeongyu Kim"},"license":"MIT","_id":"@code-yeongyu/senpi-codemode@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"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"67befd597ca4cb35968759ace99b749d0418c610","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi-codemode/-/senpi-codemode-2026.9.12-2.tgz","fileCount":114,"integrity":"sha512-smUpjiOc26eyz6VbfC+jz+yePCscWTbPwpr0sLhwDiWusGHFQ0ayU8njA+CC0piffLJBRMX2ZefoB+Qbo4dkqg==","signatures":[{"sig":"MEUCIQDXS2FoCQTgwoYEeMwcCA8qhZAl5qosN8h/fRvbRGOaVwIge6AhAAyKiTGSD2azIoWZmoo9alK/HMwXIyoulSQJYPk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi-codemode@2026.9.12-2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":643910},"main":"./src/index.ts","type":"module","types":"./src/index.ts","engines":{"node":">=24.0.0"},"exports":{".":"./src/index.ts","./package.json":"./package.json"},"scripts":{"test":"vitest run test/","build":"node -e \"\"","clean":"node -e \"\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b59e4503-db56-4e82-89c7-e80f7e094f2c"}},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/senpi-codemode"},"_npmVersion":"11.19.0","description":"Source-only senpi extension package for codemode evaluation tools","directories":{},"_nodeVersion":"24.20.0","dependencies":{"typebox":"1.3.18","@babel/parser":"8.0.4","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.9.12-2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@code-yeongyu/senpi":"2026.9.12-2"},"peerDependencies":{"@code-yeongyu/senpi":"2026.9.12-2"},"_npmOperationalInternal":{"tmp":"tmp/senpi-codemode_2026.9.12-2_1789194394523_0.49024259088121047","host":"s3://npm-registry-packages-npm-production"}},"2026.9.12-3":{"name":"@code-yeongyu/senpi-codemode","version":"2026.9.12-3","keywords":["senpi","pi","extension","codemode"],"author":{"name":"Yeongyu Kim"},"license":"MIT","_id":"@code-yeongyu/senpi-codemode@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"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"882a99dcb08fb2192c2496866e17d6bccf4c10cb","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi-codemode/-/senpi-codemode-2026.9.12-3.tgz","fileCount":114,"integrity":"sha512-VdFJ1P0kfwKOuuCw7XI7sVzaCLfPS3di9j3E98ojKOf974CPVmXQXDV/cyqklvT+Ivc3mC6kga6SZLD63NpvTw==","signatures":[{"sig":"MEUCIQCYmmklDTxdXzXIJVCvz46HQLSDiztoxfEYriXOKEBhaAIgAnIGnu/Ejitam7E9Wrb/gYdGHX8hboFEq12UPRwZy+4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi-codemode@2026.9.12-3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":644011},"main":"./src/index.ts","type":"module","types":"./src/index.ts","engines":{"node":">=24.0.0"},"exports":{".":"./src/index.ts","./package.json":"./package.json"},"scripts":{"test":"vitest run test/","build":"node -e \"\"","clean":"node -e \"\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b59e4503-db56-4e82-89c7-e80f7e094f2c"}},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/senpi-codemode"},"_npmVersion":"11.19.0","description":"Source-only senpi extension package for codemode evaluation tools","directories":{},"_nodeVersion":"24.20.0","dependencies":{"typebox":"1.3.27","@babel/parser":"8.0.4","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.9.12-3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@code-yeongyu/senpi":"2026.9.12-3"},"peerDependencies":{"@code-yeongyu/senpi":"2026.9.12-3"},"_npmOperationalInternal":{"tmp":"tmp/senpi-codemode_2026.9.12-3_1789214973369_0.30772916102443837","host":"s3://npm-registry-packages-npm-production"}},"2026.9.13":{"name":"@code-yeongyu/senpi-codemode","version":"2026.9.13","keywords":["senpi","pi","extension","codemode"],"author":{"name":"Yeongyu Kim"},"license":"MIT","_id":"@code-yeongyu/senpi-codemode@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"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"da654602f07b9e93bfcd559449b78932ab3b46ac","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi-codemode/-/senpi-codemode-2026.9.13.tgz","fileCount":114,"integrity":"sha512-Pil+poULzRlu6RYvtIRmGTHo8kKwue1dgGZq7hf/uB1e8S5BovVvbFd9z5uokaOp5VBbsH+YgmBukhHmvv3ikQ==","signatures":[{"sig":"MEQCIDauGFqpQTLokX5zecFaWXnPhVq8OKYy0zyRL+4RGP+BAiA+xvOQLYRvx+hs9UANXj6T7RtfCffCv/OgoV0AHrQzsQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi-codemode@2026.9.13","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":644102},"main":"./src/index.ts","type":"module","types":"./src/index.ts","engines":{"node":">=24.0.0"},"exports":{".":"./src/index.ts","./package.json":"./package.json"},"scripts":{"test":"vitest run test/","build":"node -e \"\"","clean":"node -e \"\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b59e4503-db56-4e82-89c7-e80f7e094f2c"}},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/senpi-codemode"},"_npmVersion":"11.19.0","description":"Source-only senpi extension package for codemode evaluation tools","directories":{},"_nodeVersion":"24.20.0","dependencies":{"typebox":"1.3.27","@babel/parser":"8.0.4","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.9.13"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@code-yeongyu/senpi":"2026.9.13"},"peerDependencies":{"@code-yeongyu/senpi":"2026.9.13"},"_npmOperationalInternal":{"tmp":"tmp/senpi-codemode_2026.9.13_1789262559817_0.35376241305149003","host":"s3://npm-registry-packages-npm-production"}},"2026.9.13-2":{"name":"@code-yeongyu/senpi-codemode","version":"2026.9.13-2","keywords":["senpi","pi","extension","codemode"],"author":{"name":"Yeongyu Kim"},"license":"MIT","_id":"@code-yeongyu/senpi-codemode@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"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"88b7ba2783fac3eae4d887f60c487c9663cafacf","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi-codemode/-/senpi-codemode-2026.9.13-2.tgz","fileCount":114,"integrity":"sha512-JE7tWdJW5ZCUFDz77bRx1+AZaowN/gx5S3SY+aBGKMLClK5Y8HaiY3mw6IuqhIgeQz1KbE5sM52ClsfovDUdaw==","signatures":[{"sig":"MEUCIG8uzMknRLf7BRJSPTsIWp/G5dWsfh3IbbM8hURUivWBAiEAjDHPh8rlA0wIZP3CxH2RNtolVkb7SCj0bw4x35ZnIvQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi-codemode@2026.9.13-2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":646619},"main":"./src/index.ts","type":"module","types":"./src/index.ts","engines":{"node":">=24.0.0"},"exports":{".":"./src/index.ts","./package.json":"./package.json"},"scripts":{"test":"vitest run test/","build":"node -e \"\"","clean":"node -e \"\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b59e4503-db56-4e82-89c7-e80f7e094f2c"}},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/senpi-codemode"},"_npmVersion":"11.19.0","description":"Source-only senpi extension package for codemode evaluation tools","directories":{},"_nodeVersion":"24.20.0","dependencies":{"typebox":"1.3.27","@babel/parser":"8.0.4","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.9.13-2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@code-yeongyu/senpi":"2026.9.13-2"},"peerDependencies":{"@code-yeongyu/senpi":"2026.9.13-2"},"_npmOperationalInternal":{"tmp":"tmp/senpi-codemode_2026.9.13-2_1789304448667_0.3230616252753402","host":"s3://npm-registry-packages-npm-production"}},"2026.9.15":{"name":"@code-yeongyu/senpi-codemode","version":"2026.9.15","keywords":["senpi","pi","extension","codemode"],"author":{"name":"Yeongyu Kim"},"license":"MIT","_id":"@code-yeongyu/senpi-codemode@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"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"256fb53ceecdbdeb6c75b9ef1f07cf191b6ac13b","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi-codemode/-/senpi-codemode-2026.9.15.tgz","fileCount":117,"integrity":"sha512-e60YxP38h8LQHCwUIdDRBYpqMVODqVOlu7JeDAvJOs7xObVW44HqkW1jwD1hXzi+YYqD7qKz+H9tWaPM6Ny8rQ==","signatures":[{"sig":"MEQCIBdvBcJUKAlaauwUuctQYihKfnSVbYlD/BYpGyv02Wv+AiAX4MVkx08Hqg6WaRulBraf/cygrGCbJck/CicnqowH4g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIEs7YAuE2wZqPaokiAutorYnc8IC+p/nY0JDCnzYhyicAiBaY8F7DKLgUdAUx7oYGLtdkZhqjOBzbLO6UMOsTKRMtw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi-codemode@2026.9.15","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":666375},"main":"./src/index.ts","type":"module","types":"./src/index.ts","engines":{"node":">=24.0.0"},"exports":{".":"./src/index.ts","./package.json":"./package.json"},"scripts":{"test":"vitest run test/","build":"node -e \"\"","clean":"node -e \"\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b59e4503-db56-4e82-89c7-e80f7e094f2c"}},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/senpi-codemode"},"_npmVersion":"11.19.0","description":"Source-only senpi extension package for codemode evaluation tools","directories":{},"_nodeVersion":"24.20.0","dependencies":{"typebox":"1.3.27","@babel/parser":"8.0.4","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.9.15"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@code-yeongyu/senpi":"2026.9.15"},"peerDependencies":{"@code-yeongyu/senpi":"2026.9.15"},"_npmOperationalInternal":{"tmp":"tmp/senpi-codemode_2026.9.15_1789459773053_0.5226312906680783","host":"s3://npm-registry-packages-npm-production"}},"2026.9.15-2":{"name":"@code-yeongyu/senpi-codemode","version":"2026.9.15-2","keywords":["senpi","pi","extension","codemode"],"author":{"name":"Yeongyu Kim"},"license":"MIT","_id":"@code-yeongyu/senpi-codemode@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"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"6aea66821e843c6468f6056b243c3b87225910af","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi-codemode/-/senpi-codemode-2026.9.15-2.tgz","fileCount":121,"integrity":"sha512-cvmEVlVOtIKptrjpFOAqsMGf5CzFGQaA7CvKRvNsQazwqO7bqVMFGZJivMG2SpWqjAIpkWJkQlik1EZkQguTXg==","signatures":[{"sig":"MEQCIHf5qHAVyPmwOVHhYCTlB5XIwsyCqCc3tYhXGjGxXDO1AiBa8PUTOJQYnkZiRNygMOsAGLln5kViSlJKt35NIxXtgg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIHhVIgEXjw5kQp9oEmV12N7EoK8b8IyAOKXMKe5P9752AiEAzTLoA1wPCOBi+mo7CqgNIRp7ESjzpcQlK/lxqz4nx5U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi-codemode@2026.9.15-2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":673375},"main":"./src/index.ts","type":"module","types":"./src/index.ts","engines":{"node":">=24.0.0"},"exports":{".":"./src/index.ts","./package.json":"./package.json"},"scripts":{"test":"vitest run test/","build":"node -e \"\"","clean":"node -e \"\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b59e4503-db56-4e82-89c7-e80f7e094f2c"}},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/senpi-codemode"},"_npmVersion":"11.19.0","description":"Source-only senpi extension package for codemode evaluation tools","directories":{},"_nodeVersion":"24.20.0","dependencies":{"typebox":"1.3.27","@babel/parser":"8.0.4","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.9.15-2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@code-yeongyu/senpi":"2026.9.15-2"},"peerDependencies":{"@code-yeongyu/senpi":"2026.9.15-2"},"_npmOperationalInternal":{"tmp":"tmp/senpi-codemode_2026.9.15-2_1789487685589_0.6974308349596965","host":"s3://npm-registry-packages-npm-production"}},"2026.9.16":{"name":"@code-yeongyu/senpi-codemode","version":"2026.9.16","keywords":["senpi","pi","extension","codemode"],"author":{"name":"Yeongyu Kim"},"license":"MIT","_id":"@code-yeongyu/senpi-codemode@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"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"bccd406b070ac1f9265dc7a1e2e2fee67addacec","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi-codemode/-/senpi-codemode-2026.9.16.tgz","fileCount":140,"integrity":"sha512-/msdAyRnIlOBGtwFQwZ1t7NcLl3ph+KQyHBoFBLVvmf/U8cb19ry784M362dVPNox4rnZcXDN7zZ+D5mFhz26A==","signatures":[{"sig":"MEYCIQD81VtWH/ZgkHOvoT1CSl/qYSe1y+V1efTt8VDKAibLKwIhAOx2fJC9Kxcr7zRDozHSUUoYKJC+0FNa7AMneLEujyyx","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQD284t4wDPksk8wj7czjhBJeD8NS9YIhINKvGceLg8m+QIgUTNyXHKlpfOdXnozEf20w8vtT4CtzRO/H/PsYEt4/9I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi-codemode@2026.9.16","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":725272},"main":"./src/index.ts","type":"module","types":"./src/index.ts","engines":{"node":">=24.0.0"},"exports":{".":"./src/index.ts","./package.json":"./package.json"},"scripts":{"test":"vitest run test/","build":"node -e \"\"","clean":"node -e \"\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b59e4503-db56-4e82-89c7-e80f7e094f2c"}},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/senpi-codemode"},"_npmVersion":"11.19.0","description":"Source-only senpi extension package for codemode evaluation tools","directories":{},"_nodeVersion":"24.20.0","dependencies":{"typebox":"1.3.27","@babel/parser":"8.0.4","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.9.16"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@code-yeongyu/senpi":"2026.9.16"},"peerDependencies":{"@code-yeongyu/senpi":"2026.9.16"},"_npmOperationalInternal":{"tmp":"tmp/senpi-codemode_2026.9.16_1789526689057_0.8085425794382353","host":"s3://npm-registry-packages-npm-production"}},"2026.9.16-2":{"name":"@code-yeongyu/senpi-codemode","version":"2026.9.16-2","keywords":["senpi","pi","extension","codemode"],"author":{"name":"Yeongyu Kim"},"license":"MIT","_id":"@code-yeongyu/senpi-codemode@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"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"485033986ed8fb52f7f6a63d49b97c483150f372","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi-codemode/-/senpi-codemode-2026.9.16-2.tgz","fileCount":140,"integrity":"sha512-wwBv3rkHlA918A6owSeQCU/8Q5zzJCl8N4qAEUqb6Ldk/75UiEIgSOXIDSwat1GJVmHysGD2JIrYUEMfN/bOdw==","signatures":[{"sig":"MEUCIQCYlG/F7kecdncv4rsymn3PGcH7NanX7mTmTwp13CE9rQIgScIIkIs5KbSYIzlubrQ5WMB5ZQhvNL8urcao5TErsRk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIF0VELLjEDeybzAESR0kRfAl9nsjzBK0Q3EZ/LOtAp5sAiA73zmCzWZCzHs9gXytI4AyheG8ZSraYCOllT9k+CbiXQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi-codemode@2026.9.16-2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":727375},"main":"./src/index.ts","type":"module","types":"./src/index.ts","engines":{"node":">=24.0.0"},"exports":{".":"./src/index.ts","./package.json":"./package.json"},"scripts":{"test":"vitest run test/","build":"node -e \"\"","clean":"node -e \"\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b59e4503-db56-4e82-89c7-e80f7e094f2c"}},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/senpi-codemode"},"_npmVersion":"11.19.0","description":"Source-only senpi extension package for codemode evaluation tools","directories":{},"_nodeVersion":"24.20.0","dependencies":{"typebox":"1.3.27","@babel/parser":"8.0.4","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.9.16-2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@code-yeongyu/senpi":"2026.9.16-2"},"peerDependencies":{"@code-yeongyu/senpi":"2026.9.16-2"},"_npmOperationalInternal":{"tmp":"tmp/senpi-codemode_2026.9.16-2_1789540900834_0.9780774780629318","host":"s3://npm-registry-packages-npm-production"}},"2026.9.16-3":{"name":"@code-yeongyu/senpi-codemode","version":"2026.9.16-3","keywords":["senpi","pi","extension","codemode"],"author":{"name":"Yeongyu Kim"},"license":"MIT","_id":"@code-yeongyu/senpi-codemode@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"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"a050f876a655aa85abb03dcc446a1a391d05135e","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi-codemode/-/senpi-codemode-2026.9.16-3.tgz","fileCount":140,"integrity":"sha512-nwZh7VuSYz1W4/U5sjjxhchyZmmr8teNTaFNpfC7euzLD7UUVNmGYfrB+g/AB0SPhCxp4pRDjNHK1b2yXJwDzg==","signatures":[{"sig":"MEQCICiZLLK82QHUPP3S8KuGYNJgAkE350zyzGn2W716UvQ1AiAJCn2K91bwcXh1reKg8h6Jvx93GIWIdQSTk2pAIXJmzQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQD2eigQajxMHF8aks/8rZLYTl6GnSEQCLYZ+HJcukKBpwIhALQIxDwIQPQprxvVFftma64PJ+fT0iWZPSx5SHGPzlPo","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi-codemode@2026.9.16-3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":727476},"main":"./src/index.ts","type":"module","types":"./src/index.ts","engines":{"node":">=24.0.0"},"exports":{".":"./src/index.ts","./package.json":"./package.json"},"scripts":{"test":"vitest run test/","build":"node -e \"\"","clean":"node -e \"\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b59e4503-db56-4e82-89c7-e80f7e094f2c"}},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/senpi-codemode"},"_npmVersion":"11.19.0","description":"Source-only senpi extension package for codemode evaluation tools","directories":{},"_nodeVersion":"24.20.0","dependencies":{"typebox":"1.3.27","@babel/parser":"8.0.4","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.9.16-3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@code-yeongyu/senpi":"2026.9.16-3"},"peerDependencies":{"@code-yeongyu/senpi":"2026.9.16-3"},"_npmOperationalInternal":{"tmp":"tmp/senpi-codemode_2026.9.16-3_1789550935320_0.7652835237815114","host":"s3://npm-registry-packages-npm-production"}},"2026.9.17":{"name":"@code-yeongyu/senpi-codemode","version":"2026.9.17","keywords":["senpi","pi","extension","codemode"],"author":{"name":"Yeongyu Kim"},"license":"MIT","_id":"@code-yeongyu/senpi-codemode@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"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"4e8a53ec8a5f7913fa573d7a5406c3bcca100406","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi-codemode/-/senpi-codemode-2026.9.17.tgz","fileCount":142,"integrity":"sha512-YMmHo9XLgtGmA5Wr8Goh93ByqFi/prlhjE+Smp0tHr6JCoKSCS4jmn2cBZyUplsRxJaU4YXJA2aL+2d1+lrr5w==","signatures":[{"sig":"MEUCIGMRtCArJsd9Ak6Sf76QlChcndYBc7UgpgvYUjgJ0L94AiEAjiJushME6caz6BuCnR/IDiPq1cpZVqgolNaJ0JmqJ0o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDWD5/FmGdklZrmaSBBnY76OhS8DKinfMNosyis3Tx6BwIhAMu+JflsJj3rcWq36eSBaAZTtezbhid7NtjCtZI9GNqi","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi-codemode@2026.9.17","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":736684},"main":"./src/index.ts","type":"module","types":"./src/index.ts","engines":{"node":">=24.0.0"},"exports":{".":"./src/index.ts","./package.json":"./package.json"},"scripts":{"test":"vitest run test/","build":"node -e \"\"","clean":"node -e \"\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b59e4503-db56-4e82-89c7-e80f7e094f2c"}},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/senpi-codemode"},"_npmVersion":"11.19.0","description":"Source-only senpi extension package for codemode evaluation tools","directories":{},"_nodeVersion":"24.20.0","dependencies":{"typebox":"1.3.27","@babel/parser":"8.0.4","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.9.17"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@code-yeongyu/senpi":"2026.9.17"},"peerDependencies":{"@code-yeongyu/senpi":"2026.9.17"},"_npmOperationalInternal":{"tmp":"tmp/senpi-codemode_2026.9.17_1789635936606_0.6531569747395496","host":"s3://npm-registry-packages-npm-production"}},"2026.9.17-2":{"name":"@code-yeongyu/senpi-codemode","version":"2026.9.17-2","keywords":["senpi","pi","extension","codemode"],"author":{"name":"Yeongyu Kim"},"license":"MIT","_id":"@code-yeongyu/senpi-codemode@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"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"432809409a3c546addfeeb4b0d1b1868373cf233","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi-codemode/-/senpi-codemode-2026.9.17-2.tgz","fileCount":143,"integrity":"sha512-j6VP5qAPB0R7Oev4n566Gevu90mvL8QeDX6w0u4UGe41lpTTl1jRGGIcw85qhj9Esjx5H4qvhnTjY1DEvroATg==","signatures":[{"sig":"MEQCIFD/s4WWsAu7qFtkCvhkRhQr4Nhh4g2Bvt7MNiSCim1vAiATB65yq9RT/v95UKD3yvMrCxg1mDZUl7rEWejzwuk1eg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCpo0og2fpyPy85+2fN/SSUNa6DsCxbJSO+sbBmF8sp0QIgURFR+scT9QxnhLn+grtW3BnMujc/mdOs9hcYRFgaQZo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi-codemode@2026.9.17-2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":738514},"main":"./src/index.ts","type":"module","types":"./src/index.ts","engines":{"node":">=24.0.0"},"exports":{".":"./src/index.ts","./package.json":"./package.json"},"scripts":{"test":"vitest run test/","build":"node -e \"\"","clean":"node -e \"\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b59e4503-db56-4e82-89c7-e80f7e094f2c"}},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/senpi-codemode"},"_npmVersion":"11.19.0","description":"Source-only senpi extension package for codemode evaluation tools","directories":{},"_nodeVersion":"24.20.0","dependencies":{"typebox":"1.3.27","@babel/parser":"8.0.4","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.9.17-2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@code-yeongyu/senpi":"2026.9.17-2"},"peerDependencies":{"@code-yeongyu/senpi":"2026.9.17-2"},"_npmOperationalInternal":{"tmp":"tmp/senpi-codemode_2026.9.17-2_1789660853266_0.07169516438304102","host":"s3://npm-registry-packages-npm-production"}},"2026.9.17-3":{"name":"@code-yeongyu/senpi-codemode","version":"2026.9.17-3","keywords":["senpi","pi","extension","codemode"],"author":{"name":"Yeongyu Kim"},"license":"MIT","_id":"@code-yeongyu/senpi-codemode@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"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"a263e94990203b7bce6154811b4b1464eadeb4c7","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi-codemode/-/senpi-codemode-2026.9.17-3.tgz","fileCount":143,"integrity":"sha512-GojhVSmoifRT6tVhO8e/8oAUIbWrPQQsNK3afcgSZOzgPhoFXZ3GUYxcNsvpuB/Jqs/HyVP4ujYclU7MdRzS/g==","signatures":[{"sig":"MEQCIDJHsxEwy7242AmQGm3xeIXyLSFfxtKIpQNY9DNGw9RFAiBC+POm7dypImj9/jYfB+bpshQLTIXEOXSzOCdJ+7aGEQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQD2cq1e4PthTFLxnA3A0YtLtRjOSLQTCExKXO0EiTTBngIhAO3Z06fWIWvWmzN1cUK9h8jCe/NdcVi7okoD9IFtYvLW","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi-codemode@2026.9.17-3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":738615},"main":"./src/index.ts","type":"module","types":"./src/index.ts","engines":{"node":">=24.0.0"},"exports":{".":"./src/index.ts","./package.json":"./package.json"},"scripts":{"test":"vitest run test/","build":"node -e \"\"","clean":"node -e \"\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b59e4503-db56-4e82-89c7-e80f7e094f2c"}},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/senpi-codemode"},"_npmVersion":"11.19.0","description":"Source-only senpi extension package for codemode evaluation tools","directories":{},"_nodeVersion":"24.20.0","dependencies":{"typebox":"1.3.27","@babel/parser":"8.0.4","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.9.17-3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@code-yeongyu/senpi":"2026.9.17-3"},"peerDependencies":{"@code-yeongyu/senpi":"2026.9.17-3"},"_npmOperationalInternal":{"tmp":"tmp/senpi-codemode_2026.9.17-3_1789676469583_0.5973094253943192","host":"s3://npm-registry-packages-npm-production"}},"2026.9.17-4":{"name":"@code-yeongyu/senpi-codemode","version":"2026.9.17-4","keywords":["senpi","pi","extension","codemode"],"author":{"name":"Yeongyu Kim"},"license":"MIT","_id":"@code-yeongyu/senpi-codemode@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"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"e8f95cd61aba6d95771d033f55a4510dfdcfde99","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi-codemode/-/senpi-codemode-2026.9.17-4.tgz","fileCount":143,"integrity":"sha512-u2fupJEwMSPR1g8tu5J9cyrqFEVSK8vMNMdagorcHSHstmAGaTOmgQoaGKSDIS8GomT2LcV7wUqPkgdYvzc0yA==","signatures":[{"sig":"MEUCIDMAMiGVzFvTtrQ7Q58I9pEFB381XPwjXR6jYvwLrtemAiEA+mWq1BLj1cVmd9HTw6rvkUNyyKXJiY1rcv/1Wfepr1k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIGp0FbF4psQJjeS8zaZkXF2BnKy1FvA4gqAS8HFTpAXZAiBSlI28ywGywXTzujVU/Rjthou6vJ/68646KUey/2Arng==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi-codemode@2026.9.17-4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":738716},"main":"./src/index.ts","type":"module","types":"./src/index.ts","engines":{"node":">=24.0.0"},"exports":{".":"./src/index.ts","./package.json":"./package.json"},"scripts":{"test":"vitest run test/","build":"node -e \"\"","clean":"node -e \"\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b59e4503-db56-4e82-89c7-e80f7e094f2c"}},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/senpi-codemode"},"_npmVersion":"11.19.0","description":"Source-only senpi extension package for codemode evaluation tools","directories":{},"_nodeVersion":"24.20.0","dependencies":{"typebox":"1.3.27","@babel/parser":"8.0.4","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.9.17-4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@code-yeongyu/senpi":"2026.9.17-4"},"peerDependencies":{"@code-yeongyu/senpi":"2026.9.17-4"},"_npmOperationalInternal":{"tmp":"tmp/senpi-codemode_2026.9.17-4_1789689144311_0.35404311652702525","host":"s3://npm-registry-packages-npm-production"}},"2026.9.18":{"name":"@code-yeongyu/senpi-codemode","version":"2026.9.18","keywords":["senpi","pi","extension","codemode"],"author":{"name":"Yeongyu Kim"},"license":"MIT","_id":"@code-yeongyu/senpi-codemode@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"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"763a9259cf55c79c90727f0aea928153371b2a81","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi-codemode/-/senpi-codemode-2026.9.18.tgz","fileCount":143,"integrity":"sha512-/SqkDRYIueCybtBsi1zoFmrskcwzRVYaQZXpNvNzLkgBPgscFxjvP+BE5f7l3/feCskjCPu7cVTtRQTcpFl/GQ==","signatures":[{"sig":"MEUCIFT8tP+CHpxYxd8R8ifECUiDo7ayYCDE0QZHuydkp6JAAiEAqKPZzNeByx/7/emVhf+xYMf/7bsvGxYYH5vMa4q3DqE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIBA0nkfquT767CVW6cJOWwyOa08XtaauItk7dcJ/kSUoAiEAol16ZplxEDIv05fScoMRFI9eYtSiyApMvIH5d7OWo0M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi-codemode@2026.9.18","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":738807},"main":"./src/index.ts","type":"module","types":"./src/index.ts","engines":{"node":">=24.0.0"},"exports":{".":"./src/index.ts","./package.json":"./package.json"},"scripts":{"test":"vitest run test/","build":"node -e \"\"","clean":"node -e \"\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b59e4503-db56-4e82-89c7-e80f7e094f2c"}},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/senpi-codemode"},"_npmVersion":"11.19.0","description":"Source-only senpi extension package for codemode evaluation tools","directories":{},"_nodeVersion":"24.20.0","dependencies":{"typebox":"1.3.27","@babel/parser":"8.0.4","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.9.18"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@code-yeongyu/senpi":"2026.9.18"},"peerDependencies":{"@code-yeongyu/senpi":"2026.9.18"},"_npmOperationalInternal":{"tmp":"tmp/senpi-codemode_2026.9.18_1789696443188_0.8305034081986697","host":"s3://npm-registry-packages-npm-production"}},"2026.9.18-2":{"name":"@code-yeongyu/senpi-codemode","version":"2026.9.18-2","keywords":["senpi","pi","extension","codemode"],"author":{"name":"Yeongyu Kim"},"license":"MIT","_id":"@code-yeongyu/senpi-codemode@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"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"47d2b823eb01925b82b48fb99eac2b234b447b2d","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi-codemode/-/senpi-codemode-2026.9.18-2.tgz","fileCount":143,"integrity":"sha512-L7n4As+zbM2V4Z8l6BK8rB2i4prgcIasPLhEE4ALh4zInRrfs7qja6/o7vTUxm5XPERsPmZltMYb3DGFP+m6lA==","signatures":[{"sig":"MEUCIFyckb9ED6TJEru6ASvt1/q2ZAkSfy9XuNhFXrL06xO3AiEAgRwezGTUbQ6FtfHRWLA3aye4z+PYaI422qKSXdPjW0I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDfHBEJOJTQGwyqEnyQDyN+VbtzlDUbuUyMYxs+BkwzEAIgXferX9w3detelFBFrDxAcuoKeW/BWEAHTENaNEnnRXw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi-codemode@2026.9.18-2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":738916},"main":"./src/index.ts","type":"module","types":"./src/index.ts","engines":{"node":">=24.0.0"},"exports":{".":"./src/index.ts","./package.json":"./package.json"},"scripts":{"test":"vitest run test/","build":"node -e \"\"","clean":"node -e \"\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b59e4503-db56-4e82-89c7-e80f7e094f2c"}},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/senpi-codemode"},"_npmVersion":"11.19.0","description":"Source-only senpi extension package for codemode evaluation tools","directories":{},"_nodeVersion":"24.20.0","dependencies":{"typebox":"1.3.27","@babel/parser":"8.0.4","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.9.18-2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@code-yeongyu/senpi":"2026.9.18-2"},"peerDependencies":{"@code-yeongyu/senpi":"2026.9.18-2"},"_npmOperationalInternal":{"tmp":"tmp/senpi-codemode_2026.9.18-2_1789698955648_0.5828060922649101","host":"s3://npm-registry-packages-npm-production"}},"2026.9.18-3":{"name":"@code-yeongyu/senpi-codemode","version":"2026.9.18-3","keywords":["senpi","pi","extension","codemode"],"author":{"name":"Yeongyu Kim"},"license":"MIT","_id":"@code-yeongyu/senpi-codemode@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"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"5ad07ed18610bef8bf3797af20414eb786df0182","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi-codemode/-/senpi-codemode-2026.9.18-3.tgz","fileCount":143,"integrity":"sha512-MiHeDV8y1hDzMXCUXZiVKQ+JoQsGVyzkHstLWXQ2ot9DgaTEen9GEdvyfefWEZGbj8IQ2aXxOAxk456xY/6Z9Q==","signatures":[{"sig":"MEUCIB4kNadrZpo8cIHTVgpSQF9PUSE4Xogv4PRN1ngoza2EAiEAzZwI3NHbKh2XqhWfcANfmlHZKfPgdMJ/xRxQW8xC6ok=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDsty+sRlg+RUoCaYysiJOBVe7g2NAtfFwSn3FV8mB2+gIhAM/4AwPINVEWA9qNWEjWD0PQ2UJmchvhEFu6sikjQCeR","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi-codemode@2026.9.18-3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":739017},"main":"./src/index.ts","type":"module","types":"./src/index.ts","engines":{"node":">=24.0.0"},"exports":{".":"./src/index.ts","./package.json":"./package.json"},"scripts":{"test":"vitest run test/","build":"node -e \"\"","clean":"node -e \"\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b59e4503-db56-4e82-89c7-e80f7e094f2c"}},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/senpi-codemode"},"_npmVersion":"11.19.0","description":"Source-only senpi extension package for codemode evaluation tools","directories":{},"_nodeVersion":"24.20.0","dependencies":{"typebox":"1.3.27","@babel/parser":"8.0.4","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.9.18-3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@code-yeongyu/senpi":"2026.9.18-3"},"peerDependencies":{"@code-yeongyu/senpi":"2026.9.18-3"},"_npmOperationalInternal":{"tmp":"tmp/senpi-codemode_2026.9.18-3_1789730296309_0.6605935352263095","host":"s3://npm-registry-packages-npm-production"}},"2026.9.18-4":{"name":"@code-yeongyu/senpi-codemode","version":"2026.9.18-4","keywords":["senpi","pi","extension","codemode"],"author":{"name":"Yeongyu Kim"},"license":"MIT","_id":"@code-yeongyu/senpi-codemode@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"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"dce6bf2622f72b5d147229b570ddcd90f2ce0c75","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi-codemode/-/senpi-codemode-2026.9.18-4.tgz","fileCount":143,"integrity":"sha512-qti6qBPLeQMJkdaZtciNUyim7+7cg/JSS/a3CFDdiYnj67x10Ha/ACi06OqRHzrlm5XH46Gv/7Mt1kT76jvDCg==","signatures":[{"sig":"MEYCIQDQBYOG1DBl+6szpHsZs+icdTfP1R+GJGZIzqSTOEB/BwIhAPzrntpnLqeBPMwUv2y4SJcU6PqT5ZjBWsLgzqG407ys","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCSIh8y8QKoITgRL7Ve9dTL926pGjJM/7tFjqpSDmMttQIgcZ/O+tJpyNITYrOPCBEE4siu/AVg+1eI4rNL/iiDzqQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi-codemode@2026.9.18-4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":739118},"main":"./src/index.ts","type":"module","types":"./src/index.ts","engines":{"node":">=24.0.0"},"exports":{".":"./src/index.ts","./package.json":"./package.json"},"scripts":{"test":"vitest run test/","build":"node -e \"\"","clean":"node -e \"\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b59e4503-db56-4e82-89c7-e80f7e094f2c"}},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/senpi-codemode"},"_npmVersion":"11.19.0","description":"Source-only senpi extension package for codemode evaluation tools","directories":{},"_nodeVersion":"24.20.0","dependencies":{"typebox":"1.3.27","@babel/parser":"8.0.4","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.9.18-4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@code-yeongyu/senpi":"2026.9.18-4"},"peerDependencies":{"@code-yeongyu/senpi":"2026.9.18-4"},"_npmOperationalInternal":{"tmp":"tmp/senpi-codemode_2026.9.18-4_1789757354887_0.4076028333245296","host":"s3://npm-registry-packages-npm-production"}},"2026.9.18-5":{"name":"@code-yeongyu/senpi-codemode","version":"2026.9.18-5","keywords":["senpi","pi","extension","codemode"],"author":{"name":"Yeongyu Kim"},"license":"MIT","_id":"@code-yeongyu/senpi-codemode@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"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"1786dbdbc458d08d0196be593f154ce94075f6a2","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi-codemode/-/senpi-codemode-2026.9.18-5.tgz","fileCount":143,"integrity":"sha512-qLWZQiDZS5XIXA2AbYw4cjfi2s2tKt2JDTfGBG2NGRklNyG53HWsb9cmL63lCT7aQrGRh/v95gbRxvAC/9jjdA==","signatures":[{"sig":"MEYCIQCbBiksk2vcjQEZn12l7nytbR90ukXa7JnfySOLzNN9BwIhANEGxQj+DZg/T5sRP33Daa5RI+1Z4JEmRRwK8QZq0zS5","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQD66e+6BoykkjMc6yttTzv/7BcwEbuzLWPr9NBT5mJ3IwIgftljd0EB3rNNvGJFlrQ8pwXrbwEmYt0p313M6jg+UKY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi-codemode@2026.9.18-5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":739219},"main":"./src/index.ts","type":"module","types":"./src/index.ts","engines":{"node":">=24.0.0"},"exports":{".":"./src/index.ts","./package.json":"./package.json"},"scripts":{"test":"vitest run test/","build":"node -e \"\"","clean":"node -e \"\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b59e4503-db56-4e82-89c7-e80f7e094f2c"}},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/senpi-codemode"},"_npmVersion":"11.19.0","description":"Source-only senpi extension package for codemode evaluation tools","directories":{},"_nodeVersion":"24.20.0","dependencies":{"typebox":"1.3.27","@babel/parser":"8.0.4","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.9.18-5"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@code-yeongyu/senpi":"2026.9.18-5"},"peerDependencies":{"@code-yeongyu/senpi":"2026.9.18-5"},"_npmOperationalInternal":{"tmp":"tmp/senpi-codemode_2026.9.18-5_1789758372372_0.9530041256571213","host":"s3://npm-registry-packages-npm-production"}},"2026.9.18-6":{"name":"@code-yeongyu/senpi-codemode","version":"2026.9.18-6","keywords":["senpi","pi","extension","codemode"],"author":{"name":"Yeongyu Kim"},"license":"MIT","_id":"@code-yeongyu/senpi-codemode@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"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"22900a1a6911c98f9aebbadd9629d2289f833629","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi-codemode/-/senpi-codemode-2026.9.18-6.tgz","fileCount":143,"integrity":"sha512-zz34JFnu3WooNa6cMJ7uLN+p2lZYlfN//4Mi6Q6DRSec3ORPXdvzrm+bjeipxpHf75CAufi0iqZITGxhOOhdXg==","signatures":[{"sig":"MEUCIQD+yEzzxrZjuysyZRvQz6jKG0Aj1ABEJiJg+DyGfOCOIQIgW0MzOMqFbboCqJo5F/fE0KiumkwoVppk4Y5UwWrKGE8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDUFnXtI/KlpSycfdQxME1nOGb5Qyp7ua1SlWYgSppulwIgV4lDMDFWj8dlcE/WKzQykLyVr8mU19zPB4s5GmRiQjI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi-codemode@2026.9.18-6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":739320},"main":"./src/index.ts","type":"module","types":"./src/index.ts","engines":{"node":">=24.0.0"},"exports":{".":"./src/index.ts","./package.json":"./package.json"},"scripts":{"test":"vitest run test/","build":"node -e \"\"","clean":"node -e \"\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b59e4503-db56-4e82-89c7-e80f7e094f2c"}},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/senpi-codemode"},"_npmVersion":"11.19.0","description":"Source-only senpi extension package for codemode evaluation tools","directories":{},"_nodeVersion":"24.20.0","dependencies":{"typebox":"1.3.27","@babel/parser":"8.0.4","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.9.18-6"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@code-yeongyu/senpi":"2026.9.18-6"},"peerDependencies":{"@code-yeongyu/senpi":"2026.9.18-6"},"_npmOperationalInternal":{"tmp":"tmp/senpi-codemode_2026.9.18-6_1789772898296_0.2297468588544218","host":"s3://npm-registry-packages-npm-production"}},"2026.9.19":{"name":"@code-yeongyu/senpi-codemode","version":"2026.9.19","keywords":["senpi","pi","extension","codemode"],"author":{"name":"Yeongyu Kim"},"license":"MIT","_id":"@code-yeongyu/senpi-codemode@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"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"cbe52030ab56cf1e5ece1bde6cca9a59f27a60ed","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi-codemode/-/senpi-codemode-2026.9.19.tgz","fileCount":143,"integrity":"sha512-B6/BPSgPAjSb9HXmeKII/8FuHGrw6Ycn4GKf41UqpQPyFRn4ZMNbwJIfXJnaK4iA9Hs56aIGjrJYYG6Pp6D0Xg==","signatures":[{"sig":"MEUCIQC8IklmUtQhquFTF9iVs1eMFi5Xi8FkM1TbhK/6m1Q0vgIgNhJDd4cSQ/C8AbtUk4Nww1Hc3hRap5lv6OFhAXtfddM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDXwvUYo91zCkga0Z7KoXkNZJ4xor8y5QJMFZ6oTNMjnAIgMlKG/Z7x9EVUTz7p4NM25wMuz/AI6FcszOmLw1iWovM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi-codemode@2026.9.19","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":739411},"main":"./src/index.ts","type":"module","types":"./src/index.ts","engines":{"node":">=24.0.0"},"exports":{".":"./src/index.ts","./package.json":"./package.json"},"scripts":{"test":"vitest run test/","build":"node -e \"\"","clean":"node -e \"\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b59e4503-db56-4e82-89c7-e80f7e094f2c"}},"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/senpi-codemode"},"_npmVersion":"11.19.0","description":"Source-only senpi extension package for codemode evaluation tools","directories":{},"_nodeVersion":"24.20.0","dependencies":{"typebox":"1.3.27","@babel/parser":"8.0.4","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.9.19"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@code-yeongyu/senpi":"2026.9.19"},"peerDependencies":{"@code-yeongyu/senpi":"2026.9.19"},"_npmOperationalInternal":{"tmp":"tmp/senpi-codemode_2026.9.19_1789789916891_0.5969193478048607","host":"s3://npm-registry-packages-npm-production"}},"2026.9.19-2":{"pi":{"extensions":["./src/index.ts"]},"_id":"@code-yeongyu/senpi-codemode@2026.9.19-2","bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"dist":{"shasum":"69133d211e84a547ca530b3d9ffade2804329d55","tarball":"https://registry.npmjs.org/@code-yeongyu/senpi-codemode/-/senpi-codemode-2026.9.19-2.tgz","fileCount":143,"integrity":"sha512-PB6TsKlJNBOGWIJ9UJParDeJ1XQgDp81vmXhZ7+/T6z17Fcgs6sqdDKdPWr9Tj/+11fNQAd6GKGrHaAY+ZZplA==","signatures":[{"sig":"MEQCIDxpGrFC5APxskXyqzSU02nkFg4O3ouJKGoshrdJu/xsAiBRfErOrKf8kpfNs9Xy44Q4oc54qHArhuJI0lN7MZHhdw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIEhKwS8KQX/Dmmhh8Rsgr99ID11va1JKDDXV7Wk22UtjAiAT7RsIq+8WLxAjnDTCf0Hc/49c03sjOn12eTe6PQORoQ=="}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@code-yeongyu%2fsenpi-codemode@2026.9.19-2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":739520},"main":"./src/index.ts","name":"@code-yeongyu/senpi-codemode","type":"module","types":"./src/index.ts","author":{"name":"Yeongyu Kim"},"engines":{"node":">=24.0.0"},"exports":{".":"./src/index.ts","./package.json":"./package.json"},"license":"MIT","scripts":{"test":"vitest run test/","build":"node -e \"\"","clean":"node -e \"\""},"version":"2026.9.19-2","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b59e4503-db56-4e82-89c7-e80f7e094f2c"}},"homepage":"https://github.com/code-yeongyu/senpi#readme","keywords":["senpi","pi","extension","codemode"],"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/senpi-codemode"},"_npmVersion":"11.19.0","description":"Source-only senpi extension package for codemode evaluation tools","directories":{},"maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"_nodeVersion":"24.20.0","dependencies":{"typebox":"1.3.27","@babel/parser":"8.0.4","@earendil-works/pi-ai":"npm:@code-yeongyu/senpi-ai@2026.9.19-2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@code-yeongyu/senpi":"2026.9.19-2"},"peerDependencies":{"@code-yeongyu/senpi":"2026.9.19-2"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/senpi-codemode_2026.9.19-2_1789793289222_0.3327573298882518"}}},"time":{"created":"2026-07-26T07:21:14.196Z","modified":"2026-09-19T04:48:09.592Z","2026.7.25-2":"2026-07-26T07:21:14.511Z","2026.7.26":"2026-07-26T18:22:42.972Z","2026.7.28":"2026-07-28T14:25:48.169Z","2026.7.28-2":"2026-07-28T16:22:33.048Z","2026.7.28-3":"2026-07-28T17:02:04.845Z","2026.7.29":"2026-07-29T13:38:39.684Z","2026.7.29-3":"2026-07-29T17:33:25.513Z","2026.7.29-4":"2026-07-29T18:08:35.959Z","2026.7.29-5":"2026-07-29T19:40:07.395Z","2026.7.29-6":"2026-07-29T20:30:02.352Z","2026.7.30":"2026-07-30T04:50:04.497Z","2026.7.30-2":"2026-07-31T01:58:57.389Z","2026.7.31":"2026-07-31T02:21:16.312Z","2026.7.31-2":"2026-07-31T09:50:50.611Z","2026.8.1":"2026-08-01T07:12:12.526Z","2026.8.3":"2026-08-03T06:53:24.434Z","2026.8.3-3":"2026-08-03T10:12:45.262Z","2026.8.4":"2026-08-04T09:43:20.462Z","2026.8.4-2":"2026-08-04T22:46:42.629Z","2026.8.5":"2026-08-05T01:01:44.306Z","2026.8.5-2":"2026-08-05T04:41:03.515Z","2026.8.6":"2026-08-06T03:03:18.236Z","2026.8.7":"2026-08-07T04:45:18.531Z","2026.8.9":"2026-08-09T08:31:11.499Z","2026.8.9-2":"2026-08-09T14:12:04.749Z","2026.8.10":"2026-08-10T02:56:57.981Z","2026.8.11":"2026-08-10T03:40:57.156Z","2026.8.11-2":"2026-08-10T06:45:42.044Z","2026.8.11-3":"2026-08-11T10:45:43.806Z","2026.8.11-4":"2026-08-11T12:24:50.012Z","2026.8.11-5":"2026-08-11T16:57:20.053Z","2026.8.11-6":"2026-08-11T19:02:49.192Z","2026.8.12":"2026-08-12T07:27:17.194Z","2026.8.12-2":"2026-08-12T07:50:54.681Z","2026.8.12-3":"2026-08-12T08:07:54.534Z","2026.8.12-4":"2026-08-12T10:05:43.878Z","2026.8.13":"2026-08-13T09:53:38.602Z","2026.8.14":"2026-08-14T05:51:35.347Z","2026.8.16":"2026-08-16T17:46:22.763Z","2026.8.17":"2026-08-17T20:18:52.986Z","2026.8.18":"2026-08-18T04:34:30.359Z","2026.8.18-2":"2026-08-18T09:12:00.880Z","2026.8.18-3":"2026-08-18T16:01:05.864Z","2026.8.19":"2026-08-19T14:07:41.014Z","2026.8.20":"2026-08-20T15:34:17.920Z","2026.8.20-2":"2026-08-20T16:01:27.606Z","2026.8.21":"2026-08-21T05:46:23.598Z","2026.8.21-2":"2026-08-21T09:08:34.467Z","2026.8.21-3":"2026-08-21T12:34:16.254Z","2026.8.22":"2026-08-22T04:38:20.068Z","2026.8.22-2":"2026-08-22T18:17:59.959Z","2026.8.23":"2026-08-23T12:02:27.892Z","2026.8.24":"2026-08-24T17:31:50.734Z","2026.8.25":"2026-08-25T15:28:40.939Z","2026.8.26":"2026-08-26T06:00:17.082Z","2026.8.26-2":"2026-08-26T11:43:27.943Z","2026.8.27":"2026-08-27T08:22:38.020Z","2026.8.28":"2026-08-28T05:13:00.953Z","2026.8.28-2":"2026-08-28T22:52:03.566Z","2026.8.29":"2026-08-29T05:09:03.025Z","2026.8.30":"2026-08-30T09:17:32.080Z","2026.8.30-2":"2026-08-30T13:07:30.182Z","2026.8.30-3":"2026-08-30T16:45:34.181Z","2026.8.31":"2026-08-31T11:14:15.550Z","2026.9.2":"2026-09-02T01:51:38.402Z","2026.9.2-3":"2026-09-02T09:01:03.246Z","2026.9.2-4":"2026-09-02T10:27:27.227Z","2026.9.3":"2026-09-03T00:47:05.359Z","2026.9.3-2":"2026-09-03T05:56:57.106Z","2026.9.3-3":"2026-09-03T11:19:06.564Z","2026.9.4":"2026-09-04T02:36:23.255Z","2026.9.4-2":"2026-09-04T06:55:51.078Z","2026.9.4-3":"2026-09-04T13:21:50.772Z","2026.9.5":"2026-09-05T09:48:23.525Z","2026.9.5-2":"2026-09-05T14:10:08.882Z","2026.9.5-3":"2026-09-05T14:25:19.664Z","2026.9.6":"2026-09-06T17:42:24.376Z","2026.9.7":"2026-09-07T03:25:35.478Z","2026.9.7-2":"2026-09-07T16:58:26.614Z","2026.9.8":"2026-09-08T17:38:26.552Z","2026.9.9":"2026-09-09T02:48:27.476Z","2026.9.9-2":"2026-09-09T09:30:31.618Z","2026.9.10":"2026-09-10T11:06:37.587Z","2026.9.10-2":"2026-09-10T15:56:19.006Z","2026.9.11":"2026-09-11T16:55:59.097Z","2026.9.12":"2026-09-12T04:38:34.692Z","2026.9.12-2":"2026-09-12T06:26:34.660Z","2026.9.12-3":"2026-09-12T12:09:33.524Z","2026.9.13":"2026-09-13T01:22:39.977Z","2026.9.13-2":"2026-09-13T13:00:48.809Z","2026.9.15":"2026-09-15T08:09:33.163Z","2026.9.15-2":"2026-09-15T15:54:45.696Z","2026.9.16":"2026-09-16T02:44:49.172Z","2026.9.16-2":"2026-09-16T06:41:40.932Z","2026.9.16-3":"2026-09-16T09:28:55.415Z","2026.9.17":"2026-09-17T09:05:36.692Z","2026.9.17-2":"2026-09-17T16:00:53.416Z","2026.9.17-3":"2026-09-17T20:21:09.678Z","2026.9.17-4":"2026-09-17T23:52:24.417Z","2026.9.18":"2026-09-18T01:54:03.279Z","2026.9.18-2":"2026-09-18T02:35:55.763Z","2026.9.18-3":"2026-09-18T11:18:16.425Z","2026.9.18-4":"2026-09-18T18:49:14.985Z","2026.9.18-5":"2026-09-18T19:06:12.519Z","2026.9.18-6":"2026-09-18T23:08:18.412Z","2026.9.19":"2026-09-19T03:51:56.990Z","2026.9.19-2":"2026-09-19T04:48:09.312Z"},"bugs":{"url":"https://github.com/code-yeongyu/senpi/issues"},"author":{"name":"Yeongyu Kim"},"license":"MIT","homepage":"https://github.com/code-yeongyu/senpi#readme","keywords":["senpi","pi","extension","codemode"],"repository":{"url":"git+https://github.com/code-yeongyu/senpi.git","type":"git","directory":"packages/senpi-codemode"},"description":"Source-only senpi extension package for codemode evaluation tools","maintainers":[{"name":"code-yeongyu","email":"code.yeon.gyu@gmail.com"}],"readme":"# @code-yeongyu/senpi-codemode\n\n`@code-yeongyu/senpi-codemode` is Senpi's source-only Code Mode extension. It\nregisters the persistent-kernel `eval` execution surface for every eligible\nmodel. `eval` owns one persistent kernel per enabled language and re-registers\nat session start after configuration, interpreter availability, and active\ntask-tool names are known.\n\n## Capabilities\n\n- Persistent JavaScript, Python, Ruby, and Julia cells. State survives later\n  cells in the same language until reset, restart, or session disposal.\n- Timeout detachment for interactive `eval`: long pure-compute cells return a\n\thandle and continue in their existing kernel. Completion is injected with the\n\tfinal value/error and buffered output; use `eval({ action: \"peek\"|\"stop\",\n\tcell_id })` to inspect or terminate a detached cell. A running peek preserves\n\tthe original code and summary together with current output, phase, status\n\tevents, tool-call summaries, elapsed duration, and structured display state;\n\ta terminal peek preserves the exact final result.\n- Loopback, bearer-authenticated kernel bridge with bounded JSONL frames.\n- Structured status events for file operations, environment access, phases,\n  bridge activity, and delegated task progress.\n- One versioned `senpi.eval.execution` event at terminal cell settlement. The\n  in-process event bus receives bounded per-call arguments and result previews\n  for extension-owned consumers; external RPC clients receive a 32 KiB-capped\n  metadata-only projection with wall time, kernel time, exact call counts,\n  pending-call counts, and bounded per-tool aggregates.\n- Bounded streaming output with head/tail previews, column clamping, and\n  session-adjacent spill files for large streams.\n- TUI and HTML-export rendering for syntax-highlighted cells, status rows,\n  task progress, structured display values, truncation warnings, and image\n  fallbacks.\n- Runtime identity badges in eval headers — `eval py (3.14.7, ~/.venv/bin/python3)`,\n  `eval js (node 26.7.0, /opt/…/bin/node)` — with the same `runtime` info on\n  `EvalToolDetails` and its `cells` for RPC consumers; interpreter detection\n  resolves absolute executable paths, and the eval prompt host line names the\n  JS runtime (`node`/`bun`).\n- JavaScript import rewriting for supported local modules and package imports\n  in the persistent JS worker (Bun when senpi runs on bun, Node.js otherwise).\n- On a Bun >= 1.4 kernel the eval prompt names the bundled `bun-1-4` skill as\n  MUST READ before the first js cell; node kernels keep the Node.js wording.\n- GPT models receive a terse `eval` prompt dialect that prioritizes composing\n  active tools through `tool.<name>(args)` and documents detach-on-timeout.\n\n## Kernels\n\n| Language | Default | Runtime | Notes |\n| --- | --- | --- | --- |\n| `js` | enabled | In-process worker on senpi's own runtime (Bun or Node.js 24+) | Supports top-level `await` and `return`; the eval prompt's runtime line follows the kernel. |\n| `py` | enabled | `python3` or `python` | Optional interpreter detected at session start. |\n| `rb` | disabled | `ruby` | Optional interpreter detected at session start. |\n| `jl` | disabled | `julia` | Optional interpreter detected at session start. |\n\nA missing optional interpreter removes that language from the session's `eval`\nschema; it is not an installation failure.\n\n### Session environment\n\nEvery kernel starts with the active session's `PI_*` environment — `PI_SESSION_ID`,\n`PI_SESSION_FILE` (when the session is persistent), `PI_SESSION_CWD` (the session's\nworking directory), `PI_GOAL_STORE_FILE` (the authoritative goal-store path, when the\nhost provides it), `PI_PROVIDER`, `PI_MODEL`, and `PI_REASONING_LEVEL` (when set) — resolved at session start, mirroring the bash tool's\nsession environment contract. The values are visible to `env()`/`process.env`/`os.environ`\ninside cells and are inherited by every child process a cell spawns\n(`Bun.$`, `Bun.spawn`, `child_process`, `subprocess`, ...). Inherited `PI_*` values from\nthe launching environment are dropped first, so a child spawned from a cell sees exactly\nwhat a child spawned from the bash tool sees. The values snapshot at kernel start, so a\nmid-session model switch updates the bash tool's next command but not already-running\nkernels; a new session starts fresh kernels with fresh values.\n\n`PI_GOAL_STORE_FILE` is supplied by the host's optional `ExtensionContext.goalStoreFile`\ngetter and may name a file that does not exist yet. It honors session-directory overrides\nand in-memory sessions; it cannot be derived reliably from `PI_SESSION_FILE`. If the host\nomits the getter, the variable is unset rather than inherited from the launching process.\n\n## Settings\n\nConfiguration is loaded in this order:\n\n1. `.senpi/codemode.json` in the session working directory\n2. `~/.senpi/agent/codemode.json`\n3. Built-in defaults\n\n```json\n{\n  \"languages\": {\n    \"py\": true,\n    \"js\": true,\n    \"rb\": false,\n    \"jl\": false\n  },\n  \"cellTimeoutSeconds\": 30,\n  \"foregroundWindowSeconds\": 60,\n  \"runBudgetSeconds\": 300,\n  \"hardLimitSeconds\": 1800,\n  \"parallelPoolWidth\": 4,\n  \"taskTools\": {\n    \"task\": \"task\",\n    \"output\": \"task_output\"\n  },\n  \"outputSink\": {\n    \"headBytes\": 20480,\n    \"maxColumns\": 768\n  },\n  \"statusEvents\": true\n}\n```\n\n| Key | Default | Effect |\n| --- | --- | --- |\n| `languages` | `py`/`js` enabled; `rb`/`jl` disabled | Selects desired languages before interpreter detection. |\n| `cellTimeoutSeconds` | `30` | Idle time an interactive call blocks the turn before the cell detaches. Print/json calls never detach. |\n| `foregroundWindowSeconds` | `60` | Caps `cellTimeoutSeconds` and the grace a bridge-parked cell gets before it detaches, so an interactive call never blocks the turn longer than this. Env override: `SENPI_CODEMODE_FOREGROUND_SECONDS`. |\n| `runBudgetSeconds` | `300` | Kill deadline for a cell's own execution time - child processes, network, timers, CPU. Time parked in host tool calls (`agent()`, `tool.*`) is not charged, and the budget keeps counting after the cell detaches. A per-call `timeout` replaces it for that cell. Env override: `SENPI_CODEMODE_RUN_BUDGET_SECONDS`. |\n| `hardLimitSeconds` | `1800` | Wall-clock kill deadline for a cell, parked or not; a per-call `timeout` above it raises it. Env override: `SENPI_CODEMODE_HARD_LIMIT_SECONDS`. |\n| `parallelPoolWidth` | `4` | Maximum concurrent `parallel()` thunks. |\n| `taskTools.task` | `\"task\"` | Registered tool name used by `agent()`. |\n| `taskTools.output` | `\"task_output\"` | Registered tool name used by `output()`. |\n| `outputSink.headBytes` | `20480` | Bytes retained from the beginning of a middle-truncated preview; `0` disables it. |\n| `outputSink.maxColumns` | `768` | Maximum rendered output columns; `0` disables column clamping. |\n| `statusEvents` | `true` | Enables kernel status-event forwarding and rendering. Each cell retains at most 100 status rows; after overflow, one omitted-count row precedes the latest 99 events. |\n\n`SENPI_CODEMODE_PY`, `SENPI_CODEMODE_JS`, `SENPI_CODEMODE_RB`, and\n`SENPI_CODEMODE_JL` override the corresponding file setting. `1` or `true`\nenables; `0` or `false` disables. Any other value leaves the file setting in\neffect.\n\nMalformed JSON or invalid settings fall back to defaults with a warning.\n\n## Cell helpers\n\nPython, JavaScript, Ruby, and Julia expose the same conceptual helpers. Python,\nRuby, and Julia use trailing keyword options; JavaScript uses one trailing\noptions object and asynchronous helpers are `await`-able.\n\n| Helper | Contract |\n| --- | --- |\n| `display(value)` | Emits text, structured JSON, markdown, or image display data. Images reach the model only through `display`: pass a figure, raw image bytes (PNG/JPEG/GIF/WebP/BMP sniffed), a `data:` URL, a `Blob`-like or `Bun.Image` value, a marshalled tool result, or one of its `images[i]` frames. |\n| `print(value, ...)` | Emits text output. |\n| `read(path, offset?, limit?)` | Reads text with 1-indexed line slicing. `local://` paths resolve under the session artifact root. |\n| `write(path, content)` | Creates parent directories and writes text. `local://` paths persist in the session artifact root. |\n| `env(key?, value?)` | Reads all kernel environment values, one value, or sets one value. Includes the session's `PI_*` values (see [Session environment](#session-environment)). |\n| `tool.<name>(args)` | Invokes an active Senpi tool through the normal `pi.executeTool` pipeline and returns `{ text, images?, details?, hasError? }` in every kernel; image blocks arrive as `images[i] = { mimeType, dataBase64 }`. |\n| `tool_schema(name?)` | Returns a tool's parameter schema without calling it; omit `name` to list tool names. |\n| `completion(prompt, model?, system?, schema?)` | Requests a one-shot host completion; `schema` asks the host to parse structured output. |\n| `agent(prompt, ...)` | Delegates to the configured active `taskTools.task` tool. Supports background handles and structured JSON results. |\n| `workpool(agent, name, mode?)` | Creates a thin adapter over the normal host `workpool` tool; exposes `pool_id`, `push(items)`, `close()`, `inspect()`, and `cancel()`. JS awaits creation and operations. |\n| `output(ids, format?, offset?, limit?)` | Delegates transcript retrieval to the configured active `taskTools.output` tool. |\n| `parallel(thunks)` | Runs thunks through the configured bounded pool while preserving input order. |\n| `pipeline(items, ...stages)` | Applies stages left to right with a barrier between stages. |\n| `log(message)` / `phase(title)` | Emits progress text and starts a status phase. |\n\nWhen a `tool.<name>()` call fails argument validation, the error delivered back\ninto the cell carries the tool's expected parameters, so the cell can correct the\narguments and retry instead of falling back to one-at-a-time tool calls.\n`tool_schema()` exposes the same catalog up front.\n\n`agent()` is available only when the configured task tool is active in the\nsession. `output()` similarly requires the configured task-output tool and\nreturns immediately: a running task reports its current status, while completed\ntasks return the requested transcript. Missing tools produce a clear\navailability error instead of importing an orchestration package. `agent()`\ndelegates through the tool contract, so task-engine permissions, progress\nupdates, and transcripts remain owned by that engine.\n`isolated`, `apply`, and `merge` are accepted for compatibility but emit a\nwarning because this task-engine integration has no isolation model.\n\nBackground `agent()` handles retain `id` and `agent://<id>` and include `run_epoch`.\nThe host must return structured `details.task_id` (`st_` plus lowercase hex) and\nan integer `details.run_epoch >= 0`. Missing or malformed details raise\n`invalid_task_handle`; prose IDs are never used. Foreground text/JSON is unchanged.\n\n`workpool` takes exactly one of `{category, prompt, model?}` or\n`{subagent_type, prompt, model?}` as its plain-data agent spec. Mode is `fresh`\nor `keep_alive`: pass `{mode: \"fresh\"}` in JS, `mode=\"fresh\"` in Python/Julia,\nor `mode: \"fresh\"` in Ruby. Omission is forwarded unchanged to the engine;\nhosts without an approved default still require an explicit mode. Custom tool\nnames are not enabled by this adapter.\n\n`push` forwards `[{key, input}]` and returns the host receipt without waiting\nfor admission. Operations return the same `{text, details, images?, hasError?}`\nenvelope as direct tool calls. Creation refuses host errors instead of returning\na broken adapter; a missing host raises `workpool_unavailable`. The host owns\nworkers, keyed yields, cancellation, and aggregate delivery after explicit\n`close()`; none is implemented in a kernel. Aggregate support requires a host\nthat implements it. Reset only removes kernel variables: save `pool_id` and use\n`tool.workpool({op: \"inspect\", pool_id})` from a new JS cell (equivalent keyword\narguments in other languages). An open pool's adapter can be recreated with the\nsame name/spec/mode; no worker state is reconstructed in the prelude.\n\n## Required summary\n\nEvery `eval` run call MUST include a `summary` — one line in the user's\nconversational language stating what the cell does and for what purpose (e.g.\na Korean conversation produces a Korean summary such as \"src 전체에서\nlegacyClient 사용처 집계\"). The summary is shown in the TUI while the cell\nruns and in the finished result, so you can always tell what is running and\nwhy. Values longer than 80 characters are force-truncated. A run request\nwithout a `summary` fails with a teaching error.\n\n## Detached cells\n\n`eval` accepts `on_timeout: \"detach\"|\"error\"`. The default is `\"detach\"` in\ninteractive TUI, RPC, and app-server sessions; print and JSON one-shot runs\ndefault to `\"error\"` so their result is never silently detached. A detached\ncell keeps only its own language kernel busy. A new same-language call returns\na busy error with its cell id and output tail; calls in other languages continue\nnormally. Do not re-run the cell.\n\nQueued steering also detaches an eligible interactive foreground call, including\none paused in a host tool bridge, without cancelling its computation. If the\nlanguage's detached slot is occupied, steering leaves the call waiting. Follow-up\nmessages, explicit `on_timeout: \"error\"`, and print/JSON calls do not trigger this\ntransition; caller abort and existing deadlines retain their cancellation behavior.\n\nEvery cell, detached or not, is bounded by two kill deadlines. The run budget\n(`runBudgetSeconds`, or the call's `timeout`) charges only the cell's own\nexecution time and is paused while a host tool call is in flight, so a cell\nwaiting on `agent()` survives while a runaway child process or loop does not.\nThe hard limit (`hardLimitSeconds`, raised by a larger `timeout`) is wall-clock\nand bounds parked cells too. A cell killed by either deadline reports which one\nin its result or completion notification, together with whether kernel state\nsurvived; the tool schema states the configured numbers. The `timeout` value\nnever changes the idle detach deadline: that is `cellTimeoutSeconds` capped by\n`foregroundWindowSeconds`; queued steering can detach the call earlier.\n\nWhile any cell is detached, the interactive footer shows a highlighted\n`↗ <language> · <summary>` status on the extension status line (the cell id\nwhen the call had no summary), clearing as soon as the last detached cell settles.\n\nUse `eval({ action: \"peek\", cell_id })` for its state and buffered output, or\n`eval({ action: \"stop\", cell_id })` to cancel it. Python stop interrupts the\nexisting kernel and preserves variables. JavaScript stop is cooperative first:\nthe worker rejects the cell's pending bridge `tool.*` calls and kills the\n`Bun.spawn` children it started, and a cell that settles within the 2 s grace\nkeeps the worker and every global. Only a cell that stays unsettled (a\nnever-resolving promise, an un-abortable `fetch`, a `Bun.$` command) costs the\nworker VM. A worker blocked in a synchronous call (`Bun.spawnSync`,\n`child_process.spawnSync`) cannot be stopped at all; after a 3 s termination\ndeadline a fresh worker replaces it, the cell output gains a stderr line naming\nthe blocked synchronous call, and the blocked call keeps running until it\nreturns. Kernel-level timeouts follow the same path. Stop results and detached\ncompletion messages report the real outcome - variables preserved, worker\nrestarted, or outcome unknown - never a per-language assumption; oversized\nbuffered output is written under the session local root and referenced as\n`local://…`.\n\nCommands a cell runs through `Bun.$` never read the host's terminal: the worker\nthread shares the TUI's stdin, so the shell wrapper hands every template an\nempty pipe (`true | ( … )`) while a cell is active. Output, exit codes, `cwd`,\n`env`, and explicit `< ${input}` redirects are unchanged; `Bun.spawn` and\n`Bun.spawnSync` already default stdin to `/dev/null`.\n\n## Output and artifacts\n\nCell output is streamed while the cell runs. Large streams spill to an absolute\nfile after the default 50 KiB threshold or when the output column cap drops\nbytes. With a session file such as `/path/session.jsonl`, artifacts live in\n`/path/session-artifacts/`; sessions without a file use a unique temporary\ndirectory. Truncated results include a plain-path notice such as\n`[Full output: /absolute/path/eval-….log]`.\n\n## Deliberate differences from oh-my-pi\n\n- There is no `budget` helper.\n- There is no `artifact://` protocol. Spill references are ordinary absolute\n  file paths.\n- `agent()` and `output()` compose registered task tools through\n  `pi.executeTool`; this package does not import a task-engine workspace\n  package.\n- Task transcript formats are limited to full (`raw`) and trailing (`tail`)\n  output. Query, JSON, and stripped metadata formats are task-engine concerns.\n\n## Security and lifecycle\n\nKernels run locally with the invoking user's permissions. The bridge listens on\nloopback only and authenticates each session with a random bearer token.\nSession generations fence retired kernels and callbacks; each cell settles once\nacross completion, errors, cancellation, timeout, bridge failure, or a kernel\ncrash.\n\nGPT models use the same JavaScript `eval` worker trust boundary as other JavaScript cells;\nthere is no separate execution runtime. `eval` is excluded from the nested tool\nnamespace to prevent recursive execution.\n\n## Validation\n\n```bash\ncd packages/senpi-codemode\nbun run test\n\ncd ../..\nbun run check\n```\n\nDirect real-surface QA drivers live in `scripts/qa-*.ts`: kernel cells\n(`qa-py-cell.ts`, `qa-js-cell.ts`, `qa-rb-cell.ts`, `qa-jl-cell.ts`), end-to-end\nextension execution (`qa-e2e-eval.ts`), and renderer output\n(`qa-render-dump.ts`).\n\n### Nested tool-call widgets\n\nWhen an eval cell invokes `tool.<name>(...)`, the result panel can render a\nnested widget for the invoked tool. The widget captures bounded args, duration,\nand a sanitized 160 code points result preview; the rendering path is\nalways-on and does not depend on any toggle or session flag.\n\nThe capture budget is fixed at 30 enriched calls per cell, with a 4096-character\nserialized args budget. Previews are capped at 160 code points, and collapsed\nwidgets stay within the 8 lines collapsed widget budget.\n\nEntries without args — including old sessions, reserved/completion rows, and\ncalls past the cap — render as plain rows. Edit renders a fallback row by\ndesign, even when its args are present.\n","readmeFilename":"README.md"}