{"_id":"@damngamerz/pi-otel","_rev":"10-d94000144d66a255c996bbd5af3bb577","name":"@damngamerz/pi-otel","dist-tags":{"latest":"0.1.7"},"versions":{"0.1.0-bootstrap.0":{"name":"@damngamerz/pi-otel","version":"0.1.0-bootstrap.0","keywords":["pi-package","pi-extension","opentelemetry","otel","gen-ai","llm","evaluation","observability"],"author":{"name":"Damngamerz"},"license":"MIT","_id":"@damngamerz/pi-otel@0.1.0-bootstrap.0","maintainers":[{"name":"damngamerz","email":"sauravsinghshakya@yahoo.com"}],"homepage":"https://github.com/damngamerz/pi-otel#readme","bugs":{"url":"https://github.com/damngamerz/pi-otel/issues"},"pi":{"extensions":["./dist/index.js"]},"dist":{"shasum":"2fb5768c4cb986ada860e10a62e58451145097c9","tarball":"https://registry.npmjs.org/@damngamerz/pi-otel/-/pi-otel-0.1.0-bootstrap.0.tgz","fileCount":90,"integrity":"sha512-p1lgSfXg2uANRXIUWlkunoGdmsXUujW0fNjeX1oSzzVLf7HjwPdn9Gdl5uksadumRDhttvw2jx10yqbVJwJ7bQ==","signatures":[{"sig":"MEQCIAzZXJJjvLkicw1n0lolGBUELwnX3W9lz/ig3ctGBtlcAiAFyzpFh6KVWoShrOQMPsepcJ+85k2m5UWp/y5FXmPN9w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":158686},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"fc95c0a877f80d74f447eae1b07faba1600e182e","scripts":{"lint":"biome lint .","sbom":"npm sbom --omit=dev --package-lock-only --sbom-format cyclonedx","test":"tsx --test test/*.test.ts","build":"npm run clean && tsc -p tsconfig.json","check":"npm run format:check && npm run lint && npm run typecheck && npm test && npm run build","clean":"node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\"","format":"biome format --write .","prepack":"npm run check","typecheck":"tsc -p tsconfig.json --noEmit","format:check":"biome format ."},"_npmUser":{"name":"damngamerz","email":"sauravsinghshakya@yahoo.com"},"repository":{"url":"git+https://github.com/damngamerz/pi-otel.git","type":"git"},"_npmVersion":"10.9.7","description":"Privacy-conscious OpenTelemetry traces, metrics, and optional LLM evaluation for Pi","directories":{},"_nodeVersion":"22.22.2","dependencies":{"@opentelemetry/api":"1.9.1","@opentelemetry/resources":"2.9.0","@opentelemetry/sdk-metrics":"2.9.0","@opentelemetry/sdk-trace-base":"2.9.0","@opentelemetry/sdk-trace-node":"2.9.0","@opentelemetry/exporter-trace-otlp-http":"0.220.0","@opentelemetry/exporter-metrics-otlp-http":"0.220.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"4.23.1","typescript":"5.9.3","@types/node":"22.19.11","@biomejs/biome":"2.5.4","@earendil-works/pi-ai":"0.80.10","@earendil-works/pi-coding-agent":"0.80.10"},"peerDependencies":{"@earendil-works/pi-ai":">=0.80.10 <0.81.0","@earendil-works/pi-coding-agent":">=0.80.10 <0.81.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-otel_0.1.0-bootstrap.0_1784465658840_0.9045851487375427","host":"s3://npm-registry-packages-npm-production"}},"0.1.0":{"name":"@damngamerz/pi-otel","version":"0.1.0","keywords":["pi-package","pi-extension","opentelemetry","otel","gen-ai","llm","evaluation","observability"],"author":{"name":"Damngamerz"},"license":"MIT","_id":"@damngamerz/pi-otel@0.1.0","maintainers":[{"name":"damngamerz","email":"sauravsinghshakya@yahoo.com"}],"homepage":"https://github.com/damngamerz/pi-otel#readme","bugs":{"url":"https://github.com/damngamerz/pi-otel/issues"},"pi":{"extensions":["./dist/index.js"]},"dist":{"shasum":"b5fea63c6ecb558e75c4e53fac17da3015079d21","tarball":"https://registry.npmjs.org/@damngamerz/pi-otel/-/pi-otel-0.1.0.tgz","fileCount":90,"integrity":"sha512-M0Lz4z2ZA6aWPjoReD11pwmktACmHqddtWzBxB+OaXuXyrLjGXS2APBHowWA439QFse1Ze+fP32syyWVQCiuDQ==","signatures":[{"sig":"MEYCIQDbRlGzVQc55asGpfI2QNyjEUKY9FO26+r0OU4YIcx7XgIhAP7sIADefNkvzRSpQMa6Hp3LuDap815RhWX9dAX3ePm4","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@damngamerz%2fpi-otel@0.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":158674},"main":"./dist/index.js","type":"module","_from":"file:damngamerz-pi-otel-0.1.0.tgz","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"lint":"biome lint .","sbom":"npm sbom --omit=dev --package-lock-only --sbom-format cyclonedx","test":"tsx --test test/*.test.ts","build":"npm run clean && tsc -p tsconfig.json","check":"npm run format:check && npm run lint && npm run typecheck && npm test && npm run build","clean":"node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\"","format":"biome format --write .","prepack":"npm run check","typecheck":"tsc -p tsconfig.json --noEmit","format:check":"biome format ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6e0a6ae3-4a41-4d61-b8af-37399cfd9881"}},"_resolved":"/home/runner/work/pi-otel/pi-otel/damngamerz-pi-otel-0.1.0.tgz","_integrity":"sha512-M0Lz4z2ZA6aWPjoReD11pwmktACmHqddtWzBxB+OaXuXyrLjGXS2APBHowWA439QFse1Ze+fP32syyWVQCiuDQ==","repository":{"url":"git+https://github.com/damngamerz/pi-otel.git","type":"git"},"_npmVersion":"11.18.0","description":"Privacy-conscious OpenTelemetry traces, metrics, and optional LLM evaluation for Pi","directories":{},"_nodeVersion":"22.23.1","dependencies":{"@opentelemetry/api":"1.9.1","@opentelemetry/resources":"2.9.0","@opentelemetry/sdk-metrics":"2.9.0","@opentelemetry/sdk-trace-base":"2.9.0","@opentelemetry/sdk-trace-node":"2.9.0","@opentelemetry/exporter-trace-otlp-http":"0.220.0","@opentelemetry/exporter-metrics-otlp-http":"0.220.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"4.23.1","typescript":"5.9.3","@types/node":"22.19.11","@biomejs/biome":"2.5.4","@earendil-works/pi-ai":"0.80.10","@earendil-works/pi-coding-agent":"0.80.10"},"peerDependencies":{"@earendil-works/pi-ai":">=0.80.10 <0.81.0","@earendil-works/pi-coding-agent":">=0.80.10 <0.81.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-otel_0.1.0_1784465900735_0.2385413448955156","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@damngamerz/pi-otel","version":"0.1.1","keywords":["pi-package","pi-extension","opentelemetry","otel","gen-ai","llm","evaluation","observability","monitoring","grafana"],"author":{"name":"Damngamerz"},"license":"MIT","_id":"@damngamerz/pi-otel@0.1.1","maintainers":[{"name":"damngamerz","email":"sauravsinghshakya@yahoo.com"}],"homepage":"https://github.com/damngamerz/pi-otel#readme","bugs":{"url":"https://github.com/damngamerz/pi-otel/issues"},"pi":{"image":"https://pi.dev/packages/@damngamerz/pi-otel","extensions":["./dist/index.js"]},"dist":{"shasum":"f0cfde919652bd2dc79b10eb33cca32a351b44b4","tarball":"https://registry.npmjs.org/@damngamerz/pi-otel/-/pi-otel-0.1.1.tgz","fileCount":94,"integrity":"sha512-JZGnNdHFAZddf7jG56rXIwHIW+Dip59K7nU0ElnL95hOkS7F5WId7dRWBxTwb/QfothnYw/6+iAIlHfElgVWKw==","signatures":[{"sig":"MEYCIQCm1/IpBDAzRYUc73mPp6de77dsmxp7SYWIy+myp5RhAgIhAKyG5PeLaey4Z8JYPX6TzPbBJNOQPg5JXz2/D2Ho2JKS","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@damngamerz%2fpi-otel@0.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":168077},"main":"./dist/index.js","type":"module","_from":"file:damngamerz-pi-otel-0.1.1.tgz","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"lint":"biome lint .","sbom":"npm sbom --omit=dev --package-lock-only --sbom-format cyclonedx","test":"tsx --test test/*.test.ts","build":"npm run clean && tsc -p tsconfig.json","check":"npm run format:check && npm run lint && npm run typecheck && npm test && npm run build","clean":"node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\"","format":"biome format --write .","prepack":"npm run check","typecheck":"tsc -p tsconfig.json --noEmit","format:check":"biome format ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6e0a6ae3-4a41-4d61-b8af-37399cfd9881"}},"_resolved":"/home/runner/work/pi-otel/pi-otel/damngamerz-pi-otel-0.1.1.tgz","_integrity":"sha512-JZGnNdHFAZddf7jG56rXIwHIW+Dip59K7nU0ElnL95hOkS7F5WId7dRWBxTwb/QfothnYw/6+iAIlHfElgVWKw==","repository":{"url":"git+https://github.com/damngamerz/pi-otel.git","type":"git"},"_npmVersion":"11.18.0","description":"Privacy-conscious OpenTelemetry traces, metrics, and optional LLM evaluation for Pi","directories":{},"_nodeVersion":"22.23.1","dependencies":{"@opentelemetry/api":"1.9.1","@opentelemetry/resources":"2.9.0","@opentelemetry/sdk-metrics":"2.9.0","@opentelemetry/sdk-trace-base":"2.9.0","@opentelemetry/sdk-trace-node":"2.9.0","@opentelemetry/exporter-trace-otlp-http":"0.220.0","@opentelemetry/exporter-metrics-otlp-http":"0.220.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"4.23.1","typescript":"7.0.2","@types/node":"22.19.11","@biomejs/biome":"2.5.4","@earendil-works/pi-ai":"0.80.10","@earendil-works/pi-coding-agent":"0.80.10"},"peerDependencies":{"@earendil-works/pi-ai":">=0.80.10 <0.81.0","@earendil-works/pi-coding-agent":">=0.80.10 <0.81.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-otel_0.1.1_1784751047706_0.13577341726872594","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@damngamerz/pi-otel","version":"0.1.2","keywords":["pi-package","pi-extension","opentelemetry","otel","gen-ai","llm","evaluation","observability","monitoring","grafana"],"author":{"name":"Damngamerz"},"license":"MIT","_id":"@damngamerz/pi-otel@0.1.2","maintainers":[{"name":"damngamerz","email":"sauravsinghshakya@yahoo.com"}],"homepage":"https://github.com/damngamerz/pi-otel#readme","bugs":{"url":"https://github.com/damngamerz/pi-otel/issues"},"pi":{"image":"https://pi.dev/packages/@damngamerz/pi-otel","extensions":["./dist/index.js"]},"dist":{"shasum":"4f42c3a8be8e04acbdf819a610041b956783e5d1","tarball":"https://registry.npmjs.org/@damngamerz/pi-otel/-/pi-otel-0.1.2.tgz","fileCount":98,"integrity":"sha512-DPwikqxbD7Ob9KO6sUhoJjnouNKTPVjiMxqyL7FLFAEFvjux/GH+9JqXpXGDcl7SUkhCZabDMeReagt+IucoKQ==","signatures":[{"sig":"MEQCIE1y8ydSxaAxNxYpo94+VcUv5KCoOUNFqRdBr/6rLZKwAiBpX2sDqeAgmOsKhc1VU4+l8e3uJg6xTpoFwamCZEAL0A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@damngamerz%2fpi-otel@0.1.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":175435},"main":"./dist/index.js","type":"module","_from":"file:damngamerz-pi-otel-0.1.2.tgz","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"lint":"biome lint .","sbom":"npm sbom --omit=dev --package-lock-only --sbom-format cyclonedx","test":"tsx --test test/*.test.ts","build":"npm run clean && tsc -p tsconfig.json","check":"npm run format:check && npm run lint && npm run typecheck && npm test && npm run build","clean":"node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\"","format":"biome format --write .","prepack":"npm run check","typecheck":"tsc -p tsconfig.json --noEmit","format:check":"biome format ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6e0a6ae3-4a41-4d61-b8af-37399cfd9881"}},"_resolved":"/home/runner/work/pi-otel/pi-otel/damngamerz-pi-otel-0.1.2.tgz","_integrity":"sha512-DPwikqxbD7Ob9KO6sUhoJjnouNKTPVjiMxqyL7FLFAEFvjux/GH+9JqXpXGDcl7SUkhCZabDMeReagt+IucoKQ==","repository":{"url":"git+https://github.com/damngamerz/pi-otel.git","type":"git"},"_npmVersion":"11.18.0","description":"Privacy-conscious OpenTelemetry traces, metrics, and optional LLM evaluation for Pi","directories":{},"_nodeVersion":"22.23.1","dependencies":{"@opentelemetry/api":"1.9.1","@opentelemetry/resources":"2.9.0","@opentelemetry/sdk-metrics":"2.9.0","@opentelemetry/sdk-trace-base":"2.9.0","@opentelemetry/sdk-trace-node":"2.9.0","@opentelemetry/exporter-trace-otlp-http":"0.220.0","@opentelemetry/exporter-metrics-otlp-http":"0.220.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"4.23.1","typescript":"7.0.2","@types/node":"25.9.5","@biomejs/biome":"2.5.4","@earendil-works/pi-ai":"0.80.10","@earendil-works/pi-coding-agent":"0.80.10"},"peerDependencies":{"@earendil-works/pi-ai":">=0.80.10 <0.81.0","@earendil-works/pi-coding-agent":">=0.80.10 <0.81.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-otel_0.1.2_1784752776190_0.24151573391927617","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@damngamerz/pi-otel","version":"0.1.3","keywords":["pi-package","pi-extension","opentelemetry","otel","gen-ai","llm","evaluation","observability","monitoring","grafana"],"author":{"name":"Damngamerz"},"license":"MIT","_id":"@damngamerz/pi-otel@0.1.3","maintainers":[{"name":"damngamerz","email":"sauravsinghshakya@yahoo.com"}],"homepage":"https://github.com/damngamerz/pi-otel#readme","bugs":{"url":"https://github.com/damngamerz/pi-otel/issues"},"pi":{"image":"https://pi.dev/packages/@damngamerz/pi-otel","extensions":["./dist/index.js"]},"dist":{"shasum":"b4e73d890c9c9f9ff8977eb78af4640f768a4b22","tarball":"https://registry.npmjs.org/@damngamerz/pi-otel/-/pi-otel-0.1.3.tgz","fileCount":98,"integrity":"sha512-c1fN85gAy7TTrFpo9cqozK92L/nT/cMLYeagTWjEoGEixod3OHDXcNSTHvM7QzZfOWYSL6EzktfaHLUnm7mlLg==","signatures":[{"sig":"MEYCIQCH5Cr80Uf1EHx+NhDrlXjQV6A6kYIpx/yAy1MT6nuhMgIhAOFIBXLBlA+IEHiiD3GDZTfpdTOF/q1hHB91xsH2BAzb","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@damngamerz%2fpi-otel@0.1.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":175735},"main":"./dist/index.js","type":"module","_from":"file:damngamerz-pi-otel-0.1.3.tgz","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"lint":"biome lint .","sbom":"npm sbom --omit=dev --package-lock-only --sbom-format cyclonedx","test":"tsx --test test/*.test.ts","build":"npm run clean && tsc -p tsconfig.json","check":"npm run format:check && npm run lint && npm run typecheck && npm test && npm run build","clean":"node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\"","format":"biome format --write .","prepack":"npm run check","typecheck":"tsc -p tsconfig.json --noEmit","format:check":"biome format ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6e0a6ae3-4a41-4d61-b8af-37399cfd9881"}},"_resolved":"/home/runner/work/pi-otel/pi-otel/damngamerz-pi-otel-0.1.3.tgz","_integrity":"sha512-c1fN85gAy7TTrFpo9cqozK92L/nT/cMLYeagTWjEoGEixod3OHDXcNSTHvM7QzZfOWYSL6EzktfaHLUnm7mlLg==","repository":{"url":"git+https://github.com/damngamerz/pi-otel.git","type":"git"},"_npmVersion":"11.18.0","description":"Privacy-conscious OpenTelemetry traces, metrics, and optional LLM evaluation for Pi","directories":{},"_nodeVersion":"22.23.1","dependencies":{"@opentelemetry/api":"1.9.1","@opentelemetry/resources":"2.10.0","@opentelemetry/sdk-metrics":"2.10.0","@opentelemetry/sdk-trace-base":"2.10.0","@opentelemetry/sdk-trace-node":"2.10.0","@opentelemetry/exporter-trace-otlp-http":"0.221.0","@opentelemetry/exporter-metrics-otlp-http":"0.221.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"4.23.1","typescript":"7.0.2","@types/node":"25.9.5","@biomejs/biome":"2.5.6","@earendil-works/pi-ai":"0.83.0","@earendil-works/pi-coding-agent":"0.83.0"},"peerDependencies":{"@earendil-works/pi-ai":">=0.80.10 <0.81.0","@earendil-works/pi-coding-agent":">=0.80.10 <0.81.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-otel_0.1.3_1785960160063_0.6745767789879205","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"@damngamerz/pi-otel","version":"0.1.4","keywords":["pi-package","pi-extension","opentelemetry","otel","gen-ai","llm","evaluation","observability","monitoring","grafana"],"author":{"name":"Damngamerz"},"license":"MIT","_id":"@damngamerz/pi-otel@0.1.4","maintainers":[{"name":"damngamerz","email":"sauravsinghshakya@yahoo.com"}],"homepage":"https://github.com/damngamerz/pi-otel#readme","bugs":{"url":"https://github.com/damngamerz/pi-otel/issues"},"pi":{"image":"https://raw.githubusercontent.com/damngamerz/pi-otel/main/examples/grafana-lgtm/dashboard-screenshot.png","extensions":["./dist/index.js"]},"dist":{"shasum":"83e95a9f68eb92bfa08258a691c5f698071d416e","tarball":"https://registry.npmjs.org/@damngamerz/pi-otel/-/pi-otel-0.1.4.tgz","fileCount":100,"integrity":"sha512-vWn2Q5Yy5ybgKSrAb82SBQx9IEF2EYCt3VHwEcAuCDkJUmECao8skRc9s3voKBn0F/A9Rldb9A/DAUqTOH8KWw==","signatures":[{"sig":"MEUCIHdAkQszuh5hlpliEB8mGezo7tNxWJi3WRPsFHJ1ubCNAiEAxTkp7s58vql8GT+V6BUl3R+H9e2TOGlzOTlTk4apJtk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@damngamerz%2fpi-otel@0.1.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":755384},"main":"./dist/index.js","type":"module","_from":"file:damngamerz-pi-otel-0.1.4.tgz","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"lint":"biome lint .","sbom":"npm sbom --omit=dev --package-lock-only --sbom-format cyclonedx","test":"tsx --test test/*.test.ts","build":"npm run clean && tsc -p tsconfig.json","check":"npm run format:check && npm run lint && npm run typecheck && npm test && npm run build","clean":"node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\"","format":"biome format --write .","prepack":"npm run check","typecheck":"tsc -p tsconfig.json --noEmit","format:check":"biome format ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6e0a6ae3-4a41-4d61-b8af-37399cfd9881"}},"_resolved":"/home/runner/work/pi-otel/pi-otel/damngamerz-pi-otel-0.1.4.tgz","_integrity":"sha512-vWn2Q5Yy5ybgKSrAb82SBQx9IEF2EYCt3VHwEcAuCDkJUmECao8skRc9s3voKBn0F/A9Rldb9A/DAUqTOH8KWw==","repository":{"url":"git+https://github.com/damngamerz/pi-otel.git","type":"git"},"_npmVersion":"11.18.0","description":"Privacy-conscious OpenTelemetry traces, metrics, and optional LLM evaluation for Pi","directories":{},"_nodeVersion":"22.23.2","dependencies":{"@opentelemetry/api":"1.9.1","@opentelemetry/resources":"2.10.0","@opentelemetry/sdk-metrics":"2.10.0","@opentelemetry/sdk-trace-base":"2.10.0","@opentelemetry/sdk-trace-node":"2.10.0","@opentelemetry/exporter-trace-otlp-http":"0.221.0","@opentelemetry/exporter-metrics-otlp-http":"0.221.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"4.23.12","typescript":"7.0.2","@types/node":"25.9.5","@biomejs/biome":"2.5.8","@earendil-works/pi-ai":"0.84.1","@earendil-works/pi-coding-agent":"0.84.2"},"peerDependencies":{"@earendil-works/pi-ai":">=0.80.10 <0.81.0","@earendil-works/pi-coding-agent":">=0.80.10 <0.81.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-otel_0.1.4_1787037923103_0.8222091189496723","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"@damngamerz/pi-otel","version":"0.1.5","keywords":["pi-package","pi-extension","opentelemetry","otel","gen-ai","llm","evaluation","observability","monitoring","grafana"],"author":{"name":"Damngamerz"},"license":"MIT","_id":"@damngamerz/pi-otel@0.1.5","maintainers":[{"name":"damngamerz","email":"sauravsinghshakya@yahoo.com"}],"homepage":"https://github.com/damngamerz/pi-otel#readme","bugs":{"url":"https://github.com/damngamerz/pi-otel/issues"},"pi":{"image":"https://raw.githubusercontent.com/damngamerz/pi-otel/main/examples/grafana-lgtm/dashboard-screenshot.png","extensions":["./dist/index.js"]},"dist":{"shasum":"6186d90becc29834645ae835d03a5ffc703e911d","tarball":"https://registry.npmjs.org/@damngamerz/pi-otel/-/pi-otel-0.1.5.tgz","fileCount":100,"integrity":"sha512-DG79Lvd805nDnzdx4H02Jq/66qnR4ORtbI5sBhHkLqZ3m2o3YL/Dzd8PG14aLsgujy9WKHdR+3OmCgABZq8+oA==","signatures":[{"sig":"MEQCIDjyegFLwTCkX2HpM2nRphjFfVo0ZIeQitwl+s0/MYyiAiAuaf9t/9B+TefO+JmV9S9fhDQUSlt0dfmI0qm3ehCCig==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@damngamerz%2fpi-otel@0.1.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":755479},"main":"./dist/index.js","type":"module","_from":"file:damngamerz-pi-otel-0.1.5.tgz","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"lint":"biome lint .","sbom":"npm sbom --omit=dev --package-lock-only --sbom-format cyclonedx","test":"tsx --test test/*.test.ts","build":"npm run clean && tsc -p tsconfig.json","check":"npm run format:check && npm run lint && npm run typecheck && npm test && npm run build","clean":"node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\"","format":"biome format --write .","prepack":"npm run check","typecheck":"tsc -p tsconfig.json --noEmit","format:check":"biome format ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6e0a6ae3-4a41-4d61-b8af-37399cfd9881"}},"_resolved":"/home/runner/work/pi-otel/pi-otel/damngamerz-pi-otel-0.1.5.tgz","_integrity":"sha512-DG79Lvd805nDnzdx4H02Jq/66qnR4ORtbI5sBhHkLqZ3m2o3YL/Dzd8PG14aLsgujy9WKHdR+3OmCgABZq8+oA==","repository":{"url":"git+https://github.com/damngamerz/pi-otel.git","type":"git"},"_npmVersion":"11.18.0","description":"Privacy-conscious OpenTelemetry traces, metrics, and optional LLM evaluation for Pi","directories":{},"_nodeVersion":"22.23.2","dependencies":{"@opentelemetry/api":"1.9.1","@opentelemetry/resources":"2.10.0","@opentelemetry/sdk-metrics":"2.10.0","@opentelemetry/sdk-trace-base":"2.10.0","@opentelemetry/sdk-trace-node":"2.10.0","@opentelemetry/exporter-trace-otlp-http":"0.221.0","@opentelemetry/exporter-metrics-otlp-http":"0.221.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"4.23.12","typescript":"7.0.2","@types/node":"25.9.5","@biomejs/biome":"2.5.9","@earendil-works/pi-ai":"0.84.2","@earendil-works/pi-coding-agent":"0.84.2"},"peerDependencies":{"@earendil-works/pi-ai":">=0.80.10 <0.81.0","@earendil-works/pi-coding-agent":">=0.80.10 <0.81.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-otel_0.1.5_1787839776863_0.3201942345159454","host":"s3://npm-registry-packages-npm-production"}},"0.1.6":{"name":"@damngamerz/pi-otel","version":"0.1.6","keywords":["pi-package","pi-extension","opentelemetry","otel","gen-ai","llm","evaluation","observability","monitoring","grafana"],"author":{"name":"Damngamerz"},"license":"MIT","_id":"@damngamerz/pi-otel@0.1.6","maintainers":[{"name":"damngamerz","email":"sauravsinghshakya@yahoo.com"}],"homepage":"https://github.com/damngamerz/pi-otel#readme","bugs":{"url":"https://github.com/damngamerz/pi-otel/issues"},"pi":{"image":"https://raw.githubusercontent.com/damngamerz/pi-otel/main/examples/grafana-lgtm/dashboard-screenshot.png","extensions":["./dist/index.js"]},"dist":{"shasum":"49aab6f0406cb06b46d6054dd1c1a0bda5fb08a3","tarball":"https://registry.npmjs.org/@damngamerz/pi-otel/-/pi-otel-0.1.6.tgz","fileCount":100,"integrity":"sha512-E2EOrIAObtEvwkR7+6NfEGW6MQl5zgBHZ3FZ3eIgU+xF1EP+fO1pJZTaU6DlZP4IH9a+0qxLDMWUr13jvIYA5g==","signatures":[{"sig":"MEQCIAe/I89LpBr9jwQwu1sZGWmQaZxRLLL/qV6g/zWUpzAgAiAQ2DpeBbWQxbcxAWarRRnCrkLONAVHuhTa8+EZBxtPww==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@damngamerz%2fpi-otel@0.1.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":755677},"main":"./dist/index.js","type":"module","_from":"file:damngamerz-pi-otel-0.1.6.tgz","types":"./dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"lint":"biome lint .","sbom":"npm sbom --omit=dev --package-lock-only --sbom-format cyclonedx","test":"tsx --test test/*.test.ts","build":"npm run clean && tsc -p tsconfig.json","check":"npm run format:check && npm run lint && npm run typecheck && npm test && npm run build","clean":"node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\"","format":"biome format --write .","prepack":"npm run check","typecheck":"tsc -p tsconfig.json --noEmit","format:check":"biome format ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6e0a6ae3-4a41-4d61-b8af-37399cfd9881"}},"_resolved":"/home/runner/work/pi-otel/pi-otel/damngamerz-pi-otel-0.1.6.tgz","_integrity":"sha512-E2EOrIAObtEvwkR7+6NfEGW6MQl5zgBHZ3FZ3eIgU+xF1EP+fO1pJZTaU6DlZP4IH9a+0qxLDMWUr13jvIYA5g==","repository":{"url":"git+https://github.com/damngamerz/pi-otel.git","type":"git"},"_npmVersion":"11.18.0","description":"Privacy-conscious OpenTelemetry traces, metrics, and optional LLM evaluation for Pi","directories":{},"_nodeVersion":"22.23.2","dependencies":{"@opentelemetry/api":"1.9.1","@opentelemetry/resources":"2.10.0","@opentelemetry/sdk-metrics":"2.10.0","@opentelemetry/sdk-trace-base":"2.10.0","@opentelemetry/sdk-trace-node":"2.10.0","@opentelemetry/exporter-trace-otlp-http":"0.221.0","@opentelemetry/exporter-metrics-otlp-http":"0.221.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"4.23.12","typescript":"7.0.2","@types/node":"25.9.5","@biomejs/biome":"2.5.10","@earendil-works/pi-ai":"0.84.3","@earendil-works/pi-coding-agent":"0.84.3"},"peerDependencies":{"@earendil-works/pi-ai":">=0.80.10 <0.81.0","@earendil-works/pi-coding-agent":">=0.80.10 <0.81.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-otel_0.1.6_1788532692522_0.00461821098432269","host":"s3://npm-registry-packages-npm-production"}},"0.1.7":{"pi":{"image":"https://raw.githubusercontent.com/damngamerz/pi-otel/main/examples/grafana-lgtm/dashboard-screenshot.png","extensions":["./dist/index.js"]},"_id":"@damngamerz/pi-otel@0.1.7","bugs":{"url":"https://github.com/damngamerz/pi-otel/issues"},"dist":{"shasum":"156df9097cc2b051c921c8f7c047cdd3d85b5f66","tarball":"https://registry.npmjs.org/@damngamerz/pi-otel/-/pi-otel-0.1.7.tgz","fileCount":100,"integrity":"sha512-KjXp7Xn4k82MxA8Wlg/pj7LsHXmWT8r0D/wsDDF747hlDjI5hQhNOP5OF+w34PiFwuwiUUSiDdZIRX3VqNqEEA==","signatures":[{"sig":"MEYCIQDqmH9VTUf6NQVGvCatrqzHQzoiTZ6oGmoPYcnPX0GalwIhAKvS86+FfsNeHAmTSVPdcxWVRgJCN+dL6V9r7zAJWiYu","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCDsu3SW43uWAApC/5EeZgsMl4RYYRBC0SrthHPvwzM3wIgROSLvJ0K4GumUEQiUd94A5tvx5Pk/UMz/UF8UbKmpzc="}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@damngamerz%2fpi-otel@0.1.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":755965},"main":"./dist/index.js","name":"@damngamerz/pi-otel","type":"module","_from":"file:damngamerz-pi-otel-0.1.7.tgz","types":"./dist/index.d.ts","author":{"name":"Damngamerz"},"engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"license":"MIT","scripts":{"lint":"biome lint .","sbom":"npm sbom --omit=dev --package-lock-only --sbom-format cyclonedx","test":"tsx --test test/*.test.ts","build":"npm run clean && tsc -p tsconfig.json","check":"npm run format:check && npm run lint && npm run typecheck && npm test && npm run build","clean":"node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\"","format":"biome format --write .","prepack":"npm run check","typecheck":"tsc -p tsconfig.json --noEmit","format:check":"biome format ."},"version":"0.1.7","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6e0a6ae3-4a41-4d61-b8af-37399cfd9881"}},"homepage":"https://github.com/damngamerz/pi-otel#readme","keywords":["pi-package","pi-extension","opentelemetry","otel","gen-ai","llm","evaluation","observability","monitoring","grafana"],"_resolved":"/home/runner/work/pi-otel/pi-otel/damngamerz-pi-otel-0.1.7.tgz","_integrity":"sha512-KjXp7Xn4k82MxA8Wlg/pj7LsHXmWT8r0D/wsDDF747hlDjI5hQhNOP5OF+w34PiFwuwiUUSiDdZIRX3VqNqEEA==","repository":{"url":"git+https://github.com/damngamerz/pi-otel.git","type":"git"},"_npmVersion":"11.18.0","description":"Privacy-conscious OpenTelemetry traces, metrics, and optional LLM evaluation for Pi","directories":{},"maintainers":[{"name":"damngamerz","email":"sauravsinghshakya@yahoo.com"}],"_nodeVersion":"22.23.2","dependencies":{"@opentelemetry/api":"1.9.1","@opentelemetry/resources":"2.11.0","@opentelemetry/sdk-metrics":"2.11.0","@opentelemetry/sdk-trace-base":"2.11.0","@opentelemetry/sdk-trace-node":"2.11.0","@opentelemetry/exporter-trace-otlp-http":"0.222.0","@opentelemetry/exporter-metrics-otlp-http":"0.222.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"4.23.13","typescript":"7.0.2","@types/node":"25.9.5","@biomejs/biome":"2.5.12","@earendil-works/pi-ai":"0.84.4","@earendil-works/pi-coding-agent":"0.84.4"},"peerDependencies":{"@earendil-works/pi-ai":">=0.80.10 <0.81.0","@earendil-works/pi-coding-agent":">=0.80.10 <0.81.0"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-otel_0.1.7_1789655672085_0.031129039118037438"}}},"time":{"created":"2026-07-19T12:54:18.726Z","modified":"2026-09-17T14:34:32.557Z","0.1.0-bootstrap.0":"2026-07-19T12:54:18.989Z","0.1.0":"2026-07-19T12:58:20.901Z","0.1.1":"2026-07-22T20:10:47.850Z","0.1.2":"2026-07-22T20:39:36.325Z","0.1.3":"2026-08-05T20:02:40.187Z","0.1.4":"2026-08-18T07:25:23.296Z","0.1.5":"2026-08-27T14:09:37.036Z","0.1.6":"2026-09-04T14:38:12.712Z","0.1.7":"2026-09-17T14:34:32.225Z"},"bugs":{"url":"https://github.com/damngamerz/pi-otel/issues"},"author":{"name":"Damngamerz"},"license":"MIT","homepage":"https://github.com/damngamerz/pi-otel#readme","keywords":["pi-package","pi-extension","opentelemetry","otel","gen-ai","llm","evaluation","observability","monitoring","grafana"],"repository":{"url":"git+https://github.com/damngamerz/pi-otel.git","type":"git"},"description":"Privacy-conscious OpenTelemetry traces, metrics, and optional LLM evaluation for Pi","maintainers":[{"name":"damngamerz","email":"sauravsinghshakya@yahoo.com"}],"readme":"# @damngamerz/pi-otel\n\nPrivacy-conscious OpenTelemetry traces, metrics, and optional response evaluation for the [Pi coding agent](https://pi.dev).\n\n- GenAI semantic traces for agent, LLM, and tool activity\n- token, cost, latency, error, and tool metrics\n- optional manual, sampled, or always-on LLM evaluation\n- correlated `gen_ai.evaluation.result` events\n- pinned local Grafana LGTM example\n- remote evaluation **off by default**\n\n## Privacy first\n\nBaseline telemetry never contains prompts, responses, thinking, provider payloads, tool arguments/results, shell commands, paths, cwd, usernames, hostnames, or email addresses.\n\nRemote evaluation changes that boundary by sending the latest user request and assistant text to the configured judge model. It is disabled by default, content-limited, deduplicated, and blocked when likely credentials or private keys are detected. See [the privacy model](docs/privacy.md).\n\n## Quick preview\n\n![pi-otel Grafana dashboard](./examples/grafana-lgtm/dashboard-screenshot.png)\n\nThe example telemetry Grafana stack ships with a prebuilt dashboard showing real-time telemetry.\n\n![pi-otel trace timeline](./examples/grafana-lgtm/dashboard-tracing.png)\n\n*Trace timeline showing correlated `gen_ai.query`, `gen_ai.response`, and `gen_ai.evaluation.result` events.*\n\n## Install\n\n```bash\npi install npm:@damngamerz/pi-otel\n```\n\nFor a pinned install:\n\n```bash\npi install npm:@damngamerz/pi-otel@0.1.1\n```\n\n## Local Grafana quick start\n\n```bash\ncd examples/grafana-lgtm\ndocker compose up -d\n```\n\nOpen <http://127.0.0.1:33000/d/pi-local-otel/pi-local-opentelemetry>.\n\nThe extension exports OTLP/HTTP to `http://127.0.0.1:4318` by default.\n\n## Configure\n\nAdd `piOtel` to `~/.pi/agent/settings.json` or a trusted project's `.pi/settings.json`:\n\n```jsonc\n{\n  \"piOtel\": {\n    \"enabled\": true,\n    \"endpoint\": \"http://127.0.0.1:4318\",\n    \"evaluation\": {\n      \"mode\": \"off\",\n      \"provider\": \"openai-codex\",\n      \"model\": \"gpt-5.4-mini\"\n    }\n  }\n}\n```\n\nEvaluation modes:\n\n- `off` — no remote evaluation; default\n- `manual` — evaluate through `/otel-eval-last`\n- `sample` — deterministically evaluate a configured fraction\n- `always` — evaluate every settled response\n\nSee [configuration](docs/configuration.md) for every setting and environment override.\n\n## Commands\n\n```text\n/otel-status\n/otel-flush\n/otel-eval-last\n```\n\n## Telemetry\n\nPrimary metrics include:\n\n- `gen_ai.client.operation.duration`\n- `gen_ai.client.token.usage`\n- `gen_ai.client.tool_calls_per_operation`\n- `gen_ai.client.tool.calls`\n- `gen_ai.evaluation.score`\n- `pi.agent.prompts`\n- `pi.agent.turns`\n- `pi.agent.tool.duration`\n- `pi.agent.tool.errors`\n- `pi.agent.session.duration`\n- `pi.agent.cost`\n- `pi.agent.time_to_first_token`\n\nSee [metrics](docs/metrics.md) for the full reference.\n\n## Security\n\nPi packages execute with the user's full permissions. Review extension source before installation and pin versions in sensitive environments.\n\nThis package:\n\n- has no install or postinstall scripts\n- does not start Docker or modify system services\n- rejects remote OTLP endpoints unless explicitly enabled and protected by HTTPS\n- rejects endpoint URLs containing credentials\n- keeps baseline telemetry content-free\n\nReport vulnerabilities privately according to [SECURITY.md](SECURITY.md).\n\n## Development\n\n```bash\nnpm install --ignore-scripts\nnpm run check\nnpm pack --dry-run\n```\n\n## Acknowledgements\n\nThis project gratefully credits **Oleksii Nikiforov (`NikiforovAll`)** and the original [`NikiforovAll/pi-otel`](https://github.com/NikiforovAll/pi-otel) project. Its work directly inspired this package, and the Grafana dashboard is adapted from that project under Apache-2.0.\n\nSee [ACKNOWLEDGEMENTS.md](ACKNOWLEDGEMENTS.md), [NOTICE](NOTICE), and [LICENSES/Apache-2.0.txt](LICENSES/Apache-2.0.txt).\n\n## License\n\nOriginal package code is MIT licensed. The adapted Grafana dashboard remains subject to its Apache-2.0 attribution and notice.\n","readmeFilename":"README.md"}