{"_id":"@adlanehzx/leynai-agent","_rev":"9-8f1dc6086ad068aa8d13a691f4eb454d","name":"@adlanehzx/leynai-agent","dist-tags":{"latest":"1.2.0"},"versions":{"1.0.0":{"name":"@adlanehzx/leynai-agent","version":"1.0.0","keywords":["leynai","testing","playwright","tunnel","localhost","cloudflared","e2e","automation","qa"],"author":{"name":"adlanehzx"},"license":"MIT","_id":"@adlanehzx/leynai-agent@1.0.0","maintainers":[{"name":"adlanehzx","email":"contact.adlanehz@gmail.com"}],"homepage":"https://github.com/adlanehzx/LeynAI-testing#readme","bugs":{"url":"https://github.com/adlanehzx/LeynAI-testing/issues"},"bin":{"leynai":"bin/leynai-agent.js","leynai-agent":"bin/leynai-agent.js"},"dist":{"shasum":"ae27dacbdc40f028fc693cdb5455d09aaacefaa8","tarball":"https://registry.npmjs.org/@adlanehzx/leynai-agent/-/leynai-agent-1.0.0.tgz","fileCount":31,"integrity":"sha512-ahDdvtyVVgHdlCQkwJCyYPDVcaGt40vAq5PlyV7RyF5itYP1TiFnrYxEYFBBIWMcBNsZMDx7TlgDl6EqUcPtsA==","signatures":[{"sig":"MEQCIDDql5EhZZiJT33D7B11IeP+AZvXaYQsW+69dHzBeIr0AiBWPLShJS/r2azt2kTDBf2/OeakOprWJ7Sf7tCxms61VA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":154479},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"ebe42bfd19106a7e02ccdf65b250f5d240d4281e","scripts":{"dev":"tsx src/index.ts","build":"tsc","start":"node dist/index.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"adlanehzx","email":"contact.adlanehz@gmail.com"},"repository":{"url":"git+https://github.com/adlanehzx/LeynAI-testing.git","type":"git","directory":"agent"},"_npmVersion":"10.8.2","description":"LeynAI Agent - Connect your localhost to LeynAI cloud for automated testing","directories":{},"_nodeVersion":"20.18.0","dependencies":{"ora":"^5.4.1","conf":"^11.0.2","glob":"^10.3.10","axios":"^1.6.0","chalk":"^4.1.2","dotenv":"^16.3.1","fs-extra":"^11.2.0","commander":"^11.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.0","typescript":"^5.3.3","@types/node":"^20.10.0","@types/fs-extra":"^11.0.4"},"_npmOperationalInternal":{"tmp":"tmp/leynai-agent_1.0.0_1765108437809_0.6614220238263224","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@adlanehzx/leynai-agent","version":"1.1.0","keywords":["leynai","testing","playwright","tunnel","localhost","cloudflared","e2e","automation","qa"],"author":{"name":"adlanehzx"},"license":"MIT","_id":"@adlanehzx/leynai-agent@1.1.0","maintainers":[{"name":"adlanehzx","email":"contact.adlanehz@gmail.com"}],"homepage":"https://github.com/adlanehzx/LeynAI-testing#readme","bugs":{"url":"https://github.com/adlanehzx/LeynAI-testing/issues"},"bin":{"leynai":"bin/leynai-agent.js","leynai-agent":"bin/leynai-agent.js"},"dist":{"shasum":"e276239ff56c26d8f3524964010799eae5dcc1f8","tarball":"https://registry.npmjs.org/@adlanehzx/leynai-agent/-/leynai-agent-1.1.0.tgz","fileCount":31,"integrity":"sha512-aZUwY801iS+Hs996PRMx3RnWLoCCY0Jz+Fd1rCkABLF9mF5fHdr/XpnvSbyIh2oXGpezDREsy++CG9GqY7C3VQ==","signatures":[{"sig":"MEQCIF1Le3pndz1G+Yh3fNST7pJer9VKAYERXPpOhBXdGVyKAiBweWbPhVen7tHQF7vJSIiORRyHXusD7va1W+yXrESYoQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":155280},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"8ec686ee8f19901375c8338d48ad075c23e5fc22","scripts":{"dev":"tsx src/index.ts","build":"tsc","start":"node dist/index.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"adlanehzx","email":"contact.adlanehz@gmail.com"},"repository":{"url":"git+https://github.com/adlanehzx/LeynAI-testing.git","type":"git","directory":"agent"},"_npmVersion":"10.8.2","description":"LeynAI Agent - Connect your localhost to LeynAI cloud for automated testing","directories":{},"_nodeVersion":"20.18.0","dependencies":{"ora":"^5.4.1","conf":"^11.0.2","glob":"^10.3.10","axios":"^1.6.0","chalk":"^4.1.2","dotenv":"^16.3.1","fs-extra":"^11.2.0","commander":"^11.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.0","typescript":"^5.3.3","@types/node":"^20.10.0","@types/fs-extra":"^11.0.4"},"_npmOperationalInternal":{"tmp":"tmp/leynai-agent_1.1.0_1765274435577_0.16107586212938485","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"@adlanehzx/leynai-agent","version":"1.1.1","keywords":["leynai","testing","playwright","tunnel","localhost","cloudflared","e2e","automation","qa"],"author":{"name":"adlanehzx"},"license":"MIT","_id":"@adlanehzx/leynai-agent@1.1.1","maintainers":[{"name":"adlanehzx","email":"contact.adlanehz@gmail.com"}],"homepage":"https://github.com/adlanehzx/LeynAI-testing#readme","bugs":{"url":"https://github.com/adlanehzx/LeynAI-testing/issues"},"bin":{"leynai":"bin/leynai-agent.js","leynai-agent":"bin/leynai-agent.js"},"dist":{"shasum":"c491c2a239d9ae0b1b2bc639aea30b7cc7eafd8c","tarball":"https://registry.npmjs.org/@adlanehzx/leynai-agent/-/leynai-agent-1.1.1.tgz","fileCount":31,"integrity":"sha512-4WQHcafzf6JWxWDbyd41FNyAegfboboIU+FD+GqfyEUpmk4oqG9/mrbgyi1DxoAposloMOqXbYdYx2Y/5A/+UA==","signatures":[{"sig":"MEYCIQD5MPuRpzpMfqawvgkH9nXSLCwO1vkLR71RhY9+5wsUwQIhAIdMeriKasKadMNSXOTBIDB0UH1tZgk1ApDvNo4v5JjP","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":158464},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"4ee6bc4b0f136d96587b359877782e9fc92dfa08","scripts":{"dev":"tsx src/index.ts","build":"tsc","start":"node dist/index.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"adlanehzx","email":"contact.adlanehz@gmail.com"},"repository":{"url":"git+https://github.com/adlanehzx/LeynAI-testing.git","type":"git","directory":"agent"},"_npmVersion":"10.8.2","description":"LeynAI Agent - Connect your localhost to LeynAI cloud for automated testing","directories":{},"_nodeVersion":"20.18.0","dependencies":{"ora":"^5.4.1","conf":"^11.0.2","glob":"^10.3.10","axios":"^1.6.0","chalk":"^4.1.2","dotenv":"^16.3.1","fs-extra":"^11.2.0","commander":"^11.1.0","typescript":"^5.3.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.0","@types/node":"^20.10.0","@types/fs-extra":"^11.0.4"},"_npmOperationalInternal":{"tmp":"tmp/leynai-agent_1.1.1_1765293630943_0.9359954211372428","host":"s3://npm-registry-packages-npm-production"}},"1.1.2":{"name":"@adlanehzx/leynai-agent","version":"1.1.2","keywords":["leynai","testing","playwright","tunnel","localhost","cloudflared","e2e","automation","qa"],"author":{"name":"adlanehzx"},"license":"MIT","_id":"@adlanehzx/leynai-agent@1.1.2","maintainers":[{"name":"adlanehzx","email":"contact.adlanehz@gmail.com"}],"homepage":"https://github.com/adlanehzx/LeynAI-testing#readme","bugs":{"url":"https://github.com/adlanehzx/LeynAI-testing/issues"},"bin":{"leynai":"bin/leynai-agent.js","leynai-agent":"bin/leynai-agent.js"},"dist":{"shasum":"8575b54f59e65e7e0e9c88c2c660429376eecc8e","tarball":"https://registry.npmjs.org/@adlanehzx/leynai-agent/-/leynai-agent-1.1.2.tgz","fileCount":31,"integrity":"sha512-35j9/YImbf40CNd1WhOpfJ9qQiVA2V6IlVwCy5zFMBlHBoTjQcADwQuRrijdMRuxUYuDr203wzuko1H3yYMDqg==","signatures":[{"sig":"MEYCIQDg3GMP0YITOfmjlRb6LYENQ37HVuKzJwmICw1CpmPoQQIhAJf3aIfkUOOyYz9ELSUd4gp/Gyb53BptJ7WcOODcqxt1","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":158464},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"4ee6bc4b0f136d96587b359877782e9fc92dfa08","scripts":{"dev":"tsx src/index.ts","build":"tsc","start":"node dist/index.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"adlanehzx","email":"contact.adlanehz@gmail.com"},"repository":{"url":"git+https://github.com/adlanehzx/LeynAI-testing.git","type":"git","directory":"agent"},"_npmVersion":"10.8.2","description":"LeynAI Agent - Connect your localhost to LeynAI cloud for automated testing","directories":{},"_nodeVersion":"20.18.0","dependencies":{"ora":"^5.4.1","conf":"^11.0.2","glob":"^10.3.10","axios":"^1.6.0","chalk":"^4.1.2","dotenv":"^16.3.1","fs-extra":"^11.2.0","commander":"^11.1.0","typescript":"^5.3.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.0","@types/node":"^20.10.0","@types/fs-extra":"^11.0.4"},"_npmOperationalInternal":{"tmp":"tmp/leynai-agent_1.1.2_1765294751795_0.7779959525656162","host":"s3://npm-registry-packages-npm-production"}},"1.1.3":{"name":"@adlanehzx/leynai-agent","version":"1.1.3","keywords":["leynai","testing","playwright","tunnel","localhost","cloudflared","e2e","automation","qa"],"author":{"name":"adlanehzx"},"license":"MIT","_id":"@adlanehzx/leynai-agent@1.1.3","maintainers":[{"name":"adlanehzx","email":"contact.adlanehz@gmail.com"}],"homepage":"https://github.com/adlanehzx/LeynAI-testing#readme","bugs":{"url":"https://github.com/adlanehzx/LeynAI-testing/issues"},"bin":{"leynai":"bin/leynai-agent.js","leynai-agent":"bin/leynai-agent.js"},"dist":{"shasum":"d6eb8bae604506e5b4dba56ee497b30d6934a4c5","tarball":"https://registry.npmjs.org/@adlanehzx/leynai-agent/-/leynai-agent-1.1.3.tgz","fileCount":31,"integrity":"sha512-j2fYcYeOve0VEZm2W/S8lgsMXJCHqv76nK7CHkXzu1iFpo2Phh0+rpJR8CujGATu+7dJcL5hQyHD0AjpKKeyIg==","signatures":[{"sig":"MEYCIQCQ5ppsSpAhpu3ruFBIbPttsm2t24om6zyE8F3/JFgpTQIhAJ/jbXPknehZQA2dWRsqwmiowOUIwyXl0zFn5et0sgSP","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":158470},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"4ee6bc4b0f136d96587b359877782e9fc92dfa08","scripts":{"dev":"tsx src/index.ts","build":"tsc","start":"node dist/index.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"adlanehzx","email":"contact.adlanehz@gmail.com"},"repository":{"url":"git+https://github.com/adlanehzx/LeynAI-testing.git","type":"git","directory":"agent"},"_npmVersion":"10.8.2","description":"LeynAI Agent - Connect your localhost to LeynAI cloud for automated testing","directories":{},"_nodeVersion":"20.18.0","dependencies":{"ora":"^5.4.1","conf":"^11.0.2","glob":"^10.3.10","axios":"^1.6.0","chalk":"^4.1.2","dotenv":"^16.3.1","fs-extra":"^11.2.0","commander":"^11.1.0","typescript":"^5.3.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.0","@types/node":"^20.10.0","@types/fs-extra":"^11.0.4"},"_npmOperationalInternal":{"tmp":"tmp/leynai-agent_1.1.3_1765295142001_0.24935117247394878","host":"s3://npm-registry-packages-npm-production"}},"1.1.4":{"name":"@adlanehzx/leynai-agent","version":"1.1.4","keywords":["leynai","testing","playwright","tunnel","localhost","cloudflared","e2e","automation","qa"],"author":{"name":"adlanehzx"},"license":"MIT","_id":"@adlanehzx/leynai-agent@1.1.4","maintainers":[{"name":"adlanehzx","email":"contact.adlanehz@gmail.com"}],"homepage":"https://github.com/adlanehzx/LeynAI-testing#readme","bugs":{"url":"https://github.com/adlanehzx/LeynAI-testing/issues"},"bin":{"leynai":"bin/leynai-agent.js","leynai-agent":"bin/leynai-agent.js"},"dist":{"shasum":"283c50e49b0d670ecb0d26004573281a2aee451e","tarball":"https://registry.npmjs.org/@adlanehzx/leynai-agent/-/leynai-agent-1.1.4.tgz","fileCount":31,"integrity":"sha512-4WqI0mbd22enR/wkzv60bsKPMvyMrdaMai7MVLMh7PGjKESkyPUcONSlgo/s8nVR7oXljMlkzQCk8vEyxNwASw==","signatures":[{"sig":"MEQCICXjr6267OftGItOh22IQc8SiEZZN3d2CcjcJCfz694FAiAoHgZNXMt1tjvRegW+M4yW8dqMJSxnPfY+Bbr8j1Jf2A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":158466},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"4ee6bc4b0f136d96587b359877782e9fc92dfa08","scripts":{"dev":"tsx src/index.ts","build":"tsc","start":"node dist/index.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"adlanehzx","email":"contact.adlanehz@gmail.com"},"repository":{"url":"git+https://github.com/adlanehzx/LeynAI-testing.git","type":"git","directory":"agent"},"_npmVersion":"10.8.2","description":"LeynAI Agent - Connect your localhost to LeynAI cloud for automated testing","directories":{},"_nodeVersion":"20.18.0","dependencies":{"ora":"^5.4.1","conf":"^11.0.2","glob":"^10.3.10","axios":"^1.6.0","chalk":"^4.1.2","dotenv":"^16.3.1","fs-extra":"^11.2.0","commander":"^11.1.0","typescript":"^5.3.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.0","@types/node":"^20.10.0","@types/fs-extra":"^11.0.4"},"_npmOperationalInternal":{"tmp":"tmp/leynai-agent_1.1.4_1765295993946_0.5040622394617638","host":"s3://npm-registry-packages-npm-production"}},"1.1.5":{"name":"@adlanehzx/leynai-agent","version":"1.1.5","keywords":["leynai","testing","playwright","tunnel","localhost","cloudflared","e2e","automation","qa"],"author":{"name":"adlanehzx"},"license":"MIT","_id":"@adlanehzx/leynai-agent@1.1.5","maintainers":[{"name":"adlanehzx","email":"contact.adlanehz@gmail.com"}],"homepage":"https://github.com/adlanehzx/LeynAI-testing#readme","bugs":{"url":"https://github.com/adlanehzx/LeynAI-testing/issues"},"bin":{"leynai":"bin/leynai-agent.js","leynai-agent":"bin/leynai-agent.js"},"dist":{"shasum":"6ecc2156b805b05b3483221bed6ae86440a8a0e8","tarball":"https://registry.npmjs.org/@adlanehzx/leynai-agent/-/leynai-agent-1.1.5.tgz","fileCount":31,"integrity":"sha512-J4CXZ6NdQzVuO51VZF3ctCc6NAe49ipxo0xB0oIuHI8Ec7Z+lwvRCMzRkumV+Jv/ZQYoxLoSc0898R0AvK6I3g==","signatures":[{"sig":"MEQCIDOV2Hx1wVOUA4muZ89vE3ChuuqGCBB2IAFpJYlLpP8/AiANxcrT1DYB/5cTfcQm3FY3sVs/HTABIzQufDpLbFBP0g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":158742},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"4ee6bc4b0f136d96587b359877782e9fc92dfa08","scripts":{"dev":"tsx src/index.ts","build":"tsc","start":"node dist/index.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"adlanehzx","email":"contact.adlanehz@gmail.com"},"repository":{"url":"git+https://github.com/adlanehzx/LeynAI-testing.git","type":"git","directory":"agent"},"_npmVersion":"10.8.2","description":"LeynAI Agent - Connect your localhost to LeynAI cloud for automated testing","directories":{},"_nodeVersion":"20.18.0","dependencies":{"ora":"^5.4.1","conf":"^11.0.2","glob":"^10.3.10","axios":"^1.6.0","chalk":"^4.1.2","dotenv":"^16.3.1","fs-extra":"^11.2.0","commander":"^11.1.0","typescript":"^5.3.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.0","@types/node":"^20.10.0","@types/fs-extra":"^11.0.4"},"_npmOperationalInternal":{"tmp":"tmp/leynai-agent_1.1.5_1765296479909_0.5063666524990911","host":"s3://npm-registry-packages-npm-production"}},"1.1.6":{"name":"@adlanehzx/leynai-agent","version":"1.1.6","keywords":["leynai","testing","playwright","tunnel","localhost","cloudflared","e2e","automation","qa"],"author":{"name":"adlanehzx"},"license":"MIT","_id":"@adlanehzx/leynai-agent@1.1.6","maintainers":[{"name":"adlanehzx","email":"contact.adlanehz@gmail.com"}],"homepage":"https://github.com/adlanehzx/LeynAI-testing#readme","bugs":{"url":"https://github.com/adlanehzx/LeynAI-testing/issues"},"bin":{"leynai":"bin/leynai-agent.js","leynai-agent":"bin/leynai-agent.js"},"dist":{"shasum":"a63d3b7907be9ba466a4aa2dad416787de053d40","tarball":"https://registry.npmjs.org/@adlanehzx/leynai-agent/-/leynai-agent-1.1.6.tgz","fileCount":31,"integrity":"sha512-XtwWHcuSw3/nFbe6aF0RLCXQGj2/AsoafwbeLTbbosN9t7w4ghNhyOHluxhxjj63K/1cEDb7jMCD20QLj6c1iA==","signatures":[{"sig":"MEUCIQCqcLb3FWpxhWFZtfamsltzaUo/WzPtUg0F99T3Ex6mtwIgawk/qSzDrQTkyEYpnsRq46ou0I8N4hd3sVE8FUdv4lI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":159081},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"4ee6bc4b0f136d96587b359877782e9fc92dfa08","scripts":{"dev":"tsx src/index.ts","build":"tsc","start":"node dist/index.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"adlanehzx","email":"contact.adlanehz@gmail.com"},"repository":{"url":"git+https://github.com/adlanehzx/LeynAI-testing.git","type":"git","directory":"agent"},"_npmVersion":"10.8.2","description":"LeynAI Agent - Connect your localhost to LeynAI cloud for automated testing","directories":{},"_nodeVersion":"20.18.0","dependencies":{"ora":"^5.4.1","conf":"^11.0.2","glob":"^10.3.10","axios":"^1.6.0","chalk":"^4.1.2","dotenv":"^16.3.1","fs-extra":"^11.2.0","commander":"^11.1.0","typescript":"^5.3.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.0","@types/node":"^20.10.0","@types/fs-extra":"^11.0.4"},"_npmOperationalInternal":{"tmp":"tmp/leynai-agent_1.1.6_1765297369039_0.20360780042364324","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"@adlanehzx/leynai-agent","version":"1.2.0","description":"LeynAI Agent - Connect your localhost to LeynAI cloud for automated testing","type":"module","main":"dist/index.js","bin":{"leynai-agent":"bin/leynai-agent.js","leynai":"bin/leynai-agent.js"},"publishConfig":{"access":"public"},"scripts":{"dev":"tsx src/index.ts","build":"tsc","start":"node dist/index.js","prepublishOnly":"npm run build"},"keywords":["leynai","testing","playwright","tunnel","localhost","cloudflared","e2e","automation","qa"],"author":{"name":"adlanehzx"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/adlanehzx/LeynAI-testing.git","directory":"agent"},"bugs":{"url":"https://github.com/adlanehzx/LeynAI-testing/issues"},"homepage":"https://github.com/adlanehzx/LeynAI-testing#readme","engines":{"node":">=18.0.0"},"dependencies":{"axios":"^1.6.0","dotenv":"^16.3.1","chalk":"^4.1.2","ora":"^5.4.1","commander":"^11.1.0","conf":"^11.0.2","glob":"^10.3.10","fs-extra":"^11.2.0","typescript":"^5.3.3"},"devDependencies":{"@types/node":"^20.10.0","@types/fs-extra":"^11.0.4","tsx":"^4.7.0"},"_id":"@adlanehzx/leynai-agent@1.2.0","gitHead":"4ee6bc4b0f136d96587b359877782e9fc92dfa08","types":"./dist/index.d.ts","_nodeVersion":"20.18.0","_npmVersion":"10.8.2","dist":{"integrity":"sha512-R9ITRlSrnrU0MiSSYXbXa2mRpwwCT+BlcdWuHnqIzN4r4c3nwQSTJzxonzk8AwkMfPIBYMRgs0SOeRJGWkwpCg==","shasum":"40db76798d916e2b067a9bfee5a78c2a6a88b098","tarball":"https://registry.npmjs.org/@adlanehzx/leynai-agent/-/leynai-agent-1.2.0.tgz","fileCount":31,"unpackedSize":162621,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIE2CxQhwZbSTXU3JRTeZNthGThsrr9GETuE4GeiD2TnrAiAqAeNbck9Dgqwr1/eY0c2qQex/vTgnS2b9si0ORS/wMw=="}]},"_npmUser":{"name":"adlanehzx","email":"contact.adlanehz@gmail.com"},"directories":{},"maintainers":[{"name":"adlanehzx","email":"contact.adlanehz@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/leynai-agent_1.2.0_1765298736474_0.8979085069918851"},"_hasShrinkwrap":false}},"time":{"created":"2025-12-07T11:53:57.734Z","modified":"2025-12-09T16:45:36.859Z","1.0.0":"2025-12-07T11:53:57.942Z","1.1.0":"2025-12-09T10:00:35.711Z","1.1.1":"2025-12-09T15:20:31.080Z","1.1.2":"2025-12-09T15:39:11.939Z","1.1.3":"2025-12-09T15:45:42.187Z","1.1.4":"2025-12-09T15:59:54.089Z","1.1.5":"2025-12-09T16:08:00.085Z","1.1.6":"2025-12-09T16:22:49.183Z","1.2.0":"2025-12-09T16:45:36.624Z"},"bugs":{"url":"https://github.com/adlanehzx/LeynAI-testing/issues"},"author":{"name":"adlanehzx"},"license":"MIT","homepage":"https://github.com/adlanehzx/LeynAI-testing#readme","keywords":["leynai","testing","playwright","tunnel","localhost","cloudflared","e2e","automation","qa"],"repository":{"type":"git","url":"git+https://github.com/adlanehzx/LeynAI-testing.git","directory":"agent"},"description":"LeynAI Agent - Connect your localhost to LeynAI cloud for automated testing","maintainers":[{"name":"adlanehzx","email":"contact.adlanehz@gmail.com"}],"readme":"# LeynAI Agent & CLI\r\n\r\n## 📦 Two Tools in One Package\r\n\r\nCe package contient **2 outils distincts** :\r\n\r\n### 1. **LeynAI Agent** - Tunnel Management (Développement local)\r\n\r\nExpose votre localhost via cloudflared pour permettre l'exécution de tests E2E à distance.\r\n\r\n**Usage :**\r\n\r\n```bash\r\nleynai-agent login --email=user@example.com --password=***\r\nleynai-agent start --ports=3000,8080\r\nleynai-agent status\r\nleynai-agent stop\r\n```\r\n\r\n### 2. **LeynAI CLI** - CI/CD Integration (Tests automatisés)\r\n\r\nExécute vos tests E2E et API depuis une configuration déclarative `leynai.json`.\r\n\r\n**Usage :**\r\n\r\n```bash\r\nleynai-agent init              # Génère leynai.json\r\nleynai-agent validate          # Valide la configuration\r\nleynai-agent test              # Lance les tests\r\nleynai-agent test --only=api   # Seulement les tests API\r\n```\r\n\r\n---\r\n\r\n## 🚀 Installation\r\n\r\n### Option 1 : Installation globale (Recommandé)\r\n\r\n```bash\r\ncd agent\r\nnpm install\r\nnpm run build\r\nnpm link  # Nécessite sudo/admin\r\n```\r\n\r\nEnsuite vous pouvez utiliser `leynai-agent` depuis n'importe où :\r\n\r\n```bash\r\nleynai-agent --help\r\n```\r\n\r\n### Option 2 : Utilisation locale\r\n\r\n```bash\r\ncd agent\r\nnpm install\r\nnpm run build\r\nnode bin/leynai-agent.js --help\r\n```\r\n\r\n---\r\n\r\n## 🔧 Agent Commands (Tunnel Management)\r\n\r\n### `login` - Authentification\r\n\r\n```bash\r\n# Avec email/password\r\nleynai-agent login --email=user@example.com --password=***\r\n\r\n# Avec token JWT\r\nleynai-agent login --token=eyJhbGciOiJIUzI1NiIs...\r\n\r\n# Backend personnalisé\r\nleynai-agent login --email=user@example.com --password=*** --backend=http://localhost:4000\r\n```\r\n\r\n### `start` - Démarrer l'agent\r\n\r\n```bash\r\n# Mode foreground (par défaut)\r\nleynai-agent start\r\n\r\n# Mode daemon (arrière-plan)\r\nleynai-agent start --daemon\r\n\r\n# Ports personnalisés\r\nleynai-agent start --ports=3000,8080,5173\r\n\r\n# Backend personnalisé\r\nleynai-agent start --backend=http://localhost:4000\r\n```\r\n\r\n### `status` - Vérifier l'état\r\n\r\n```bash\r\nleynai-agent status\r\n```\r\n\r\n### `stop` - Arrêter l'agent\r\n\r\n```bash\r\nleynai-agent stop\r\n```\r\n\r\n### `logout` - Déconnexion\r\n\r\n```bash\r\nleynai-agent logout\r\n```\r\n\r\n---\r\n\r\n## 📝 CLI Commands (CI/CD Integration)\r\n\r\n### `init` - Initialiser la configuration\r\n\r\n```bash\r\nleynai-agent init              # Crée leynai.json\r\nleynai-agent init --force      # Écrase le fichier existant\r\n```\r\n\r\n### `validate` - Valider la configuration\r\n\r\n```bash\r\nleynai-agent validate\r\nleynai-agent validate --config=custom-config.json\r\n```\r\n\r\n### `test` - Lancer les tests\r\n\r\n```bash\r\n# Lancer tous les tests\r\nleynai-agent test\r\n\r\n# Avec configuration personnalisée\r\nleynai-agent test --config=custom-config.json\r\n\r\n# Environnement spécifique\r\nleynai-agent test --env=production\r\n\r\n# Seulement les tests E2E\r\nleynai-agent test --only=e2e\r\n\r\n# Seulement les tests API\r\nleynai-agent test --only=api\r\n\r\n# Sortie JSON\r\nleynai-agent test --output=json\r\n```\r\n\r\n---\r\n\r\n## 📋 Configuration (leynai.json)\r\n\r\nStructure du fichier de configuration pour le CLI :\r\n\r\n```json\r\n{\r\n  \"server\": \"http://localhost:4000\",\r\n  \"apiKey\": \"${LEYNAI_API_KEY}\",\r\n  \"project\": \"your-project-id\",\r\n  \"environments\": {\r\n    \"staging\": {\r\n      \"baseUrl\": \"https://staging.example.com\",\r\n      \"variables\": {\r\n        \"API_URL\": \"https://api.staging.example.com\"\r\n      }\r\n    },\r\n    \"production\": {\r\n      \"baseUrl\": \"https://example.com\",\r\n      \"variables\": {\r\n        \"API_URL\": \"https://api.example.com\"\r\n      }\r\n    }\r\n  },\r\n  \"tests\": {\r\n    \"e2e\": [\"test-id-1\", \"test-id-2\"],\r\n    \"api\": [\"api-test-id-1\", \"api-test-id-2\"]\r\n  },\r\n  \"options\": {\r\n    \"parallel\": 3,\r\n    \"timeout\": 30000,\r\n    \"retries\": 2,\r\n    \"bail\": false\r\n  }\r\n}\r\n```\r\n\r\n### Variables d'environnement\r\n\r\nLe CLI supporte la syntaxe `${VAR_NAME}` pour les variables d'environnement :\r\n\r\n```bash\r\n# Définir la clé API\r\nexport LEYNAI_API_KEY=\"your-api-key-from-dashboard\"\r\n\r\n# Ou sur Windows PowerShell\r\n$env:LEYNAI_API_KEY=\"your-api-key-from-dashboard\"\r\n```\r\n\r\n---\r\n\r\n## 🔄 Intégration CI/CD\r\n\r\n### GitHub Actions\r\n\r\n```yaml\r\nname: LeynAI Tests\r\non: [push]\r\njobs:\r\n  test:\r\n    runs-on: ubuntu-latest\r\n    steps:\r\n      - uses: actions/checkout@v3\r\n      - uses: actions/setup-node@v3\r\n        with:\r\n          node-version: \"20\"\r\n      - name: Install CLI\r\n        run: cd agent && npm install && npm run build\r\n      - name: Run tests\r\n        env:\r\n          LEYNAI_API_KEY: ${{ secrets.LEYNAI_API_KEY }}\r\n        run: cd agent && node bin/leynai-agent.js test\r\n```\r\n\r\n### GitLab CI\r\n\r\n```yaml\r\nleynai-tests:\r\n  stage: test\r\n  image: node:20-alpine\r\n  before_script:\r\n    - cd agent && npm install && npm run build\r\n  script:\r\n    - node bin/leynai-agent.js test --env=production\r\n```\r\n\r\n### Jenkins\r\n\r\n```groovy\r\npipeline {\r\n    agent any\r\n    environment {\r\n        LEYNAI_API_KEY = credentials('leynai-api-key')\r\n    }\r\n    stages {\r\n        stage('Test') {\r\n            steps {\r\n                sh 'cd agent && npm install && npm run build'\r\n                sh 'cd agent && node bin/leynai-agent.js test'\r\n            }\r\n        }\r\n    }\r\n}\r\n```\r\n\r\n---\r\n\r\n## 🏗️ Architecture\r\n\r\n```\r\nagent/\r\n├── src/\r\n│   ├── agent.ts          # Agent tunnel (développement local)\r\n│   ├── tunnel.ts         # Gestion cloudflared\r\n│   ├── cli.ts            # Commandes CLI (agent + test)\r\n│   ├── config.ts         # Configuration agent (auth, backend)\r\n│   ├── configLoader.ts   # Chargement leynai.json\r\n│   └── index.ts          # Point d'entrée\r\n├── bin/\r\n│   └── leynai-agent.js   # CLI entry point\r\n├── dist/                 # Code compilé (TypeScript → JavaScript)\r\n├── package.json\r\n└── tsconfig.json\r\n```\r\n\r\n---\r\n\r\n## 📚 Documentation complète\r\n\r\n- **CI/CD Guide** : `../docs/CLI_CI_CD_GUIDE.md`\r\n- **API Testing** : `../docs/API_TESTING_COMPLETE.md`\r\n- **Quick Start** : `../docs/API_TESTING_QUICK_START.md`\r\n\r\n---\r\n\r\n## 🔄 Comment fonctionnent les Tunnels ?\r\n\r\nQuand vous lancez `leynai-agent start` :\r\n\r\n1. **L'agent détecte les serveurs actifs** sur les ports configurés (3000, 8080, 5173 par défaut)\r\n2. **Crée des tunnels Cloudflare** pour chaque port actif\r\n3. **Enregistre les tunnels** dans le backend (Redis + Database)\r\n4. **Les tunnels apparaissent automatiquement** dans le dashboard frontend\r\n5. **Heartbeat toutes les 30s** pour maintenir les tunnels actifs\r\n6. **Fermeture automatique** si l'agent arrête le heartbeat (1h timeout)\r\n\r\n### Synchronisation Redis ↔ Database\r\n\r\n- **Redis** : Cache rapide pour les heartbeats agent (TTL 1h)\r\n- **Database** : Persistance pour l'affichage frontend + historique\r\n- Les deux sont synchronisés automatiquement à chaque `register`\r\n\r\n---\r\n\r\n## 🆘 Troubleshooting\r\n\r\n### Agent ne démarre pas\r\n\r\n1. Vérifier que cloudflared est installé : `cloudflared --version`\r\n2. Vérifier l'authentification : `leynai-agent status`\r\n3. Vérifier le backend : `curl http://localhost:4000/api/health`\r\n\r\n### Tunnels n'apparaissent pas dans le frontend\r\n\r\n1. Vérifier que l'agent est bien démarré : `leynai-agent status`\r\n2. Vérifier les logs backend (doit afficher \"Registered X tunnel(s)\")\r\n3. Rafraîchir le dashboard frontend (auto-refresh toutes les 5s)\r\n4. Vérifier que Redis est actif : `redis-cli ping` (doit retourner `PONG`)\r\n\r\n### Tests CLI échouent\r\n\r\n1. Vérifier la configuration : `leynai-agent validate`\r\n2. Vérifier la clé API : `echo $LEYNAI_API_KEY`\r\n3. Vérifier le project ID dans `leynai.json`\r\n4. Vérifier les IDs des tests : `GET /api/cli/tests?projectId=xxx`\r\n\r\n---\r\n\r\n## 🔗 Liens utiles\r\n\r\n- Backend API : http://localhost:4000\r\n- Frontend Dashboard : http://localhost:3000\r\n- Cloudflared : https://developers.cloudflare.com/cloudflare-one/connections/connect-apps/\r\n\r\n---\r\n\r\n## 📦 Build & Publish\r\n\r\n```bash\r\n# Build\r\nnpm run build\r\n\r\n# Publish to npm (si nécessaire)\r\nnpm version patch\r\nnpm publish\r\n\r\n# Ou lien local\r\nnpm link\r\n```\r\n\r\n---\r\n\r\n## 📄 License\r\n\r\nMIT\r\n","readmeFilename":"README.md"}