{"_id":"cucumber-ai","_rev":"26-8464de965d57cf27a4597188b0ddfc3e","name":"cucumber-ai","dist-tags":{"latest":"0.9.46"},"versions":{"0.9.10":{"name":"cucumber-ai","version":"0.9.10","keywords":["cucumber","ai","testing","automation","playwright","natural language","bdd","tests","gherkin"],"author":{"name":"Jackson Zhang","email":"zbcjackson@gmail.com"},"license":"MIT","_id":"cucumber-ai@0.9.10","maintainers":[{"name":"zbcjackson","email":"zbcjackson@gmail.com"}],"homepage":"https://github.com/zbcjackson/cucumber-ai","bin":{"cucumber-ai":"bin/cucumber-js.js"},"dist":{"shasum":"0ddaf3fe25c8f268340d9fec2a06db3043959fcb","tarball":"https://registry.npmjs.org/cucumber-ai/-/cucumber-ai-0.9.10.tgz","fileCount":48,"integrity":"sha512-ykp0EYqucZ/1RuHxyhvydlof6PU09/ogZB/76HjGk84wtHZQzo3E7UvgF13PfrxGi5ctxzrni2hyh9Akpkw1oQ==","signatures":[{"sig":"MEUCIEReQdefwlVLD+ALVxO14KUN0xpa2X9vk9QxkgQpfgxEAiEAha8BARH2p7Anfko5F1G3h27aweD7IAWJ9oLqTNGsAfw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":60939},"main":"dist/index.js","_from":"file:cucumber-ai-0.9.10.tgz","types":"dist/index.d.ts","scripts":{"lint":"biome check","test":"vitest","build":"tsc"},"_npmUser":{"name":"zbcjackson","email":"zbcjackson@gmail.com"},"_resolved":"/tmp/aba443235d230228e3b53ed1c3d13836/cucumber-ai-0.9.10.tgz","_integrity":"sha512-ykp0EYqucZ/1RuHxyhvydlof6PU09/ogZB/76HjGk84wtHZQzo3E7UvgF13PfrxGi5ctxzrni2hyh9Akpkw1oQ==","_npmVersion":"10.9.2","description":"Write automated tests using natural language","directories":{},"_nodeVersion":"22.17.0","dependencies":{"glob":"^11.0.3","dotenv":"^16.5.0","openai":"^5.5.1","playwright":"^1.52.0","@midscene/web":"^0.18.0","app-root-path":"^3.1.0","@playwright/test":"^1.54.1","@cucumber/cucumber":"^11.2.0","@modelcontextprotocol/sdk":"^1.13.0","@cucumber/pretty-formatter":"^1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.3","memfs":"^4.17.2","vitest":"^3.2.4","typescript":"5.6.3","@types/node":"^16.18.126","@biomejs/biome":"^1.9.4"},"_npmOperationalInternal":{"tmp":"tmp/cucumber-ai_0.9.10_1752911709957_0.650312727942659","host":"s3://npm-registry-packages-npm-production"}},"0.9.11":{"name":"cucumber-ai","version":"0.9.11","keywords":["cucumber","ai","testing","automation","playwright","natural language","bdd","tests","gherkin"],"author":{"name":"Jackson Zhang","email":"zbcjackson@gmail.com"},"license":"MIT","_id":"cucumber-ai@0.9.11","maintainers":[{"name":"zbcjackson","email":"zbcjackson@gmail.com"}],"homepage":"https://github.com/zbcjackson/cucumber-ai","bin":{"cucumber-ai":"bin/cucumber-js.js"},"dist":{"shasum":"97882ecc02dbbcb5ff226832a5e48d56468df8b7","tarball":"https://registry.npmjs.org/cucumber-ai/-/cucumber-ai-0.9.11.tgz","fileCount":48,"integrity":"sha512-IPKq2b9NivOpgU6vlDKNVo3/VFYUzwvQ+Gwp8dWvjK7axfzG8kI7SS8H3YwpPJ2RQRaSMEEK1nR3R6WdrHM5OA==","signatures":[{"sig":"MEUCIHDGxMY3zVf9p+wzBFNYZ1+mlyV/Icx3FR5kXdzI+1SJAiEAzw2cKRmeK7UvF3ElhdhL6aUvnYas4QJUlwS3qJEU8i4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":60958},"main":"dist/index.js","_from":"file:cucumber-ai-0.9.11.tgz","types":"dist/index.d.ts","scripts":{"lint":"biome check","test":"vitest","build":"tsc"},"_npmUser":{"name":"zbcjackson","email":"zbcjackson@gmail.com"},"_resolved":"/tmp/29122ddd0e74c4e50389227799f9f197/cucumber-ai-0.9.11.tgz","_integrity":"sha512-IPKq2b9NivOpgU6vlDKNVo3/VFYUzwvQ+Gwp8dWvjK7axfzG8kI7SS8H3YwpPJ2RQRaSMEEK1nR3R6WdrHM5OA==","_npmVersion":"10.9.2","description":"Write automated tests using natural language","directories":{},"_nodeVersion":"22.17.0","dependencies":{"glob":"^11.0.3","dotenv":"^16.5.0","openai":"^5.5.1","playwright":"^1.52.0","@midscene/web":"^0.18.0","app-root-path":"^3.1.0","@playwright/test":"^1.54.1","@cucumber/cucumber":"^11.2.0","@modelcontextprotocol/sdk":"^1.13.0","@cucumber/pretty-formatter":"^1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.3","memfs":"^4.17.2","vitest":"^3.2.4","typescript":"5.6.3","@types/node":"^16.18.126","@biomejs/biome":"^1.9.4"},"_npmOperationalInternal":{"tmp":"tmp/cucumber-ai_0.9.11_1752913004488_0.17323414401180792","host":"s3://npm-registry-packages-npm-production"}},"0.9.12":{"name":"cucumber-ai","version":"0.9.12","keywords":["cucumber","ai","testing","automation","playwright","natural language","bdd","tests","gherkin"],"author":{"name":"Jackson Zhang","email":"zbcjackson@gmail.com"},"license":"MIT","_id":"cucumber-ai@0.9.12","maintainers":[{"name":"zbcjackson","email":"zbcjackson@gmail.com"}],"homepage":"https://github.com/zbcjackson/cucumber-ai","bin":{"cucumber-ai":"bin/cucumber-js.js"},"dist":{"shasum":"4fa4ede9b6526a43a4af84cf561da94ddfc3af21","tarball":"https://registry.npmjs.org/cucumber-ai/-/cucumber-ai-0.9.12.tgz","fileCount":51,"integrity":"sha512-8Xvi6j1n1O/wt75l4PGIpJDVQ8NBk3C2yQsThJYqCZxlJ3IuwhPJIr/Ix2a01Xhu8OqtIDJjMFsyVT3+/pJ5jg==","signatures":[{"sig":"MEYCIQDg4neS50NhwpTdAeAQXGgtA+YyXk4rFkVjvC/1yfV6wAIhAM8oIM+s8KOwJ+/EWJthW95EiGmHdV/TR5sVXmm+tXt8","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":61245},"main":"dist/index.js","_from":"file:cucumber-ai-0.9.12.tgz","types":"dist/index.d.ts","scripts":{"lint":"biome check","test":"vitest","build":"tsc"},"_npmUser":{"name":"zbcjackson","email":"zbcjackson@gmail.com"},"_resolved":"/tmp/2073d6134945e0c242247f31a31b6782/cucumber-ai-0.9.12.tgz","_integrity":"sha512-8Xvi6j1n1O/wt75l4PGIpJDVQ8NBk3C2yQsThJYqCZxlJ3IuwhPJIr/Ix2a01Xhu8OqtIDJjMFsyVT3+/pJ5jg==","_npmVersion":"10.9.2","description":"Write automated tests using natural language","directories":{},"_nodeVersion":"22.17.0","dependencies":{"glob":"^11.0.3","dotenv":"^16.5.0","openai":"^5.5.1","playwright":"^1.52.0","@midscene/web":"^0.18.0","app-root-path":"^3.1.0","@playwright/test":"^1.54.1","@cucumber/cucumber":"^11.2.0","@modelcontextprotocol/sdk":"^1.13.0","@cucumber/pretty-formatter":"^1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.3","memfs":"^4.17.2","vitest":"^3.2.4","typescript":"5.6.3","@types/node":"^16.18.126","@biomejs/biome":"^1.9.4"},"_npmOperationalInternal":{"tmp":"tmp/cucumber-ai_0.9.12_1752988024710_0.36290186508136824","host":"s3://npm-registry-packages-npm-production"}},"0.9.13":{"name":"cucumber-ai","version":"0.9.13","keywords":["cucumber","ai","testing","automation","playwright","natural language","bdd","tests","gherkin"],"author":{"name":"Jackson Zhang","email":"zbcjackson@gmail.com"},"license":"MIT","_id":"cucumber-ai@0.9.13","maintainers":[{"name":"zbcjackson","email":"zbcjackson@gmail.com"}],"homepage":"https://github.com/zbcjackson/cucumber-ai","bin":{"cucumber-ai":"bin/cucumber-js.js"},"dist":{"shasum":"69a1837343bff26d0f3cdc6e2866361f65dad88d","tarball":"https://registry.npmjs.org/cucumber-ai/-/cucumber-ai-0.9.13.tgz","fileCount":55,"integrity":"sha512-kEFrB45Vol5moFhU35lNNG6V7vd96YXwpfAmBPFRIYDesj7y2fXOzsjqfNGghzUi+m6IpHk0T/t6DIkHtp28zg==","signatures":[{"sig":"MEUCICsTo62kNdG+avXB+/YevUpqAX/rdZsDLnaii2LE+tNYAiEAl9kP+v2kMTQQz+NreQKpqRT65isyy8aTFvBuQZ/PCiY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":63895},"main":"dist/index.js","_from":"file:cucumber-ai-0.9.13.tgz","types":"dist/index.d.ts","scripts":{"lint":"biome check","test":"vitest run","build":"tsc"},"_npmUser":{"name":"zbcjackson","email":"zbcjackson@gmail.com"},"_resolved":"/tmp/dd580690c8a0fc25f383836724d869c5/cucumber-ai-0.9.13.tgz","_integrity":"sha512-kEFrB45Vol5moFhU35lNNG6V7vd96YXwpfAmBPFRIYDesj7y2fXOzsjqfNGghzUi+m6IpHk0T/t6DIkHtp28zg==","_npmVersion":"10.9.2","description":"Write automated tests using natural language","directories":{},"_nodeVersion":"22.17.1","dependencies":{"glob":"^11.0.3","dotenv":"^16.5.0","openai":"^5.5.1","playwright":"^1.52.0","@midscene/web":"^0.18.0","app-root-path":"^3.1.0","@playwright/test":"^1.54.1","@cucumber/cucumber":"^11.2.0","@modelcontextprotocol/sdk":"^1.13.0","@cucumber/pretty-formatter":"^1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.3","memfs":"^4.17.2","vitest":"^3.2.4","typescript":"5.6.3","@types/node":"^16.18.126","@biomejs/biome":"^1.9.4"},"_npmOperationalInternal":{"tmp":"tmp/cucumber-ai_0.9.13_1753430791983_0.6334238437485098","host":"s3://npm-registry-packages-npm-production"}},"0.9.15":{"name":"cucumber-ai","version":"0.9.15","keywords":["cucumber","ai","testing","automation","playwright","natural language","bdd","tests","gherkin"],"author":{"name":"Jackson Zhang","email":"zbcjackson@gmail.com"},"license":"MIT","_id":"cucumber-ai@0.9.15","maintainers":[{"name":"zbcjackson","email":"zbcjackson@gmail.com"}],"homepage":"https://github.com/zbcjackson/cucumber-ai","bin":{"cucumber-ai":"bin/cucumber-js.js"},"dist":{"shasum":"886879d019bafac337e385f1d0df657ee7161460","tarball":"https://registry.npmjs.org/cucumber-ai/-/cucumber-ai-0.9.15.tgz","fileCount":55,"integrity":"sha512-JPOCXLoNvtNuWsBeoNcr7tJVvlQD2nvz/TqElXx48+6Js6UsHDQkKzVCbm5Px2LuT5S44sDssrG5E5gnhF8kBw==","signatures":[{"sig":"MEUCIQD97yQbkgx3XpcmSS27H30IgN3l4EG9dK0YmlfCr8HSsQIgGAz2oH7gkWk9EGkZ35wcXpfNcVA6oU0GSA/q56smdDo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":65285},"main":"dist/index.js","_from":"file:cucumber-ai-0.9.15.tgz","types":"dist/index.d.ts","scripts":{"lint":"biome check","test":"vitest run","build":"tsc"},"_npmUser":{"name":"zbcjackson","email":"zbcjackson@gmail.com"},"_resolved":"/tmp/a138ae0cc88c7426d0c825e49ad8d867/cucumber-ai-0.9.15.tgz","_integrity":"sha512-JPOCXLoNvtNuWsBeoNcr7tJVvlQD2nvz/TqElXx48+6Js6UsHDQkKzVCbm5Px2LuT5S44sDssrG5E5gnhF8kBw==","_npmVersion":"10.9.2","description":"Write automated tests using natural language","directories":{},"_nodeVersion":"22.17.1","dependencies":{"glob":"^11.0.3","dotenv":"^16.5.0","openai":"^5.5.1","playwright":"^1.52.0","@midscene/web":"^0.18.0","app-root-path":"^3.1.0","@playwright/test":"^1.54.1","@cucumber/cucumber":"^11.2.0","@modelcontextprotocol/sdk":"^1.13.0","@cucumber/pretty-formatter":"^1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.3","memfs":"^4.17.2","vitest":"^3.2.4","typescript":"5.6.3","@types/node":"^16.18.126","@biomejs/biome":"^1.9.4"},"_npmOperationalInternal":{"tmp":"tmp/cucumber-ai_0.9.15_1753435580241_0.7294514281714579","host":"s3://npm-registry-packages-npm-production"}},"0.9.16":{"name":"cucumber-ai","version":"0.9.16","keywords":["cucumber","ai","testing","automation","playwright","natural language","bdd","tests","gherkin"],"author":{"name":"Jackson Zhang","email":"zbcjackson@gmail.com"},"license":"MIT","_id":"cucumber-ai@0.9.16","maintainers":[{"name":"zbcjackson","email":"zbcjackson@gmail.com"}],"homepage":"https://github.com/zbcjackson/cucumber-ai","bin":{"cucumber-ai":"bin/cucumber-js.js"},"dist":{"shasum":"441756b8524009920807083821cc8755fb26bab6","tarball":"https://registry.npmjs.org/cucumber-ai/-/cucumber-ai-0.9.16.tgz","fileCount":73,"integrity":"sha512-e+B0VZzsumzRocDO+yw70NlNbAG299k09kVgXPV8faS2wd2JK+wNetI5Pv8jwIZzfLQ4eZiO/t/zdL93H4Fj0g==","signatures":[{"sig":"MEUCIHknaImSupyFTA4tWR6B2McbFZBKlmKF04umKLBuREgmAiEAzGI6NKBKQdONOTtndxFcHcs+8h2XoFixwONkG8nkXC4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":70746},"main":"dist/index.js","_from":"file:cucumber-ai-0.9.16.tgz","types":"dist/index.d.ts","scripts":{"demo":"node bin/cucumber-js.js","lint":"biome check","test":"vitest run","build":"tsc"},"_npmUser":{"name":"zbcjackson","email":"zbcjackson@gmail.com"},"_resolved":"/tmp/e17630b006f4992acfa72aaf79b4a33d/cucumber-ai-0.9.16.tgz","_integrity":"sha512-e+B0VZzsumzRocDO+yw70NlNbAG299k09kVgXPV8faS2wd2JK+wNetI5Pv8jwIZzfLQ4eZiO/t/zdL93H4Fj0g==","_npmVersion":"10.9.2","description":"Write automated tests using natural language","directories":{},"_nodeVersion":"22.17.1","dependencies":{"glob":"^11.0.3","dotenv":"^16.5.0","openai":"^5.5.1","playwright":"^1.52.0","@midscene/web":"^0.18.0","app-root-path":"^3.1.0","@playwright/test":"^1.54.1","@cucumber/cucumber":"^11.2.0","@modelcontextprotocol/sdk":"^1.13.0","@cucumber/pretty-formatter":"^1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.3","memfs":"^4.17.2","vitest":"^3.2.4","ts-node":"^10.9.2","typescript":"5.6.3","@types/node":"^16.18.126","@biomejs/biome":"^1.9.4"},"_npmOperationalInternal":{"tmp":"tmp/cucumber-ai_0.9.16_1753542378214_0.14034696807242608","host":"s3://npm-registry-packages-npm-production"}},"0.9.17":{"name":"cucumber-ai","version":"0.9.17","keywords":["cucumber","ai","testing","automation","playwright","natural language","bdd","tests","gherkin"],"author":{"name":"Jackson Zhang","email":"zbcjackson@gmail.com"},"license":"MIT","_id":"cucumber-ai@0.9.17","maintainers":[{"name":"zbcjackson","email":"zbcjackson@gmail.com"}],"homepage":"https://github.com/zbcjackson/cucumber-ai","bin":{"cucumber-ai":"bin/cucumber-js.js"},"dist":{"shasum":"06384997d432e62089f580fa19d2a7bc9cf4b87f","tarball":"https://registry.npmjs.org/cucumber-ai/-/cucumber-ai-0.9.17.tgz","fileCount":75,"integrity":"sha512-/SOfZFodJo52Ua0nE5+fm7nOGnrt8kaKQ5iWyTq4Et9HgZ1fyYROl8Cr2PXUhKC6u5gF8pQ69QHQStmXYa/ZsA==","signatures":[{"sig":"MEQCIAvr3ALIUsgvvQUzJN5LLx9jR1gkLC9pFAnNl8wR28TrAiANdOiqrw8zHI/a+QeWVWTzPZjgJxJ3fAMSfUeZHCO77Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":72498},"main":"dist/index.js","_from":"file:cucumber-ai-0.9.17.tgz","types":"dist/index.d.ts","scripts":{"demo":"node bin/cucumber-js.js","lint":"biome check","test":"vitest run","build":"tsc && pnpm copy-md","copy-md":"cpx \"src/**/*.md\" dist"},"_npmUser":{"name":"zbcjackson","email":"zbcjackson@gmail.com"},"_resolved":"/tmp/66361504711154ed41bc3a0e95917fdd/cucumber-ai-0.9.17.tgz","_integrity":"sha512-/SOfZFodJo52Ua0nE5+fm7nOGnrt8kaKQ5iWyTq4Et9HgZ1fyYROl8Cr2PXUhKC6u5gF8pQ69QHQStmXYa/ZsA==","_npmVersion":"10.9.2","description":"Write automated tests using natural language","directories":{},"_nodeVersion":"22.17.1","dependencies":{"glob":"^11.0.3","dotenv":"^16.5.0","openai":"^5.5.1","playwright":"^1.52.0","@midscene/web":"^0.18.0","app-root-path":"^3.1.0","@playwright/test":"^1.54.1","@cucumber/cucumber":"^11.2.0","@modelcontextprotocol/sdk":"^1.13.0","@cucumber/pretty-formatter":"^1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"cpx":"^1.5.0","tsx":"^4.20.3","memfs":"^4.17.2","vitest":"^3.2.4","ts-node":"^10.9.2","typescript":"5.6.3","@types/node":"^16.18.126","@biomejs/biome":"^1.9.4"},"_npmOperationalInternal":{"tmp":"tmp/cucumber-ai_0.9.17_1753543338365_0.04504408856862918","host":"s3://npm-registry-packages-npm-production"}},"0.9.19":{"name":"cucumber-ai","version":"0.9.19","keywords":["cucumber","ai","testing","automation","playwright","natural language","bdd","tests","gherkin"],"author":{"name":"Jackson Zhang","email":"zbcjackson@gmail.com"},"license":"MIT","_id":"cucumber-ai@0.9.19","maintainers":[{"name":"zbcjackson","email":"zbcjackson@gmail.com"}],"homepage":"https://github.com/zbcjackson/cucumber-ai","bin":{"cucumber-ai":"bin/cucumber-js.js"},"dist":{"shasum":"b62edf94d2f1cf0465623d88842deb0ad39d14dc","tarball":"https://registry.npmjs.org/cucumber-ai/-/cucumber-ai-0.9.19.tgz","fileCount":79,"integrity":"sha512-35G/VRHTfMJzq4hPAR7DxQ2a8btjnr8+NNGC03McXRO7EjWytw8TmbuzuMf+Aw3hK+CvqZdkMy1K4XgvLGSKLw==","signatures":[{"sig":"MEUCIAjfQWyEf1iu1bWEWXKU5fp4DWHlqnBjxNcyKkXJNARAAiEAmcJkS+R6mTd6k4RzAJ85HdnvC6woDAgZ/VHoOSfj4KE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":89631},"main":"dist/index.js","_from":"file:cucumber-ai-0.9.19.tgz","types":"dist/index.d.ts","scripts":{"demo":"node bin/cucumber-js.js","lint":"biome check","test":"vitest run","build":"tsc && pnpm copy-md","copy-md":"cpx \"src/**/*.md\" dist"},"_npmUser":{"name":"zbcjackson","email":"zbcjackson@gmail.com"},"_resolved":"/tmp/31fb38ad09ad25fc93794f8613dd7807/cucumber-ai-0.9.19.tgz","_integrity":"sha512-35G/VRHTfMJzq4hPAR7DxQ2a8btjnr8+NNGC03McXRO7EjWytw8TmbuzuMf+Aw3hK+CvqZdkMy1K4XgvLGSKLw==","_npmVersion":"10.9.2","description":"Write automated tests using natural language","directories":{},"_nodeVersion":"22.17.1","dependencies":{"glob":"^11.0.3","dotenv":"^16.5.0","openai":"^5.5.1","playwright":"^1.52.0","@midscene/web":"^0.18.0","app-root-path":"^3.1.0","@playwright/test":"^1.54.1","@cucumber/cucumber":"^11.2.0","@modelcontextprotocol/sdk":"^1.13.0","@cucumber/pretty-formatter":"^1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"cpx":"^1.5.0","tsx":"^4.20.3","memfs":"^4.17.2","vitest":"^3.2.4","ts-node":"^10.9.2","typescript":"5.6.3","@types/node":"^16.18.126","@biomejs/biome":"^1.9.4"},"_npmOperationalInternal":{"tmp":"tmp/cucumber-ai_0.9.19_1753613510969_0.6105941940142676","host":"s3://npm-registry-packages-npm-production"}},"0.9.20":{"name":"cucumber-ai","version":"0.9.20","keywords":["cucumber","ai","testing","automation","playwright","natural language","bdd","tests","gherkin"],"author":{"name":"Jackson Zhang","email":"zbcjackson@gmail.com"},"license":"MIT","_id":"cucumber-ai@0.9.20","maintainers":[{"name":"zbcjackson","email":"zbcjackson@gmail.com"}],"homepage":"https://github.com/zbcjackson/cucumber-ai","bin":{"cucumber-ai":"bin/cucumber-js.js"},"dist":{"shasum":"66aae75200aac936e5957762889cd28d2ec38be7","tarball":"https://registry.npmjs.org/cucumber-ai/-/cucumber-ai-0.9.20.tgz","fileCount":79,"integrity":"sha512-5a/uEH9LGeZpBs1QlmrGMxy68L5Cv3MIgKhqb4ZQYfphGEd+f7N4bhq3fos3pwTiiJm25rdg46E5ycnqRbRgTw==","signatures":[{"sig":"MEYCIQDu/JhL6yukH4X0eBa1MJqtx/rKaGONjQ6tmuQHeIUoDgIhAN48NiKvsyfOzIJ7xwvBlFZtODDIVvO3y4IwRAY1R+AY","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":89656},"main":"dist/index.js","_from":"file:cucumber-ai-0.9.20.tgz","types":"dist/index.d.ts","scripts":{"demo":"node bin/cucumber-js.js","lint":"biome check","test":"vitest run","build":"tsc && pnpm copy-md","copy-md":"cpx \"src/**/*.md\" dist"},"_npmUser":{"name":"zbcjackson","email":"zbcjackson@gmail.com"},"_resolved":"/tmp/95bd25fab339477f0fcf3c3e6c5ee439/cucumber-ai-0.9.20.tgz","_integrity":"sha512-5a/uEH9LGeZpBs1QlmrGMxy68L5Cv3MIgKhqb4ZQYfphGEd+f7N4bhq3fos3pwTiiJm25rdg46E5ycnqRbRgTw==","_npmVersion":"10.9.2","description":"Write automated tests using natural language","directories":{},"_nodeVersion":"22.17.1","dependencies":{"glob":"^11.0.3","dotenv":"^16.5.0","openai":"^5.5.1","playwright":"^1.52.0","@midscene/web":"^0.18.0","app-root-path":"^3.1.0","@playwright/test":"^1.54.1","@cucumber/cucumber":"^11.2.0","@modelcontextprotocol/sdk":"^1.13.0","@cucumber/pretty-formatter":"^1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"cpx":"^1.5.0","tsx":"^4.20.3","memfs":"^4.17.2","vitest":"^3.2.4","ts-node":"^10.9.2","typescript":"5.6.3","@types/node":"^16.18.126","@biomejs/biome":"^1.9.4"},"_npmOperationalInternal":{"tmp":"tmp/cucumber-ai_0.9.20_1753677763028_0.7676244721310876","host":"s3://npm-registry-packages-npm-production"}},"0.9.21":{"name":"cucumber-ai","version":"0.9.21","keywords":["cucumber","ai","testing","automation","playwright","natural language","bdd","tests","gherkin"],"author":{"name":"Jackson Zhang","email":"zbcjackson@gmail.com"},"license":"MIT","_id":"cucumber-ai@0.9.21","maintainers":[{"name":"zbcjackson","email":"zbcjackson@gmail.com"}],"homepage":"https://github.com/zbcjackson/cucumber-ai","bin":{"cucumber-ai":"bin/cucumber-js.js"},"dist":{"shasum":"ab3bd7cd52798d495473e756794e13ddd2c0f480","tarball":"https://registry.npmjs.org/cucumber-ai/-/cucumber-ai-0.9.21.tgz","fileCount":101,"integrity":"sha512-rN7e02xAVgG2O/1U4C1Q3E3+uRIyrze9RU0boJ2GafSDQuzaJSQCrLpsji/q7IEQnY83DNdXntNWXsfRhHKBCA==","signatures":[{"sig":"MEYCIQDqITpMQsIjxV7RL2z+2ThaOed91HmhmKM0f218nR79tAIhAMKz8w3JsyRhKNmtclBojVCkahjlon7BZWF+1WVdCuNp","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":281276},"main":"dist/index.js","_from":"file:cucumber-ai-0.9.21.tgz","types":"dist/index.d.ts","scripts":{"demo":"node bin/cucumber-js.js","lint":"tsc --noEmit && biome check","test":"vitest run","build":"tsc && pnpm copy-md","copy-md":"cpx \"src/**/*.md\" dist"},"_npmUser":{"name":"zbcjackson","email":"zbcjackson@gmail.com"},"_resolved":"/tmp/14abc3c10503287933d080515f9a92a8/cucumber-ai-0.9.21.tgz","_integrity":"sha512-rN7e02xAVgG2O/1U4C1Q3E3+uRIyrze9RU0boJ2GafSDQuzaJSQCrLpsji/q7IEQnY83DNdXntNWXsfRhHKBCA==","_npmVersion":"10.9.3","description":"Write automated tests using natural language","directories":{},"_nodeVersion":"22.19.0","dependencies":{"glob":"^11.0.3","dotenv":"^16.5.0","openai":"^5.5.1","playwright":"^1.52.0","@midscene/web":"^0.18.0","app-root-path":"^3.1.0","@playwright/test":"^1.54.1","@cucumber/cucumber":"^11.2.0","@modelcontextprotocol/sdk":"^1.13.0","@cucumber/pretty-formatter":"^1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"cpx":"^1.5.0","tsx":"^4.20.3","memfs":"^4.17.2","vitest":"^3.2.4","ts-node":"^10.9.2","typescript":"5.6.3","@types/node":"^16.18.126","@biomejs/biome":"^1.9.4"},"_npmOperationalInternal":{"tmp":"tmp/cucumber-ai_0.9.21_1758350929626_0.3937248118444172","host":"s3://npm-registry-packages-npm-production"}},"0.9.22":{"name":"cucumber-ai","version":"0.9.22","keywords":["cucumber","ai","testing","automation","playwright","natural language","bdd","tests","gherkin"],"author":{"name":"Jackson Zhang","email":"zbcjackson@gmail.com"},"license":"MIT","_id":"cucumber-ai@0.9.22","maintainers":[{"name":"zbcjackson","email":"zbcjackson@gmail.com"}],"homepage":"https://github.com/zbcjackson/cucumber-ai","bin":{"cucumber-ai":"bin/cucumber-js.js"},"dist":{"shasum":"5cd9e52bc6cc1eaf0b10eefbc106ef884d9d04bf","tarball":"https://registry.npmjs.org/cucumber-ai/-/cucumber-ai-0.9.22.tgz","fileCount":101,"integrity":"sha512-+JLYeSDmCyYObzzBEyvX1j5EeebTXIWxy8aY7Ag0kmxCY6HhAp7vw0zpylnG1VYuKvFQW6FcUgWvXy04buJM5g==","signatures":[{"sig":"MEYCIQCJ1Qx4AWfOC/cxWcYAcmi3gNGU1lh5L8Doe8HaXg/puwIhAPGGLPoGT8mFMS81tz3c2hrwWiiBcUyDdAQaHzjfQQhZ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":281371},"main":"dist/index.js","_from":"file:cucumber-ai-0.9.22.tgz","types":"dist/index.d.ts","scripts":{"demo":"node bin/cucumber-js.js","lint":"tsc --noEmit && biome check","test":"vitest run","build":"tsc && pnpm copy-md","copy-md":"cpx \"src/**/*.md\" dist"},"_npmUser":{"name":"zbcjackson","email":"zbcjackson@gmail.com"},"_resolved":"/tmp/18287956b1d87f9faf82ff1eb04a6212/cucumber-ai-0.9.22.tgz","_integrity":"sha512-+JLYeSDmCyYObzzBEyvX1j5EeebTXIWxy8aY7Ag0kmxCY6HhAp7vw0zpylnG1VYuKvFQW6FcUgWvXy04buJM5g==","_npmVersion":"10.9.3","description":"Write automated tests using natural language","directories":{},"_nodeVersion":"22.19.0","dependencies":{"glob":"^11.0.3","dotenv":"^16.5.0","openai":"^5.5.1","playwright":"^1.52.0","@midscene/web":"^0.18.0","app-root-path":"^3.1.0","@playwright/test":"^1.54.1","@cucumber/cucumber":"^11.2.0","@modelcontextprotocol/sdk":"^1.13.0","@cucumber/pretty-formatter":"^1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"cpx":"^1.5.0","tsx":"^4.20.3","memfs":"^4.17.2","vitest":"^3.2.4","ts-node":"^10.9.2","typescript":"5.6.3","@types/node":"^16.18.126","@biomejs/biome":"^1.9.4"},"_npmOperationalInternal":{"tmp":"tmp/cucumber-ai_0.9.22_1758352229222_0.15563098552456056","host":"s3://npm-registry-packages-npm-production"}},"0.9.23":{"name":"cucumber-ai","version":"0.9.23","keywords":["cucumber","ai","testing","automation","playwright","natural language","bdd","tests","gherkin"],"author":{"name":"Jackson Zhang","email":"zbcjackson@gmail.com"},"license":"MIT","_id":"cucumber-ai@0.9.23","maintainers":[{"name":"zbcjackson","email":"zbcjackson@gmail.com"}],"homepage":"https://github.com/zbcjackson/cucumber-ai","bin":{"cucumber-ai":"bin/cucumber-js.js"},"dist":{"shasum":"dcf91966ed3a5cf3d90dfd2f9ef8e39ee127752b","tarball":"https://registry.npmjs.org/cucumber-ai/-/cucumber-ai-0.9.23.tgz","fileCount":101,"integrity":"sha512-Bh347aH6VWLnr41ErAefYrSrwSI/P5weIaYUvll7Fc4gCdb2/UR0CwsxUA0WCrMGqgnoRXTmM8xUn80TVVwCXA==","signatures":[{"sig":"MEUCIQCNDKRkrR5Oepc6i5la4zFLm+GlI0W3xTSzJIFmffMn7gIgKutv2FS29wpA4NFhEwX47NVY8cRvjtLnVsxpAv0jHLA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":292377},"main":"dist/index.js","_from":"file:cucumber-ai-0.9.23.tgz","types":"dist/index.d.ts","scripts":{"demo":"node bin/cucumber-js.js","lint":"tsc --noEmit && biome check","test":"vitest run","build":"tsc && pnpm copy-md","copy-md":"cpx \"src/**/*.md\" dist"},"_npmUser":{"name":"zbcjackson","email":"zbcjackson@gmail.com"},"_resolved":"/tmp/ab66032319b35719abc208fab02adb0e/cucumber-ai-0.9.23.tgz","_integrity":"sha512-Bh347aH6VWLnr41ErAefYrSrwSI/P5weIaYUvll7Fc4gCdb2/UR0CwsxUA0WCrMGqgnoRXTmM8xUn80TVVwCXA==","_npmVersion":"10.9.3","description":"Write automated tests using natural language","directories":{},"_nodeVersion":"22.19.0","dependencies":{"glob":"^11.0.3","dotenv":"^16.5.0","openai":"^5.5.1","playwright":"^1.52.0","@midscene/web":"^0.18.0","app-root-path":"^3.1.0","@playwright/test":"^1.54.1","@cucumber/cucumber":"^11.2.0","@modelcontextprotocol/sdk":"^1.13.0","@cucumber/pretty-formatter":"^1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"cpx":"^1.5.0","tsx":"^4.20.3","memfs":"^4.17.2","vitest":"^3.2.4","ts-node":"^10.9.2","typescript":"5.6.3","@types/node":"^16.18.126","@biomejs/biome":"^1.9.4"},"_npmOperationalInternal":{"tmp":"tmp/cucumber-ai_0.9.23_1758370817016_0.5140849720121174","host":"s3://npm-registry-packages-npm-production"}},"0.9.24":{"name":"cucumber-ai","version":"0.9.24","keywords":["cucumber","ai","testing","automation","playwright","natural language","bdd","tests","gherkin"],"author":{"name":"Jackson Zhang","email":"zbcjackson@gmail.com"},"license":"MIT","_id":"cucumber-ai@0.9.24","maintainers":[{"name":"zbcjackson","email":"zbcjackson@gmail.com"}],"homepage":"https://github.com/zbcjackson/cucumber-ai","bin":{"cucumber-ai":"bin/cucumber-js.js"},"dist":{"shasum":"c6b2bb848906539f5487bdaaa70bbbbbed647a44","tarball":"https://registry.npmjs.org/cucumber-ai/-/cucumber-ai-0.9.24.tgz","fileCount":101,"integrity":"sha512-ZlH8Q5/U4xTYI58ezRsjWAfyMEe9dlrBb6pCSbHnJpacYq/LykfkEWLdAxKqo03dRiVCurLRdHPGIHdwCYPLgA==","signatures":[{"sig":"MEUCIQDag4GG5sb5lN5kkROT3GUL7GQYwdYS6Z9FKXskqJWBawIgO4hIRQ9ar3AsfIl/qh7g8lHPPx8Ck6ZVyW8LjTO/gtM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":292062},"main":"dist/index.js","_from":"file:cucumber-ai-0.9.24.tgz","types":"dist/index.d.ts","scripts":{"demo":"node bin/cucumber-js.js","lint":"tsc --noEmit && biome check","test":"vitest run","build":"tsc && pnpm copy-md","copy-md":"cpx \"src/**/*.md\" dist"},"_npmUser":{"name":"zbcjackson","email":"zbcjackson@gmail.com"},"_resolved":"/tmp/9dddee1eff460ea2a45268b8f93a5dc2/cucumber-ai-0.9.24.tgz","_integrity":"sha512-ZlH8Q5/U4xTYI58ezRsjWAfyMEe9dlrBb6pCSbHnJpacYq/LykfkEWLdAxKqo03dRiVCurLRdHPGIHdwCYPLgA==","_npmVersion":"10.9.3","description":"Write automated tests using natural language","directories":{},"_nodeVersion":"22.19.0","dependencies":{"glob":"^11.0.3","dotenv":"^16.5.0","openai":"^5.5.1","playwright":"^1.52.0","@midscene/web":"^0.18.0","app-root-path":"^3.1.0","@playwright/test":"^1.54.1","@cucumber/cucumber":"^11.2.0","@modelcontextprotocol/sdk":"^1.13.0","@cucumber/pretty-formatter":"^1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"cpx":"^1.5.0","tsx":"^4.20.3","memfs":"^4.17.2","vitest":"^3.2.4","ts-node":"^10.9.2","typescript":"5.6.3","@types/node":"^16.18.126","@biomejs/biome":"^1.9.4"},"_npmOperationalInternal":{"tmp":"tmp/cucumber-ai_0.9.24_1758372203640_0.37923551380718346","host":"s3://npm-registry-packages-npm-production"}},"0.9.25":{"name":"cucumber-ai","version":"0.9.25","keywords":["cucumber","ai","testing","automation","playwright","natural language","bdd","tests","gherkin"],"author":{"name":"Jackson Zhang","email":"zbcjackson@gmail.com"},"license":"MIT","_id":"cucumber-ai@0.9.25","maintainers":[{"name":"zbcjackson","email":"zbcjackson@gmail.com"}],"homepage":"https://github.com/zbcjackson/cucumber-ai","bin":{"cucumber-ai":"bin/cucumber-js.js"},"dist":{"shasum":"96f68f9ba60f92ad963cdf6f173159361453f639","tarball":"https://registry.npmjs.org/cucumber-ai/-/cucumber-ai-0.9.25.tgz","fileCount":101,"integrity":"sha512-dhHTAyG7Mzq3wBpwFVXNtKy9Mrxatq4nlF3LzaBrPss+/pFZrnOJemBhcWgKpDGWIROZWjd+MELg9+ata0zAnQ==","signatures":[{"sig":"MEQCIDRUAGu/eOCpP0P/ys57K4lof9Pka2GPPUEuJNoQr5o+AiAR8Gm7v1DUmMeGKvgrqmMMpPehSFreOQUgUCgZpv+Bpg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":293822},"main":"dist/index.js","_from":"file:cucumber-ai-0.9.25.tgz","types":"dist/index.d.ts","scripts":{"demo":"node bin/cucumber-js.js","lint":"tsc --noEmit && biome check","test":"vitest run","build":"tsc && pnpm copy-md","copy-md":"cpx \"src/**/*.md\" dist"},"_npmUser":{"name":"zbcjackson","email":"zbcjackson@gmail.com"},"_resolved":"/tmp/d3fd33e0d21f37b3e5102889a671ba96/cucumber-ai-0.9.25.tgz","_integrity":"sha512-dhHTAyG7Mzq3wBpwFVXNtKy9Mrxatq4nlF3LzaBrPss+/pFZrnOJemBhcWgKpDGWIROZWjd+MELg9+ata0zAnQ==","_npmVersion":"10.9.3","description":"Write automated tests using natural language","directories":{},"_nodeVersion":"22.19.0","dependencies":{"glob":"^11.0.3","dotenv":"^16.5.0","openai":"^5.5.1","playwright":"^1.52.0","@midscene/web":"^0.18.0","app-root-path":"^3.1.0","@playwright/test":"^1.54.1","@cucumber/cucumber":"^11.2.0","@modelcontextprotocol/sdk":"^1.13.0","@cucumber/pretty-formatter":"^1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"cpx":"^1.5.0","tsx":"^4.20.3","memfs":"^4.17.2","vitest":"^3.2.4","ts-node":"^10.9.2","typescript":"5.6.3","@types/node":"^16.18.126","@biomejs/biome":"^1.9.4"},"_npmOperationalInternal":{"tmp":"tmp/cucumber-ai_0.9.25_1758386266784_0.5376698464314973","host":"s3://npm-registry-packages-npm-production"}},"0.9.26":{"name":"cucumber-ai","version":"0.9.26","keywords":["cucumber","ai","testing","automation","playwright","natural language","bdd","tests","gherkin"],"author":{"name":"Jackson Zhang","email":"zbcjackson@gmail.com"},"license":"MIT","_id":"cucumber-ai@0.9.26","maintainers":[{"name":"zbcjackson","email":"zbcjackson@gmail.com"}],"homepage":"https://github.com/zbcjackson/cucumber-ai","bin":{"cucumber-ai":"bin/cucumber-js.js"},"dist":{"shasum":"a2e35014e12750021ec5ae5f3c82a3dea4f2a4cc","tarball":"https://registry.npmjs.org/cucumber-ai/-/cucumber-ai-0.9.26.tgz","fileCount":101,"integrity":"sha512-v7sJ7lRGKGM/UyY7Vq4FzkRuw5vSlpNAFpyQkXDt91PFmpBDLpMUjSizViu4d37utN/RBBdQKhn0kjXEr74guQ==","signatures":[{"sig":"MEUCIDuv3Cd+r/1DYZNY5lXEUX4jjdHUzhKwhHiNf79sIMFFAiEAxmh6gec+VNqCfGBPPb5w/3tS0jzFz52uadOFbBwULtM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":293824},"main":"dist/index.js","_from":"file:cucumber-ai-0.9.26.tgz","types":"dist/index.d.ts","scripts":{"demo":"node bin/cucumber-js.js","lint":"tsc --noEmit && biome check","test":"vitest run","build":"tsc && pnpm copy-md","copy-md":"cpx \"src/**/*.md\" dist"},"_npmUser":{"name":"zbcjackson","email":"zbcjackson@gmail.com"},"_resolved":"/tmp/36e4d23bd351b8a6259f123545a06c65/cucumber-ai-0.9.26.tgz","_integrity":"sha512-v7sJ7lRGKGM/UyY7Vq4FzkRuw5vSlpNAFpyQkXDt91PFmpBDLpMUjSizViu4d37utN/RBBdQKhn0kjXEr74guQ==","_npmVersion":"10.9.3","description":"Write automated tests using natural language","directories":{},"_nodeVersion":"22.19.0","dependencies":{"glob":"^11.0.3","dotenv":"^16.5.0","openai":"^5.5.1","playwright":"^1.52.0","@midscene/web":"^0.18.0","app-root-path":"^3.1.0","@playwright/test":"^1.54.1","@cucumber/cucumber":"^11.2.0","@modelcontextprotocol/sdk":"^1.13.0","@cucumber/pretty-formatter":"^1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"cpx":"^1.5.0","tsx":"^4.20.3","memfs":"^4.17.2","vitest":"^3.2.4","ts-node":"^10.9.2","typescript":"5.6.3","@types/node":"^16.18.126","@biomejs/biome":"^1.9.4"},"_npmOperationalInternal":{"tmp":"tmp/cucumber-ai_0.9.26_1758387597818_0.14505836054446153","host":"s3://npm-registry-packages-npm-production"}},"0.9.27":{"name":"cucumber-ai","version":"0.9.27","keywords":["cucumber","ai","testing","automation","playwright","natural language","bdd","tests","gherkin"],"author":{"name":"Jackson Zhang","email":"zbcjackson@gmail.com"},"license":"MIT","_id":"cucumber-ai@0.9.27","maintainers":[{"name":"zbcjackson","email":"zbcjackson@gmail.com"}],"homepage":"https://github.com/zbcjackson/cucumber-ai","bin":{"cucumber-ai":"bin/cucumber-js.js"},"dist":{"shasum":"77e5c1d75742a554e3e52bfa188c4fd2ed5fa85e","tarball":"https://registry.npmjs.org/cucumber-ai/-/cucumber-ai-0.9.27.tgz","fileCount":101,"integrity":"sha512-QWjmZHO6WbV9W4MPDWuaUCScDz8d3Qo185/rdnO6EOR+eSA+rlg0FY8VR624u4uOKEHoDl4Mhezx88AVEw/65Q==","signatures":[{"sig":"MEYCIQCOHzrpvmFAPrzPqMTK7IOU9Mn9TKJU3LYR9Fq4nuoM6wIhALq1W1F6fLNcF/2poI0iyZtmtV3eVGujW6vRvqmO6gJd","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":293872},"main":"dist/index.js","_from":"file:cucumber-ai-0.9.27.tgz","types":"dist/index.d.ts","scripts":{"demo":"node bin/cucumber-js.js","lint":"tsc --noEmit && biome check","test":"vitest run","build":"tsc && pnpm copy-md","copy-md":"cpx \"src/**/*.md\" dist"},"_npmUser":{"name":"zbcjackson","email":"zbcjackson@gmail.com"},"_resolved":"/tmp/388b318141088ab06e0c099b4b870474/cucumber-ai-0.9.27.tgz","_integrity":"sha512-QWjmZHO6WbV9W4MPDWuaUCScDz8d3Qo185/rdnO6EOR+eSA+rlg0FY8VR624u4uOKEHoDl4Mhezx88AVEw/65Q==","_npmVersion":"10.9.3","description":"Write automated tests using natural language","directories":{},"_nodeVersion":"22.19.0","dependencies":{"glob":"^11.0.3","dotenv":"^16.5.0","openai":"^5.5.1","playwright":"^1.52.0","@midscene/web":"^0.18.0","app-root-path":"^3.1.0","@playwright/test":"^1.54.1","@cucumber/cucumber":"^11.2.0","@modelcontextprotocol/sdk":"^1.13.0","@cucumber/pretty-formatter":"^1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"cpx":"^1.5.0","tsx":"^4.20.3","memfs":"^4.17.2","vitest":"^3.2.4","ts-node":"^10.9.2","typescript":"5.6.3","@types/node":"^16.18.126","@biomejs/biome":"^1.9.4"},"_npmOperationalInternal":{"tmp":"tmp/cucumber-ai_0.9.27_1758388694970_0.21937952326460097","host":"s3://npm-registry-packages-npm-production"}},"0.9.28":{"name":"cucumber-ai","version":"0.9.28","keywords":["cucumber","ai","testing","automation","playwright","natural language","bdd","tests","gherkin"],"author":{"name":"Jackson Zhang","email":"zbcjackson@gmail.com"},"license":"MIT","_id":"cucumber-ai@0.9.28","maintainers":[{"name":"zbcjackson","email":"zbcjackson@gmail.com"}],"homepage":"https://github.com/zbcjackson/cucumber-ai","bin":{"cucumber-ai":"bin/cucumber-js.js"},"dist":{"shasum":"d3b3eb40d4e9198cd1507791c4ccdff4212037c1","tarball":"https://registry.npmjs.org/cucumber-ai/-/cucumber-ai-0.9.28.tgz","fileCount":101,"integrity":"sha512-khU5R9rJDEe/zYOxp/ql7m5AgJSUoaEeQtcV5WqkKrygaw2BOLkQn9AqQMmCFUG4Xpym52nBYfhCOW2du8bXpg==","signatures":[{"sig":"MEUCIFQkNk58hbJymOaHPV/JSgEGrJ0fnYU0pua0NGC4N59wAiEAyi8Ul7LGGmShTCdkE/W3n1uRI4sF+wc4mrVfQmDpviE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":293777},"main":"dist/index.js","_from":"file:cucumber-ai-0.9.28.tgz","types":"dist/index.d.ts","scripts":{"demo":"node bin/cucumber-js.js","lint":"tsc --noEmit && biome check","test":"vitest run","build":"tsc && pnpm copy-md","copy-md":"cpx \"src/**/*.md\" dist"},"_npmUser":{"name":"zbcjackson","email":"zbcjackson@gmail.com"},"_resolved":"/tmp/d6e44410d0c85a1c5254a55cc1955fd6/cucumber-ai-0.9.28.tgz","_integrity":"sha512-khU5R9rJDEe/zYOxp/ql7m5AgJSUoaEeQtcV5WqkKrygaw2BOLkQn9AqQMmCFUG4Xpym52nBYfhCOW2du8bXpg==","_npmVersion":"10.9.3","description":"Write automated tests using natural language","directories":{},"_nodeVersion":"22.19.0","dependencies":{"glob":"^11.0.3","dotenv":"^16.5.0","openai":"^5.5.1","playwright":"^1.52.0","@midscene/web":"^0.18.0","app-root-path":"^3.1.0","@playwright/test":"^1.54.1","@cucumber/cucumber":"^11.2.0","@modelcontextprotocol/sdk":"^1.13.0","@cucumber/pretty-formatter":"^1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"cpx":"^1.5.0","tsx":"^4.20.3","memfs":"^4.17.2","vitest":"^3.2.4","ts-node":"^10.9.2","typescript":"5.6.3","@types/node":"^16.18.126","@biomejs/biome":"^1.9.4"},"_npmOperationalInternal":{"tmp":"tmp/cucumber-ai_0.9.28_1758425793380_0.6769595405046762","host":"s3://npm-registry-packages-npm-production"}},"0.9.29":{"name":"cucumber-ai","version":"0.9.29","keywords":["cucumber","ai","testing","automation","playwright","natural language","bdd","tests","gherkin"],"author":{"name":"Jackson Zhang","email":"zbcjackson@gmail.com"},"license":"MIT","_id":"cucumber-ai@0.9.29","maintainers":[{"name":"zbcjackson","email":"zbcjackson@gmail.com"}],"homepage":"https://github.com/zbcjackson/cucumber-ai","bin":{"cucumber-ai":"bin/cucumber-js.js"},"dist":{"shasum":"337c9b992775d0d7e01dc9db03a0fa489bb621ca","tarball":"https://registry.npmjs.org/cucumber-ai/-/cucumber-ai-0.9.29.tgz","fileCount":101,"integrity":"sha512-xWUyrLBvgwQjZDEYWma3jstkqW+YX6n74YyPYcsqjczL8wHTUxdzq3UtKX+qUIJHCFFooxtJXhJ4Gj6hppH6pw==","signatures":[{"sig":"MEYCIQD1t34r+UlN0T2YwfqEygefFF7TR6H7pPiDhOJswgaUHwIhAPe5EZmluO5PldoryYhim9HCpApVEikVAFzcRsekvA8g","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":294328},"main":"dist/index.js","_from":"file:cucumber-ai-0.9.29.tgz","types":"dist/index.d.ts","scripts":{"demo":"node bin/cucumber-js.js","lint":"tsc --noEmit && biome check","test":"vitest run","build":"tsc && pnpm copy-md","copy-md":"cpx \"src/**/*.md\" dist"},"_npmUser":{"name":"zbcjackson","email":"zbcjackson@gmail.com"},"_resolved":"/tmp/420d5eaa36aef1531b265c18e81a70eb/cucumber-ai-0.9.29.tgz","_integrity":"sha512-xWUyrLBvgwQjZDEYWma3jstkqW+YX6n74YyPYcsqjczL8wHTUxdzq3UtKX+qUIJHCFFooxtJXhJ4Gj6hppH6pw==","_npmVersion":"10.9.3","description":"Write automated tests using natural language","directories":{},"_nodeVersion":"22.19.0","dependencies":{"glob":"^11.0.3","dotenv":"^16.5.0","openai":"^5.5.1","playwright":"^1.52.0","@midscene/web":"^0.18.0","app-root-path":"^3.1.0","@playwright/test":"^1.54.1","@cucumber/cucumber":"^11.2.0","@modelcontextprotocol/sdk":"^1.13.0","@cucumber/pretty-formatter":"^1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"cpx":"^1.5.0","tsx":"^4.20.3","memfs":"^4.17.2","vitest":"^3.2.4","ts-node":"^10.9.2","typescript":"5.6.3","@types/node":"^16.18.126","@biomejs/biome":"^1.9.4"},"_npmOperationalInternal":{"tmp":"tmp/cucumber-ai_0.9.29_1758430438288_0.7789678454776789","host":"s3://npm-registry-packages-npm-production"}},"0.9.30":{"name":"cucumber-ai","version":"0.9.30","keywords":["cucumber","ai","testing","automation","playwright","natural language","bdd","tests","gherkin"],"author":{"name":"Jackson Zhang","email":"zbcjackson@gmail.com"},"license":"MIT","_id":"cucumber-ai@0.9.30","maintainers":[{"name":"zbcjackson","email":"zbcjackson@gmail.com"}],"homepage":"https://github.com/zbcjackson/cucumber-ai","bin":{"cucumber-ai":"bin/cucumber-js.js"},"dist":{"shasum":"4f4e4fe1a30e797544e47895d4c0e6a0a3a32ac5","tarball":"https://registry.npmjs.org/cucumber-ai/-/cucumber-ai-0.9.30.tgz","fileCount":101,"integrity":"sha512-ENzbYLNSbVBnjGUsdy825JRqSkMf8It/2NqcHArGVYPSh2OU2Ze0lRcfLPJdlPskin9lloL2TSMUVzkHB5sWcw==","signatures":[{"sig":"MEYCIQCSdbbl3/s4bHaLEiM4K2qtma1yO79VpqIzlN1VjQQabgIhAPOeLEf22T3a9UKysdxGu7soXnpoDcUwIfzDaX0U7Ydb","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":296441},"main":"dist/index.js","_from":"file:cucumber-ai-0.9.30.tgz","types":"dist/index.d.ts","scripts":{"demo":"node bin/cucumber-js.js","lint":"tsc --noEmit && biome check","test":"vitest run","build":"tsc && pnpm copy-md","copy-md":"cpx \"src/**/*.md\" dist"},"_npmUser":{"name":"zbcjackson","email":"zbcjackson@gmail.com"},"_resolved":"/tmp/79868b14986585a65c8efed4f7d6428e/cucumber-ai-0.9.30.tgz","_integrity":"sha512-ENzbYLNSbVBnjGUsdy825JRqSkMf8It/2NqcHArGVYPSh2OU2Ze0lRcfLPJdlPskin9lloL2TSMUVzkHB5sWcw==","_npmVersion":"10.9.3","description":"Write automated tests using natural language","directories":{},"_nodeVersion":"22.19.0","dependencies":{"glob":"^11.0.3","dotenv":"^16.5.0","openai":"^5.5.1","playwright":"^1.52.0","@midscene/web":"^0.18.0","app-root-path":"^3.1.0","@playwright/test":"^1.54.1","@cucumber/cucumber":"^11.2.0","@modelcontextprotocol/sdk":"^1.13.0","@cucumber/pretty-formatter":"^1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"cpx":"^1.5.0","tsx":"^4.20.3","memfs":"^4.17.2","vitest":"^3.2.4","ts-node":"^10.9.2","typescript":"5.6.3","@types/node":"^16.18.126","@biomejs/biome":"^1.9.4"},"_npmOperationalInternal":{"tmp":"tmp/cucumber-ai_0.9.30_1758434218958_0.33237504918288163","host":"s3://npm-registry-packages-npm-production"}},"0.9.31":{"name":"cucumber-ai","version":"0.9.31","keywords":["cucumber","ai","testing","automation","playwright","natural language","bdd","tests","gherkin"],"author":{"name":"Jackson Zhang","email":"zbcjackson@gmail.com"},"license":"MIT","_id":"cucumber-ai@0.9.31","maintainers":[{"name":"zbcjackson","email":"zbcjackson@gmail.com"}],"homepage":"https://github.com/zbcjackson/cucumber-ai","bin":{"cucumber-ai":"bin/cucumber-js.js"},"dist":{"shasum":"6f990add64906da892b0ed6da993ce9ae4a99d7d","tarball":"https://registry.npmjs.org/cucumber-ai/-/cucumber-ai-0.9.31.tgz","fileCount":104,"integrity":"sha512-3F35xqT8DWHJ72vIzc/03UkUw2sUG5ePmWU7BdxFVNbKwqe2oab3xFpu2sykw0eGwRx6Ck2pMLGiX+zEmGmqfA==","signatures":[{"sig":"MEUCIQCYtf2/fys3rU5wcMK/7tgsvoWf/g6tV7XXB0ea4LdbkwIgVOSa057BS4WCFSVo6/Hsa2cZC9N+HEfGmWRkYU52iww=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":312412},"main":"dist/index.js","_from":"file:cucumber-ai-0.9.31.tgz","types":"dist/index.d.ts","scripts":{"demo":"node bin/cucumber-js.js","lint":"tsc --noEmit && biome check","test":"vitest run","build":"tsc && pnpm copy-md","copy-md":"cpx \"src/**/*.md\" dist"},"_npmUser":{"name":"zbcjackson","email":"zbcjackson@gmail.com"},"_resolved":"/tmp/545db2c858bb0266b0558de8ee1f0c2f/cucumber-ai-0.9.31.tgz","_integrity":"sha512-3F35xqT8DWHJ72vIzc/03UkUw2sUG5ePmWU7BdxFVNbKwqe2oab3xFpu2sykw0eGwRx6Ck2pMLGiX+zEmGmqfA==","_npmVersion":"10.9.3","description":"Write automated tests using natural language","directories":{},"_nodeVersion":"22.19.0","dependencies":{"zod":"^4.1.11","glob":"^11.0.3","dotenv":"^16.5.0","openai":"^5.5.1","playwright":"^1.52.0","@midscene/web":"^0.18.0","app-root-path":"^3.1.0","@playwright/test":"^1.54.1","@cucumber/cucumber":"^11.2.0","@modelcontextprotocol/sdk":"^1.13.0","@cucumber/pretty-formatter":"^1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"cpx":"^1.5.0","tsx":"^4.20.3","memfs":"^4.17.2","vitest":"^3.2.4","ts-node":"^10.9.2","typescript":"5.6.3","@types/node":"^16.18.126","@biomejs/biome":"^1.9.4"},"_npmOperationalInternal":{"tmp":"tmp/cucumber-ai_0.9.31_1758464122849_0.8710995562419781","host":"s3://npm-registry-packages-npm-production"}},"0.9.32":{"name":"cucumber-ai","version":"0.9.32","keywords":["cucumber","ai","testing","automation","playwright","natural language","bdd","tests","gherkin"],"author":{"name":"Jackson Zhang","email":"zbcjackson@gmail.com"},"license":"MIT","_id":"cucumber-ai@0.9.32","maintainers":[{"name":"zbcjackson","email":"zbcjackson@gmail.com"}],"homepage":"https://github.com/zbcjackson/cucumber-ai","bin":{"cucumber-ai":"bin/cucumber-js.js"},"dist":{"shasum":"f97e475e64b4a25df30f17df443ef27b13addcf5","tarball":"https://registry.npmjs.org/cucumber-ai/-/cucumber-ai-0.9.32.tgz","fileCount":104,"integrity":"sha512-q+2ZiGcyaI/Ta3x4MvADI8v3VM8aI9W1sp1Qpdp2xD631PXAXOw7dFIGS7spMVm3kaT4DKym+4n898rpN9Ksqw==","signatures":[{"sig":"MEQCIHn/+r01YI5X8k787QjA3BjWpIGkiqOWeyTfwePez+/1AiBUy8lYXkkDrEZj6+feHGlR2nJq/GShRlM7KE+WW0VCUw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":313041},"main":"dist/index.js","_from":"file:cucumber-ai-0.9.32.tgz","types":"dist/index.d.ts","scripts":{"demo":"node bin/cucumber-js.js","lint":"tsc --noEmit && biome check","test":"vitest run","build":"tsc && pnpm copy-md","copy-md":"cpx \"src/**/*.md\" dist"},"_npmUser":{"name":"zbcjackson","email":"zbcjackson@gmail.com"},"_resolved":"/tmp/3f892e1ba87655ec8e7ecfb9be38b28a/cucumber-ai-0.9.32.tgz","_integrity":"sha512-q+2ZiGcyaI/Ta3x4MvADI8v3VM8aI9W1sp1Qpdp2xD631PXAXOw7dFIGS7spMVm3kaT4DKym+4n898rpN9Ksqw==","_npmVersion":"10.9.3","description":"Write automated tests using natural language","directories":{},"_nodeVersion":"22.19.0","dependencies":{"zod":"^4.1.11","glob":"^11.0.3","dotenv":"^16.5.0","openai":"^5.5.1","playwright":"^1.52.0","@midscene/web":"^0.18.0","app-root-path":"^3.1.0","@playwright/test":"^1.54.1","@cucumber/cucumber":"^11.2.0","@modelcontextprotocol/sdk":"^1.13.0","@cucumber/pretty-formatter":"^1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"cpx":"^1.5.0","tsx":"^4.20.3","memfs":"^4.17.2","vitest":"^3.2.4","ts-node":"^10.9.2","typescript":"5.6.3","@types/node":"^16.18.126","@biomejs/biome":"^1.9.4"},"_npmOperationalInternal":{"tmp":"tmp/cucumber-ai_0.9.32_1758469113924_0.1371852444764805","host":"s3://npm-registry-packages-npm-production"}},"0.9.33":{"name":"cucumber-ai","version":"0.9.33","keywords":["cucumber","ai","testing","automation","playwright","natural language","bdd","tests","gherkin"],"author":{"name":"Jackson Zhang","email":"zbcjackson@gmail.com"},"license":"MIT","_id":"cucumber-ai@0.9.33","maintainers":[{"name":"zbcjackson","email":"zbcjackson@gmail.com"}],"homepage":"https://github.com/zbcjackson/cucumber-ai","bin":{"cucumber-ai":"bin/cucumber-js.js"},"dist":{"shasum":"5f651b45a0b242e389ab42b21d50c12dcc405f36","tarball":"https://registry.npmjs.org/cucumber-ai/-/cucumber-ai-0.9.33.tgz","fileCount":104,"integrity":"sha512-2rPTT+oxQkvpefyL/QlpLSUcC3G5BWBMaEQ186c3OdDGYsbp5ZtctjE6Lg1+scYC/H8jA1/X7fa73uiIkmqXsA==","signatures":[{"sig":"MEYCIQDX8bAA+AdxeXCjEHRh1bvfQdC19HQiTzDhhhOI2aJRHwIhAIY0cESJdsklllW9a6iptf2zYPNM55k3lZaSbIbjHQTH","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":319678},"main":"dist/index.js","_from":"file:cucumber-ai-0.9.33.tgz","types":"dist/index.d.ts","scripts":{"demo":"node bin/cucumber-js.js","lint":"tsc --noEmit && biome check","test":"vitest run","build":"tsc && pnpm copy-md","copy-md":"cpx \"src/**/*.md\" dist"},"_npmUser":{"name":"zbcjackson","email":"zbcjackson@gmail.com"},"_resolved":"/tmp/e8bf8660a67044deeb8bd1dae6cb9400/cucumber-ai-0.9.33.tgz","_integrity":"sha512-2rPTT+oxQkvpefyL/QlpLSUcC3G5BWBMaEQ186c3OdDGYsbp5ZtctjE6Lg1+scYC/H8jA1/X7fa73uiIkmqXsA==","_npmVersion":"10.9.3","description":"Write automated tests using natural language","directories":{},"_nodeVersion":"22.19.0","dependencies":{"zod":"^4.1.11","glob":"^11.0.3","dotenv":"^16.5.0","openai":"^5.5.1","playwright":"^1.52.0","@midscene/web":"^0.18.0","app-root-path":"^3.1.0","@playwright/test":"^1.54.1","@cucumber/cucumber":"^11.2.0","@modelcontextprotocol/sdk":"^1.13.0","@cucumber/pretty-formatter":"^1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"cpx":"^1.5.0","tsx":"^4.20.3","memfs":"^4.17.2","vitest":"^3.2.4","ts-node":"^10.9.2","typescript":"5.6.3","@types/node":"^16.18.126","@biomejs/biome":"^1.9.4"},"_npmOperationalInternal":{"tmp":"tmp/cucumber-ai_0.9.33_1758508059459_0.8396505843502877","host":"s3://npm-registry-packages-npm-production"}},"0.9.34":{"name":"cucumber-ai","version":"0.9.34","keywords":["cucumber","ai","testing","automation","playwright","natural language","bdd","tests","gherkin"],"author":{"name":"Jackson Zhang","email":"zbcjackson@gmail.com"},"license":"MIT","_id":"cucumber-ai@0.9.34","maintainers":[{"name":"zbcjackson","email":"zbcjackson@gmail.com"}],"homepage":"https://github.com/zbcjackson/cucumber-ai","bin":{"cucumber-ai":"bin/cucumber-js.js"},"dist":{"shasum":"55a7598394aa356c2d30626c5d2267fbe3ed5d16","tarball":"https://registry.npmjs.org/cucumber-ai/-/cucumber-ai-0.9.34.tgz","fileCount":104,"integrity":"sha512-BP7gOkOLKzqWbioNvHAXVEbeW0ju2zlaF86JXMpMKfv4+z9MxlF/meudfYPs+Xe7HlgLLRG8DnuUT7WjKrgpyA==","signatures":[{"sig":"MEQCIC1FWB+/g5FYGgJXJI6VZc8JETxHxbYKyYy9PGdnr2KJAiBxXt2ai/eTFysa2gy1TbjEaOcF/wFRniL//1uBzS3+VA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":320310},"main":"dist/index.js","_from":"file:cucumber-ai-0.9.34.tgz","types":"dist/index.d.ts","scripts":{"demo":"node bin/cucumber-js.js","lint":"tsc --noEmit && biome check","test":"vitest run","build":"tsc && pnpm copy-md","copy-md":"cpx \"src/**/*.md\" dist"},"_npmUser":{"name":"zbcjackson","email":"zbcjackson@gmail.com"},"_resolved":"/tmp/07ce2cb36ebebe579ce69fd03b279bb6/cucumber-ai-0.9.34.tgz","_integrity":"sha512-BP7gOkOLKzqWbioNvHAXVEbeW0ju2zlaF86JXMpMKfv4+z9MxlF/meudfYPs+Xe7HlgLLRG8DnuUT7WjKrgpyA==","_npmVersion":"10.9.3","description":"Write automated tests using natural language","directories":{},"_nodeVersion":"22.19.0","dependencies":{"zod":"^4.1.11","glob":"^11.0.3","dotenv":"^16.5.0","openai":"^5.5.1","playwright":"^1.52.0","@midscene/web":"^0.18.0","app-root-path":"^3.1.0","@playwright/test":"^1.54.1","@cucumber/cucumber":"^11.2.0","@modelcontextprotocol/sdk":"^1.13.0","@cucumber/pretty-formatter":"^1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"cpx":"^1.5.0","tsx":"^4.20.3","memfs":"^4.17.2","vitest":"^3.2.4","ts-node":"^10.9.2","typescript":"5.6.3","@types/node":"^16.18.126","@biomejs/biome":"^1.9.4"},"_npmOperationalInternal":{"tmp":"tmp/cucumber-ai_0.9.34_1758511759748_0.06519891969558578","host":"s3://npm-registry-packages-npm-production"}},"0.9.35":{"name":"cucumber-ai","version":"0.9.35","keywords":["cucumber","ai","testing","automation","playwright","natural language","bdd","tests","gherkin"],"author":{"name":"Jackson Zhang","email":"zbcjackson@gmail.com"},"license":"MIT","_id":"cucumber-ai@0.9.35","maintainers":[{"name":"zbcjackson","email":"zbcjackson@gmail.com"}],"homepage":"https://github.com/zbcjackson/cucumber-ai","bin":{"cucumber-ai":"bin/cucumber-js.js"},"dist":{"shasum":"49cb906c4c85bb84bdb7e3728ee228acf267503a","tarball":"https://registry.npmjs.org/cucumber-ai/-/cucumber-ai-0.9.35.tgz","fileCount":104,"integrity":"sha512-s2bn5NALSgLhg6F3XTntCMOnfOdrWEB6AZlS5kUT1BAYepiOrxa6t+P/tiGVRzvSGXg78jpBtA0BBAgir4hVqg==","signatures":[{"sig":"MEYCIQCVi9CQr1SDPL++qcZiSSzVp0wVIIQJxKXPZWfCA3KUugIhAJc1pE3nk4zycbi1tTHGzsWG5raABQtlLprde7idedyM","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":361806},"main":"dist/index.js","_from":"file:cucumber-ai-0.9.35.tgz","types":"dist/index.d.ts","scripts":{"demo":"node bin/cucumber-js.js","lint":"tsc --noEmit && biome check","test":"vitest run","build":"tsc && pnpm copy-md","copy-md":"cpx \"src/**/*.md\" dist"},"_npmUser":{"name":"zbcjackson","email":"zbcjackson@gmail.com"},"_resolved":"/tmp/70a3206b3b9236a1ccb0f223f1ae67fe/cucumber-ai-0.9.35.tgz","_integrity":"sha512-s2bn5NALSgLhg6F3XTntCMOnfOdrWEB6AZlS5kUT1BAYepiOrxa6t+P/tiGVRzvSGXg78jpBtA0BBAgir4hVqg==","_npmVersion":"10.9.3","description":"Write automated tests using natural language","directories":{},"_nodeVersion":"22.19.0","dependencies":{"zod":"^4.1.11","glob":"^11.0.3","dotenv":"^17.2.2","openai":"^5.22.0","playwright":"^1.55.0","@midscene/web":"^0.28.10","app-root-path":"^3.1.0","@playwright/test":"^1.55.0","@cucumber/cucumber":"^12.2.0","@modelcontextprotocol/sdk":"^1.18.1","@cucumber/pretty-formatter":"^2.3.0"},"_hasShrinkwrap":false,"devDependencies":{"cpx":"^1.5.0","tsx":"^4.20.5","memfs":"^4.43.0","vitest":"^3.2.4","ts-node":"^10.9.2","typescript":"5.9.2","@types/node":"^24.5.2","@biomejs/biome":"^2.2.4"},"_npmOperationalInternal":{"tmp":"tmp/cucumber-ai_0.9.35_1758520288917_0.6810481851419385","host":"s3://npm-registry-packages-npm-production"}},"0.9.36":{"name":"cucumber-ai","version":"0.9.36","keywords":["cucumber","ai","testing","automation","playwright","natural language","bdd","tests","gherkin"],"author":{"name":"Jackson Zhang","email":"zbcjackson@gmail.com"},"license":"MIT","_id":"cucumber-ai@0.9.36","maintainers":[{"name":"zbcjackson","email":"zbcjackson@gmail.com"}],"homepage":"https://github.com/zbcjackson/cucumber-ai","bin":{"cucumber-ai":"bin/cucumber-js.js"},"dist":{"shasum":"f4135cbb9fd8e101e86349e6f13b8cdc27b37ddb","tarball":"https://registry.npmjs.org/cucumber-ai/-/cucumber-ai-0.9.36.tgz","fileCount":104,"integrity":"sha512-S03szgFHkmP6lSx9EEx6DQ52auBnspNK6b+8NSsimDLlj3XbYowDIBALuJQBGOLxYDBlC2UzQ14q2hrP1hhxsQ==","signatures":[{"sig":"MEUCIHu75H0svoirdae9E8io6MWc6K6k+BVwUXgqqR2dhwlOAiEAofySNNlCRnORWyUv/bIfHxrt04F80LsFT8JO/nDIyF4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":366742},"main":"dist/index.js","_from":"file:cucumber-ai-0.9.36.tgz","types":"dist/index.d.ts","scripts":{"demo":"node bin/cucumber-js.js","lint":"tsc --noEmit && biome check","test":"vitest run","build":"tsc && pnpm copy-md","copy-md":"cpx \"src/**/*.md\" dist"},"_npmUser":{"name":"zbcjackson","email":"zbcjackson@gmail.com"},"_resolved":"/tmp/64b1b0af5a866c83d18312e61ef4595a/cucumber-ai-0.9.36.tgz","_integrity":"sha512-S03szgFHkmP6lSx9EEx6DQ52auBnspNK6b+8NSsimDLlj3XbYowDIBALuJQBGOLxYDBlC2UzQ14q2hrP1hhxsQ==","_npmVersion":"10.9.4","description":"Write automated tests using natural language","directories":{},"_nodeVersion":"22.21.1","dependencies":{"zod":"^4.1.12","glob":"^11.0.3","dotenv":"^17.2.3","openai":"^6.8.1","playwright":"^1.56.1","@midscene/web":"^0.30.8","app-root-path":"^3.1.0","@playwright/test":"^1.56.1","@cucumber/cucumber":"^12.2.0","@modelcontextprotocol/sdk":"^1.21.1","@cucumber/pretty-formatter":"^2.4.1"},"_hasShrinkwrap":false,"devDependencies":{"cpx":"^1.5.0","tsx":"^4.20.6","memfs":"^4.50.0","vitest":"^4.0.8","ts-node":"^10.9.2","typescript":"5.9.3","@types/node":"^24.10.0","@biomejs/biome":"^2.3.4"},"_npmOperationalInternal":{"tmp":"tmp/cucumber-ai_0.9.36_1762572101248_0.018400881462877994","host":"s3://npm-registry-packages-npm-production"}},"0.9.46":{"name":"cucumber-ai","version":"0.9.46","description":"Write automated tests using natural language","homepage":"https://github.com/zbcjackson/cucumber-ai","repository":{"url":"git+https://github.com/zbcjackson/cucumber-ai.git"},"keywords":["cucumber","ai","testing","automation","playwright","natural language","bdd","tests","gherkin"],"author":{"name":"Jackson Zhang","email":"zbcjackson@gmail.com"},"license":"MIT","main":"dist/index.js","types":"dist/index.d.ts","bin":{"cucumber-ai":"bin/cucumber-js.js"},"dependencies":{"@cucumber/cucumber":"^12.4.0","@cucumber/pretty-formatter":"^2.4.1","@midscene/web":"^0.30.10","@modelcontextprotocol/sdk":"^1.25.0","@playwright/test":"^1.57.0","app-root-path":"^3.1.0","dotenv":"^17.2.3","glob":"^13.0.0","openai":"^6.13.0","playwright":"^1.57.0","zod":"^4.2.1"},"devDependencies":{"@biomejs/biome":"^2.3.9","@types/node":"^25.0.2","cpx":"^1.5.0","memfs":"^4.51.1","ts-node":"^10.9.2","tsx":"^4.21.0","typescript":"5.9.3","vitest":"^4.0.15"},"scripts":{"copy-md":"cpx \"src/**/*.md\" dist","build":"tsc && pnpm copy-md","lint":"tsc --noEmit && biome check","test":"vitest run","demo":"node bin/cucumber-js.js"},"_id":"cucumber-ai@0.9.46","bugs":{"url":"https://github.com/zbcjackson/cucumber-ai/issues"},"_integrity":"sha512-gwNXge3riTK5TBMadRTHcWYXu4ovKoIdCPo4rLKELdAoXhaknBqKxXhpF/jR2O1UKAt+3GrxTnAG6thzjXmMXA==","_resolved":"/tmp/92d6481e73834430bda6104fdd30aa3c/cucumber-ai-0.9.46.tgz","_from":"file:cucumber-ai-0.9.46.tgz","_nodeVersion":"24.11.1","_npmVersion":"11.6.2","dist":{"integrity":"sha512-gwNXge3riTK5TBMadRTHcWYXu4ovKoIdCPo4rLKELdAoXhaknBqKxXhpF/jR2O1UKAt+3GrxTnAG6thzjXmMXA==","shasum":"984523d67ce9a22663c1ef49b34eb23c2cd434bc","tarball":"https://registry.npmjs.org/cucumber-ai/-/cucumber-ai-0.9.46.tgz","fileCount":104,"unpackedSize":372227,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/cucumber-ai@0.9.46","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIDQvoZBrdGWmmL1XZLXaGJJmfKjjenB5V6YaqTyiMdT2AiA5O6ScUr9mEp932DntxFPnTY5cTj8DsFPDopxSlk7rLw=="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4f64b896-5555-488c-be32-9d760b8e41e2"}},"directories":{},"maintainers":[{"name":"zbcjackson","email":"zbcjackson@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/cucumber-ai_0.9.46_1765879945721_0.8510564720836244"},"_hasShrinkwrap":false}},"time":{"created":"2025-07-19T07:55:09.957Z","modified":"2025-12-16T10:12:26.223Z","0.9.10":"2025-07-19T07:55:10.148Z","0.9.11":"2025-07-19T08:16:44.680Z","0.9.12":"2025-07-20T05:07:04.909Z","0.9.13":"2025-07-25T08:06:32.189Z","0.9.15":"2025-07-25T09:26:20.427Z","0.9.16":"2025-07-26T15:06:18.451Z","0.9.17":"2025-07-26T15:22:18.576Z","0.9.19":"2025-07-27T10:51:51.132Z","0.9.20":"2025-07-28T04:42:43.211Z","0.9.21":"2025-09-20T06:48:49.818Z","0.9.22":"2025-09-20T07:10:29.421Z","0.9.23":"2025-09-20T12:20:17.211Z","0.9.24":"2025-09-20T12:43:23.831Z","0.9.25":"2025-09-20T16:37:47.032Z","0.9.26":"2025-09-20T16:59:58.041Z","0.9.27":"2025-09-20T17:18:15.183Z","0.9.28":"2025-09-21T03:36:33.569Z","0.9.29":"2025-09-21T04:53:58.490Z","0.9.30":"2025-09-21T05:56:59.148Z","0.9.31":"2025-09-21T14:15:23.044Z","0.9.32":"2025-09-21T15:38:34.139Z","0.9.33":"2025-09-22T02:27:39.696Z","0.9.34":"2025-09-22T03:29:19.922Z","0.9.35":"2025-09-22T05:51:29.119Z","0.9.36":"2025-11-08T03:21:41.466Z","0.9.46":"2025-12-16T10:12:25.880Z"},"author":{"name":"Jackson Zhang","email":"zbcjackson@gmail.com"},"license":"MIT","homepage":"https://github.com/zbcjackson/cucumber-ai","keywords":["cucumber","ai","testing","automation","playwright","natural language","bdd","tests","gherkin"],"description":"Write automated tests using natural language","maintainers":[{"name":"zbcjackson","email":"zbcjackson@gmail.com"}],"readme":"# Cucumber-ai\n\n[![CI](https://github.com/zbcjackson/cucumber-ai/actions/workflows/ci.yml/badge.svg)](https://github.com/zbcjackson/cucumber-ai/actions/workflows/ci.yml)\n\nCucumber-ai is an AI-powered extension of [Cucumber](https://cucumber.io/) that enables you to write automated tests using natural language. It leverages AI models to interpret your test descriptions and automatically generate the necessary automation code, making test creation more accessible and intuitive.\n\n## What is Cucumber-ai?\n\nCucumber-ai builds upon the [Cucumber framework](https://cucumber.io/docs/installation/javascript/) by adding AI capabilities that can:\n\n- **Interpret natural language**: Write test steps in plain English and let AI understand what you want to test\n- **Reduce boilerplate**: Focus on describing behavior rather than writing implementation details\n- **Maintain consistency**: Use AI to ensure your tests follow best practices\n\n## Key Concepts\n\nCucumber-ai extends several core [Cucumber concepts](https://cucumber.io/docs/cucumber/):\n\n- **[Features](https://cucumber.io/docs/gherkin/)**: Write scenarios in Gherkin syntax (Given/When/Then)\n- **[Step Definitions](https://cucumber.io/docs/cucumber/step-definitions/)**: Define what each step should do using natural language\n- **[Hooks](https://cucumber.io/docs/cucumber/api/#hooks)**: Set up and tear down test environments\n- **[Page Objects](https://cucumber.io/docs/guides/browser-automation/#page-objects)**: Create reusable page models for web applications\n\nInternally Cucumber-ai uses [Midscene](https://midscenejs.com/) to interact with web pages.\n\n## Installation\n\nInstall cucumber-ai as a development dependency:\n\n```bash\n# Using pnpm (recommended)\npnpm add -D cucumber-ai\n\n# Using npm\nnpm install --save-dev cucumber-ai\n\n# Using yarn\nyarn add -D cucumber-ai\n```\n\n## Configuration\n\n### 1. Environment Setup\n\nCreate a `.env` file in your project root with your AI model configuration:\n\n```dotenv\n# Visual Language Model (VLM) for browser interaction\nOPENAI_API_KEY=your_api_key_here\nOPENAI_BASE_URL=https://openrouter.ai/api/v1\nMIDSCENE_MODEL_NAME=qwen/qwen2.5-vl-72b-instruct\nMIDSCENE_USE_QWEN_VL=1\n\n# Language Model (LLM) for other AI tasks\nLLM_API_KEY=your_api_key_here\nLLM_BASE_URL=https://openrouter.ai/api/v1\nLLM_MODEL_NAME=openai/gpt-4.1-nano\n```\n\n### 2. Model Selection Guide\n\n**Visual Language Model (VLM) for Browser Automation**:\n- **Recommended**: `qwen/qwen2.5-vl-72b-instruct` - Excellent visual understanding and web interaction capabilities\n- **Alternative**: `anthropic/claude-3.5-sonnet` - Good vision capabilities but may be more expensive\n- **Requirements**: Must support vision/image processing to see and interact with web pages\n\n**Language Model (LLM) for Text Processing and Tool Calling**:\n- **Recommended**: `openai/gpt-4.1-nano` - Fast, cost-effective with excellent function calling support\n- **Alternative**: `openai/gpt-4o` - More capable but higher cost\n- **Requirements**: **Must support function calling/tools** - This is critical for the browser action system to work properly\n\n**Important**: Ensure your chosen LLM provider supports function calling (also known as tool calling). Without this capability, the enhanced browser actions will not function correctly.\n\n### 3. Project Structure\n\nCreate a `features` directory in your project root with the following structure:\n\n```\nfeatures/\n├── concepts/          # Reusable page objects and behaviors\n│   └── *.concept\n├── steps/            # Step definitions in natural language\n│   └── *.steps\n├── hooks/            # Setup and teardown logic\n│   └── *.hooks\n└── *.feature         # Test scenarios in Gherkin format\n```\n\n### 4. Cucumber configuration\nMake sure in the cucumber configuration, two files are required:\n\n- './node_modules/cucumber-ai/dist/ai.steps.js'\n- './node_modules/cucumber-ai/dist/setup.js'\n\n## Writing Tests\n\n### 1. Feature Files\n\nFeature files use standard [Gherkin syntax](https://cucumber.io/docs/gherkin/) and are identical to regular Cucumber feature files:\n\n```gherkin\nFeature: Search for a location on the map\n\n  Scenario: Search for a location\n    When I search for \"百度研发中心\"\n    Then I should see the address \"上海市浦东新区纳贤路701号\"\n```\n\n### 2. Step Definitions\n\nCreate step definitions using natural language. Each step should start with `Step:`:\n\n```text\nStep: I search for \"{{name}}\"\n    MapPage: search for a location \"[[name]]\"\n\nStep: I should see the address \"{{address}}\"\n    MapPage: verify the address \"[[address]]\"\n```\n\n**Syntax**:\n- `{{variable}}`: Captures values from the Gherkin step\n- `[[variable]]`: Passes values to the concept behavior\n- `ConceptName: behavior_name`: References a behavior defined in a concept file\n\n### 3. Concepts (Page Objects)\n\nConcepts define reusable behaviors and page interactions:\n\n```text\nConcept: MapPage\n    Behavior: search for a location \"{{name}}\"\n        aiInput([[name]]): the search box\n        aiTap: the search button\n        aiWaitFor: the search results populates\n\n    Behavior: verify the address \"{{address}}\"\n        aiAssert: the address shows \"[[address]]\"\n```\n\n**AI Commands**:\n- `browser: action`: Browser-related operations with intelligent AI capabilities, including:\n  - **Browser management**: Opening/closing the browser, managing local storage, saving/deleting screenshots and video recordings\n  - **AI-powered interactions**: Click elements, type text, hover, press keys, wait for conditions, and assert page state using natural language descriptions\n  - **Smart element recognition**: Automatically locate elements on the page without requiring selectors\n  - **Example**: `browser: click the submit button and wait for the success message`\n- `data: action`: Data preparation and cleanup operations, including: Preparing test data via API calls, Direct database operations, Cleaning up test data, Requires MCP server configuration to connect to databases or API services\n- `ai: prompt`: AI-powered interactions for general page analysis and complex actions\n- `aiInput(text): element`: Types text into an element\n- `aiTap: element`: Clicks on an element\n- `aiWaitFor: condition`: Waits for a condition to be met\n- `aiAssert: condition`: Verifies a condition is true\n\n### 4. Hooks\n\nHooks handle setup and teardown using natural language:\n\n```text\nBefore:\n    browser: open https://ditu.baidu.com/\n\nAfter:\n    browser: close\n```\n\n## Running Tests\n\nUse the `cucumber-ai` command, which accepts the same options as `cucumber-js`:\n\n```bash\n# Run all tests\npnpm cucumber-ai\n\n# Run specific feature files\npnpm cucumber-ai features/search.feature\n\n# Run with specific tags\npnpm cucumber-ai --tags @smoke\n\n# Run in parallel\npnpm cucumber-ai --parallel 4\n```\n\n## Examples\n\n### Complete Example\n\nHere's a complete example of testing a map search functionality:\n\n**`features/map.feature`**:\n```gherkin\nFeature: Search for a location on the map\n\n  Scenario: Search for a location\n    When I search for \"百度研发中心\"\n    Then I should see the address \"上海市浦东新区纳贤路701号\"\n```\n\n**`features/steps/map.steps`**:\n```text\nStep: I search for \"{{name}}\"\n    MapPage: search for a location \"[[name]]\"\n\nStep: I should see the address \"{{address}}\"\n    MapPage: verify the address \"[[address]]\"\n```\n\n**`features/concepts/map.page.concept`**:\n```text\nConcept: MapPage\n    Behavior: search for a location \"{{name}}\"\n        aiInput([[name]]): the search box\n        aiTap: the search button\n        aiWaitFor: the search results populates\n\n    Behavior: verify the address \"{{address}}\"\n        aiAssert: the address shows \"[[address]]\"\n```\n\n**`features/hooks/setup.hooks`**:\n```text\nBefore:\n    browser: open https://ditu.baidu.com/\n```\n\n### More Examples\n\nCheck out our [example project](https://github.com/zbcjackson/cucumber-ai-example) for more comprehensive examples and use cases.\n\n### Enhanced Browser Actions\n\nThe `browser:` action now includes intelligent AI capabilities that can understand complex natural language requests and automatically perform UI interactions:\n\n**Basic Browser Management**:\n```text\nbrowser: open https://example.com\nbrowser: save screenshot as \"homepage\"\nbrowser: add item to local storage with key \"user\" and value \"john\"\nbrowser: close the browser\n```\n\n**AI-Powered UI Interactions**:\n```text\nbrowser: click the submit button\nbrowser: type \"john@example.com\" in the email field\nbrowser: hover over the user menu\nbrowser: press Enter key\nbrowser: wait for the loading spinner to disappear\nbrowser: verify that the success message is displayed\n```\n\n**Complex Combined Actions**:\n```text\nbrowser: fill out the login form with username \"admin\" and password \"secret123\"\nbrowser: click the login button and wait for the dashboard to load\nbrowser: navigate to the settings page and enable dark mode\n```\n\nThe browser action intelligently determines which specific UI operation to perform based on your natural language description, eliminating the need to remember specific action syntax.\n\n## How It Works\n\n1. **Natural Language Processing**: Cucumber-ai uses AI models to understand your test descriptions\n3. **Browser Interaction**: Visual Language Models can see and interact with web pages\n4. **Test Execution**: Runs your tests using the generated automation code\n\n## Benefits\n\n- **Lower Learning Curve**: Write tests in natural language without deep programming knowledge\n- **Faster Test Creation**: AI handles the implementation details\n- **Simplified Syntax**: Use single `browser:` actions instead of remembering multiple specific commands\n- **Maintainable Tests**: Focus on behavior rather than implementation\n- **Visual Understanding**: AI can see and interact with web pages like a human\n- **Cucumber Compatible**: Works with existing Cucumber workflows and tools\n\n## Getting Help\n\n- **Documentation**: [Cucumber.io Documentation](https://cucumber.io/docs/)\n- **Gherkin Syntax**: [Gherkin Reference](https://cucumber.io/docs/gherkin/)\n- **Midscene**: [Midscene](https://midscenejs.com/)\n- **Examples**: [Cucumber-ai Example Project](https://github.com/zbcjackson/cucumber-ai-example)\n\n## Coming Features\n- Support tables in Gherkin steps\n- Expand `browser` action to include Midscene's browser actions\n- ...\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details. \n\n","readmeFilename":"README.md","repository":{"url":"git+https://github.com/zbcjackson/cucumber-ai.git"},"bugs":{"url":"https://github.com/zbcjackson/cucumber-ai/issues"}}