{"_id":"decorated-pi","_rev":"33-4501985c324d16d6fb5f24697116fd44","name":"decorated-pi","dist-tags":{"latest":"0.11.1"},"versions":{"0.1.0":{"name":"decorated-pi","version":"0.1.0","keywords":["pi","pi-package","pi-extension","safety","security","lsp","language-server","autocomplete","secretlint"],"license":"MIT","_id":"decorated-pi@0.1.0","maintainers":[{"name":"weckerrr","email":"werkerrrrr@gmail.com"}],"homepage":"https://github.com/lcwecker/decorated-pi#readme","bugs":{"url":"https://github.com/lcwecker/decorated-pi/issues"},"pi":{"extensions":["./extensions/index.ts"]},"dist":{"shasum":"902cad2a7851921647c9fa33274aac0b6dff2e52","tarball":"https://registry.npmjs.org/decorated-pi/-/decorated-pi-0.1.0.tgz","fileCount":22,"integrity":"sha512-l1G/23i+Lv6s/ahN4YANfopqS5dnTUsf1jhaBHhRskOrVoT+bNyYqWwflGlofUI4rXCRh8nDR/p9LjXBrdQpJg==","signatures":[{"sig":"MEUCIQD2d0IoMH+MHSULte8IAJhqdYg6Q7Ec0x9j0ESowvPg3AIgVuqW+VfQl4Zw2h/nvfZ/4BPd//ItdpD+2Fon7a+H/7c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":119916},"gitHead":"c180f65f73489eb3081fc7cbf433e260074dff3a","_npmUser":{"name":"weckerrr","email":"werkerrrrr@gmail.com"},"repository":{"url":"git+https://github.com/lcwecker/decorated-pi.git","type":"git"},"_npmVersion":"11.14.1","description":"Essential utilities for pi: safety gates, secret redaction, smart @ completion, dynamic AGENTS loading, image fallback, and LSP tools","directories":{},"_nodeVersion":"24.14.1","dependencies":{"openai":"^6.37.0","@secretlint/node":"^13.0.0","@spences10/pi-child-env":"0.1.4","@spences10/pi-project-trust":"0.0.6","@secretlint/secretlint-rule-azure":"^13.0.0","@secretlint/secretlint-rule-preset-recommend":"^13.0.0","@secretlint/secretlint-rule-secp256k1-privatekey":"^13.0.0"},"_hasShrinkwrap":false,"peerDependencies":{"typebox":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/decorated-pi_0.1.0_1778899070943_0.6890559879584717","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"decorated-pi","version":"0.2.0","keywords":["pi","pi-package","pi-extension","safety","security","lsp","language-server","autocomplete","secretlint"],"license":"MIT","_id":"decorated-pi@0.2.0","maintainers":[{"name":"weckerrr","email":"werkerrrrr@gmail.com"}],"homepage":"https://github.com/lcwecker/decorated-pi#readme","bugs":{"url":"https://github.com/lcwecker/decorated-pi/issues"},"pi":{"extensions":["./extensions/index.ts"]},"dist":{"shasum":"6e012215ee60696961a5b1ccfc8f15ac29ca38d2","tarball":"https://registry.npmjs.org/decorated-pi/-/decorated-pi-0.2.0.tgz","fileCount":26,"integrity":"sha512-CFAR/4suPUXMRKP9j+/o1kCL6wtpWL2Gp7AgHTtElgW5pdxVe1TKYzqo8dtgDgfktd2+epYgKs3Cuiwv6KPfgg==","signatures":[{"sig":"MEQCIEWIkZs5AgvmlFhWdMFCba/YDVdEKuoxLJwOBPPSGcQoAiBs5QMRHoqMafAJB7mN/OQmUO1qOP85dPb9xBD5lZUM5Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":144162},"gitHead":"fbab6d3d5bfc1fedd52bc908d31a5020210e878f","_npmUser":{"name":"weckerrr","email":"werkerrrrr@gmail.com"},"repository":{"url":"git+https://github.com/lcwecker/decorated-pi.git","type":"git"},"_npmVersion":"11.14.1","description":"Essential utilities for pi: safety gates, secret redaction, smart @ completion, dynamic AGENTS loading, image fallback, and LSP tools","directories":{},"_nodeVersion":"24.14.1","dependencies":{"openai":"^6.37.0","@secretlint/node":"^13.0.0","@spences10/pi-child-env":"0.1.4","@spences10/pi-project-trust":"0.0.6","@secretlint/secretlint-rule-azure":"^13.0.0","@secretlint/secretlint-rule-preset-recommend":"^13.0.0","@secretlint/secretlint-rule-secp256k1-privatekey":"^13.0.0"},"_hasShrinkwrap":false,"peerDependencies":{"typebox":"*","@earendil-works/pi-ai":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/decorated-pi_0.2.0_1778907300621_0.7727091624878757","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"decorated-pi","version":"0.2.1","keywords":["pi","pi-package","pi-extension","safety","security","lsp","language-server","autocomplete","entropy","secret-detection"],"license":"MIT","_id":"decorated-pi@0.2.1","maintainers":[{"name":"weckerrr","email":"werkerrrrr@gmail.com"}],"homepage":"https://github.com/lcwecker/decorated-pi#readme","bugs":{"url":"https://github.com/lcwecker/decorated-pi/issues"},"pi":{"extensions":["./extensions/index.ts"]},"dist":{"shasum":"bea35212adbfac7ade542887faeefe5e439c63b9","tarball":"https://registry.npmjs.org/decorated-pi/-/decorated-pi-0.2.1.tgz","fileCount":26,"integrity":"sha512-uKRfhBMbxn0EL1msyO2ydWDseRBPa9mGVWSi7Z42iSDgmyritrrngYVUdimdH8/EEHOyFcYlt5XcUfK20uxoBg==","signatures":[{"sig":"MEUCIQCB6V46J6Q5GR23OR9nHLmlrxGGnQBRhnSL6+86df3HLQIgIAm8jOJNJxmxCgzuemITACkZN5RE7N+a5QyEB3J/d00=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":187756},"gitHead":"d870fd4a6f04b2a6e33a7973078c393aaa9108d0","scripts":{"test":"vitest run"},"_npmUser":{"name":"weckerrr","email":"werkerrrrr@gmail.com"},"repository":{"url":"git+https://github.com/lcwecker/decorated-pi.git","type":"git"},"_npmVersion":"11.14.1","description":"Essential utilities for pi: safety gates, secret redaction, smart @ completion, dynamic AGENTS loading, image fallback, and LSP tools","directories":{},"_nodeVersion":"24.14.1","dependencies":{"openai":"^6.37.0","@spences10/pi-child-env":"0.1.4","@spences10/pi-project-trust":"0.0.6"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.6"},"peerDependencies":{"typebox":"*","@earendil-works/pi-ai":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/decorated-pi_0.2.1_1778931317007_0.4759682065520716","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"decorated-pi","version":"0.2.2","keywords":["pi","pi-package","pi-extension","safety","security","lsp","language-server","autocomplete","entropy","secret-detection"],"license":"MIT","_id":"decorated-pi@0.2.2","maintainers":[{"name":"weckerrr","email":"werkerrrrr@gmail.com"}],"homepage":"https://github.com/lcwecker/decorated-pi#readme","bugs":{"url":"https://github.com/lcwecker/decorated-pi/issues"},"pi":{"extensions":["./extensions/index.ts"]},"dist":{"shasum":"ecd173ce4307a41849ec25177eac71ecd8d2a534","tarball":"https://registry.npmjs.org/decorated-pi/-/decorated-pi-0.2.2.tgz","fileCount":27,"integrity":"sha512-ed5lIU6Ad/6U8nS9tflgHA7CorcNd3v15/9YX/Y8Btijmx6C0rAJAu7aJsd3lG+h2cLXPW6RwVJoi3OOMvV2KA==","signatures":[{"sig":"MEYCIQCGFHEZw9+qoNlyt4o2bHRVpwwTpf7cOi9HAxSFxPljiAIhAKzZ9a1nJC906KH6ViNpx/kptUnSajnvAloKVuHRW4aV","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":192959},"gitHead":"46f169912b6560dda564c740f793df4e763cb44d","scripts":{"test":"vitest run"},"_npmUser":{"name":"weckerrr","email":"werkerrrrr@gmail.com"},"repository":{"url":"git+https://github.com/lcwecker/decorated-pi.git","type":"git"},"_npmVersion":"11.14.1","description":"Essential utilities for pi: safety gates, secret redaction, smart @ completion, dynamic AGENTS loading, image fallback, and LSP tools","directories":{},"_nodeVersion":"24.14.1","dependencies":{"openai":"^6.37.0","@spences10/pi-child-env":"0.1.4","@spences10/pi-project-trust":"0.0.6"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.6"},"peerDependencies":{"typebox":"*","@earendil-works/pi-ai":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/decorated-pi_0.2.2_1778950954069_0.8454133497308056","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"decorated-pi","version":"0.3.0","keywords":["pi","pi-package","pi-extension","safety","security","lsp","language-server","autocomplete","entropy","secret-detection"],"license":"MIT","_id":"decorated-pi@0.3.0","maintainers":[{"name":"weckerrr","email":"werkerrrrr@gmail.com"}],"homepage":"https://github.com/lcwecker/decorated-pi#readme","bugs":{"url":"https://github.com/lcwecker/decorated-pi/issues"},"pi":{"extensions":["./extensions/index.ts"]},"dist":{"shasum":"6bec27b08059836e6bdcee47730dbc542b1e11d9","tarball":"https://registry.npmjs.org/decorated-pi/-/decorated-pi-0.3.0.tgz","fileCount":30,"integrity":"sha512-zirTh7Mi7SvoEwl3ghvBGgOZwBqStUr4eyQ6ZrB/FcDGnu6AFkBU3rPb5cKpmuxE7684LznJfmGWOCf2t9pSng==","signatures":[{"sig":"MEQCID3KwH1n7PvJ4RS9bgNCI8lSc3qOHajCOk60MEsagchZAiAiPIM4Oao3CSO8w5YRlys0IZbet68H+fTW5YrpZ9r6SA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":253401},"gitHead":"33f778e8d8d75189a380bec848a01f790ceb3097","scripts":{"test":"vitest run"},"_npmUser":{"name":"weckerrr","email":"werkerrrrr@gmail.com"},"repository":{"url":"git+https://github.com/lcwecker/decorated-pi.git","type":"git"},"_npmVersion":"11.14.1","description":"A pi extension with better work-flow: patch tool, safety gates, secret redaction, smart @ completion, dynamic AGENTS loading, image fallback, and LSP tools","directories":{},"_nodeVersion":"24.14.1","dependencies":{"openai":"^6.37.0","@spences10/pi-child-env":"0.1.4","@spences10/pi-project-trust":"0.0.6"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.6"},"peerDependencies":{"typebox":"*","@earendil-works/pi-ai":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/decorated-pi_0.3.0_1779203650988_0.046655524406734594","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"decorated-pi","version":"0.4.0","keywords":["pi","pi-package","pi-extension","safety","security","lsp","language-server","autocomplete","entropy","secret-detection"],"license":"MIT","_id":"decorated-pi@0.4.0","maintainers":[{"name":"weckerrr","email":"werkerrrrr@gmail.com"}],"homepage":"https://github.com/lcwecker/decorated-pi#readme","bugs":{"url":"https://github.com/lcwecker/decorated-pi/issues"},"pi":{"extensions":["./extensions/index.ts"]},"dist":{"shasum":"96a17f61be85fd20ecf1b7beeacae6cf9793bbbe","tarball":"https://registry.npmjs.org/decorated-pi/-/decorated-pi-0.4.0.tgz","fileCount":38,"integrity":"sha512-32mXe75ceQllDaqJxBCF0GgNTs9IKnL3KAhJhRthouTODiij9e6ZlnnuWDBEPfLVNd3H68IgFWlQLVLmCYSphA==","signatures":[{"sig":"MEUCIQCHYu/LcENK0EATWsC7C2Gl5zE0+cmrZMFyn2ivP8IATwIgXY3tt0MXTArkhXKESKXobgEIFkY8UfWPipVzDWq7OXM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":266713},"gitHead":"5c5b9745b522e28583bba0de163ebaad548e10d2","scripts":{"test":"vitest run"},"_npmUser":{"name":"weckerrr","email":"werkerrrrr@gmail.com"},"repository":{"url":"git+https://github.com/lcwecker/decorated-pi.git","type":"git"},"_npmVersion":"11.15.0","description":"A pi extension with better work-flow: patch tool, safety gates, secret redaction, smart @ completion, dynamic AGENTS loading, image fallback, and LSP tools","directories":{},"_nodeVersion":"24.14.0","dependencies":{"openai":"^6.37.0","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.6"},"peerDependencies":{"typebox":"*","@earendil-works/pi-ai":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/decorated-pi_0.4.0_1779703986940_0.7987416778201613","host":"s3://npm-registry-packages-npm-production"}},"0.4.1":{"name":"decorated-pi","version":"0.4.1","keywords":["pi","pi-package","pi-extension","safety","security","lsp","language-server","autocomplete","entropy","secret-detection"],"license":"MIT","_id":"decorated-pi@0.4.1","maintainers":[{"name":"weckerrr","email":"werkerrrrr@gmail.com"}],"homepage":"https://github.com/lcwecker/decorated-pi#readme","bugs":{"url":"https://github.com/lcwecker/decorated-pi/issues"},"pi":{"extensions":["./extensions/index.ts"]},"dist":{"shasum":"2a042dd4372be890ac02dacb8d258279c6882ff7","tarball":"https://registry.npmjs.org/decorated-pi/-/decorated-pi-0.4.1.tgz","fileCount":38,"integrity":"sha512-BlTVh728Pdu2UjVE38pn0xBY6pJwQC4nkAXZUSqCU8AcwloCbKfMhu4BjneKmxNhQml0mdFIRJ/q8/o2EP+hiQ==","signatures":[{"sig":"MEYCIQDu3bmj3ockS1ZLu/2JNJz2yFAEVj/2N3rFlmSVc283ZgIhALN1q+lfaXIbCVvgb2tG9szSuJMhP9UXggQ9jLpCm0AL","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":273854},"gitHead":"edce56a6c6234e3087d14eac3cce0be8c0506f70","scripts":{"test":"vitest run"},"_npmUser":{"name":"weckerrr","email":"werkerrrrr@gmail.com"},"repository":{"url":"git+https://github.com/lcwecker/decorated-pi.git","type":"git"},"_npmVersion":"11.15.0","description":"A pi extension with better work-flow: patch tool, safety gates, secret redaction, smart @ completion, dynamic AGENTS loading, image fallback, and LSP tools","directories":{},"_nodeVersion":"24.14.0","dependencies":{"openai":"^6.37.0","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.6"},"peerDependencies":{"typebox":"*","@earendil-works/pi-ai":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/decorated-pi_0.4.1_1779854815983_0.0231877934194884","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"decorated-pi","version":"0.5.0","keywords":["pi","pi-package","pi-extension","rtk","mcp","security","lsp","language-server","secret-detection"],"license":"MIT","_id":"decorated-pi@0.5.0","maintainers":[{"name":"weckerrr","email":"werkerrrrr@gmail.com"}],"homepage":"https://github.com/lcwecker/decorated-pi#readme","bugs":{"url":"https://github.com/lcwecker/decorated-pi/issues"},"pi":{"extensions":["./extensions/index.ts"]},"dist":{"shasum":"01fb79b99444f655bd8e3308bf7a2c6a74c6231a","tarball":"https://registry.npmjs.org/decorated-pi/-/decorated-pi-0.5.0.tgz","fileCount":40,"integrity":"sha512-1nlk/Eb3PBUTsrTXERARSmnJ3PYWehWBKAi8hfGvswrBrRILzgsfQ+423cRgfa1uj3bn7sr2ayUceOTqZxe9jw==","signatures":[{"sig":"MEUCIQD4kgiDv+pfz9+gttS9V/TAf4XJvk6jHSXFN2ZYR1CpfwIgZVjX0HggsSpV0VUTA52C9zY1fiJUJZdbc88frHdVxwY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":333894},"gitHead":"295b3bbcd3dba9e4ed16dcc1f50e8528359cfc69","scripts":{"test":"vitest run"},"_npmUser":{"name":"weckerrr","email":"werkerrrrr@gmail.com"},"repository":{"url":"git+https://github.com/lcwecker/decorated-pi.git","type":"git"},"_npmVersion":"11.16.0","description":"decorated-pi is a practical enhancement pack for pi — smarter tools that are token efficient and cache friendly.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"openai":"^6.37.0","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.6"},"peerDependencies":{"typebox":"*","@earendil-works/pi-ai":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/decorated-pi_0.5.0_1780136643172_0.5586963821210724","host":"s3://npm-registry-packages-npm-production"}},"0.5.1":{"name":"decorated-pi","version":"0.5.1","keywords":["pi","pi-package","pi-extension","rtk","mcp","security","lsp","language-server","secret-detection"],"license":"MIT","_id":"decorated-pi@0.5.1","maintainers":[{"name":"weckerrr","email":"werkerrrrr@gmail.com"}],"homepage":"https://github.com/lcwecker/decorated-pi#readme","bugs":{"url":"https://github.com/lcwecker/decorated-pi/issues"},"pi":{"extensions":["./extensions/index.ts"]},"dist":{"shasum":"e94a85b98ddbcb8bebf5bab2e27e9893701e6591","tarball":"https://registry.npmjs.org/decorated-pi/-/decorated-pi-0.5.1.tgz","fileCount":39,"integrity":"sha512-lxp8sXT/lL0goWNo0o2GzPz7ZNLErOT0HIUT500JalB5RH8SB+xGPNSCNryAaopN03/Kt7xmC/R7oHPJqNbLxA==","signatures":[{"sig":"MEQCIFoybjq3P5HGhRwHSioB/0vRCDo0i+QqIYq2ZNZEU3mVAiAxDWMMBo5v0Cq+11ZgX3T8+L2chgODPcrsvMu0dndnBA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":327433},"gitHead":"cc2a6b3c1844a559aab92f92b9fbf1f158a26b37","scripts":{"test":"vitest run"},"_npmUser":{"name":"weckerrr","email":"werkerrrrr@gmail.com"},"repository":{"url":"git+https://github.com/lcwecker/decorated-pi.git","type":"git"},"_npmVersion":"11.16.0","description":"decorated-pi is a practical enhancement pack for pi — smarter tools that are token efficient and cache friendly.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"openai":"^6.37.0","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.6"},"peerDependencies":{"typebox":"*","@earendil-works/pi-ai":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/decorated-pi_0.5.1_1780155508356_0.48777557541147765","host":"s3://npm-registry-packages-npm-production"}},"0.5.2":{"name":"decorated-pi","version":"0.5.2","keywords":["pi","pi-package","pi-extension","rtk","mcp","security","lsp","language-server","secret-detection"],"license":"MIT","_id":"decorated-pi@0.5.2","maintainers":[{"name":"weckerrr","email":"werkerrrrr@gmail.com"}],"homepage":"https://github.com/lcwecker/decorated-pi#readme","bugs":{"url":"https://github.com/lcwecker/decorated-pi/issues"},"pi":{"extensions":["./extensions/index.ts"]},"dist":{"shasum":"3da8a520c1d5ff5e4f1055eda2387d2e644fbcae","tarball":"https://registry.npmjs.org/decorated-pi/-/decorated-pi-0.5.2.tgz","fileCount":39,"integrity":"sha512-kZ3CSr3PxaMc2R/WSNOvwvLndKPfyKaiTbREMBNuPOThfR+Vc8dzJtq9equgvVdujNcLjW6wmuSvGX5GFL79SA==","signatures":[{"sig":"MEUCIQDEiUd6etKhh012amxP6vPE4/qymZb6RMhyEVeDjcHLbgIgNAMbIdNiby9Sz5gWir7+Z3p3y4ZnwXi96IFcaMOEmAs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":328285},"type":"commonjs","gitHead":"bd1a74c12bc22e547925497fe3149c0114111577","scripts":{"test":"vitest run","prepack":"depcheck --fail-on-missing","prepublishOnly":"npm install --package-lock-only --no-audit --no-fund && npm test && depcheck --fail-on-missing && publint"},"_npmUser":{"name":"weckerrr","email":"werkerrrrr@gmail.com"},"repository":{"url":"git+https://github.com/lcwecker/decorated-pi.git","type":"git"},"_npmVersion":"11.16.0","description":"decorated-pi is a practical enhancement pack for pi — smarter tools that are token efficient and cache friendly.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"openai":"^6.37.0","file-type":"^21.3.4","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.6","publint":"^0.3.21","depcheck":"^1.4.7","@types/node":"^22.15.3"},"peerDependencies":{"typebox":"*","@earendil-works/pi-ai":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/decorated-pi_0.5.2_1780279729769_0.5536442858001906","host":"s3://npm-registry-packages-npm-production"}},"0.5.3":{"name":"decorated-pi","version":"0.5.3","keywords":["pi","pi-package","pi-extension","rtk","mcp","security","lsp","language-server","secret-detection"],"license":"MIT","_id":"decorated-pi@0.5.3","maintainers":[{"name":"weckerrr","email":"werkerrrrr@gmail.com"}],"homepage":"https://github.com/lcwecker/decorated-pi#readme","bugs":{"url":"https://github.com/lcwecker/decorated-pi/issues"},"pi":{"extensions":["./extensions/index.ts"]},"dist":{"shasum":"98fe2e3d889c7d264a1aca9eac22869d2c86e384","tarball":"https://registry.npmjs.org/decorated-pi/-/decorated-pi-0.5.3.tgz","fileCount":40,"integrity":"sha512-ynuiDFfOMZu7+cuIrN21GBbh9/whWN0xK2DpOW0eyp9tBM6TTWo6K5hVIfiegLwv07STGy5wrgmvSkei5OL8JA==","signatures":[{"sig":"MEUCIQDAhmu7dc96lSVNUL8DugX49D+1tngCly1ImxTQbWn/OgIgBycDG1XD6uoUvqPbl2If23t/UHzQsmSxv5SCXX+rd+I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":327006},"gitHead":"42ed98a4a884b190b34a7a988691bf7e71a6d521","scripts":{"test":"vitest run","prepack":"depcheck --fail-on-missing","prepublishOnly":"npm install --no-audit --no-fund && npm test && depcheck --fail-on-missing && publint"},"_npmUser":{"name":"weckerrr","email":"werkerrrrr@gmail.com"},"repository":{"url":"git+https://github.com/lcwecker/decorated-pi.git","type":"git"},"_npmVersion":"11.16.0","description":"decorated-pi is a practical enhancement pack for pi — smarter tools that are token efficient and cache friendly.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"openai":"^6.37.0","file-type":"^21.3.4","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.6","publint":"^0.3.21","depcheck":"^1.4.7","@types/node":"^22.15.3"},"peerDependencies":{"typebox":"*","@earendil-works/pi-ai":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/decorated-pi_0.5.3_1780389788245_0.48445935027260334","host":"s3://npm-registry-packages-npm-production"}},"0.5.4":{"name":"decorated-pi","version":"0.5.4","keywords":["pi","pi-package","pi-extension","rtk","mcp","security","lsp","language-server","secret-detection"],"license":"MIT","_id":"decorated-pi@0.5.4","maintainers":[{"name":"weckerrr","email":"werkerrrrr@gmail.com"}],"homepage":"https://github.com/lcwecker/decorated-pi#readme","bugs":{"url":"https://github.com/lcwecker/decorated-pi/issues"},"pi":{"extensions":["./extensions/index.ts"]},"dist":{"shasum":"aea85c06ef36d7483d322180bde20d9fd27e2f20","tarball":"https://registry.npmjs.org/decorated-pi/-/decorated-pi-0.5.4.tgz","fileCount":40,"integrity":"sha512-ZU88UKsDjYvqyMCEQMjLU0ysKWrdVa9bcJvh5O8MwQSZ5+whyMQR9twvQjC6sfszHw9w9KnWgJ/WD1OLTzVyPg==","signatures":[{"sig":"MEUCIQDrkUnqFMFddENEgKjcpQP6xjD1xxR0oUGhkfYO65DjCAIgVtXdtP0K97+Z1KCwj0KCuxMc4rcJ+WHHFVjcuuJXFdE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":336318},"gitHead":"958ad6207aa0e946a64dc21595829f5d7d642698","scripts":{"test":"vitest run","prepack":"depcheck --fail-on-missing","prepublishOnly":"npm install --no-audit --no-fund && npm test && depcheck --fail-on-missing && publint"},"_npmUser":{"name":"weckerrr","email":"werkerrrrr@gmail.com"},"repository":{"url":"git+https://github.com/lcwecker/decorated-pi.git","type":"git"},"_npmVersion":"11.16.0","description":"decorated-pi is a practical enhancement pack for pi — smarter tools that are token efficient and cache friendly.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"openai":"^6.37.0","file-type":"^21.3.4","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.6","publint":"^0.3.21","depcheck":"^1.4.7","@types/node":"^22.15.3"},"peerDependencies":{"typebox":"*","@earendil-works/pi-ai":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/decorated-pi_0.5.4_1780467349468_0.69463955248418","host":"s3://npm-registry-packages-npm-production"}},"0.5.5":{"name":"decorated-pi","version":"0.5.5","keywords":["pi","pi-package","pi-extension","rtk","mcp","security","lsp","language-server","secret-detection"],"license":"MIT","_id":"decorated-pi@0.5.5","maintainers":[{"name":"weckerrr","email":"werkerrrrr@gmail.com"}],"homepage":"https://github.com/lcwecker/decorated-pi#readme","bugs":{"url":"https://github.com/lcwecker/decorated-pi/issues"},"pi":{"extensions":["./extensions/index.ts"]},"dist":{"shasum":"9cae553bead11c79dcd5939a64844eb9aa2bc478","tarball":"https://registry.npmjs.org/decorated-pi/-/decorated-pi-0.5.5.tgz","fileCount":40,"integrity":"sha512-0mkg2a70ZIDpyIMpNB+mdH4N8GJh6VxsDwgR33E3BuIbJno9kbDyVTR0a4RJocqvisU5Y6TO68CSrG5/pJcQvg==","signatures":[{"sig":"MEQCIH47K2YL+dt/S+cVYY7LkIE5boS5F57mNbQ1zVArmiQnAiB/vR7cnJQXG8KeZc7EPARMQ3AyowJRnycw/Ac+kDq9ww==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":345216},"gitHead":"e7cf4ac18138289ff2bad588c18280fcd02ff01f","scripts":{"test":"vitest run","prepack":"depcheck --fail-on-missing","prepublishOnly":"npm install --no-audit --no-fund && npm test && depcheck --fail-on-missing && publint"},"_npmUser":{"name":"weckerrr","email":"werkerrrrr@gmail.com"},"repository":{"url":"git+https://github.com/lcwecker/decorated-pi.git","type":"git"},"_npmVersion":"11.16.0","description":"decorated-pi is a practical enhancement pack for pi — smarter tools that are token efficient and cache friendly.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"openai":"^6.37.0","file-type":"^21.3.4","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.6","publint":"^0.3.21","depcheck":"^1.4.7","@types/node":"^22.15.3"},"peerDependencies":{"typebox":"*","@earendil-works/pi-ai":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/decorated-pi_0.5.5_1780556128300_0.7586608112820226","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"decorated-pi","version":"0.6.0","keywords":["pi","pi-package","pi-extension","rtk","mcp","security","lsp","language-server","secret-detection"],"license":"MIT","_id":"decorated-pi@0.6.0","maintainers":[{"name":"weckerrr","email":"werkerrrrr@gmail.com"}],"homepage":"https://github.com/lcwecker/decorated-pi#readme","bugs":{"url":"https://github.com/lcwecker/decorated-pi/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"59b6fe96997b8d6aa18a5ad92bd8ac95c95756d8","tarball":"https://registry.npmjs.org/decorated-pi/-/decorated-pi-0.6.0.tgz","fileCount":56,"integrity":"sha512-SYnPgLYlWkfbn16ZnsrnOEK2Ut3DqGuaC0Zm5rsJhr0jfuKD6IvB0VsguSumKwzBdakepZVNd/U0Q+OT1MvC9g==","signatures":[{"sig":"MEUCIQCVqlu5wwjxDcyHMfkZqTxsndpS/SaqEUSjiZeNpoRUSgIgARwraYGuQhZRor5rzgBITZKm7MXuBH2c9AH/3AOYox8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":365208},"gitHead":"86498a676a8e6c14c7e627b770678416da89b2f5","scripts":{"test":"vitest run","prepack":"depcheck --fail-on-missing","typecheck":"tsc --noEmit","prepublishOnly":"npm install --no-audit --no-fund && npm test && npm run typecheck && depcheck --fail-on-missing && publint"},"_npmUser":{"name":"weckerrr","email":"werkerrrrr@gmail.com"},"repository":{"url":"git+https://github.com/lcwecker/decorated-pi.git","type":"git"},"_npmVersion":"11.17.0","description":"decorated-pi is a practical enhancement pack for pi coding agent — token-efficient workflow, cache-friendly design, and smarter tools.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"openai":"^6.37.0","file-type":"^21.3.4","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.6","publint":"^0.3.21","depcheck":"^1.4.7","@types/node":"^22.15.3"},"peerDependencies":{"typebox":"*","@earendil-works/pi-ai":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/decorated-pi_0.6.0_1781250932057_0.13232115229433572","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"decorated-pi","version":"0.7.0","keywords":["pi","pi-package","pi-extension","rtk","mcp","security","lsp","lsp-client","secret-redaction","codegraph"],"license":"MIT","_id":"decorated-pi@0.7.0","maintainers":[{"name":"weckerrr","email":"werkerrrrr@gmail.com"}],"homepage":"https://github.com/lcwecker/decorated-pi#readme","bugs":{"url":"https://github.com/lcwecker/decorated-pi/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"fffa120ed2cb68a3a5d79a34a9730dc2471f3132","tarball":"https://registry.npmjs.org/decorated-pi/-/decorated-pi-0.7.0.tgz","fileCount":56,"integrity":"sha512-/nUKTPZU4e6t57gts2m9A+LdBy4/FttnbKAQKU5fKfIcTOglTnxzVLexMP9R06FlcOoAFNWXezx42UJ7/csl2A==","signatures":[{"sig":"MEYCIQC5Js2x+lFb/X8cWKZuInbqMEB8Bh/LzehDkgO0kp57fgIhALM1yg9IAlKmQqs756Jyok24GPuWZGVt8q30Sc1w5ow+","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":394641},"gitHead":"cc1fd1d92cfb276c82015bffd91303a85d0ba86c","scripts":{"test":"vitest run","prepack":"depcheck --fail-on-missing","typecheck":"tsc --noEmit","prepublishOnly":"npm install --no-audit --no-fund && npm test && npm run typecheck && depcheck --fail-on-missing && publint"},"_npmUser":{"name":"weckerrr","email":"werkerrrrr@gmail.com"},"repository":{"url":"git+https://github.com/lcwecker/decorated-pi.git","type":"git"},"_npmVersion":"11.17.0","description":"decorated-pi is a practical enhancement pack for pi coding agent — token-efficient workflow, cache-friendly design, and smarter tools.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"openai":"^6.37.0","file-type":"^21.3.4","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.6","publint":"^0.3.21","depcheck":"^1.4.7","@types/node":"^22.15.3"},"peerDependencies":{"typebox":"*","@earendil-works/pi-ai":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/decorated-pi_0.7.0_1781322407666_0.8126686796971005","host":"s3://npm-registry-packages-npm-production"}},"0.7.1":{"name":"decorated-pi","version":"0.7.1","keywords":["pi","pi-package","pi-extension","rtk","mcp","security","lsp","lsp-client","secret-redaction","codegraph","fff","smart-at","fuzzy-search","file-finder"],"license":"MIT","_id":"decorated-pi@0.7.1","maintainers":[{"name":"weckerrr","email":"werkerrrrr@gmail.com"}],"homepage":"https://github.com/lcwecker/decorated-pi#readme","bugs":{"url":"https://github.com/lcwecker/decorated-pi/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"3af534c1e4d0c1a1fb254111b16495a07390262a","tarball":"https://registry.npmjs.org/decorated-pi/-/decorated-pi-0.7.1.tgz","fileCount":56,"integrity":"sha512-8BADTLW+YyVk1TcWWuk3mS1tqn195LNpkbjOmUV9maKgc44y297OOzEWY4D0EXCgD2Ak2oAwY1POwgFg1qkFBw==","signatures":[{"sig":"MEQCIF5uwiR5KfLigNcxBBwErpUIB5Iu30xcB0hPL2rQ9Gb8AiBviNcWZW58f5Jr3MluFjYv5GelSgrtlylMXqmxtIq7Pw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":389215},"gitHead":"26051d48369871f486aff65df85ea4f388acb21a","scripts":{"test":"vitest run --coverage","bench":"vitest bench --run","prepack":"depcheck --fail-on-missing","typecheck":"tsc --noEmit","prepublishOnly":"npm install --no-audit --no-fund && npm test && npm run typecheck && depcheck --fail-on-missing && publint"},"_npmUser":{"name":"weckerrr","email":"werkerrrrr@gmail.com"},"repository":{"url":"git+https://github.com/lcwecker/decorated-pi.git","type":"git"},"_npmVersion":"11.17.0","description":"decorated-pi is a practical enhancement pack for pi coding agent — token-efficient workflow, cache-friendly design, and smarter tools.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"openai":"^6.37.0","file-type":"^21.3.4","@ff-labs/fff-node":"^0.9.4","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"4.1.8","publint":"^0.3.21","depcheck":"^1.4.7","@types/node":"^22.15.3","@vitest/coverage-v8":"4.1.8"},"peerDependencies":{"typebox":"*","@earendil-works/pi-ai":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/decorated-pi_0.7.1_1781439241184_0.08886599908060155","host":"s3://npm-registry-packages-npm-production"}},"0.7.2":{"name":"decorated-pi","version":"0.7.2","keywords":["pi","pi-package","pi-extension","rtk","mcp","security","lsp","lsp-client","secret-redaction","codegraph","fff","fuzzy-search"],"license":"MIT","_id":"decorated-pi@0.7.2","maintainers":[{"name":"weckerrr","email":"werkerrrrr@gmail.com"}],"homepage":"https://github.com/lcwecker/decorated-pi#readme","bugs":{"url":"https://github.com/lcwecker/decorated-pi/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"acaf9a0d8ca7b86d656b99326062d1d4c854cee3","tarball":"https://registry.npmjs.org/decorated-pi/-/decorated-pi-0.7.2.tgz","fileCount":57,"integrity":"sha512-65ToeYRnu4aQy3dgyzEWqC/pwn8tLVj7V/IwUJkQ6NkclyAz9Lr+f61i9Q1eSSW/nDfwwY5Q4eCs9DFu3/sVTA==","signatures":[{"sig":"MEUCIFKwnZ/NSYUTKrSSeU05hBq0n194EfGSTXqF79Qy/IvcAiEA0QUL/P3iagzn5L0gVHgUFCD7LJg8j7rxhx2J4A3zpsc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":399886},"gitHead":"3246387da86dd44b9e69627ab11d6951f23e0e44","scripts":{"test":"vitest run --coverage","bench":"vitest bench --run","prepack":"depcheck --fail-on-missing","typecheck":"tsc --noEmit","prepublishOnly":"npm install --no-audit --no-fund && npm test && npm run typecheck && depcheck --fail-on-missing && publint"},"_npmUser":{"name":"weckerrr","email":"werkerrrrr@gmail.com"},"repository":{"url":"git+https://github.com/lcwecker/decorated-pi.git","type":"git"},"_npmVersion":"11.17.0","description":"decorated-pi is a practical enhancement pack for pi coding agent — token-efficient workflow, cache-friendly design, and smarter tools.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"openai":"^6.37.0","file-type":"^21.3.4","@ff-labs/fff-node":"^0.9.4","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"4.1.8","publint":"^0.3.21","depcheck":"^1.4.7","@types/node":"^22.15.3","@vitest/coverage-v8":"4.1.8"},"peerDependencies":{"typebox":"*","@earendil-works/pi-ai":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/decorated-pi_0.7.2_1781506909975_0.4906163292657997","host":"s3://npm-registry-packages-npm-production"}},"0.7.3":{"name":"decorated-pi","version":"0.7.3","keywords":["pi","pi-package","pi-extension","rtk","mcp","security","lsp","lsp-client","secret-redaction","codegraph","fff","fuzzy-search"],"license":"MIT","_id":"decorated-pi@0.7.3","maintainers":[{"name":"weckerrr","email":"werkerrrrr@gmail.com"}],"homepage":"https://github.com/lcwecker/decorated-pi#readme","bugs":{"url":"https://github.com/lcwecker/decorated-pi/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"94aef28f788c2be4acb3b3dfddbe969ef3abff57","tarball":"https://registry.npmjs.org/decorated-pi/-/decorated-pi-0.7.3.tgz","fileCount":58,"integrity":"sha512-xycxQ4mMwhTNMyQ5x6Ltsb91lQ9LpvDUEWUlo9CDJr+DPMS0GS6iBYKOOSRwR5sm1YbowtqqGDgPfJeWybOaYw==","signatures":[{"sig":"MEYCIQDlV4xqK+46Hu8/dzm0VVFjdq+3Puz7pcZ9c4ELxOjxEgIhAOXJID2U5FqHoi/JunpaaLigE8BA8btvanWgsEHjDWt0","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":419175},"gitHead":"e1c9c35729333c92ad8ab58b5b0b2436a8ceb1a8","scripts":{"test":"vitest run --coverage","bench":"vitest bench --run","prepack":"depcheck --fail-on-missing","typecheck":"tsc --noEmit","prepublishOnly":"npm install --no-audit --no-fund && npm test && npm run typecheck && depcheck --fail-on-missing && publint"},"_npmUser":{"name":"weckerrr","email":"werkerrrrr@gmail.com"},"repository":{"url":"git+https://github.com/lcwecker/decorated-pi.git","type":"git"},"_npmVersion":"11.14.1","description":"decorated-pi is a practical enhancement pack for pi coding agent — token-efficient workflow, cache-friendly design, and smarter tools.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"openai":"^6.37.0","file-type":"^21.3.4","@ff-labs/fff-node":"^0.9.4","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"4.1.8","publint":"^0.3.21","depcheck":"^1.4.7","@types/node":"^22.15.3","@vitest/coverage-v8":"4.1.8"},"peerDependencies":{"typebox":"*","@earendil-works/pi-ai":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/decorated-pi_0.7.3_1782201225563_0.6811070587349581","host":"s3://npm-registry-packages-npm-production"}},"0.8.0":{"name":"decorated-pi","version":"0.8.0","keywords":["pi","pi-package","pi-extension","rtk","mcp","security","lsp","lsp-client","secret-redaction","codegraph","fff","fuzzy-search"],"license":"MIT","_id":"decorated-pi@0.8.0","maintainers":[{"name":"weckerrr","email":"werkerrrrr@gmail.com"}],"homepage":"https://github.com/lcwecker/decorated-pi#readme","bugs":{"url":"https://github.com/lcwecker/decorated-pi/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"7e7356f84ed5bb789fa2add86ff6975e65be419d","tarball":"https://registry.npmjs.org/decorated-pi/-/decorated-pi-0.8.0.tgz","fileCount":60,"integrity":"sha512-q7KQHfuunWiJsadYc30odqx/fUQBxpTCuNnxzgS73pkdTtIyclFF4HJULvbcTvsAlGwoxD/x2J1f9Nw8WV6UFg==","signatures":[{"sig":"MEQCIG+yV1f0E6GNm4iIU7l996qVpwdpJvYZ/v3gb/UTGkTKAiByDFTQAMuyloqLxMA68jhs8n36ON/dRwezYnOyNUHF8w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":429907},"gitHead":"efe3b82014d5407dbd1f189c29934c17d0459dc0","scripts":{"test":"vitest run --coverage","bench":"vitest bench --run","prepack":"depcheck --fail-on-missing","typecheck":"tsc --noEmit","prepublishOnly":"npm install --no-audit --no-fund && npm test && npm run typecheck && depcheck --fail-on-missing && publint"},"_npmUser":{"name":"weckerrr","email":"werkerrrrr@gmail.com"},"repository":{"url":"git+https://github.com/lcwecker/decorated-pi.git","type":"git"},"_npmVersion":"11.18.0","description":"decorated-pi is a practical enhancement pack for pi coding agent — token-efficient workflow, cache-friendly design, and smarter tools.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"openai":"^6.37.0","chardet":"^2.2.0","file-type":"^21.3.4","iconv-lite":"^0.7.2","@ff-labs/fff-node":"^0.9.4","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"4.1.8","publint":"^0.3.21","depcheck":"^1.4.7","@types/node":"^22.15.3","@vitest/coverage-v8":"4.1.8"},"peerDependencies":{"typebox":"*","@earendil-works/pi-ai":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/decorated-pi_0.8.0_1783425938917_0.891201835196944","host":"s3://npm-registry-packages-npm-production"}},"0.8.1":{"name":"decorated-pi","version":"0.8.1","keywords":["pi","pi-package","pi-extension","rtk","mcp","security","lsp","lsp-client","secret-redaction","codegraph","fff","fuzzy-search"],"license":"MIT","_id":"decorated-pi@0.8.1","maintainers":[{"name":"weckerrr","email":"werkerrrrr@gmail.com"}],"homepage":"https://github.com/lcwecker/decorated-pi#readme","bugs":{"url":"https://github.com/lcwecker/decorated-pi/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"4336f6d79ee3b1c624abcd29152556a77b637d78","tarball":"https://registry.npmjs.org/decorated-pi/-/decorated-pi-0.8.1.tgz","fileCount":60,"integrity":"sha512-jBtbVNY0HcHpc4PP0SBIhTqUB4J30jZ7irMQTFFTCFH/c4K3mJ2NLsnDNBCPc95RAcpFkc56ydDslUFeU/7PYw==","signatures":[{"sig":"MEUCIEQAwiWNw+ReutYIsTV2xP/u1GRjVcJmqWQt+N5DiRXIAiEAvYD8IUagy6OmVMxyL+qy/ljF6L2w32GyeZnF3rAFmOE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":435840},"gitHead":"9a3a8a720d1217e89431d0374c92b51a701ea9be","scripts":{"test":"vitest run --coverage","bench":"vitest bench --run","prepack":"depcheck --fail-on-missing","typecheck":"tsc --noEmit","prepublishOnly":"npm install --no-audit --no-fund && npm test && npm run typecheck && depcheck --fail-on-missing && publint"},"_npmUser":{"name":"weckerrr","email":"werkerrrrr@gmail.com"},"repository":{"url":"git+https://github.com/lcwecker/decorated-pi.git","type":"git"},"_npmVersion":"11.18.0","description":"decorated-pi is a practical enhancement pack for pi coding agent — token-efficient workflow, cache-friendly design, and smarter tools.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"openai":"^6.37.0","chardet":"^2.2.0","file-type":"^21.3.4","iconv-lite":"^0.7.2","@ff-labs/fff-node":"^0.9.4","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"4.1.8","publint":"^0.3.21","depcheck":"^1.4.7","@types/node":"^22.15.3","@vitest/coverage-v8":"4.1.8"},"peerDependencies":{"typebox":"*","@earendil-works/pi-ai":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/decorated-pi_0.8.1_1784363767470_0.7860411709177069","host":"s3://npm-registry-packages-npm-production"}},"0.9.0":{"name":"decorated-pi","version":"0.9.0","keywords":["pi","pi-package","pi-extension","rtk","mcp","security","lsp","lsp-client","secret-redaction","codegraph","fff","fuzzy-search"],"license":"MIT","_id":"decorated-pi@0.9.0","maintainers":[{"name":"weckerrr","email":"werkerrrrr@gmail.com"}],"homepage":"https://github.com/lcwecker/decorated-pi#readme","bugs":{"url":"https://github.com/lcwecker/decorated-pi/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"77c4905f7e3af7e81e48182d463882395e8a6a19","tarball":"https://registry.npmjs.org/decorated-pi/-/decorated-pi-0.9.0.tgz","fileCount":57,"integrity":"sha512-AeK8Q0MjpEqgweeJ70C5p1FJF9cyrXacyT/la1vyOA24d7OHIGu/V0xclGo8zY/6ZAolJNbenNcw4WPnkIGN8Q==","signatures":[{"sig":"MEUCIQDqBi63/97+pn8pns+ahI30Wt4Qji9ArhkXRcAJ51kQswIgej40KqVzoQi0NZWnaK+fNGoIxSt+y9blGe5N/0dxPsY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":426295},"gitHead":"98f1b972134c280407c389caf29de982cad8688a","scripts":{"test":"vitest run --coverage","bench":"vitest bench --run","prepack":"depcheck --fail-on-missing","typecheck":"tsc --noEmit","prepublishOnly":"npm install --no-audit --no-fund && npm test && npm run typecheck && depcheck --fail-on-missing && publint"},"_npmUser":{"name":"weckerrr","email":"werkerrrrr@gmail.com"},"repository":{"url":"git+https://github.com/lcwecker/decorated-pi.git","type":"git"},"_npmVersion":"11.18.0","description":"decorated-pi is a practical enhancement pack for pi coding agent — token-efficient workflow, cache-friendly design, and smarter tools.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"openai":"^6.37.0","chardet":"^2.2.0","file-type":"^21.3.4","iconv-lite":"^0.7.2","typescript":"^7.0.2","@biomejs/biome":"^2.5.5","@ff-labs/fff-node":"^0.9.4","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"4.1.8","publint":"^0.3.21","depcheck":"^1.4.7","@types/node":"^22.15.3","@vitest/coverage-v8":"4.1.8"},"peerDependencies":{"typebox":"*","@earendil-works/pi-ai":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-agent-core":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/decorated-pi_0.9.0_1785290135870_0.44384588336882436","host":"s3://npm-registry-packages-npm-production"}},"0.9.1":{"name":"decorated-pi","version":"0.9.1","keywords":["pi","pi-package","pi-extension","rtk","mcp","security","lsp","lsp-client","secret-redaction","codegraph"],"license":"MIT","_id":"decorated-pi@0.9.1","maintainers":[{"name":"weckerrr","email":"werkerrrrr@gmail.com"}],"homepage":"https://github.com/lcwecker/decorated-pi#readme","bugs":{"url":"https://github.com/lcwecker/decorated-pi/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"790ddcb1363a7a4be3264aabf8e40a25211c10b7","tarball":"https://registry.npmjs.org/decorated-pi/-/decorated-pi-0.9.1.tgz","fileCount":56,"integrity":"sha512-N8DgF+UNAOeZk2XsBLGUJeeg50TOUx2u4Pns1EmWT1YFWIGRZRqj2jSPs4Klh3DASTCd18HJEwc/ce/xKSTbFw==","signatures":[{"sig":"MEYCIQCdKWWeXMLWXIQ/48paO2peetr7i1zx9gMpU7qfewTjZwIhALtEj4jaclRmthAaqsn4Zxa3pCcgMe8JsA4ghwZii2no","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":420120},"gitHead":"3f15254eeddcb11e84c2b019e56679b923ea53e4","scripts":{"test":"vitest run --coverage","prepack":"depcheck --fail-on-missing","typecheck":"tsc --noEmit","prepublishOnly":"npm install --no-audit --no-fund && npm test && npm run typecheck && depcheck --fail-on-missing && publint"},"_npmUser":{"name":"weckerrr","email":"werkerrrrr@gmail.com"},"repository":{"url":"git+https://github.com/lcwecker/decorated-pi.git","type":"git"},"_npmVersion":"11.19.0","description":"decorated-pi is a practical enhancement pack for pi coding agent — token-efficient workflow, cache-friendly design, and smarter tools.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"openai":"^6.37.0","chardet":"^2.2.0","file-type":"^21.3.4","iconv-lite":"^0.7.2","typescript":"^7.0.2","@biomejs/biome":"^2.5.5","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"4.1.8","publint":"^0.3.21","depcheck":"^1.4.7","@types/node":"^22.15.3","@vitest/coverage-v8":"4.1.8"},"peerDependencies":{"typebox":"*","@earendil-works/pi-ai":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-agent-core":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/decorated-pi_0.9.1_1786004102805_0.9695307550594405","host":"s3://npm-registry-packages-npm-production"}},"0.9.2":{"name":"decorated-pi","version":"0.9.2","keywords":["pi","pi-package","pi-extension","rtk","mcp","security","lsp","lsp-client","secret-redaction","codegraph"],"license":"MIT","_id":"decorated-pi@0.9.2","maintainers":[{"name":"weckerrr","email":"werkerrrrr@gmail.com"}],"homepage":"https://github.com/lcwecker/decorated-pi#readme","bugs":{"url":"https://github.com/lcwecker/decorated-pi/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"d18af0d3eb4e487ca96fec95b0af97a0219f570a","tarball":"https://registry.npmjs.org/decorated-pi/-/decorated-pi-0.9.2.tgz","fileCount":56,"integrity":"sha512-el3nbPD1meAU8CnpdAIM+n+PpLa/IsCunAZaUilbfYkF82XVQKcprpKF2FcN3tgdExXIgXZKagYnduqqzDrpKA==","signatures":[{"sig":"MEQCIG1Mp8lwOVkdrDN0SfSjyleBGHr1RoibkZuMeCsynhQFAiA4C2aIcL/Q0xfYaDZfus2gd0J2qHhOO4LCDm0wCdAJIg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":422899},"gitHead":"3fd1fd9794c10b86f44467e4fd0878af4371af2a","scripts":{"test":"vitest run --coverage","prepack":"depcheck --fail-on-missing","typecheck":"tsc --noEmit","prepublishOnly":"npm install --no-audit --no-fund && npm test && npm run typecheck && depcheck --fail-on-missing && publint"},"_npmUser":{"name":"weckerrr","email":"werkerrrrr@gmail.com"},"repository":{"url":"git+https://github.com/lcwecker/decorated-pi.git","type":"git"},"_npmVersion":"11.19.0","description":"decorated-pi is a practical enhancement pack for pi coding agent — token-efficient workflow, cache-friendly design, and smarter tools.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"chardet":"^2.2.0","file-type":"^21.3.4","iconv-lite":"^0.7.2","typescript":"^7.0.2","@biomejs/biome":"^2.5.5","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"4.1.8","publint":"^0.3.21","depcheck":"^1.4.7","@types/node":"^22.15.3","@vitest/coverage-v8":"4.1.8","@earendil-works/pi-ai":"^0.84.0","@earendil-works/pi-tui":"^0.84.0","@earendil-works/pi-agent-core":"^0.84.0","@earendil-works/pi-coding-agent":"^0.84.0"},"peerDependencies":{"typebox":"*","@earendil-works/pi-ai":">=0.84.0","@earendil-works/pi-tui":">=0.84.0","@earendil-works/pi-agent-core":">=0.84.0","@earendil-works/pi-coding-agent":">=0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/decorated-pi_0.9.2_1786076199247_0.7279758207047944","host":"s3://npm-registry-packages-npm-production"}},"0.9.3":{"name":"decorated-pi","version":"0.9.3","keywords":["pi","pi-package","pi-extension","rtk","mcp","security","lsp","lsp-client","secret-redaction","codegraph"],"license":"MIT","_id":"decorated-pi@0.9.3","maintainers":[{"name":"weckerrr","email":"werkerrrrr@gmail.com"}],"homepage":"https://github.com/lcwecker/decorated-pi#readme","bugs":{"url":"https://github.com/lcwecker/decorated-pi/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"669403b20f77fc21e86aba90f4228ca9daeadf4e","tarball":"https://registry.npmjs.org/decorated-pi/-/decorated-pi-0.9.3.tgz","fileCount":56,"integrity":"sha512-66ucQGZmb9QwbixMyo85c6g5Bzc4AM9n7sSfy7Z/YwtUO6dbuZv944SaPBrt+jLIhj1SUs6GGJ+my+dfXBnuOQ==","signatures":[{"sig":"MEQCIAQ0nmBYCI02lgcRnJJ0qJQne0NbshTfjTOO1ErMt747AiBCottA/ZLmDa1ADOy+wR5lez+r9RFaPRHbxo2MW4LHog==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":424150},"gitHead":"40b3bd6eb3007dafd531641d66ea6a3aa07b8ee8","scripts":{"test":"vitest run --coverage","prepack":"depcheck --fail-on-missing","typecheck":"tsc --noEmit","prepublishOnly":"npm install --no-audit --no-fund && npm test && npm run typecheck && depcheck --fail-on-missing && publint"},"_npmUser":{"name":"weckerrr","email":"werkerrrrr@gmail.com"},"repository":{"url":"git+https://github.com/lcwecker/decorated-pi.git","type":"git"},"_npmVersion":"11.19.0","description":"decorated-pi is a practical enhancement pack for pi coding agent — token-efficient workflow, cache-friendly design, and smarter tools.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"chardet":"^2.2.0","file-type":"^21.3.4","iconv-lite":"^0.7.2","typescript":"^7.0.2","@biomejs/biome":"^2.5.5","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"4.1.8","publint":"^0.3.21","depcheck":"^1.4.7","@types/node":"^22.15.3","@vitest/coverage-v8":"4.1.8","@earendil-works/pi-ai":"^0.84.0","@earendil-works/pi-tui":"^0.84.0","@earendil-works/pi-agent-core":"^0.84.0","@earendil-works/pi-coding-agent":"^0.84.0"},"peerDependencies":{"typebox":"*","@earendil-works/pi-ai":">=0.84.0","@earendil-works/pi-tui":">=0.84.0","@earendil-works/pi-agent-core":">=0.84.0","@earendil-works/pi-coding-agent":">=0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/decorated-pi_0.9.3_1786935670814_0.2839619616347424","host":"s3://npm-registry-packages-npm-production"}},"0.9.4":{"name":"decorated-pi","version":"0.9.4","keywords":["pi","pi-package","pi-extension","mcp","security","lsp","lsp-client","secret-redaction","codegraph"],"license":"MIT","_id":"decorated-pi@0.9.4","maintainers":[{"name":"weckerrr","email":"werkerrrrr@gmail.com"}],"homepage":"https://github.com/lcwecker/decorated-pi#readme","bugs":{"url":"https://github.com/lcwecker/decorated-pi/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"b9681404aaf96ee65616a2b210505b8d44071a51","tarball":"https://registry.npmjs.org/decorated-pi/-/decorated-pi-0.9.4.tgz","fileCount":55,"integrity":"sha512-LRdI7yAZDmBvEemPOXK49oK/YH1f0n/Y/H6n/vFN9eDbYa8JeyJ5h4QFwZSgyz0HE1uXB63VG5pn4lQFFHSZ0A==","signatures":[{"sig":"MEYCIQDHbMbZCtAUY1jYZ6QTCovCUdGLBXGmnbrHy+dPE+oWmQIhAJ7AwZGUlp9WHUPZAIlSsIr5IPYLc7A1vUKYTDVk6MV/","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":417377},"gitHead":"ea2cf341807d405243a9a559cf4d482c7458691a","scripts":{"test":"vitest run --coverage","prepack":"depcheck --fail-on-missing","typecheck":"tsc --noEmit","prepublishOnly":"npm install --no-audit --no-fund && npm test && npm run typecheck && depcheck --fail-on-missing && publint"},"_npmUser":{"name":"weckerrr","email":"werkerrrrr@gmail.com"},"repository":{"url":"git+https://github.com/lcwecker/decorated-pi.git","type":"git"},"_npmVersion":"11.19.0","description":"decorated-pi is a practical enhancement pack for pi coding agent — token-efficient workflow, cache-friendly design, and smarter tools.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"chardet":"^2.2.0","file-type":"^21.3.4","iconv-lite":"^0.7.2","typescript":"^7.0.2","@biomejs/biome":"^2.5.5","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"4.1.8","publint":"^0.3.21","depcheck":"^1.4.7","@types/node":"^22.15.3","@vitest/coverage-v8":"4.1.8","@earendil-works/pi-ai":"^0.84.0","@earendil-works/pi-tui":"^0.84.0","@earendil-works/pi-agent-core":"^0.84.0","@earendil-works/pi-coding-agent":"^0.84.0"},"peerDependencies":{"typebox":"*","@earendil-works/pi-ai":">=0.84.0","@earendil-works/pi-tui":">=0.84.0","@earendil-works/pi-agent-core":">=0.84.0","@earendil-works/pi-coding-agent":">=0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/decorated-pi_0.9.4_1787649549843_0.3825701079107091","host":"s3://npm-registry-packages-npm-production"}},"0.9.5":{"name":"decorated-pi","version":"0.9.5","keywords":["pi","pi-package","pi-extension","mcp","security","lsp","lsp-client","secret-redaction","codegraph"],"license":"MIT","_id":"decorated-pi@0.9.5","maintainers":[{"name":"weckerrr","email":"werkerrrrr@gmail.com"}],"homepage":"https://github.com/lcwecker/decorated-pi#readme","bugs":{"url":"https://github.com/lcwecker/decorated-pi/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"65d4743df787c3c708205f8932eeb8ae0dd7a49c","tarball":"https://registry.npmjs.org/decorated-pi/-/decorated-pi-0.9.5.tgz","fileCount":65,"integrity":"sha512-UjPcXTW5IqGDFNbM6gmk0H5YIZRRWcHeYmYrbEa5JuNOIgNSmy6+PQ+gJXrbfumx77+EaVPLhUobAaGA3cSIRQ==","signatures":[{"sig":"MEYCIQCSbRlStbjbkP8LA2adUKpXLjkXDujOqf8z15LGS/UYwQIhANr5gdMnu39udF+tY68m20Iiwwx2BoybVbNKDwAsGLke","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIEDLIc8T0FZdMrhTQWOAfsJfDJ+7u/kZoTq/bhPkJsLHAiA7Gt9LV9zngtGCyXshsKotLaxytTqRsYvwhoDHITOwvA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/decorated-pi@0.9.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":439008},"engines":{"node":">=22.19.0"},"gitHead":"5c506b54a41a4cabd48db794b4e8707dd84f281c","scripts":{"test":"vitest run --coverage","prepack":"depcheck --fail-on-missing","typecheck":"tsc --noEmit","prepublishOnly":"npm install --no-audit --no-fund && npm test && npm run typecheck && depcheck --fail-on-missing && publint"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:74dccb79-648a-43f1-9977-2fa8a640d47c"}},"repository":{"url":"git+https://github.com/lcwecker/decorated-pi.git","type":"git"},"_npmVersion":"11.19.0","description":"decorated-pi is a practical enhancement pack for pi coding agent — token-efficient workflow, cache-friendly design, and smarter tools.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"chardet":"^2.2.0","iconv-lite":"^0.7.2","typescript":"^7.0.2","@biomejs/biome":"^2.5.5","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"4.1.8","publint":"^0.3.21","depcheck":"^1.4.7","@types/node":"^22.15.3","@vitest/coverage-v8":"4.1.8","@earendil-works/pi-ai":"^0.84.4","@earendil-works/pi-tui":"^0.84.4","@earendil-works/pi-agent-core":"^0.84.4","@earendil-works/pi-coding-agent":"^0.84.4"},"peerDependencies":{"typebox":"*","@earendil-works/pi-ai":">=0.84.4","@earendil-works/pi-tui":">=0.84.4","@earendil-works/pi-agent-core":">=0.84.4","@earendil-works/pi-coding-agent":">=0.84.4"},"_npmOperationalInternal":{"tmp":"tmp/decorated-pi_0.9.5_1789611219352_0.5344554935722023","host":"s3://npm-registry-packages-npm-production"}},"0.9.6":{"name":"decorated-pi","version":"0.9.6","keywords":["pi","pi-package","pi-extension","mcp","security","lsp","lsp-client","secret-redaction","codegraph"],"license":"MIT","_id":"decorated-pi@0.9.6","maintainers":[{"name":"weckerrr","email":"werkerrrrr@gmail.com"}],"homepage":"https://github.com/lcwecker/decorated-pi#readme","bugs":{"url":"https://github.com/lcwecker/decorated-pi/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"482b1221fd83cf76045666be6f270b2da2db4958","tarball":"https://registry.npmjs.org/decorated-pi/-/decorated-pi-0.9.6.tgz","fileCount":65,"integrity":"sha512-tvi14JJ7e2q0u51kAax3kwd8twQF4R5LMQsC31LLFR6H6OiHsn/RV+uxk1zImN3ZOgYhKEglNjrsXmWjRBCt9A==","signatures":[{"sig":"MEYCIQDgWzOzA6LI2lMoYCHdBtHR9Q02OI2idzQ5Tqvvpvqt7AIhAP3rBpjIrUkLLhxtCV/BFBpxfLNBx/n5lKnuznW4HyJO","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIC+TUl7ia6P052dRgr/SSMkeRKsscq8tzItChzCbwEgQAiEAgjobr52dqWNed3cCYT4MBJ/rGMtnoLU7LQxXHafweEY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/decorated-pi@0.9.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":440836},"engines":{"node":">=22.19.0"},"gitHead":"e1a19dbab5c73855e1d89c1385efa71c0768d420","scripts":{"test":"vitest run --coverage","prepack":"depcheck --fail-on-missing","typecheck":"tsc --noEmit","prepublishOnly":"npm install --no-audit --no-fund && npm test && npm run typecheck && depcheck --fail-on-missing && publint"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:74dccb79-648a-43f1-9977-2fa8a640d47c"}},"repository":{"url":"git+https://github.com/lcwecker/decorated-pi.git","type":"git"},"_npmVersion":"11.19.0","description":"decorated-pi is a practical enhancement pack for pi coding agent — token-efficient workflow, cache-friendly design, and smarter tools.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"chardet":"^2.2.0","iconv-lite":"^0.7.2","typescript":"^7.0.2","@biomejs/biome":"^2.5.5","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"4.1.8","publint":"^0.3.21","depcheck":"^1.4.7","@types/node":"^22.15.3","@vitest/coverage-v8":"4.1.8","@earendil-works/pi-ai":"^0.86.0","@earendil-works/pi-tui":"^0.86.0","@earendil-works/pi-agent-core":"^0.86.0","@earendil-works/pi-coding-agent":"^0.86.0"},"peerDependencies":{"typebox":"*","@earendil-works/pi-ai":">=0.86.0","@earendil-works/pi-tui":">=0.86.0","@earendil-works/pi-agent-core":">=0.86.0","@earendil-works/pi-coding-agent":">=0.86.0"},"_npmOperationalInternal":{"tmp":"tmp/decorated-pi_0.9.6_1789868290167_0.9112751994164832","host":"s3://npm-registry-packages-npm-production"}},"0.10.0":{"name":"decorated-pi","version":"0.10.0","keywords":["pi","pi-package","pi-extension","mcp","security","lsp","lsp-client","secret-redaction","codegraph"],"license":"MIT","_id":"decorated-pi@0.10.0","maintainers":[{"name":"weckerrr","email":"werkerrrrr@gmail.com"}],"homepage":"https://github.com/lcwecker/decorated-pi#readme","bugs":{"url":"https://github.com/lcwecker/decorated-pi/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"9e1372529ae2f883e4cfda340e7fd1c2c0f79462","tarball":"https://registry.npmjs.org/decorated-pi/-/decorated-pi-0.10.0.tgz","fileCount":81,"integrity":"sha512-8I+BsyhCVM3mGCcY/aW2gTs6ERYOYxRpHbPToa9lDLCxZwekJ54zTTDDqoJX1YISDzFrqAa68JZEi/jsUrsZJA==","signatures":[{"sig":"MEUCIAvrQhS13Wpx4z025Rg5LRprrmYb/CeUmGfr5o+Ic1syAiEA7pILL5lDVlhlrIt3JCbqFK5efqO83uiKXuQVUV4IngI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDXqwfRsZJHhlwZG2UGbJRq1srPrgeL+w/kduLkv3iFGQIhAKYUkX/lUcuwfWP+9G6ggn9RtCbfLyBGLrklfmxY3BmH","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/decorated-pi@0.10.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":549653},"engines":{"node":">=22.19.0"},"gitHead":"a23643d45b1eac6dbf60dcb5a7239f628fd787be","scripts":{"test":"vitest run --coverage","prepack":"depcheck --fail-on-missing","typecheck":"tsc --noEmit","prepublishOnly":"npm install --no-audit --no-fund && npm test && npm run typecheck && depcheck --fail-on-missing && publint"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:74dccb79-648a-43f1-9977-2fa8a640d47c"}},"repository":{"url":"git+https://github.com/lcwecker/decorated-pi.git","type":"git"},"_npmVersion":"11.19.0","description":"decorated-pi is a practical enhancement pack for pi coding agent — token-efficient workflow, cache-friendly design, and smarter tools.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"chardet":"^2.2.0","turndown":"^7.2.4","iconv-lite":"^0.7.2","typescript":"^7.0.2","htmlparser2":"^8.0.2","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"4.1.8","publint":"^0.3.21","depcheck":"^1.4.7","@types/node":"^22.15.3","@types/turndown":"^5.0.6","@vitest/coverage-v8":"4.1.8","@earendil-works/pi-ai":"^0.86.0","@earendil-works/pi-tui":"^0.86.0","@earendil-works/pi-agent-core":"^0.86.0","@earendil-works/pi-coding-agent":"^0.86.0"},"peerDependencies":{"typebox":"*","@earendil-works/pi-ai":">=0.86.0","@earendil-works/pi-tui":">=0.86.0","@earendil-works/pi-agent-core":">=0.86.0","@earendil-works/pi-coding-agent":">=0.86.0"},"_npmOperationalInternal":{"tmp":"tmp/decorated-pi_0.10.0_1790223310820_0.45410771837708186","host":"s3://npm-registry-packages-npm-production"}},"0.10.1":{"name":"decorated-pi","version":"0.10.1","keywords":["pi","pi-package","pi-extension","mcp","security","lsp","lsp-client","secret-redaction","codegraph"],"license":"MIT","_id":"decorated-pi@0.10.1","maintainers":[{"name":"weckerrr","email":"werkerrrrr@gmail.com"}],"homepage":"https://github.com/lcwecker/decorated-pi#readme","bugs":{"url":"https://github.com/lcwecker/decorated-pi/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"28a6e3dfa092e7637b20fa59b29e2e6d7883c19e","tarball":"https://registry.npmjs.org/decorated-pi/-/decorated-pi-0.10.1.tgz","fileCount":81,"integrity":"sha512-ekIM/37XEpiDCiV5l6VzQDI/zldQTCJda6ssWeNz5HIPZQHYZh8R5MRt6Xp2I0B7aJYZlViYqQaMHMy3qoCnwA==","signatures":[{"sig":"MEUCIQC/QSxFGe6qod3sMSQp3ynOb1fJxZAQscatYpS1kAcVRwIgIy282ROwmjJ1noKopPRddGR1AAHaOR4aCSslvYkJ+Q0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCCO7hxj5W36hGmbJDSTfuiPgO/rVhqIwkiwOmycK6zSwIgX+0p2q/bogvjbo+K8cGepppUfC7zyKGPdu2LZnnvpG0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/decorated-pi@0.10.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":561815},"engines":{"node":">=22.19.0"},"gitHead":"5a9cde093408a0a4ee376569d9166d9a4498a855","scripts":{"test":"vitest run --coverage","prepack":"depcheck --fail-on-missing","typecheck":"tsc --noEmit","prepublishOnly":"npm install --no-audit --no-fund && npm test && npm run typecheck && depcheck --fail-on-missing && publint"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:74dccb79-648a-43f1-9977-2fa8a640d47c"}},"repository":{"url":"git+https://github.com/lcwecker/decorated-pi.git","type":"git"},"_npmVersion":"11.19.0","description":"decorated-pi is a practical enhancement pack for pi coding agent — token-efficient workflow, cache-friendly design, and smarter tools.","directories":{},"_nodeVersion":"24.21.0","dependencies":{"chardet":"^2.2.0","turndown":"^7.2.4","iconv-lite":"^0.7.2","typescript":"^7.0.2","htmlparser2":"^8.0.2","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"4.1.8","publint":"^0.3.21","depcheck":"^1.4.7","@types/node":"^22.15.3","@types/turndown":"^5.0.6","@vitest/coverage-v8":"4.1.8","@earendil-works/pi-ai":"^0.86.0","@earendil-works/pi-tui":"^0.86.0","@earendil-works/pi-agent-core":"^0.86.0","@earendil-works/pi-coding-agent":"^0.86.0"},"peerDependencies":{"typebox":"*","@earendil-works/pi-ai":">=0.86.0","@earendil-works/pi-tui":">=0.86.0","@earendil-works/pi-agent-core":">=0.86.0","@earendil-works/pi-coding-agent":">=0.86.0"},"_npmOperationalInternal":{"tmp":"tmp/decorated-pi_0.10.1_1790569346963_0.9936465998169155","host":"s3://npm-registry-packages-npm-production"}},"0.11.0":{"name":"decorated-pi","version":"0.11.0","keywords":["pi","pi-package","pi-extension","mcp","security","lsp","lsp-client","secret-redaction","codegraph"],"license":"MIT","_id":"decorated-pi@0.11.0","maintainers":[{"name":"weckerrr","email":"werkerrrrr@gmail.com"}],"homepage":"https://github.com/lcwecker/decorated-pi#readme","bugs":{"url":"https://github.com/lcwecker/decorated-pi/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"3c3abf028f96b62f9ce87da60fe5263a4cffeec5","tarball":"https://registry.npmjs.org/decorated-pi/-/decorated-pi-0.11.0.tgz","fileCount":72,"integrity":"sha512-WfZgVwG53fRq0B/GfDUS5cXRsezQ5Dq447Q7EOMW8QK4BVE/4Us5slNlS2P4eOqHBxXhv7+bAM/3qOtP+cfQUw==","signatures":[{"sig":"MEYCIQC+PbQ/EusAQ2pBkql2Ma7yHlZG9rdyu38ZXscqwbFnogIhAI1CSyYcYfMfBHojLiJmedR7EjYV81MhPfrTAO7ko2ur","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDze6ZXfbd/TPUuJKGEMGDfb6cM2+gNq+jI9yTuWll7fgIhAKn1LlMCbu4oQ9aSd10c9EY44wnavrXviE6O0EC/al92","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/decorated-pi@0.11.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":520123},"engines":{"node":">=22.19.0"},"gitHead":"7f5d88ed2a509b4d95448eaa12fd2e5bb9e9809e","scripts":{"test":"vitest run --coverage","prepack":"depcheck --fail-on-missing","typecheck":"tsc --noEmit","prepublishOnly":"npm install --no-audit --no-fund && npm test && npm run typecheck && depcheck --fail-on-missing && publint"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"74dccb79-648a-43f1-9977-2fa8a640d47c"}},"deprecated":"Leaves leftover MCP enabled flags in ~/.pi/agent/mcp.json; upgrade to 0.11.1","repository":{"url":"git+https://github.com/lcwecker/decorated-pi.git","type":"git"},"_npmVersion":"11.19.0","description":"decorated-pi is a practical enhancement pack for pi coding agent — token-efficient workflow, cache-friendly design, and smarter tools.","directories":{},"_nodeVersion":"24.21.0","dependencies":{"chardet":"^2.2.0","turndown":"^7.2.4","iconv-lite":"^0.7.2","typescript":"^7.0.2","htmlparser2":"^8.0.2"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"4.1.8","publint":"^0.3.21","depcheck":"^1.4.7","@types/node":"^22.15.3","@types/turndown":"^5.0.6","@vitest/coverage-v8":"4.1.8","@earendil-works/pi-ai":"^0.99.0","@earendil-works/pi-tui":"^0.99.0","@earendil-works/pi-agent-core":"^0.99.0","@earendil-works/pi-coding-agent":"^0.99.0"},"peerDependencies":{"typebox":"*","@earendil-works/pi-ai":">=0.99.0","@earendil-works/pi-tui":">=0.99.0","@earendil-works/pi-agent-core":">=0.99.0","@earendil-works/pi-coding-agent":">=0.99.0"},"_npmOperationalInternal":{"tmp":"tmp/decorated-pi_0.11.0_1790737802732_0.8953745373210988","host":"s3://npm-registry-packages-npm-production"}},"0.11.1":{"name":"decorated-pi","version":"0.11.1","keywords":["pi","pi-package","pi-extension","mcp","security","lsp","lsp-client","secret-redaction","codegraph"],"license":"MIT","_id":"decorated-pi@0.11.1","maintainers":[{"name":"weckerrr","email":"werkerrrrr@gmail.com"}],"homepage":"https://github.com/lcwecker/decorated-pi#readme","bugs":{"url":"https://github.com/lcwecker/decorated-pi/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"70dbf74d70d8f4a8ed81c2fb7e4f927131015a68","tarball":"https://registry.npmjs.org/decorated-pi/-/decorated-pi-0.11.1.tgz","fileCount":72,"integrity":"sha512-gY8V00l9QVDkd4jTtlkkWkT54lHTEerjRz7TAYEoK4BDV829lTO4s/ovOnFzdSisfgXjhs2AjMpddC+O/Bom1Q==","signatures":[{"sig":"MEUCIQCOX4nJf6hrY1dDuTWmjnYVcRPxPTCxZ9YeuyOVO8u3VwIgNvy+ur2l4kLDwScV/gVyjqH67jqwhq/BmdXbkNjywCM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCID+S8gcFseG8Ijw6eAEsFnP5WA0JRSydslbCDiaa8B6VAiEA/+SHg1YiscGqPGyR/AnhPK+/4j0OlEaSOjiOq033W7I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/decorated-pi@0.11.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":522600},"engines":{"node":">=22.19.0"},"gitHead":"f63c7ecbcab638eb5a6255e218a9e6ecb3f1a861","scripts":{"test":"vitest run --coverage","prepack":"depcheck --fail-on-missing","typecheck":"tsc --noEmit","prepublishOnly":"npm install --no-audit --no-fund && npm test && npm run typecheck && depcheck --fail-on-missing && publint"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"74dccb79-648a-43f1-9977-2fa8a640d47c"}},"repository":{"url":"git+https://github.com/lcwecker/decorated-pi.git","type":"git"},"_npmVersion":"11.19.0","description":"decorated-pi is a practical enhancement pack for pi coding agent — token-efficient workflow, cache-friendly design, and smarter tools.","directories":{},"_nodeVersion":"24.21.0","dependencies":{"chardet":"^2.2.0","turndown":"^7.2.4","iconv-lite":"^0.7.2","typescript":"^7.0.2","htmlparser2":"^8.0.2"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"4.1.8","publint":"^0.3.21","depcheck":"^1.4.7","@types/node":"^22.15.3","@types/turndown":"^5.0.6","@vitest/coverage-v8":"4.1.8","@earendil-works/pi-ai":"^0.99.0","@earendil-works/pi-tui":"^0.99.0","@earendil-works/pi-agent-core":"^0.99.0","@earendil-works/pi-coding-agent":"^0.99.0"},"peerDependencies":{"typebox":"*","@earendil-works/pi-ai":">=0.99.0","@earendil-works/pi-tui":">=0.99.0","@earendil-works/pi-agent-core":">=0.99.0","@earendil-works/pi-coding-agent":">=0.99.0"},"_npmOperationalInternal":{"tmp":"tmp/decorated-pi_0.11.1_1790738751935_0.392237709967445","host":"s3://npm-registry-packages-npm-production"}}},"time":{"created":"2026-05-16T02:37:50.942Z","modified":"2026-09-30T03:34:05.905Z","0.1.0":"2026-05-16T02:37:51.107Z","0.2.0":"2026-05-16T04:55:00.772Z","0.2.1":"2026-05-16T11:35:17.176Z","0.2.2":"2026-05-16T17:02:34.247Z","0.3.0":"2026-05-19T15:14:11.136Z","0.4.0":"2026-05-25T10:13:07.089Z","0.4.1":"2026-05-27T04:06:56.157Z","0.5.0":"2026-05-30T10:24:03.323Z","0.5.1":"2026-05-30T15:38:28.495Z","0.5.2":"2026-06-01T02:08:49.941Z","0.5.3":"2026-06-02T08:43:08.388Z","0.5.4":"2026-06-03T06:15:49.611Z","0.5.5":"2026-06-04T06:55:28.439Z","0.6.0":"2026-06-12T07:55:32.198Z","0.7.0":"2026-06-13T03:46:47.828Z","0.7.1":"2026-06-14T12:14:01.328Z","0.7.2":"2026-06-15T07:01:50.131Z","0.7.3":"2026-06-23T07:53:45.705Z","0.8.0":"2026-07-07T12:05:39.108Z","0.8.1":"2026-07-18T08:36:07.619Z","0.9.0":"2026-07-29T01:55:36.049Z","0.9.1":"2026-08-06T08:15:02.966Z","0.9.2":"2026-08-07T04:16:39.410Z","0.9.3":"2026-08-17T03:01:10.962Z","0.9.4":"2026-08-25T09:19:09.998Z","0.9.5":"2026-09-17T02:13:39.493Z","0.9.6":"2026-09-20T01:38:10.280Z","0.10.0":"2026-09-24T04:15:10.929Z","0.10.1":"2026-09-28T04:22:27.123Z","0.11.0":"2026-09-30T03:10:02.856Z","0.11.1":"2026-09-30T03:25:52.045Z"},"bugs":{"url":"https://github.com/lcwecker/decorated-pi/issues"},"license":"MIT","homepage":"https://github.com/lcwecker/decorated-pi#readme","keywords":["pi","pi-package","pi-extension","mcp","security","lsp","lsp-client","secret-redaction","codegraph"],"repository":{"url":"git+https://github.com/lcwecker/decorated-pi.git","type":"git"},"description":"decorated-pi is a practical enhancement pack for pi coding agent — token-efficient workflow, cache-friendly design, and smarter tools.","maintainers":[{"name":"weckerrr","email":"werkerrrrr@gmail.com"}],"readme":"# decorated-pi\n\n`decorated-pi` is a practical enhancement pack for [Pi](https://github.com/earendil-works/pi) — token-efficient workflow, cache-friendly design, and smarter tools.\n\n## Install\n\n```bash\npi install npm:decorated-pi\n# or\npi install git:github.com/lcwecker/decorated-pi\n# or\npi install /path/to/decorated-pi\n```\n\n## Features\n\n### 1. Token Efficiency\n\nMultiple layers of token savings that compound across every session.\n\n**Talk Normal Prompt** — injects a response-style prompt adapted from [talk-normal](https://github.com/hexiecs/talk-normal) (prompt.md v0.6.2), trimming filler, summary stamps, conditional follow-up menus, negation-frame phrasing, and verbose framing. This reduces assistant output tokens and keeps visible reasoning / explanation blocks tighter.\n\n**Codegraph** — integrates [codegraph](https://github.com/colbymchenry/codegraph) to offer a code map of your project, so the LLM can navigate symbols and call graphs without chaining `ls` → `grep` → `read`. **Create and maintain the project index yourself; see the [codegraph documentation](https://github.com/colbymchenry/codegraph/blob/main/README.md).**\n\n**Auxiliary Models** — offloads heavy-but-dumb tasks to cheaper models so your primary model only pays for the hard work:\n\n- **Image Read Fallback** — detects image type via magic bytes, calls a configured vision-capable model, and injects the analysis text, so your main model never touches image tokens\n- **Compact Model** — handles context compaction with a smaller model instead of burning main-model capacity, and carries the task on after an automatic compaction so the run does not stop early (a manual `/compact` does not resume)\n\n> Configured via `/dp-model`.\n\n**Cache‑friendly Design** — stable system prompt prefix:\n\n- tool definitions, guidelines, and skills are sorted alphabetically so the system prompt stays deterministic for the same project and configuration\n- MCP servers are registered with pi's built-in MCP extension, so the session keeps one connection path and one tool list\n\n**Pi Native Prompt Slimming** — moves the default Pi documentation block out of the system prompt and into a builtin `pi-docs` skill, so the docs reference loads on demand instead of sitting in every turn's prompt.\n\n**Large Result Externalization** — a `tool_result` hook saves a tool's first text result when it exceeds 30,000 characters to `/tmp/decorated-pi-results/<tool>-<callId>.txt`, replacing it with a one-line pointer (`[Output too long, saved to /tmp/…]`) that the LLM can read on demand. Only the oversized part is replaced — an image or a second text part in the same result stays in context. The built-in `bash` tool is left to pi, which captures shell output itself (50 KB / 2000 lines, full text in a spill file). Earlier days' files are swept on session start.\n\n### 2. Smarter Tools\n\nLLM-callable tools and workflow upgrades with better UX and fewer wasted turns.\n\n#### Patch Tool\n\n| Capability | Pi native `edit` | `patch` |\n| ------ | :---: | :---: |\n| **Anchor‑based search** | ❌ extending `oldText` for uniqueness | ✅ `anchor` bounds scope for precise matching |\n| **Fuzzy whitespace match** | ❌ only reports \"not found\" | ✅ auto‑corrects tab↔space / trailing whitespace mismatches |\n| **Edit fault diagnostics** | ❌ only reports \"not found\" | ✅ pinpoint faults for LLM comprehension |\n| **Stale‑read protection** | ❌ Blind to external changes | ✅ `read` captures mtime, `patch` rejects stale targets |\n\n#### LSP support\n\nA language server answers from the compiler's binding graph: imports, re-exports and overloads resolve exactly, every reference to a symbol is enumerated, and a rename's complete edit set comes back across every file that references it. A model reading the files works from the subset it opened.\n\n- **`lsp_definition`** — where a symbol is defined\n- **`lsp_references`** — every reference to a symbol\n- **`lsp_document_symbols`** — a file's symbol outline, to find a position\n- **`lsp_rename`** — the exact workspace edits for a rename, applied to disk (or previewed)\n\nSupported languages: c/cpp, go, java, lua, python, ruby, rust, svelte, typescript. TypeScript support is bundled; the other languages require their corresponding language-server binaries.\n\n#### Ask tool\n\nCollect text, single-choice and multi-choice answers when the agent needs clarification. The agent passes a `context` with the facts needed to answer, and the answering path decides who responds:\n\n- **Who answers** — `me` (default) opens the wizard in the terminal. `jev` has a [TypeSafe](https://typesafe.ai) System One model judge each question against the supplied `context`, answering closed questions without a round trip; only single- and multi-choice questions have an answer space to judge, and free text always goes to the user.\n- **Escalation** — anything Jev is not sure of comes back marked as needing the user: low confidence, a \"the context does not determine it\" verdict, a missing key, or a transport failure. The agent then puts those questions in its reply, so this path needs no terminal and works in rpc/json/print sessions.\n- **Configuration** — `/dp-settings` → Tools → Ask (Enabled / Who answers / key), or `askWho` and `typesafeApiKey` in `decorated-pi.json`. `TYPESAFE_API_KEY` takes precedence so the key can stay out of the file; the UI masks it.\n\n### 3. Web Access\n\nTwo native tools, both keyless. Search runs through three hosted backends and falls over automatically; fetching reads the URL directly and only leaves the machine when a plain HTTP client cannot render the page.\n\n**`websearch`** — AnySearch → Exa → Parallel, first backend that returns results wins. A filter only one backend understands pins that backend, so `includeDomains` never lands somewhere it would be ignored.\n\n| Backend | Strength | Endpoint |\n| --- | --- | --- |\n| AnySearch | widest coverage: 17 vertical domains, batched queries, URL extraction | `https://api.anysearch.com/mcp` |\n| Exa | semantic search plus category, domain, date and summary filters | `https://mcp.exa.ai/mcp` |\n| Parallel | objective-shaped retrieval ranked against a stated goal | `https://search.parallel.ai/mcp` |\n\n**`webfetch`** — local HTTP GET first (`localhost` and intranet hosts work, the URL stays local), with `markdown` / `text` / `html` output and image URLs returned as attachments. When a bot challenge, an HTTP error or a client-rendered page defeats the local fetch, it retries through AnySearch extract and then Jina reader. Private and local hosts skip those backends, and `allowRemote: false` keeps every URL on the machine; non-HTTP URLs are refused before any request is made.\n\n> Behind an HTTP proxy, Node's `fetch` connects directly and times out even though `curl` works — set `NODE_USE_ENV_PROXY=1` on Node 24+ to make it honour `HTTPS_PROXY`. Failure messages say so when a proxy variable is set.\n\n### 4. MCP Ecosystem\n\nProtocol, connections, tool registration and `/mcp` come from pi's built-in MCP extension. The pack contributes the one server definition it cannot do without, handed over with `pi.registerMcpServer()` and named by pi as `mcp__<server>__<tool>`:\n\n| Server | Tool Prefix | Source |\n| --- | --- | --- |\n| codegraph | `mcp__codegraph__*` | local `codegraph` CLI, only where a `.codegraph` index exists |\n\n**Custom servers** in `~/.pi/agent/mcp.json` (global) or `.pi/mcp.json` (project, trusted projects only). Project entries replace global entries with the same name, and an `mcp.json` entry of the same name takes precedence over the builtin registration.\n\n```json\n{\n  \"mcpServers\": {\n    \"my-server\": {\n      \"url\": \"https://my-mcp.example.com/mcp\",\n      \"enabled\": true\n    },\n    \"my-disabled\": {\n      \"url\": \"https://my-mcp.example.com/other\",\n      \"enabled\": false\n    },\n    \"my-stdio\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"my-mcp-server\"],\n      \"env\": { \"DEBUG\": \"1\" }\n    }\n  }\n}\n```\n\nUse `/mcp` to sign in, reconnect, enable or disable a server and change its exposure — the servers the pack ships appear there with scope `extension`. Servers speak stdio or streamable HTTP; the SSE transport of the older MCP spec is not available. An `mcp.json` entry of the same name replaces a builtin server, and it has to carry a valid `command`/`url` for the override to be accepted — `{ \"codegraph\": { \"command\": \"codegraph\", \"args\": [\"serve\", \"--mcp\"], \"enabled\": false } }` switches it off. Servers the pack used to read from a project's `.pi/agent/mcp.json` are moved to `.pi/mcp.json` the next time the pack loads with the MCP module enabled — and like any project entry they count only in a trusted project.\n\n### 5. Other\n\n- `/code-review [prompt]` — offload review of current SCM changes, or of a scope described in the prompt (e.g. a file/directory path, also without a git/svn repository), to a separately configured model, avoiding a `/model` switch in the main session and preserving its prompt cache. Without a scope the reviewer inspects the working tree itself via read-only SCM commands, but requires at least one tracked change (A/M/D/R/…); a tree with only untracked files (or none at all) needs an explicit scope.\n- `/usage` — token stats with cache‑hit rate, per‑model breakdown (Session / Today / This Week / This Month / All Time)\n- `/retry` — continue after interruption\n- **Progressive context** — supports subdirectory `AGENTS.md` / `CLAUDE.md` discovery and injection\n- **WakaTime** — coding activity tracking via [WakaTime](https://wakatime.com)\n\n## Configuration\n\nRuntime settings live in `~/.pi/agent/decorated-pi.json`. Run `/dp-settings` to configure modules and dependency paths, and `/dp-model` to configure auxiliary models.\n\n```json\n{\n  \"modules\": {\n    \"tools\": {\n      \"patchOverrideEdit\": true,\n      \"ask\": true,\n      \"lsp\": true,\n      \"mcp\": true,\n      \"websearch\": true,\n      \"webFetch\": true\n    },\n    \"hooks\": {\n      \"wakatime\": true,\n      \"tps\": true\n    },\n    \"commands\": {\n      \"retry\": true,\n      \"usage\": true\n    }\n  },\n  \"askWho\": \"me\",\n  \"dependencies\": {\n    \"wakatime-cli\": {\n      \"dontBother\": true\n    }\n  }\n}\n```\n\n- `modules` can be toggled on/off to enable/disable features. All are enabled by default.\n- `askWho` picks who answers the `ask` tool: `\"me\"` opens the terminal wizard, `\"jev\"` has a TypeSafe System One model answer closed questions from the context the agent supplied. `\"jev\"` needs `typesafeApiKey` here or the `TYPESAFE_API_KEY` environment variable, which takes precedence.\n- `dependencies[binaryName].path` overrides the lookup location for a binary (file or directory). `dependencies[binaryName].dontBother` silences missing-dependency notifications for that binary. Both are optional.\n\n## License\n\nMIT\n","readmeFilename":"README.md"}