{"_id":"@carlkibler/toolsmith","_rev":"36-2c12f5879f87b1c8fd54739d9c1aa59b","name":"@carlkibler/toolsmith","dist-tags":{"latest":"0.1.59"},"versions":{"0.1.0":{"name":"@carlkibler/toolsmith","version":"0.1.0","keywords":["mcp","agent","ai","llm","edit","anchor","codegen","toolsmith","claude","codex"],"license":"MIT","_id":"@carlkibler/toolsmith@0.1.0","maintainers":[{"name":"carlkibler","email":"carl@carlkibler.com"}],"homepage":"https://github.com/carlkibler/toolsmith#readme","bugs":{"url":"https://github.com/carlkibler/toolsmith/issues"},"pi":{"extensions":["./extensions"]},"bin":{"toolsmith":"bin/toolsmith.js","toolsmith-mcp":"bin/toolsmith-mcp.js"},"dist":{"shasum":"46b5c5dd590419c20a50ea1db5c346d9be428476","tarball":"https://registry.npmjs.org/@carlkibler/toolsmith/-/toolsmith-0.1.0.tgz","fileCount":24,"integrity":"sha512-mcfkQktHitKfB7HnAbFrMtewHj7mexfz3DbL8CHdF8kb3r2Hf2cvfxocsgP1Y2wmB+61IKAsfsK0Yki3PrDpfQ==","signatures":[{"sig":"MEUCIE/oDOx14pWEUUG3rKAxe6wsIO3Z8fN2ccywtTIsiVIIAiEAi+yHg4aWuxEvoleK3Cuex+I6M9b6DAubmKRxVTbn5t8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":92621},"main":"./src/index.js","type":"module","engines":{"node":">=20"},"exports":{".":"./src/index.js"},"gitHead":"645266fc4c82b06014afc08591f8659c80ce1116","scripts":{"test":"node --test","check":"node --check src/*.js bin/*.js && node --test","test:harnesses":"./scripts/test-harnesses.sh","install:harnesses":"./scripts/install-harnesses.sh","test:harnesses:live":"./scripts/test-harnesses.sh --live"},"_npmUser":{"name":"carlkibler","email":"carl@carlkibler.com"},"repository":{"url":"git+https://github.com/carlkibler/toolsmith.git","type":"git"},"_npmVersion":"11.13.0","description":"Portable hash-anchored edit primitives for coding agent harnesses — low-token file reads and exact batched edits.","directories":{},"_nodeVersion":"25.9.0","dependencies":{"zod":"^3.25.76","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"peerDependencies":{"@mariozechner/pi-coding-agent":"*"},"peerDependenciesMeta":{"@mariozechner/pi-coding-agent":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/toolsmith_0.1.0_1777677598378_0.9831277770570974","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@carlkibler/toolsmith","version":"0.1.1","keywords":["mcp","agent","ai","llm","edit","anchor","codegen","toolsmith","claude","codex"],"license":"MIT","_id":"@carlkibler/toolsmith@0.1.1","maintainers":[{"name":"carlkibler","email":"carl@carlkibler.com"}],"homepage":"https://github.com/carlkibler/toolsmith#readme","bugs":{"url":"https://github.com/carlkibler/toolsmith/issues"},"pi":{"extensions":["./extensions"]},"bin":{"toolsmith":"bin/toolsmith.js","toolsmith-mcp":"bin/toolsmith-mcp.js"},"dist":{"shasum":"4df9c9777651e05ceff040295aaa099964b41214","tarball":"https://registry.npmjs.org/@carlkibler/toolsmith/-/toolsmith-0.1.1.tgz","fileCount":24,"integrity":"sha512-9IZlkknNmc6QeK+bdf0xnc94pAMW2lgoquXd6Hn1EIsv/kA4SMsrDkPm51szMnusJyv/jAJZcXIFLx5b4DCcXA==","signatures":[{"sig":"MEQCIHaGhvqgl/3bDiol4Wh9ASJK4nkTLovmKXqi4rQsF9HQAiBdk40nCKrlPxoiRToTn8cPqA5O20aNUKxdVZf+gJip/A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":92352},"main":"./src/index.js","type":"module","engines":{"node":">=20"},"exports":{".":"./src/index.js"},"gitHead":"d5d5c5e37de2eb593b234d93211f45cfe3c9f530","scripts":{"test":"node --test","check":"node --check src/*.js bin/*.js && node --test","test:harnesses":"./scripts/test-harnesses.sh","install:harnesses":"./scripts/install-harnesses.sh","test:harnesses:live":"./scripts/test-harnesses.sh --live"},"_npmUser":{"name":"carlkibler","email":"carl@carlkibler.com"},"repository":{"url":"git+https://github.com/carlkibler/toolsmith.git","type":"git"},"_npmVersion":"11.13.0","description":"Portable hash-anchored edit primitives for coding agent harnesses — low-token file reads and exact batched edits.","directories":{},"_nodeVersion":"25.9.0","dependencies":{"zod":"^3.25.76","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"peerDependencies":{"@mariozechner/pi-coding-agent":"*"},"peerDependenciesMeta":{"@mariozechner/pi-coding-agent":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/toolsmith_0.1.1_1777678574433_0.8409234212367369","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@carlkibler/toolsmith","version":"0.1.2","keywords":["mcp","agent","ai","llm","edit","anchor","codegen","toolsmith","claude","codex"],"license":"MIT","_id":"@carlkibler/toolsmith@0.1.2","maintainers":[{"name":"carlkibler","email":"carl@carlkibler.com"}],"homepage":"https://github.com/carlkibler/toolsmith#readme","bugs":{"url":"https://github.com/carlkibler/toolsmith/issues"},"pi":{"extensions":["./extensions"]},"bin":{"toolsmith":"bin/toolsmith.js","toolsmith-mcp":"bin/toolsmith-mcp.js"},"dist":{"shasum":"c64a3fdc88006d1d7095bc2f728ac89dc0e81b75","tarball":"https://registry.npmjs.org/@carlkibler/toolsmith/-/toolsmith-0.1.2.tgz","fileCount":25,"integrity":"sha512-0Q2Y9kjTNf9WmX1ougqhJ8V5n2dhfeVkN2Jd3dwfxh3KqZpkWhjQhGr9rhM5/KtT7aPVB7tQQUkj78hX0On5fA==","signatures":[{"sig":"MEUCIQD7oPmjaStKRVeWuOWc7gCIBQ6jqcpXnPBWh/tr0zdZ5QIgU6smSMa5CQ83kP4iiQdVeGwAShNDpTODLdYOHDnDlHk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":129266},"main":"./src/index.js","type":"module","engines":{"node":">=20"},"exports":{".":"./src/index.js"},"gitHead":"468b7afd90c77f9c04c778f9d77c262eb181b636","scripts":{"test":"node --test","check":"node --check src/*.js bin/*.js && node --test","test:harnesses":"./scripts/test-harnesses.sh","install:harnesses":"./scripts/install-harnesses.sh","test:harnesses:live":"./scripts/test-harnesses.sh --live"},"_npmUser":{"name":"carlkibler","email":"carl@carlkibler.com"},"repository":{"url":"git+https://github.com/carlkibler/toolsmith.git","type":"git"},"_npmVersion":"11.13.0","description":"Portable hash-anchored edit primitives for coding agent harnesses — low-token file reads and exact batched edits.","directories":{},"_nodeVersion":"25.9.0","dependencies":{"zod":"^3.25.76","typebox":"^1.1.37","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"peerDependencies":{"@mariozechner/pi-coding-agent":"*"},"peerDependenciesMeta":{"@mariozechner/pi-coding-agent":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/toolsmith_0.1.2_1777739368486_0.4610138678939044","host":"s3://npm-registry-packages-npm-production"}},"0.1.27":{"name":"@carlkibler/toolsmith","version":"0.1.27","keywords":["mcp","agent","ai","llm","edit","anchor","codegen","toolsmith","claude","codex"],"license":"MIT","_id":"@carlkibler/toolsmith@0.1.27","maintainers":[{"name":"carlkibler","email":"carl@carlkibler.com"}],"homepage":"https://github.com/carlkibler/toolsmith#readme","bugs":{"url":"https://github.com/carlkibler/toolsmith/issues"},"pi":{"extensions":["./extensions"]},"bin":{"toolsmith":"bin/toolsmith.js","toolsmith-mcp":"bin/toolsmith-mcp.js"},"dist":{"shasum":"6ded8a1837a17dc5081a70a14fb3ef20893f3584","tarball":"https://registry.npmjs.org/@carlkibler/toolsmith/-/toolsmith-0.1.27.tgz","fileCount":39,"integrity":"sha512-3ryZPB8F7+OW8rrqQM9d62CLIqYYrdfMr7onBgr27F9ZdaAVhAuRr5XoOVxxmh+UEIIYgr7F9UY4XMMo96ce1g==","signatures":[{"sig":"MEUCIQCwViGTsLkJPzNRUdnu2EeV7KXUmbYvS5WrujvaVJUJRwIgbRTh9vMgOwJ5K34WZfwRYb1dSFZEs9b80QwbwHP5qqw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@carlkibler%2ftoolsmith@0.1.27","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":303659},"main":"./src/index.js","type":"module","engines":{"node":">=20"},"exports":{".":"./src/index.js"},"gitHead":"a2fd925e4c018968bd1ede0d871786cbe317bd31","scripts":{"test":"node --test","check":"node --check src/*.js lib/*.js bin/*.js extensions/*.js && node --test","test:harnesses":"./scripts/test-harnesses.sh","install:harnesses":"./scripts/install-harnesses.sh","test:harnesses:live":"./scripts/test-harnesses.sh --live"},"_npmUser":{"name":"carlkibler","email":"carl@carlkibler.com"},"repository":{"url":"git+https://github.com/carlkibler/toolsmith.git","type":"git"},"_npmVersion":"10.9.7","description":"Portable hash-anchored edit primitives for coding agent harnesses — low-token file reads and exact batched edits.","directories":{},"_nodeVersion":"22.22.2","dependencies":{},"_hasShrinkwrap":false,"peerDependencies":{"@mariozechner/pi-coding-agent":"*"},"peerDependenciesMeta":{"@mariozechner/pi-coding-agent":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/toolsmith_0.1.27_1778226971916_0.6569521990654175","host":"s3://npm-registry-packages-npm-production"}},"0.1.28":{"name":"@carlkibler/toolsmith","version":"0.1.28","keywords":["mcp","agent","ai","llm","edit","anchor","codegen","toolsmith","claude","codex"],"license":"MIT","_id":"@carlkibler/toolsmith@0.1.28","maintainers":[{"name":"carlkibler","email":"carl@carlkibler.com"}],"homepage":"https://github.com/carlkibler/toolsmith#readme","bugs":{"url":"https://github.com/carlkibler/toolsmith/issues"},"pi":{"extensions":["./extensions"]},"bin":{"toolsmith":"bin/toolsmith.js","toolsmith-mcp":"bin/toolsmith-mcp.js"},"dist":{"shasum":"56103b99ada1db446bf0dcffc41a8f099959953d","tarball":"https://registry.npmjs.org/@carlkibler/toolsmith/-/toolsmith-0.1.28.tgz","fileCount":39,"integrity":"sha512-AbFccDyIR6KWTDVlNCfLVUfsMqVkG8U+Nng6JnRrXITkXgye/t5Orej6DzvVVakKlI8OHX+Qc9KkOCh3jqRPRw==","signatures":[{"sig":"MEUCIGM5ug4nGgx+0iDe8iJarsgl/x8g8nc8zMEGocnYXdQzAiEA5EoTQOvGuDd6vvyNt9Yypdn1btcZhDqTPyyYzQHoWgo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@carlkibler%2ftoolsmith@0.1.28","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":303659},"main":"./src/index.js","type":"module","engines":{"node":">=20"},"exports":{".":"./src/index.js"},"gitHead":"c0f13c3a1e19b0629c18c107696c9ebd11f51d62","scripts":{"test":"node --test","check":"node --check src/*.js lib/*.js bin/*.js extensions/*.js && node --test","test:harnesses":"./scripts/test-harnesses.sh","install:harnesses":"./scripts/install-harnesses.sh","test:harnesses:live":"./scripts/test-harnesses.sh --live"},"_npmUser":{"name":"carlkibler","email":"carl@carlkibler.com"},"repository":{"url":"git+https://github.com/carlkibler/toolsmith.git","type":"git"},"_npmVersion":"10.9.7","description":"Portable hash-anchored edit primitives for coding agent harnesses — low-token file reads and exact batched edits.","directories":{},"_nodeVersion":"22.22.2","dependencies":{},"_hasShrinkwrap":false,"peerDependencies":{"@mariozechner/pi-coding-agent":"*"},"peerDependenciesMeta":{"@mariozechner/pi-coding-agent":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/toolsmith_0.1.28_1778227293067_0.8073362290051982","host":"s3://npm-registry-packages-npm-production"}},"0.1.29":{"name":"@carlkibler/toolsmith","version":"0.1.29","keywords":["mcp","agent","ai","llm","edit","anchor","codegen","toolsmith","claude","codex"],"license":"MIT","_id":"@carlkibler/toolsmith@0.1.29","maintainers":[{"name":"carlkibler","email":"carl@carlkibler.com"}],"homepage":"https://github.com/carlkibler/toolsmith#readme","bugs":{"url":"https://github.com/carlkibler/toolsmith/issues"},"pi":{"extensions":["./extensions"]},"bin":{"toolsmith":"bin/toolsmith.js","toolsmith-mcp":"bin/toolsmith-mcp.js"},"dist":{"shasum":"57e1933e20210b1bdd138dc3049e56ea82a19dcd","tarball":"https://registry.npmjs.org/@carlkibler/toolsmith/-/toolsmith-0.1.29.tgz","fileCount":39,"integrity":"sha512-U6/5d4BurniB+UiNfsDJqElYWUXok85w9H3tTbK3o1boeXv3UZZTrezzHRaPQIOhxGuphPpPMZNtCsua8BrTvw==","signatures":[{"sig":"MEYCIQCUkX5POUuvO1nZnP/xVLGgHFxh1zJkJ8marx1YfFIZGQIhAL7PvYtmf2GYzaul7CHZFiFGS1s86jd3kKOH7ZJOMywB","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@carlkibler%2ftoolsmith@0.1.29","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":295907},"main":"./src/index.js","type":"module","engines":{"node":">=20"},"exports":{".":"./src/index.js"},"gitHead":"8996b0dd1030f6aca9e19e7a8a9b3a1f3af31c5b","scripts":{"test":"node --test","check":"node --check src/*.js lib/*.js bin/*.js extensions/*.js && node --test","test:harnesses":"./scripts/test-harnesses.sh","install:harnesses":"./scripts/install-harnesses.sh","test:harnesses:live":"./scripts/test-harnesses.sh --live"},"_npmUser":{"name":"carlkibler","email":"carl@carlkibler.com"},"repository":{"url":"git+https://github.com/carlkibler/toolsmith.git","type":"git"},"_npmVersion":"10.9.7","description":"Save tokens in AI agent sessions — surgical reads and exact edits for Claude Code, Codex, Gemini CLI, and 15+ more agents.","directories":{},"_nodeVersion":"22.22.2","dependencies":{},"_hasShrinkwrap":false,"peerDependencies":{"@mariozechner/pi-coding-agent":"*"},"peerDependenciesMeta":{"@mariozechner/pi-coding-agent":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/toolsmith_0.1.29_1778227702489_0.7237128045312557","host":"s3://npm-registry-packages-npm-production"}},"0.1.30":{"name":"@carlkibler/toolsmith","version":"0.1.30","keywords":["mcp","agent","ai","llm","edit","anchor","codegen","toolsmith","claude","codex"],"license":"MIT","_id":"@carlkibler/toolsmith@0.1.30","maintainers":[{"name":"carlkibler","email":"carl@carlkibler.com"}],"homepage":"https://github.com/carlkibler/toolsmith#readme","bugs":{"url":"https://github.com/carlkibler/toolsmith/issues"},"pi":{"extensions":["./extensions"]},"bin":{"toolsmith":"bin/toolsmith.js","toolsmith-mcp":"bin/toolsmith-mcp.js"},"dist":{"shasum":"ff5dc8c76ff78049691b3b68ae31ee878d5abdfa","tarball":"https://registry.npmjs.org/@carlkibler/toolsmith/-/toolsmith-0.1.30.tgz","fileCount":39,"integrity":"sha512-6YQMYOUBvzi4kA3mwLy/8cGDdF7nCB3YCyJhp4IvZzLrhiHoFvwGcSVR7oeYRWoGxtN1eKRr6Lbpr4a7lNRSVg==","signatures":[{"sig":"MEUCIDQKV8zsUXRyHL3jKJm82scKOEb+gC7b7rTMf6lWpFzDAiEAwSn2k2zCm/Uex2NkLhOy6oblxdnUu1XzDXluTX2zpXw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@carlkibler%2ftoolsmith@0.1.30","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":295908},"main":"./src/index.js","type":"module","engines":{"node":">=20"},"exports":{".":"./src/index.js"},"gitHead":"a47573f983f52fe65326f710e6bc133a237530a3","scripts":{"test":"node --test","check":"node --check src/*.js lib/*.js bin/*.js extensions/*.js && node --test","test:harnesses":"./scripts/test-harnesses.sh","install:harnesses":"./scripts/install-harnesses.sh","test:harnesses:live":"./scripts/test-harnesses.sh --live"},"_npmUser":{"name":"carlkibler","email":"carl@carlkibler.com"},"repository":{"url":"git+https://github.com/carlkibler/toolsmith.git","type":"git"},"_npmVersion":"10.9.7","description":"Save tokens in AI agent sessions — surgical reads and exact edits for Claude Code, Codex, Gemini CLI, and 15+ more agents.","directories":{},"_nodeVersion":"22.22.2","dependencies":{},"_hasShrinkwrap":false,"peerDependencies":{"@mariozechner/pi-coding-agent":"*"},"peerDependenciesMeta":{"@mariozechner/pi-coding-agent":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/toolsmith_0.1.30_1778229339427_0.10149029104380425","host":"s3://npm-registry-packages-npm-production"}},"0.1.31":{"name":"@carlkibler/toolsmith","version":"0.1.31","keywords":["mcp","agent","ai","llm","edit","anchor","codegen","toolsmith","claude","codex"],"license":"MIT","_id":"@carlkibler/toolsmith@0.1.31","maintainers":[{"name":"carlkibler","email":"carl@carlkibler.com"}],"homepage":"https://github.com/carlkibler/toolsmith#readme","bugs":{"url":"https://github.com/carlkibler/toolsmith/issues"},"pi":{"extensions":["./extensions"]},"bin":{"toolsmith":"bin/toolsmith.js","toolsmith-mcp":"bin/toolsmith-mcp.js"},"dist":{"shasum":"115788e2058378f12a08d164b61c47b4e0857178","tarball":"https://registry.npmjs.org/@carlkibler/toolsmith/-/toolsmith-0.1.31.tgz","fileCount":39,"integrity":"sha512-WcNDS6XBbBDDzaqCetYbNLl/IJ19z+j+XwhKTPdXTV25+iihuR417O28Mai/7H/gzrm1ykcKWRfPEjT2KQm0ng==","signatures":[{"sig":"MEQCICLrTGu/Jt7ek0VElolX1QBo2DKT8wwJuy44Tbqc3e9dAiBgcXdfULbR6+SFVPDFNJ5455F3AhlhHbJAGDBkFEL1TQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@carlkibler%2ftoolsmith@0.1.31","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":316771},"main":"./src/index.js","type":"module","engines":{"node":">=20"},"exports":{".":"./src/index.js"},"gitHead":"c397800ede8703983017be824f87ffacb2ab1503","scripts":{"test":"node --test","check":"node --check src/*.js lib/*.js bin/*.js extensions/*.js && node --test","test:harnesses":"./scripts/test-harnesses.sh","install:harnesses":"./scripts/install-harnesses.sh","test:harnesses:live":"./scripts/test-harnesses.sh --live"},"_npmUser":{"name":"carlkibler","email":"carl@carlkibler.com"},"repository":{"url":"git+https://github.com/carlkibler/toolsmith.git","type":"git"},"_npmVersion":"10.9.7","description":"Save tokens in AI agent sessions — surgical reads and exact edits for Claude Code, Codex, Gemini CLI, and 15+ more agents.","directories":{},"_nodeVersion":"22.22.2","dependencies":{},"_hasShrinkwrap":false,"peerDependencies":{"@mariozechner/pi-coding-agent":"*"},"peerDependenciesMeta":{"@mariozechner/pi-coding-agent":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/toolsmith_0.1.31_1778510394494_0.846143969344846","host":"s3://npm-registry-packages-npm-production"}},"0.1.32":{"name":"@carlkibler/toolsmith","version":"0.1.32","keywords":["mcp","agent","ai","llm","edit","anchor","codegen","toolsmith","claude","codex"],"license":"MIT","_id":"@carlkibler/toolsmith@0.1.32","maintainers":[{"name":"carlkibler","email":"carl@carlkibler.com"}],"homepage":"https://github.com/carlkibler/toolsmith#readme","bugs":{"url":"https://github.com/carlkibler/toolsmith/issues"},"pi":{"extensions":["./extensions"]},"bin":{"toolsmith":"bin/toolsmith.js","toolsmith-mcp":"bin/toolsmith-mcp.js"},"dist":{"shasum":"fb711ae592eacce49f70e9b7e00c2043b25cf9fd","tarball":"https://registry.npmjs.org/@carlkibler/toolsmith/-/toolsmith-0.1.32.tgz","fileCount":39,"integrity":"sha512-pQYtJfvKAWZa0auLNveck1r488HCl7zKxwTWgjGm+oZ8QhVb5dae7ORrhM812CiRsTdkGhnX6j2V26wwhYsMog==","signatures":[{"sig":"MEQCIAI9v14SXNJx+k8PszyjVk7CJgzk/f6icUHvtVCHMJN+AiB4AYTGN67YmNy9hAoH89Y5BdfEHZglyAKC0DrTiOCYYw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@carlkibler%2ftoolsmith@0.1.32","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":317184},"main":"./src/index.js","type":"module","engines":{"node":">=20"},"exports":{".":"./src/index.js"},"gitHead":"f323607986ef12755594c6e5ecb2cb0cfcee8f02","scripts":{"test":"node --test","check":"node --check src/*.js lib/*.js bin/*.js extensions/*.js && node --test","test:harnesses":"./scripts/test-harnesses.sh","install:harnesses":"./scripts/install-harnesses.sh","test:harnesses:live":"./scripts/test-harnesses.sh --live"},"_npmUser":{"name":"carlkibler","email":"carl@carlkibler.com"},"repository":{"url":"git+https://github.com/carlkibler/toolsmith.git","type":"git"},"_npmVersion":"10.9.7","description":"Save tokens in AI agent sessions — surgical reads and exact edits for Claude Code, Codex, Gemini CLI, and 15+ more agents.","directories":{},"_nodeVersion":"22.22.2","dependencies":{},"_hasShrinkwrap":false,"peerDependencies":{"@mariozechner/pi-coding-agent":"*"},"peerDependenciesMeta":{"@mariozechner/pi-coding-agent":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/toolsmith_0.1.32_1778511338961_0.7391448426848723","host":"s3://npm-registry-packages-npm-production"}},"0.1.33":{"name":"@carlkibler/toolsmith","version":"0.1.33","keywords":["mcp","agent","ai","llm","edit","anchor","codegen","toolsmith","claude","codex"],"license":"MIT","_id":"@carlkibler/toolsmith@0.1.33","maintainers":[{"name":"carlkibler","email":"carl@carlkibler.com"}],"homepage":"https://github.com/carlkibler/toolsmith#readme","bugs":{"url":"https://github.com/carlkibler/toolsmith/issues"},"pi":{"extensions":["./extensions"]},"bin":{"toolsmith":"bin/toolsmith.js","toolsmith-mcp":"bin/toolsmith-mcp.js"},"dist":{"shasum":"13c1fcb6de6f96ffd3d0b1e15fc114707c08a388","tarball":"https://registry.npmjs.org/@carlkibler/toolsmith/-/toolsmith-0.1.33.tgz","fileCount":39,"integrity":"sha512-EgqVYXHP3CS5sKvoF6ksXdAAiAT0X3RpIUkeOIYVJzoO9RvYFNSdWx3y5gbI94/W6cdbIi0WtYizdqqWlTsSUQ==","signatures":[{"sig":"MEQCIA2nDHF5LEsfPg61KFJissRRKztx5jTRrLar0M+CGfDwAiBLw0pRLMjnc21WnaJrywaoY+L3/yq3jI8fRqkqPzPqZw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@carlkibler%2ftoolsmith@0.1.33","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":319564},"main":"./src/index.js","type":"module","engines":{"node":">=20"},"exports":{".":"./src/index.js"},"gitHead":"7fbc599957499f1f87a1ce853d3b7826c1335322","scripts":{"test":"node --test","check":"node --check src/*.js lib/*.js bin/*.js extensions/*.js && node --test","test:harnesses":"./scripts/test-harnesses.sh","install:harnesses":"./scripts/install-harnesses.sh","test:harnesses:live":"./scripts/test-harnesses.sh --live"},"_npmUser":{"name":"carlkibler","email":"carl@carlkibler.com"},"repository":{"url":"git+https://github.com/carlkibler/toolsmith.git","type":"git"},"_npmVersion":"10.9.7","description":"Save tokens in AI agent sessions — surgical reads and exact edits for Claude Code, Codex, Gemini CLI, and 15+ more agents.","directories":{},"_nodeVersion":"22.22.2","dependencies":{},"_hasShrinkwrap":false,"peerDependencies":{"@mariozechner/pi-coding-agent":"*"},"peerDependenciesMeta":{"@mariozechner/pi-coding-agent":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/toolsmith_0.1.33_1778620223603_0.20860071804706926","host":"s3://npm-registry-packages-npm-production"}},"0.1.34":{"name":"@carlkibler/toolsmith","version":"0.1.34","keywords":["mcp","agent","ai","llm","edit","anchor","codegen","toolsmith","claude","codex"],"license":"MIT","_id":"@carlkibler/toolsmith@0.1.34","maintainers":[{"name":"carlkibler","email":"carl@carlkibler.com"}],"homepage":"https://github.com/carlkibler/toolsmith#readme","bugs":{"url":"https://github.com/carlkibler/toolsmith/issues"},"pi":{"extensions":["./extensions"]},"bin":{"toolsmith":"bin/toolsmith.js","toolsmith-mcp":"bin/toolsmith-mcp.js"},"dist":{"shasum":"5478fef68fe7dbee49bfc288d6a3c762d26fd9d3","tarball":"https://registry.npmjs.org/@carlkibler/toolsmith/-/toolsmith-0.1.34.tgz","fileCount":39,"integrity":"sha512-eU2MjvCPhLI6+1eRnaZGKUPGF8S8Ef6S5bJ2kYELkPIQBpZcYqkstIMYZjP9CwwuwAbCg/aD+ngmYFMZtMmlvQ==","signatures":[{"sig":"MEYCIQCWh76S3k/sQI0MCTM95bf/D+RMPQA+De6E2tHK7ue3TQIhAIzocfThBMsLUFz4LCnqbgasm1Gchsvuo1PjZmZeOLQj","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@carlkibler%2ftoolsmith@0.1.34","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":319733},"main":"./src/index.js","type":"module","engines":{"node":">=20"},"exports":{".":"./src/index.js"},"gitHead":"d4bf2cd208a92a39440a09173763070a97301382","scripts":{"test":"node --test","check":"node --check src/*.js lib/*.js bin/*.js extensions/*.js && node --test","test:harnesses":"./scripts/test-harnesses.sh","install:harnesses":"./scripts/install-harnesses.sh","test:harnesses:live":"./scripts/test-harnesses.sh --live"},"_npmUser":{"name":"carlkibler","email":"carl@carlkibler.com"},"repository":{"url":"git+https://github.com/carlkibler/toolsmith.git","type":"git"},"_npmVersion":"10.9.7","description":"Save tokens in AI agent sessions — surgical reads and exact edits for Claude Code, Codex, Gemini CLI, and 15+ more agents.","directories":{},"_nodeVersion":"22.22.2","dependencies":{},"_hasShrinkwrap":false,"peerDependencies":{"@mariozechner/pi-coding-agent":"*"},"peerDependenciesMeta":{"@mariozechner/pi-coding-agent":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/toolsmith_0.1.34_1778689176764_0.23318998845415417","host":"s3://npm-registry-packages-npm-production"}},"0.1.35":{"name":"@carlkibler/toolsmith","version":"0.1.35","keywords":["mcp","agent","ai","llm","edit","anchor","codegen","toolsmith","claude","codex"],"license":"MIT","_id":"@carlkibler/toolsmith@0.1.35","maintainers":[{"name":"carlkibler","email":"carl@carlkibler.com"}],"homepage":"https://github.com/carlkibler/toolsmith#readme","bugs":{"url":"https://github.com/carlkibler/toolsmith/issues"},"pi":{"extensions":["./extensions"]},"bin":{"toolsmith":"bin/toolsmith.js","toolsmith-mcp":"bin/toolsmith-mcp.js"},"dist":{"shasum":"da36d41f4a9a99c6945627d5d6b138c67a390510","tarball":"https://registry.npmjs.org/@carlkibler/toolsmith/-/toolsmith-0.1.35.tgz","fileCount":39,"integrity":"sha512-yJLwO9bPOc4Eew3aHpmVKNPWrAOaov4R8DuZllWPI0QjTD/BNUEKo30ss76aCYbpPcv4meSKrrtfdhq83+oO/A==","signatures":[{"sig":"MEQCICDG+dniOjoOumAgoGPEfvld2YhTZf5cJ9PN24u1aM/iAiBpx4sTX5eKy3L+ABYLLH/+iqHvla3P4Ccll67l+FmaNA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@carlkibler%2ftoolsmith@0.1.35","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":320958},"main":"./src/index.js","type":"module","engines":{"node":">=20"},"exports":{".":"./src/index.js"},"gitHead":"2522894b7c4f21df827fb5b47aaf592496e4edf5","scripts":{"test":"node --test","check":"node --check src/*.js lib/*.js bin/*.js extensions/*.js && node --test","test:harnesses":"./scripts/test-harnesses.sh","install:harnesses":"./scripts/install-harnesses.sh","test:harnesses:live":"./scripts/test-harnesses.sh --live"},"_npmUser":{"name":"carlkibler","email":"carl@carlkibler.com"},"repository":{"url":"git+https://github.com/carlkibler/toolsmith.git","type":"git"},"_npmVersion":"10.9.7","description":"Save tokens in AI agent sessions — surgical reads and exact edits for Claude Code, Codex, Gemini CLI, and 15+ more agents.","directories":{},"_nodeVersion":"22.22.2","dependencies":{},"_hasShrinkwrap":false,"peerDependencies":{"@mariozechner/pi-coding-agent":"*"},"peerDependenciesMeta":{"@mariozechner/pi-coding-agent":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/toolsmith_0.1.35_1779120082155_0.5890221509654687","host":"s3://npm-registry-packages-npm-production"}},"0.1.36":{"name":"@carlkibler/toolsmith","version":"0.1.36","keywords":["mcp","agent","ai","llm","edit","anchor","codegen","toolsmith","claude","codex"],"license":"MIT","_id":"@carlkibler/toolsmith@0.1.36","maintainers":[{"name":"carlkibler","email":"carl@carlkibler.com"}],"homepage":"https://github.com/carlkibler/toolsmith#readme","bugs":{"url":"https://github.com/carlkibler/toolsmith/issues"},"pi":{"extensions":["./extensions"]},"bin":{"toolsmith":"bin/toolsmith.js","toolsmith-mcp":"bin/toolsmith-mcp.js"},"dist":{"shasum":"883e714471e3e5dd5f4216fcdc71b195db963571","tarball":"https://registry.npmjs.org/@carlkibler/toolsmith/-/toolsmith-0.1.36.tgz","fileCount":40,"integrity":"sha512-QEIlOObGiS4EpMOoq49NUd9VTs/JXdtJ+SEHjSSV7JcUCUZ591mTIgsFOD2uvN8NbTI8yLIlFV97xTtZhYY6jg==","signatures":[{"sig":"MEUCIAq5la7gfSIJ+Yt2nZFeUCAkvboBHduOL+2hSYOfOV6GAiEAzt5bOmc6jgkYdRUsFD2JLhW0BZZVeGLuDdkRfLBB7mE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@carlkibler%2ftoolsmith@0.1.36","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":351019},"main":"./src/index.js","type":"module","engines":{"node":">=20"},"exports":{".":"./src/index.js"},"gitHead":"e6c17315f5ae15c29745b9a9152b6156f99f2c6d","scripts":{"test":"node --test","check":"node --check src/*.js lib/*.js bin/*.js extensions/*.js && node --test","test:harnesses":"./scripts/test-harnesses.sh","install:harnesses":"./scripts/install-harnesses.sh","test:harnesses:live":"./scripts/test-harnesses.sh --live"},"_npmUser":{"name":"carlkibler","email":"carl@carlkibler.com"},"repository":{"url":"git+https://github.com/carlkibler/toolsmith.git","type":"git"},"_npmVersion":"10.9.7","description":"Save tokens in AI agent sessions — surgical reads and exact edits for Claude Code, Codex, Gemini CLI, and 15+ more agents.","directories":{},"_nodeVersion":"22.22.2","dependencies":{},"_hasShrinkwrap":false,"peerDependencies":{"@mariozechner/pi-coding-agent":"*"},"peerDependenciesMeta":{"@mariozechner/pi-coding-agent":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/toolsmith_0.1.36_1779206901450_0.7413600720512059","host":"s3://npm-registry-packages-npm-production"}},"0.1.37":{"name":"@carlkibler/toolsmith","version":"0.1.37","keywords":["mcp","agent","ai","llm","edit","anchor","codegen","toolsmith","claude","codex"],"license":"MIT","_id":"@carlkibler/toolsmith@0.1.37","maintainers":[{"name":"carlkibler","email":"carl@carlkibler.com"}],"homepage":"https://github.com/carlkibler/toolsmith#readme","bugs":{"url":"https://github.com/carlkibler/toolsmith/issues"},"pi":{"extensions":["./extensions"]},"bin":{"toolsmith":"bin/toolsmith.js","toolsmith-mcp":"bin/toolsmith-mcp.js"},"dist":{"shasum":"388f02e9d2993cf0165c5817536fdfa247df89ed","tarball":"https://registry.npmjs.org/@carlkibler/toolsmith/-/toolsmith-0.1.37.tgz","fileCount":40,"integrity":"sha512-Smm7utUCIB+RQywD2oO/R7cB7v7NOAmdKl1WdmBkwBLdO3U8TLBgdXbq7t3W617L4BbSXyStpcdn+BiiUfDGOg==","signatures":[{"sig":"MEUCIGXZI/yLyuHz1sYwfsvxB/RU8RfADd8NW1q/ckXGA8UIAiEA3MhXVk6J72nhD3E4eqE42inZJ16Y3yGp8XJ9/uyNMB8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@carlkibler%2ftoolsmith@0.1.37","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":351353},"main":"./src/index.js","type":"module","engines":{"node":">=20"},"exports":{".":"./src/index.js"},"gitHead":"03dbbc90ff74fedc7aed4fdbb1346b2d1da90591","scripts":{"test":"node --test","check":"node --check src/*.js lib/*.js bin/*.js extensions/*.js && node --test","test:harnesses":"./scripts/test-harnesses.sh","install:harnesses":"./scripts/install-harnesses.sh","test:harnesses:live":"./scripts/test-harnesses.sh --live"},"_npmUser":{"name":"carlkibler","email":"carl@carlkibler.com"},"repository":{"url":"git+https://github.com/carlkibler/toolsmith.git","type":"git"},"_npmVersion":"10.9.7","description":"Save tokens in AI agent sessions — surgical reads and exact edits for Claude Code, Codex, Gemini CLI, and 15+ more agents.","directories":{},"_nodeVersion":"22.22.2","dependencies":{},"_hasShrinkwrap":false,"peerDependencies":{"@mariozechner/pi-coding-agent":"*"},"peerDependenciesMeta":{"@mariozechner/pi-coding-agent":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/toolsmith_0.1.37_1779207697561_0.34191911843644895","host":"s3://npm-registry-packages-npm-production"}},"0.1.38":{"name":"@carlkibler/toolsmith","version":"0.1.38","keywords":["mcp","agent","ai","llm","edit","anchor","codegen","toolsmith","claude","codex"],"license":"MIT","_id":"@carlkibler/toolsmith@0.1.38","maintainers":[{"name":"carlkibler","email":"carl@carlkibler.com"}],"homepage":"https://github.com/carlkibler/toolsmith#readme","bugs":{"url":"https://github.com/carlkibler/toolsmith/issues"},"pi":{"extensions":["./extensions"]},"bin":{"toolsmith":"bin/toolsmith.js","toolsmith-mcp":"bin/toolsmith-mcp.js"},"dist":{"shasum":"e0fd66d496bf4f9dc46461aa672e85fa784a2695","tarball":"https://registry.npmjs.org/@carlkibler/toolsmith/-/toolsmith-0.1.38.tgz","fileCount":40,"integrity":"sha512-PfmXADucM0RWVXH7/WHuOcNbTAoLVdo40H6KAHvWTgr/yyl1CSdZwpd+vEtSyznpf6R6NZqpHNgKn8nZ22mYQA==","signatures":[{"sig":"MEQCIBB3JoGwfjzM/lcUf9BhgKjInWFNroVxtJERAGum0EOrAiBoNkjlMunj5qYBDH+nMLW4DxPXilyg16mYV7Y3CuZD3w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@carlkibler%2ftoolsmith@0.1.38","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":351618},"main":"./src/index.js","type":"module","engines":{"node":">=20"},"exports":{".":"./src/index.js"},"gitHead":"8c74bd67dc339eb48bbe8658cb11ba638528b156","scripts":{"test":"node --test","check":"node --check src/*.js lib/*.js bin/*.js extensions/*.js && node --test","test:harnesses":"./scripts/test-harnesses.sh","install:harnesses":"./scripts/install-harnesses.sh","test:harnesses:live":"./scripts/test-harnesses.sh --live"},"_npmUser":{"name":"carlkibler","email":"carl@carlkibler.com"},"repository":{"url":"git+https://github.com/carlkibler/toolsmith.git","type":"git"},"_npmVersion":"10.9.7","description":"Save tokens in AI agent sessions — surgical reads and exact edits for Claude Code, Codex, Gemini CLI, and 15+ more agents.","directories":{},"_nodeVersion":"22.22.2","dependencies":{},"_hasShrinkwrap":false,"peerDependencies":{"@mariozechner/pi-coding-agent":"*"},"peerDependenciesMeta":{"@mariozechner/pi-coding-agent":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/toolsmith_0.1.38_1779212091787_0.15458774224214","host":"s3://npm-registry-packages-npm-production"}},"0.1.39":{"name":"@carlkibler/toolsmith","version":"0.1.39","keywords":["mcp","agent","ai","llm","edit","anchor","codegen","toolsmith","claude","codex"],"license":"MIT","_id":"@carlkibler/toolsmith@0.1.39","maintainers":[{"name":"carlkibler","email":"carl@carlkibler.com"}],"homepage":"https://github.com/carlkibler/toolsmith#readme","bugs":{"url":"https://github.com/carlkibler/toolsmith/issues"},"pi":{"extensions":["./extensions"]},"bin":{"toolsmith":"bin/toolsmith.js","toolsmith-mcp":"bin/toolsmith-mcp.js"},"dist":{"shasum":"516eb9f2ee33ef17ec2291f0f95c542bee5e5558","tarball":"https://registry.npmjs.org/@carlkibler/toolsmith/-/toolsmith-0.1.39.tgz","fileCount":40,"integrity":"sha512-e+IYwbHZRlnW4ZNgF7iy9DZ9REZcE5gQpiRWnAxJbRIzC9f5IPPhTPLpEa+Ec0tnA0QDDOlW41yrJ2h63AR+ow==","signatures":[{"sig":"MEUCIQD0/8B6CsEk1tp8XTDCTR9E0GGPCRzjB4XlBXN3Cr3cZwIgYQ1KSBh1JhgFDFoHOLV6bHfyw0LRs7xB+d0x8oHZFL8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@carlkibler%2ftoolsmith@0.1.39","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":351618},"main":"./src/index.js","type":"module","engines":{"node":">=20"},"exports":{".":"./src/index.js"},"gitHead":"6dba395daf73f787d494cca28443639be088cd59","scripts":{"test":"node --test","check":"node --check src/*.js lib/*.js bin/*.js extensions/*.js && node --test","test:harnesses":"./scripts/test-harnesses.sh","install:harnesses":"./scripts/install-harnesses.sh","test:harnesses:live":"./scripts/test-harnesses.sh --live"},"_npmUser":{"name":"carlkibler","email":"carl@carlkibler.com"},"repository":{"url":"git+https://github.com/carlkibler/toolsmith.git","type":"git"},"_npmVersion":"10.9.7","description":"Save tokens in AI agent sessions — surgical reads and exact edits for Claude Code, Codex, Gemini CLI, and 15+ more agents.","directories":{},"_nodeVersion":"22.22.2","dependencies":{},"_hasShrinkwrap":false,"peerDependencies":{"@mariozechner/pi-coding-agent":"*"},"peerDependenciesMeta":{"@mariozechner/pi-coding-agent":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/toolsmith_0.1.39_1779217685893_0.958289838180572","host":"s3://npm-registry-packages-npm-production"}},"0.1.40":{"name":"@carlkibler/toolsmith","version":"0.1.40","keywords":["mcp","agent","ai","llm","edit","anchor","codegen","toolsmith","claude","codex"],"license":"MIT","_id":"@carlkibler/toolsmith@0.1.40","maintainers":[{"name":"carlkibler","email":"carl@carlkibler.com"}],"homepage":"https://github.com/carlkibler/toolsmith#readme","bugs":{"url":"https://github.com/carlkibler/toolsmith/issues"},"pi":{"extensions":["./extensions"]},"bin":{"toolsmith":"bin/toolsmith.js","toolsmith-mcp":"bin/toolsmith-mcp.js"},"dist":{"shasum":"225d9ff7041de0bb9c8f6287935b3484279ff5bd","tarball":"https://registry.npmjs.org/@carlkibler/toolsmith/-/toolsmith-0.1.40.tgz","fileCount":41,"integrity":"sha512-m1x5Pt+rzIgqAviq0yUUv7FpN7t8y3fq6rxiG98cIWvyxcDdj+aKTpbdidLTScY8Gm7x9vqP49rvuU/W+z4qfw==","signatures":[{"sig":"MEUCIE4ffO5xmyMjF38D1HKTxd6tI9GLdO65P4h6emQCZ00QAiEA227JwpVdUGi9ZKhkK6/nNUEZJB5lyQy4xNlLL02xGkc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@carlkibler%2ftoolsmith@0.1.40","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":354076},"main":"./src/index.js","type":"module","engines":{"node":">=20"},"exports":{".":"./src/index.js"},"gitHead":"bd5db25e8378047e66cc666e1a8fdb4b008cc3b0","scripts":{"test":"node --test","check":"node --check src/*.js lib/*.js bin/*.js extensions/*.js && node --test","test:harnesses":"./scripts/test-harnesses.sh","install:harnesses":"./scripts/install-harnesses.sh","test:harnesses:live":"./scripts/test-harnesses.sh --live"},"_npmUser":{"name":"carlkibler","email":"carl@carlkibler.com"},"repository":{"url":"git+https://github.com/carlkibler/toolsmith.git","type":"git"},"_npmVersion":"10.9.8","description":"Save tokens in AI agent sessions — surgical reads and exact edits for Claude Code, Codex, Gemini CLI, and 15+ more agents.","directories":{},"_nodeVersion":"22.22.3","dependencies":{},"_hasShrinkwrap":false,"peerDependencies":{"@mariozechner/pi-coding-agent":"*"},"peerDependenciesMeta":{"@mariozechner/pi-coding-agent":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/toolsmith_0.1.40_1779408690672_0.48204179790999824","host":"s3://npm-registry-packages-npm-production"}},"0.1.41":{"name":"@carlkibler/toolsmith","version":"0.1.41","keywords":["mcp","agent","ai","llm","edit","anchor","codegen","toolsmith","claude","codex"],"license":"MIT","_id":"@carlkibler/toolsmith@0.1.41","maintainers":[{"name":"carlkibler","email":"carl@carlkibler.com"}],"homepage":"https://github.com/carlkibler/toolsmith#readme","bugs":{"url":"https://github.com/carlkibler/toolsmith/issues"},"pi":{"extensions":["./extensions"]},"bin":{"toolsmith":"bin/toolsmith.js","toolsmith-mcp":"bin/toolsmith-mcp.js"},"dist":{"shasum":"969ac531979c06150b160f4a517aa4e504a61c79","tarball":"https://registry.npmjs.org/@carlkibler/toolsmith/-/toolsmith-0.1.41.tgz","fileCount":41,"integrity":"sha512-XBzxx9tmrVUYmPnf/7bIRuPXBts4SBh7gmVbCdqNV1Db6n/y6lknIDb+XEiv9Hzwp1hfScFE2WN3cs+17eYNGA==","signatures":[{"sig":"MEQCIHxNua+oKVEaBu2N4DyPBRGqcCDRV3t3Ke6g5CR88lELAiAlESm1Ryx5tnoL+10pOQ4syDU6lNdfdeYNEmSyJHVw5w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@carlkibler%2ftoolsmith@0.1.41","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":355145},"main":"./src/index.js","type":"module","engines":{"node":">=20"},"exports":{".":"./src/index.js"},"gitHead":"dda41150b20693b6dfe2bf486df6164eda28d87a","scripts":{"test":"node --test","check":"node --check src/*.js lib/*.js bin/*.js extensions/*.js && node --test","test:harnesses":"./scripts/test-harnesses.sh","install:harnesses":"./scripts/install-harnesses.sh","test:harnesses:live":"./scripts/test-harnesses.sh --live"},"_npmUser":{"name":"carlkibler","email":"carl@carlkibler.com"},"repository":{"url":"git+https://github.com/carlkibler/toolsmith.git","type":"git"},"_npmVersion":"10.9.8","description":"Save tokens in AI agent sessions — surgical reads and exact edits for Claude Code, Codex, Gemini CLI, and 15+ more agents.","directories":{},"_nodeVersion":"22.22.3","dependencies":{},"_hasShrinkwrap":false,"peerDependencies":{"@mariozechner/pi-coding-agent":"*"},"peerDependenciesMeta":{"@mariozechner/pi-coding-agent":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/toolsmith_0.1.41_1779991564054_0.9042672879048135","host":"s3://npm-registry-packages-npm-production"}},"0.1.42":{"name":"@carlkibler/toolsmith","version":"0.1.42","keywords":["mcp","agent","ai","llm","edit","anchor","codegen","toolsmith","claude","codex"],"license":"MIT","_id":"@carlkibler/toolsmith@0.1.42","maintainers":[{"name":"carlkibler","email":"carl@carlkibler.com"}],"homepage":"https://github.com/carlkibler/toolsmith#readme","bugs":{"url":"https://github.com/carlkibler/toolsmith/issues"},"pi":{"extensions":["./extensions"]},"bin":{"toolsmith":"bin/toolsmith.js","toolsmith-mcp":"bin/toolsmith-mcp.js"},"dist":{"shasum":"92e54779b97e580e33d20cb7a932825fbb6a20fd","tarball":"https://registry.npmjs.org/@carlkibler/toolsmith/-/toolsmith-0.1.42.tgz","fileCount":42,"integrity":"sha512-7Gh5DRRRQgzFuOK09XjUe6TkODZkVQPYTInGZA+5Z670N4hrbpDvvA9altkO6EXmyg2qzjL5MOQCL2iQKH6Ckg==","signatures":[{"sig":"MEUCIQCfWzbWuW1iyqyP/N71kbnSuMg8B6uTVIFNWFejKar8owIgdw6PL16pT9SynWVLR+Uco1m3kOPC8yt1L6wGpkTcdwE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@carlkibler%2ftoolsmith@0.1.42","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":377294},"main":"./src/index.js","type":"module","engines":{"node":">=20"},"exports":{".":"./src/index.js"},"gitHead":"207cbc2908db73dce17f4a527708473eb5534b3e","scripts":{"test":"node --test","check":"node --check src/*.js lib/*.js bin/*.js extensions/*.js && node --test","test:harnesses":"./scripts/test-harnesses.sh","install:harnesses":"./scripts/install-harnesses.sh","test:harnesses:live":"./scripts/test-harnesses.sh --live"},"_npmUser":{"name":"carlkibler","email":"carl@carlkibler.com"},"repository":{"url":"git+https://github.com/carlkibler/toolsmith.git","type":"git"},"_npmVersion":"10.9.8","description":"Save tokens in AI agent sessions — surgical reads and exact edits for Claude Code, Codex, Gemini CLI, and 15+ more agents.","directories":{},"_nodeVersion":"22.22.3","dependencies":{},"_hasShrinkwrap":false,"peerDependencies":{"@mariozechner/pi-coding-agent":"*"},"peerDependenciesMeta":{"@mariozechner/pi-coding-agent":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/toolsmith_0.1.42_1779996332752_0.12080550892155917","host":"s3://npm-registry-packages-npm-production"}},"0.1.43":{"name":"@carlkibler/toolsmith","version":"0.1.43","keywords":["mcp","agent","ai","llm","edit","anchor","codegen","toolsmith","claude","codex"],"license":"MIT","_id":"@carlkibler/toolsmith@0.1.43","maintainers":[{"name":"carlkibler","email":"carl@carlkibler.com"}],"homepage":"https://github.com/carlkibler/toolsmith#readme","bugs":{"url":"https://github.com/carlkibler/toolsmith/issues"},"pi":{"extensions":["./extensions"]},"bin":{"toolsmith":"bin/toolsmith.js","toolsmith-mcp":"bin/toolsmith-mcp.js"},"dist":{"shasum":"d9b9f713b86e5779e24a28433274b1fe5c2a6a07","tarball":"https://registry.npmjs.org/@carlkibler/toolsmith/-/toolsmith-0.1.43.tgz","fileCount":43,"integrity":"sha512-QviazlStnmthARkd1B+q4QSFKQfruxohft+f6Hm+YxR2u3KT6D6HxUdQ/LJ1lkSXAO8nS7Sk7mtK8xlyUh920A==","signatures":[{"sig":"MEQCIG8yuE41zpIPKKaVJTCJOh3tsiadmIpfHuJko5wP4FxaAiAwGJ2sWibjbqd62hoJ+gDnvBrN3atyqTLFHlhMCAAC9w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@carlkibler%2ftoolsmith@0.1.43","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":388995},"main":"./src/index.js","type":"module","engines":{"node":">=20"},"exports":{".":"./src/index.js"},"gitHead":"07aecd771bd161d793a5d95d8856c7d84d1cceaf","scripts":{"test":"node --test","check":"node --check src/*.js lib/*.js bin/*.js extensions/*.js && node --test","test:harnesses":"./scripts/test-harnesses.sh","install:harnesses":"./scripts/install-harnesses.sh","test:harnesses:live":"./scripts/test-harnesses.sh --live"},"_npmUser":{"name":"carlkibler","email":"carl@carlkibler.com"},"repository":{"url":"git+https://github.com/carlkibler/toolsmith.git","type":"git"},"_npmVersion":"10.9.8","description":"Save tokens in AI agent sessions — surgical reads and exact edits for Claude Code, Codex, Gemini CLI, and 15+ more agents.","directories":{},"_nodeVersion":"22.22.3","dependencies":{},"_hasShrinkwrap":false,"peerDependencies":{"@mariozechner/pi-coding-agent":"*"},"peerDependenciesMeta":{"@mariozechner/pi-coding-agent":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/toolsmith_0.1.43_1780003878522_0.95304704622501","host":"s3://npm-registry-packages-npm-production"}},"0.1.44":{"name":"@carlkibler/toolsmith","version":"0.1.44","keywords":["mcp","agent","ai","llm","edit","anchor","codegen","toolsmith","claude","codex"],"license":"MIT","_id":"@carlkibler/toolsmith@0.1.44","maintainers":[{"name":"carlkibler","email":"carl@carlkibler.com"}],"homepage":"https://github.com/carlkibler/toolsmith#readme","bugs":{"url":"https://github.com/carlkibler/toolsmith/issues"},"pi":{"extensions":["./extensions"]},"bin":{"toolsmith":"bin/toolsmith.js","toolsmith-mcp":"bin/toolsmith-mcp.js"},"dist":{"shasum":"245ccc89768530090dd4f4810ab7b68a40f81322","tarball":"https://registry.npmjs.org/@carlkibler/toolsmith/-/toolsmith-0.1.44.tgz","fileCount":43,"integrity":"sha512-nSiLrSmNz09i9vMwenSYKeakon2UZaqEnKxscxSFQ9lkdXwZjRWoiaGZX0BXZMfQmNxbde2jcgYR7nLZ3Kjdvg==","signatures":[{"sig":"MEYCIQDsz2zQay+7/nyYTKRX1PO15MADqPyHNDtAVHsTpOIwXgIhALf+oofbCg/nhSSpdPD5zdkaLvbQlxjrsDJdtNZbkAeb","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@carlkibler%2ftoolsmith@0.1.44","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":391289},"main":"./src/index.js","type":"module","engines":{"node":">=20"},"exports":{".":"./src/index.js"},"gitHead":"0870478e17c34aa7fbcad6b196215a5713b6b1d7","scripts":{"test":"node --test","check":"node --check src/*.js lib/*.js bin/*.js extensions/*.js && node --test","test:harnesses":"./scripts/test-harnesses.sh","install:harnesses":"./scripts/install-harnesses.sh","test:harnesses:live":"./scripts/test-harnesses.sh --live"},"_npmUser":{"name":"carlkibler","email":"carl@carlkibler.com"},"repository":{"url":"git+https://github.com/carlkibler/toolsmith.git","type":"git"},"_npmVersion":"10.9.8","description":"Save tokens in AI agent sessions — surgical reads and exact edits for Claude Code, Codex, Gemini CLI, and 15+ more agents.","directories":{},"_nodeVersion":"22.22.3","dependencies":{},"_hasShrinkwrap":false,"peerDependencies":{"@mariozechner/pi-coding-agent":"*"},"peerDependenciesMeta":{"@mariozechner/pi-coding-agent":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/toolsmith_0.1.44_1780004626738_0.014208605039047528","host":"s3://npm-registry-packages-npm-production"}},"0.1.45":{"name":"@carlkibler/toolsmith","version":"0.1.45","keywords":["mcp","agent","ai","llm","edit","anchor","codegen","toolsmith","claude","codex"],"license":"MIT","_id":"@carlkibler/toolsmith@0.1.45","maintainers":[{"name":"carlkibler","email":"carl@carlkibler.com"}],"homepage":"https://github.com/carlkibler/toolsmith#readme","bugs":{"url":"https://github.com/carlkibler/toolsmith/issues"},"pi":{"extensions":["./extensions"]},"bin":{"toolsmith":"bin/toolsmith.js","toolsmith-mcp":"bin/toolsmith-mcp.js"},"dist":{"shasum":"23e76b92af9e84e154c957e2adf7859ce5e1a683","tarball":"https://registry.npmjs.org/@carlkibler/toolsmith/-/toolsmith-0.1.45.tgz","fileCount":43,"integrity":"sha512-ajE+rqNzjROVBLZDW+psVIYHDJWKJv5Cq2EJj2leAk4b8nmdufz6UDSwxsYIfcHbMmicdLhzucc64cpFP4VSXA==","signatures":[{"sig":"MEYCIQClm2t8X+N3wRb3Kbl0hy8fuSLEZ1B5zest4oJyxkcAJgIhAOrYy8AKa0qmApy3hPWBPZMBwk2Ca8szjV/V4hveRKaB","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@carlkibler%2ftoolsmith@0.1.45","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":393274},"main":"./src/index.js","type":"module","engines":{"node":">=20"},"exports":{".":"./src/index.js"},"gitHead":"e3c88e1ee6c1b4a7b0c1e0e2ae0660e00f95fe71","scripts":{"test":"node --test","check":"node --check src/*.js lib/*.js bin/*.js extensions/*.js && node --test","test:harnesses":"./scripts/test-harnesses.sh","install:harnesses":"./scripts/install-harnesses.sh","test:harnesses:live":"./scripts/test-harnesses.sh --live"},"_npmUser":{"name":"carlkibler","email":"carl@carlkibler.com"},"repository":{"url":"git+https://github.com/carlkibler/toolsmith.git","type":"git"},"_npmVersion":"10.9.8","description":"Save tokens in AI agent sessions — surgical reads and exact edits for Claude Code, Codex, Gemini CLI, and 15+ more agents.","directories":{},"_nodeVersion":"22.22.3","dependencies":{},"_hasShrinkwrap":false,"peerDependencies":{"@mariozechner/pi-coding-agent":"*"},"peerDependenciesMeta":{"@mariozechner/pi-coding-agent":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/toolsmith_0.1.45_1780022900515_0.09176125842201466","host":"s3://npm-registry-packages-npm-production"}},"0.1.46":{"name":"@carlkibler/toolsmith","version":"0.1.46","keywords":["mcp","agent","ai","llm","edit","anchor","codegen","toolsmith","claude","codex"],"license":"MIT","_id":"@carlkibler/toolsmith@0.1.46","maintainers":[{"name":"carlkibler","email":"carl@carlkibler.com"}],"homepage":"https://github.com/carlkibler/toolsmith#readme","bugs":{"url":"https://github.com/carlkibler/toolsmith/issues"},"pi":{"extensions":["./extensions"]},"bin":{"toolsmith":"bin/toolsmith.js","toolsmith-mcp":"bin/toolsmith-mcp.js"},"dist":{"shasum":"c057d45afe3d9b6bb56d6fbf78e019ba2cca9af2","tarball":"https://registry.npmjs.org/@carlkibler/toolsmith/-/toolsmith-0.1.46.tgz","fileCount":43,"integrity":"sha512-ileEssTLw55G6GUCfiGyF6DOXljkRf4SFhcynbgwuqVuhLXOlPjaL3pvb0KU+F9J/m2UiYsWwkN7zhCPUyW5Gg==","signatures":[{"sig":"MEUCIGJwZCM8JPiwSR+SbDcVXTjYnr8RsU+9PJSiSx0M2c3zAiEA07F6ZwBEzvZ5AlhhJOjVFvmLmTbnEViSnTwQks3spTI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@carlkibler%2ftoolsmith@0.1.46","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":393938},"main":"./src/index.js","type":"module","engines":{"node":">=20"},"exports":{".":"./src/index.js"},"gitHead":"0151ebd73b5d04d5c2401d586900c76448b5cccf","scripts":{"test":"node --test","check":"node --check src/*.js lib/*.js bin/*.js extensions/*.js && node --test","test:harnesses":"./scripts/test-harnesses.sh","install:harnesses":"./scripts/install-harnesses.sh","test:harnesses:live":"./scripts/test-harnesses.sh --live"},"_npmUser":{"name":"carlkibler","email":"carl@carlkibler.com"},"repository":{"url":"git+https://github.com/carlkibler/toolsmith.git","type":"git"},"_npmVersion":"10.9.8","description":"Save tokens in AI agent sessions — surgical reads and exact edits for Claude Code, Codex, Gemini CLI, and 15+ more agents.","directories":{},"_nodeVersion":"22.22.3","dependencies":{},"_hasShrinkwrap":false,"peerDependencies":{"@mariozechner/pi-coding-agent":"*"},"peerDependenciesMeta":{"@mariozechner/pi-coding-agent":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/toolsmith_0.1.46_1780027107302_0.6686447747391377","host":"s3://npm-registry-packages-npm-production"}},"0.1.47":{"name":"@carlkibler/toolsmith","version":"0.1.47","keywords":["mcp","agent","ai","llm","edit","anchor","codegen","toolsmith","claude","codex"],"license":"MIT","_id":"@carlkibler/toolsmith@0.1.47","maintainers":[{"name":"carlkibler","email":"carl@carlkibler.com"}],"homepage":"https://github.com/carlkibler/toolsmith#readme","bugs":{"url":"https://github.com/carlkibler/toolsmith/issues"},"pi":{"extensions":["./extensions"]},"bin":{"toolsmith":"bin/toolsmith.js","toolsmith-mcp":"bin/toolsmith-mcp.js"},"dist":{"shasum":"028067b5a82e192a4f5504d8725eefda53c88222","tarball":"https://registry.npmjs.org/@carlkibler/toolsmith/-/toolsmith-0.1.47.tgz","fileCount":43,"integrity":"sha512-NZd4TrwglTZywwtwdEmiDOAy6Kd7SU7KpgC4qaLGG4MUImT9lG81njt6hVIhKn9OBAVzai9xScefNjYiT3Heaw==","signatures":[{"sig":"MEUCIByEzGOLoeIsUm6/3B/tj7xYnNtmoOqx3Bd7277RQKEuAiEA+/ioIDYePjQb3eBbxoAdD2uL4CwknuGGcIafbYZMtzw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@carlkibler%2ftoolsmith@0.1.47","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":395307},"main":"./src/index.js","type":"module","engines":{"node":">=20"},"exports":{".":"./src/index.js"},"gitHead":"fff88140be82360e7ebeb23decd5d05bac775557","scripts":{"test":"node --test","check":"node --check src/*.js lib/*.js bin/*.js extensions/*.js && node --test","test:harnesses":"./scripts/test-harnesses.sh","install:harnesses":"./scripts/install-harnesses.sh","test:harnesses:live":"./scripts/test-harnesses.sh --live"},"_npmUser":{"name":"carlkibler","email":"carl@carlkibler.com"},"repository":{"url":"git+https://github.com/carlkibler/toolsmith.git","type":"git"},"_npmVersion":"10.9.8","description":"Save tokens in AI agent sessions — surgical reads and exact edits for Claude Code, Codex, Gemini CLI, and 15+ more agents.","directories":{},"_nodeVersion":"22.22.3","dependencies":{},"_hasShrinkwrap":false,"peerDependencies":{"@mariozechner/pi-coding-agent":"*"},"peerDependenciesMeta":{"@mariozechner/pi-coding-agent":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/toolsmith_0.1.47_1780027782730_0.3470085593227721","host":"s3://npm-registry-packages-npm-production"}},"0.1.48":{"name":"@carlkibler/toolsmith","version":"0.1.48","keywords":["mcp","agent","ai","llm","edit","anchor","codegen","toolsmith","claude","codex"],"license":"MIT","_id":"@carlkibler/toolsmith@0.1.48","maintainers":[{"name":"carlkibler","email":"carl@carlkibler.com"}],"homepage":"https://github.com/carlkibler/toolsmith#readme","bugs":{"url":"https://github.com/carlkibler/toolsmith/issues"},"pi":{"extensions":["./extensions"]},"bin":{"toolsmith":"bin/toolsmith.js","toolsmith-mcp":"bin/toolsmith-mcp.js"},"dist":{"shasum":"455a5cd8b0ae3adc08da475d9758ba64da1bb830","tarball":"https://registry.npmjs.org/@carlkibler/toolsmith/-/toolsmith-0.1.48.tgz","fileCount":45,"integrity":"sha512-gmwgAUaXuJqIr/Vwe/heNI8bX70oD3QO/ZZvSFOYWQIWWoioTot85vqPOM/Zk4g/NTa5IdE+HzmOaolLRBolnQ==","signatures":[{"sig":"MEUCIQChuUylxE+3+mmmhfzReYPF9EACrAzQEDy+Ai5YeHZlXgIgAYcbNwZ0JLZNncozNIbSaDtOc9Cs6WAOFPBkFxfog4Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@carlkibler%2ftoolsmith@0.1.48","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":402622},"main":"./src/index.js","type":"module","engines":{"node":">=20"},"exports":{".":"./src/index.js"},"gitHead":"374bd22a77bbed03d20779a09a6c8465cb1cfe29","scripts":{"test":"node --test","check":"node --check src/*.js lib/*.js bin/*.js extensions/*.js && node --test","test:harnesses":"./scripts/test-harnesses.sh","install:harnesses":"./scripts/install-harnesses.sh","test:harnesses:live":"./scripts/test-harnesses.sh --live"},"_npmUser":{"name":"carlkibler","email":"carl@carlkibler.com"},"repository":{"url":"git+https://github.com/carlkibler/toolsmith.git","type":"git"},"_npmVersion":"10.9.8","description":"Save tokens in AI agent sessions — surgical reads and exact edits for Claude Code, Codex, Gemini CLI, and 15+ more agents.","directories":{},"_nodeVersion":"22.22.3","dependencies":{},"_hasShrinkwrap":false,"peerDependencies":{"@mariozechner/pi-coding-agent":"*"},"peerDependenciesMeta":{"@mariozechner/pi-coding-agent":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/toolsmith_0.1.48_1780404627956_0.49435745940201525","host":"s3://npm-registry-packages-npm-production"}},"0.1.49":{"name":"@carlkibler/toolsmith","version":"0.1.49","keywords":["mcp","agent","ai","llm","edit","anchor","codegen","toolsmith","claude","codex"],"license":"MIT","_id":"@carlkibler/toolsmith@0.1.49","maintainers":[{"name":"carlkibler","email":"carl@carlkibler.com"}],"homepage":"https://github.com/carlkibler/toolsmith#readme","bugs":{"url":"https://github.com/carlkibler/toolsmith/issues"},"pi":{"extensions":["./extensions"]},"bin":{"toolsmith":"bin/toolsmith.js","toolsmith-mcp":"bin/toolsmith-mcp.js"},"dist":{"shasum":"5d7009ea23d0f632648d1f624fb7d0eb51f5645c","tarball":"https://registry.npmjs.org/@carlkibler/toolsmith/-/toolsmith-0.1.49.tgz","fileCount":45,"integrity":"sha512-9n0x+FsXKqp3MkIMsdY16BNwRkPme57O6FfwI3OdC/hDDezPQHngd1fsrPTb4d9jp7DkMl7y/+ZQq5CPQi428A==","signatures":[{"sig":"MEUCIQC4V9M3Er9VDRlyh11R3Mng9cfduA3m1EsjjlmIJJcioQIgVlvU9G7gT7qIKiFfR2dFljni5AD/okSEzGIcb2TWAOI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@carlkibler%2ftoolsmith@0.1.49","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":403034},"main":"./src/index.js","type":"module","engines":{"node":">=20"},"exports":{".":"./src/index.js"},"gitHead":"efaa5c5b6f6993032107105b495f172e74f1196f","scripts":{"test":"node --test","check":"node --check src/*.js lib/*.js bin/*.js extensions/*.js && node --test","test:harnesses":"./scripts/test-harnesses.sh","install:harnesses":"./scripts/install-harnesses.sh","test:harnesses:live":"./scripts/test-harnesses.sh --live"},"_npmUser":{"name":"carlkibler","email":"carl@carlkibler.com"},"repository":{"url":"git+https://github.com/carlkibler/toolsmith.git","type":"git"},"_npmVersion":"10.9.8","description":"Save tokens in AI agent sessions — surgical reads and exact edits for Claude Code, Codex, Gemini CLI, and 15+ more agents.","directories":{},"_nodeVersion":"22.22.3","dependencies":{},"_hasShrinkwrap":false,"peerDependencies":{"@mariozechner/pi-coding-agent":"*"},"peerDependenciesMeta":{"@mariozechner/pi-coding-agent":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/toolsmith_0.1.49_1781035251115_0.9795910138235211","host":"s3://npm-registry-packages-npm-production"}},"0.1.50":{"name":"@carlkibler/toolsmith","version":"0.1.50","keywords":["mcp","agent","ai","llm","edit","anchor","codegen","toolsmith","claude","codex"],"license":"MIT","_id":"@carlkibler/toolsmith@0.1.50","maintainers":[{"name":"carlkibler","email":"carl@carlkibler.com"}],"homepage":"https://github.com/carlkibler/toolsmith#readme","bugs":{"url":"https://github.com/carlkibler/toolsmith/issues"},"pi":{"extensions":["./extensions"]},"bin":{"toolsmith":"bin/toolsmith.js","toolsmith-mcp":"bin/toolsmith-mcp.js"},"dist":{"shasum":"d55a764417cbbc726030bc03a013f59fe7ef3208","tarball":"https://registry.npmjs.org/@carlkibler/toolsmith/-/toolsmith-0.1.50.tgz","fileCount":45,"integrity":"sha512-5Ax5OHuMWHKJQ5c/JU8BJBrffK09c38xW0HlTCeJ+DPmTAATC9hG3yW5qneczyvhFKj5oEcojwFzuq1FZgNRMw==","signatures":[{"sig":"MEQCIGOd5u1PGd4MdNCpJjLFUu9hJGNkUVkguQIJz8NF7t9LAiAFlGw1160v1/wHcRUK8KUwP4LsCV16tPQTHkrmGhPwuw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@carlkibler%2ftoolsmith@0.1.50","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":405084},"main":"./src/index.js","type":"module","engines":{"node":">=20"},"exports":{".":"./src/index.js"},"gitHead":"3535d88747cae9f98549717c58306de82a2600cf","scripts":{"test":"node --test","check":"node --check src/*.js lib/*.js bin/*.js extensions/*.js && node --test","test:harnesses":"./scripts/test-harnesses.sh","install:harnesses":"./scripts/install-harnesses.sh","test:harnesses:live":"./scripts/test-harnesses.sh --live"},"_npmUser":{"name":"carlkibler","email":"carl@carlkibler.com"},"repository":{"url":"git+https://github.com/carlkibler/toolsmith.git","type":"git"},"_npmVersion":"10.9.8","description":"Save tokens in AI agent sessions — surgical reads and exact edits for Claude Code, Codex, Gemini CLI, and 15+ more agents.","directories":{},"_nodeVersion":"22.22.3","dependencies":{},"_hasShrinkwrap":false,"peerDependencies":{"@mariozechner/pi-coding-agent":"*"},"peerDependenciesMeta":{"@mariozechner/pi-coding-agent":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/toolsmith_0.1.50_1781044244107_0.8941584072269355","host":"s3://npm-registry-packages-npm-production"}},"0.1.51":{"name":"@carlkibler/toolsmith","version":"0.1.51","keywords":["mcp","agent","ai","llm","edit","anchor","codegen","toolsmith","claude","codex"],"license":"MIT","_id":"@carlkibler/toolsmith@0.1.51","maintainers":[{"name":"carlkibler","email":"carl@carlkibler.com"}],"homepage":"https://github.com/carlkibler/toolsmith#readme","bugs":{"url":"https://github.com/carlkibler/toolsmith/issues"},"pi":{"extensions":["./extensions"]},"bin":{"toolsmith":"bin/toolsmith.js","toolsmith-mcp":"bin/toolsmith-mcp.js"},"dist":{"shasum":"51f6d26b7afdd62348451d91ef972b80187ee020","tarball":"https://registry.npmjs.org/@carlkibler/toolsmith/-/toolsmith-0.1.51.tgz","fileCount":45,"integrity":"sha512-g+LcNeOh79udRNVc12nsqvORUzrFJZIUlKViL3bTtX2auaanvj2UGOzME7Fea/ItnhqbYemLqidod6VOm0GA3Q==","signatures":[{"sig":"MEQCIFBuGzQQW+wRAiNaEBr/oKhGZdxiRvrrywoGFtIvfxJvAiAa1QpAAvzkR84BS6E4IxkJXkY0oVnlpSwUwD8qn8RQjw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@carlkibler%2ftoolsmith@0.1.51","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":414777},"main":"./src/index.js","type":"module","engines":{"node":">=20"},"exports":{".":"./src/index.js"},"gitHead":"932ef9251c66324647a10c6cc4309c27edf21725","scripts":{"test":"node --test","check":"node --check src/*.js lib/*.js bin/*.js extensions/*.js && node --test","test:harnesses":"./scripts/test-harnesses.sh","install:harnesses":"./scripts/install-harnesses.sh","test:harnesses:live":"./scripts/test-harnesses.sh --live"},"_npmUser":{"name":"carlkibler","email":"carl@carlkibler.com"},"repository":{"url":"git+https://github.com/carlkibler/toolsmith.git","type":"git"},"_npmVersion":"10.9.8","description":"Save tokens in AI agent sessions — surgical reads and exact edits for Claude Code, Codex, Gemini CLI, and 15+ more agents.","directories":{},"_nodeVersion":"22.22.3","dependencies":{},"_hasShrinkwrap":false,"peerDependencies":{"@mariozechner/pi-coding-agent":"*"},"peerDependenciesMeta":{"@mariozechner/pi-coding-agent":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/toolsmith_0.1.51_1781416969316_0.9783672078326473","host":"s3://npm-registry-packages-npm-production"}},"0.1.52":{"name":"@carlkibler/toolsmith","version":"0.1.52","keywords":["mcp","agent","ai","llm","edit","anchor","codegen","toolsmith","claude","codex"],"license":"MIT","_id":"@carlkibler/toolsmith@0.1.52","maintainers":[{"name":"carlkibler","email":"carl@carlkibler.com"}],"homepage":"https://github.com/carlkibler/toolsmith#readme","bugs":{"url":"https://github.com/carlkibler/toolsmith/issues"},"pi":{"extensions":["./extensions"]},"bin":{"toolsmith":"bin/toolsmith.js","toolsmith-mcp":"bin/toolsmith-mcp.js"},"dist":{"shasum":"14b8d8dc3b9a482b427b645ad072444785e87475","tarball":"https://registry.npmjs.org/@carlkibler/toolsmith/-/toolsmith-0.1.52.tgz","fileCount":45,"integrity":"sha512-f64rRCOsLaX9gGfgf3Nry2uwP930kUGnNluO96J/BfrLQuWoHwa7HmXHPp7DOjAukNTH9gQRrNmuOnzalhiALQ==","signatures":[{"sig":"MEQCICHhUhePwj64BoYgLJY3dDCRTxXer6Pqo4UWHaARgqPcAiAx1aoPw5Ja+4IH2M/zv4FLTsZ2ANWuRRcBk7umC+xdfw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@carlkibler%2ftoolsmith@0.1.52","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":418845},"main":"./src/index.js","type":"module","engines":{"node":">=20"},"exports":{".":"./src/index.js"},"gitHead":"1efeab4cc53b4bdbea2ee702fc1c2cfb6536fb5c","scripts":{"test":"node --test","check":"node --check src/*.js lib/*.js bin/*.js extensions/*.js && node --test","test:harnesses":"./scripts/test-harnesses.sh","install:harnesses":"./scripts/install-harnesses.sh","test:harnesses:live":"./scripts/test-harnesses.sh --live"},"_npmUser":{"name":"carlkibler","email":"carl@carlkibler.com"},"repository":{"url":"git+https://github.com/carlkibler/toolsmith.git","type":"git"},"_npmVersion":"10.9.8","description":"Save tokens in AI agent sessions — surgical reads and exact edits for Claude Code, Codex, Gemini CLI, and 15+ more agents.","directories":{},"_nodeVersion":"22.22.3","dependencies":{},"_hasShrinkwrap":false,"peerDependencies":{"@mariozechner/pi-coding-agent":"*"},"peerDependenciesMeta":{"@mariozechner/pi-coding-agent":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/toolsmith_0.1.52_1781802073721_0.22713572101735813","host":"s3://npm-registry-packages-npm-production"}},"0.1.53":{"name":"@carlkibler/toolsmith","version":"0.1.53","keywords":["mcp","agent","ai","llm","edit","anchor","codegen","toolsmith","claude","codex"],"license":"MIT","_id":"@carlkibler/toolsmith@0.1.53","maintainers":[{"name":"carlkibler","email":"carl@carlkibler.com"}],"homepage":"https://github.com/carlkibler/toolsmith#readme","bugs":{"url":"https://github.com/carlkibler/toolsmith/issues"},"pi":{"extensions":["./extensions"]},"bin":{"toolsmith":"bin/toolsmith.js","toolsmith-mcp":"bin/toolsmith-mcp.js"},"dist":{"shasum":"2231c77f11c424ec1ada173c7817c146c9dfd82d","tarball":"https://registry.npmjs.org/@carlkibler/toolsmith/-/toolsmith-0.1.53.tgz","fileCount":46,"integrity":"sha512-cSybhyRJZSyk/67uZVlQkrwZE37LmIjJp5O6VZuhGXJg39UCCPTTHUzNJgqYLj1nhMmyW6DB5WdMujEhuEZDiQ==","signatures":[{"sig":"MEUCIGPSGpGL4474d5gnyvxett4RfLP+WUupU+ai7jIBGmLBAiEA/1OKrGvYhp2u0/dfoE68v/v/YLJj1aaZYovm/4WG1lk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@carlkibler%2ftoolsmith@0.1.53","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":428877},"main":"./src/index.js","type":"module","engines":{"node":">=20"},"exports":{".":"./src/index.js"},"gitHead":"2b916ba9159b334a17f57b2c7c38bd65a650f1ae","scripts":{"test":"node --test","check":"node --check src/*.js lib/*.js bin/*.js extensions/*.js && node --test","test:harnesses":"./scripts/test-harnesses.sh","install:harnesses":"./scripts/install-harnesses.sh","test:harnesses:live":"./scripts/test-harnesses.sh --live"},"_npmUser":{"name":"carlkibler","email":"carl@carlkibler.com"},"repository":{"url":"git+https://github.com/carlkibler/toolsmith.git","type":"git"},"_npmVersion":"10.9.8","description":"Save tokens in AI agent sessions — surgical reads and exact edits for Claude Code, Codex, Gemini CLI, and 15+ more agents.","directories":{},"_nodeVersion":"22.22.3","dependencies":{},"_hasShrinkwrap":false,"peerDependencies":{"@mariozechner/pi-coding-agent":"*"},"peerDependenciesMeta":{"@mariozechner/pi-coding-agent":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/toolsmith_0.1.53_1781805020225_0.6244850651789682","host":"s3://npm-registry-packages-npm-production"}},"0.1.54":{"name":"@carlkibler/toolsmith","version":"0.1.54","keywords":["mcp","agent","ai","llm","edit","anchor","codegen","toolsmith","claude","codex"],"license":"MIT","_id":"@carlkibler/toolsmith@0.1.54","maintainers":[{"name":"carlkibler","email":"carl@carlkibler.com"}],"homepage":"https://github.com/carlkibler/toolsmith#readme","bugs":{"url":"https://github.com/carlkibler/toolsmith/issues"},"pi":{"extensions":["./extensions"]},"bin":{"toolsmith":"bin/toolsmith.js","toolsmith-mcp":"bin/toolsmith-mcp.js"},"dist":{"shasum":"3d966dac772a57681bbae7dad1e8df2c21033cc7","tarball":"https://registry.npmjs.org/@carlkibler/toolsmith/-/toolsmith-0.1.54.tgz","fileCount":46,"integrity":"sha512-eSCEZL7Z62qAl2XN3DmqsWc9MhvtSc/tn8tvkfBIYp5dhBqEpYhoT0NkNC2ROV0cSjsrB/AX6kJ7DXejsH51eQ==","signatures":[{"sig":"MEUCIQCi8c0yu9bYTlB3092cv6xpf2H7nqDcbsuck/alLRhb/gIgJKX8yaZiQblKsfcta8P9M3gPSEqcPGYppJtxWCqj8ls=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@carlkibler%2ftoolsmith@0.1.54","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":434402},"main":"./src/index.js","type":"module","engines":{"node":">=20"},"exports":{".":"./src/index.js"},"gitHead":"c38bb924dae5a6b31a22b554894cfccadcb41255","scripts":{"test":"node --test","check":"node --check src/*.js lib/*.js bin/*.js extensions/*.js && node --test","test:harnesses":"./scripts/test-harnesses.sh","install:harnesses":"./scripts/install-harnesses.sh","test:harnesses:live":"./scripts/test-harnesses.sh --live"},"_npmUser":{"name":"carlkibler","email":"carl@carlkibler.com"},"repository":{"url":"git+https://github.com/carlkibler/toolsmith.git","type":"git"},"_npmVersion":"10.9.8","description":"Save tokens in AI agent sessions — surgical reads and exact edits for Claude Code, Codex, Gemini CLI, and 15+ more agents.","directories":{},"_nodeVersion":"22.22.3","dependencies":{},"_hasShrinkwrap":false,"peerDependencies":{"@mariozechner/pi-coding-agent":"*"},"peerDependenciesMeta":{"@mariozechner/pi-coding-agent":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/toolsmith_0.1.54_1782323915949_0.33721861046307966","host":"s3://npm-registry-packages-npm-production"}},"0.1.55":{"name":"@carlkibler/toolsmith","version":"0.1.55","keywords":["mcp","agent","ai","llm","edit","anchor","codegen","toolsmith","claude","codex"],"license":"MIT","_id":"@carlkibler/toolsmith@0.1.55","maintainers":[{"name":"carlkibler","email":"carl@carlkibler.com"}],"homepage":"https://github.com/carlkibler/toolsmith#readme","bugs":{"url":"https://github.com/carlkibler/toolsmith/issues"},"pi":{"extensions":["./extensions"]},"bin":{"toolsmith":"bin/toolsmith.js","toolsmith-mcp":"bin/toolsmith-mcp.js"},"dist":{"shasum":"475c09dcc6c6cd0064f1ac7e46d19ce4507f32a2","tarball":"https://registry.npmjs.org/@carlkibler/toolsmith/-/toolsmith-0.1.55.tgz","fileCount":46,"integrity":"sha512-uSea/iKR1aHrdLUtlNHGwyl3wcCIvwFovRr0jhphDit5F7gBoZq93FDYWJGAM46zMdB/F/JwWakVh2YgBVSdhA==","signatures":[{"sig":"MEQCIA2R6GQmcQwH2CeGOYn4J3bP2c9/3dIesytRhfETDNx9AiBn3If+xE4tH2/tDAhMJ9+YHmRAyqIuwBpkbQNbP8LdVg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@carlkibler%2ftoolsmith@0.1.55","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":435644},"main":"./src/index.js","type":"module","engines":{"node":">=20"},"exports":{".":"./src/index.js"},"gitHead":"1cd4d755a9b9d03b46d0a7553aa1144673932bc9","scripts":{"test":"node --test","check":"node --check src/*.js lib/*.js bin/*.js extensions/*.js && node --test","test:harnesses":"./scripts/test-harnesses.sh","install:harnesses":"./scripts/install-harnesses.sh","test:harnesses:live":"./scripts/test-harnesses.sh --live"},"_npmUser":{"name":"carlkibler","email":"carl@carlkibler.com"},"repository":{"url":"git+https://github.com/carlkibler/toolsmith.git","type":"git"},"_npmVersion":"10.9.8","description":"Save tokens in AI agent sessions — surgical reads and exact edits for Claude Code, Codex, Gemini CLI, and 15+ more agents.","directories":{},"_nodeVersion":"22.23.1","dependencies":{},"_hasShrinkwrap":false,"peerDependencies":{"@mariozechner/pi-coding-agent":"*"},"peerDependenciesMeta":{"@mariozechner/pi-coding-agent":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/toolsmith_0.1.55_1784310708370_0.15197805255319574","host":"s3://npm-registry-packages-npm-production"}},"0.1.56":{"name":"@carlkibler/toolsmith","version":"0.1.56","keywords":["mcp","agent","ai","llm","edit","anchor","codegen","toolsmith","claude","codex"],"license":"MIT","_id":"@carlkibler/toolsmith@0.1.56","maintainers":[{"name":"carlkibler","email":"carl@carlkibler.com"}],"homepage":"https://github.com/carlkibler/toolsmith#readme","bugs":{"url":"https://github.com/carlkibler/toolsmith/issues"},"pi":{"extensions":["./extensions"]},"bin":{"toolsmith":"bin/toolsmith.js","toolsmith-mcp":"bin/toolsmith-mcp.js"},"dist":{"shasum":"a0189436d6acf6096a164ef723699de08587be1f","tarball":"https://registry.npmjs.org/@carlkibler/toolsmith/-/toolsmith-0.1.56.tgz","fileCount":46,"integrity":"sha512-QhcTKIoZesVH5rnYmFwz0x0yPkHep3QcnTcvX4hDiUXAc0bDlzIpXo4MTEa6nkmC216xPna4aF/LmobFi/ozUA==","signatures":[{"sig":"MEQCICqfDL6PKg4NrhW7GQYZ2ZY7iNZEx9FSEDkkWuzmeRVUAiADlcjbvQmdVb7er9YLkX0RdHP7U3VEkA6meYOHtyQkMw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@carlkibler%2ftoolsmith@0.1.56","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":444554},"main":"./src/index.js","type":"module","engines":{"node":">=20"},"exports":{".":"./src/index.js"},"gitHead":"1b08a7c7b0f81604842d33dae6f9a4fb405b0e98","scripts":{"test":"node --test","check":"node --check src/*.js lib/*.js bin/*.js extensions/*.js && node --test","test:harnesses":"./scripts/test-harnesses.sh","install:harnesses":"./scripts/install-harnesses.sh","test:harnesses:live":"./scripts/test-harnesses.sh --live"},"_npmUser":{"name":"carlkibler","email":"carl@carlkibler.com"},"repository":{"url":"git+https://github.com/carlkibler/toolsmith.git","type":"git"},"_npmVersion":"10.9.8","description":"Save tokens in AI agent sessions — surgical reads and exact edits for Claude Code, Codex, Gemini CLI, and 15+ more agents.","directories":{},"_nodeVersion":"22.23.1","dependencies":{},"_hasShrinkwrap":false,"peerDependencies":{"@mariozechner/pi-coding-agent":"*"},"peerDependenciesMeta":{"@mariozechner/pi-coding-agent":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/toolsmith_0.1.56_1785664452960_0.2291442306518383","host":"s3://npm-registry-packages-npm-production"}},"0.1.57":{"name":"@carlkibler/toolsmith","version":"0.1.57","keywords":["mcp","agent","ai","llm","edit","anchor","codegen","toolsmith","claude","codex"],"license":"MIT","_id":"@carlkibler/toolsmith@0.1.57","maintainers":[{"name":"carlkibler","email":"carl@carlkibler.com"}],"homepage":"https://github.com/carlkibler/toolsmith#readme","bugs":{"url":"https://github.com/carlkibler/toolsmith/issues"},"pi":{"extensions":["./extensions"]},"bin":{"toolsmith":"bin/toolsmith.js","toolsmith-mcp":"bin/toolsmith-mcp.js"},"dist":{"shasum":"101937cc0a044249c11ad21bc1d9e9a6eaf12afc","tarball":"https://registry.npmjs.org/@carlkibler/toolsmith/-/toolsmith-0.1.57.tgz","fileCount":46,"integrity":"sha512-rdPpTd7XtgZHN77wJY2bGEXVdgHZELBy7l4IxiGXdyFPqzHQqN8+KZAlqUloDhp6ozp2ORg/dzN5RmDKZVFWIw==","signatures":[{"sig":"MEUCIH8q85tBWoZYCxRS8jhNutJDlm1i+xP8piuJXdDDlsLXAiEA9QayaYrbnPZgy5sujGeXm2Spe7XVbaBsKRS3YcB6A/8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@carlkibler%2ftoolsmith@0.1.57","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":446045},"main":"./src/index.js","type":"module","engines":{"node":">=20"},"exports":{".":"./src/index.js"},"gitHead":"74a7225831687c812d11d94ec11ec27517c79657","scripts":{"test":"node --test","check":"node --check src/*.js lib/*.js bin/*.js extensions/*.js && node --test","test:harnesses":"./scripts/test-harnesses.sh","install:harnesses":"./scripts/install-harnesses.sh","test:harnesses:live":"./scripts/test-harnesses.sh --live"},"_npmUser":{"name":"carlkibler","email":"carl@carlkibler.com"},"repository":{"url":"git+https://github.com/carlkibler/toolsmith.git","type":"git"},"_npmVersion":"10.9.8","description":"Save tokens in AI agent sessions — surgical reads and exact edits for Claude Code, Codex, Gemini CLI, and 15+ more agents.","directories":{},"_nodeVersion":"22.23.1","dependencies":{},"_hasShrinkwrap":false,"peerDependencies":{"@mariozechner/pi-coding-agent":"*"},"peerDependenciesMeta":{"@mariozechner/pi-coding-agent":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/toolsmith_0.1.57_1785666376453_0.49805159264147925","host":"s3://npm-registry-packages-npm-production"}},"0.1.58":{"name":"@carlkibler/toolsmith","version":"0.1.58","keywords":["mcp","agent","ai","llm","edit","anchor","codegen","toolsmith","claude","codex"],"license":"MIT","_id":"@carlkibler/toolsmith@0.1.58","maintainers":[{"name":"carlkibler","email":"carl@carlkibler.com"}],"homepage":"https://github.com/carlkibler/toolsmith#readme","bugs":{"url":"https://github.com/carlkibler/toolsmith/issues"},"pi":{"extensions":["./extensions"]},"bin":{"toolsmith":"bin/toolsmith.js","toolsmith-mcp":"bin/toolsmith-mcp.js"},"dist":{"shasum":"2accbaed4cd1bf15700c4df2798060e717f020ba","tarball":"https://registry.npmjs.org/@carlkibler/toolsmith/-/toolsmith-0.1.58.tgz","fileCount":46,"integrity":"sha512-ZaUB+86BaJvVeWhv5lJUd8LdArEDui65o4eUFIukQq5uJB0ChMvQUWTmlaPOXqGPUk4t9z76USo5DSyC45JY4Q==","signatures":[{"sig":"MEUCIQCpheQwDHsWdT+cTfTKeY0OlnPpkAydrWfSDTYg8IlRnQIgQxYncMS6P12wX7vtjVboOmDu6yayaqPl8yJ8Nb8efuc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@carlkibler%2ftoolsmith@0.1.58","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":447937},"main":"./src/index.js","type":"module","engines":{"node":">=20"},"exports":{".":"./src/index.js"},"gitHead":"b9fa6522e8aecfda698fb25ccda2637468bfba61","scripts":{"test":"node --test","check":"node --check src/*.js lib/*.js bin/*.js extensions/*.js && node --test","test:harnesses":"./scripts/test-harnesses.sh","install:harnesses":"./scripts/install-harnesses.sh","test:harnesses:live":"./scripts/test-harnesses.sh --live"},"_npmUser":{"name":"carlkibler","email":"carl@carlkibler.com"},"repository":{"url":"git+https://github.com/carlkibler/toolsmith.git","type":"git"},"_npmVersion":"10.9.8","description":"Save tokens in AI agent sessions — surgical reads and exact edits for Claude Code, Codex, Gemini CLI, and 15+ more agents.","directories":{},"_nodeVersion":"22.23.1","dependencies":{},"_hasShrinkwrap":false,"peerDependencies":{"@mariozechner/pi-coding-agent":"*"},"peerDependenciesMeta":{"@mariozechner/pi-coding-agent":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/toolsmith_0.1.58_1786298291493_0.4887700802391364","host":"s3://npm-registry-packages-npm-production"}},"0.1.59":{"name":"@carlkibler/toolsmith","version":"0.1.59","description":"Save tokens in AI agent sessions — surgical reads and exact edits for Claude Code, Codex, Gemini CLI, and 15+ more agents.","type":"module","main":"./src/index.js","exports":{".":"./src/index.js"},"keywords":["mcp","agent","ai","llm","edit","anchor","codegen","toolsmith","claude","codex"],"homepage":"https://github.com/carlkibler/toolsmith#readme","repository":{"type":"git","url":"git+https://github.com/carlkibler/toolsmith.git"},"bugs":{"url":"https://github.com/carlkibler/toolsmith/issues"},"scripts":{"test":"node --test","check":"node --check src/*.js lib/*.js bin/*.js extensions/*.js && node --test","install:harnesses":"./scripts/install-harnesses.sh","test:harnesses":"./scripts/test-harnesses.sh","test:harnesses:live":"./scripts/test-harnesses.sh --live"},"engines":{"node":">=20"},"license":"MIT","dependencies":{},"bin":{"toolsmith":"bin/toolsmith.js","toolsmith-mcp":"bin/toolsmith-mcp.js"},"pi":{"extensions":["./extensions"]},"peerDependencies":{"@mariozechner/pi-coding-agent":"*"},"peerDependenciesMeta":{"@mariozechner/pi-coding-agent":{"optional":true}},"_id":"@carlkibler/toolsmith@0.1.59","gitHead":"66c65e2e423a6495923f0bde5935762bcf428fe7","_nodeVersion":"22.23.1","_npmVersion":"10.9.8","dist":{"integrity":"sha512-iTtygWJkVY26h3MBsrzVGMtztTYfEv/vHmBB78tuwLzaIq1OLo0JCkHmjM4sedduZRWC97jIiCA+X0uToyEjhQ==","shasum":"f83bc9f06232834ace34a2dca9ec767ce6eb8217","tarball":"https://registry.npmjs.org/@carlkibler/toolsmith/-/toolsmith-0.1.59.tgz","fileCount":46,"unpackedSize":451409,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@carlkibler%2ftoolsmith@0.1.59","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIDO0sU4pCtI6ht0kaWzmJRKCx9cccKByJ3z/mEKuKjVCAiEAxjWq5Wg0y7iQtpusxLzwA09VIBhS0wxqPjDHpbuRVww="}]},"_npmUser":{"name":"carlkibler","email":"carl@carlkibler.com"},"directories":{},"maintainers":[{"name":"carlkibler","email":"carl@carlkibler.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/toolsmith_0.1.59_1786581950838_0.8615416805031617"},"_hasShrinkwrap":false}},"time":{"created":"2026-05-01T23:19:58.304Z","modified":"2026-08-13T00:45:51.428Z","0.1.0":"2026-05-01T23:19:58.531Z","0.1.1":"2026-05-01T23:36:14.587Z","0.1.2":"2026-05-02T16:29:28.632Z","0.1.27":"2026-05-08T07:56:12.079Z","0.1.28":"2026-05-08T08:01:33.250Z","0.1.29":"2026-05-08T08:08:22.637Z","0.1.30":"2026-05-08T08:35:39.641Z","0.1.31":"2026-05-11T14:39:54.992Z","0.1.32":"2026-05-11T14:55:39.128Z","0.1.33":"2026-05-12T21:10:23.742Z","0.1.34":"2026-05-13T16:19:36.957Z","0.1.35":"2026-05-18T16:01:22.396Z","0.1.36":"2026-05-19T16:08:21.711Z","0.1.37":"2026-05-19T16:21:37.707Z","0.1.38":"2026-05-19T17:34:52.005Z","0.1.39":"2026-05-19T19:08:06.042Z","0.1.40":"2026-05-22T00:11:30.870Z","0.1.41":"2026-05-28T18:06:04.211Z","0.1.42":"2026-05-28T19:25:32.911Z","0.1.43":"2026-05-28T21:31:18.715Z","0.1.44":"2026-05-28T21:43:46.910Z","0.1.45":"2026-05-29T02:48:20.692Z","0.1.46":"2026-05-29T03:58:27.447Z","0.1.47":"2026-05-29T04:09:42.901Z","0.1.48":"2026-06-02T12:50:28.105Z","0.1.49":"2026-06-09T20:00:51.261Z","0.1.50":"2026-06-09T22:30:44.275Z","0.1.51":"2026-06-14T06:02:49.464Z","0.1.52":"2026-06-18T17:01:13.857Z","0.1.53":"2026-06-18T17:50:20.370Z","0.1.54":"2026-06-24T17:58:36.122Z","0.1.55":"2026-07-17T17:51:48.518Z","0.1.56":"2026-08-02T09:54:13.093Z","0.1.57":"2026-08-02T10:26:16.602Z","0.1.58":"2026-08-09T17:58:11.657Z","0.1.59":"2026-08-13T00:45:50.987Z"},"bugs":{"url":"https://github.com/carlkibler/toolsmith/issues"},"license":"MIT","homepage":"https://github.com/carlkibler/toolsmith#readme","keywords":["mcp","agent","ai","llm","edit","anchor","codegen","toolsmith","claude","codex"],"repository":{"type":"git","url":"git+https://github.com/carlkibler/toolsmith.git"},"description":"Save tokens in AI agent sessions — surgical reads and exact edits for Claude Code, Codex, Gemini CLI, and 15+ more agents.","maintainers":[{"name":"carlkibler","email":"carl@carlkibler.com"}],"readme":"# toolsmith\n\nSave tokens in AI agent sessions — surgical reads and exact edits for Claude Code, Codex, Gemini CLI, and 15+ more agents.\n\nNative file tools send entire files into context. Toolsmith sends only what the agent needs, with stable line anchors that make edits fail loudly instead of silently clobbering changed files.\n\n**88–93% token reduction per call** — measured across 1,500+ real agent sessions over 30 days (Codex, Claude Code, Gemini CLI, Pi.dev). When agents use toolsmith tools instead of native reads, they send 88–93% fewer tokens for that operation. `find_and_anchor` averages ~70K tokens saved per call.\n\nThe honest catch: agents have native-tool muscle memory and don't always reach for Toolsmith on their own — across real sessions it's used on roughly a third to a half of large-file operations. That gap is the lever, and Toolsmith ships the tools to close it: a preference hint injected into your agent config, plus an on-by-default [tripwire](#the-tripwire-nudge-only-by-default) that nudges native large-file ops toward Toolsmith (and, if you opt into a firmer `--tripwire-mode`, escalates to a prompt). Run `toolsmith audit` for your own numbers and `toolsmith opportunities` to see exactly what slipped through.\n\n## Install\n\n**Requires Node.js ≥ 20.** macOS and Linux.\n\n```bash\nnpm install -g @carlkibler/toolsmith\ntoolsmith setup\ntoolsmith doctor --smoke\n```\n\n`setup` auto-detects every supported agent already on the machine and registers them in one shot — no manual config. `doctor --smoke` confirms the MCP handshakes work. See [What `setup` changes](#what-setup-changes-on-your-machine) for the exact footprint.\n\n## Quickstart — see your savings in 4 steps\n\n```bash\nnpm install -g @carlkibler/toolsmith && toolsmith setup   # 1. install + register\n# 2. use your agent normally for a day (let it touch some large files)\ntoolsmith audit --days 7      # 3. tokens saved vs missed, per session\ntoolsmith trends              # 4. week-over-week savings + your interception rate\n```\n\nInterception rate low? `toolsmith opportunities` shows exactly which native reads could have been Toolsmith calls — then `toolsmith setup --tripwire` nudges them automatically. That `audit → opportunities → tripwire → re-audit` loop is the whole point: Toolsmith measures its own adoption.\n\n## Update\n\n```bash\ntoolsmith update          # latest release + re-register all clients\ntoolsmith update --check  # just compare current vs latest\n```\n\nToolsmith also prints a one-line nudge (on an interactive terminal) when a newer version is available — checked at most once a day, cached, never blocking. Opt out with `TOOLSMITH_NO_UPDATE_CHECK=1`.\n\n## What `setup` changes on your machine\n\nToolsmith edits config, so here's exactly what it touches. Everything is idempotent and reversible.\n\n| What | Where | Default | Undo |\n|------|-------|---------|------|\n| MCP server registration | Per detected client: `claude mcp add`, `~/.codex/config.toml`, `~/.gemini`, `~/.cursor/mcp.json`, and others — only clients you have | on | re-run `setup`; or remove the MCP entry per client |\n| Preference hint block | `~/.claude/CLAUDE.md`, plus `~/.codex/AGENTS.md` / `~/.gemini/GEMINI.md` / `~/AGENTS.md` if present (HTML-comment fenced) | on | `toolsmith adopt --remove` |\n| Re-prime SessionStart hook | `~/.claude/settings.json` — re-asserts the rule at session start + after compaction | on (with priming); `--no-priming` skips | `toolsmith tripwire remove` |\n| Codex session footer | `~/.codex/config.toml` hook | on, inert unless `TOOLSMITH_CODEX_FOOTER=1` | `toolsmith setup --no-codex-footer` |\n| Tripwire (PreToolUse nudge + PostToolUse reset) | `~/.claude/settings.json` | **on (nudge-only)** — `--tripwire-mode` for firmer, `--no-tripwire` to skip | `toolsmith tripwire remove` |\n\nSkip pieces: `toolsmith setup --no-priming --no-codex-footer`. Before editing a config file, setup writes a recoverable copy next to it (`<file>.toolsmith-bak`) — `mv` it back to undo.\n\n## MCP tools\n\n| Tool | When to use |\n|------|-------------|\n| `file_skeleton` | Explore an unfamiliar file's shape — returns only declarations at ~10% token cost |\n| `get_function` | Read one named symbol, ready to edit — no full-file read needed |\n| `anchored_read` | Read a specific range with stable line anchors |\n| `anchored_search` | Find matching lines with anchors, across a file or directory |\n| `find_and_anchor` | Search a directory and get anchored results — use instead of `rg` + `sed` |\n| `symbol_replace` | Edit text inside one named function or class — no pre-read required |\n| `anchored_edit` | Exact batched edits; validates anchors before writing, fails loudly if stale |\n| `anchored_edit_many` | Same as `anchored_edit`, across multiple files atomically |\n| `anchored_edit_status` | Show active anchor sessions and registered files |\n\n### Compact result mode and compact tool surface\n\nToolsmith borrows the useful part of gateway-style token compression, but keeps it local. MCP results default to `TOOLSMITH_MCP_RESULT_MODE=compact`: the agent receives the anchored text once, while duplicate structured fields (`text`, `anchors`, snippets, full content) are stripped and replaced with a local compression receipt. Use `TOOLSMITH_MCP_RESULT_MODE=summary` for the older summary-first shape, or `TOOLSMITH_MCP_RESULT_MODE=verbose` / `TOOLSMITH_VERBOSE=1` when debugging raw payloads.\n\nIf your client has many MCP servers and tool definitions are crowding context, opt into a virtual one-tool surface:\n\n```bash\nTOOLSMITH_COMPACT_TOOLS=1 toolsmith-mcp\n```\n\nThe model sees one `toolsmith` router tool, then passes `action`/`tool` plus normal arguments. Nothing routes through a third-party gateway.\n\nFor noisy shell output, trim terminal framing locally:\n\n```bash\nnpm test 2>&1 | toolsmith compact-output --max-repeated 3\n```\n\n`compact-output` strips ANSI/pager/progress noise and collapses repeated lines, printing the compacted text to stdout. Add `--receipt` to print the local compression receipt to stderr.\n\n## How it works\n\nStandard `Read` sends the entire file into context. `anchored_read` sends only the requested range, with stable opaque anchors on every line (`Aabc123§const x = 1`). `anchored_edit` validates those anchors still match before writing — stale edits fail immediately instead of silently overwriting.\n\n```\ntoolsmith audit --days 7      # tokens saved vs missed, by session\ntoolsmith opportunities       # large-file reads with no Toolsmith follow-up\n```\n\n## Supported agents\n\n**MCP:** Claude Code · Codex · Gemini CLI · OpenCode · Cline · Roo Code · Kilo Code · Cursor · VS Code / Copilot · Windsurf · Continue · Zed · Qwen Code · Kimi Code · Crush · Kilo CLI\n\n**Extension:** Pi.dev\n\nOne `toolsmith setup` registers all agents detected on the machine. `toolsmith setup --force` re-registers after an update.\n\n## Try without a global install\n\nRun the MCP server directly:\n\n```bash\nnpx -y --package=@carlkibler/toolsmith toolsmith-mcp\n```\n\nOr add to any MCP config manually:\n\n```json\n{\n  \"mcpServers\": {\n    \"toolsmith\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"--package=@carlkibler/toolsmith\", \"toolsmith-mcp\"]\n    }\n  }\n}\n```\n\n## Opt-in extras\n\n**Codex Stop footer** — prints token savings and large-file miss counts at the end of each Codex session:\n\n```bash\ntoolsmith setup                           # installs footer (opt-in via env)\nTOOLSMITH_CODEX_FOOTER=1 codex \"...\"     # enable for a session\n```\n\n## The tripwire (nudge-only by default)\n\n`setup` installs a Claude `PreToolUse` hook that watches native `Read`/`Edit`/`Write` and shell `cat`/`sed`/`nl` on large files. **By default it only nudges** — a one-line message with the token cost and the Toolsmith tool to use instead. It never prompts, never blocks, and never auto-approves your op; your normal permission flow is untouched. It's the frictionless push: visible at the moment of choice, ignorable. Small bounded reads get a quiet lane too: native `Read` with an explicit range/limit up to ~300 lines is treated as normal inspection, even inside a huge file. Prose/reference reads get a wider lane: Markdown/text docs can be read whole up to a larger threshold, while edits to those files still use the normal large-file safety rail.\n\nWant a stronger push? Opt into firmer modes:\n\n```bash\ntoolsmith setup --tripwire-mode adaptive  # escalate nudge → ask the more an agent ignores it (caps at ask)\ntoolsmith setup --tripwire-mode ask       # always prompt before a native large-file op\ntoolsmith setup --tripwire-mode deny      # block native large-file edits (forces a Toolsmith tool)\ntoolsmith setup --no-tripwire             # don't install the hook\ntoolsmith tripwire remove                 # remove it later\n```\n\n**Adaptive** is the smart middle ground: it counts how often an agent bypasses Toolsmith *without using it* in a session and escalates nudge → ask, but **using any Toolsmith tool resets the count** (a `PostToolUse` hook on `mcp__toolsmith__*`), so it only ever reaches an agent that's genuinely ignoring the tool — never one that's using it, however big the project. It caps at `ask` and never auto-denies.\n\nSafety rails on every mode: reads never hard-block (cap at `ask`); a `Write` that creates a new file never escalates; files Toolsmith can't reach (currently: over its size limit) never escalate; **`bypassPermissions` mode downgrades everything to a nudge** (if you've opted out of prompts, the tripwire respects that); and the hook always **fails open**. Per-session override: `TOOLSMITH_TRIPWIRE_MODE=allow|ask|deny|adaptive`; tune adaptive with `TOOLSMITH_TRIPWIRE_ASK_AFTER`.\n\n## Opt-in extras\n\n**Codex Stop footer** — prints token savings and large-file miss counts at the end of each Codex session:\n\n```bash\ntoolsmith setup                           # installs footer (opt-in via env)\nTOOLSMITH_CODEX_FOOTER=1 codex \"...\"     # enable for a session\n```\n\n## Node.js library\n\n```js\nimport { AnchorStore, readAnchored, applyAnchoredEdits } from \"@carlkibler/toolsmith\"\n\nconst store = new AnchorStore()\nconst content = await fs.readFile(\"src/app.js\", \"utf8\")\nconst read = readAnchored({ path: \"src/app.js\", content, store, sessionId: \"task-1\" })\n\nconst firstLine = read.text.split(\"\\n\").find((line) => line.includes(\"§\"))\nconst result = applyAnchoredEdits({\n  path: \"src/app.js\",\n  content,\n  store,\n  sessionId: \"task-1\",\n  edits: [{ type: \"replace\", anchor: firstLine, endAnchor: firstLine, text: \"const newName = 1\" }],\n})\n```\n\n## Privacy\n\n**Toolsmith sends nothing off your machine.** No accounts, no API keys, no phone-home. Compression receipts are computed locally from before/after token estimates. Usage telemetry (tokens saved per call) is written only to a local file, `~/.local/state/toolsmith/usage.jsonl`, which `toolsmith audit` reads. Disable logging with `TOOLSMITH_USAGE_LOG=0`.\n\nThe only network request Toolsmith ever makes is an optional once-a-day version check against the npm registry (the \"update available\" nudge). Turn it off with `TOOLSMITH_NO_UPDATE_CHECK=1`.\n\n## Uninstall\n\n```bash\ntoolsmith adopt --remove                 # remove preference blocks from CLAUDE.md / AGENTS.md\ntoolsmith adopt --tripwire --remove      # if you enabled the tripwire\nclaude mcp remove toolsmith              # per client (repeat for codex / gemini / cursor / …)\nnpm uninstall -g @carlkibler/toolsmith   # remove the CLI + MCP server\nrm -rf ~/.local/state/toolsmith          # clear usage logs + update cache\n```\n\n## Contributing\n\nIssues and PRs are welcome. Run `npm test` before submitting.\n\n## License\n\nMIT\n","readmeFilename":"README.md"}