{"_id":"@emdzej/ediabasx-interface-j2534","_rev":"11-e67efa4b2547ab371e6ac7f231132f9e","name":"@emdzej/ediabasx-interface-j2534","dist-tags":{"latest":"0.8.0"},"versions":{"0.4.0":{"name":"@emdzej/ediabasx-interface-j2534","version":"0.4.0","_id":"@emdzej/ediabasx-interface-j2534@0.4.0","maintainers":[{"name":"emdzej","email":"michal@jaskolski.pro"}],"homepage":"https://github.com/emdzej/ediabasx#readme","bugs":{"url":"https://github.com/emdzej/ediabasx/issues"},"dist":{"shasum":"b1c9208e717a13ea8c3c6a4bdf28a1425f795706","tarball":"https://registry.npmjs.org/@emdzej/ediabasx-interface-j2534/-/ediabasx-interface-j2534-0.4.0.tgz","fileCount":11,"integrity":"sha512-+Q27XsAvr48HLJ05Jm+/pqCs1AuAOMLNMPnfsMOfE2L2DxdEIvJB3AXYklyEsiipjEYsgVGN2wygcjdoS9P+0Q==","signatures":[{"sig":"MEUCIQDVIsL3FIoKPe7fWS41rBDUDEXVxxWaeAGus8ATeXpLoQIgbSeytEh18qQeKGbonSSrHY9d4ZYcGKWGjpf4KsvhJr4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":70812},"main":"dist/index.js","_from":"file:emdzej-ediabasx-interface-j2534-0.4.0.tgz","types":"dist/index.d.ts","scripts":{"dev":"tsc -p tsconfig.json -w --preserveWatchOutput","lint":"eslint .","test":"vitest run --passWithNoTests","build":"tsc -p tsconfig.json","typecheck":"tsc --noEmit"},"_npmUser":{"name":"emdzej","email":"michal@jaskolski.pro"},"_resolved":"/private/var/folders/7h/x_w_580x4s9dq3sq11tpvzkwy3nbj8/T/29ac98efe9c1a4addb2ecfc22473b9b4/emdzej-ediabasx-interface-j2534-0.4.0.tgz","_integrity":"sha512-+Q27XsAvr48HLJ05Jm+/pqCs1AuAOMLNMPnfsMOfE2L2DxdEIvJB3AXYklyEsiipjEYsgVGN2wygcjdoS9P+0Q==","repository":{"url":"git+https://github.com/emdzej/ediabasx.git","type":"git"},"_npmVersion":"11.14.1","description":"SAE J2534 PassThru transport for EdiabasX via Tactrix OpenPort 2.0 — wraps @emdzej/j2534-driver as an EdiabasInterface, with frame-level integrity that K+DCAN UART bridges can't provide.","directories":{},"_nodeVersion":"22.22.1","dependencies":{"@emdzej/j2534-types":"^0.2.0","@emdzej/j2534-driver":"^0.2.0","@emdzej/ediabasx-interface-base":"0.4.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^22.0.0"},"peerDependencies":{"@emdzej/j2534-usb":"^0.2.0","@emdzej/j2534-serial":"^0.2.0"},"peerDependenciesMeta":{"@emdzej/j2534-usb":{"optional":true},"@emdzej/j2534-serial":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/ediabasx-interface-j2534_0.4.0_1779977506962_0.8520104641086752","host":"s3://npm-registry-packages-npm-production"}},"0.4.1":{"name":"@emdzej/ediabasx-interface-j2534","version":"0.4.1","_id":"@emdzej/ediabasx-interface-j2534@0.4.1","maintainers":[{"name":"emdzej","email":"michal@jaskolski.pro"}],"homepage":"https://github.com/emdzej/ediabasx#readme","bugs":{"url":"https://github.com/emdzej/ediabasx/issues"},"dist":{"shasum":"f55117aa908fe6f13187167fac3516a02a293807","tarball":"https://registry.npmjs.org/@emdzej/ediabasx-interface-j2534/-/ediabasx-interface-j2534-0.4.1.tgz","fileCount":11,"integrity":"sha512-34EH9d2rGlzRHR31vSe/ukkdSi9jF9u6NS0oLDl7Y+NUdAIVsiBnK1s9nrrnWtfI/YejI+aH/jAH3ygbVKGGrg==","signatures":[{"sig":"MEUCIQDaTPX6Q8zLSfYBw5B0v1YM7wgUUrzxxN+/vAb8ngW1PAIgd4TsF50P8jMo2BjMm7qewKxQUUUYGpnhEI1IV75uRRQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":70773},"main":"dist/index.js","_from":"file:emdzej-ediabasx-interface-j2534-0.4.1.tgz","types":"dist/index.d.ts","scripts":{"dev":"tsc -p tsconfig.json -w --preserveWatchOutput","lint":"eslint .","test":"vitest run --passWithNoTests","build":"tsc -p tsconfig.json","typecheck":"tsc --noEmit"},"_npmUser":{"name":"emdzej","email":"michal@jaskolski.pro"},"_resolved":"/private/var/folders/7h/x_w_580x4s9dq3sq11tpvzkwy3nbj8/T/f938f91e942aba0994c908d605af3aed/emdzej-ediabasx-interface-j2534-0.4.1.tgz","_integrity":"sha512-34EH9d2rGlzRHR31vSe/ukkdSi9jF9u6NS0oLDl7Y+NUdAIVsiBnK1s9nrrnWtfI/YejI+aH/jAH3ygbVKGGrg==","repository":{"url":"git+https://github.com/emdzej/ediabasx.git","type":"git"},"_npmVersion":"11.14.1","description":"SAE J2534 PassThru transport for EdiabasX via Tactrix OpenPort 2.0 — wraps @emdzej/j2534-driver as an EdiabasInterface, with frame-level integrity that K+DCAN UART bridges can't provide.","directories":{},"_nodeVersion":"22.22.1","dependencies":{"@emdzej/j2534-types":"^0.2.0","@emdzej/j2534-driver":"^0.2.0","@emdzej/ediabasx-interface-base":"0.4.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^22.0.0"},"peerDependencies":{"@emdzej/j2534-usb":"^0.2.0","@emdzej/j2534-serial":"^0.2.0"},"peerDependenciesMeta":{"@emdzej/j2534-usb":{"optional":true},"@emdzej/j2534-serial":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/ediabasx-interface-j2534_0.4.1_1779999493623_0.7910809027664196","host":"s3://npm-registry-packages-npm-production"}},"0.4.2":{"name":"@emdzej/ediabasx-interface-j2534","version":"0.4.2","_id":"@emdzej/ediabasx-interface-j2534@0.4.2","maintainers":[{"name":"emdzej","email":"michal@jaskolski.pro"}],"homepage":"https://github.com/emdzej/ediabasx#readme","bugs":{"url":"https://github.com/emdzej/ediabasx/issues"},"dist":{"shasum":"99282cfbc55081c2801793d6fedd8fd3603b9182","tarball":"https://registry.npmjs.org/@emdzej/ediabasx-interface-j2534/-/ediabasx-interface-j2534-0.4.2.tgz","fileCount":11,"integrity":"sha512-PEC1fSBcfT4iI4uZ2hbV5IThjSYWMOgXpbthpmEMHB0F5EovafRFnRuZl/GynYu2j6y4YqG5+XWABeCDFQAIUQ==","signatures":[{"sig":"MEYCIQDf3GBx1sYoA5XeDkqXicwxZ41UzrGyctpFk7TJrZTKgAIhAPMYIMp2+xiEjq7Et+k70gZlXHSbMd6sIg9u5CGCRP+1","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":70693},"main":"dist/index.js","_from":"file:emdzej-ediabasx-interface-j2534-0.4.2.tgz","types":"dist/index.d.ts","scripts":{"dev":"tsc -p tsconfig.json -w --preserveWatchOutput","lint":"eslint .","test":"vitest run --passWithNoTests","build":"tsc -p tsconfig.json","typecheck":"tsc --noEmit"},"_npmUser":{"name":"emdzej","email":"michal@jaskolski.pro"},"_resolved":"/private/var/folders/7h/x_w_580x4s9dq3sq11tpvzkwy3nbj8/T/a0c8f35c84e67749fcdfae82f095b9bc/emdzej-ediabasx-interface-j2534-0.4.2.tgz","_integrity":"sha512-PEC1fSBcfT4iI4uZ2hbV5IThjSYWMOgXpbthpmEMHB0F5EovafRFnRuZl/GynYu2j6y4YqG5+XWABeCDFQAIUQ==","repository":{"url":"git+https://github.com/emdzej/ediabasx.git","type":"git"},"_npmVersion":"11.14.1","description":"SAE J2534 PassThru transport for EdiabasX via Tactrix OpenPort 2.0 — wraps @emdzej/j2534-driver as an EdiabasInterface, with frame-level integrity that K+DCAN UART bridges can't provide.","directories":{},"_nodeVersion":"22.22.1","dependencies":{"@emdzej/ediabasx-interface-base":"0.4.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^22.0.0","@emdzej/j2534-types":"^0.3.0","@emdzej/j2534-driver":"^0.3.0"},"peerDependencies":{"@emdzej/j2534-usb":"^0.3.0","@emdzej/j2534-types":"^0.3.0","@emdzej/j2534-driver":"^0.3.0","@emdzej/j2534-serial":"^0.3.0"},"peerDependenciesMeta":{"@emdzej/j2534-usb":{"optional":true},"@emdzej/j2534-serial":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/ediabasx-interface-j2534_0.4.2_1780042789489_0.2510747701501581","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@emdzej/ediabasx-interface-j2534","version":"0.5.0","_id":"@emdzej/ediabasx-interface-j2534@0.5.0","maintainers":[{"name":"emdzej","email":"michal@jaskolski.pro"}],"homepage":"https://github.com/emdzej/ediabasx#readme","bugs":{"url":"https://github.com/emdzej/ediabasx/issues"},"dist":{"shasum":"67213d385d096f9dc63165e12d6d3c5b87dd3312","tarball":"https://registry.npmjs.org/@emdzej/ediabasx-interface-j2534/-/ediabasx-interface-j2534-0.5.0.tgz","fileCount":11,"integrity":"sha512-2k6/uEWagfiuoUDE6R/PsLf4g0qyS1WkSm2UKkMKpA5qAMY7c/zujo7P0PcM2sQWLExf27hB19k8FAR5V9I/JA==","signatures":[{"sig":"MEQCIEQaWmxojcQU6xYdHXZ1Et+ZxTiaV1YQw1Cu7R1K5M0TAiBBcKHuKEaiPR+blsdaQX234mB6TqVrZpy19kbBG6XO7w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":75276},"main":"dist/index.js","_from":"file:emdzej-ediabasx-interface-j2534-0.5.0.tgz","types":"dist/index.d.ts","scripts":{"dev":"tsc -p tsconfig.json -w --preserveWatchOutput","lint":"eslint .","test":"vitest run --passWithNoTests","build":"tsc -p tsconfig.json","typecheck":"tsc --noEmit"},"_npmUser":{"name":"emdzej","email":"michal@jaskolski.pro"},"_resolved":"/private/var/folders/7h/x_w_580x4s9dq3sq11tpvzkwy3nbj8/T/d4b53c14dd3503ff93ed48ee9b995ae6/emdzej-ediabasx-interface-j2534-0.5.0.tgz","_integrity":"sha512-2k6/uEWagfiuoUDE6R/PsLf4g0qyS1WkSm2UKkMKpA5qAMY7c/zujo7P0PcM2sQWLExf27hB19k8FAR5V9I/JA==","repository":{"url":"git+https://github.com/emdzej/ediabasx.git","type":"git"},"_npmVersion":"11.14.1","description":"SAE J2534 PassThru transport for EdiabasX via Tactrix OpenPort 2.0 — wraps @emdzej/j2534-driver as an EdiabasInterface, with frame-level integrity that K+DCAN UART bridges can't provide.","directories":{},"_nodeVersion":"22.22.1","dependencies":{"@emdzej/ediabasx-interface-base":"0.5.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^22.0.0","@emdzej/j2534-types":"^0.3.0","@emdzej/j2534-driver":"^0.3.0"},"peerDependencies":{"@emdzej/j2534-usb":"^0.3.0","@emdzej/j2534-types":"^0.3.0","@emdzej/j2534-driver":"^0.3.0","@emdzej/j2534-serial":"^0.3.0"},"peerDependenciesMeta":{"@emdzej/j2534-usb":{"optional":true},"@emdzej/j2534-serial":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/ediabasx-interface-j2534_0.5.0_1780062110316_0.8060972802716633","host":"s3://npm-registry-packages-npm-production"}},"0.5.1":{"name":"@emdzej/ediabasx-interface-j2534","version":"0.5.1","_id":"@emdzej/ediabasx-interface-j2534@0.5.1","maintainers":[{"name":"emdzej","email":"michal@jaskolski.pro"}],"homepage":"https://github.com/emdzej/ediabasx#readme","bugs":{"url":"https://github.com/emdzej/ediabasx/issues"},"dist":{"shasum":"de2555c4f7f24d1c436c32c019287e43568f279f","tarball":"https://registry.npmjs.org/@emdzej/ediabasx-interface-j2534/-/ediabasx-interface-j2534-0.5.1.tgz","fileCount":11,"integrity":"sha512-Z89gFUBs7n42L9tZXBd2AtKnOaL0c/AD/Gev18lmeUPcLtJPcYJrlcLj/wO+zrdTU058ai2vHSffI31rN3k9jg==","signatures":[{"sig":"MEQCIG2YBdDn75ygi811bl4VkZCgxtjvZ5FZnZ5Ic9+ikU2dAiA8ii8ClDaAnpnbWvAcDsqVVdrFs9jUAOOScEmB/v90tQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":75276},"main":"dist/index.js","_from":"file:emdzej-ediabasx-interface-j2534-0.5.1.tgz","types":"dist/index.d.ts","scripts":{"dev":"tsc -p tsconfig.json -w --preserveWatchOutput","lint":"eslint .","test":"vitest run --passWithNoTests","build":"tsc -p tsconfig.json","typecheck":"tsc --noEmit"},"_npmUser":{"name":"emdzej","email":"michal@jaskolski.pro"},"_resolved":"/private/var/folders/7h/x_w_580x4s9dq3sq11tpvzkwy3nbj8/T/42b490c09efa70988e72209b56faebe8/emdzej-ediabasx-interface-j2534-0.5.1.tgz","_integrity":"sha512-Z89gFUBs7n42L9tZXBd2AtKnOaL0c/AD/Gev18lmeUPcLtJPcYJrlcLj/wO+zrdTU058ai2vHSffI31rN3k9jg==","repository":{"url":"git+https://github.com/emdzej/ediabasx.git","type":"git"},"_npmVersion":"11.14.1","description":"SAE J2534 PassThru transport for EdiabasX via Tactrix OpenPort 2.0 — wraps @emdzej/j2534-driver as an EdiabasInterface, with frame-level integrity that K+DCAN UART bridges can't provide.","directories":{},"_nodeVersion":"22.22.1","dependencies":{"@emdzej/ediabasx-interface-base":"0.5.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^22.0.0","@emdzej/j2534-types":"^0.3.0","@emdzej/j2534-driver":"^0.3.0"},"peerDependencies":{"@emdzej/j2534-usb":"^0.3.0","@emdzej/j2534-types":"^0.3.0","@emdzej/j2534-driver":"^0.3.0","@emdzej/j2534-serial":"^0.3.0"},"peerDependenciesMeta":{"@emdzej/j2534-usb":{"optional":true},"@emdzej/j2534-serial":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/ediabasx-interface-j2534_0.5.1_1780068386221_0.41230284230130754","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"@emdzej/ediabasx-interface-j2534","version":"0.6.0","_id":"@emdzej/ediabasx-interface-j2534@0.6.0","maintainers":[{"name":"emdzej","email":"michal@jaskolski.pro"}],"homepage":"https://github.com/emdzej/ediabasx#readme","bugs":{"url":"https://github.com/emdzej/ediabasx/issues"},"dist":{"shasum":"d736a03eae79fe44643e00dce103dea6d455bcfe","tarball":"https://registry.npmjs.org/@emdzej/ediabasx-interface-j2534/-/ediabasx-interface-j2534-0.6.0.tgz","fileCount":11,"integrity":"sha512-OPEaKFg1LobEgIDJD/znQm7V1g4b9aTPhLGw0CJG+7EC8sNPiw1Jd+B2dE1iUSW8DONrBa4V8SU0qvUuJnCqFw==","signatures":[{"sig":"MEYCIQDBkcqS/0v0bLYfA4f1in7c6LEhJnT+h8mHbnlLNvKYvQIhAOtdgahgRChRwXJFJNeudqFvA7Zb/A57cDfvSyDQNIOf","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":75276},"main":"dist/index.js","_from":"file:emdzej-ediabasx-interface-j2534-0.6.0.tgz","types":"dist/index.d.ts","scripts":{"dev":"tsc -p tsconfig.json -w --preserveWatchOutput","lint":"eslint .","test":"vitest run --passWithNoTests","build":"tsc -p tsconfig.json","typecheck":"tsc --noEmit"},"_npmUser":{"name":"emdzej","email":"michal@jaskolski.pro"},"_resolved":"/private/var/folders/7h/x_w_580x4s9dq3sq11tpvzkwy3nbj8/T/595db4c6b2450e4d8bc719edab5613a4/emdzej-ediabasx-interface-j2534-0.6.0.tgz","_integrity":"sha512-OPEaKFg1LobEgIDJD/znQm7V1g4b9aTPhLGw0CJG+7EC8sNPiw1Jd+B2dE1iUSW8DONrBa4V8SU0qvUuJnCqFw==","repository":{"url":"git+https://github.com/emdzej/ediabasx.git","type":"git"},"_npmVersion":"11.16.0","description":"SAE J2534 PassThru transport for EdiabasX via Tactrix OpenPort 2.0 — wraps @emdzej/j2534-driver as an EdiabasInterface, with frame-level integrity that K+DCAN UART bridges can't provide.","directories":{},"_nodeVersion":"22.22.1","dependencies":{"@emdzej/ediabasx-interface-base":"0.6.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^22.0.0","@emdzej/j2534-types":"^0.3.0","@emdzej/j2534-driver":"^0.3.0"},"peerDependencies":{"@emdzej/j2534-usb":"^0.3.0","@emdzej/j2534-types":"^0.3.0","@emdzej/j2534-driver":"^0.3.0","@emdzej/j2534-serial":"^0.3.0"},"peerDependenciesMeta":{"@emdzej/j2534-usb":{"optional":true},"@emdzej/j2534-serial":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/ediabasx-interface-j2534_0.6.0_1780499502549_0.2050318634395749","host":"s3://npm-registry-packages-npm-production"}},"0.6.1":{"name":"@emdzej/ediabasx-interface-j2534","version":"0.6.1","_id":"@emdzej/ediabasx-interface-j2534@0.6.1","maintainers":[{"name":"emdzej","email":"michal@jaskolski.pro"}],"homepage":"https://github.com/emdzej/ediabasx#readme","bugs":{"url":"https://github.com/emdzej/ediabasx/issues"},"dist":{"shasum":"888b12f2768597eff882ab324fcd9c76afadb049","tarball":"https://registry.npmjs.org/@emdzej/ediabasx-interface-j2534/-/ediabasx-interface-j2534-0.6.1.tgz","fileCount":11,"integrity":"sha512-EhqgIhclz2w2228RZT9bJCYEd9sP5h4kjHrAAJ4Z3FWgBV5Fv+uYa1eVt+fjl5vBPr+h8gUl2XWsg+Klvb3RAQ==","signatures":[{"sig":"MEUCIAzTSMsOSDLNCL/bDqQcrUVw1wLCN9W1wENK6YS1orkGAiEA/avFDM0+VzfqGcnM4TbZkadkEgwB7zEDzgqeSDfIhRY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":75276},"main":"dist/index.js","_from":"file:emdzej-ediabasx-interface-j2534-0.6.1.tgz","types":"dist/index.d.ts","scripts":{"dev":"tsc -p tsconfig.json -w --preserveWatchOutput","lint":"eslint .","test":"vitest run --passWithNoTests","build":"tsc -p tsconfig.json","typecheck":"tsc --noEmit"},"_npmUser":{"name":"emdzej","email":"michal@jaskolski.pro"},"_resolved":"/private/var/folders/7h/x_w_580x4s9dq3sq11tpvzkwy3nbj8/T/7046e6e71ac02c7d519c5926e0a36200/emdzej-ediabasx-interface-j2534-0.6.1.tgz","_integrity":"sha512-EhqgIhclz2w2228RZT9bJCYEd9sP5h4kjHrAAJ4Z3FWgBV5Fv+uYa1eVt+fjl5vBPr+h8gUl2XWsg+Klvb3RAQ==","repository":{"url":"git+https://github.com/emdzej/ediabasx.git","type":"git"},"_npmVersion":"11.16.0","description":"SAE J2534 PassThru transport for EdiabasX via Tactrix OpenPort 2.0 — wraps @emdzej/j2534-driver as an EdiabasInterface, with frame-level integrity that K+DCAN UART bridges can't provide.","directories":{},"_nodeVersion":"22.22.1","dependencies":{"@emdzej/ediabasx-interface-base":"0.6.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^22.0.0","@emdzej/j2534-types":"^0.3.0","@emdzej/j2534-driver":"^0.3.0"},"peerDependencies":{"@emdzej/j2534-usb":"^0.3.0","@emdzej/j2534-types":"^0.3.0","@emdzej/j2534-driver":"^0.3.0","@emdzej/j2534-serial":"^0.3.0"},"peerDependenciesMeta":{"@emdzej/j2534-usb":{"optional":true},"@emdzej/j2534-serial":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/ediabasx-interface-j2534_0.6.1_1780604592655_0.786112546380316","host":"s3://npm-registry-packages-npm-production"}},"0.6.2":{"name":"@emdzej/ediabasx-interface-j2534","version":"0.6.2","_id":"@emdzej/ediabasx-interface-j2534@0.6.2","maintainers":[{"name":"emdzej","email":"michal@jaskolski.pro"}],"homepage":"https://github.com/emdzej/ediabasx#readme","bugs":{"url":"https://github.com/emdzej/ediabasx/issues"},"dist":{"shasum":"ad075de641a4e01446247e162a797967621ba27f","tarball":"https://registry.npmjs.org/@emdzej/ediabasx-interface-j2534/-/ediabasx-interface-j2534-0.6.2.tgz","fileCount":11,"integrity":"sha512-YdnqLyaBph26QmVRVi8N1UZ5TxcbYdAbHw7+4vUmUwyiPoXztF19e2e5rJb0wnIA1zmqeSCU/XjHddODpw7p7g==","signatures":[{"sig":"MEYCIQCwPETp+zFRwWfLZZiwUWDrUxtC8AQ8DUJaz+AphHGS8gIhAJ7k2uqWVDYkCa59GnZQLSUbH9afEz1gBf/HAAtO23Wj","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":75276},"main":"dist/index.js","_from":"file:emdzej-ediabasx-interface-j2534-0.6.2.tgz","types":"dist/index.d.ts","scripts":{"dev":"tsc -p tsconfig.json -w --preserveWatchOutput","lint":"eslint .","test":"vitest run --passWithNoTests","build":"tsc -p tsconfig.json","typecheck":"tsc --noEmit"},"_npmUser":{"name":"emdzej","email":"michal@jaskolski.pro"},"_resolved":"/private/var/folders/7h/x_w_580x4s9dq3sq11tpvzkwy3nbj8/T/da34bdce15e5d714272293077021d496/emdzej-ediabasx-interface-j2534-0.6.2.tgz","_integrity":"sha512-YdnqLyaBph26QmVRVi8N1UZ5TxcbYdAbHw7+4vUmUwyiPoXztF19e2e5rJb0wnIA1zmqeSCU/XjHddODpw7p7g==","repository":{"url":"git+https://github.com/emdzej/ediabasx.git","type":"git"},"_npmVersion":"11.16.0","description":"SAE J2534 PassThru transport for EdiabasX via Tactrix OpenPort 2.0 — wraps @emdzej/j2534-driver as an EdiabasInterface, with frame-level integrity that K+DCAN UART bridges can't provide.","directories":{},"_nodeVersion":"22.22.1","dependencies":{"@emdzej/ediabasx-interface-base":"0.6.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^22.0.0","@emdzej/j2534-types":"^0.3.0","@emdzej/j2534-driver":"^0.3.0"},"peerDependencies":{"@emdzej/j2534-usb":"^0.3.0","@emdzej/j2534-types":"^0.3.0","@emdzej/j2534-driver":"^0.3.0","@emdzej/j2534-serial":"^0.3.0"},"peerDependenciesMeta":{"@emdzej/j2534-usb":{"optional":true},"@emdzej/j2534-serial":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/ediabasx-interface-j2534_0.6.2_1780649467608_0.822394913392511","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"@emdzej/ediabasx-interface-j2534","version":"0.7.0","_id":"@emdzej/ediabasx-interface-j2534@0.7.0","maintainers":[{"name":"emdzej","email":"michal@jaskolski.pro"}],"homepage":"https://github.com/emdzej/ediabasx#readme","bugs":{"url":"https://github.com/emdzej/ediabasx/issues"},"dist":{"shasum":"3c9492652e3251293856614757abcd62df86ae71","tarball":"https://registry.npmjs.org/@emdzej/ediabasx-interface-j2534/-/ediabasx-interface-j2534-0.7.0.tgz","fileCount":11,"integrity":"sha512-XSCcF0Z9HJ1UmlT0DlxH6beZDBb57j/ZcMKL3KaFV4bQn2VNzB6E6RFUsko9pmqZy/dXRssGS1x+unryaDCzNQ==","signatures":[{"sig":"MEYCIQD/CFbtPhtpzShsEvUxDE3EhwxzVmNflW7VgwChnoiUkAIhAJtFaAxdstUdcy6GjiSbzjrCBcJ4WAs4aZIxbWnEtYI4","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":75297},"main":"dist/index.js","_from":"file:emdzej-ediabasx-interface-j2534-0.7.0.tgz","types":"dist/index.d.ts","scripts":{"dev":"tsc -p tsconfig.json -w --preserveWatchOutput","lint":"eslint .","test":"vitest run --passWithNoTests","build":"tsc -p tsconfig.json","typecheck":"tsc --noEmit"},"_npmUser":{"name":"emdzej","email":"michal@jaskolski.pro"},"_resolved":"/private/var/folders/7h/x_w_580x4s9dq3sq11tpvzkwy3nbj8/T/f092e761724e12ec47acd06b2b979d8a/emdzej-ediabasx-interface-j2534-0.7.0.tgz","_integrity":"sha512-XSCcF0Z9HJ1UmlT0DlxH6beZDBb57j/ZcMKL3KaFV4bQn2VNzB6E6RFUsko9pmqZy/dXRssGS1x+unryaDCzNQ==","repository":{"url":"git+https://github.com/emdzej/ediabasx.git","type":"git"},"_npmVersion":"11.16.0","description":"SAE J2534 PassThru transport for EdiabasX via Tactrix OpenPort 2.0 — wraps @emdzej/j2534-driver as an EdiabasInterface, with frame-level integrity that K+DCAN UART bridges can't provide.","directories":{},"_nodeVersion":"22.22.1","dependencies":{"@emdzej/ediabasx-interface-base":"0.7.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^22.0.0","@emdzej/j2534-types":"^0.3.0","@emdzej/j2534-driver":"^0.3.0"},"peerDependencies":{"@emdzej/j2534-usb":"^0.3.0","@emdzej/j2534-types":"^0.3.0","@emdzej/j2534-driver":"^0.3.0","@emdzej/j2534-serial":"^0.3.0"},"peerDependenciesMeta":{"@emdzej/j2534-usb":{"optional":true},"@emdzej/j2534-serial":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/ediabasx-interface-j2534_0.7.0_1780654992143_0.2587745897761473","host":"s3://npm-registry-packages-npm-production"}},"0.7.1":{"name":"@emdzej/ediabasx-interface-j2534","version":"0.7.1","_id":"@emdzej/ediabasx-interface-j2534@0.7.1","maintainers":[{"name":"emdzej","email":"michal@jaskolski.pro"}],"homepage":"https://github.com/emdzej/ediabasx#readme","bugs":{"url":"https://github.com/emdzej/ediabasx/issues"},"dist":{"shasum":"606c36ae748c2dab0089b8bfa6b1ed98ae14f7df","tarball":"https://registry.npmjs.org/@emdzej/ediabasx-interface-j2534/-/ediabasx-interface-j2534-0.7.1.tgz","fileCount":11,"integrity":"sha512-onFIfNTkFQcFSjqm4q5MytzAie3nSVbGSXIoybTysQa3yaasaMORcCpYVZ1Iwk11KSSn2ml22TrfKYetkARM/A==","signatures":[{"sig":"MEQCIB1Xah7z41hKp0SdOlMQ6JoWnybzB/alBteF5457y+WuAiAbOCcssTsdUzX8Knuq7Ze5FGoqSowQhhqDc6nNd3EplQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":75297},"main":"dist/index.js","_from":"file:emdzej-ediabasx-interface-j2534-0.7.1.tgz","types":"dist/index.d.ts","scripts":{"dev":"tsc -p tsconfig.json -w --preserveWatchOutput","lint":"eslint .","test":"vitest run --passWithNoTests","build":"tsc -p tsconfig.json","typecheck":"tsc --noEmit"},"_npmUser":{"name":"emdzej","email":"michal@jaskolski.pro"},"_resolved":"/private/var/folders/7h/x_w_580x4s9dq3sq11tpvzkwy3nbj8/T/d57a64426966bd4ca5de85ce5e739dc1/emdzej-ediabasx-interface-j2534-0.7.1.tgz","_integrity":"sha512-onFIfNTkFQcFSjqm4q5MytzAie3nSVbGSXIoybTysQa3yaasaMORcCpYVZ1Iwk11KSSn2ml22TrfKYetkARM/A==","repository":{"url":"git+https://github.com/emdzej/ediabasx.git","type":"git"},"_npmVersion":"11.16.0","description":"SAE J2534 PassThru transport for EdiabasX via Tactrix OpenPort 2.0 — wraps @emdzej/j2534-driver as an EdiabasInterface, with frame-level integrity that K+DCAN UART bridges can't provide.","directories":{},"_nodeVersion":"22.22.1","dependencies":{"@emdzej/ediabasx-interface-base":"0.7.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^22.0.0","@emdzej/j2534-types":"^0.3.0","@emdzej/j2534-driver":"^0.3.0"},"peerDependencies":{"@emdzej/j2534-usb":"^0.3.0","@emdzej/j2534-types":"^0.3.0","@emdzej/j2534-driver":"^0.3.0","@emdzej/j2534-serial":"^0.3.0"},"peerDependenciesMeta":{"@emdzej/j2534-usb":{"optional":true},"@emdzej/j2534-serial":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/ediabasx-interface-j2534_0.7.1_1780679467162_0.34738718148560266","host":"s3://npm-registry-packages-npm-production"}},"0.8.0":{"name":"@emdzej/ediabasx-interface-j2534","version":"0.8.0","description":"SAE J2534 PassThru transport for EdiabasX via Tactrix OpenPort 2.0 — wraps @emdzej/j2534-driver as an EdiabasInterface, with frame-level integrity that K+DCAN UART bridges can't provide.","main":"dist/index.js","types":"dist/index.d.ts","dependencies":{"@emdzej/ediabasx-interface-base":"0.8.0"},"peerDependencies":{"@emdzej/j2534-driver":"^0.3.0","@emdzej/j2534-types":"^0.3.0","@emdzej/j2534-serial":"^0.3.0","@emdzej/j2534-usb":"^0.3.0"},"devDependencies":{"@emdzej/j2534-driver":"^0.3.0","@emdzej/j2534-types":"^0.3.0","@types/node":"^22.0.0"},"peerDependenciesMeta":{"@emdzej/j2534-serial":{"optional":true},"@emdzej/j2534-usb":{"optional":true}},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+https://github.com/emdzej/ediabasx.git"},"scripts":{"build":"tsc -p tsconfig.json","test":"vitest run --passWithNoTests","lint":"eslint .","typecheck":"tsc --noEmit","dev":"tsc -p tsconfig.json -w --preserveWatchOutput"},"_id":"@emdzej/ediabasx-interface-j2534@0.8.0","bugs":{"url":"https://github.com/emdzej/ediabasx/issues"},"homepage":"https://github.com/emdzej/ediabasx#readme","_integrity":"sha512-jZ9ExV6BGCH87GWFOwSiAy9sisNkxXOkRofSscmClp4Lui7SecUrcCvaBGW6lr3hRIaqRHWGGem8EZS1DZIhHQ==","_resolved":"/private/var/folders/7h/x_w_580x4s9dq3sq11tpvzkwy3nbj8/T/dda65578ea4ab699c0139381ca603c5a/emdzej-ediabasx-interface-j2534-0.8.0.tgz","_from":"file:emdzej-ediabasx-interface-j2534-0.8.0.tgz","_nodeVersion":"22.22.1","_npmVersion":"11.16.0","dist":{"integrity":"sha512-jZ9ExV6BGCH87GWFOwSiAy9sisNkxXOkRofSscmClp4Lui7SecUrcCvaBGW6lr3hRIaqRHWGGem8EZS1DZIhHQ==","shasum":"d86abae7445f176cce4214073972845bbbc63636","tarball":"https://registry.npmjs.org/@emdzej/ediabasx-interface-j2534/-/ediabasx-interface-j2534-0.8.0.tgz","fileCount":11,"unpackedSize":75297,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQD0kRprrYC0lRG16eChl1zz122R7aftelnFLD8RZfeOBAIgQ16izKYHP8Wg2x46rei2B24fKfFIYDt5C4v3Q5Ifrf4="}]},"_npmUser":{"name":"emdzej","email":"michal@jaskolski.pro"},"directories":{},"maintainers":[{"name":"emdzej","email":"michal@jaskolski.pro"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/ediabasx-interface-j2534_0.8.0_1783328594389_0.0716304247562467"},"_hasShrinkwrap":false}},"time":{"created":"2026-05-28T14:11:46.780Z","modified":"2026-07-06T09:03:14.661Z","0.4.0":"2026-05-28T14:11:47.111Z","0.4.1":"2026-05-28T20:18:13.799Z","0.4.2":"2026-05-29T08:19:49.656Z","0.5.0":"2026-05-29T13:41:50.461Z","0.5.1":"2026-05-29T15:26:26.362Z","0.6.0":"2026-06-03T15:11:42.772Z","0.6.1":"2026-06-04T20:23:12.805Z","0.6.2":"2026-06-05T08:51:07.738Z","0.7.0":"2026-06-05T10:23:12.291Z","0.7.1":"2026-06-05T17:11:07.301Z","0.8.0":"2026-07-06T09:03:14.546Z"},"bugs":{"url":"https://github.com/emdzej/ediabasx/issues"},"homepage":"https://github.com/emdzej/ediabasx#readme","repository":{"type":"git","url":"git+https://github.com/emdzej/ediabasx.git"},"description":"SAE J2534 PassThru transport for EdiabasX via Tactrix OpenPort 2.0 — wraps @emdzej/j2534-driver as an EdiabasInterface, with frame-level integrity that K+DCAN UART bridges can't provide.","maintainers":[{"name":"emdzej","email":"michal@jaskolski.pro"}],"readme":"# @emdzej/ediabasx-interface-j2534\n\nSAE J2534 PassThru transport for EdiabasX via the **Tactrix OpenPort 2.0**. Wraps [`@emdzej/j2534-driver`](https://www.npmjs.com/package/@emdzej/j2534-driver) as an `EdiabasInterface` so any SGBD that runs over the K+DCAN serial path can also run over a frame-level OpenPort.\n\n> Requires `@emdzej/j2534-driver` (and `@emdzej/j2534-types`) `^0.3.0` — declared as **peer dependencies** so consumers control the version. Optional peers `@emdzej/j2534-usb` (Node) and `@emdzej/j2534-webserial` (browser) pick the USB transport.\n\n## Why J2534 (vs K+DCAN passthrough)\n\nK+DCAN cables are FTDI USB-UART bridges — fine for fast ECUs but timing-noisy on slow K-line lines. The OpenPort 2.0 is an active J2534 device with its own K-line transceiver, so bit timing, direction switching, and parity are handled in hardware. Verified end-to-end against:\n\n- E46 GS20 transmission (`10GD20.prg IDENT`)\n- E46 KMB46 cluster (`C_KMB46.prg C_ZCS_LESEN` — slow EEPROM read, ~250 ms round-trip)\n\n## Interface identity: we masquerade as `OBD`\n\n`UTILITY.PRG`'s `INTERFACE` job (and any BEST2 `xtype` / `xvers` call) reports:\n\n```\nTYP     = \"OBD\"\nVERSION = 0xD1 (209)\n```\n\n— **identical to what BMW's reference `OBD32.dll` (K+DCAN over FTDI) publishes**, even though this transport is actually SAE J2534 over an OpenPort 2.0.\n\n**Why**: J2534 isn't one of the IFH variants BMW shipped with EDIABAS (the known set is `STD:OBD` / `STD:ADS` / `STD:OMITEC` / `ENET`). SGBDs that branch on TYP (e.g. `if interface_type = \"OBD\" then ... else ...`) would either reject a literal `\"J2534\"` or fall through to an untested else-branch. The whole point of this package is \"drop-in K+DCAN replacement over OpenPort 2.0\" — upper layers should be unable to tell whether the K-line is being driven by an FTDI bridge or a J2534 PassThru device. The masquerade keeps that promise.\n\nThe trade-off: a job that legitimately needs to distinguish J2534-from-K+DCAN can't. None of the BMW SGBDs we've encountered do this; if one ever does, the right fix is a separate capability-probe channel, not a different TYP literal.\n\nValues verified via Ghidra of `OBD32.dll`'s WRITEDATA dispatcher (case `0x12` → `\"OBD\\0\"` literal at `_DAT_1000d1d0`, case `0x0B` → hardcoded `0xD1` immediate). Both constants are static — they don't depend on the `Hardware=` INI mode or on any on-wire adapter info.\n\n## Use\n\n```ts\nimport { Ediabas } from '@emdzej/ediabasx-ediabas';\nimport { J2534Interface } from '@emdzej/ediabasx-interface-j2534';\n\nconst ed = new Ediabas({\n  ecuPath: '.',\n  interface: new J2534Interface({\n    transport: { kind: 'serial' },   // J2534 wire transport: node USB-FTDI driver\n    protocol: 'ds2',                 // ds2 | kwp | can\n    baudRate: 9600,\n  }),\n});\n\nawait ed.connect();\ned.loadSgbd('C_KMB46');\nconst results = await ed.executeJob('C_ZCS_LESEN');\nawait ed.disconnect();\n```\n\nFor browser-side use, hand the constructor an instance from `@emdzej/j2534-webserial`:\n\n```ts\nimport { WebSerialTransport } from '@emdzej/j2534-webserial';\n\nnew J2534Interface({\n  transport: { kind: 'instance', transport: new WebSerialTransport() },\n  protocol: 'ds2',\n  baudRate: 9600,\n});\n```\n\n## Slow K-line ECUs\n\nWithout a host-side `ParRegenTime` wait between transactions, OpenPort firmware drops responses from clusters / IKE / body modules (slower than the J2534 `P2_MAX` window, which Tactrix's DLL doesn't expose). `J2534Interface.send()` enforces this delay host-side — mirrors `Ds2Session.sendRequest()` in `@emdzej/ediabasx-interface-serial`. The SGBD's `xsetpar` `ParRegenTime` (parameters[6]) drives the wait. **No action needed** — works automatically as long as the SGBD calls `INITIALISIERUNG`.\n\nSome related findings (verified via Ghidra of `op20pt32.dll`):\n\n- Tactrix's DLL silently drops `SET_CONFIG` / `GET_CONFIG` calls containing `P1_MIN` / `P2_MIN` / `P2_MAX` / `P3_MAX` / `P4_MAX`. The firmware never sees those values via the DLL. **`@emdzej/j2534-driver` 0.3.0+ mirrors this blacklist** in its own `passThruIoctl` — sending non-default values for those params on OpenPort 2.0 has been observed to corrupt the device's persistent configuration and require a Tactrix EcuFlash firmware reflash to recover. Override the safety with `allowUnsafeConfigParams: true` only when knowingly attempting recovery (e.g. writing the J2534 §6.4 sentinel `0xFFFFFFFF` = \"use default\").\n- The `att` (transmit) USB cmd carries a `<timeoutMicros>` field — Tactrix defaults to 1 s for K-line. `@emdzej/j2534-driver` 0.2.0+ propagates the J2534 `Timeout` argument here.\n\n## Configuration\n\n| Option | Default | Purpose |\n|---|---|---|\n| `protocol` | `\"ds2\"` | Wire protocol — `ds2` for E36/E39/E46-era K-line, `kwp` for ISO14230 fast init, `can` for raw frames. Note: the SGBD's `xsetpar` overrides this on first job. |\n| `baudRate` | `9600` | K-line baud. Ignored for `can`. |\n| `loopback` | `true` | Have OpenPort echo TX back; the interface filters echoes host-side. Matches the j2534 repo's DS2 reference example. |\n| `hostInterByteMs` | `0` | Host-side inter-byte gap. Workaround for ECUs that need K+DCAN-style USB-chunking delays; usually unnecessary. |\n| `readTimeoutMs` | `1000` | Per-poll receive timeout. |\n| `defaultBatteryMv` | `12000` | Battery-voltage fallback when the device can't measure. |\n\n## Debugging\n\n- `EDIABASX_VERBOSE=1` — TX/RX bytes, setpar decode, setconfig requests, regen waits.\n- `J2534_RAW_TRACE=1` — raw USB-byte chunks from `@emdzej/j2534-driver`. Useful for telling \"device sent nothing\" apart from \"device sent a frame our K-line assembler dropped\".\n\n## See also\n\n- [`@emdzej/j2534-driver`](https://www.npmjs.com/package/@emdzej/j2534-driver) — the underlying SAE J2534 implementation.\n- [`@emdzej/ediabasx-interface-serial`](../interface-serial/README.md) — K+DCAN / raw FTDI alternative.\n","readmeFilename":"README.md"}