{"_id":"@arcturn/index","_rev":"15-89db5aadb7a2bc90f5c2d8d382a03128","name":"@arcturn/index","dist-tags":{"latest":"0.6.0"},"versions":{"0.1.0":{"name":"@arcturn/index","version":"0.1.0","author":{"name":"Sitharaj Seenivasan"},"license":"Apache-2.0","_id":"@arcturn/index@0.1.0","maintainers":[{"name":"sitharaj","email":"sitharaj.info@gmail.com"}],"homepage":"https://arcturn.dev","bugs":{"url":"https://github.com/sitharaj88/arcturn/issues"},"dist":{"shasum":"ffccebc51bc821105522bae2f581d85484bdc1cd","tarball":"https://registry.npmjs.org/@arcturn/index/-/index-0.1.0.tgz","fileCount":91,"integrity":"sha512-8FddiOhQuw8wRBHXXTIRo9QE47pPxltSAaFTQIi7t4T0dszN2ME3s+FCXhtJwhny84w0hM9jSsdChZFFyoCD5w==","signatures":[{"sig":"MEUCIQCHU2K9wbo8BEoFFKa4QvAhPYJDVYW+ExDBMNapUCWUggIgEtKEYClJt6n3lOjQkfMatwE5RYgrmLSRWV8T+EsOacU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":519184},"main":"./dist/index.js","type":"module","_from":"file:arcturn-index-0.1.0.tgz","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"scripts":{"build":"tsc -p tsconfig.json","clean":"rm -rf dist","typecheck":"tsc -p tsconfig.json --noEmit"},"_npmUser":{"name":"sitharaj","email":"sitharaj.info@gmail.com"},"_resolved":"/tmp/0f92b56f740ef300ba079b971d2ee7ac/arcturn-index-0.1.0.tgz","_integrity":"sha512-8FddiOhQuw8wRBHXXTIRo9QE47pPxltSAaFTQIi7t4T0dszN2ME3s+FCXhtJwhny84w0hM9jSsdChZFFyoCD5w==","repository":{"url":"git+https://github.com/sitharaj88/arcturn.git","type":"git","directory":"packages/index"},"_npmVersion":"10.9.8","description":"Token-optimized code index and semantic search for the Arcturn agent harness Internal to the arcturn CLI; API may change in any release.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"@arcturn/types":"0.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/index_0.1.0_1787498260660_0.3720682389245886","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@arcturn/index","version":"0.2.0","author":{"name":"Sitharaj Seenivasan"},"license":"Apache-2.0","_id":"@arcturn/index@0.2.0","maintainers":[{"name":"sitharaj","email":"sitharaj.info@gmail.com"}],"homepage":"https://arcturn.dev","bugs":{"url":"https://github.com/sitharaj88/arcturn/issues"},"dist":{"shasum":"db9e52f0dc9a389ec7c9cf21cd80da5168449839","tarball":"https://registry.npmjs.org/@arcturn/index/-/index-0.2.0.tgz","fileCount":91,"integrity":"sha512-MvpizEYIQSBpTV6PLmI2eK7C7yJHrxodLqzoRK0z1bSnamVUTsXoMYXEkQAxpYIiAhNpdzYXjz3wxYDbkXIYjg==","signatures":[{"sig":"MEYCIQDow4m0S1XZybDRfEJ5AoMFiPdN6vs/nUrq7mCohCH7pwIhAJPkmunuAB1+wG6yco5Cr+sXZ5YXC4ccT6pQ2vQg8vGY","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":519184},"main":"./dist/index.js","type":"module","_from":"file:arcturn-index-0.2.0.tgz","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"scripts":{"build":"tsc -p tsconfig.json","clean":"rm -rf dist","typecheck":"tsc -p tsconfig.json --noEmit"},"_npmUser":{"name":"sitharaj","email":"sitharaj.info@gmail.com"},"_resolved":"/tmp/521b488be462b1a6f88ae7281ebcf875/arcturn-index-0.2.0.tgz","_integrity":"sha512-MvpizEYIQSBpTV6PLmI2eK7C7yJHrxodLqzoRK0z1bSnamVUTsXoMYXEkQAxpYIiAhNpdzYXjz3wxYDbkXIYjg==","repository":{"url":"git+https://github.com/sitharaj88/arcturn.git","type":"git","directory":"packages/index"},"_npmVersion":"10.9.8","description":"Token-optimized code index and semantic search for the Arcturn agent harness Internal to the arcturn CLI; API may change in any release.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"@arcturn/types":"0.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/index_0.2.0_1787584092885_0.4523880069743409","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@arcturn/index","version":"0.3.0","author":{"name":"Sitharaj Seenivasan"},"license":"Apache-2.0","_id":"@arcturn/index@0.3.0","maintainers":[{"name":"sitharaj","email":"sitharaj.info@gmail.com"}],"homepage":"https://arcturn.dev","bugs":{"url":"https://github.com/sitharaj88/arcturn/issues"},"dist":{"shasum":"1f472c5060b8ad1a60825840f44ad579966864ef","tarball":"https://registry.npmjs.org/@arcturn/index/-/index-0.3.0.tgz","fileCount":91,"integrity":"sha512-qc3ZJVqOIhiO1Rug4Lg2tx0+ov6DfNyrxy85e6nFrSZOrDdjpj67OYSx2oqXORxiX4zpd3oQJMKYMY8cbyED5Q==","signatures":[{"sig":"MEUCIFU6xNT679eldgqGUOLp/bWpTzEN5fctvBHxOw64lTKnAiEAl5yQuP6IWumQIi9Ni0JuYE4X2B063gFRxzuQaMSmXTQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":519184},"main":"./dist/index.js","type":"module","_from":"file:arcturn-index-0.3.0.tgz","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"scripts":{"build":"tsc -p tsconfig.json","clean":"rm -rf dist","typecheck":"tsc -p tsconfig.json --noEmit"},"_npmUser":{"name":"sitharaj","email":"sitharaj.info@gmail.com"},"_resolved":"/tmp/f9015894ed5dde22471a672011ac4520/arcturn-index-0.3.0.tgz","_integrity":"sha512-qc3ZJVqOIhiO1Rug4Lg2tx0+ov6DfNyrxy85e6nFrSZOrDdjpj67OYSx2oqXORxiX4zpd3oQJMKYMY8cbyED5Q==","repository":{"url":"git+https://github.com/sitharaj88/arcturn.git","type":"git","directory":"packages/index"},"_npmVersion":"10.9.8","description":"Token-optimized code index and semantic search for the Arcturn agent harness Internal to the arcturn CLI; API may change in any release.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"@arcturn/types":"0.3.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/index_0.3.0_1787631835021_0.7785882434197029","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@arcturn/index","version":"0.4.0","author":{"name":"Sitharaj Seenivasan"},"license":"Apache-2.0","_id":"@arcturn/index@0.4.0","maintainers":[{"name":"sitharaj","email":"sitharaj.info@gmail.com"}],"homepage":"https://arcturn.dev","bugs":{"url":"https://github.com/sitharaj88/arcturn/issues"},"dist":{"shasum":"c69359e6bc755e6de36e698fc89adb5d0bcda237","tarball":"https://registry.npmjs.org/@arcturn/index/-/index-0.4.0.tgz","fileCount":91,"integrity":"sha512-GiMsVZcY7HW/7y0MkDfnOmCTKlOEVtQjNPzTT1KtNmPabSGWPxFG1HQu1mG05LGEPo9gR4pW7yrBrMdUXem6uQ==","signatures":[{"sig":"MEUCIAindsFgX19/xEcWTg7TFenigx/Isflk0g3NsLVhyXiRAiEAiLK3Jx0H0pT/Qp8nWFd4KN5JSvY86zh6TY9v5Xf95bU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":519184},"main":"./dist/index.js","type":"module","_from":"file:arcturn-index-0.4.0.tgz","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"scripts":{"build":"tsc -p tsconfig.json","clean":"rm -rf dist","typecheck":"tsc -p tsconfig.json --noEmit"},"_npmUser":{"name":"sitharaj","email":"sitharaj.info@gmail.com"},"_resolved":"/tmp/3e7a574b060a60a3ceb3af4d6a7c06fa/arcturn-index-0.4.0.tgz","_integrity":"sha512-GiMsVZcY7HW/7y0MkDfnOmCTKlOEVtQjNPzTT1KtNmPabSGWPxFG1HQu1mG05LGEPo9gR4pW7yrBrMdUXem6uQ==","repository":{"url":"git+https://github.com/sitharaj88/arcturn.git","type":"git","directory":"packages/index"},"_npmVersion":"10.9.8","description":"Token-optimized code index and semantic search for the Arcturn agent harness Internal to the arcturn CLI; API may change in any release.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"@arcturn/types":"0.4.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/index_0.4.0_1787804203015_0.2687225834215883","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@arcturn/index","version":"0.5.0","author":{"name":"Sitharaj Seenivasan"},"license":"Apache-2.0","_id":"@arcturn/index@0.5.0","maintainers":[{"name":"sitharaj","email":"sitharaj.info@gmail.com"}],"homepage":"https://arcturn.dev","bugs":{"url":"https://github.com/sitharaj88/arcturn/issues"},"dist":{"shasum":"9728bb9149ad271d5020b2d44285f6d77e1a863f","tarball":"https://registry.npmjs.org/@arcturn/index/-/index-0.5.0.tgz","fileCount":91,"integrity":"sha512-3r6J/qI0r/aYdQ45gWS9O1TJ4u8NrW75cbJCUpgyWWhmQrCCRb7FjnqMJRpsB9vLkX8+qlBKf+2ebSt2AyLRtA==","signatures":[{"sig":"MEQCIEhjYLTZeJlZeCnlZPQ4YE36QKTeywbxtw2dKcCHP50HAiB0kjgEH6ABXj/N4fRtawvrZJZsEXI/UGiBLBZQ87cgMw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":519184},"main":"./dist/index.js","type":"module","_from":"file:arcturn-index-0.5.0.tgz","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"scripts":{"build":"tsc -p tsconfig.json","clean":"rm -rf dist","typecheck":"tsc -p tsconfig.json --noEmit"},"_npmUser":{"name":"sitharaj","email":"sitharaj.info@gmail.com"},"_resolved":"/tmp/ffe71e89ae66f1e1fe40134393c54cb6/arcturn-index-0.5.0.tgz","_integrity":"sha512-3r6J/qI0r/aYdQ45gWS9O1TJ4u8NrW75cbJCUpgyWWhmQrCCRb7FjnqMJRpsB9vLkX8+qlBKf+2ebSt2AyLRtA==","repository":{"url":"git+https://github.com/sitharaj88/arcturn.git","type":"git","directory":"packages/index"},"_npmVersion":"10.9.8","description":"Token-optimized code index and semantic search for the Arcturn agent harness Internal to the arcturn CLI; API may change in any release.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"@arcturn/types":"0.5.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/index_0.5.0_1787945821977_0.39406460531949383","host":"s3://npm-registry-packages-npm-production"}},"0.5.1":{"name":"@arcturn/index","version":"0.5.1","author":{"name":"Sitharaj Seenivasan"},"license":"Apache-2.0","_id":"@arcturn/index@0.5.1","maintainers":[{"name":"sitharaj","email":"sitharaj.info@gmail.com"}],"homepage":"https://arcturn.dev","bugs":{"url":"https://github.com/sitharaj88/arcturn/issues"},"dist":{"shasum":"ce66ebf5e77a5e65a97366b01b70401cc30d6257","tarball":"https://registry.npmjs.org/@arcturn/index/-/index-0.5.1.tgz","fileCount":91,"integrity":"sha512-jyBvuJXBbYRrP3xvME0Ff/fpkw9ycjdpOqld6GlrI4aj/Z/9rjrbXKn33S4j1b+c1BbLl1wS05nEHRdiJABnZA==","signatures":[{"sig":"MEUCIF0TTFmn/Wt4WFVmuKUlrj/Of7LFmifJld54rwoeMNSsAiEA+BWQJARZfTrUT4wCoYrD669MVXlpcAJpxmECutDL2W0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":519184},"main":"./dist/index.js","type":"module","_from":"file:arcturn-index-0.5.1.tgz","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"scripts":{"build":"tsc -p tsconfig.json","clean":"rm -rf dist","typecheck":"tsc -p tsconfig.json --noEmit"},"_npmUser":{"name":"sitharaj","email":"sitharaj.info@gmail.com"},"_resolved":"/tmp/4cc4249de6d3bb52c8759042512b71ec/arcturn-index-0.5.1.tgz","_integrity":"sha512-jyBvuJXBbYRrP3xvME0Ff/fpkw9ycjdpOqld6GlrI4aj/Z/9rjrbXKn33S4j1b+c1BbLl1wS05nEHRdiJABnZA==","repository":{"url":"git+https://github.com/sitharaj88/arcturn.git","type":"git","directory":"packages/index"},"_npmVersion":"10.9.8","description":"Token-optimized code index and semantic search for the Arcturn agent harness Internal to the arcturn CLI; API may change in any release.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"@arcturn/types":"0.5.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/index_0.5.1_1787953433228_0.08445726144437904","host":"s3://npm-registry-packages-npm-production"}},"0.5.2":{"name":"@arcturn/index","version":"0.5.2","author":{"name":"Sitharaj Seenivasan"},"license":"Apache-2.0","_id":"@arcturn/index@0.5.2","maintainers":[{"name":"sitharaj","email":"sitharaj.info@gmail.com"}],"homepage":"https://arcturn.dev","bugs":{"url":"https://github.com/sitharaj88/arcturn/issues"},"dist":{"shasum":"34f1042557da450c5172b8aa0db6a528f74a271c","tarball":"https://registry.npmjs.org/@arcturn/index/-/index-0.5.2.tgz","fileCount":91,"integrity":"sha512-/gfvz4dzVdYe0ge0T3qjUFOc3vvGpbqNOnlIa0n7H4EJAnxAXr8OstRCZVnJSesqIrQQEkGLItZzaOCXkY6ImA==","signatures":[{"sig":"MEUCIEFVIDdAWWkIWS7LDETsPBlI+QWlP9UlTZksjEXWTBhjAiEAtfTF4HMZZESOR5m/ZYCxroe9XCqIEbKmEV+n38SpJyA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":519184},"main":"./dist/index.js","type":"module","_from":"file:arcturn-index-0.5.2.tgz","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"scripts":{"build":"tsc -p tsconfig.json","clean":"rm -rf dist","typecheck":"tsc -p tsconfig.json --noEmit"},"_npmUser":{"name":"sitharaj","email":"sitharaj.info@gmail.com"},"_resolved":"/tmp/59694528e34e4b6f33add582c9e1f5fb/arcturn-index-0.5.2.tgz","_integrity":"sha512-/gfvz4dzVdYe0ge0T3qjUFOc3vvGpbqNOnlIa0n7H4EJAnxAXr8OstRCZVnJSesqIrQQEkGLItZzaOCXkY6ImA==","repository":{"url":"git+https://github.com/sitharaj88/arcturn.git","type":"git","directory":"packages/index"},"_npmVersion":"10.9.8","description":"Token-optimized code index and semantic search for the Arcturn agent harness Internal to the arcturn CLI; API may change in any release.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"@arcturn/types":"0.5.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/index_0.5.2_1787980735963_0.2524795763469032","host":"s3://npm-registry-packages-npm-production"}},"0.5.3":{"name":"@arcturn/index","version":"0.5.3","author":{"name":"Sitharaj Seenivasan"},"license":"Apache-2.0","_id":"@arcturn/index@0.5.3","maintainers":[{"name":"sitharaj","email":"sitharaj.info@gmail.com"}],"homepage":"https://arcturn.dev","bugs":{"url":"https://github.com/sitharaj88/arcturn/issues"},"dist":{"shasum":"a92cc5d41f68107809ea9b5ab611299900569a64","tarball":"https://registry.npmjs.org/@arcturn/index/-/index-0.5.3.tgz","fileCount":91,"integrity":"sha512-O8VA0R93pJWc3BkUMJF4JSRXpHi6m5I5eOEWHRt8h+ND9XTlZZljJ/aSl2q1zg4jmXoNv1nNfkiJl4L1qb2QVQ==","signatures":[{"sig":"MEUCIDjDN3od7lnSPa0/L5tLUe8gjaBNdEWahnp1S7r+PkMrAiEApzFXkb8kKSjh0xHVNHw9bw6A+rZxqCNEXXW7wdsj704=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":519184},"main":"./dist/index.js","type":"module","_from":"file:arcturn-index-0.5.3.tgz","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"scripts":{"build":"tsc -p tsconfig.json","clean":"rm -rf dist","typecheck":"tsc -p tsconfig.json --noEmit"},"_npmUser":{"name":"sitharaj","email":"sitharaj.info@gmail.com"},"_resolved":"/tmp/02c8d290156b21a40aac0fc1941183c4/arcturn-index-0.5.3.tgz","_integrity":"sha512-O8VA0R93pJWc3BkUMJF4JSRXpHi6m5I5eOEWHRt8h+ND9XTlZZljJ/aSl2q1zg4jmXoNv1nNfkiJl4L1qb2QVQ==","repository":{"url":"git+https://github.com/sitharaj88/arcturn.git","type":"git","directory":"packages/index"},"_npmVersion":"10.9.8","description":"Token-optimized code index and semantic search for the Arcturn agent harness Internal to the arcturn CLI; API may change in any release.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"@arcturn/types":"0.5.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/index_0.5.3_1788025237467_0.3590240976318466","host":"s3://npm-registry-packages-npm-production"}},"0.5.4":{"name":"@arcturn/index","version":"0.5.4","author":{"name":"Sitharaj Seenivasan"},"license":"Apache-2.0","_id":"@arcturn/index@0.5.4","maintainers":[{"name":"sitharaj","email":"sitharaj.info@gmail.com"}],"homepage":"https://arcturn.dev","bugs":{"url":"https://github.com/sitharaj88/arcturn/issues"},"dist":{"shasum":"9cad177bfb49a69cdce0f1c170f2da689913fa1d","tarball":"https://registry.npmjs.org/@arcturn/index/-/index-0.5.4.tgz","fileCount":91,"integrity":"sha512-v3KxDC+U7wUKy5zH61addZcfBX0A1M61FtH7FO9XeEKmYlre1tu06CfXukF4ZOrz+AtC75eh5bWOCY+To8kpEg==","signatures":[{"sig":"MEUCIQCgCnZYfu3yev08LlOrx2wgP1TcdbFrikqyazm/ejJnVwIgOzxS+9tSN9p4aiKEI7sgMjktl70nU9Lb6GAx4+WES7E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":519184},"main":"./dist/index.js","type":"module","_from":"file:arcturn-index-0.5.4.tgz","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"scripts":{"build":"tsc -p tsconfig.json","clean":"rm -rf dist","typecheck":"tsc -p tsconfig.json --noEmit"},"_npmUser":{"name":"sitharaj","email":"sitharaj.info@gmail.com"},"_resolved":"/tmp/ae96c2f472b2724abef989ec9df3736f/arcturn-index-0.5.4.tgz","_integrity":"sha512-v3KxDC+U7wUKy5zH61addZcfBX0A1M61FtH7FO9XeEKmYlre1tu06CfXukF4ZOrz+AtC75eh5bWOCY+To8kpEg==","repository":{"url":"git+https://github.com/sitharaj88/arcturn.git","type":"git","directory":"packages/index"},"_npmVersion":"10.9.8","description":"Token-optimized code index and semantic search for the Arcturn agent harness Internal to the arcturn CLI; API may change in any release.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"@arcturn/types":"0.5.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/index_0.5.4_1788042163479_0.4599352328902453","host":"s3://npm-registry-packages-npm-production"}},"0.5.5":{"name":"@arcturn/index","version":"0.5.5","author":{"name":"Sitharaj Seenivasan"},"license":"Apache-2.0","_id":"@arcturn/index@0.5.5","maintainers":[{"name":"sitharaj","email":"sitharaj.info@gmail.com"}],"homepage":"https://arcturn.dev","bugs":{"url":"https://github.com/sitharaj88/arcturn/issues"},"dist":{"shasum":"8b45fbd3e1be580fba7d60d74d69f90e8c38bbc3","tarball":"https://registry.npmjs.org/@arcturn/index/-/index-0.5.5.tgz","fileCount":91,"integrity":"sha512-9YSnX2fIq7kIwCzhcoPX6agis9sLuSj3XC1der/1p1gDlwYJWquphVGUoVLer9hSzhKZJRV0noI3wPZg6UTK+w==","signatures":[{"sig":"MEUCIQD8JqCIeG1OCRlIMCFWGEsLPtCfgSjmHQ3ASIzsFXGXdQIgaAtEAyUrI8ELz5aarmjRpZvJ4rB7fwkhOb58xSY0i70=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":519184},"main":"./dist/index.js","type":"module","_from":"file:arcturn-index-0.5.5.tgz","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"scripts":{"build":"tsc -p tsconfig.json","clean":"rm -rf dist","typecheck":"tsc -p tsconfig.json --noEmit"},"_npmUser":{"name":"sitharaj","email":"sitharaj.info@gmail.com"},"_resolved":"/tmp/566bc9ba7d0f7bad2dfc596ba46035a3/arcturn-index-0.5.5.tgz","_integrity":"sha512-9YSnX2fIq7kIwCzhcoPX6agis9sLuSj3XC1der/1p1gDlwYJWquphVGUoVLer9hSzhKZJRV0noI3wPZg6UTK+w==","repository":{"url":"git+https://github.com/sitharaj88/arcturn.git","type":"git","directory":"packages/index"},"_npmVersion":"10.9.8","description":"Token-optimized code index and semantic search for the Arcturn agent harness Internal to the arcturn CLI; API may change in any release.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"@arcturn/types":"0.5.5"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/index_0.5.5_1788069783799_0.5981830871254059","host":"s3://npm-registry-packages-npm-production"}},"0.5.6":{"name":"@arcturn/index","version":"0.5.6","author":{"name":"Sitharaj Seenivasan"},"license":"Apache-2.0","_id":"@arcturn/index@0.5.6","maintainers":[{"name":"sitharaj","email":"sitharaj.info@gmail.com"}],"homepage":"https://arcturn.dev","bugs":{"url":"https://github.com/sitharaj88/arcturn/issues"},"dist":{"shasum":"452ff8892206a70f6bbc4dc8f2b8e05b9f7457f4","tarball":"https://registry.npmjs.org/@arcturn/index/-/index-0.5.6.tgz","fileCount":91,"integrity":"sha512-O+s51fpw1PJUpejmWyU9mtcyysPE61oqgdXuL7Fi2tLpf80UlINfWht2YnTifWh4aAj6Myoyc8RJXC7XHAdkQg==","signatures":[{"sig":"MEYCIQCXcG3n5M2vbC7NmDfzlKfhBTApUbazoY8VE0yH4ooJ7QIhAJFm9KCHx8M91GI864Qo9OwDnS2QEyL+lg1E53bVy0iI","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":519184},"main":"./dist/index.js","type":"module","_from":"file:arcturn-index-0.5.6.tgz","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"scripts":{"build":"tsc -p tsconfig.json","clean":"rm -rf dist","typecheck":"tsc -p tsconfig.json --noEmit"},"_npmUser":{"name":"sitharaj","email":"sitharaj.info@gmail.com"},"_resolved":"/tmp/2e5733e3ecd2904b82c51bd268f2992c/arcturn-index-0.5.6.tgz","_integrity":"sha512-O+s51fpw1PJUpejmWyU9mtcyysPE61oqgdXuL7Fi2tLpf80UlINfWht2YnTifWh4aAj6Myoyc8RJXC7XHAdkQg==","repository":{"url":"git+https://github.com/sitharaj88/arcturn.git","type":"git","directory":"packages/index"},"_npmVersion":"10.9.8","description":"Token-optimized code index and semantic search for the Arcturn agent harness Internal to the arcturn CLI; API may change in any release.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"@arcturn/types":"0.5.6"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/index_0.5.6_1788081257601_0.11710344059119171","host":"s3://npm-registry-packages-npm-production"}},"0.5.7":{"name":"@arcturn/index","version":"0.5.7","author":{"name":"Sitharaj Seenivasan"},"license":"Apache-2.0","_id":"@arcturn/index@0.5.7","maintainers":[{"name":"sitharaj","email":"sitharaj.info@gmail.com"}],"homepage":"https://arcturn.dev","bugs":{"url":"https://github.com/sitharaj88/arcturn/issues"},"dist":{"shasum":"7b62aeee36216478845a0b984c5deff58aa6330a","tarball":"https://registry.npmjs.org/@arcturn/index/-/index-0.5.7.tgz","fileCount":91,"integrity":"sha512-2CoNk0hD5reC27AEmABudg71R2cyvfFvioA1Tdt21t3v7pWg7LSDnhNBK1l4+F4L9mvRhIXDbZ3uuqRXBTvClw==","signatures":[{"sig":"MEQCIDa8xfUFmClTboE0XAEDPyW6DyURWlDNR6LY48NrWKQCAiANBquYVT18q3vmyaQUug9eRtS/z7xu0eotMuQ/iIE+tA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":519184},"main":"./dist/index.js","type":"module","_from":"file:arcturn-index-0.5.7.tgz","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"scripts":{"build":"tsc -p tsconfig.json","clean":"rm -rf dist","typecheck":"tsc -p tsconfig.json --noEmit"},"_npmUser":{"name":"sitharaj","email":"sitharaj.info@gmail.com"},"_resolved":"/tmp/74a7132abd5fbc446ddeb3a35100514e/arcturn-index-0.5.7.tgz","_integrity":"sha512-2CoNk0hD5reC27AEmABudg71R2cyvfFvioA1Tdt21t3v7pWg7LSDnhNBK1l4+F4L9mvRhIXDbZ3uuqRXBTvClw==","repository":{"url":"git+https://github.com/sitharaj88/arcturn.git","type":"git","directory":"packages/index"},"_npmVersion":"10.9.8","description":"Token-optimized code index and semantic search for the Arcturn agent harness Internal to the arcturn CLI; API may change in any release.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"@arcturn/types":"0.5.7"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/index_0.5.7_1788102839749_0.9653494764276269","host":"s3://npm-registry-packages-npm-production"}},"0.5.8":{"name":"@arcturn/index","version":"0.5.8","author":{"name":"Sitharaj Seenivasan"},"license":"Apache-2.0","_id":"@arcturn/index@0.5.8","maintainers":[{"name":"sitharaj","email":"sitharaj.info@gmail.com"}],"homepage":"https://arcturn.dev","bugs":{"url":"https://github.com/sitharaj88/arcturn/issues"},"dist":{"shasum":"b9f67fe9f16b8697a2fd5a8bcea993fea1a558d4","tarball":"https://registry.npmjs.org/@arcturn/index/-/index-0.5.8.tgz","fileCount":91,"integrity":"sha512-oBTLk3dXcFSE6jCTGR5BI3xdHmGdymfvPTOMkFkMHf1LOKKBvDGAbxznBhyDHrjN9GQcp3Sr9TTfBbBb7f3q8w==","signatures":[{"sig":"MEUCIQCpBELqPfJsD6pRYLKKxDTQrsLkh03jstF61Nm5q1SDFgIgA4Mm3Mm2qOihQgi3d04W4bUaEiUhDlayewcG8rKfXmA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":519184},"main":"./dist/index.js","type":"module","_from":"file:arcturn-index-0.5.8.tgz","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"scripts":{"build":"tsc -p tsconfig.json","clean":"rm -rf dist","typecheck":"tsc -p tsconfig.json --noEmit"},"_npmUser":{"name":"sitharaj","email":"sitharaj.info@gmail.com"},"_resolved":"/tmp/7ef59a33fbe690b5b53e87e0891019f5/arcturn-index-0.5.8.tgz","_integrity":"sha512-oBTLk3dXcFSE6jCTGR5BI3xdHmGdymfvPTOMkFkMHf1LOKKBvDGAbxznBhyDHrjN9GQcp3Sr9TTfBbBb7f3q8w==","repository":{"url":"git+https://github.com/sitharaj88/arcturn.git","type":"git","directory":"packages/index"},"_npmVersion":"10.9.8","description":"Token-optimized code index and semantic search for the Arcturn agent harness Internal to the arcturn CLI; API may change in any release.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"@arcturn/types":"0.5.8"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/index_0.5.8_1788112551037_0.8741930428128395","host":"s3://npm-registry-packages-npm-production"}},"0.5.9":{"name":"@arcturn/index","version":"0.5.9","author":{"name":"Sitharaj Seenivasan"},"license":"Apache-2.0","_id":"@arcturn/index@0.5.9","maintainers":[{"name":"sitharaj","email":"sitharaj.info@gmail.com"}],"homepage":"https://arcturn.dev","bugs":{"url":"https://github.com/sitharaj88/arcturn/issues"},"dist":{"shasum":"a3c1543b485916ed96353830a87e59efa74d397d","tarball":"https://registry.npmjs.org/@arcturn/index/-/index-0.5.9.tgz","fileCount":91,"integrity":"sha512-YXNMC5L+JVxHL5yQgL+aprKCU5WEd8PaGtWxhz6ZI2BC7vvHqVOQkWHCd1bVKLNtRuS6O4FVezuWSQLDDFpaGQ==","signatures":[{"sig":"MEQCIB5vqCj6WgzMrjSGDE3v0BKEv4EcNce6sCmKqKNTo/LUAiAVwTJMPZ89anhUXSCz/mT5ZGuhrOeqJB0ydafE2oW/6g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":519184},"main":"./dist/index.js","type":"module","_from":"file:arcturn-index-0.5.9.tgz","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"scripts":{"build":"tsc -p tsconfig.json","clean":"rm -rf dist","typecheck":"tsc -p tsconfig.json --noEmit"},"_npmUser":{"name":"sitharaj","email":"sitharaj.info@gmail.com"},"_resolved":"/tmp/132b39e7637d76b23097614e36a862a3/arcturn-index-0.5.9.tgz","_integrity":"sha512-YXNMC5L+JVxHL5yQgL+aprKCU5WEd8PaGtWxhz6ZI2BC7vvHqVOQkWHCd1bVKLNtRuS6O4FVezuWSQLDDFpaGQ==","repository":{"url":"git+https://github.com/sitharaj88/arcturn.git","type":"git","directory":"packages/index"},"_npmVersion":"10.9.8","description":"Token-optimized code index and semantic search for the Arcturn agent harness Internal to the arcturn CLI; API may change in any release.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"@arcturn/types":"0.5.9"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/index_0.5.9_1788410491479_0.243771030833001","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"@arcturn/index","version":"0.6.0","description":"Token-optimized code index and semantic search for the Arcturn agent harness Internal to the arcturn CLI; API may change in any release.","license":"Apache-2.0","publishConfig":{"access":"public"},"author":{"name":"Sitharaj Seenivasan"},"repository":{"type":"git","url":"git+https://github.com/sitharaj88/arcturn.git","directory":"packages/index"},"bugs":{"url":"https://github.com/sitharaj88/arcturn/issues"},"homepage":"https://arcturn.dev","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"engines":{"node":">=20.0.0"},"dependencies":{"@arcturn/types":"0.6.0"},"scripts":{"build":"tsc -p tsconfig.json","clean":"rm -rf dist","typecheck":"tsc -p tsconfig.json --noEmit"},"_id":"@arcturn/index@0.6.0","_integrity":"sha512-uBmtGc1nrGpQnQslFEr6Wvi9vi949Ns7Lzk2+Y3nH3VxNoZKSVDxkyhCe0hK69cUN/vIcjAfFxo2Nba7uLQ7Yw==","_resolved":"/tmp/1bbf9b9320dab65d03b9bb470fce3c56/arcturn-index-0.6.0.tgz","_from":"file:arcturn-index-0.6.0.tgz","_nodeVersion":"22.23.2","_npmVersion":"10.9.8","dist":{"integrity":"sha512-uBmtGc1nrGpQnQslFEr6Wvi9vi949Ns7Lzk2+Y3nH3VxNoZKSVDxkyhCe0hK69cUN/vIcjAfFxo2Nba7uLQ7Yw==","shasum":"26a2ae3b8abc41f8f3ba79cd5269cef4ae3bf4b1","tarball":"https://registry.npmjs.org/@arcturn/index/-/index-0.6.0.tgz","fileCount":91,"unpackedSize":519184,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDgtUqPMBMov8m2Ifn1J8it+CeTUCQDPo8Y+TK9v14gyQIgJfguzFfYcmeBOSVeIVnx3KEPqsGhMbEmRqslK/vVgSA="}]},"_npmUser":{"name":"sitharaj","email":"sitharaj.info@gmail.com"},"directories":{},"maintainers":[{"name":"sitharaj","email":"sitharaj.info@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/index_0.6.0_1788580107381_0.5161341589286255"},"_hasShrinkwrap":false}},"time":{"created":"2026-08-23T15:17:40.486Z","modified":"2026-09-05T03:48:27.689Z","0.1.0":"2026-08-23T15:17:40.799Z","0.2.0":"2026-08-24T15:08:13.043Z","0.3.0":"2026-08-25T04:23:55.176Z","0.4.0":"2026-08-27T04:16:43.148Z","0.5.0":"2026-08-28T19:37:02.155Z","0.5.1":"2026-08-28T21:43:53.407Z","0.5.2":"2026-08-29T05:18:56.135Z","0.5.3":"2026-08-29T17:40:37.635Z","0.5.4":"2026-08-29T22:22:43.609Z","0.5.5":"2026-08-30T06:03:03.989Z","0.5.6":"2026-08-30T09:14:17.763Z","0.5.7":"2026-08-30T15:13:59.933Z","0.5.8":"2026-08-30T17:55:51.245Z","0.5.9":"2026-09-03T04:41:31.610Z","0.6.0":"2026-09-05T03:48:27.520Z"},"bugs":{"url":"https://github.com/sitharaj88/arcturn/issues"},"author":{"name":"Sitharaj Seenivasan"},"license":"Apache-2.0","homepage":"https://arcturn.dev","repository":{"type":"git","url":"git+https://github.com/sitharaj88/arcturn.git","directory":"packages/index"},"description":"Token-optimized code index and semantic search for the Arcturn agent harness Internal to the arcturn CLI; API may change in any release.","maintainers":[{"name":"sitharaj","email":"sitharaj.info@gmail.com"}],"readme":"# @arcturn/index\n\n> **Internal to the arcturn CLI. Published so `arcturn` resolves; its API may change in any release without a major version bump.** Embedders should depend on [`@arcturn/core`](https://www.npmjs.com/package/@arcturn/core) and [`@arcturn/ai`](https://www.npmjs.com/package/@arcturn/ai), whose surfaces are the ones the SDK documents.\n\n**A token-optimized code index for the [Arcturn](../../README.md) harness.**\n\n> An index's token cost is what it puts in the model's context, not what it costs to build.\n\nA retrieval tool that returns whole file bodies is *worse* than `grep`: it spends thousands of\ntokens answering a question the agent could have answered with a `file:line`. So this index\nreturns **addresses, not content** — and the agent reads only what it decides it needs, with the\ntools it already has.\n\n```text\nsearch_code(\"where is auth handled\")\n\npackages/core/src/auth/session.ts:42  function createSession(user: User): Session — Issues a signed…\npackages/server/src/middleware.ts\n  :18  function requireAuth(req, res, next) — Rejects requests without a valid bearer token.\n  :51  const AUTH_HEADER = \"authorization\"\n  + 3 more here (narrow with path:\"packages/server/src/middleware.ts\")\n… 27 more matches not shown. Narrow with kind:\"function\", path:\"src/**\", or a more specific query.\nNext: read({\"path\":\"packages/core/src/auth/session.ts\",\"offset\":42,\"limit\":31}) for createSession.\n```\n\nThat whole result is roughly 120 tokens. The same hits with bodies would be several thousand.\n\n## How it relates to `symbols` and `grep`\n\n|  | `symbols` (LSP) | `search_code` (this) | `grep` |\n|---|---|---|---|\n| Needs a language server | yes | **no** | no |\n| Covers every file type | no | **yes** (incl. Markdown, config) | yes |\n| Fuzzy / conceptual queries | no | **yes** | no |\n| Exact strings and regexes | no | no | **yes** |\n| Ground-truth symbol table | **yes** | approximate | no |\n\n`symbols` is the *precise* path when a server is running. This is the *always-available* one.\n`grep` remains right for every literal occurrence of an exact string. The `search_code` tool\ndescription says exactly this to the model, so it picks correctly without being told.\n\n## Architecture\n\n```text\n walk ──► chunk ──────► store ──────────► search ────────► format ──► tool\n  │        │             │                 │                │\n  │        │             │                 │                └─ hard token budget,\n  │        │             │                 │                   per-file collapsing,\n  │        │             │                 │                   an explicit `read` hint\n  │        │             │                 └─ BM25 ⊕ symbol-name ⊕ (optional) vectors,\n  │        │             │                    merged by Reciprocal Rank Fusion (k = 60)\n  │        │             └─ JSONL chunks + a compact inverted index,\n  │        │                keyed by content hash so `git checkout` is free\n  │        └─ declaration boundaries per language, never fixed windows;\n  │           an unparseable file still indexes as one whole-file chunk\n  └─ .gitignore-aware, binary/minified/oversize-skipping, interruptible\n```\n\n### Chunking\n\nFixed line-windows split functions in half and retrieve meaningless fragments, so chunks land on\ndeclaration boundaries instead. Extraction is heuristic and dependency-free: one scanner engine\n(`scanner.ts`) driven by per-language rule tables (`language.ts`), over a masked mirror of the\nsource (`mask.ts`) in which comments and string literals have been blanked. That masking pass is\nwhat makes brace counting and declaration matching reliable — a `}` inside a string or a\n`class Foo` inside a comment can never move the scanner.\n\nThe scanner also tracks **scope depth**, so `const engine = …` at module scope is a symbol while\nthe identical line inside `describe(\"…\", () => {` is a local and is not indexed. On this\nrepository that distinction alone removes 6,700 junk chunks (14,497 → 7,773).\n\nLanguages: TypeScript/JavaScript (`.ts .tsx .mts .cts .js .jsx .mjs .cjs`), Python, Go, Rust,\nJava, Kotlin, Ruby, PHP, C, C++, C#, Swift, shell, and Markdown (headings become `section`\nchunks). Everything else — and any file the scanner finds nothing in — indexes as a single\nwhole-file chunk, so no file is ever unfindable. `chunkFile` never throws.\n\n### Retrieval\n\nThree cheap signals, fused by Reciprocal Rank Fusion (`score = Σ w/(60 + rank)`), which is\nparameter-free and robust to the fact that a BM25 score of 8.3, a symbol score of 1040, and a\ncosine of 0.71 are not comparable numbers:\n\n1. **BM25** over name + container + signature + doc + path + body identifiers, with field\n   weighting applied by term repetition (name ×4, container/signature ×2). Identifiers are\n   indexed both whole and split, so `getUserById` is found by \"user id\".\n2. **Symbol-name scoring** — exact ▸ qualified-exact ▸ prefix ▸ containment ▸ word-set ▸\n   subsequence, weighted ×2 in the fusion. This is what makes `TokenBucket` return the class\n   named `TokenBucket` rather than the twelve files that mention it.\n3. **Embeddings** — optional, **off by default**, because embedding a repository costs real\n   tokens. See [`embedder.ts`](src/embedder.ts) for when it earns its keep.\n\n### Token optimization\n\n- `detail: \"signatures\"` (default) — one line per hit, held to ~30 tokens by a per-hit character\n  budget that clips the *description*, never the address.\n- `detail: \"snippets\"` — adds a bounded window of body lines (~2.5× the cost).\n- `detail: \"full\"` — bodies, on request only (~4–10× the cost).\n- A hard token budget (1500 by default) with an explicit `… N more matches not shown` line naming\n  the filters that would narrow them. Nothing is ever silently dropped.\n- Hits in one file collapse under a single path header; a hit contained in a better-ranked hit\n  from the same file is dropped outright.\n- Every result ends with the exact `read` call for the top hit.\n\n### Incremental indexing\n\nFiles are keyed by **content hash, never mtime** — a `git checkout` rewrites every mtime in the\ntree while changing almost no content, and an mtime-keyed index would reindex the world on every\nbranch switch. Indexing is interruptible (`AbortSignal` and a wall-clock deadline), yields to the\nevent loop every few files, and a partial pass is saved and usable. A corrupt, truncated, or\nversion-mismatched index rebuilds silently rather than surfacing an error.\n\n## Usage\n\n```ts\nimport { createSearchCodeTool } from \"@arcturn/index\";\n\nconst searchCode = createSearchCodeTool();\n// register alongside the built-in tools; it indexes ctx.cwd on first use\n```\n\nWarm the index at session start so the first search is instant:\n\n```ts\nimport { CodeIndexService, createSearchCodeTool } from \"@arcturn/index\";\n\nconst service = new CodeIndexService();\nvoid service.ensureIndexed(process.cwd()); // fire and forget; never blocks\n```\n\n### Options\n\n| option | default | meaning |\n|---|---|---|\n| `indexRoot` | `~/.arcturn/index` | where per-repository indexes live (`<root>/<sha1(cwd)>`) |\n| `refreshBudgetMs` | `4000` | wall-clock budget for the refresh before a search |\n| `minRefreshIntervalMs` | `2000` | minimum gap between refreshes of one root |\n| `maxFileBytes` | `1_000_000` | per-file size cap |\n| `tokenBudget` | `1500` | token ceiling for a rendered result |\n| `walk` | — | `.gitignore` handling, extra ignores, file cap |\n| `embedder` | *none* | opt-in semantic recall; costs real tokens |\n\n### Integrating the tool\n\n`@arcturn/index` intentionally does **not** depend on `@arcturn/tools`, so it mirrors that\npackage's `textResult` / `errorResult` / `abortedResult` / `resolvePath` helpers privately —\nthe same choice `packages/cli/src/lsp/symbols.ts` makes for the same reason. If the two packages\never share a dependency edge, those four private functions in [`src/tool.ts`](src/tool.ts) should\nbe replaced with imports; nothing else in the package touches another package's internals.\n\n## Measured on this repository\n\n516 files, 7,773 chunks, measured end to end:\n\n| | |\n|---|---|\n| Cold index (parse everything) | 0.86 s |\n| Warm pass, nothing changed | 0.12 s, **zero** files re-chunked |\n| Index on disk | 8.1 MB (`chunks.jsonl` 5.9 MB, `postings.json` 2.3 MB) |\n| Query latency (8 queries, 7.7k chunks) | 9–10 ms |\n| **Tokens per hit — `signatures`** | **26–31 (mean 29)** |\n| Tokens per hit — `snippets` | 72–104 (mean 83) |\n| Tokens per hit — `full` | 84–346 (mean 185) |\n| Whole result at the default budget | 303–625 tokens (`signatures`) |\n\n`full` costs **6.3×** what `signatures` costs for the same hits — which is why the model has to\nask for it.\n\n---\n\n## 👤 Author\n\n**Sitharaj Seenivasan**\n\n- 🌐 Website: [sitharaj.in](https://sitharaj.in)\n- 💼 LinkedIn: [sitharaj08](https://www.linkedin.com/in/sitharaj08)\n- 💻 GitHub: [sitharaj88](https://github.com/sitharaj88)\n\n## ☕ Support\n\nIf this project helps you, consider buying me a coffee — it keeps the work going.\n\n[![Buy Me A Coffee](https://img.shields.io/badge/Buy%20Me%20A%20Coffee-support-FFDD00?logo=buy-me-a-coffee&logoColor=black)](https://buymeacoffee.com/sitharaj88)\n\n## 📄 License\n\nLicensed under the [Apache License 2.0](../../LICENSE). © 2026 Sitharaj Seenivasan.\n","readmeFilename":"README.md"}