{"_id":"qyl-mcp-server","_rev":"29-740bb2cc83311c9881f55ffd2834cb01","name":"qyl-mcp-server","dist-tags":{"latest":"7.1.0"},"versions":{"0.1.0":{"name":"qyl-mcp-server","version":"0.1.0","license":"MIT","_id":"qyl-mcp-server@0.1.0","maintainers":[{"name":"ancplua","email":"anfh22@outlook.com"}],"homepage":"https://github.com/ANcpLua/qyl.mcp#readme","bugs":{"url":"https://github.com/ANcpLua/qyl.mcp/issues"},"bin":{"qyl-mcp-server":"dist/main.js"},"dist":{"shasum":"e535bee16fabc84cc3a2090610a468f1fb1101e1","tarball":"https://registry.npmjs.org/qyl-mcp-server/-/qyl-mcp-server-0.1.0.tgz","fileCount":77,"integrity":"sha512-R/D5vjodHLph8aFRv6TerOPtBRM1c/KA2k4L+cj/uSUCCyCSK0nWSfwvvzfCbQRafRBK9w1smSf91u75w3DN3A==","signatures":[{"sig":"MEUCIF57g5xdFg1ICAv5K/gEbIryyzA+whAMT8CKRjUX0H16AiEAvfgIy06kNZR8pTO1NW2wHaVHlHFikRdr+k6xam83QTU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1579338},"main":"dist/server.js","type":"module","types":"dist/server.d.ts","engines":{"node":">=22.12.0"},"exports":{".":{"types":"./dist/server.d.ts","default":"./dist/server.js"},"./telemetry":{"types":"./dist/telemetry.d.ts","default":"./dist/telemetry.js"},"./mcp-semconv":{"types":"./dist/mcp-semconv.d.ts","default":"./dist/mcp-semconv.js"},"./secret-redactor":{"types":"./dist/secret-redactor.d.ts","default":"./dist/secret-redactor.js"},"./execution-result":{"types":"./dist/execution-result.d.ts","default":"./dist/execution-result.js"},"./atomic-json-store":{"types":"./dist/atomic-json-store.d.ts","default":"./dist/atomic-json-store.js"},"./execution-evidence":{"types":"./dist/execution-evidence.d.ts","default":"./dist/execution-evidence.js"},"./contract-validation":{"types":"./dist/contract-validation.d.ts","default":"./dist/contract-validation.js"},"./observability-suppression":{"types":"./dist/observability-suppression.d.ts","default":"./dist/observability-suppression.js"}},"gitHead":"8cb34b93f4d931f8919d7cdf4c99c484974e405b","scripts":{"test":"npm run build && tsc -p tsconfig.test.json && node --test dist-test/*.test.js","build":"npm run clean && tsc --noEmit && vite build --mode mcp-app && vite build --mode mcp-dashboard && tsc -p tsconfig.server.json && node -e \"require('node:fs').chmodSync('dist/main.js', 0o755)\"","clean":"node -e \"require('node:fs').rmSync('dist', { recursive: true, force: true }); require('node:fs').rmSync('dist-test', { recursive: true, force: true })\"","smoke":"node smoke-test.mjs","prepack":"npm run build"},"_npmUser":{"name":"ancplua","email":"anfh22@outlook.com"},"repository":{"url":"git+https://github.com/ANcpLua/qyl.mcp.git","type":"git","directory":"server"},"_npmVersion":"11.12.1","description":"qyl telemetry MCP Apps server: trace explorer and MCP dashboard for a live collector or explicit demo mode","directories":{},"_nodeVersion":"25.9.0","dependencies":{"zod":"^4.4.3","express":"^5.2.1","@opentelemetry/api":"^1.9.1","@opentelemetry/core":"^2.9.0","@ancplua/qyl-api-schema":"1.0.2","@opentelemetry/resources":"^2.9.0","@modelcontextprotocol/sdk":"^1.29.0","@opentelemetry/sdk-metrics":"^2.9.0","@opentelemetry/sdk-trace-base":"^2.9.0","@opentelemetry/sdk-trace-node":"^2.9.0","@modelcontextprotocol/ext-apps":"^1.7.4","@opentelemetry/semantic-conventions":"^1.43.0","@opentelemetry/exporter-trace-otlp-proto":"^0.220.0","@opentelemetry/exporter-metrics-otlp-proto":"^0.220.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"8.1.4","typescript":"7.0.2","@types/node":"24.13.3","@types/express":"5.0.6","vite-plugin-singlefile":"2.3.3"},"_npmOperationalInternal":{"tmp":"tmp/qyl-mcp-server_0.1.0_1784437546955_0.7634546672748797","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"qyl-mcp-server","version":"0.1.1","license":"MIT","_id":"qyl-mcp-server@0.1.1","maintainers":[{"name":"ancplua","email":"anfh22@outlook.com"}],"homepage":"https://github.com/ANcpLua/qyl.mcp#readme","bugs":{"url":"https://github.com/ANcpLua/qyl.mcp/issues"},"bin":{"qyl-mcp-server":"dist/main.js"},"dist":{"shasum":"527b2597b514835db6f82e536447f90958eeb04a","tarball":"https://registry.npmjs.org/qyl-mcp-server/-/qyl-mcp-server-0.1.1.tgz","fileCount":77,"integrity":"sha512-PU3iyDwzOTcWtcCMN8XTu9/dTqXint6XkF73N77kHhr7PjTqF1SeqUkJiGB+ArguM0r/yvd1RMXYrMCH64nYsg==","signatures":[{"sig":"MEUCIQCy5ks1k0oC2Z7HXZhtiqQjUvwNzAPx2In9yQbBphAyXQIgZRcBsg+yHRmXg6Zl0gjhVw/S6McfvXxDBE6azi8pUHA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/qyl-mcp-server@0.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1580387},"main":"dist/server.js","type":"module","types":"dist/server.d.ts","engines":{"node":">=22.12.0"},"exports":{".":{"types":"./dist/server.d.ts","default":"./dist/server.js"},"./telemetry":{"types":"./dist/telemetry.d.ts","default":"./dist/telemetry.js"},"./mcp-semconv":{"types":"./dist/mcp-semconv.d.ts","default":"./dist/mcp-semconv.js"},"./secret-redactor":{"types":"./dist/secret-redactor.d.ts","default":"./dist/secret-redactor.js"},"./execution-result":{"types":"./dist/execution-result.d.ts","default":"./dist/execution-result.js"},"./atomic-json-store":{"types":"./dist/atomic-json-store.d.ts","default":"./dist/atomic-json-store.js"},"./execution-evidence":{"types":"./dist/execution-evidence.d.ts","default":"./dist/execution-evidence.js"},"./contract-validation":{"types":"./dist/contract-validation.d.ts","default":"./dist/contract-validation.js"},"./observability-suppression":{"types":"./dist/observability-suppression.d.ts","default":"./dist/observability-suppression.js"}},"gitHead":"87fc71cfe2aca8cc518a1e39d6d8310d08103eb3","scripts":{"test":"npm run build && tsc -p tsconfig.test.json && node --test dist-test/*.test.js","build":"npm run clean && tsc --noEmit && vite build --mode mcp-app && vite build --mode mcp-dashboard && tsc -p tsconfig.server.json && node -e \"require('node:fs').chmodSync('dist/main.js', 0o755)\"","clean":"node -e \"require('node:fs').rmSync('dist', { recursive: true, force: true }); require('node:fs').rmSync('dist-test', { recursive: true, force: true })\"","smoke":"node smoke-test.mjs","prepack":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6f8fbbb5-1cce-46f5-9598-5e92bb3c16f8"}},"repository":{"url":"git+https://github.com/ANcpLua/qyl.mcp.git","type":"git","directory":"server"},"_npmVersion":"12.0.1","description":"qyl telemetry MCP Apps server: trace explorer and MCP dashboard for a live collector or explicit demo mode","directories":{},"_nodeVersion":"24.18.0","dependencies":{"zod":"^4.4.3","express":"^5.2.1","@opentelemetry/api":"^1.9.1","@opentelemetry/core":"^2.9.0","@ancplua/qyl-api-schema":"1.0.2","@opentelemetry/resources":"^2.9.0","@modelcontextprotocol/sdk":"^1.29.0","@opentelemetry/sdk-metrics":"^2.9.0","@opentelemetry/sdk-trace-base":"^2.9.0","@opentelemetry/sdk-trace-node":"^2.9.0","@modelcontextprotocol/ext-apps":"^1.7.4","@opentelemetry/semantic-conventions":"^1.43.0","@opentelemetry/exporter-trace-otlp-proto":"^0.220.0","@opentelemetry/exporter-metrics-otlp-proto":"^0.220.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"8.1.4","typescript":"7.0.2","@types/node":"24.13.3","@types/express":"5.0.6","vite-plugin-singlefile":"2.3.3"},"_npmOperationalInternal":{"tmp":"tmp/qyl-mcp-server_0.1.1_1784439396354_0.9319116602033355","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-beta.1":{"name":"qyl-mcp-server","version":"1.0.0-beta.1","license":"MIT","_id":"qyl-mcp-server@1.0.0-beta.1","maintainers":[{"name":"ancplua","email":"anfh22@outlook.com"}],"homepage":"https://github.com/ANcpLua/qyl.mcp#readme","bugs":{"url":"https://github.com/ANcpLua/qyl.mcp/issues"},"bin":{"qyl-mcp-server":"dist/main.js"},"dist":{"shasum":"7f429fc377d70919c9e670c41627627e0e7e2945","tarball":"https://registry.npmjs.org/qyl-mcp-server/-/qyl-mcp-server-1.0.0-beta.1.tgz","fileCount":80,"integrity":"sha512-oCkiCjgrg8p+YcPBONe/ZF4WZSx2H18h4Y0WIUb09Uz7MVrZXvuo6A9YMxrZLKD570kfh27bM7AGaUueCO29MA==","signatures":[{"sig":"MEUCIGmBLwnxqmyMt3/5OkK6pVLwHVqETd2iUsSMMAP/3HCAAiEA25H2K3FzrrFbGLVKJQYtoWyqi9E3dQApMlla/uLrTSI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/qyl-mcp-server@1.0.0-beta.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1601554},"main":"dist/server.js","type":"module","types":"dist/server.d.ts","engines":{"node":">=22.12.0"},"exports":{".":{"types":"./dist/server.d.ts","default":"./dist/server.js"},"./telemetry":{"types":"./dist/telemetry.d.ts","default":"./dist/telemetry.js"},"./mcp-semconv":{"types":"./dist/mcp-semconv.d.ts","default":"./dist/mcp-semconv.js"},"./secret-redactor":{"types":"./dist/secret-redactor.d.ts","default":"./dist/secret-redactor.js"},"./execution-result":{"types":"./dist/execution-result.d.ts","default":"./dist/execution-result.js"},"./atomic-json-store":{"types":"./dist/atomic-json-store.d.ts","default":"./dist/atomic-json-store.js"},"./execution-evidence":{"types":"./dist/execution-evidence.d.ts","default":"./dist/execution-evidence.js"},"./contract-validation":{"types":"./dist/contract-validation.d.ts","default":"./dist/contract-validation.js"},"./observability-suppression":{"types":"./dist/observability-suppression.d.ts","default":"./dist/observability-suppression.js"}},"gitHead":"de7b02e06c6b7121b50021c4bf1089f9dbd6e333","scripts":{"test":"npm run build && tsc -p tsconfig.test.json && node --test dist-test/*.test.js","build":"npm run clean && tsc --noEmit && vite build --mode mcp-app && vite build --mode mcp-dashboard && tsc -p tsconfig.server.json && node -e \"require('node:fs').chmodSync('dist/main.js', 0o755)\"","clean":"node -e \"require('node:fs').rmSync('dist', { recursive: true, force: true }); require('node:fs').rmSync('dist-test', { recursive: true, force: true })\"","smoke":"node smoke-test.mjs","prepack":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6f8fbbb5-1cce-46f5-9598-5e92bb3c16f8"}},"repository":{"url":"git+https://github.com/ANcpLua/qyl.mcp.git","type":"git","directory":"server"},"_npmVersion":"12.0.1","description":"qyl telemetry MCP Apps server: trace explorer and MCP dashboard for a live collector or explicit demo mode","directories":{},"_nodeVersion":"24.18.0","dependencies":{"zod":"^4.4.3","express":"^5.2.1","@opentelemetry/api":"^1.9.1","@opentelemetry/core":"^2.9.0","@ancplua/qyl-api-schema":"1.0.2","@opentelemetry/resources":"^2.9.0","@modelcontextprotocol/sdk":"^1.29.0","@opentelemetry/sdk-metrics":"^2.9.0","@opentelemetry/sdk-trace-base":"^2.9.0","@opentelemetry/sdk-trace-node":"^2.9.0","@modelcontextprotocol/ext-apps":"^1.7.4","@opentelemetry/semantic-conventions":"^1.43.0","@opentelemetry/exporter-trace-otlp-proto":"^0.220.0","@opentelemetry/exporter-metrics-otlp-proto":"^0.220.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"vite":"8.1.5","typescript":"7.0.2","@types/node":"26.1.1","@types/express":"5.0.6","vite-plugin-singlefile":"2.3.3"},"_npmOperationalInternal":{"tmp":"tmp/qyl-mcp-server_1.0.0-beta.1_1784469252188_0.6324714350392913","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-beta.2":{"name":"qyl-mcp-server","version":"1.0.0-beta.2","license":"MIT","_id":"qyl-mcp-server@1.0.0-beta.2","maintainers":[{"name":"ancplua","email":"anfh22@outlook.com"}],"homepage":"https://github.com/ANcpLua/qyl.mcp#readme","bugs":{"url":"https://github.com/ANcpLua/qyl.mcp/issues"},"bin":{"qyl-mcp-server":"dist/main.js"},"dist":{"shasum":"ea0db21614b1afe99d2485764826861279b847eb","tarball":"https://registry.npmjs.org/qyl-mcp-server/-/qyl-mcp-server-1.0.0-beta.2.tgz","fileCount":78,"integrity":"sha512-c0IC9rNNY9lBKFQojMllgx4OzqzIG2D2tsK0yz/0RZowg5isCUNr9S5eB6Jo1Uj+CgYENOYtlrdBZqK2+bi5BA==","signatures":[{"sig":"MEYCIQDnNAjDGbOsJ26sSbkmp4C3IkmQXp8TDJslENGJf0RAcgIhAP4l0s67Dy92/jJK0ISD/d1XkwX7ZNYEfAB/KEe09keK","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/qyl-mcp-server@1.0.0-beta.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1477692},"main":"dist/server.js","type":"module","types":"dist/server.d.ts","engines":{"node":">=22.12.0"},"exports":{".":{"types":"./dist/server.d.ts","default":"./dist/server.js"},"./telemetry":{"types":"./dist/telemetry.d.ts","default":"./dist/telemetry.js"},"./mcp-semconv":{"types":"./dist/mcp-semconv.d.ts","default":"./dist/mcp-semconv.js"},"./secret-redactor":{"types":"./dist/secret-redactor.d.ts","default":"./dist/secret-redactor.js"},"./execution-result":{"types":"./dist/execution-result.d.ts","default":"./dist/execution-result.js"},"./atomic-json-store":{"types":"./dist/atomic-json-store.d.ts","default":"./dist/atomic-json-store.js"},"./execution-evidence":{"types":"./dist/execution-evidence.d.ts","default":"./dist/execution-evidence.js"},"./contract-validation":{"types":"./dist/contract-validation.d.ts","default":"./dist/contract-validation.js"},"./observability-suppression":{"types":"./dist/observability-suppression.d.ts","default":"./dist/observability-suppression.js"}},"gitHead":"096f0025b41f414407b8128258c9ee8f5309f297","scripts":{"test":"npm run build && tsc -p tsconfig.test.json && node -e \"const fs=require('node:fs'); for (const name of ['mcp-app.html','mcp-dashboard.html']) fs.copyFileSync('dist/'+name,'dist-test/'+name)\" && node --test dist-test/*.test.js","build":"npm run clean && tsc --noEmit && vite build --mode mcp-home && vite build --mode mcp-app && vite build --mode mcp-dashboard && tsc -p tsconfig.server.json && node -e \"require('node:fs').chmodSync('dist/main.js', 0o755)\"","clean":"node -e \"require('node:fs').rmSync('dist', { recursive: true, force: true }); require('node:fs').rmSync('dist-test', { recursive: true, force: true })\"","smoke":"node smoke-test.mjs","prepack":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6f8fbbb5-1cce-46f5-9598-5e92bb3c16f8"}},"repository":{"url":"git+https://github.com/ANcpLua/qyl.mcp.git","type":"git","directory":"server"},"_npmVersion":"12.0.1","description":"qyl telemetry MCP Apps server: trace explorer and MCP dashboard for a live collector or explicit demo mode","directories":{},"_nodeVersion":"24.18.0","dependencies":{"zod":"^4.4.3","jose":"^6.2.3","express":"^5.2.1","@opentelemetry/api":"^1.9.1","@opentelemetry/core":"^2.9.0","@ancplua/qyl-api-schema":"1.0.5","@opentelemetry/resources":"^2.9.0","@modelcontextprotocol/core":"2.0.0-beta.5","@modelcontextprotocol/node":"2.0.0-beta.5","@opentelemetry/sdk-metrics":"^2.9.0","@modelcontextprotocol/server":"2.0.0-beta.5","@modelcontextprotocol/express":"2.0.0-beta.5","@opentelemetry/sdk-trace-base":"^2.9.0","@opentelemetry/sdk-trace-node":"^2.9.0","@modelcontextprotocol/ext-apps":"^1.7.4","@opentelemetry/semantic-conventions":"^1.43.0","@opentelemetry/exporter-trace-otlp-proto":"^0.220.0","@opentelemetry/exporter-metrics-otlp-proto":"^0.220.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"vite":"8.1.5","typescript":"7.0.2","@types/node":"26.1.1","@types/express":"5.0.6","vite-plugin-singlefile":"2.3.3","@modelcontextprotocol/client":"2.0.0-beta.5"},"_npmOperationalInternal":{"tmp":"tmp/qyl-mcp-server_1.0.0-beta.2_1784711354616_0.4936338509987013","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-beta.3":{"name":"qyl-mcp-server","version":"1.0.0-beta.3","license":"MIT","_id":"qyl-mcp-server@1.0.0-beta.3","maintainers":[{"name":"ancplua","email":"anfh22@outlook.com"}],"homepage":"https://github.com/ANcpLua/qyl.mcp#readme","bugs":{"url":"https://github.com/ANcpLua/qyl.mcp/issues"},"bin":{"qyl-mcp-server":"dist/main.js"},"dist":{"shasum":"52bd994f5c5a8c1829348d2090ae22b269bc0eb5","tarball":"https://registry.npmjs.org/qyl-mcp-server/-/qyl-mcp-server-1.0.0-beta.3.tgz","fileCount":78,"integrity":"sha512-JsGOJMJFTl1dVHUeRqRTDSWWDZceL07cwiLFbTILSJm8oh5G0iKHRdMPqqejHKq9O3LHsBIruW6oQZDm1O93uw==","signatures":[{"sig":"MEUCIQDln/emcHbLAmJ7/6c+WJOsxXZVlG4NaIvbEdaRU1qwFgIgIUndULq8qliKlAa5EzILUUUDf1+KVwvGRWVn9TGiHBQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/qyl-mcp-server@1.0.0-beta.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1479546},"main":"dist/server.js","type":"module","types":"dist/server.d.ts","engines":{"node":"24.x"},"exports":{".":{"types":"./dist/server.d.ts","default":"./dist/server.js"},"./telemetry":{"types":"./dist/telemetry.d.ts","default":"./dist/telemetry.js"},"./mcp-semconv":{"types":"./dist/mcp-semconv.d.ts","default":"./dist/mcp-semconv.js"},"./secret-redactor":{"types":"./dist/secret-redactor.d.ts","default":"./dist/secret-redactor.js"},"./execution-result":{"types":"./dist/execution-result.d.ts","default":"./dist/execution-result.js"},"./atomic-json-store":{"types":"./dist/atomic-json-store.d.ts","default":"./dist/atomic-json-store.js"},"./execution-evidence":{"types":"./dist/execution-evidence.d.ts","default":"./dist/execution-evidence.js"},"./contract-validation":{"types":"./dist/contract-validation.d.ts","default":"./dist/contract-validation.js"},"./observability-suppression":{"types":"./dist/observability-suppression.d.ts","default":"./dist/observability-suppression.js"}},"gitHead":"597deda068f20ec3e3bfc51a511179d53eb02203","scripts":{"test":"npm run build && tsc -p tsconfig.test.json && node -e \"const fs=require('node:fs'); for (const name of ['mcp-app.html','mcp-dashboard.html']) fs.copyFileSync('dist/'+name,'dist-test/'+name)\" && node --test dist-test/*.test.js","build":"npm run clean && tsc --noEmit && vite build --mode mcp-home && vite build --mode mcp-app && vite build --mode mcp-dashboard && tsc -p tsconfig.server.json && node -e \"require('node:fs').chmodSync('dist/main.js', 0o755)\"","clean":"node -e \"require('node:fs').rmSync('dist', { recursive: true, force: true }); require('node:fs').rmSync('dist-test', { recursive: true, force: true })\"","smoke":"node smoke-test.mjs","prepack":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6f8fbbb5-1cce-46f5-9598-5e92bb3c16f8"}},"repository":{"url":"git+https://github.com/ANcpLua/qyl.mcp.git","type":"git","directory":"server"},"_npmVersion":"12.0.1","description":"qyl telemetry MCP Apps server: trace explorer and MCP dashboard for a live collector or explicit demo mode","directories":{},"_nodeVersion":"24.18.0","dependencies":{"zod":"^4.4.3","jose":"^6.2.3","express":"^5.2.1","@opentelemetry/api":"^1.9.1","@opentelemetry/core":"^2.10.0","@ancplua/qyl-api-schema":"1.0.5","@opentelemetry/api-logs":"^0.221.0","@opentelemetry/sdk-logs":"^0.221.0","@opentelemetry/resources":"^2.10.0","@modelcontextprotocol/core":"2.0.0-beta.5","@modelcontextprotocol/node":"2.0.0-beta.5","@opentelemetry/sdk-metrics":"^2.10.0","@modelcontextprotocol/server":"2.0.0-beta.5","@modelcontextprotocol/express":"2.0.0-beta.5","@opentelemetry/sdk-trace-base":"^2.10.0","@opentelemetry/sdk-trace-node":"^2.10.0","@modelcontextprotocol/ext-apps":"^1.7.4","@opentelemetry/semantic-conventions":"^1.43.0","@opentelemetry/exporter-logs-otlp-proto":"^0.221.0","@opentelemetry/exporter-trace-otlp-proto":"^0.221.0","@opentelemetry/exporter-metrics-otlp-proto":"^0.221.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"vite":"8.1.5","typescript":"7.0.2","@types/node":"24.13.3","@types/express":"5.0.6","vite-plugin-singlefile":"2.3.3","@modelcontextprotocol/client":"2.0.0-beta.5"},"_npmOperationalInternal":{"tmp":"tmp/qyl-mcp-server_1.0.0-beta.3_1784782684054_0.06466382218558975","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-beta.4":{"name":"qyl-mcp-server","version":"1.0.0-beta.4","license":"MIT","_id":"qyl-mcp-server@1.0.0-beta.4","maintainers":[{"name":"ancplua","email":"anfh22@outlook.com"}],"homepage":"https://github.com/ANcpLua/qyl.mcp#readme","bugs":{"url":"https://github.com/ANcpLua/qyl.mcp/issues"},"bin":{"qyl-mcp-server":"dist/main.js"},"dist":{"shasum":"57dcb948f05f3c4494307487526db285ec5df48f","tarball":"https://registry.npmjs.org/qyl-mcp-server/-/qyl-mcp-server-1.0.0-beta.4.tgz","fileCount":78,"integrity":"sha512-uMpmvj6MNfV9wA5DGg8C4YXpvbN3dGWounGqAgNVbGJC8U7Z1Qhmn2Y+g1Naf2/GNCVlOsWZ0LzUus7ex7lLOQ==","signatures":[{"sig":"MEQCIDc64TgPw6PzZv1RWcnoGpSDdLspaBcOzNB0DsJelXf/AiA9T68V/mz7XI+5NAL8expkrwA3ZknViYpiIi46AJZrJQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/qyl-mcp-server@1.0.0-beta.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1483787},"main":"dist/server.js","type":"module","types":"dist/server.d.ts","engines":{"node":"24.x"},"exports":{".":{"types":"./dist/server.d.ts","default":"./dist/server.js"},"./telemetry":{"types":"./dist/telemetry.d.ts","default":"./dist/telemetry.js"},"./mcp-semconv":{"types":"./dist/mcp-semconv.d.ts","default":"./dist/mcp-semconv.js"},"./secret-redactor":{"types":"./dist/secret-redactor.d.ts","default":"./dist/secret-redactor.js"},"./execution-result":{"types":"./dist/execution-result.d.ts","default":"./dist/execution-result.js"},"./atomic-json-store":{"types":"./dist/atomic-json-store.d.ts","default":"./dist/atomic-json-store.js"},"./execution-evidence":{"types":"./dist/execution-evidence.d.ts","default":"./dist/execution-evidence.js"},"./contract-validation":{"types":"./dist/contract-validation.d.ts","default":"./dist/contract-validation.js"},"./observability-suppression":{"types":"./dist/observability-suppression.d.ts","default":"./dist/observability-suppression.js"}},"gitHead":"03161ab559092837ede48f1d2c55f8d6ed5932ea","scripts":{"test":"npm run build && tsc -p tsconfig.test.json && node -e \"const fs=require('node:fs'); for (const name of ['mcp-app.html','mcp-dashboard.html']) fs.copyFileSync('dist/'+name,'dist-test/'+name)\" && node --test dist-test/*.test.js","build":"npm run clean && tsc --noEmit && vite build --mode mcp-home && vite build --mode mcp-app && vite build --mode mcp-dashboard && tsc -p tsconfig.server.json && node -e \"require('node:fs').chmodSync('dist/main.js', 0o755)\"","clean":"node -e \"require('node:fs').rmSync('dist', { recursive: true, force: true }); require('node:fs').rmSync('dist-test', { recursive: true, force: true })\"","smoke":"node smoke-test.mjs","prepack":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6f8fbbb5-1cce-46f5-9598-5e92bb3c16f8"}},"repository":{"url":"git+https://github.com/ANcpLua/qyl.mcp.git","type":"git","directory":"server"},"_npmVersion":"12.0.1","description":"qyl telemetry MCP Apps server: trace explorer and MCP dashboard for a live collector or explicit demo mode","directories":{},"_nodeVersion":"24.18.0","dependencies":{"zod":"^4.4.3","jose":"^6.2.3","express":"^5.2.1","@opentelemetry/api":"^1.9.1","@opentelemetry/core":"^2.10.0","@ancplua/qyl-api-schema":"3.0.0","@opentelemetry/api-logs":"^0.221.0","@opentelemetry/sdk-logs":"^0.221.0","@opentelemetry/resources":"^2.10.0","@modelcontextprotocol/core":"2.0.0-beta.5","@modelcontextprotocol/node":"2.0.0-beta.5","@opentelemetry/sdk-metrics":"^2.10.0","@modelcontextprotocol/server":"2.0.0-beta.5","@modelcontextprotocol/express":"2.0.0-beta.5","@opentelemetry/sdk-trace-base":"^2.10.0","@opentelemetry/sdk-trace-node":"^2.10.0","@modelcontextprotocol/ext-apps":"^1.7.5","@opentelemetry/semantic-conventions":"^1.43.0","@opentelemetry/exporter-logs-otlp-proto":"^0.221.0","@opentelemetry/exporter-trace-otlp-proto":"^0.221.0","@opentelemetry/exporter-metrics-otlp-proto":"^0.221.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"8.1.5","typescript":"7.0.2","@types/node":"26.1.1","@types/express":"5.0.6","vite-plugin-singlefile":"2.3.3","@modelcontextprotocol/client":"2.0.0-beta.5"},"_npmOperationalInternal":{"tmp":"tmp/qyl-mcp-server_1.0.0-beta.4_1785104676946_0.1580918353996965","host":"s3://npm-registry-packages-npm-production"}},"1.0.0":{"name":"qyl-mcp-server","version":"1.0.0","license":"MIT","_id":"qyl-mcp-server@1.0.0","maintainers":[{"name":"ancplua","email":"anfh22@outlook.com"}],"homepage":"https://github.com/ANcpLua/qyl.mcp#readme","bugs":{"url":"https://github.com/ANcpLua/qyl.mcp/issues"},"bin":{"qyl-mcp-server":"dist/main.js"},"dist":{"shasum":"2eedb6dc470ca472d78a13b757fd50d5acf37dfa","tarball":"https://registry.npmjs.org/qyl-mcp-server/-/qyl-mcp-server-1.0.0.tgz","fileCount":84,"integrity":"sha512-NSbadp4nRK2VFnI+YaC+EmXhtv7giGVIgf8tVCSELCXrmpfnN+X3Fmk6a27m2NqW+LR7Lb44d6OA8Zjn3TGkDA==","signatures":[{"sig":"MEUCIQCb8THJWycGRUFmz5l2LmNsj24R33dBYam84GQNJCCBuQIgRPeS9QtHu/O4FtcH1SlQJwBUCF86n0phZ4pyyoh7FEs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/qyl-mcp-server@1.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1507576},"main":"dist/server.js","type":"module","types":"dist/server.d.ts","engines":{"node":"24.x"},"exports":{".":{"types":"./dist/server.d.ts","default":"./dist/server.js"},"./telemetry":{"types":"./dist/telemetry.d.ts","default":"./dist/telemetry.js"},"./mcp-semconv":{"types":"./dist/mcp-semconv.d.ts","default":"./dist/mcp-semconv.js"},"./secret-redactor":{"types":"./dist/secret-redactor.d.ts","default":"./dist/secret-redactor.js"},"./execution-result":{"types":"./dist/execution-result.d.ts","default":"./dist/execution-result.js"},"./atomic-json-store":{"types":"./dist/atomic-json-store.d.ts","default":"./dist/atomic-json-store.js"},"./execution-evidence":{"types":"./dist/execution-evidence.d.ts","default":"./dist/execution-evidence.js"},"./contract-validation":{"types":"./dist/contract-validation.d.ts","default":"./dist/contract-validation.js"},"./observability-suppression":{"types":"./dist/observability-suppression.d.ts","default":"./dist/observability-suppression.js"}},"gitHead":"9f1fd7ef8c1c3f27970d0d51fa43c0139719f25b","scripts":{"test":"npm run verify:shapes && npm run build && tsc -p tsconfig.test.json && node -e \"const fs=require('node:fs'); for (const name of ['mcp-app.html','mcp-dashboard.html']) fs.copyFileSync('dist/'+name,'dist-test/'+name)\" && node --test dist-test/*.test.js","build":"npm run clean && tsc --noEmit && vite build --mode mcp-home && vite build --mode mcp-app && vite build --mode mcp-dashboard && tsc -p tsconfig.server.json && node -e \"require('node:fs').chmodSync('dist/main.js', 0o755)\"","clean":"node -e \"require('node:fs').rmSync('dist', { recursive: true, force: true }); require('node:fs').rmSync('dist-test', { recursive: true, force: true })\"","smoke":"node smoke-test.mjs","prepack":"npm run build","verify:shapes":"node verify-generated-shapes.mjs","snapshot:tools":"npm run build && tsc -p tsconfig.test.json && UPDATE_SNAPSHOT=1 node --test dist-test/tool-manifest.test.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6f8fbbb5-1cce-46f5-9598-5e92bb3c16f8"}},"repository":{"url":"git+https://github.com/ANcpLua/qyl.mcp.git","type":"git","directory":"server"},"_npmVersion":"12.0.1","description":"qyl telemetry MCP Apps server: trace explorer and MCP dashboard for a live collector or explicit demo mode","directories":{},"_nodeVersion":"24.18.0","dependencies":{"zod":"^4.4.3","jose":"^6.2.3","express":"^5.2.1","@opentelemetry/api":"^1.9.1","@opentelemetry/core":"^2.10.0","@ancplua/qyl-api-schema":"4.0.0","@opentelemetry/api-logs":"^0.221.0","@opentelemetry/sdk-logs":"^0.221.0","@opentelemetry/resources":"^2.10.0","@modelcontextprotocol/core":"2.0.0-beta.5","@modelcontextprotocol/node":"2.0.0-beta.5","@opentelemetry/sdk-metrics":"^2.10.0","@modelcontextprotocol/server":"2.0.0-beta.5","@modelcontextprotocol/express":"2.0.0-beta.5","@opentelemetry/sdk-trace-base":"^2.10.0","@opentelemetry/sdk-trace-node":"^2.10.0","@modelcontextprotocol/ext-apps":"^1.7.5","@opentelemetry/semantic-conventions":"^1.43.0","@opentelemetry/exporter-logs-otlp-proto":"^0.221.0","@opentelemetry/exporter-trace-otlp-proto":"^0.221.0","@opentelemetry/exporter-metrics-otlp-proto":"^0.221.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"8.1.5","typescript":"7.0.2","@types/node":"26.1.1","@types/express":"5.0.6","vite-plugin-singlefile":"2.3.3","@modelcontextprotocol/client":"2.0.0-beta.5"},"_npmOperationalInternal":{"tmp":"tmp/qyl-mcp-server_1.0.0_1785196330735_0.06719333410942996","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"qyl-mcp-server","version":"1.1.0","license":"MIT","_id":"qyl-mcp-server@1.1.0","maintainers":[{"name":"ancplua","email":"anfh22@outlook.com"}],"homepage":"https://github.com/ANcpLua/qyl.mcp#readme","bugs":{"url":"https://github.com/ANcpLua/qyl.mcp/issues"},"bin":{"qyl-mcp-server":"dist/main.js"},"dist":{"shasum":"db359424b3d2f8d968f0248a830f066640db2829","tarball":"https://registry.npmjs.org/qyl-mcp-server/-/qyl-mcp-server-1.1.0.tgz","fileCount":97,"integrity":"sha512-GEch1YvXXWC/oqSGV+xYQ7QZhLnj6ppUR04aF8rHvDqq6jmP1sbk1iYzqRBAVPE71R0KyUGY3mYnGaD3SdoOGg==","signatures":[{"sig":"MEQCIHMA5SDOPA/LE6cwWTP3v6rBMA0kdEyGutO1qP5musHYAiAzlb/QnUafFq+NH37QaVnyms1tHSOxnh8Zf0jou6IJ7g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/qyl-mcp-server@1.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1845228},"main":"dist/server.js","type":"module","types":"dist/server.d.ts","engines":{"node":"24.x"},"exports":{".":{"types":"./dist/server.d.ts","default":"./dist/server.js"},"./telemetry":{"types":"./dist/telemetry.d.ts","default":"./dist/telemetry.js"},"./mcp-semconv":{"types":"./dist/mcp-semconv.d.ts","default":"./dist/mcp-semconv.js"},"./secret-redactor":{"types":"./dist/secret-redactor.d.ts","default":"./dist/secret-redactor.js"},"./execution-result":{"types":"./dist/execution-result.d.ts","default":"./dist/execution-result.js"},"./atomic-json-store":{"types":"./dist/atomic-json-store.d.ts","default":"./dist/atomic-json-store.js"},"./execution-evidence":{"types":"./dist/execution-evidence.d.ts","default":"./dist/execution-evidence.js"},"./contract-validation":{"types":"./dist/contract-validation.d.ts","default":"./dist/contract-validation.js"},"./observability-suppression":{"types":"./dist/observability-suppression.d.ts","default":"./dist/observability-suppression.js"}},"gitHead":"96a052259ab1f1d19bb5aef106e575d1b5fc1b33","scripts":{"test":"npm run verify:shapes && npm run build && tsc -p tsconfig.test.json && node -e \"const fs=require('node:fs'); for (const name of ['mcp-app.html','mcp-dashboard.html','observe-graph.html']) fs.copyFileSync('dist/'+name,'dist-test/'+name)\" && node --test dist-test/*.test.js","build":"npm run clean && tsc --noEmit && vite build --mode mcp-home && vite build --mode mcp-app && vite build --mode mcp-dashboard && vite build --mode observe-graph && tsc -p tsconfig.server.json && node -e \"require('node:fs').chmodSync('dist/main.js', 0o755)\"","clean":"node -e \"require('node:fs').rmSync('dist', { recursive: true, force: true }); require('node:fs').rmSync('dist-test', { recursive: true, force: true })\"","smoke":"node smoke-test.mjs","prepack":"npm run build","verify:shapes":"node verify-generated-shapes.mjs","snapshot:tools":"npm run build && tsc -p tsconfig.test.json && node update-tool-manifest-snapshot.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6f8fbbb5-1cce-46f5-9598-5e92bb3c16f8"}},"repository":{"url":"git+https://github.com/ANcpLua/qyl.mcp.git","type":"git","directory":"server"},"_npmVersion":"12.0.1","description":"qyl telemetry MCP Apps server: trace explorer and MCP dashboard for a live collector or explicit demo mode","directories":{},"_nodeVersion":"24.18.0","dependencies":{"zod":"^4.4.3","jose":"^6.2.3","express":"^5.2.1","@opentelemetry/api":"^1.9.1","@opentelemetry/core":"^2.10.0","@ancplua/qyl-api-schema":"5.0.0","@opentelemetry/api-logs":"^0.221.0","@opentelemetry/sdk-logs":"^0.221.0","@opentelemetry/resources":"^2.10.0","@modelcontextprotocol/core":"2.0.0","@modelcontextprotocol/node":"2.0.0","@opentelemetry/sdk-metrics":"^2.10.0","@modelcontextprotocol/server":"2.0.0","@modelcontextprotocol/express":"2.0.0","@opentelemetry/sdk-trace-base":"^2.10.0","@opentelemetry/sdk-trace-node":"^2.10.0","@opentelemetry/semantic-conventions":"^1.43.0","@opentelemetry/exporter-logs-otlp-proto":"^0.221.0","@opentelemetry/exporter-trace-otlp-proto":"^0.221.0","@opentelemetry/exporter-metrics-otlp-proto":"^0.221.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"8.1.5","typescript":"7.0.2","@types/node":"26.1.1","@types/express":"5.0.6","vite-plugin-singlefile":"2.3.3","@modelcontextprotocol/client":"2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/qyl-mcp-server_1.1.0_1785203531073_0.5876137235174967","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"qyl-mcp-server","version":"1.1.1","license":"MIT","_id":"qyl-mcp-server@1.1.1","maintainers":[{"name":"ancplua","email":"anfh22@outlook.com"}],"homepage":"https://github.com/ANcpLua/qyl.mcp#readme","bugs":{"url":"https://github.com/ANcpLua/qyl.mcp/issues"},"bin":{"qyl-mcp-server":"dist/main.js"},"dist":{"shasum":"ea3b697dda4407488e54225ffed05a45261c89b1","tarball":"https://registry.npmjs.org/qyl-mcp-server/-/qyl-mcp-server-1.1.1.tgz","fileCount":97,"integrity":"sha512-MDXFj1SP9L82frc2sxnYyXEPLcyNWmKPrcEHeF3aEnJoaIqWUz5rBnsqYvegOLZ6P7uJvxUKxNhqJt9rm5djvQ==","signatures":[{"sig":"MEUCIFBXxqz8cnjayNdeaR4/AtsW3mBzEgPOHbsr9Z5Fl3ERAiEA4Z48VSbF3RgUMCoiDQuni0hax4bbu/Zu4oIo9mOUoj0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/qyl-mcp-server@1.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1846119},"main":"dist/server.js","type":"module","types":"dist/server.d.ts","engines":{"node":"24.x"},"exports":{".":{"types":"./dist/server.d.ts","default":"./dist/server.js"},"./telemetry":{"types":"./dist/telemetry.d.ts","default":"./dist/telemetry.js"},"./mcp-semconv":{"types":"./dist/mcp-semconv.d.ts","default":"./dist/mcp-semconv.js"},"./secret-redactor":{"types":"./dist/secret-redactor.d.ts","default":"./dist/secret-redactor.js"},"./execution-result":{"types":"./dist/execution-result.d.ts","default":"./dist/execution-result.js"},"./atomic-json-store":{"types":"./dist/atomic-json-store.d.ts","default":"./dist/atomic-json-store.js"},"./execution-evidence":{"types":"./dist/execution-evidence.d.ts","default":"./dist/execution-evidence.js"},"./contract-validation":{"types":"./dist/contract-validation.d.ts","default":"./dist/contract-validation.js"},"./observability-suppression":{"types":"./dist/observability-suppression.d.ts","default":"./dist/observability-suppression.js"}},"gitHead":"840b2eb1e16b87c44b1dbdb0761604bf2d77d255","scripts":{"test":"npm run verify:shapes && npm run build && tsc -p tsconfig.test.json && node -e \"const fs=require('node:fs'); for (const name of ['mcp-app.html','mcp-dashboard.html','observe-graph.html']) fs.copyFileSync('dist/'+name,'dist-test/'+name)\" && node --test dist-test/*.test.js","build":"npm run clean && tsc --noEmit && vite build --mode mcp-home && vite build --mode mcp-app && vite build --mode mcp-dashboard && vite build --mode observe-graph && tsc -p tsconfig.server.json && node -e \"require('node:fs').chmodSync('dist/main.js', 0o755)\"","clean":"node -e \"require('node:fs').rmSync('dist', { recursive: true, force: true }); require('node:fs').rmSync('dist-test', { recursive: true, force: true })\"","smoke":"node smoke-test.mjs","prepack":"npm run build","verify:shapes":"node verify-generated-shapes.mjs","snapshot:tools":"npm run build && tsc -p tsconfig.test.json && node update-tool-manifest-snapshot.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6f8fbbb5-1cce-46f5-9598-5e92bb3c16f8"}},"repository":{"url":"git+https://github.com/ANcpLua/qyl.mcp.git","type":"git","directory":"server"},"_npmVersion":"12.0.1","description":"qyl telemetry MCP Apps server: trace explorer and MCP dashboard for a live collector or explicit demo mode","directories":{},"_nodeVersion":"24.18.0","dependencies":{"zod":"^4.4.3","jose":"^6.2.3","express":"^5.2.1","@opentelemetry/api":"^1.9.1","@opentelemetry/core":"^2.10.0","@ancplua/qyl-api-schema":"5.0.0","@opentelemetry/api-logs":"^0.221.0","@opentelemetry/sdk-logs":"^0.221.0","@opentelemetry/resources":"^2.10.0","@modelcontextprotocol/core":"2.0.0","@modelcontextprotocol/node":"2.0.0","@opentelemetry/sdk-metrics":"^2.10.0","@modelcontextprotocol/server":"2.0.0","@modelcontextprotocol/express":"2.0.0","@opentelemetry/sdk-trace-base":"^2.10.0","@opentelemetry/sdk-trace-node":"^2.10.0","@opentelemetry/semantic-conventions":"^1.43.0","@opentelemetry/exporter-logs-otlp-proto":"^0.221.0","@opentelemetry/exporter-trace-otlp-proto":"^0.221.0","@opentelemetry/exporter-metrics-otlp-proto":"^0.221.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"8.1.5","typescript":"7.0.2","@types/node":"26.1.1","@types/express":"5.0.6","vite-plugin-singlefile":"2.3.3","@modelcontextprotocol/client":"2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/qyl-mcp-server_1.1.1_1785214924746_0.5693333036912975","host":"s3://npm-registry-packages-npm-production"}},"1.1.2":{"name":"qyl-mcp-server","version":"1.1.2","license":"MIT","_id":"qyl-mcp-server@1.1.2","maintainers":[{"name":"ancplua","email":"anfh22@outlook.com"}],"homepage":"https://github.com/ANcpLua/qyl.mcp#readme","bugs":{"url":"https://github.com/ANcpLua/qyl.mcp/issues"},"bin":{"qyl-mcp-server":"dist/main.js"},"dist":{"shasum":"558e46e6e1fb70b59e1aa5b7b4b784778286a1f0","tarball":"https://registry.npmjs.org/qyl-mcp-server/-/qyl-mcp-server-1.1.2.tgz","fileCount":97,"integrity":"sha512-q7NlrOAugMygGDdBezJ/GEk42EjmTk46EEuy0dugbPVGsdby0y5LeTDmDKA2K9CDVwD5FWtcmQhe7HylBbWViA==","signatures":[{"sig":"MEUCIG07Nxi147vOly/FLIfm8YYNefdK8xCMfHGh9K3zsCt+AiEA6NBoRNtxt8YwgrQxfqCBCkrD5CnTDoc6YlqsdDC72c4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/qyl-mcp-server@1.1.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1847770},"main":"dist/server.js","type":"module","types":"dist/server.d.ts","engines":{"node":"24.x"},"exports":{".":{"types":"./dist/server.d.ts","default":"./dist/server.js"},"./telemetry":{"types":"./dist/telemetry.d.ts","default":"./dist/telemetry.js"},"./mcp-semconv":{"types":"./dist/mcp-semconv.d.ts","default":"./dist/mcp-semconv.js"},"./secret-redactor":{"types":"./dist/secret-redactor.d.ts","default":"./dist/secret-redactor.js"},"./execution-result":{"types":"./dist/execution-result.d.ts","default":"./dist/execution-result.js"},"./atomic-json-store":{"types":"./dist/atomic-json-store.d.ts","default":"./dist/atomic-json-store.js"},"./execution-evidence":{"types":"./dist/execution-evidence.d.ts","default":"./dist/execution-evidence.js"},"./contract-validation":{"types":"./dist/contract-validation.d.ts","default":"./dist/contract-validation.js"},"./observability-suppression":{"types":"./dist/observability-suppression.d.ts","default":"./dist/observability-suppression.js"}},"gitHead":"0c26f6b48da04e55910163679acaa3ec3e035a74","scripts":{"test":"npm run verify:shapes && npm run verify:readme && npm run build && tsc -p tsconfig.test.json && node -e \"const fs=require('node:fs'); for (const name of ['mcp-app.html','mcp-dashboard.html','observe-graph.html']) fs.copyFileSync('dist/'+name,'dist-test/'+name)\" && node --test dist-test/*.test.js","build":"npm run clean && tsc --noEmit && vite build --mode mcp-home && vite build --mode mcp-app && vite build --mode mcp-dashboard && vite build --mode observe-graph && tsc -p tsconfig.server.json && node -e \"require('node:fs').chmodSync('dist/main.js', 0o755)\"","clean":"node -e \"require('node:fs').rmSync('dist', { recursive: true, force: true }); require('node:fs').rmSync('dist-test', { recursive: true, force: true })\"","smoke":"node smoke-test.mjs","prepack":"npm run build","verify:readme":"node verify-package-readme.mjs","verify:shapes":"node verify-generated-shapes.mjs","snapshot:tools":"npm run build && tsc -p tsconfig.test.json && node update-tool-manifest-snapshot.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6f8fbbb5-1cce-46f5-9598-5e92bb3c16f8"}},"repository":{"url":"git+https://github.com/ANcpLua/qyl.mcp.git","type":"git","directory":"server"},"_npmVersion":"12.0.1","description":"qyl telemetry MCP Apps server: trace explorer and MCP dashboard for a live collector or explicit demo mode","directories":{},"_nodeVersion":"24.18.0","dependencies":{"zod":"^4.4.3","jose":"^6.2.3","express":"^5.2.1","@opentelemetry/api":"^1.9.1","@opentelemetry/core":"^2.10.0","@ancplua/qyl-api-schema":"5.1.0","@opentelemetry/api-logs":"^0.221.0","@opentelemetry/sdk-logs":"^0.221.0","@opentelemetry/resources":"^2.10.0","@modelcontextprotocol/core":"2.0.0","@modelcontextprotocol/node":"2.0.0","@opentelemetry/sdk-metrics":"^2.10.0","@modelcontextprotocol/server":"2.0.0","@modelcontextprotocol/express":"2.0.0","@opentelemetry/sdk-trace-base":"^2.10.0","@opentelemetry/sdk-trace-node":"^2.10.0","@opentelemetry/semantic-conventions":"^1.43.0","@opentelemetry/exporter-logs-otlp-proto":"^0.221.0","@opentelemetry/exporter-trace-otlp-proto":"^0.221.0","@opentelemetry/exporter-metrics-otlp-proto":"^0.221.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"8.1.5","typescript":"7.0.2","@types/node":"26.1.1","@types/express":"5.0.6","vite-plugin-singlefile":"2.3.3","@modelcontextprotocol/client":"2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/qyl-mcp-server_1.1.2_1785225001637_0.08647583021402783","host":"s3://npm-registry-packages-npm-production"}},"1.1.3":{"name":"qyl-mcp-server","version":"1.1.3","license":"MIT","_id":"qyl-mcp-server@1.1.3","maintainers":[{"name":"ancplua","email":"anfh22@outlook.com"}],"homepage":"https://github.com/ANcpLua/qyl.mcp#readme","bugs":{"url":"https://github.com/ANcpLua/qyl.mcp/issues"},"bin":{"qyl-mcp-server":"dist/main.js"},"dist":{"shasum":"db3fdf75cbd2ccfe7557bd20e2d7fb9dbdcacfe1","tarball":"https://registry.npmjs.org/qyl-mcp-server/-/qyl-mcp-server-1.1.3.tgz","fileCount":97,"integrity":"sha512-Vdd/H6iwRih2sHlFXmQ7lOVZt/7fBi+fadzrGPteRYyD5mxnveUC4NDS/MdQXB5XdQNN7c6yFyu8Ff5XJ0eXEQ==","signatures":[{"sig":"MEUCIFgXd/duc76JYScR4qPg2DK/QgP5hsiiiu5PrxbI/5+WAiEAxyTpMc8tXlnlfNHPis8jzyQn8Men7THWXzDCJxv6Zko=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/qyl-mcp-server@1.1.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1850797},"main":"dist/server.js","type":"module","types":"dist/server.d.ts","engines":{"node":"24.x"},"exports":{".":{"types":"./dist/server.d.ts","default":"./dist/server.js"},"./telemetry":{"types":"./dist/telemetry.d.ts","default":"./dist/telemetry.js"},"./mcp-semconv":{"types":"./dist/mcp-semconv.d.ts","default":"./dist/mcp-semconv.js"},"./secret-redactor":{"types":"./dist/secret-redactor.d.ts","default":"./dist/secret-redactor.js"},"./execution-result":{"types":"./dist/execution-result.d.ts","default":"./dist/execution-result.js"},"./atomic-json-store":{"types":"./dist/atomic-json-store.d.ts","default":"./dist/atomic-json-store.js"},"./execution-evidence":{"types":"./dist/execution-evidence.d.ts","default":"./dist/execution-evidence.js"},"./contract-validation":{"types":"./dist/contract-validation.d.ts","default":"./dist/contract-validation.js"},"./observability-suppression":{"types":"./dist/observability-suppression.d.ts","default":"./dist/observability-suppression.js"}},"gitHead":"7c8ab8959332d8b1b71e8b7c2acbf17ce30686ed","scripts":{"test":"npm run verify:shapes && npm run verify:readme && npm run build && tsc -p tsconfig.test.json && node -e \"const fs=require('node:fs'); for (const name of ['mcp-app.html','mcp-dashboard.html','observe-graph.html']) fs.copyFileSync('dist/'+name,'dist-test/'+name)\" && node --test dist-test/*.test.js","build":"npm run clean && tsc --noEmit && vite build --mode mcp-home && vite build --mode mcp-app && vite build --mode mcp-dashboard && vite build --mode observe-graph && tsc -p tsconfig.server.json && node -e \"require('node:fs').chmodSync('dist/main.js', 0o755)\"","clean":"node -e \"require('node:fs').rmSync('dist', { recursive: true, force: true }); require('node:fs').rmSync('dist-test', { recursive: true, force: true })\"","smoke":"node smoke-test.mjs","prepack":"npm run build","verify:readme":"node verify-package-readme.mjs","verify:shapes":"node verify-generated-shapes.mjs","snapshot:tools":"npm run build && tsc -p tsconfig.test.json && node update-tool-manifest-snapshot.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6f8fbbb5-1cce-46f5-9598-5e92bb3c16f8"}},"repository":{"url":"git+https://github.com/ANcpLua/qyl.mcp.git","type":"git","directory":"server"},"_npmVersion":"12.0.1","description":"qyl telemetry MCP Apps server: trace explorer and MCP dashboard for a live collector or explicit demo mode","directories":{},"_nodeVersion":"24.18.0","dependencies":{"zod":"^4.4.3","jose":"^6.2.3","@opentelemetry/api":"^1.9.1","@opentelemetry/core":"^2.10.0","@ancplua/qyl-api-schema":"6.0.0","@opentelemetry/api-logs":"^0.221.0","@opentelemetry/sdk-logs":"^0.221.0","@opentelemetry/resources":"^2.10.0","@modelcontextprotocol/core":"2.0.0","@opentelemetry/sdk-metrics":"^2.10.0","@modelcontextprotocol/server":"2.0.0","@opentelemetry/sdk-trace-base":"^2.10.0","@opentelemetry/sdk-trace-node":"^2.10.0","@opentelemetry/semantic-conventions":"^1.43.0","@opentelemetry/exporter-logs-otlp-proto":"^0.221.0","@opentelemetry/exporter-trace-otlp-proto":"^0.221.0","@opentelemetry/exporter-metrics-otlp-proto":"^0.221.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"8.1.5","typescript":"7.0.2","@types/node":"26.1.1","vite-plugin-singlefile":"2.3.3","@modelcontextprotocol/client":"2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/qyl-mcp-server_1.1.3_1785330786046_0.9216171816960823","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"qyl-mcp-server","version":"2.0.0","license":"MIT","_id":"qyl-mcp-server@2.0.0","maintainers":[{"name":"ancplua","email":"anfh22@outlook.com"}],"homepage":"https://github.com/ANcpLua/qyl.mcp#readme","bugs":{"url":"https://github.com/ANcpLua/qyl.mcp/issues"},"bin":{"qyl-mcp-server":"dist/main.js"},"dist":{"shasum":"cf0001c1d5fd217a1db0ca8c7194d00e1ff0dd5b","tarball":"https://registry.npmjs.org/qyl-mcp-server/-/qyl-mcp-server-2.0.0.tgz","fileCount":97,"integrity":"sha512-OZiSW/8XZePclUU83qZcXHfhCK0qd0rgIG9otoMenCJFcL/jfFcsiFs6Yeztbt3XNY5PlsCX4N/TqqVencQlCQ==","signatures":[{"sig":"MEUCIQCPFPqZCjxLUeHcrOsRMB+SJi9yK2zAroGeVkRxUHE/LAIgG0de9inwPHL9H0L53CFWsSCsWLK4hFPkjiXoY+m7IGc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/qyl-mcp-server@2.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1992524},"main":"dist/server.js","type":"module","types":"dist/server.d.ts","engines":{"node":"24.x"},"exports":{".":{"types":"./dist/server.d.ts","default":"./dist/server.js"},"./telemetry":{"types":"./dist/telemetry.d.ts","default":"./dist/telemetry.js"},"./mcp-semconv":{"types":"./dist/mcp-semconv.d.ts","default":"./dist/mcp-semconv.js"},"./secret-redactor":{"types":"./dist/secret-redactor.d.ts","default":"./dist/secret-redactor.js"},"./execution-result":{"types":"./dist/execution-result.d.ts","default":"./dist/execution-result.js"},"./atomic-json-store":{"types":"./dist/atomic-json-store.d.ts","default":"./dist/atomic-json-store.js"},"./execution-evidence":{"types":"./dist/execution-evidence.d.ts","default":"./dist/execution-evidence.js"},"./contract-validation":{"types":"./dist/contract-validation.d.ts","default":"./dist/contract-validation.js"},"./observability-suppression":{"types":"./dist/observability-suppression.d.ts","default":"./dist/observability-suppression.js"}},"gitHead":"96db5c6b9683b8ef905beafb1201b102bade1a7d","scripts":{"test":"bun run verify:shapes && bun run verify:readme && bun run build && tsc -p tsconfig.test.json && node -e \"const fs=require('node:fs'); for (const name of ['mcp-app.html','mcp-dashboard.html','observe-graph.html']) fs.copyFileSync('dist/'+name,'dist-test/'+name)\" && node --test dist-test/*.test.js","build":"bun run clean && tsc --noEmit && vite build --mode mcp-home && vite build --mode mcp-app && vite build --mode mcp-dashboard && vite build --mode observe-graph && tsc -p tsconfig.server.json && node -e \"require('node:fs').chmodSync('dist/main.js', 0o755)\"","clean":"node -e \"require('node:fs').rmSync('dist', { recursive: true, force: true }); require('node:fs').rmSync('dist-test', { recursive: true, force: true })\"","smoke":"node smoke-test.mjs","prepack":"bun run build","postbuild":"bun run verify:deployment-guidance","verify:readme":"node verify-package-readme.mjs","verify:shapes":"node verify-generated-shapes.mjs","snapshot:tools":"bun run build && tsc -p tsconfig.test.json && node update-tool-manifest-snapshot.mjs","verify:deployment-guidance":"node verify-deployment-guidance.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6f8fbbb5-1cce-46f5-9598-5e92bb3c16f8"}},"repository":{"url":"git+https://github.com/ANcpLua/qyl.mcp.git","type":"git","directory":"server"},"_npmVersion":"12.0.2","description":"qyl telemetry MCP Apps server: trace explorer and MCP dashboard for a live collector or explicit demo mode","directories":{},"_nodeVersion":"24.19.0","dependencies":{"zod":"^4.4.3","jose":"^6.2.3","@opentelemetry/api":"^1.9.1","@opentelemetry/core":"^2.10.0","@ancplua/qyl-api-schema":"7.3.0","@opentelemetry/api-logs":"^0.221.0","@opentelemetry/sdk-logs":"^0.221.0","@opentelemetry/resources":"^2.10.0","@modelcontextprotocol/core":"2.0.0","@opentelemetry/sdk-metrics":"^2.10.0","@modelcontextprotocol/server":"2.0.0","@opentelemetry/sdk-trace-base":"^2.10.0","@opentelemetry/sdk-trace-node":"^2.10.0","@opentelemetry/semantic-conventions":"^1.43.0","@opentelemetry/exporter-logs-otlp-proto":"^0.221.0","@opentelemetry/exporter-trace-otlp-proto":"^0.221.0","@opentelemetry/exporter-metrics-otlp-proto":"^0.221.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"8.2.2","typescript":"7.0.2","@types/node":"26.4.0","vite-plugin-singlefile":"2.3.3","@modelcontextprotocol/client":"2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/qyl-mcp-server_2.0.0_1787959919494_0.9487839260931585","host":"s3://npm-registry-packages-npm-production"}},"2.1.0":{"name":"qyl-mcp-server","version":"2.1.0","license":"MIT","_id":"qyl-mcp-server@2.1.0","maintainers":[{"name":"ancplua","email":"anfh22@outlook.com"}],"homepage":"https://github.com/ANcpLua/qyl.mcp#readme","bugs":{"url":"https://github.com/ANcpLua/qyl.mcp/issues"},"bin":{"qyl-mcp-server":"dist/main.js"},"dist":{"shasum":"27cea41d477ee4f75d2e852259d901c6e34d0a51","tarball":"https://registry.npmjs.org/qyl-mcp-server/-/qyl-mcp-server-2.1.0.tgz","fileCount":97,"integrity":"sha512-/Ib4LbrE+vdvb8HEE94IrUjwfIobXVpZa47hz1ZUeBpW1drRm0I5bAezSrPGLI3Rs9m8rkKSYXdPgxsflCGHyA==","signatures":[{"sig":"MEUCIQC1RnFVl0PLAhOOUicl/nLELeDm9VVQVKAuqxsp7kpargIgbjYmFeVwpom/rvXWbF4mZGRody5KFAHuI6IWPsnhaWM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/qyl-mcp-server@2.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1987780},"main":"dist/server.js","type":"module","types":"dist/server.d.ts","engines":{"node":"24.x"},"exports":{".":{"types":"./dist/server.d.ts","default":"./dist/server.js"},"./telemetry":{"types":"./dist/telemetry.d.ts","default":"./dist/telemetry.js"},"./mcp-semconv":{"types":"./dist/mcp-semconv.d.ts","default":"./dist/mcp-semconv.js"},"./secret-redactor":{"types":"./dist/secret-redactor.d.ts","default":"./dist/secret-redactor.js"},"./execution-result":{"types":"./dist/execution-result.d.ts","default":"./dist/execution-result.js"},"./atomic-json-store":{"types":"./dist/atomic-json-store.d.ts","default":"./dist/atomic-json-store.js"},"./execution-evidence":{"types":"./dist/execution-evidence.d.ts","default":"./dist/execution-evidence.js"},"./contract-validation":{"types":"./dist/contract-validation.d.ts","default":"./dist/contract-validation.js"},"./observability-suppression":{"types":"./dist/observability-suppression.d.ts","default":"./dist/observability-suppression.js"}},"gitHead":"c8346f0ee5bec0a85dae1cbffb70fb7549c038e2","scripts":{"test":"bun run verify:shapes && bun run verify:readme && bun run build && tsc -p tsconfig.test.json && node -e \"const fs=require('node:fs'); for (const name of ['mcp-app.html','mcp-dashboard.html','observe-graph.html']) fs.copyFileSync('dist/'+name,'dist-test/'+name)\" && node --test dist-test/*.test.js","build":"bun run clean && tsc --noEmit && vite build --mode mcp-home && vite build --mode mcp-app && vite build --mode mcp-dashboard && vite build --mode observe-graph && tsc -p tsconfig.server.json && node -e \"require('node:fs').chmodSync('dist/main.js', 0o755)\"","clean":"node -e \"require('node:fs').rmSync('dist', { recursive: true, force: true }); require('node:fs').rmSync('dist-test', { recursive: true, force: true })\"","smoke":"node smoke-test.mjs","prepack":"bun run build","postbuild":"bun run verify:deployment-guidance","verify:readme":"node verify-package-readme.mjs","verify:shapes":"node verify-generated-shapes.mjs","snapshot:tools":"bun run build && tsc -p tsconfig.test.json && node update-tool-manifest-snapshot.mjs","verify:deployment-guidance":"node verify-deployment-guidance.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6f8fbbb5-1cce-46f5-9598-5e92bb3c16f8"}},"repository":{"url":"git+https://github.com/ANcpLua/qyl.mcp.git","type":"git","directory":"server"},"_npmVersion":"12.0.2","description":"qyl telemetry MCP Apps server: trace explorer and MCP dashboard for a live collector or explicit demo mode","directories":{},"_nodeVersion":"24.19.0","dependencies":{"zod":"^4.5.0","jose":"^6.2.3","@opentelemetry/api":"^1.9.1","@opentelemetry/core":"^2.10.0","@ancplua/qyl-api-schema":"7.4.0","@opentelemetry/api-logs":"^0.221.0","@opentelemetry/sdk-logs":"^0.221.0","@opentelemetry/resources":"^2.10.0","@modelcontextprotocol/core":"2.0.0","@opentelemetry/sdk-metrics":"^2.10.0","@modelcontextprotocol/server":"2.0.0","@opentelemetry/sdk-trace-base":"^2.10.0","@opentelemetry/sdk-trace-node":"^2.10.0","@opentelemetry/semantic-conventions":"^1.43.0","@opentelemetry/exporter-logs-otlp-proto":"^0.221.0","@opentelemetry/exporter-trace-otlp-proto":"^0.221.0","@opentelemetry/exporter-metrics-otlp-proto":"^0.221.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"8.2.2","typescript":"7.0.2","@types/node":"26.4.0","vite-plugin-singlefile":"2.3.3","@modelcontextprotocol/client":"2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/qyl-mcp-server_2.1.0_1788312138470_0.5086309997543359","host":"s3://npm-registry-packages-npm-production"}},"3.0.0":{"name":"qyl-mcp-server","version":"3.0.0","license":"MIT","_id":"qyl-mcp-server@3.0.0","maintainers":[{"name":"ancplua","email":"anfh22@outlook.com"}],"homepage":"https://github.com/ANcpLua/qyl.mcp#readme","bugs":{"url":"https://github.com/ANcpLua/qyl.mcp/issues"},"bin":{"qyl-mcp-server":"dist/main.js"},"dist":{"shasum":"47325139a97dbd49874e0f69e05f72595b3f3222","tarball":"https://registry.npmjs.org/qyl-mcp-server/-/qyl-mcp-server-3.0.0.tgz","fileCount":106,"integrity":"sha512-eS/IWqlYkSaF8FZL+xe+ELNDtzrneX2pV3N+t89jvRMq5BTA1i92nWGb/dKt6YFD6CwzR2L9K0KzArNCvR3V9g==","signatures":[{"sig":"MEQCIA+TxwN2cirY0iwyuGuuPUPc/vJ/ZG12FglAvFMUW047AiBwJhjEFfEKP0CR6454hlLhaB2JCL/Bt2FwL4WvYn6cjw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/qyl-mcp-server@3.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2079580},"main":"dist/server.js","type":"module","types":"dist/server.d.ts","engines":{"node":"24.x"},"exports":{".":{"types":"./dist/server.d.ts","default":"./dist/server.js"},"./telemetry":{"types":"./dist/telemetry.d.ts","default":"./dist/telemetry.js"},"./mcp-semconv":{"types":"./dist/mcp-semconv.d.ts","default":"./dist/mcp-semconv.js"},"./secret-redactor":{"types":"./dist/secret-redactor.d.ts","default":"./dist/secret-redactor.js"},"./execution-result":{"types":"./dist/execution-result.d.ts","default":"./dist/execution-result.js"},"./atomic-json-store":{"types":"./dist/atomic-json-store.d.ts","default":"./dist/atomic-json-store.js"},"./execution-evidence":{"types":"./dist/execution-evidence.d.ts","default":"./dist/execution-evidence.js"},"./contract-validation":{"types":"./dist/contract-validation.d.ts","default":"./dist/contract-validation.js"},"./observability-suppression":{"types":"./dist/observability-suppression.d.ts","default":"./dist/observability-suppression.js"}},"gitHead":"1c41db7ce6319e4337461298856ffaf11813cfbd","scripts":{"test":"bun run verify:shapes && bun run verify:readme && bun run build && tsc -p tsconfig.test.json && node -e \"const fs=require('node:fs'); for (const name of ['mcp-app.html','mcp-dashboard.html','observe-graph.html']) fs.copyFileSync('dist/'+name,'dist-test/'+name)\" && node --test dist-test/*.test.js","build":"bun run clean && tsc --noEmit && vite build --mode mcp-home && vite build --mode mcp-app && vite build --mode mcp-dashboard && vite build --mode observe-graph && tsc -p tsconfig.server.json && node -e \"require('node:fs').chmodSync('dist/main.js', 0o755)\"","clean":"node -e \"require('node:fs').rmSync('dist', { recursive: true, force: true }); require('node:fs').rmSync('dist-test', { recursive: true, force: true })\"","smoke":"node smoke-test.mjs","prepack":"bun run build","postbuild":"bun run verify:deployment-guidance","verify:readme":"node verify-package-readme.mjs","verify:shapes":"node verify-generated-shapes.mjs","snapshot:tools":"bun run build && tsc -p tsconfig.test.json && node update-tool-manifest-snapshot.mjs","verify:deployment-guidance":"node verify-deployment-guidance.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6f8fbbb5-1cce-46f5-9598-5e92bb3c16f8"}},"repository":{"url":"git+https://github.com/ANcpLua/qyl.mcp.git","type":"git","directory":"server"},"_npmVersion":"12.0.2","description":"qyl telemetry MCP Apps server: trace explorer and MCP dashboard for a live collector or explicit demo mode","directories":{},"_nodeVersion":"24.19.0","dependencies":{"zod":"^4.5.0","jose":"^6.2.3","@opentelemetry/api":"^1.9.1","@opentelemetry/core":"^2.10.0","@ancplua/qyl-api-schema":"8.0.0","@opentelemetry/api-logs":"^0.221.0","@opentelemetry/sdk-logs":"^0.221.0","@opentelemetry/resources":"^2.10.0","@modelcontextprotocol/core":"2.0.0","@opentelemetry/sdk-metrics":"^2.10.0","@modelcontextprotocol/server":"2.0.0","@opentelemetry/sdk-trace-base":"^2.10.0","@opentelemetry/sdk-trace-node":"^2.10.0","@opentelemetry/semantic-conventions":"^1.43.0","@opentelemetry/exporter-logs-otlp-proto":"^0.221.0","@opentelemetry/exporter-trace-otlp-proto":"^0.221.0","@opentelemetry/exporter-metrics-otlp-proto":"^0.221.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"8.2.2","typescript":"7.0.2","@types/node":"26.4.0","vite-plugin-singlefile":"2.3.3","@modelcontextprotocol/client":"2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/qyl-mcp-server_3.0.0_1788316963517_0.8723105276927774","host":"s3://npm-registry-packages-npm-production"}},"4.0.0":{"name":"qyl-mcp-server","version":"4.0.0","license":"MIT","_id":"qyl-mcp-server@4.0.0","maintainers":[{"name":"ancplua","email":"anfh22@outlook.com"}],"homepage":"https://github.com/ANcpLua/qyl.mcp#readme","bugs":{"url":"https://github.com/ANcpLua/qyl.mcp/issues"},"bin":{"qyl-mcp-server":"dist/main.js"},"dist":{"shasum":"419924ade46b46f29693c0282729e1c2b6be1bec","tarball":"https://registry.npmjs.org/qyl-mcp-server/-/qyl-mcp-server-4.0.0.tgz","fileCount":93,"integrity":"sha512-wk6/2R01RzWC1w5q/7edg5pck6w+r0w+BKJXN0ckAUAwtnuf/MP0cg1EpLVWLnh3l4De1sz8ltnUqnoLYDuf+Q==","signatures":[{"sig":"MEUCIQCGvbMwJ5rG/2rL8vaAdbOOJKdOQ73tWQTaQ8loccaIAQIgeEN3/AWGCoEVhD9sRSc4rG5G6iZJ2PEiPY2IcwODBSQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/qyl-mcp-server@4.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1404515},"main":"dist/server.js","type":"module","types":"dist/server.d.ts","engines":{"node":"24.x"},"exports":{".":{"types":"./dist/server.d.ts","default":"./dist/server.js"},"./telemetry":{"types":"./dist/telemetry.d.ts","default":"./dist/telemetry.js"},"./mcp-semconv":{"types":"./dist/mcp-semconv.d.ts","default":"./dist/mcp-semconv.js"},"./secret-redactor":{"types":"./dist/secret-redactor.d.ts","default":"./dist/secret-redactor.js"},"./execution-result":{"types":"./dist/execution-result.d.ts","default":"./dist/execution-result.js"},"./atomic-json-store":{"types":"./dist/atomic-json-store.d.ts","default":"./dist/atomic-json-store.js"},"./execution-evidence":{"types":"./dist/execution-evidence.d.ts","default":"./dist/execution-evidence.js"},"./contract-validation":{"types":"./dist/contract-validation.d.ts","default":"./dist/contract-validation.js"},"./observability-suppression":{"types":"./dist/observability-suppression.d.ts","default":"./dist/observability-suppression.js"}},"gitHead":"a37769b99ddc15660bf062ecbd3da8d6db7d7b18","scripts":{"test":"bun run verify:shapes && bun run verify:readme && bun run build && tsc -p tsconfig.test.json && node -e \"const fs=require('node:fs'); for (const name of ['mcp-app.html','mcp-dashboard.html']) fs.copyFileSync('dist/'+name,'dist-test/'+name)\" && node --test dist-test/*.test.js","build":"bun run clean && tsc --noEmit && vite build --mode mcp-home && vite build --mode mcp-app && vite build --mode mcp-dashboard && tsc -p tsconfig.server.json && node -e \"require('node:fs').chmodSync('dist/main.js', 0o755)\"","clean":"node -e \"require('node:fs').rmSync('dist', { recursive: true, force: true }); require('node:fs').rmSync('dist-test', { recursive: true, force: true })\"","smoke":"node smoke-test.mjs","prepack":"bun run build","postbuild":"bun run verify:deployment-guidance","verify:readme":"node verify-package-readme.mjs","verify:shapes":"node verify-generated-shapes.mjs","snapshot:tools":"bun run build && tsc -p tsconfig.test.json && node update-tool-manifest-snapshot.mjs","verify:deployment-guidance":"node verify-deployment-guidance.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6f8fbbb5-1cce-46f5-9598-5e92bb3c16f8"}},"repository":{"url":"git+https://github.com/ANcpLua/qyl.mcp.git","type":"git","directory":"server"},"_npmVersion":"12.0.2","description":"qyl telemetry MCP Apps server: trace explorer and MCP dashboard for a live collector or explicit demo mode","directories":{},"_nodeVersion":"24.19.0","dependencies":{"zod":"^4.5.0","jose":"^6.2.3","@opentelemetry/api":"^1.9.1","@opentelemetry/core":"^2.10.0","@ancplua/qyl-api-schema":"9.0.0","@opentelemetry/api-logs":"^0.221.0","@opentelemetry/sdk-logs":"^0.221.0","@opentelemetry/resources":"^2.10.0","@modelcontextprotocol/core":"2.0.0","@opentelemetry/sdk-metrics":"^2.10.0","@modelcontextprotocol/server":"2.0.0","@opentelemetry/sdk-trace-base":"^2.10.0","@opentelemetry/sdk-trace-node":"^2.10.0","@opentelemetry/semantic-conventions":"^1.43.0","@opentelemetry/exporter-logs-otlp-proto":"^0.221.0","@opentelemetry/exporter-trace-otlp-proto":"^0.221.0","@opentelemetry/exporter-metrics-otlp-proto":"^0.221.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"8.2.2","typescript":"7.0.2","@types/node":"26.4.0","vite-plugin-singlefile":"2.3.3","@modelcontextprotocol/client":"2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/qyl-mcp-server_4.0.0_1788407204508_0.9770547962058613","host":"s3://npm-registry-packages-npm-production"}},"4.0.1":{"name":"qyl-mcp-server","version":"4.0.1","license":"MIT","_id":"qyl-mcp-server@4.0.1","maintainers":[{"name":"ancplua","email":"anfh22@outlook.com"}],"homepage":"https://github.com/ANcpLua/qyl.mcp#readme","bugs":{"url":"https://github.com/ANcpLua/qyl.mcp/issues"},"bin":{"qyl-mcp-server":"dist/main.js"},"dist":{"shasum":"24e030f3f60ed01f4e465ab9614c8da16ade6844","tarball":"https://registry.npmjs.org/qyl-mcp-server/-/qyl-mcp-server-4.0.1.tgz","fileCount":93,"integrity":"sha512-rZwo5OTU0Qk4BFxzgAIVzkRu0TdwukqqwsBriTutao3NpCzqEBKiMFeD1wCZOKrlx8wk39bgkfLrbpw7lt5Ukw==","signatures":[{"sig":"MEUCIEIim75GcgvIziMxqE20/L5o+gFMAXfe+hEbY5uiGxD0AiEA66kGxs/9kX8NjnXQmPIdRNKgax7jqgfFsiMNCWkaCOQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCdJILpoPv0l+OTq8Efc1Db8Wi4zqgPNaOeu2/Ob7np1wIhAKZdakA0AcAOLkO4rSshnMD/EzKWtuorqilxELF5GtoG","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/qyl-mcp-server@4.0.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1405341},"main":"dist/server.js","type":"module","types":"dist/server.d.ts","engines":{"node":"24.x"},"exports":{".":{"types":"./dist/server.d.ts","default":"./dist/server.js"},"./telemetry":{"types":"./dist/telemetry.d.ts","default":"./dist/telemetry.js"},"./mcp-semconv":{"types":"./dist/mcp-semconv.d.ts","default":"./dist/mcp-semconv.js"},"./secret-redactor":{"types":"./dist/secret-redactor.d.ts","default":"./dist/secret-redactor.js"},"./execution-result":{"types":"./dist/execution-result.d.ts","default":"./dist/execution-result.js"},"./atomic-json-store":{"types":"./dist/atomic-json-store.d.ts","default":"./dist/atomic-json-store.js"},"./execution-evidence":{"types":"./dist/execution-evidence.d.ts","default":"./dist/execution-evidence.js"},"./contract-validation":{"types":"./dist/contract-validation.d.ts","default":"./dist/contract-validation.js"},"./observability-suppression":{"types":"./dist/observability-suppression.d.ts","default":"./dist/observability-suppression.js"}},"gitHead":"f2078e502d201a9f363d28bcd3112d082e9d34cc","scripts":{"test":"bun run verify:shapes && bun run verify:readme && bun run build && tsc -p tsconfig.test.json && node -e \"const fs=require('node:fs'); for (const name of ['mcp-app.html','mcp-dashboard.html']) fs.copyFileSync('dist/'+name,'dist-test/'+name)\" && node --test dist-test/*.test.js","build":"bun run clean && tsc --noEmit && vite build --mode mcp-home && vite build --mode mcp-app && vite build --mode mcp-dashboard && tsc -p tsconfig.server.json && node -e \"require('node:fs').chmodSync('dist/main.js', 0o755)\"","clean":"node -e \"require('node:fs').rmSync('dist', { recursive: true, force: true }); require('node:fs').rmSync('dist-test', { recursive: true, force: true })\"","smoke":"node smoke-test.mjs","prepack":"bun run build","postbuild":"bun run verify:deployment-guidance","verify:readme":"node verify-package-readme.mjs","verify:shapes":"node verify-generated-shapes.mjs","snapshot:tools":"bun run build && tsc -p tsconfig.test.json && node update-tool-manifest-snapshot.mjs","verify:deployment-guidance":"node verify-deployment-guidance.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6f8fbbb5-1cce-46f5-9598-5e92bb3c16f8"}},"repository":{"url":"git+https://github.com/ANcpLua/qyl.mcp.git","type":"git","directory":"server"},"_npmVersion":"12.0.2","description":"qyl telemetry MCP Apps server: trace explorer and MCP dashboard for a live collector or explicit demo mode","directories":{},"_nodeVersion":"24.20.0","dependencies":{"zod":"^4.5.4","jose":"^6.2.10","@opentelemetry/api":"^1.9.1","@opentelemetry/core":"^2.11.0","@ancplua/qyl-api-schema":"9.0.0","@opentelemetry/api-logs":"^0.222.0","@opentelemetry/sdk-logs":"^0.222.0","@opentelemetry/resources":"^2.11.0","@modelcontextprotocol/core":"2.0.0","@opentelemetry/sdk-metrics":"^2.11.0","@modelcontextprotocol/server":"2.0.0","@opentelemetry/sdk-trace-base":"^2.11.0","@opentelemetry/sdk-trace-node":"^2.11.0","@opentelemetry/semantic-conventions":"^1.43.0","@opentelemetry/exporter-logs-otlp-proto":"^0.222.0","@opentelemetry/exporter-trace-otlp-proto":"^0.222.0","@opentelemetry/exporter-metrics-otlp-proto":"^0.222.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"8.2.2","typescript":"7.0.2","@types/node":"26.4.1","vite-plugin-singlefile":"2.3.3","@modelcontextprotocol/client":"2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/qyl-mcp-server_4.0.1_1788507958557_0.9523026936894747","host":"s3://npm-registry-packages-npm-production"}},"5.0.0":{"name":"qyl-mcp-server","version":"5.0.0","license":"MIT","_id":"qyl-mcp-server@5.0.0","maintainers":[{"name":"ancplua","email":"anfh22@outlook.com"}],"homepage":"https://github.com/ANcpLua/qyl.mcp#readme","bugs":{"url":"https://github.com/ANcpLua/qyl.mcp/issues"},"bin":{"qyl-mcp-server":"dist/main.js"},"dist":{"shasum":"459222dd280ffe50c9581b1f39e80a0c9d35ccc4","tarball":"https://registry.npmjs.org/qyl-mcp-server/-/qyl-mcp-server-5.0.0.tgz","fileCount":93,"integrity":"sha512-ie2XOp4G7/dzhS+JyPMm8oMvBCH2XKNvkypAg7tjAMQmD4/5s4jnfa88EHFXCT1cTvsj2oF4MP2kGr6bOhkSzg==","signatures":[{"sig":"MEUCIQCJz6/cKsx0MLvmd8+9Ubf7g6V2vMz2RpOWUyYIUF+g3QIgZyo+obuHDXPgBoFEdcS28Eqw9ETzE8rtqmg7NqS9JJg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIDJsY5N67eySmZnG/UlUenPknN+MDJquRORE2WCxvFdsAiAIvF4fzBAL3gjP7ZSbalJvUoqFjcsf0AFq6B6Rz4H4mA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/qyl-mcp-server@5.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1406071},"main":"dist/server.js","type":"module","types":"dist/server.d.ts","engines":{"node":"24.x"},"exports":{".":{"types":"./dist/server.d.ts","default":"./dist/server.js"},"./telemetry":{"types":"./dist/telemetry.d.ts","default":"./dist/telemetry.js"},"./mcp-semconv":{"types":"./dist/mcp-semconv.d.ts","default":"./dist/mcp-semconv.js"},"./secret-redactor":{"types":"./dist/secret-redactor.d.ts","default":"./dist/secret-redactor.js"},"./execution-result":{"types":"./dist/execution-result.d.ts","default":"./dist/execution-result.js"},"./atomic-json-store":{"types":"./dist/atomic-json-store.d.ts","default":"./dist/atomic-json-store.js"},"./execution-evidence":{"types":"./dist/execution-evidence.d.ts","default":"./dist/execution-evidence.js"},"./contract-validation":{"types":"./dist/contract-validation.d.ts","default":"./dist/contract-validation.js"},"./observability-suppression":{"types":"./dist/observability-suppression.d.ts","default":"./dist/observability-suppression.js"}},"gitHead":"b037b877aac4968f72d782bb9f27e4ba47fd8a73","scripts":{"test":"bun run verify:shapes && bun run verify:readme && bun run build && tsc -p tsconfig.test.json && node -e \"const fs=require('node:fs'); for (const name of ['mcp-app.html','mcp-dashboard.html']) fs.copyFileSync('dist/'+name,'dist-test/'+name)\" && node --test dist-test/*.test.js","build":"bun run clean && tsc --noEmit && vite build --mode mcp-home && vite build --mode mcp-app && vite build --mode mcp-dashboard && tsc -p tsconfig.server.json && node -e \"require('node:fs').chmodSync('dist/main.js', 0o755)\"","clean":"node -e \"require('node:fs').rmSync('dist', { recursive: true, force: true }); require('node:fs').rmSync('dist-test', { recursive: true, force: true })\"","smoke":"node smoke-test.mjs","prepack":"bun run build","postbuild":"bun run verify:deployment-guidance","verify:readme":"node verify-package-readme.mjs","verify:shapes":"node verify-generated-shapes.mjs","snapshot:tools":"bun run build && tsc -p tsconfig.test.json && node update-tool-manifest-snapshot.mjs","verify:deployment-guidance":"node verify-deployment-guidance.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6f8fbbb5-1cce-46f5-9598-5e92bb3c16f8"}},"repository":{"url":"git+https://github.com/ANcpLua/qyl.mcp.git","type":"git","directory":"server"},"_npmVersion":"12.0.2","description":"qyl telemetry MCP Apps server: trace explorer and MCP dashboard for a live collector or explicit demo mode","directories":{},"_nodeVersion":"24.20.0","dependencies":{"zod":"^4.5.4","jose":"^6.2.10","@opentelemetry/api":"^1.9.1","@opentelemetry/core":"^2.11.0","@ancplua/qyl-api-schema":"10.0.0","@opentelemetry/api-logs":"^0.222.0","@opentelemetry/sdk-logs":"^0.222.0","@opentelemetry/resources":"^2.11.0","@modelcontextprotocol/core":"2.0.0","@opentelemetry/sdk-metrics":"^2.11.0","@modelcontextprotocol/server":"2.0.0","@opentelemetry/sdk-trace-base":"^2.11.0","@opentelemetry/sdk-trace-node":"^2.11.0","@opentelemetry/semantic-conventions":"^1.43.0","@opentelemetry/exporter-logs-otlp-proto":"^0.222.0","@opentelemetry/exporter-trace-otlp-proto":"^0.222.0","@opentelemetry/exporter-metrics-otlp-proto":"^0.222.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"8.2.2","typescript":"7.0.2","@types/node":"26.4.1","vite-plugin-singlefile":"2.3.3","@modelcontextprotocol/client":"2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/qyl-mcp-server_5.0.0_1788763552230_0.12808362778102378","host":"s3://npm-registry-packages-npm-production"}},"5.1.0":{"name":"qyl-mcp-server","version":"5.1.0","license":"MIT","_id":"qyl-mcp-server@5.1.0","maintainers":[{"name":"ancplua","email":"anfh22@outlook.com"}],"homepage":"https://github.com/ANcpLua/qyl.mcp#readme","bugs":{"url":"https://github.com/ANcpLua/qyl.mcp/issues"},"bin":{"qyl-mcp-server":"dist/main.js"},"dist":{"shasum":"fd11e54c77081e3ed1560cba2607ea8efbe27e1f","tarball":"https://registry.npmjs.org/qyl-mcp-server/-/qyl-mcp-server-5.1.0.tgz","fileCount":96,"integrity":"sha512-sZHPThE1yR5xwC/DbACpZrD4+8Y+E4oexv+eoxdNtyWhrizjicG+XgRIt1/Ydu4vXUfSZ3OsA3MSm5X9Hve1fA==","signatures":[{"sig":"MEQCIGJ1x9IaMRNkYQCzE9Pzix/Tqxja4i2tWZ1U5nQuHsulAiBoDeRaQ98PEhVs0Mn+VjOWP7+vp2FH2B0QtYsXz1fBFA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIDBDkguBxdgbHt2kEAHWRhAb+UTdPoqdtOYLFz34d942AiB31FviK31rpCQRyoTUefTUSJG3bFMBrEIoIA4dUarWAw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/qyl-mcp-server@5.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1412359},"main":"dist/server.js","type":"module","types":"dist/server.d.ts","engines":{"node":"24.x"},"exports":{".":{"types":"./dist/server.d.ts","default":"./dist/server.js"},"./telemetry":{"types":"./dist/telemetry.d.ts","default":"./dist/telemetry.js"},"./mcp-semconv":{"types":"./dist/mcp-semconv.d.ts","default":"./dist/mcp-semconv.js"},"./secret-redactor":{"types":"./dist/secret-redactor.d.ts","default":"./dist/secret-redactor.js"},"./contract-headers":{"types":"./dist/contract-headers.d.ts","default":"./dist/contract-headers.js"},"./execution-result":{"types":"./dist/execution-result.d.ts","default":"./dist/execution-result.js"},"./atomic-json-store":{"types":"./dist/atomic-json-store.d.ts","default":"./dist/atomic-json-store.js"},"./execution-evidence":{"types":"./dist/execution-evidence.d.ts","default":"./dist/execution-evidence.js"},"./contract-validation":{"types":"./dist/contract-validation.d.ts","default":"./dist/contract-validation.js"},"./observability-suppression":{"types":"./dist/observability-suppression.d.ts","default":"./dist/observability-suppression.js"}},"gitHead":"13b3b1b7294bfde44d9b459cd7fac21c6cfc580a","scripts":{"test":"bun run verify:shapes && bun run verify:readme && bun run build && tsc -p tsconfig.test.json && node -e \"const fs=require('node:fs'); for (const name of ['mcp-app.html','mcp-dashboard.html']) fs.copyFileSync('dist/'+name,'dist-test/'+name)\" && node --test dist-test/*.test.js","build":"bun run clean && tsc --noEmit && vite build --mode mcp-home && vite build --mode mcp-app && vite build --mode mcp-dashboard && tsc -p tsconfig.server.json && node -e \"require('node:fs').chmodSync('dist/main.js', 0o755)\"","clean":"node -e \"require('node:fs').rmSync('dist', { recursive: true, force: true }); require('node:fs').rmSync('dist-test', { recursive: true, force: true })\"","smoke":"node smoke-test.mjs","prepack":"bun run build","postbuild":"bun run verify:deployment-guidance","smoke:live":"node live-tools-smoke.mjs","verify:readme":"node verify-package-readme.mjs","verify:shapes":"node verify-generated-shapes.mjs","snapshot:tools":"bun run build && tsc -p tsconfig.test.json && node update-tool-manifest-snapshot.mjs","verify:deployment-guidance":"node verify-deployment-guidance.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6f8fbbb5-1cce-46f5-9598-5e92bb3c16f8"}},"repository":{"url":"git+https://github.com/ANcpLua/qyl.mcp.git","type":"git","directory":"server"},"_npmVersion":"12.0.2","description":"qyl telemetry MCP Apps server: trace explorer and MCP dashboard for a live collector or explicit demo mode","directories":{},"_nodeVersion":"24.20.0","dependencies":{"zod":"^4.5.4","jose":"^6.2.10","@opentelemetry/api":"^1.9.1","@opentelemetry/core":"^2.11.0","@ancplua/qyl-api-schema":"10.0.1","@opentelemetry/api-logs":"^0.222.0","@opentelemetry/sdk-logs":"^0.222.0","@opentelemetry/resources":"^2.11.0","@modelcontextprotocol/core":"2.0.0","@opentelemetry/sdk-metrics":"^2.11.0","@modelcontextprotocol/server":"2.0.0","@opentelemetry/sdk-trace-base":"^2.11.0","@opentelemetry/sdk-trace-node":"^2.11.0","@opentelemetry/semantic-conventions":"^1.43.0","@opentelemetry/exporter-logs-otlp-proto":"^0.222.0","@opentelemetry/exporter-trace-otlp-proto":"^0.222.0","@opentelemetry/exporter-metrics-otlp-proto":"^0.222.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"8.2.2","typescript":"7.0.2","@types/node":"26.4.1","vite-plugin-singlefile":"2.3.3","@modelcontextprotocol/client":"2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/qyl-mcp-server_5.1.0_1789114313629_0.5485148475274026","host":"s3://npm-registry-packages-npm-production"}},"5.2.0":{"name":"qyl-mcp-server","version":"5.2.0","license":"MIT","_id":"qyl-mcp-server@5.2.0","maintainers":[{"name":"ancplua","email":"anfh22@outlook.com"}],"homepage":"https://github.com/ANcpLua/qyl.mcp#readme","bugs":{"url":"https://github.com/ANcpLua/qyl.mcp/issues"},"bin":{"qyl-mcp-server":"dist/main.js"},"dist":{"shasum":"893f6c6b220df4acfc04d639101412c73263a647","tarball":"https://registry.npmjs.org/qyl-mcp-server/-/qyl-mcp-server-5.2.0.tgz","fileCount":96,"integrity":"sha512-ASEQnm3dg9Ii26j+26zK/75cIVI43W7u9zso/qbIvI4eErmtdppBIbz4KT+k5SIfZof4xpxZbrYGPLcss5uHyQ==","signatures":[{"sig":"MEYCIQCcro98JPVjCS1ab/v2msJEugpkL8w8uwHeyUZfM1+/DAIhAOkWQg3RllCVmw+TaPBfjKdLs6yQw3Pz+twRjBKB9LiE","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIHQzvvPsn+yMcrdaDTNLkGB7hod5iajSw/AcRrvL4nUuAiEAjd6/8UGZFwbE1mtC++ByLtW5bZCn8ao290yynFQle9E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/qyl-mcp-server@5.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1412089},"main":"dist/server.js","type":"module","types":"dist/server.d.ts","engines":{"node":"24.x"},"exports":{".":{"types":"./dist/server.d.ts","default":"./dist/server.js"},"./telemetry":{"types":"./dist/telemetry.d.ts","default":"./dist/telemetry.js"},"./mcp-semconv":{"types":"./dist/mcp-semconv.d.ts","default":"./dist/mcp-semconv.js"},"./secret-redactor":{"types":"./dist/secret-redactor.d.ts","default":"./dist/secret-redactor.js"},"./contract-headers":{"types":"./dist/contract-headers.d.ts","default":"./dist/contract-headers.js"},"./execution-result":{"types":"./dist/execution-result.d.ts","default":"./dist/execution-result.js"},"./atomic-json-store":{"types":"./dist/atomic-json-store.d.ts","default":"./dist/atomic-json-store.js"},"./execution-evidence":{"types":"./dist/execution-evidence.d.ts","default":"./dist/execution-evidence.js"},"./contract-validation":{"types":"./dist/contract-validation.d.ts","default":"./dist/contract-validation.js"},"./observability-suppression":{"types":"./dist/observability-suppression.d.ts","default":"./dist/observability-suppression.js"}},"gitHead":"04e523216374065a294c7d2969683fe32dbfcee0","scripts":{"test":"bun run verify:shapes && bun run verify:readme && bun run build && tsc -p tsconfig.test.json && node -e \"const fs=require('node:fs'); for (const name of ['mcp-app.html','mcp-dashboard.html']) fs.copyFileSync('dist/'+name,'dist-test/'+name)\" && node --test dist-test/*.test.js","build":"bun run clean && tsc --noEmit && vite build --mode mcp-home && vite build --mode mcp-app && vite build --mode mcp-dashboard && tsc -p tsconfig.server.json && node -e \"require('node:fs').chmodSync('dist/main.js', 0o755)\"","clean":"node -e \"require('node:fs').rmSync('dist', { recursive: true, force: true }); require('node:fs').rmSync('dist-test', { recursive: true, force: true })\"","smoke":"node smoke-test.mjs","prepack":"bun run build","postbuild":"bun run verify:deployment-guidance","smoke:live":"node live-tools-smoke.mjs","verify:readme":"node verify-package-readme.mjs","verify:shapes":"node verify-generated-shapes.mjs","snapshot:tools":"bun run build && tsc -p tsconfig.test.json && node update-tool-manifest-snapshot.mjs","verify:deployment-guidance":"node verify-deployment-guidance.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6f8fbbb5-1cce-46f5-9598-5e92bb3c16f8"}},"repository":{"url":"git+https://github.com/ANcpLua/qyl.mcp.git","type":"git","directory":"server"},"_npmVersion":"12.0.2","description":"qyl telemetry MCP Apps server: trace explorer and MCP dashboard for a live collector or explicit demo mode","directories":{},"_nodeVersion":"24.20.0","dependencies":{"zod":"^4.5.4","jose":"^6.2.10","@opentelemetry/api":"^1.9.1","@opentelemetry/core":"^2.11.0","@ancplua/qyl-api-schema":"10.0.1","@opentelemetry/api-logs":"^0.222.0","@opentelemetry/sdk-logs":"^0.222.0","@opentelemetry/resources":"^2.11.0","@modelcontextprotocol/core":"2.0.0","@opentelemetry/sdk-metrics":"^2.11.0","@modelcontextprotocol/server":"2.0.0","@opentelemetry/sdk-trace-base":"^2.11.0","@opentelemetry/sdk-trace-node":"^2.11.0","@opentelemetry/semantic-conventions":"^1.43.0","@opentelemetry/exporter-logs-otlp-proto":"^0.222.0","@opentelemetry/exporter-trace-otlp-proto":"^0.222.0","@opentelemetry/exporter-metrics-otlp-proto":"^0.222.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"8.2.2","typescript":"7.0.2","@types/node":"26.4.1","vite-plugin-singlefile":"2.3.3","@modelcontextprotocol/client":"2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/qyl-mcp-server_5.2.0_1789194729819_0.5442123177554334","host":"s3://npm-registry-packages-npm-production"}},"6.0.0":{"name":"qyl-mcp-server","version":"6.0.0","license":"MIT","_id":"qyl-mcp-server@6.0.0","maintainers":[{"name":"ancplua","email":"anfh22@outlook.com"}],"homepage":"https://github.com/ANcpLua/qyl.mcp#readme","bugs":{"url":"https://github.com/ANcpLua/qyl.mcp/issues"},"bin":{"qyl-mcp-server":"dist/main.js"},"dist":{"shasum":"a5653ab0b38d35166413dda3c4643a1d8b2c6ba9","tarball":"https://registry.npmjs.org/qyl-mcp-server/-/qyl-mcp-server-6.0.0.tgz","fileCount":96,"integrity":"sha512-OWbxypc6PDOh4qh1eeWbin/KXQekeAzpdVVOicHtbjUZlo1yAceQ62XBr7jRtk18sT+BI2yeQ5QDkTGcE28s4w==","signatures":[{"sig":"MEUCIAWeCy+xgsI+oqPVT2I4qZ8a9+4LAfbbir9TmC4S1nbWAiEA/22h1QlBuBD0S2C/8A/02C1FSKqtFldh3A2Yu42I5Zg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIBmPQHrbc8x3A/hq8wbg528kuhyHl7In+wJb8BQT8+JjAiEA5vbpHX9ChieGZ5WVMDWJoRXS+qzxb2Szb9E+uWelZ2o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/qyl-mcp-server@6.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1413670},"main":"dist/server.js","type":"module","types":"dist/server.d.ts","engines":{"node":"24.x"},"exports":{".":{"types":"./dist/server.d.ts","default":"./dist/server.js"},"./telemetry":{"types":"./dist/telemetry.d.ts","default":"./dist/telemetry.js"},"./mcp-semconv":{"types":"./dist/mcp-semconv.d.ts","default":"./dist/mcp-semconv.js"},"./secret-redactor":{"types":"./dist/secret-redactor.d.ts","default":"./dist/secret-redactor.js"},"./contract-headers":{"types":"./dist/contract-headers.d.ts","default":"./dist/contract-headers.js"},"./execution-result":{"types":"./dist/execution-result.d.ts","default":"./dist/execution-result.js"},"./atomic-json-store":{"types":"./dist/atomic-json-store.d.ts","default":"./dist/atomic-json-store.js"},"./execution-evidence":{"types":"./dist/execution-evidence.d.ts","default":"./dist/execution-evidence.js"},"./contract-validation":{"types":"./dist/contract-validation.d.ts","default":"./dist/contract-validation.js"},"./observability-suppression":{"types":"./dist/observability-suppression.d.ts","default":"./dist/observability-suppression.js"}},"gitHead":"f2ef16208ee74061f734a3a158a695454ffb4ba8","scripts":{"test":"bun run verify:shapes && bun run verify:readme && bun run build && tsc -p tsconfig.test.json && node -e \"const fs=require('node:fs'); for (const name of ['mcp-app.html','mcp-dashboard.html']) fs.copyFileSync('dist/'+name,'dist-test/'+name)\" && node --test dist-test/*.test.js","build":"bun run clean && tsc --noEmit && vite build --mode mcp-home && vite build --mode mcp-app && vite build --mode mcp-dashboard && tsc -p tsconfig.server.json && node -e \"require('node:fs').chmodSync('dist/main.js', 0o755)\"","clean":"node -e \"require('node:fs').rmSync('dist', { recursive: true, force: true }); require('node:fs').rmSync('dist-test', { recursive: true, force: true })\"","smoke":"node smoke-test.mjs","prepack":"bun run build","postbuild":"bun run verify:deployment-guidance","smoke:live":"node live-tools-smoke.mjs","verify:readme":"node verify-package-readme.mjs","verify:shapes":"node verify-generated-shapes.mjs","snapshot:tools":"bun run build && tsc -p tsconfig.test.json && node update-tool-manifest-snapshot.mjs","verify:deployment-guidance":"node verify-deployment-guidance.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6f8fbbb5-1cce-46f5-9598-5e92bb3c16f8"}},"repository":{"url":"git+https://github.com/ANcpLua/qyl.mcp.git","type":"git","directory":"server"},"_npmVersion":"12.0.2","description":"qyl telemetry MCP Apps server: trace explorer and MCP dashboard for a live collector or explicit demo mode","directories":{},"_nodeVersion":"24.20.0","dependencies":{"zod":"^4.5.4","jose":"^6.2.10","@opentelemetry/api":"^1.9.1","@opentelemetry/core":"^2.11.0","@ancplua/qyl-api-schema":"10.0.1","@opentelemetry/api-logs":"^0.222.0","@opentelemetry/sdk-logs":"^0.222.0","@opentelemetry/resources":"^2.11.0","@modelcontextprotocol/core":"2.0.0","@opentelemetry/sdk-metrics":"^2.11.0","@modelcontextprotocol/server":"2.0.0","@opentelemetry/sdk-trace-base":"^2.11.0","@opentelemetry/sdk-trace-node":"^2.11.0","@opentelemetry/semantic-conventions":"^1.43.0","@opentelemetry/exporter-logs-otlp-proto":"^0.222.0","@opentelemetry/exporter-trace-otlp-proto":"^0.222.0","@opentelemetry/exporter-metrics-otlp-proto":"^0.222.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"8.2.2","typescript":"7.0.2","@types/node":"26.4.1","vite-plugin-singlefile":"2.3.3","@modelcontextprotocol/client":"2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/qyl-mcp-server_6.0.0_1789209246057_0.6150146304659176","host":"s3://npm-registry-packages-npm-production"}},"6.1.0":{"name":"qyl-mcp-server","version":"6.1.0","license":"MIT","_id":"qyl-mcp-server@6.1.0","maintainers":[{"name":"ancplua","email":"anfh22@outlook.com"}],"homepage":"https://github.com/ANcpLua/qyl.mcp#readme","bugs":{"url":"https://github.com/ANcpLua/qyl.mcp/issues"},"bin":{"qyl-mcp-server":"dist/main.js"},"dist":{"shasum":"6ecd0514dc803dcb8e0d51eafd089e17f43c1fc4","tarball":"https://registry.npmjs.org/qyl-mcp-server/-/qyl-mcp-server-6.1.0.tgz","fileCount":99,"integrity":"sha512-EXKhUbFEcilLsbnwYytuXxmxO1HTgkB7CRTSlR1d7cjg9ePPPT5ztdSmR8dYU/hR+0wANDlddZU+Wo3Tck59Tw==","signatures":[{"sig":"MEUCIFzsUvS+wUFHpYC6Y2aOm2l0AylRctP4y26C0LDTdXsEAiEAl1wfG+1N94ty4fA23KUNgMs0ZMn1FjVSRHZiDhhHkGs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIHsnvSc4L4xkS10H8cm1signWyeOqwzbO+gb51DAch7hAiAERfEOmlloSB0l0YauObNAVA+7pkmSSveEjMsWsqWWsw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/qyl-mcp-server@6.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1427806},"main":"dist/server.js","type":"module","types":"dist/server.d.ts","engines":{"node":"24.x"},"exports":{".":{"types":"./dist/server.d.ts","default":"./dist/server.js"},"./telemetry":{"types":"./dist/telemetry.d.ts","default":"./dist/telemetry.js"},"./mcp-semconv":{"types":"./dist/mcp-semconv.d.ts","default":"./dist/mcp-semconv.js"},"./secret-redactor":{"types":"./dist/secret-redactor.d.ts","default":"./dist/secret-redactor.js"},"./contract-headers":{"types":"./dist/contract-headers.d.ts","default":"./dist/contract-headers.js"},"./execution-result":{"types":"./dist/execution-result.d.ts","default":"./dist/execution-result.js"},"./atomic-json-store":{"types":"./dist/atomic-json-store.d.ts","default":"./dist/atomic-json-store.js"},"./execution-evidence":{"types":"./dist/execution-evidence.d.ts","default":"./dist/execution-evidence.js"},"./contract-validation":{"types":"./dist/contract-validation.d.ts","default":"./dist/contract-validation.js"},"./observability-suppression":{"types":"./dist/observability-suppression.d.ts","default":"./dist/observability-suppression.js"}},"gitHead":"ba52dea2930696a9eb1a9276eace14f4db4f4f84","scripts":{"test":"bun run verify:shapes && bun run verify:readme && bun run build && tsc -p tsconfig.test.json && node -e \"const fs=require('node:fs'); for (const name of ['mcp-app.html','mcp-dashboard.html']) fs.copyFileSync('dist/'+name,'dist-test/'+name)\" && node --test dist-test/*.test.js","build":"bun run clean && tsc --noEmit && vite build --mode mcp-home && vite build --mode mcp-app && vite build --mode mcp-dashboard && tsc -p tsconfig.server.json && node -e \"require('node:fs').chmodSync('dist/main.js', 0o755)\"","clean":"node -e \"require('node:fs').rmSync('dist', { recursive: true, force: true }); require('node:fs').rmSync('dist-test', { recursive: true, force: true })\"","smoke":"node smoke-test.mjs","prepack":"bun run build","postbuild":"bun run verify:deployment-guidance","smoke:live":"node live-tools-smoke.mjs","verify:readme":"node verify-package-readme.mjs","verify:shapes":"node verify-generated-shapes.mjs","snapshot:tools":"bun run build && tsc -p tsconfig.test.json && node update-tool-manifest-snapshot.mjs","verify:deployment-guidance":"node verify-deployment-guidance.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6f8fbbb5-1cce-46f5-9598-5e92bb3c16f8"}},"repository":{"url":"git+https://github.com/ANcpLua/qyl.mcp.git","type":"git","directory":"server"},"_npmVersion":"12.0.2","description":"qyl telemetry MCP Apps server: trace explorer and MCP dashboard for a live collector or explicit demo mode","directories":{},"_nodeVersion":"24.20.0","dependencies":{"zod":"^4.5.4","jose":"^6.2.10","@opentelemetry/api":"^1.9.1","@opentelemetry/core":"^2.11.0","@ancplua/qyl-api-schema":"10.0.1","@opentelemetry/api-logs":"^0.222.0","@opentelemetry/sdk-logs":"^0.222.0","@opentelemetry/resources":"^2.11.0","@modelcontextprotocol/core":"2.0.0","@opentelemetry/sdk-metrics":"^2.11.0","@modelcontextprotocol/server":"2.0.0","@opentelemetry/sdk-trace-base":"^2.11.0","@opentelemetry/sdk-trace-node":"^2.11.0","@opentelemetry/semantic-conventions":"^1.43.0","@opentelemetry/exporter-logs-otlp-proto":"^0.222.0","@opentelemetry/exporter-trace-otlp-proto":"^0.222.0","@opentelemetry/exporter-metrics-otlp-proto":"^0.222.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"8.2.2","typescript":"7.0.2","@types/node":"26.4.1","vite-plugin-singlefile":"2.3.3","@modelcontextprotocol/client":"2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/qyl-mcp-server_6.1.0_1789231289591_0.635596803781084","host":"s3://npm-registry-packages-npm-production"}},"6.1.1":{"name":"qyl-mcp-server","version":"6.1.1","license":"MIT","_id":"qyl-mcp-server@6.1.1","maintainers":[{"name":"ancplua","email":"anfh22@outlook.com"}],"homepage":"https://github.com/ANcpLua/qyl.mcp#readme","bugs":{"url":"https://github.com/ANcpLua/qyl.mcp/issues"},"bin":{"qyl-mcp-server":"dist/main.js"},"dist":{"shasum":"3db8b34fbc29ad99cffa7596ba9f6240bcb63317","tarball":"https://registry.npmjs.org/qyl-mcp-server/-/qyl-mcp-server-6.1.1.tgz","fileCount":99,"integrity":"sha512-OgWtbGJtnwF7YF6it+yhzmVW0Lpy0xXoFAGxJo85tj0kEMjHBO/dZ40brU4IZUEhOMpUIj2204nlRUpPlmSQ7Q==","signatures":[{"sig":"MEUCIHXqHasMR9CXL+GnVzDlknTlRynUuMp1vPUSAn6NvGbpAiEAllGz4GI7SjxDiqiUJ5iCBkDcPqrZKmyYm8nJjm0W0VY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIB0TDgt0OpDtdRiLNs1CKGU9t2djOGYcedzmKeyj05OeAiBF+dQGkbMpuNW9Obr+2xjjN6drt9Q2BRiXN5HcVmKBhw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/qyl-mcp-server@6.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1428526},"main":"dist/server.js","type":"module","types":"dist/server.d.ts","engines":{"node":"24.x"},"exports":{".":{"types":"./dist/server.d.ts","default":"./dist/server.js"},"./telemetry":{"types":"./dist/telemetry.d.ts","default":"./dist/telemetry.js"},"./mcp-semconv":{"types":"./dist/mcp-semconv.d.ts","default":"./dist/mcp-semconv.js"},"./secret-redactor":{"types":"./dist/secret-redactor.d.ts","default":"./dist/secret-redactor.js"},"./contract-headers":{"types":"./dist/contract-headers.d.ts","default":"./dist/contract-headers.js"},"./execution-result":{"types":"./dist/execution-result.d.ts","default":"./dist/execution-result.js"},"./atomic-json-store":{"types":"./dist/atomic-json-store.d.ts","default":"./dist/atomic-json-store.js"},"./execution-evidence":{"types":"./dist/execution-evidence.d.ts","default":"./dist/execution-evidence.js"},"./contract-validation":{"types":"./dist/contract-validation.d.ts","default":"./dist/contract-validation.js"},"./observability-suppression":{"types":"./dist/observability-suppression.d.ts","default":"./dist/observability-suppression.js"}},"gitHead":"8c7d00c7aa0d393c8553d91dadf4a130a80a6979","scripts":{"test":"bun run verify:shapes && bun run verify:readme && bun run verify:frame && bun run build && tsc -p tsconfig.test.json && node -e \"const fs=require('node:fs'); for (const name of ['mcp-app.html','mcp-dashboard.html']) fs.copyFileSync('dist/'+name,'dist-test/'+name)\" && node --test dist-test/*.test.js","build":"bun run clean && tsc --noEmit && vite build --mode mcp-home && vite build --mode mcp-app && vite build --mode mcp-dashboard && tsc -p tsconfig.server.json && node -e \"require('node:fs').chmodSync('dist/main.js', 0o755)\"","clean":"node -e \"require('node:fs').rmSync('dist', { recursive: true, force: true }); require('node:fs').rmSync('dist-test', { recursive: true, force: true })\"","smoke":"node smoke-test.mjs","prepack":"bun run build","postbuild":"bun run verify:deployment-guidance","smoke:live":"node live-tools-smoke.mjs","verify:frame":"node verify-tool-frame.mjs","verify:readme":"node verify-package-readme.mjs","verify:shapes":"node verify-generated-shapes.mjs","snapshot:tools":"bun run build && tsc -p tsconfig.test.json && node update-tool-manifest-snapshot.mjs","verify:deployment-guidance":"node verify-deployment-guidance.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6f8fbbb5-1cce-46f5-9598-5e92bb3c16f8"}},"repository":{"url":"git+https://github.com/ANcpLua/qyl.mcp.git","type":"git","directory":"server"},"_npmVersion":"12.0.2","description":"qyl telemetry MCP Apps server: trace explorer and MCP dashboard for a live collector or explicit demo mode","directories":{},"_nodeVersion":"24.20.0","dependencies":{"zod":"^4.5.4","jose":"^6.2.10","@opentelemetry/api":"^1.9.1","@opentelemetry/core":"^2.11.0","@ancplua/qyl-api-schema":"10.0.1","@opentelemetry/api-logs":"^0.222.0","@opentelemetry/sdk-logs":"^0.222.0","@opentelemetry/resources":"^2.11.0","@modelcontextprotocol/core":"2.0.0","@opentelemetry/sdk-metrics":"^2.11.0","@modelcontextprotocol/server":"2.0.0","@opentelemetry/sdk-trace-base":"^2.11.0","@opentelemetry/sdk-trace-node":"^2.11.0","@opentelemetry/semantic-conventions":"^1.43.0","@opentelemetry/exporter-logs-otlp-proto":"^0.222.0","@opentelemetry/exporter-trace-otlp-proto":"^0.222.0","@opentelemetry/exporter-metrics-otlp-proto":"^0.222.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"8.2.2","typescript":"7.0.2","@types/node":"26.4.1","vite-plugin-singlefile":"2.3.3","@modelcontextprotocol/client":"2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/qyl-mcp-server_6.1.1_1789232178355_0.16952265279729772","host":"s3://npm-registry-packages-npm-production"}},"6.1.2":{"name":"qyl-mcp-server","version":"6.1.2","license":"MIT","_id":"qyl-mcp-server@6.1.2","maintainers":[{"name":"ancplua","email":"anfh22@outlook.com"}],"homepage":"https://github.com/ANcpLua/qyl.mcp#readme","bugs":{"url":"https://github.com/ANcpLua/qyl.mcp/issues"},"bin":{"qyl-mcp-server":"dist/main.js"},"dist":{"shasum":"0b909da01efd654b035ec0d873b9b8fe56ea619f","tarball":"https://registry.npmjs.org/qyl-mcp-server/-/qyl-mcp-server-6.1.2.tgz","fileCount":99,"integrity":"sha512-opRXM15pgkZcJ4dzYUP3ye6ewOY4EXkY+hyeA0bV5Hdig7/u0F3RuEUZiJ4uvh1Q6GiDjSx4uT3/Fa9+6g7bvw==","signatures":[{"sig":"MEUCIQC6mwQyUdaK7DhKVUZsrCb0vF234Iba+z1b4X4fSyGpHwIgGQgFlGqd08Wzj+RlgVJnsdZ2Imn3YQeMMmbVA7nEbz8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCVVoCsAvDdND/lduKYKm4++vgYpfs6R/w0s0Bn/EzkFQIgX93mYuzSJZ7oTut78ib03HakPQ2CdlyzWGx62aQXRtc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/qyl-mcp-server@6.1.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1428220},"main":"dist/server.js","type":"module","types":"dist/server.d.ts","engines":{"node":"24.x"},"exports":{".":{"types":"./dist/server.d.ts","default":"./dist/server.js"},"./telemetry":{"types":"./dist/telemetry.d.ts","default":"./dist/telemetry.js"},"./mcp-semconv":{"types":"./dist/mcp-semconv.d.ts","default":"./dist/mcp-semconv.js"},"./secret-redactor":{"types":"./dist/secret-redactor.d.ts","default":"./dist/secret-redactor.js"},"./contract-headers":{"types":"./dist/contract-headers.d.ts","default":"./dist/contract-headers.js"},"./execution-result":{"types":"./dist/execution-result.d.ts","default":"./dist/execution-result.js"},"./atomic-json-store":{"types":"./dist/atomic-json-store.d.ts","default":"./dist/atomic-json-store.js"},"./execution-evidence":{"types":"./dist/execution-evidence.d.ts","default":"./dist/execution-evidence.js"},"./contract-validation":{"types":"./dist/contract-validation.d.ts","default":"./dist/contract-validation.js"},"./observability-suppression":{"types":"./dist/observability-suppression.d.ts","default":"./dist/observability-suppression.js"}},"gitHead":"2632e1a30ae7fb6fcd3ef69947899e5b105f4edf","scripts":{"test":"bun run verify:shapes && bun run verify:readme && bun run verify:frame && bun run build && tsc -p tsconfig.test.json && node -e \"const fs=require('node:fs'); for (const name of ['mcp-app.html','mcp-dashboard.html']) fs.copyFileSync('dist/'+name,'dist-test/'+name)\" && node --test dist-test/*.test.js","build":"bun run clean && tsc --noEmit && vite build --mode mcp-home && vite build --mode mcp-app && vite build --mode mcp-dashboard && tsc -p tsconfig.server.json && node -e \"require('node:fs').chmodSync('dist/main.js', 0o755)\"","clean":"node -e \"require('node:fs').rmSync('dist', { recursive: true, force: true }); require('node:fs').rmSync('dist-test', { recursive: true, force: true })\"","smoke":"node smoke-test.mjs","prepack":"bun run build","postbuild":"bun run verify:deployment-guidance","smoke:live":"node live-tools-smoke.mjs","verify:frame":"node verify-tool-frame.mjs","verify:readme":"node verify-package-readme.mjs","verify:shapes":"node verify-generated-shapes.mjs","snapshot:tools":"bun run build && tsc -p tsconfig.test.json && node update-tool-manifest-snapshot.mjs","verify:deployment-guidance":"node verify-deployment-guidance.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6f8fbbb5-1cce-46f5-9598-5e92bb3c16f8"}},"repository":{"url":"git+https://github.com/ANcpLua/qyl.mcp.git","type":"git","directory":"server"},"_npmVersion":"12.0.2","description":"qyl telemetry MCP Apps server: trace explorer and MCP dashboard for a live collector or explicit demo mode","directories":{},"_nodeVersion":"24.20.0","dependencies":{"zod":"^4.5.4","jose":"^6.2.10","@opentelemetry/api":"^1.9.1","@opentelemetry/core":"^2.11.0","@ancplua/qyl-api-schema":"10.0.1","@opentelemetry/api-logs":"^0.222.0","@opentelemetry/sdk-logs":"^0.222.0","@opentelemetry/resources":"^2.11.0","@modelcontextprotocol/core":"2.0.0","@opentelemetry/sdk-metrics":"^2.11.0","@modelcontextprotocol/server":"2.0.0","@opentelemetry/sdk-trace-base":"^2.11.0","@opentelemetry/sdk-trace-node":"^2.11.0","@opentelemetry/semantic-conventions":"^1.43.0","@opentelemetry/exporter-logs-otlp-proto":"^0.222.0","@opentelemetry/exporter-trace-otlp-proto":"^0.222.0","@opentelemetry/exporter-metrics-otlp-proto":"^0.222.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"8.2.2","typescript":"7.0.2","@types/node":"26.4.1","vite-plugin-singlefile":"2.3.3","@modelcontextprotocol/client":"2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/qyl-mcp-server_6.1.2_1789238324274_0.04207423187505421","host":"s3://npm-registry-packages-npm-production"}},"6.2.0":{"name":"qyl-mcp-server","version":"6.2.0","license":"MIT","_id":"qyl-mcp-server@6.2.0","maintainers":[{"name":"ancplua","email":"anfh22@outlook.com"}],"homepage":"https://github.com/ANcpLua/qyl.mcp#readme","bugs":{"url":"https://github.com/ANcpLua/qyl.mcp/issues"},"bin":{"qyl-mcp-server":"dist/main.js"},"dist":{"shasum":"976775632caa478bfa1ee96e2e491b246c32f288","tarball":"https://registry.npmjs.org/qyl-mcp-server/-/qyl-mcp-server-6.2.0.tgz","fileCount":96,"integrity":"sha512-iF1ad9T+8Zb6kwbD8U8mhc5JyZG4Y8N5p+lZzt3l+wuyua7OPk+Ene78MoMJ7mDpBLxwL7zxiFnk3/S6kvYYWQ==","signatures":[{"sig":"MEYCIQDTaXdmRKiSuEdwKOcCN39ZqNg13rPiweJIky0Od1beYwIhAPhesgtSg09YjmCOvF+1ohR8dS4NVKJnyJA3sL8bSr90","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDuH3rjb+6Y6R/ayTHuzzHtYJ1ELvcZ86Khy3tkVwXr9AIhAIdTv5A+49IiQDP6906vClFWYP2BIP44DfUNb9fOMEcf","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/qyl-mcp-server@6.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1444383},"main":"dist/server.js","type":"module","types":"dist/server.d.ts","engines":{"node":"24.x"},"exports":{".":{"types":"./dist/server.d.ts","default":"./dist/server.js"},"./telemetry":{"types":"./dist/telemetry.d.ts","default":"./dist/telemetry.js"},"./mcp-semconv":{"types":"./dist/mcp-semconv.d.ts","default":"./dist/mcp-semconv.js"},"./secret-redactor":{"types":"./dist/secret-redactor.d.ts","default":"./dist/secret-redactor.js"},"./contract-headers":{"types":"./dist/contract-headers.d.ts","default":"./dist/contract-headers.js"},"./execution-result":{"types":"./dist/execution-result.d.ts","default":"./dist/execution-result.js"},"./atomic-json-store":{"types":"./dist/atomic-json-store.d.ts","default":"./dist/atomic-json-store.js"},"./execution-evidence":{"types":"./dist/execution-evidence.d.ts","default":"./dist/execution-evidence.js"},"./contract-validation":{"types":"./dist/contract-validation.d.ts","default":"./dist/contract-validation.js"},"./observability-suppression":{"types":"./dist/observability-suppression.d.ts","default":"./dist/observability-suppression.js"}},"gitHead":"18f84d7ff9488965514d6cbbfd691f9fb9e6e361","scripts":{"test":"bun run verify:shapes && bun run verify:readme && bun run verify:frame && bun run build && tsc -p tsconfig.test.json && node -e \"const fs=require('node:fs'); for (const name of ['mcp-app.html','mcp-dashboard.html']) fs.copyFileSync('dist/'+name,'dist-test/'+name)\" && node --test dist-test/*.test.js","build":"bun run clean && tsc --noEmit && vite build --mode mcp-home && vite build --mode mcp-app && vite build --mode mcp-dashboard && tsc -p tsconfig.server.json && node -e \"require('node:fs').chmodSync('dist/main.js', 0o755)\"","clean":"node -e \"require('node:fs').rmSync('dist', { recursive: true, force: true }); require('node:fs').rmSync('dist-test', { recursive: true, force: true })\"","smoke":"node smoke-test.mjs","prepack":"bun run build","postbuild":"bun run verify:deployment-guidance","smoke:live":"node live-tools-smoke.mjs","verify:frame":"node verify-tool-frame.mjs","verify:readme":"node verify-package-readme.mjs","verify:shapes":"node verify-generated-shapes.mjs","snapshot:tools":"bun run build && tsc -p tsconfig.test.json && node update-tool-manifest-snapshot.mjs","verify:deployment-guidance":"node verify-deployment-guidance.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6f8fbbb5-1cce-46f5-9598-5e92bb3c16f8"}},"repository":{"url":"git+https://github.com/ANcpLua/qyl.mcp.git","type":"git","directory":"server"},"_npmVersion":"12.0.2","description":"qyl telemetry MCP Apps server: trace explorer and MCP dashboard for a live collector or explicit demo mode","directories":{},"_nodeVersion":"24.20.0","dependencies":{"zod":"^4.5.4","jose":"^6.2.10","@opentelemetry/api":"^1.9.1","@opentelemetry/core":"^2.11.0","@ancplua/qyl-api-schema":"11.0.1","@opentelemetry/api-logs":"^0.222.0","@opentelemetry/sdk-logs":"^0.222.0","@opentelemetry/resources":"^2.11.0","@modelcontextprotocol/core":"2.0.0","@opentelemetry/sdk-metrics":"^2.11.0","@modelcontextprotocol/server":"2.0.0","@opentelemetry/sdk-trace-base":"^2.11.0","@opentelemetry/sdk-trace-node":"^2.11.0","@opentelemetry/semantic-conventions":"^1.43.0","@opentelemetry/exporter-logs-otlp-proto":"^0.222.0","@opentelemetry/exporter-trace-otlp-proto":"^0.222.0","@opentelemetry/exporter-metrics-otlp-proto":"^0.222.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"8.2.2","typescript":"7.0.2","@types/node":"26.4.1","vite-plugin-singlefile":"2.3.3","@modelcontextprotocol/client":"2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/qyl-mcp-server_6.2.0_1789636903388_0.6978351251931258","host":"s3://npm-registry-packages-npm-production"}},"6.2.1":{"name":"qyl-mcp-server","version":"6.2.1","license":"MIT","_id":"qyl-mcp-server@6.2.1","maintainers":[{"name":"ancplua","email":"anfh22@outlook.com"}],"homepage":"https://github.com/ANcpLua/qyl.mcp#readme","bugs":{"url":"https://github.com/ANcpLua/qyl.mcp/issues"},"bin":{"qyl-mcp-server":"dist/main.js"},"dist":{"shasum":"82574796d4cdb7f72e267c9c6142b6e85f3d7787","tarball":"https://registry.npmjs.org/qyl-mcp-server/-/qyl-mcp-server-6.2.1.tgz","fileCount":96,"integrity":"sha512-rkxkS/ilsbYnhK9AGRu3y7BOuNNCtvdBcbvmdheXnzHUO9YhsbD4GBLQmqYsqY5A6G3EgT7xUZn4xV7whsX83Q==","signatures":[{"sig":"MEQCIQDZSpImR9V2kJu18wNf+h9bELW0sEsCv8BDJoKOsHQvkQIfPHMISPP+JcuVRt4bYUpyZzpTpKoFJHDt3oQ6d7DhUw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIBxgxgDHyL8YKZu7r84LFOwhfuISze9gP+5nRpwnhKTcAiEAyHtFnbOueAdTLs/XvYIygULrtBE/D4vaHvv4kV/Yy1k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/qyl-mcp-server@6.2.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1452582},"main":"dist/server.js","type":"module","types":"dist/server.d.ts","engines":{"node":"24.x"},"exports":{".":{"types":"./dist/server.d.ts","default":"./dist/server.js"},"./telemetry":{"types":"./dist/telemetry.d.ts","default":"./dist/telemetry.js"},"./mcp-semconv":{"types":"./dist/mcp-semconv.d.ts","default":"./dist/mcp-semconv.js"},"./secret-redactor":{"types":"./dist/secret-redactor.d.ts","default":"./dist/secret-redactor.js"},"./contract-headers":{"types":"./dist/contract-headers.d.ts","default":"./dist/contract-headers.js"},"./execution-result":{"types":"./dist/execution-result.d.ts","default":"./dist/execution-result.js"},"./atomic-json-store":{"types":"./dist/atomic-json-store.d.ts","default":"./dist/atomic-json-store.js"},"./execution-evidence":{"types":"./dist/execution-evidence.d.ts","default":"./dist/execution-evidence.js"},"./contract-validation":{"types":"./dist/contract-validation.d.ts","default":"./dist/contract-validation.js"},"./observability-suppression":{"types":"./dist/observability-suppression.d.ts","default":"./dist/observability-suppression.js"}},"gitHead":"e281b7cc2dea20ecb01f6398ffee9264a8a35d42","scripts":{"test":"bun run verify:readme && bun run verify:frame && bun run build && tsc -p tsconfig.test.json && node -e \"const fs=require('node:fs'); for (const name of ['mcp-app.html','mcp-dashboard.html']) fs.copyFileSync('dist/'+name,'dist-test/'+name)\" && node --test dist-test/*.test.js","build":"bun run clean && tsc --noEmit && vite build --mode mcp-home && vite build --mode mcp-app && vite build --mode mcp-dashboard && tsc -p tsconfig.server.json && node -e \"require('node:fs').chmodSync('dist/main.js', 0o755)\"","clean":"node -e \"require('node:fs').rmSync('dist', { recursive: true, force: true }); require('node:fs').rmSync('dist-test', { recursive: true, force: true })\"","smoke":"node smoke-test.mjs","prepack":"bun run build","postbuild":"bun run verify:deployment-guidance","smoke:live":"node live-tools-smoke.mjs","verify:frame":"node verify-tool-frame.mjs","verify:readme":"node verify-package-readme.mjs","snapshot:tools":"bun run build && tsc -p tsconfig.test.json && node update-tool-manifest-snapshot.mjs","verify:deployment-guidance":"node verify-deployment-guidance.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6f8fbbb5-1cce-46f5-9598-5e92bb3c16f8"}},"repository":{"url":"git+https://github.com/ANcpLua/qyl.mcp.git","type":"git","directory":"server"},"_npmVersion":"12.0.2","description":"qyl telemetry MCP Apps server: trace explorer and MCP dashboard for a live collector or explicit demo mode","directories":{},"_nodeVersion":"24.20.0","dependencies":{"zod":"^4.5.4","jose":"^6.2.10","@opentelemetry/api":"^1.9.1","@opentelemetry/core":"^2.11.0","@ancplua/qyl-api-schema":"11.1.0","@opentelemetry/api-logs":"^0.222.0","@opentelemetry/sdk-logs":"^0.222.0","@opentelemetry/resources":"^2.11.0","@modelcontextprotocol/core":"2.0.0","@opentelemetry/sdk-metrics":"^2.11.0","@modelcontextprotocol/server":"2.0.0","@opentelemetry/sdk-trace-base":"^2.11.0","@opentelemetry/sdk-trace-node":"^2.11.0","@opentelemetry/semantic-conventions":"^1.43.0","@opentelemetry/exporter-logs-otlp-proto":"^0.222.0","@opentelemetry/exporter-trace-otlp-proto":"^0.222.0","@opentelemetry/exporter-metrics-otlp-proto":"^0.222.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"8.2.2","typescript":"7.0.2","@types/node":"26.4.1","vite-plugin-singlefile":"2.3.3","@modelcontextprotocol/client":"2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/qyl-mcp-server_6.2.1_1789640065759_0.8184554726906685","host":"s3://npm-registry-packages-npm-production"}},"7.0.0":{"name":"qyl-mcp-server","version":"7.0.0","license":"MIT","_id":"qyl-mcp-server@7.0.0","maintainers":[{"name":"ancplua","email":"anfh22@outlook.com"}],"homepage":"https://github.com/ANcpLua/qyl.mcp#readme","bugs":{"url":"https://github.com/ANcpLua/qyl.mcp/issues"},"bin":{"qyl-mcp-server":"dist/main.js"},"dist":{"shasum":"4bbdeef97e87b00e05c81a898529f39b9327beb6","tarball":"https://registry.npmjs.org/qyl-mcp-server/-/qyl-mcp-server-7.0.0.tgz","fileCount":96,"integrity":"sha512-Y7jDu6/2f+punaYFcTmkG6ugiNKRM3k08IydX98ep1rqXn1gfroxoz9aNo1VpRA0G7SaggTq4w4vRYZBlmmzaQ==","signatures":[{"sig":"MEUCIFkJiwhiwZIUxY2HmUHznECFwgejwaBmHdYxfYKaBi1+AiEA3aZWjljvK4YPDj+f2+sRRKpZHYI5LtgdxBMaiObtNgs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIEuDeLGq/KG23bYOVoHxSYj2eKMWgUd8vum11q32Cs+2AiBUl/E8MQo72Hi2MU7KdB9LRWcAiL6UBT8eWho7pSJAYw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/qyl-mcp-server@7.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1452947},"main":"dist/server.js","type":"module","types":"dist/server.d.ts","engines":{"node":"24.x"},"exports":{".":{"types":"./dist/server.d.ts","default":"./dist/server.js"},"./telemetry":{"types":"./dist/telemetry.d.ts","default":"./dist/telemetry.js"},"./mcp-semconv":{"types":"./dist/mcp-semconv.d.ts","default":"./dist/mcp-semconv.js"},"./secret-redactor":{"types":"./dist/secret-redactor.d.ts","default":"./dist/secret-redactor.js"},"./contract-headers":{"types":"./dist/contract-headers.d.ts","default":"./dist/contract-headers.js"},"./execution-result":{"types":"./dist/execution-result.d.ts","default":"./dist/execution-result.js"},"./atomic-json-store":{"types":"./dist/atomic-json-store.d.ts","default":"./dist/atomic-json-store.js"},"./execution-evidence":{"types":"./dist/execution-evidence.d.ts","default":"./dist/execution-evidence.js"},"./contract-validation":{"types":"./dist/contract-validation.d.ts","default":"./dist/contract-validation.js"},"./observability-suppression":{"types":"./dist/observability-suppression.d.ts","default":"./dist/observability-suppression.js"}},"gitHead":"e7592a8a2bb7f22b600f16dc2e719ec47ca17629","scripts":{"test":"bun run verify:readme && bun run verify:frame && bun run build && tsc -p tsconfig.test.json && node -e \"const fs=require('node:fs'); for (const name of ['mcp-app.html','mcp-dashboard.html']) fs.copyFileSync('dist/'+name,'dist-test/'+name)\" && node --test dist-test/*.test.js","build":"bun run clean && tsc --noEmit && vite build --mode mcp-home && vite build --mode mcp-app && vite build --mode mcp-dashboard && tsc -p tsconfig.server.json && node -e \"require('node:fs').chmodSync('dist/main.js', 0o755)\"","clean":"node -e \"require('node:fs').rmSync('dist', { recursive: true, force: true }); require('node:fs').rmSync('dist-test', { recursive: true, force: true })\"","smoke":"node smoke-test.mjs","prepack":"bun run build","postbuild":"bun run verify:deployment-guidance","smoke:live":"node live-tools-smoke.mjs","verify:frame":"node verify-tool-frame.mjs","verify:readme":"node verify-package-readme.mjs","snapshot:tools":"bun run build && tsc -p tsconfig.test.json && node update-tool-manifest-snapshot.mjs","verify:deployment-guidance":"node verify-deployment-guidance.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6f8fbbb5-1cce-46f5-9598-5e92bb3c16f8"}},"repository":{"url":"git+https://github.com/ANcpLua/qyl.mcp.git","type":"git","directory":"server"},"_npmVersion":"12.0.2","description":"qyl telemetry MCP Apps server: trace explorer and MCP dashboard for a live collector or explicit demo mode","directories":{},"_nodeVersion":"24.20.0","dependencies":{"zod":"^4.5.4","jose":"^6.2.10","@opentelemetry/api":"^1.9.1","@opentelemetry/core":"^2.11.0","@ancplua/qyl-api-schema":"11.2.0","@opentelemetry/api-logs":"^0.222.0","@opentelemetry/sdk-logs":"^0.222.0","@opentelemetry/resources":"^2.11.0","@modelcontextprotocol/core":"2.0.0","@opentelemetry/sdk-metrics":"^2.11.0","@modelcontextprotocol/server":"2.0.0","@opentelemetry/sdk-trace-base":"^2.11.0","@opentelemetry/sdk-trace-node":"^2.11.0","@opentelemetry/semantic-conventions":"^1.43.0","@opentelemetry/exporter-logs-otlp-proto":"^0.222.0","@opentelemetry/exporter-trace-otlp-proto":"^0.222.0","@opentelemetry/exporter-metrics-otlp-proto":"^0.222.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"8.2.2","typescript":"7.0.2","@types/node":"26.4.1","vite-plugin-singlefile":"2.3.3","@modelcontextprotocol/client":"2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/qyl-mcp-server_7.0.0_1789645370491_0.0673074262831066","host":"s3://npm-registry-packages-npm-production"}},"7.1.0":{"_id":"qyl-mcp-server@7.1.0","bin":{"qyl-mcp-server":"dist/main.js"},"bugs":{"url":"https://github.com/ANcpLua/qyl.mcp/issues"},"dist":{"shasum":"823c46ba4466b0dc2689168befe929c964de318a","tarball":"https://registry.npmjs.org/qyl-mcp-server/-/qyl-mcp-server-7.1.0.tgz","fileCount":99,"integrity":"sha512-5Nmand/hAC9hNScemwS4TKhUkXghvW6RmjJcimsjct2jztbaTLJmFInAHnOO4omZKd+r+Do4kWmmSNPzjh5Sog==","signatures":[{"sig":"MEUCIQDhCpAaKcusB4gqOX1hP9ahvJCgeSVLUuCk5BIfh/RPYAIgNnjapkKfZO4YCat+HoPYvWrIC3aM6GnnXq2dT5YdgME=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCmXlOUfTuyKPZY+7dIK4ygNu7QGpJzScna0jCbnwUwhgIhAK0LV/FHMOePstC7Qmqpm3vyMWMd0MCA3HXzHWnKWZfP"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/qyl-mcp-server@7.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1461205},"main":"dist/server.js","name":"qyl-mcp-server","type":"module","types":"dist/server.d.ts","engines":{"node":"24.x"},"exports":{".":{"types":"./dist/server.d.ts","default":"./dist/server.js"},"./telemetry":{"types":"./dist/telemetry.d.ts","default":"./dist/telemetry.js"},"./mcp-semconv":{"types":"./dist/mcp-semconv.d.ts","default":"./dist/mcp-semconv.js"},"./secret-redactor":{"types":"./dist/secret-redactor.d.ts","default":"./dist/secret-redactor.js"},"./contract-headers":{"types":"./dist/contract-headers.d.ts","default":"./dist/contract-headers.js"},"./execution-result":{"types":"./dist/execution-result.d.ts","default":"./dist/execution-result.js"},"./atomic-json-store":{"types":"./dist/atomic-json-store.d.ts","default":"./dist/atomic-json-store.js"},"./execution-evidence":{"types":"./dist/execution-evidence.d.ts","default":"./dist/execution-evidence.js"},"./contract-validation":{"types":"./dist/contract-validation.d.ts","default":"./dist/contract-validation.js"},"./observability-suppression":{"types":"./dist/observability-suppression.d.ts","default":"./dist/observability-suppression.js"}},"gitHead":"a42364b647bb54dc41f7c77bb8638b60fbe4331a","license":"MIT","scripts":{"test":"bun run verify:readme && bun run verify:frame && bun run build && tsc -p tsconfig.test.json && node -e \"const fs=require('node:fs'); for (const name of ['mcp-app.html','mcp-dashboard.html']) fs.copyFileSync('dist/'+name,'dist-test/'+name)\" && node --test dist-test/*.test.js","build":"bun run clean && tsc --noEmit && vite build --mode mcp-home && vite build --mode mcp-app && vite build --mode mcp-dashboard && tsc -p tsconfig.server.json && node -e \"require('node:fs').chmodSync('dist/main.js', 0o755)\"","clean":"node -e \"require('node:fs').rmSync('dist', { recursive: true, force: true }); require('node:fs').rmSync('dist-test', { recursive: true, force: true })\"","smoke":"node smoke-test.mjs","prepack":"bun run build","postbuild":"bun run verify:deployment-guidance","smoke:live":"node live-tools-smoke.mjs","verify:frame":"node verify-tool-frame.mjs","verify:readme":"node verify-package-readme.mjs","snapshot:tools":"bun run build && tsc -p tsconfig.test.json && node update-tool-manifest-snapshot.mjs","verify:deployment-guidance":"node verify-deployment-guidance.mjs"},"version":"7.1.0","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"6f8fbbb5-1cce-46f5-9598-5e92bb3c16f8"}},"homepage":"https://github.com/ANcpLua/qyl.mcp#readme","repository":{"url":"git+https://github.com/ANcpLua/qyl.mcp.git","type":"git","directory":"server"},"_npmVersion":"12.1.0","description":"qyl telemetry MCP Apps server: trace explorer and MCP dashboard for a live collector or explicit demo mode","directories":{},"maintainers":[{"name":"ancplua","email":"anfh22@outlook.com"}],"_nodeVersion":"24.21.0","dependencies":{"zod":"^4.5.4","jose":"^6.2.10","@opentelemetry/api":"^1.9.1","@opentelemetry/core":"^2.11.0","@ancplua/qyl-api-schema":"11.2.0","@opentelemetry/api-logs":"^0.222.0","@opentelemetry/sdk-logs":"^0.222.0","@opentelemetry/resources":"^2.11.0","@modelcontextprotocol/core":"2.0.0","@opentelemetry/sdk-metrics":"^2.11.0","@modelcontextprotocol/server":"2.0.0","@opentelemetry/sdk-trace-base":"^2.11.0","@opentelemetry/sdk-trace-node":"^2.11.0","@opentelemetry/semantic-conventions":"^1.43.0","@opentelemetry/exporter-logs-otlp-proto":"^0.222.0","@opentelemetry/exporter-trace-otlp-proto":"^0.222.0","@opentelemetry/exporter-metrics-otlp-proto":"^0.222.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"8.2.2","typescript":"7.0.2","@types/node":"26.4.1","vite-plugin-singlefile":"2.3.3","@modelcontextprotocol/client":"2.0.0"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/qyl-mcp-server_7.1.0_1790772238507_0.14824456005505926"}}},"time":{"created":"2026-07-19T05:05:46.820Z","modified":"2026-09-30T12:43:59.431Z","0.1.0":"2026-07-19T05:05:47.103Z","0.1.1":"2026-07-19T05:36:36.528Z","1.0.0-beta.1":"2026-07-19T13:54:12.396Z","1.0.0-beta.2":"2026-07-22T09:09:14.760Z","1.0.0-beta.3":"2026-07-23T04:58:04.189Z","1.0.0-beta.4":"2026-07-26T22:24:37.149Z","1.0.0":"2026-07-27T23:52:10.914Z","1.1.0":"2026-07-28T01:52:11.239Z","1.1.1":"2026-07-28T05:02:04.920Z","1.1.2":"2026-07-28T07:50:01.770Z","1.1.3":"2026-07-29T13:13:06.198Z","2.0.0":"2026-08-28T23:31:59.628Z","2.1.0":"2026-09-02T01:22:18.624Z","3.0.0":"2026-09-02T02:42:43.663Z","4.0.0":"2026-09-03T03:46:44.671Z","4.0.1":"2026-09-04T07:45:58.669Z","5.0.0":"2026-09-07T06:45:52.326Z","5.1.0":"2026-09-11T08:11:53.738Z","5.2.0":"2026-09-12T06:32:09.901Z","6.0.0":"2026-09-12T10:34:06.145Z","6.1.0":"2026-09-12T16:41:29.696Z","6.1.1":"2026-09-12T16:56:18.453Z","6.1.2":"2026-09-12T18:38:44.374Z","6.2.0":"2026-09-17T09:21:43.479Z","6.2.1":"2026-09-17T10:14:25.867Z","7.0.0":"2026-09-17T11:42:50.610Z","7.1.0":"2026-09-30T12:43:58.622Z"},"bugs":{"url":"https://github.com/ANcpLua/qyl.mcp/issues"},"license":"MIT","homepage":"https://github.com/ANcpLua/qyl.mcp#readme","repository":{"url":"git+https://github.com/ANcpLua/qyl.mcp.git","type":"git","directory":"server"},"description":"qyl telemetry MCP Apps server: trace explorer and MCP dashboard for a live collector or explicit demo mode","maintainers":[{"name":"ancplua","email":"anfh22@outlook.com"}],"readme":"# qyl-mcp-server\n\nMCP tools over a live [qyl](https://github.com/ANcpLua/qyl) collector — traces,\nlogs, sessions, CI runs, and a graph view of agent runs you can watch while they\nexecute.\n\n```bash\nnpx qyl-mcp-server --stdio    # stdio MCP server\nnpx qyl-mcp-server            # Streamable HTTP on 127.0.0.1:3001\n```\n\nWorks with any MCP client. Point it at a collector:\n\n```bash\nexport QYL_COLLECTOR_URL=http://127.0.0.1:5100\nexport QYL_API_KEY='your-collector-key'   # omit for an unsecured local collector\n```\n\n`QYL_API_KEY` is an *outgoing* collector credential — it does not authenticate\nincoming MCP clients, which is why the local server binds to loopback only.\n\nThere is also a hosted instance at `https://mcp.qyl.at/mcp` needing no install.\nIt is an OAuth 2.1 resource server, so an unauthenticated request answers `401`\nwith an RFC 9728 protected-resource document that a stock MCP client follows on\nits own.\n\nBoth accept only protocol revision `2026-07-28`, on MCP TypeScript SDK 2.0.0 —\nStreamable HTTP through `createMcpHandler` and stdio through `serveStdio`, each\nwith `legacy: \"reject\"`.\nThe HTTP server serves a product page at `/`; `/mcp` is the only protocol\nendpoint.\n\n## Tools\n\n**Telemetry** — `list_traces`, `get_trace`, `list_sessions`, `search_logs`,\n`ci_log`, `display_traces`, `display_mcp_dashboard`.\n\n**Metrics** — `list_metrics`, `get_metric_series`, `query_metric`. Read in that\norder: the catalog gives you an exact instrument name and how many attribute\nstreams it has, series discovery tells you which attribute keys are worth\ngrouping or filtering on, and the range query answers the actual question —\na window, a bucket width (`step_ms`), a reducer (`avg`, `min`, `max`, `sum`,\n`count`, `last`, `p50`, `p90`, `p95`, `p99`), optional `group_by` keys, and\noptional `attr` / `attr_prefix` matchers written `key=value`. One bucket\nspanning the whole window collapses the answer to a single number.\n\n**App-only** — `fetch_telemetry` is called by the bundled MCP Apps, not by a\nmodel.\n\nEvery tool is read-only: the server queries the configured collector and never\nmutates it. On the hosted server they all sit behind the single `qyl:read` scope.\n\nThe `display_*` tools return MCP Apps UI resources as single-file viewers.\n\nEvery tool runs inside its request scope. Cancellation: a\n`notifications/cancelled` for the request, or a closed connection, aborts the\nin-flight collector fetch instead of waiting out its timeout. Progress: a\nrequest that carries a `progressToken` gets `notifications/progress` per\ncompleted step, one per collector round trip plus a final \"Result ready\"\n(`ci_log` with a `run_id` reports the flatten into legs as a step of its own).\nLogging: the server declares the `logging` capability and sends one\n`notifications/message` per call, `info` on success and `warning` on failure,\nunder the logger `qyl.mcp`. On revision `2026-07-28` the client's level travels\nper request in `_meta[\"io.modelcontextprotocol/logLevel\"]`; a request without\nit gets no log line, and `logging/setLevel` does not exist in that revision.\nMCP logging is deprecated as of that revision (SEP-2577) and kept here through\nthe deprecation window beside stderr and OpenTelemetry.\n\nEvery inbound `tools/call` on a local server — `--stdio`, or HTTP without\n`MCP_PUBLIC_URL` — is recorded natively: validated result, lifecycle, duration,\nredacted JSON-RPC timeline, and trace/span correlation, persisted atomically to\n`~/.qyl/mcp-native-executions.json`. A public deployment (`MCP_PUBLIC_URL` set)\nrecords nothing to disk; that evidence file is a local developer artifact, not a\nmulti-tenant audit log.\n\n## Configuration\n\n| Variable | Meaning |\n| --- | --- |\n| `QYL_COLLECTOR_URL` | Collector read API base; default `http://127.0.0.1:5100`. Also the OTLP base when set. |\n| `QYL_API_KEY` | Collector read and OTLP credential. Outgoing only. |\n| `QYL_PROJECT` | Server-owned collector project scope; defaults to `default`. Never accepted as tool input. |\n| `QYL_OTLP_ENDPOINT` | Optional OTLP base for self-telemetry. |\n| `QYL_DEMO=1` | Explicit, visibly labelled demo telemetry. A collector failure never silently substitutes demo data. |\n| `QYL_MCP_TELEMETRY=0` | Disable MCP spans, metrics, and operation logs. |\n| `QYL_MCP_CAPTURE_CONTENT=1` | Include redacted, size-bounded request and response bodies in operation logs. Off by default. |\n| `QYL_MCP_NATIVE_STATE_PATH` | Override the native execution-evidence path. |\n| `PORT` | HTTP listener port; default `3001`. |\n\nSecrets are redacted before results reach the model, structured content, or\ndurable evidence.\n\n`--stdio` runs under Node.js 24 or Bun 1.4, which is what `npx` gives you.\nThe HTTP entry is a web-standard fetch handler served by its default export,\nso serving it requires Bun.\n\n## Release notes\n\n### 7.1.0\n\n- The hosted server can sit behind Cloudflare Access Managed OAuth:\n  `MCP_AUTH_PROVIDER=cloudflare-access` with `MCP_ACCESS_TEAM_DOMAIN` and\n  `MCP_ACCESS_AUD`. Access performs the client OAuth flow and owns discovery;\n  the origin serves `/mcp` only for a `Cf-Access-Jwt-Assertion` it has verified\n  against the team's signing keys for RS256, issuer, application audience,\n  expiry and subject, so a direct request to the origin without one is\n  rejected. The default stays the pinned Auth0 issuer; unknown modes, partial\n  Access settings and non-Cloudflare team URLs fail closed.\n- The assertion header is redacted from diagnostic objects and text, like the\n  other credentials.\n\n### 7.0.0\n\n- Contract `@ancplua/qyl-api-schema` 11.1.0 -> 11.2.0. Demo series ids are\n  computed with the contract's `attributeIdentity`, the same string the\n  collector computes in C#, so a demo series id and a live one are comparable;\n  every demo series id changes, which is why this is a major. A contract major\n  moves this package's major from now on.\n\n### 6.2.1\n\n- Contract `@ancplua/qyl-api-schema` 11.0.1 -> 11.1.0. Every tool shape is\n  `contractSchema(\"<definition>\")`, typed by the contract at compile time, so\n  the textual shape gate is gone; trace, span and session ids are parsed\n  through the contract's generated parsers instead of cast; the nanosecond\n  helpers come from the contract's `/runtime`.\n\n### 6.2.0\n\n- Contract `@ancplua/qyl-api-schema` 10.0.1 -> 11.0.1, revision\n  `sha256:cd69d9c37a41916c` -> `sha256:5c1aa27ccdf48067`. Attribute values are\n  decoded through the contract's own `/runtime` subpath instead of a local\n  copy of the dashboard's decoder; bytes and key-value lists render as their\n  values, never as `[object Object]`. A log body is an `AttributeValue`: a plain\n  string body is a bare string, and the three body shapes the collector never\n  produced are gone from the contract and from this server.\n\n### 6.1.2\n\n- The landing page at `mcp.qyl.at` states what 6.1.0 added: a request-scope\n  section for cancellation, progress and the per-call log line, the full\n  eleven-tool surface, and a hero fact for it. Surfaces take the ink of the\n  original qyl site (`#050706`) and its family; the cyan accent is unchanged.\n- The page no longer embeds the whole `package.json`: a default JSON import\n  inlined the dependency and export tables into every visitor's download; a\n  named import of `version` ships the one field the footer shows.\n\n### 6.1.1\n\n- The bundled viewers no longer ask for progress they never read: the MCP\n  Apps client passed a no-op `onprogress` on every `tools/call`, which put a\n  `progressToken` on each request and, since 6.1.0, had the server answer\n  with notifications nobody consumed. A viewer that wants progress passes its\n  own callback.\n- `verify:frame` runs as a step of `bun run test`: every tool in the manifest\n  must be registered inside `runTool` under its own name, so a tool cannot\n  ship without cancellation, progress and its log line.\n\n### 6.1.0\n\n- Every tool handler runs inside `runTool`, which resolves the SDK request\n  context once and hands the work a plain scope. Cancellation: the request's\n  signal reaches every collector fetch, which already raced a signal against\n  its timeout but had no caller passing one, so a client's\n  `notifications/cancelled` or a dropped connection now aborts the fetch at\n  once. Data-layer functions (`fetchTraces`, `fetchLogs`, `listMetrics`, …)\n  gained a trailing `CollectorRequestOptions` argument; existing callers are\n  unaffected.\n- Progress on every tool: a request with a `progressToken` gets one\n  `notifications/progress` per completed collector round trip and a final\n  \"Result ready\"; `ci_log` with a `run_id` reports its per-leg flatten as a\n  step of its own. Progress increases per token by construction. A request\n  without a token gets nothing.\n- The `logging` capability is declared and every call sends one\n  `notifications/message` (`info` on success, `warning` on failure, logger\n  `qyl.mcp`) to a request that carries a log level in its `_meta` envelope.\n  Deprecated as of `2026-07-28` (SEP-2577), kept through the deprecation\n  window beside stderr and OpenTelemetry. Tool surface, manifest snapshot and\n  contract handshake are unchanged.\n\n### 6.0.0\n\n- Revision `2026-07-28` only, again, on both transports: `createMcpHandler`\n  and `serveStdio` run with `legacy: \"reject\"`, so a 2025-era `initialize` is\n  answered with `-32022` naming the served revision. 5.2.0 served the 2025 era\n  for one release; that serving mode is withdrawn. Breaking for any host that\n  opens with `initialize`, Claude Code's stdio client included: such a host\n  needs a client that opens with `server/discover`. On the SDK's own client that\n  is `versionNegotiation: { mode: \"auto\" }` (or a pin on `2026-07-28`); the\n  default `mode: \"legacy\"` cannot reach this server.\n- Gate for the flip: three independent agents, given only the endpoint and the\n  stdio command and forbidden to read the source, each connected over both\n  transports on their own and listed the eleven tools; each also confirmed that\n  the SDK default is refused. The tool surface, manifest snapshot and contract\n  handshake are unchanged from 5.2.0.\n\n### 5.2.0\n\n- 2025-era MCP clients are served again. Since 4.0.0 both transports rejected\n  any client that did not speak revision `2026-07-28` with `-32022`, which\n  refused every shipping host of the day, including Claude Code's stdio\n  client on `2025-11-25`. The hosted handler now serves those clients\n  statelessly (`legacy: \"stateless\"`, the SDK default) and the stdio server\n  takes `serveStdio`'s default legacy serving. Modern clients are unchanged;\n  the manifest, the contract handshake and the tool surface are the same at\n  either revision.\n- The README no longer points at `qyl/ARCHITECTURE-1.0.0.md`, which was\n  deleted on 2026-09-07; the qyl README states the architecture in place.\n\n### 5.1.0\n\n- Contract `@ancplua/qyl-api-schema` 10.0.0 -> 10.0.1, revision\n  `sha256:264a9e4f1d70289a` -> `sha256:cd69d9c37a41916c`. The contract's\n  operations and shapes are unchanged; the revision moved because the\n  TypeSpec toolchain that emits the canonical OpenAPI projection did. The\n  startup handshake refuses a collector on the old revision, so this server\n  pairs with `qyl` 5.1.0 and later; `server/tool-manifest.snapshot.json`\n  differs only in its `contract_revision`.\n- The workspace root package no longer pins its own members, and the matrix\n  no longer compares itself to a tool inventory that no longer exists.\n\n### 5.0.0\n\n- **Breaking.** Contract major: `@ancplua/qyl-api-schema` 9.0.0 -> 10.0.0,\n  revision `sha256:d1c859393b628164` -> `sha256:264a9e4f1d70289a`. The\n  startup handshake refuses a collector that advertises anything else, so\n  this server and the collector move together.\n- The contract's revision scheme moved to `qyl-contract-revision-v3`; the\n  revision string is read from the package at build time, so nothing in this\n  server encodes it by hand.\n- The contract's `./generated/otel-keys` TypeSpec keys projection was\n  removed upstream. This server never imported it — the tool surface,\n  schemas, and protocol are unchanged, and\n  `server/tool-manifest.snapshot.json` differs only in its\n  `contract_revision`.\n\n### 4.0.1\n\n- Dependencies only; no tool, schema, or protocol change. The published\n  package's runtime dependencies move to their latest stable versions, so\n  the tarball no longer describes a tree that has since moved on.\n- OpenTelemetry: `@opentelemetry/api-logs`, `exporter-logs-otlp-proto`,\n  `exporter-metrics-otlp-proto`, `exporter-trace-otlp-proto` and `sdk-logs`\n  `^0.221.0` -> `^0.222.0`; `core`, `resources`, `sdk-metrics`,\n  `sdk-trace-base` and `sdk-trace-node` `^2.10.0` -> `^2.11.0`.\n- `jose` `^6.2.3` -> `^6.2.10`, `zod` `^4.5.0` -> `^4.5.4`.\n- `@ancplua/qyl-api-schema` stays 9.0.0, revision\n  `sha256:d1c859393b628164`, and `@opentelemetry/semantic-conventions`\n  stays `^1.43.0` — the contract and the startup handshake are unchanged,\n  so this server and the collector do not have to move together.\n\n### 4.0.0\n\n- **Breaking.** The Codex workflow tools are gone: `list_workflow_runs`,\n  `get_workflow_graph`, `display_workflow_graph`, `inspect_workflow_events`,\n  `fetch_workflow_graph_updates`, and `control_workflow_run`. The tool surface is\n  11 read-only tools; `tools/list` shrank about 31%.\n- The `ui://qyl-explorer/observe-graph.html` MCP App resource and its viewer\n  bundle are gone with them, as is the `qyl:control` OAuth scope — no tool\n  required it any more, so the hosted server advertises `qyl:read` alone.\n- These existed only to observe and control Codex runs, and were removed in one\n  wave with the qyl observer and the qyl-api-schema contract.\n- Contract major: `@ancplua/qyl-api-schema` 9.0.0, revision\n  `sha256:d1c859393b628164`. The startup handshake refuses a collector that\n  advertises anything else, so this server and the collector move together.\n\n### 3.0.0\n\n- Metrics reading: `list_metrics`, `get_metric_series`, and `query_metric` over\n  the collector's metrics API. Each carries the read-only safety annotations.\n- Contract major: `@ancplua/qyl-api-schema` 8.0.0, revision\n  `sha256:64c464569005a485`. The startup handshake refuses a collector that\n  advertises anything else, so this server and the collector move together.\n\n### 2.1.0\n\n- `tools/list` shrank 44.6%: shared models in the output schemas are emitted as\n  `$defs`/`$ref` where that is smaller, and the app-only tools no longer publish\n  an output schema at all.\n- Native execution evidence is written only by a local server; see above.\n\nFull documentation, the workbench, and self-hosting:\n[github.com/ANcpLua/qyl.mcp](https://github.com/ANcpLua/qyl.mcp)\n","readmeFilename":"README.md"}