{"_id":"@test-lab-ai/cli","_rev":"33-f721e4f18cdb20cfc7757c803ca14a82","name":"@test-lab-ai/cli","dist-tags":{"latest":"0.4.2"},"versions":{"0.1.0":{"name":"@test-lab-ai/cli","version":"0.1.0","keywords":["test-lab","test-lab.ai","testing","qa","e2e","cli"],"license":"MIT","_id":"@test-lab-ai/cli@0.1.0","maintainers":[{"name":"test-lab.ai","email":"adrian.neatu@test-lab.ai"}],"homepage":"https://test-lab.ai","bin":{"testlab":"bin/testlab.mjs"},"dist":{"shasum":"19df78bcda56028e0de3e83fbaa2a10e3cf7afec","tarball":"https://registry.npmjs.org/@test-lab-ai/cli/-/cli-0.1.0.tgz","fileCount":11,"integrity":"sha512-f+Wx8vhlTSe6ni+QrgUI6cfl1No6OYfoTqFNq9bd80FEoyA1ydH7SZrKBOIM8wK4Sboqao4bTTPRniUyrIjrdw==","signatures":[{"sig":"MEUCIA3jQ1oris6acNarHr0aaJD2oErJjVOfa8EGwVIOXxhTAiEA4gScjLcz1nd5cy9GBKnH9LG+AhToF/QBZ7/oh+TMEPQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":31999},"type":"module","engines":{"node":">=18"},"gitHead":"e14714266509834538608fb9890d2f0de99fde86","scripts":{"test":"node test/toposort.test.mjs","prepublishOnly":"npm test"},"_npmUser":{"name":"test-lab.ai","email":"adrian.neatu@test-lab.ai"},"_npmVersion":"10.9.8","description":"Import existing test plans into test-lab.ai from the command line (or an AI agent).","directories":{},"_nodeVersion":"22.22.3","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/cli_0.1.0_1780949344663_0.03817455589485008","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@test-lab-ai/cli","version":"0.2.0","keywords":["test-lab","test-lab.ai","testing","qa","e2e","cli"],"license":"MIT","_id":"@test-lab-ai/cli@0.2.0","maintainers":[{"name":"test-lab.ai","email":"adrian.neatu@test-lab.ai"}],"homepage":"https://test-lab.ai","bin":{"testlab":"bin/testlab.mjs"},"dist":{"shasum":"5033436fe869669469e0197a62df18f932b14ca9","tarball":"https://registry.npmjs.org/@test-lab-ai/cli/-/cli-0.2.0.tgz","fileCount":14,"integrity":"sha512-nnRxXxd+m7iXF7peO9BfFA7s/gwSHvR9/ECCR0+U/t2SOnQcsEaVjq09jvzZBjg8/eaHP50ogJf94IrSYrhABQ==","signatures":[{"sig":"MEYCIQDfTxneiouy/JW5gODfB8Zb7IYA6m+L0e8LjsrUU/qB6AIhAMRLhOIjR5kp9p09dd5yGdbGFEsRvAyo4ytEjBZp4gfA","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":47487},"type":"module","engines":{"node":">=18"},"gitHead":"d7e9dc2d7b1daacdcc549f8372568f7b14560a6e","scripts":{"test":"node test/toposort.test.mjs","prepublishOnly":"npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f95f72b7-faac-4e32-93ac-cc25e15d94d5"}},"_npmVersion":"11.16.0","description":"Import existing test plans into test-lab.ai from the command line (or an AI agent).","directories":{},"_nodeVersion":"22.22.3","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/cli_0.2.0_1780951615027_0.716210682827332","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@test-lab-ai/cli","version":"0.2.1","keywords":["test-lab","test-lab.ai","testing","qa","e2e","cli"],"license":"MIT","_id":"@test-lab-ai/cli@0.2.1","maintainers":[{"name":"test-lab.ai","email":"adrian.neatu@test-lab.ai"}],"homepage":"https://test-lab.ai","bin":{"testlab":"bin/testlab.mjs"},"dist":{"shasum":"da6e3a2ec8f6ecf9223d9a92584518fcaabaa18f","tarball":"https://registry.npmjs.org/@test-lab-ai/cli/-/cli-0.2.1.tgz","fileCount":14,"integrity":"sha512-tWU4dOHRGlwpDb9EXyO0cYV1fryc+Sik2Y21G61JUmz3qu6bDjad6fOkV9Tctsa08pY/8Wztvkmow8iG1HlVcw==","signatures":[{"sig":"MEYCIQCbL4F2tcds3nwVruH4inylHiA/suZzZOYRsYPdtXldWwIhANdCoSnXmDFEir4JTmJzvJucA9tDUGWFMzikAXTZ5MQd","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":47245},"type":"module","engines":{"node":">=18"},"gitHead":"b8d11287bfc2de525beabe884a3e126933a67ade","scripts":{"test":"node test/toposort.test.mjs","prepublishOnly":"npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f95f72b7-faac-4e32-93ac-cc25e15d94d5"}},"_npmVersion":"11.16.0","description":"Import existing test plans into test-lab.ai from the command line (or an AI agent).","directories":{},"_nodeVersion":"22.22.3","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/cli_0.2.1_1780952420627_0.017906463557833208","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"@test-lab-ai/cli","version":"0.2.2","keywords":["test-lab","test-lab.ai","testing","qa","e2e","cli"],"license":"MIT","_id":"@test-lab-ai/cli@0.2.2","maintainers":[{"name":"test-lab.ai","email":"adrian.neatu@test-lab.ai"}],"homepage":"https://test-lab.ai","bin":{"testlab":"bin/testlab.mjs"},"dist":{"shasum":"1356200c947d5d738dab4b4b9cca33bcfeac1cc9","tarball":"https://registry.npmjs.org/@test-lab-ai/cli/-/cli-0.2.2.tgz","fileCount":15,"integrity":"sha512-EDMnIr99kLfUlmCaDSAw9h6y8Nz3+RV1NGHTn2OxPtw8aNS2mXsYrN4vDJzt36lXZGbXP2DFjbMcQtsHlpS+fg==","signatures":[{"sig":"MEUCIQDxK6Gp/j2S6zBdTGaUErW5cg3R5qtC0br7+m0w0Abh1AIgW3+acsL6Rpah5kyzlmOHG1+WZJSUecNvVrot0+ZkfZs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":51367},"type":"module","engines":{"node":">=18"},"gitHead":"20d3cc0e2b23071741c389d53d4b8cc61ebc4c5e","scripts":{"test":"node test/toposort.test.mjs","prepublishOnly":"npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f95f72b7-faac-4e32-93ac-cc25e15d94d5"}},"_npmVersion":"11.16.0","description":"Import existing test plans into test-lab.ai from the command line (or an AI agent).","directories":{},"_nodeVersion":"22.22.3","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/cli_0.2.2_1780955064649_0.2665869777033676","host":"s3://npm-registry-packages-npm-production"}},"0.2.5":{"name":"@test-lab-ai/cli","version":"0.2.5","keywords":["test-lab","test-lab.ai","testing","qa","e2e","cli"],"license":"MIT","_id":"@test-lab-ai/cli@0.2.5","maintainers":[{"name":"test-lab.ai","email":"adrian.neatu@test-lab.ai"}],"homepage":"https://test-lab.ai","bin":{"testlab":"bin/testlab.mjs"},"dist":{"shasum":"c51ee07dc79f646f927d03e6bfa85189bf0725c3","tarball":"https://registry.npmjs.org/@test-lab-ai/cli/-/cli-0.2.5.tgz","fileCount":16,"integrity":"sha512-prk1Wj+K62au4tV8jDodqZmEI1QGS3zDpqcQW96GK4zPzfwCv/WAMQEeeReCrUsUgF0tCnsn7gKkSdHakk7+yA==","signatures":[{"sig":"MEQCIE7XVPR0bQ+LYISMU0K0gCbn0FmVqfR4DAfwTuyZ6BPDAiBuXNuVewwqnuYo5QjTuKLmMbUyLNWPxh3uyBgoif1S0Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":60953},"type":"module","engines":{"node":">=18"},"gitHead":"fb42a4f9fb4ef1a6d55e3fe3f736d20d29bd90c3","scripts":{"test":"node test/toposort.test.mjs","prepublishOnly":"npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f95f72b7-faac-4e32-93ac-cc25e15d94d5"}},"_npmVersion":"11.16.0","description":"Import existing test plans into test-lab.ai from the command line (or an AI agent).","directories":{},"_nodeVersion":"22.22.3","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/cli_0.2.5_1781013929621_0.24586028090035472","host":"s3://npm-registry-packages-npm-production"}},"0.2.6":{"name":"@test-lab-ai/cli","version":"0.2.6","keywords":["test-lab","test-lab.ai","testing","qa","e2e","cli"],"license":"MIT","_id":"@test-lab-ai/cli@0.2.6","maintainers":[{"name":"test-lab.ai","email":"adrian.neatu@test-lab.ai"}],"homepage":"https://test-lab.ai","bin":{"testlab":"bin/testlab.mjs"},"dist":{"shasum":"89f5d7e2e1d7464472c4c97054ed3916ad6477a9","tarball":"https://registry.npmjs.org/@test-lab-ai/cli/-/cli-0.2.6.tgz","fileCount":16,"integrity":"sha512-/dzBWw7DeOg5h7/HSCRki+1dITFa7+PW1SInUf+ajXDmfB8RNeHM+STs2QKmYyn6vJ0LHndOJQKeBVBOU7b/fA==","signatures":[{"sig":"MEUCIQCnxFJ9JYxHcOHCF+O17Vptr3y3IoGdVO6CkkinHE5TdAIgBnbbHNnYHOWSdHIiYgbvxv1qsqoTelwpputim1WLlLY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":61172},"type":"module","engines":{"node":">=18"},"gitHead":"96e48896abc0d06284db3dd35279f2956118cc63","scripts":{"test":"node test/toposort.test.mjs","prepublishOnly":"npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f95f72b7-faac-4e32-93ac-cc25e15d94d5"}},"_npmVersion":"11.16.0","description":"Import existing test plans into test-lab.ai from the command line (or an AI agent).","directories":{},"_nodeVersion":"22.22.3","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/cli_0.2.6_1781014301207_0.8736430042218943","host":"s3://npm-registry-packages-npm-production"}},"0.2.7":{"name":"@test-lab-ai/cli","version":"0.2.7","keywords":["test-lab","test-lab.ai","testing","qa","e2e","cli"],"license":"MIT","_id":"@test-lab-ai/cli@0.2.7","maintainers":[{"name":"test-lab.ai","email":"adrian.neatu@test-lab.ai"}],"homepage":"https://test-lab.ai","bin":{"testlab":"bin/testlab.mjs"},"dist":{"shasum":"5e11ab2058900e13ab59fb7d5cb5e09f2c6677cb","tarball":"https://registry.npmjs.org/@test-lab-ai/cli/-/cli-0.2.7.tgz","fileCount":16,"integrity":"sha512-ChUqG5csb4W95nYt4W00AIth9ZGpF8RurXhaRikxKVrdSgWYgDut5TvFZWhPjiBEiRcUnwFbqcJDJj/4ORnXDw==","signatures":[{"sig":"MEUCIBcAq5+nw4rgCuH7Tq1c4WV4V8Wc00xy7lQGxAhX8iFgAiEArIkfN94HfYeLFDIEzTjAPdH+95f9exdcX8t6wZBQOUM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":64701},"type":"module","engines":{"node":">=18"},"gitHead":"d558d9b479a0467a3dc9a189cd62d6a7105db5ef","scripts":{"test":"node test/toposort.test.mjs","prepublishOnly":"npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f95f72b7-faac-4e32-93ac-cc25e15d94d5"}},"_npmVersion":"11.16.0","description":"Import existing test plans into test-lab.ai from the command line (or an AI agent).","directories":{},"_nodeVersion":"22.22.3","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/cli_0.2.7_1781018160441_0.7379571367958631","host":"s3://npm-registry-packages-npm-production"}},"0.2.8":{"name":"@test-lab-ai/cli","version":"0.2.8","keywords":["test-lab","test-lab.ai","testing","qa","e2e","cli"],"license":"MIT","_id":"@test-lab-ai/cli@0.2.8","maintainers":[{"name":"test-lab.ai","email":"adrian.neatu@test-lab.ai"}],"homepage":"https://test-lab.ai","bin":{"testlab":"bin/testlab.mjs"},"dist":{"shasum":"0c385f0ee03226a2a73f9e9e6efc11f350c4fb43","tarball":"https://registry.npmjs.org/@test-lab-ai/cli/-/cli-0.2.8.tgz","fileCount":16,"integrity":"sha512-nDLu3mO1WfE51MyWjlvV9T6wrqouhoLI6Qkt9kTuBJxNdSqQ0Nfg5GWtEb0lGGHdvNjrErhZPRZcrDdXWSLovg==","signatures":[{"sig":"MEYCIQCV8upEJg6aIkt6kkqncdS+UW5ild0xRUn5ZMnyxXJoxAIhANss8SsTeZKdlpyXSaESg1D6ndWp+VxZrtJWHDDu/kzk","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":67980},"type":"module","engines":{"node":">=18"},"gitHead":"b3585695d76ff65f2ef7c8bd0b309f39e8fa317f","scripts":{"test":"node test/toposort.test.mjs","prepublishOnly":"npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f95f72b7-faac-4e32-93ac-cc25e15d94d5"}},"_npmVersion":"11.16.0","description":"Import existing test plans into test-lab.ai from the command line (or an AI agent).","directories":{},"_nodeVersion":"22.22.3","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/cli_0.2.8_1781019609630_0.7444965658210569","host":"s3://npm-registry-packages-npm-production"}},"0.2.9":{"name":"@test-lab-ai/cli","version":"0.2.9","keywords":["test-lab","test-lab.ai","testing","qa","e2e","cli"],"license":"MIT","_id":"@test-lab-ai/cli@0.2.9","maintainers":[{"name":"test-lab.ai","email":"adrian.neatu@test-lab.ai"}],"homepage":"https://test-lab.ai","bin":{"testlab":"bin/testlab.mjs"},"dist":{"shasum":"60e5d925e23880377e181364e1fdf9ecdfb0202d","tarball":"https://registry.npmjs.org/@test-lab-ai/cli/-/cli-0.2.9.tgz","fileCount":24,"integrity":"sha512-Sgjm5TOfzfEzclJE8qxv0hgLWYj57zL/hy8VNn6Hnr1t6UimuUjjOMJguv3jjkGevOS6rnESjEQoUut0A+l6Xg==","signatures":[{"sig":"MEUCIQD1T8yaP7zvJV5Sq3diGLBQotVEdwyH6PsO5Hb9lm095wIgbXJDZyTBVKzBfblhAoxbD2TXE+ljNA3yNtuEhOMVHtA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":117215},"type":"module","engines":{"node":">=18"},"gitHead":"93aa4ae0a80f64ce91a67c91c897f1de16e56432","scripts":{"test":"node test/toposort.test.mjs","prepublishOnly":"node scripts/bundle-skill.mjs && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f95f72b7-faac-4e32-93ac-cc25e15d94d5"}},"_npmVersion":"11.16.0","description":"Import existing test plans into test-lab.ai from the command line (or an AI agent).","directories":{},"_nodeVersion":"22.22.3","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/cli_0.2.9_1781023114761_0.0145700727402589","host":"s3://npm-registry-packages-npm-production"}},"0.2.10":{"name":"@test-lab-ai/cli","version":"0.2.10","keywords":["test-lab","test-lab.ai","testing","qa","e2e","cli"],"license":"MIT","_id":"@test-lab-ai/cli@0.2.10","maintainers":[{"name":"test-lab.ai","email":"adrian.neatu@test-lab.ai"}],"homepage":"https://test-lab.ai","bin":{"testlab":"bin/testlab.mjs"},"dist":{"shasum":"a9c31e049dd23963acf6a05bc194aa0ab6f74626","tarball":"https://registry.npmjs.org/@test-lab-ai/cli/-/cli-0.2.10.tgz","fileCount":24,"integrity":"sha512-azTeyiG4M1R1JExi8480RVecnhGiBuFB4CYOe+CvwWAZ6Mr3qykAeLtvlJlthtJeWKGgFbJ0LHr9t6hh3l083Q==","signatures":[{"sig":"MEYCIQCjJqp2b6Vb1jvdY1SqCeFLEDMXmqM6CcFv2x3AUgamfwIhAIdYwqvHp42bI1HwrhiH9d/ZikXgbAdpJRw/fsiHIJ+H","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":117806},"type":"module","engines":{"node":">=18"},"gitHead":"8052c96d031ef21657c65a91f64aa856e836c299","scripts":{"test":"node test/toposort.test.mjs","prepublishOnly":"node scripts/bundle-skill.mjs && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f95f72b7-faac-4e32-93ac-cc25e15d94d5"}},"_npmVersion":"11.16.0","description":"Import existing test plans into test-lab.ai from the command line (or an AI agent).","directories":{},"_nodeVersion":"22.22.3","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/cli_0.2.10_1781023898663_0.7237103567060434","host":"s3://npm-registry-packages-npm-production"}},"0.2.11":{"name":"@test-lab-ai/cli","version":"0.2.11","keywords":["test-lab","test-lab.ai","testing","qa","e2e","cli"],"license":"MIT","_id":"@test-lab-ai/cli@0.2.11","maintainers":[{"name":"test-lab.ai","email":"adrian.neatu@test-lab.ai"}],"homepage":"https://test-lab.ai","bin":{"testlab":"bin/testlab.mjs"},"dist":{"shasum":"e414c3d9f01363f7b2deca1a08222fe78aa16b05","tarball":"https://registry.npmjs.org/@test-lab-ai/cli/-/cli-0.2.11.tgz","fileCount":24,"integrity":"sha512-szBn8vHPme5M/GPgmmPCw51+iGKIAiys9u2gQYOhTpx+iM3KuS9uhe3OJm8wuxnvBtfpIwp44+QoNUe/m45y8Q==","signatures":[{"sig":"MEQCIC4eXnh+uPOQYUsrAeys3ogTPWQb+C0EhHbZ/ffbl/03AiAMdRzwFzSLFlPWU+O9M1VMdTBsLfkSfXoQmG0ax9+lbQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":117694},"type":"module","engines":{"node":">=18"},"gitHead":"071087f05c68399df53da79e63c7455bb2257fb6","scripts":{"test":"node test/toposort.test.mjs","prepublishOnly":"node scripts/bundle-skill.mjs && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f95f72b7-faac-4e32-93ac-cc25e15d94d5"}},"_npmVersion":"11.16.0","description":"Import existing test plans into test-lab.ai from the command line (or an AI agent).","directories":{},"_nodeVersion":"22.22.3","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/cli_0.2.11_1781025814225_0.5283121050391884","host":"s3://npm-registry-packages-npm-production"}},"0.2.12":{"name":"@test-lab-ai/cli","version":"0.2.12","keywords":["test-lab","test-lab.ai","testing","qa","e2e","cli"],"license":"MIT","_id":"@test-lab-ai/cli@0.2.12","maintainers":[{"name":"test-lab.ai","email":"adrian.neatu@test-lab.ai"}],"homepage":"https://test-lab.ai","bin":{"testlab":"bin/testlab.mjs"},"dist":{"shasum":"90a67bbf5758faa885e39b5f29740a05534ffd4c","tarball":"https://registry.npmjs.org/@test-lab-ai/cli/-/cli-0.2.12.tgz","fileCount":26,"integrity":"sha512-WApApWrc3+ZckpyolTmg04ZWdaIY8481XK7qDKygIc/LqTiGu44PbyQbx7N0Eg7WHX6CkXMixsZgMwn8+dQhUA==","signatures":[{"sig":"MEUCIDnE+ZVAOakYwheh9aj55S+7aMdE2khApd1hzeOeO+YhAiEA/jW+pOCxHJM/kDW4jVmK2nrb8vKHWans3wZDnXs+d+w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":140505},"type":"module","engines":{"node":">=18"},"gitHead":"5d27ba0c86efa594a0912ecfae441270b009fd9e","scripts":{"test":"node test/toposort.test.mjs","prepublishOnly":"node scripts/bundle-skill.mjs && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f95f72b7-faac-4e32-93ac-cc25e15d94d5"}},"_npmVersion":"11.17.0","description":"Import existing test plans into test-lab.ai from the command line (or an AI agent).","directories":{},"_nodeVersion":"22.22.3","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/cli_0.2.12_1781520719164_0.2689958102027339","host":"s3://npm-registry-packages-npm-production"}},"0.2.13":{"name":"@test-lab-ai/cli","version":"0.2.13","keywords":["test-lab","test-lab.ai","testing","qa","e2e","cli"],"license":"MIT","_id":"@test-lab-ai/cli@0.2.13","maintainers":[{"name":"test-lab.ai","email":"adrian.neatu@test-lab.ai"}],"homepage":"https://test-lab.ai","bin":{"testlab":"bin/testlab.mjs"},"dist":{"shasum":"0629483e306b6e754e27fd2c748b883449b7976b","tarball":"https://registry.npmjs.org/@test-lab-ai/cli/-/cli-0.2.13.tgz","fileCount":26,"integrity":"sha512-mI8UU13XBIxBw74LEvH8D1ue7MO9FtA4SXgzIBPEj22kmaqOpqqiojRgMWwMswU6IXC+Vp54SfvTK3h6OC/Ckg==","signatures":[{"sig":"MEYCIQCwSR2GlP+FlWhDclK5owqfOYQNwznfuRr1OEYzPiDzuAIhAJYLkOjwt9Q8aierVUGK/kRfsEHNhmJ3RZQ8mTO6x46H","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":142648},"type":"module","engines":{"node":">=18"},"gitHead":"5971cb828f9ecbff27e8e87b61218e4b526044d4","scripts":{"test":"node test/toposort.test.mjs","prepublishOnly":"node scripts/bundle-skill.mjs && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f95f72b7-faac-4e32-93ac-cc25e15d94d5"}},"_npmVersion":"11.17.0","description":"Import existing test plans into test-lab.ai from the command line (or an AI agent).","directories":{},"_nodeVersion":"22.22.3","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/cli_0.2.13_1781521584555_0.7580470611872983","host":"s3://npm-registry-packages-npm-production"}},"0.2.14":{"name":"@test-lab-ai/cli","version":"0.2.14","keywords":["test-lab","test-lab.ai","testing","qa","e2e","cli"],"license":"MIT","_id":"@test-lab-ai/cli@0.2.14","maintainers":[{"name":"test-lab.ai","email":"adrian.neatu@test-lab.ai"}],"homepage":"https://test-lab.ai","bin":{"testlab":"bin/testlab.mjs"},"dist":{"shasum":"6b4f48352e6326f55c479989893d0ad3bd0a8885","tarball":"https://registry.npmjs.org/@test-lab-ai/cli/-/cli-0.2.14.tgz","fileCount":26,"integrity":"sha512-vtz7YPmTANnxGraqWypxEPTq8TRxSWbnkGajEwxHdgjHAzO9qtZb9nu3t6c9OFn1aD92CIhiIKJv1/zYCuT3CA==","signatures":[{"sig":"MEUCIQC8zH+eE31XlYL9fvTnKfI+/vFSYtk5DMyBFtxn/B11mgIgW4nOoLNvctdzehe0p9nnpgOQmJ8jUYbT+x10tD9HXUU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":149931},"type":"module","engines":{"node":">=18"},"gitHead":"fd781cbc27d130dc6e911f7a54ca58e1a0f4bd7a","scripts":{"test":"node test/toposort.test.mjs","prepublishOnly":"node scripts/bundle-skill.mjs && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f95f72b7-faac-4e32-93ac-cc25e15d94d5"}},"_npmVersion":"11.17.0","description":"Import existing test plans into test-lab.ai from the command line (or an AI agent).","directories":{},"_nodeVersion":"22.22.3","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/cli_0.2.14_1781615327993_0.3590098189603852","host":"s3://npm-registry-packages-npm-production"}},"0.2.15":{"name":"@test-lab-ai/cli","version":"0.2.15","keywords":["test-lab","test-lab.ai","testing","qa","e2e","cli"],"license":"MIT","_id":"@test-lab-ai/cli@0.2.15","maintainers":[{"name":"test-lab.ai","email":"adrian.neatu@test-lab.ai"}],"homepage":"https://test-lab.ai","bin":{"testlab":"bin/testlab.mjs"},"dist":{"shasum":"73782b5132f78636213716eeff1d899baf154719","tarball":"https://registry.npmjs.org/@test-lab-ai/cli/-/cli-0.2.15.tgz","fileCount":26,"integrity":"sha512-BdnRZ1N5AOz31V6S/kfc97yfD+eUS8geJXPnDsq49vKKSsvpXjbs7+6Q9hCrZo0s3O7XWwLlR67HwIWST4Yn/A==","signatures":[{"sig":"MEQCIF+haCkUN0jS4J0tlQysIgewVCGuvmEpPyoluQ95j9M2AiBQVD3WY+aJBaBjig46YWTaxRbudw7mIy5nbg83EUjpYQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":149756},"type":"module","engines":{"node":">=18"},"gitHead":"53ce93bd2fbb8d1373564557a30336a59a33e8f1","scripts":{"test":"node test/toposort.test.mjs","prepublishOnly":"node scripts/bundle-skill.mjs && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f95f72b7-faac-4e32-93ac-cc25e15d94d5"}},"_npmVersion":"11.17.0","description":"Import existing test plans into test-lab.ai from the command line (or an AI agent).","directories":{},"_nodeVersion":"22.22.3","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/cli_0.2.15_1781627927635_0.802556679755358","host":"s3://npm-registry-packages-npm-production"}},"0.2.16":{"name":"@test-lab-ai/cli","version":"0.2.16","keywords":["test-lab","test-lab.ai","testing","qa","e2e","cli"],"license":"MIT","_id":"@test-lab-ai/cli@0.2.16","maintainers":[{"name":"test-lab.ai","email":"adrian.neatu@test-lab.ai"}],"homepage":"https://test-lab.ai","bin":{"testlab":"bin/testlab.mjs"},"dist":{"shasum":"3e083e86209ff12adddf382155488e41333827f4","tarball":"https://registry.npmjs.org/@test-lab-ai/cli/-/cli-0.2.16.tgz","fileCount":26,"integrity":"sha512-UV5NMopYU5OMhnUVKNEPMM5vQDEcZNi+6KlvqFkvENX9I0biKXVqh7SE7yn0BR43MeSxRzYo0iJfzUaMc72QrQ==","signatures":[{"sig":"MEYCIQC9+CQpaIc3eo6oUKwinSl6pNEASJq9AgC7EFi6Tvdt9gIhAM5Njt4AYjGCDyPK9uZoAy2P1Ai6RVU2vxSCFFLQkmFj","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":150370},"type":"module","engines":{"node":">=18"},"gitHead":"d17372ae46c1bbc861b267b347596998fadcc37f","scripts":{"test":"node test/toposort.test.mjs","prepublishOnly":"node scripts/bundle-skill.mjs && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f95f72b7-faac-4e32-93ac-cc25e15d94d5"}},"_npmVersion":"11.17.0","description":"Import existing test plans into test-lab.ai from the command line (or an AI agent).","directories":{},"_nodeVersion":"22.22.3","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/cli_0.2.16_1781690903155_0.75650746862112","host":"s3://npm-registry-packages-npm-production"}},"0.2.17":{"name":"@test-lab-ai/cli","version":"0.2.17","keywords":["test-lab","test-lab.ai","testing","qa","e2e","cli"],"license":"MIT","_id":"@test-lab-ai/cli@0.2.17","maintainers":[{"name":"test-lab.ai","email":"adrian.neatu@test-lab.ai"}],"homepage":"https://test-lab.ai","bin":{"testlab":"bin/testlab.mjs"},"dist":{"shasum":"48cc5294e5e001d7a45aa365b0a2688113fb96e8","tarball":"https://registry.npmjs.org/@test-lab-ai/cli/-/cli-0.2.17.tgz","fileCount":26,"integrity":"sha512-z/3q3+dGPl6yVCN6Ns5+ZOS7rtFJMAA6Azsg5asJMNjXDv605Hdlo+J/SbjaXjzFlpNzFM39r7jLKX6WoMZjrA==","signatures":[{"sig":"MEUCIQCniFo5f7bM2AuaQN+om0c8oX+Q3rime4DFRTP7NjjCvwIgaSMu/ZO+BmsCtg+713YkjzbKiRZQgWHdz8DBc1NGPok=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":151994},"type":"module","engines":{"node":">=18"},"gitHead":"554790ccf155b9a8d2b6b5013d5a55fcb78dd7c2","scripts":{"test":"node test/toposort.test.mjs","prepublishOnly":"node scripts/bundle-skill.mjs && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f95f72b7-faac-4e32-93ac-cc25e15d94d5"}},"_npmVersion":"11.17.0","description":"Import existing test plans into test-lab.ai from the command line (or an AI agent).","directories":{},"_nodeVersion":"22.22.3","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/cli_0.2.17_1781695605685_0.9072263622993235","host":"s3://npm-registry-packages-npm-production"}},"0.2.18":{"name":"@test-lab-ai/cli","version":"0.2.18","keywords":["test-lab","test-lab.ai","testing","qa","e2e","cli"],"license":"MIT","_id":"@test-lab-ai/cli@0.2.18","maintainers":[{"name":"test-lab.ai","email":"adrian.neatu@test-lab.ai"}],"homepage":"https://test-lab.ai","bin":{"testlab":"bin/testlab.mjs"},"dist":{"shasum":"a5f910aef954657c1104cef2cfe304da94689c97","tarball":"https://registry.npmjs.org/@test-lab-ai/cli/-/cli-0.2.18.tgz","fileCount":26,"integrity":"sha512-Xd/0bxFXrYuI+uOQ2MYhRjBkbPybL3YjVc+2JoJRY3g+9+3LSSuC9zxXi6EFb3ET03X2UQhWBTuYS4nApPFQ7Q==","signatures":[{"sig":"MEYCIQCuA4iY3xAinuj5fwf9kM6m9FgoQNTeI3mCqLo2ErRUewIhAJZDOb1oU2ZM8DDbalDPijlnuLLgIZyxmW5H4AvJ/pTa","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":153130},"type":"module","engines":{"node":">=18"},"gitHead":"efc5b602390c99788c8956d1dc2a61cb15401bd6","scripts":{"test":"node test/toposort.test.mjs && node test/api-useragent.test.mjs","prepublishOnly":"node scripts/bundle-skill.mjs && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f95f72b7-faac-4e32-93ac-cc25e15d94d5"}},"_npmVersion":"11.17.0","description":"Import existing test plans into test-lab.ai from the command line (or an AI agent).","directories":{},"_nodeVersion":"22.22.3","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/cli_0.2.18_1782358244530_0.21076837595164433","host":"s3://npm-registry-packages-npm-production"}},"0.2.19":{"name":"@test-lab-ai/cli","version":"0.2.19","keywords":["test-lab","test-lab.ai","testing","qa","e2e","cli"],"license":"MIT","_id":"@test-lab-ai/cli@0.2.19","maintainers":[{"name":"test-lab.ai","email":"adrian.neatu@test-lab.ai"}],"homepage":"https://test-lab.ai","bin":{"testlab":"bin/testlab.mjs"},"dist":{"shasum":"6795ff4ab572e42f9a5080a115840391d1ec708b","tarball":"https://registry.npmjs.org/@test-lab-ai/cli/-/cli-0.2.19.tgz","fileCount":26,"integrity":"sha512-ga4EIb5c6r98q2hbbXCWmcX/8jJoKQPbeAct05Kwqz7UcVeWCInryG446QslB40FUQWqIIQAmOqzRSl6uxnwqQ==","signatures":[{"sig":"MEUCIFOdr3Q94MPa0F/99FhsH0YUGuuv2hO78WHXbxACcsO9AiEAq3wKUiSKS56wXHld5+iBooQ3Tv2FTru8eV1JhHj2kvs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":153927},"type":"module","engines":{"node":">=18"},"gitHead":"6b1df644e449f75ee0235c1b41e82083a51f5e2f","scripts":{"test":"node test/toposort.test.mjs && node test/api-useragent.test.mjs","prepublishOnly":"node scripts/bundle-skill.mjs && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f95f72b7-faac-4e32-93ac-cc25e15d94d5"}},"_npmVersion":"11.17.0","description":"Import existing test plans into test-lab.ai from the command line (or an AI agent).","directories":{},"_nodeVersion":"22.22.3","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/cli_0.2.19_1782373574394_0.2428322861684895","host":"s3://npm-registry-packages-npm-production"}},"0.2.20":{"name":"@test-lab-ai/cli","version":"0.2.20","keywords":["test-lab","test-lab.ai","testing","qa","e2e","cli"],"license":"MIT","_id":"@test-lab-ai/cli@0.2.20","maintainers":[{"name":"test-lab.ai","email":"adrian.neatu@test-lab.ai"}],"homepage":"https://test-lab.ai","bin":{"testlab":"bin/testlab.mjs"},"dist":{"shasum":"8e9495f1d61dce6a4a7c3b9d1af65ec78dfbe737","tarball":"https://registry.npmjs.org/@test-lab-ai/cli/-/cli-0.2.20.tgz","fileCount":26,"integrity":"sha512-t0lOAy0lqTWAoTt5dbIYacvlfBef9yb10J73gjpzwdTJyupPEiP44hDaVJ7YVksQiYNnqnwR3pag6k8bHqXgLg==","signatures":[{"sig":"MEYCIQDD4IZyui0iVd5Q6u3ijfG6yYZo4S8Rro2AC0CRRMSf7AIhALxLPgE0hXJ2ByhmkDDucud9cLRdQTN2FEqdepJ3VuA7","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":156329},"type":"module","engines":{"node":">=18"},"gitHead":"9148978860e101b87e1326b0be3aba739f2144ba","scripts":{"test":"node test/toposort.test.mjs && node test/api-useragent.test.mjs","prepublishOnly":"node scripts/bundle-skill.mjs && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f95f72b7-faac-4e32-93ac-cc25e15d94d5"}},"_npmVersion":"11.17.0","description":"Import existing test plans into test-lab.ai from the command line (or an AI agent).","directories":{},"_nodeVersion":"22.23.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/cli_0.2.20_1782461549827_0.4188828085567662","host":"s3://npm-registry-packages-npm-production"}},"0.2.21":{"name":"@test-lab-ai/cli","version":"0.2.21","keywords":["test-lab","test-lab.ai","testing","qa","e2e","cli"],"license":"MIT","_id":"@test-lab-ai/cli@0.2.21","maintainers":[{"name":"test-lab.ai","email":"adrian.neatu@test-lab.ai"}],"homepage":"https://test-lab.ai","bin":{"testlab":"bin/testlab.mjs"},"dist":{"shasum":"293cbb4d29aada06de97c7a3720591e10a02ae4e","tarball":"https://registry.npmjs.org/@test-lab-ai/cli/-/cli-0.2.21.tgz","fileCount":26,"integrity":"sha512-jcSdOiwfQXCDp9A+wCXkgLkjE/c4duwi1jiiIuCZlQ5o9/eJocTKwgQ1c1pDy12Dxo2yDa5PKURjf/iAu89Y9Q==","signatures":[{"sig":"MEUCIQDF+NshHyFs7W37m4p96uY1BTv05mAIVH4SIQOVsWkKvAIgWwqJuF0BfowXRd54PUQRAm54OqY72gBIUgavGajmzHE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":156853},"type":"module","engines":{"node":">=18"},"gitHead":"3ea47032408f928ef9f96faf2092a2b3a5e2746d","scripts":{"test":"node test/toposort.test.mjs && node test/api-useragent.test.mjs","prepublishOnly":"node scripts/bundle-skill.mjs && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f95f72b7-faac-4e32-93ac-cc25e15d94d5"}},"_npmVersion":"11.17.0","description":"Import existing test plans into test-lab.ai from the command line (or an AI agent).","directories":{},"_nodeVersion":"22.23.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/cli_0.2.21_1782683936978_0.8033947032656699","host":"s3://npm-registry-packages-npm-production"}},"0.2.22":{"name":"@test-lab-ai/cli","version":"0.2.22","keywords":["test-lab","test-lab.ai","testing","qa","e2e","cli"],"license":"MIT","_id":"@test-lab-ai/cli@0.2.22","maintainers":[{"name":"test-lab.ai","email":"adrian.neatu@test-lab.ai"}],"homepage":"https://test-lab.ai","bin":{"testlab":"bin/testlab.mjs"},"dist":{"shasum":"7ac782c0bfbbd0f2be8252ab16e4a85641b3c05c","tarball":"https://registry.npmjs.org/@test-lab-ai/cli/-/cli-0.2.22.tgz","fileCount":26,"integrity":"sha512-qI6iQx9OhsLpt/QdA1JRlyl92uHi3kigrJEnIz2vDm1Ng43PqUUsQcq3Al2p4MJ946eWSQ8VKZblz/a7YA1/wA==","signatures":[{"sig":"MEQCIGCZ3Xb6dLct1VdQEjVAeXJyZiWIW5ONN8iwi0Q3wYTjAiA4PYATmHzp2rcyLAvJAEBTnw85Iro3RJ7xw94O1TgFNQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":162007},"type":"module","engines":{"node":">=18"},"gitHead":"54f8c83a73e6ea3119d910d70cea068805fbe6f7","scripts":{"test":"node test/toposort.test.mjs && node test/api-useragent.test.mjs","prepublishOnly":"node scripts/bundle-skill.mjs && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f95f72b7-faac-4e32-93ac-cc25e15d94d5"}},"_npmVersion":"11.18.0","description":"Import existing test plans into test-lab.ai from the command line (or an AI agent).","directories":{},"_nodeVersion":"22.23.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/cli_0.2.22_1783335268860_0.8517090118510127","host":"s3://npm-registry-packages-npm-production"}},"0.2.24":{"name":"@test-lab-ai/cli","version":"0.2.24","keywords":["test-lab","test-lab.ai","testing","qa","e2e","cli"],"license":"MIT","_id":"@test-lab-ai/cli@0.2.24","maintainers":[{"name":"test-lab.ai","email":"adrian.neatu@test-lab.ai"}],"homepage":"https://test-lab.ai","bin":{"testlab":"bin/testlab.mjs"},"dist":{"shasum":"b19b678e65592d3f652fadca91c9d1895cd7f33f","tarball":"https://registry.npmjs.org/@test-lab-ai/cli/-/cli-0.2.24.tgz","fileCount":26,"integrity":"sha512-wDdOX7dlMhzd2+rhEcdMC7PBtTcNPy0MDqTkt93F3qSiC2P3j2Hi7bUwrdLIDkaPTzDbxqPbsFR8F++jzi+iMg==","signatures":[{"sig":"MEUCIDiFMy4HtHS8/YT47evLylboyQpiRsSSLb9j6rhl0IpjAiEAkPVpDEdrf600dE5EKT1FLFRgH1HFtTTLE9X2M8xZ5ZY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":170324},"type":"module","engines":{"node":">=18"},"gitHead":"4c43682179f75a390f0892554275223b214a4ea9","scripts":{"test":"node test/toposort.test.mjs && node test/api-useragent.test.mjs","prepublishOnly":"node scripts/bundle-skill.mjs && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f95f72b7-faac-4e32-93ac-cc25e15d94d5"}},"_npmVersion":"11.18.0","description":"Import existing test plans into test-lab.ai from the command line (or an AI agent).","directories":{},"_nodeVersion":"22.23.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/cli_0.2.24_1783498922060_0.8661332459401454","host":"s3://npm-registry-packages-npm-production"}},"0.2.26":{"name":"@test-lab-ai/cli","version":"0.2.26","keywords":["test-lab","test-lab.ai","testing","qa","e2e","cli"],"license":"MIT","_id":"@test-lab-ai/cli@0.2.26","maintainers":[{"name":"test-lab.ai","email":"adrian.neatu@test-lab.ai"}],"homepage":"https://test-lab.ai","bin":{"testlab":"bin/testlab.mjs"},"dist":{"shasum":"fbe5889dd975d701ba224f0867ce5fe3dc5ca77d","tarball":"https://registry.npmjs.org/@test-lab-ai/cli/-/cli-0.2.26.tgz","fileCount":26,"integrity":"sha512-KDzta6c3QXk5FfFsPv1yNaSEP6ZPLKkjkUV59+6wEdM2JZL4D1rkZXjBH0YwDYyLNmJrBToWrjn0mARLLvbuOg==","signatures":[{"sig":"MEQCICi/c33HpLCjAFfVE7abQ1+kNeAcWuWhLInoDp9QwiOOAiBDogrVcTOOyL2D/mS5vVnyV/XvXCz9QZTevdux9oi3WQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":171092},"type":"module","engines":{"node":">=18"},"gitHead":"7f8ccfbb86a3330b88aabd82b63a36e7a577ac4a","scripts":{"test":"node test/toposort.test.mjs && node test/api-useragent.test.mjs","prepublishOnly":"node scripts/bundle-skill.mjs && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f95f72b7-faac-4e32-93ac-cc25e15d94d5"}},"_npmVersion":"11.16.0","description":"Import existing test plans into test-lab.ai from the command line (or an AI agent).","directories":{},"_nodeVersion":"24.18.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/cli_0.2.26_1783676684791_0.34163279285703574","host":"s3://npm-registry-packages-npm-production"}},"0.2.27":{"name":"@test-lab-ai/cli","version":"0.2.27","keywords":["test-lab","test-lab.ai","testing","qa","e2e","cli"],"license":"MIT","_id":"@test-lab-ai/cli@0.2.27","maintainers":[{"name":"test-lab.ai","email":"adrian.neatu@test-lab.ai"}],"homepage":"https://test-lab.ai","bin":{"testlab":"bin/testlab.mjs"},"dist":{"shasum":"63e81724caf641468b12cb1badffafe5b4f45c6e","tarball":"https://registry.npmjs.org/@test-lab-ai/cli/-/cli-0.2.27.tgz","fileCount":26,"integrity":"sha512-vu4VvcCKEXaQrqF8wQb+++A7PHr8xdMcWBFrDaoXVCifY9DNHBsxeMHIwixJFWfjjNNoPzeietCa0+GT/sFwLg==","signatures":[{"sig":"MEUCIC4PY3LGn3TtgTUetP+Uarp7dybaBcnFdmUSwZXKC7DeAiEA56aheYEc0SBsOyGw2sFqKyL0ltv+AmdDHPwal/EWMxw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":177777},"type":"module","engines":{"node":">=18"},"gitHead":"de48bc0aee8de4aa44801ac809c07f3894d924da","scripts":{"test":"node test/toposort.test.mjs && node test/api-useragent.test.mjs","prepublishOnly":"node scripts/bundle-skill.mjs && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f95f72b7-faac-4e32-93ac-cc25e15d94d5"}},"_npmVersion":"11.16.0","description":"Import existing test plans into test-lab.ai from the command line (or an AI agent).","directories":{},"_nodeVersion":"24.18.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/cli_0.2.27_1783851498113_0.8457673645640975","host":"s3://npm-registry-packages-npm-production"}},"0.2.28":{"name":"@test-lab-ai/cli","version":"0.2.28","keywords":["test-lab","test-lab.ai","testing","qa","e2e","cli"],"license":"MIT","_id":"@test-lab-ai/cli@0.2.28","maintainers":[{"name":"test-lab.ai","email":"adrian.neatu@test-lab.ai"}],"homepage":"https://test-lab.ai","bin":{"testlab":"bin/testlab.mjs"},"dist":{"shasum":"bf223f367607d065c3bd1a8bdf4e31490a5a0d03","tarball":"https://registry.npmjs.org/@test-lab-ai/cli/-/cli-0.2.28.tgz","fileCount":26,"integrity":"sha512-agmvS2VoJ7T3dPRsptNlmNqgZtPg3rDTI8jcXQds2ozegJidOsrupQ+NVqyFXs5puF/IG7C97eeHsKX0xLh3Dg==","signatures":[{"sig":"MEUCIQCGrSUWlTXp0lpeMHKOL4+5LoMXuhz8YpiG35xqCIxdcAIgRkZnmGjOmTOrT5bUwJLJ5oTieKK2mWXn8LYms+u9rKU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":187133},"type":"module","engines":{"node":">=18"},"gitHead":"12c301e05cc06380f9c8f26808cb5a31fbf13e17","scripts":{"test":"node test/toposort.test.mjs && node test/api-useragent.test.mjs","prepublishOnly":"node scripts/bundle-skill.mjs && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f95f72b7-faac-4e32-93ac-cc25e15d94d5"}},"_npmVersion":"11.16.0","description":"Import existing test plans into test-lab.ai from the command line (or an AI agent).","directories":{},"_nodeVersion":"24.18.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/cli_0.2.28_1783875303159_0.5888429807363711","host":"s3://npm-registry-packages-npm-production"}},"0.2.29":{"name":"@test-lab-ai/cli","version":"0.2.29","keywords":["test-lab","test-lab.ai","testing","qa","e2e","cli"],"license":"MIT","_id":"@test-lab-ai/cli@0.2.29","maintainers":[{"name":"test-lab.ai","email":"adrian.neatu@test-lab.ai"}],"homepage":"https://test-lab.ai","bin":{"testlab":"bin/testlab.mjs"},"dist":{"shasum":"ca1f7c6c3fa029f7d74841a3dedc508fa55593d5","tarball":"https://registry.npmjs.org/@test-lab-ai/cli/-/cli-0.2.29.tgz","fileCount":26,"integrity":"sha512-FY2EZOl1DqWOVfgmmIj+fphypGcOVsFo/n+wdi0n1Lree6+0BbZizVYlTrM3+k+cTQPFHzCrX4mYtNLW8hjTGg==","signatures":[{"sig":"MEQCIG3lNFTIdqQlOp0sJY/h21BBAvQfiPb6p0tmrruYVAkoAiBFjxXW+DUxKvoxK47I4iY2uAK+TLum8A52B5oxSKhnnA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":200743},"type":"module","engines":{"node":">=18"},"gitHead":"c6b414730962314e7073451005770e715a0bf676","scripts":{"test":"node test/toposort.test.mjs && node test/api-useragent.test.mjs","prepublishOnly":"node scripts/bundle-skill.mjs && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f95f72b7-faac-4e32-93ac-cc25e15d94d5"}},"_npmVersion":"11.16.0","description":"Import existing test plans into test-lab.ai from the command line (or an AI agent).","directories":{},"_nodeVersion":"24.18.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/cli_0.2.29_1784070799037_0.02595363963602293","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@test-lab-ai/cli","version":"0.3.0","keywords":["test-lab","test-lab.ai","testing","qa","e2e","cli"],"license":"MIT","_id":"@test-lab-ai/cli@0.3.0","maintainers":[{"name":"test-lab.ai","email":"adrian.neatu@test-lab.ai"}],"homepage":"https://test-lab.ai","bin":{"testlab":"bin/testlab.mjs"},"dist":{"shasum":"1712a6e1db7c779591ef42426af5b412ca6f08a4","tarball":"https://registry.npmjs.org/@test-lab-ai/cli/-/cli-0.3.0.tgz","fileCount":26,"integrity":"sha512-uh6y8/uB6pzhBpIfwr+U2p2PjaE0nfrFGWVL533r34m9Ouz9iPZy2PKB6UmIUWTF93DgWkLeblPxBY9mWPWPWw==","signatures":[{"sig":"MEUCIQDaoUgYq7+Hapv9UGZC5AojshzZjpCN3Xfqm2v7XYoiVwIgcnlXMPEc72TDRqvhcAdZX5vHuOVyMYU/lkqJjO5s9CA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":229202},"type":"module","engines":{"node":">=18"},"gitHead":"804f45fc8c3db85b8aa3931ace6db750179f6517","scripts":{"test":"node test/toposort.test.mjs && node test/api-useragent.test.mjs && node test/config.test.mjs","prepublishOnly":"node scripts/bundle-skill.mjs && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f95f72b7-faac-4e32-93ac-cc25e15d94d5"}},"_npmVersion":"11.16.0","description":"Import existing test plans into test-lab.ai from the command line (or an AI agent).","directories":{},"_nodeVersion":"24.18.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/cli_0.3.0_1784202899005_0.4859658551563426","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"@test-lab-ai/cli","version":"0.3.1","keywords":["test-lab","test-lab.ai","testing","qa","e2e","cli"],"license":"MIT","_id":"@test-lab-ai/cli@0.3.1","maintainers":[{"name":"test-lab.ai","email":"adrian.neatu@test-lab.ai"}],"homepage":"https://test-lab.ai","bin":{"testlab":"bin/testlab.mjs"},"dist":{"shasum":"a4a460ed77f0d9a43f9409cf60f703803dfe8fb2","tarball":"https://registry.npmjs.org/@test-lab-ai/cli/-/cli-0.3.1.tgz","fileCount":26,"integrity":"sha512-JpzYhG5RC8LsDBZYxgzj9/kR51No6IlbGivBTiQbknh07PmgeiCdq1HcLP0jey2EHZZjhk7+H4z5JRUYHEOhvQ==","signatures":[{"sig":"MEUCIQDX8+NWn10y0R1U4rluzqhv1mPmzLB+dEgFHTxndSdRiQIgZoB96gAfOa46ZbQdI59EwMh0Pl39fElOyd5clD/tWKw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":231023},"type":"module","engines":{"node":">=18"},"gitHead":"38e167e78569cad15797efb43f436a291631d1ab","scripts":{"test":"node test/toposort.test.mjs && node test/api-useragent.test.mjs && node test/config.test.mjs","prepublishOnly":"node scripts/bundle-skill.mjs && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f95f72b7-faac-4e32-93ac-cc25e15d94d5"}},"_npmVersion":"11.16.0","description":"Import existing test plans into test-lab.ai from the command line (or an AI agent).","directories":{},"_nodeVersion":"24.18.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/cli_0.3.1_1784213374665_0.9817485669825174","host":"s3://npm-registry-packages-npm-production"}},"0.3.2":{"name":"@test-lab-ai/cli","version":"0.3.2","keywords":["test-lab","test-lab.ai","testing","qa","e2e","cli"],"license":"MIT","_id":"@test-lab-ai/cli@0.3.2","maintainers":[{"name":"test-lab.ai","email":"adrian.neatu@test-lab.ai"}],"homepage":"https://test-lab.ai","bin":{"testlab":"bin/testlab.mjs"},"dist":{"shasum":"c9ebb26a2ed05af3f19c412401ba5f6f0eacb00c","tarball":"https://registry.npmjs.org/@test-lab-ai/cli/-/cli-0.3.2.tgz","fileCount":26,"integrity":"sha512-Gn7EJu8vdkdlrflEL0yRqVRo8tW3GeOlK/JDTmbX6KgECV/oK1uZv8tPtNtIqmjdlMLazUn9BbqckkTIQ1eZMQ==","signatures":[{"sig":"MEUCIHX9YdEiSCFUI9rCVUBRbTaaREwh34NxeT7394c728T4AiEAxFxz89YhjHOvHAYVBh4i6mUnfl0E3cmOBQFAySpXeAs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":239983},"type":"module","engines":{"node":">=18"},"gitHead":"20c2c074b9d13461fd0310cc110eeb5a5feec5a4","scripts":{"test":"node test/toposort.test.mjs && node test/api-useragent.test.mjs && node test/config.test.mjs","prepublishOnly":"node scripts/bundle-skill.mjs && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f95f72b7-faac-4e32-93ac-cc25e15d94d5"}},"_npmVersion":"11.16.0","description":"Import existing test plans into test-lab.ai from the command line (or an AI agent).","directories":{},"_nodeVersion":"24.18.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/cli_0.3.2_1784318041782_0.7158538967979999","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@test-lab-ai/cli","version":"0.4.0","keywords":["test-lab","test-lab.ai","testing","qa","e2e","cli"],"license":"MIT","_id":"@test-lab-ai/cli@0.4.0","maintainers":[{"name":"test-lab.ai","email":"adrian.neatu@test-lab.ai"}],"homepage":"https://test-lab.ai","bin":{"testlab":"bin/testlab.mjs"},"dist":{"shasum":"ed56cec6f375959ff9ae2ce47f9556f382df7179","tarball":"https://registry.npmjs.org/@test-lab-ai/cli/-/cli-0.4.0.tgz","fileCount":26,"integrity":"sha512-LMyBz14SxlixfDhu0QsxUoe1hHUg+3OmlwdyG+/chw97kMhLl3LAYC9kdUd3CNdAZ5ST/RqN4ZWyOCcEw9/jow==","signatures":[{"sig":"MEUCIQCZIEe4g1ciE8IlFcr0ufo8OO/pRtnPkEmwWg+pG0Wa2AIgQbMGzUL0qVc0ThK/L8wDosQViPtOOVbukPV5nWBZ+i0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":242114},"type":"module","engines":{"node":">=18"},"gitHead":"aacd6cbe35b6814f3e0280c47b8b2230a9642515","scripts":{"test":"node test/toposort.test.mjs && node test/api-useragent.test.mjs && node test/config.test.mjs","prepublishOnly":"node scripts/bundle-skill.mjs && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f95f72b7-faac-4e32-93ac-cc25e15d94d5"}},"_npmVersion":"11.16.0","description":"Import existing test plans into test-lab.ai from the command line (or an AI agent).","directories":{},"_nodeVersion":"24.18.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/cli_0.4.0_1784770109214_0.941446207054923","host":"s3://npm-registry-packages-npm-production"}},"0.4.1":{"name":"@test-lab-ai/cli","version":"0.4.1","keywords":["test-lab","test-lab.ai","testing","qa","e2e","cli"],"license":"MIT","_id":"@test-lab-ai/cli@0.4.1","maintainers":[{"name":"test-lab.ai","email":"adrian.neatu@test-lab.ai"}],"homepage":"https://test-lab.ai","bin":{"testlab":"bin/testlab.mjs"},"dist":{"shasum":"160dbb189a0843ac17ea795b657373d4ad2db8d3","tarball":"https://registry.npmjs.org/@test-lab-ai/cli/-/cli-0.4.1.tgz","fileCount":26,"integrity":"sha512-vxPLxcZEcTTq4ytz7mn6h0R1YE7ZN9pF2DBBl4KfHTOkAJUS2QLupuEr+cvht5hstlSzVOmWZk2RJvnHVz1vhg==","signatures":[{"sig":"MEUCIC68G0iDYrkeVap3tL4eJOY/18Qqb0jdhvG+vm+sDbSRAiEAzFgxr4HunJOUbMy6SPi1w6SbiuTDy79jq7q8DQ9x/lY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":242835},"type":"module","engines":{"node":">=18"},"gitHead":"6fc830015863cecfe9601638c89365b4e3578760","scripts":{"test":"node test/toposort.test.mjs && node test/api-useragent.test.mjs && node test/config.test.mjs","prepublishOnly":"node scripts/bundle-skill.mjs && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f95f72b7-faac-4e32-93ac-cc25e15d94d5"}},"_npmVersion":"11.16.0","description":"Import existing test plans into test-lab.ai from the command line (or an AI agent).","directories":{},"_nodeVersion":"24.18.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/cli_0.4.1_1785311546678_0.7036287478916112","host":"s3://npm-registry-packages-npm-production"}},"0.4.2":{"name":"@test-lab-ai/cli","version":"0.4.2","description":"Import existing test plans into test-lab.ai from the command line (or an AI agent).","type":"module","bin":{"testlab":"bin/testlab.mjs"},"engines":{"node":">=18"},"scripts":{"test":"node test/toposort.test.mjs && node test/api-useragent.test.mjs && node test/config.test.mjs","prepublishOnly":"node scripts/bundle-skill.mjs && npm test"},"keywords":["test-lab","test-lab.ai","testing","qa","e2e","cli"],"homepage":"https://test-lab.ai","license":"MIT","publishConfig":{"access":"public"},"gitHead":"49aa06837d476fd41e54808a905ac75148e1391a","_id":"@test-lab-ai/cli@0.4.2","_nodeVersion":"24.18.0","_npmVersion":"11.16.0","dist":{"integrity":"sha512-SK2Qxcx7rbCWnpbgP8OeCn4pvDF2iKdc5hueOZePVm+CHN3zuYCs9mYL89+hG9Bm4GW30tlKChbiuj/Yv3PzMQ==","shasum":"e027905991907bf4ccf09a22dc3b178c8324f2a1","tarball":"https://registry.npmjs.org/@test-lab-ai/cli/-/cli-0.4.2.tgz","fileCount":27,"unpackedSize":250088,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIB57ntarUbzyp1AH0WDMIXS1z8fodz6Lmseo+Qp5iHLrAiEAoS05uBrJmbhitDKs8qgusc8Z/vYag3zn+IMIvpIBo18="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f95f72b7-faac-4e32-93ac-cc25e15d94d5"}},"directories":{},"maintainers":[{"name":"test-lab.ai","email":"adrian.neatu@test-lab.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/cli_0.4.2_1785318031262_0.294916338875598"},"_hasShrinkwrap":false}},"time":{"created":"2026-06-08T20:09:04.444Z","modified":"2026-07-29T09:40:31.573Z","0.1.0":"2026-06-08T20:09:04.794Z","0.2.0":"2026-06-08T20:46:55.169Z","0.2.1":"2026-06-08T21:00:20.773Z","0.2.2":"2026-06-08T21:44:24.793Z","0.2.5":"2026-06-09T14:05:29.752Z","0.2.6":"2026-06-09T14:11:41.347Z","0.2.7":"2026-06-09T15:16:00.590Z","0.2.8":"2026-06-09T15:40:09.794Z","0.2.9":"2026-06-09T16:38:34.908Z","0.2.10":"2026-06-09T16:51:38.817Z","0.2.11":"2026-06-09T17:23:34.368Z","0.2.12":"2026-06-15T10:51:59.339Z","0.2.13":"2026-06-15T11:06:24.705Z","0.2.14":"2026-06-16T13:08:48.131Z","0.2.15":"2026-06-16T16:38:47.790Z","0.2.16":"2026-06-17T10:08:23.310Z","0.2.17":"2026-06-17T11:26:45.822Z","0.2.18":"2026-06-25T03:30:44.689Z","0.2.19":"2026-06-25T07:46:14.530Z","0.2.20":"2026-06-26T08:12:30.034Z","0.2.21":"2026-06-28T21:58:57.137Z","0.2.22":"2026-07-06T10:54:29.047Z","0.2.24":"2026-07-08T08:22:02.194Z","0.2.26":"2026-07-10T09:44:44.971Z","0.2.27":"2026-07-12T10:18:18.255Z","0.2.28":"2026-07-12T16:55:03.320Z","0.2.29":"2026-07-14T23:13:19.193Z","0.3.0":"2026-07-16T11:54:59.163Z","0.3.1":"2026-07-16T14:49:34.819Z","0.3.2":"2026-07-17T19:54:01.914Z","0.4.0":"2026-07-23T01:28:29.353Z","0.4.1":"2026-07-29T07:52:26.839Z","0.4.2":"2026-07-29T09:40:31.413Z"},"license":"MIT","homepage":"https://test-lab.ai","keywords":["test-lab","test-lab.ai","testing","qa","e2e","cli"],"description":"Import existing test plans into test-lab.ai from the command line (or an AI agent).","maintainers":[{"name":"test-lab.ai","email":"adrian.neatu@test-lab.ai"}],"readme":"# @test-lab-ai/cli (`testlab`)\n\nImport existing test plans (and the test data they need) into\n[test-lab.ai](https://test-lab.ai) from the command line, your CI, or an AI\nagent. **Zero dependencies**, Node 18+.\n\n## Install\n\n```bash\nnpx @test-lab-ai/cli login        # one-off, no install\nnpm i -g @test-lab-ai/cli         # or install the `testlab` command globally\n```\n\n## Authenticate\n\n```bash\ntestlab login\n```\n\nOpens your browser to approve access, then saves your key to\n`~/.test-lab/config.json` (readable only by you). For CI / headless / agents,\nskip the browser:\n\n```bash\nexport TESTLAB_API_KEY=tl_xxxxx\n# or:  testlab login --key tl_xxxxx\n```\n\nCreate a key at **Settings -> API Keys**. A key belongs to one account, so it's\nthe import target - to import into an organization account, create the key with\nthat org selected.\n\n### Multiple accounts (profiles)\n\nWorking with several clients at once? Store one account per **profile** instead\nof overwriting the last:\n\n```bash\ntestlab login --profile acme            # log into (and name) each account once\ntestlab login --profile globex\ntestlab auth list                       # see them all + which is active here\n```\n\nThen bind each working folder to its account - the folder file names the\nprofile, never the key, so it is safe to commit:\n\n```bash\ncd ~/clients/acme && testlab auth use acme --local   # writes ./.test-lab.json\ntestlab run 12                                        # runs as acme, automatically\n```\n\nResolution precedence (high -> low): `--key` -> `--profile` -> `$TESTLAB_API_KEY`\n-> `$TESTLAB_PROFILE` -> `./.test-lab.json` (walked up from the current dir) ->\nthe default profile (`testlab auth use <name>`). `testlab logout [--profile N]`\nforgets one; keys always stay in `~/.test-lab/config.json`.\n\n## Commands\n\n```\ntestlab whoami                          Show the authenticated account + profile\ntestlab auth list                       List stored accounts (profiles); mark active\ntestlab auth use <name> [--local]        Switch account (global default, or --local folder)\ntestlab logout [--profile N] [--all]     Forget a stored account\ntestlab import <path> [--dry-run]        Import a file or directory of *.json\ntestlab plans list                      List your test plans\ntestlab plans create -f plan.json        Create one plan from JSON\ntestlab run <planIds>                    Trigger a run (12,34 or --project/--label);\n                                         a pipeline plan fans out automatically.\n                                         --test-type, --env, --build-id, --prefer-script,\n                                         --pre-steps, --tunnel, --cookies '<json>'.\n                                         Prints a jobId + results URL per job.\ntestlab runs get <jobId> [--wait]        Fetch a run's status, failure error, and\n                                         per-step results by jobId. --wait polls\n                                         until it finishes; --json for raw. Exits\n                                         non-zero when the run did not pass.\ntestlab runs list [--plan <id>]          Recent runs (jobId + status), newest first.\ntestlab credentials set <key> --value <value>     Set a credential ({{credentials.<key>}})\ntestlab credentials list                 List credential keys (values never shown)\ntestlab plans label <id> --add a,b --remove c   Add/remove labels on an existing plan\ntestlab labels list                      List your labels\ntestlab labels create <name>             Create a label (also auto-created on reference)\ntestlab schedules list                   List your schedules (cadence + links)\ntestlab schedules update <id>            Update a schedule: --cron, --projects\n                                         (run ALL live plans of those projects,\n                                         CI-style), --plans, --env, --enable/--disable\ntestlab data list [--project <id|name>]  List your data fixtures (--project: a project's fixtures)\ntestlab data create -f fixture.json      Create a data fixture ({{data.<fixture>.<field>}};\n                                         --project <id|name|none> scopes it to a project)\ntestlab scripts upload <file> --plan <id>  Upload a Playwright script for a plan\n                                         (skips paid AI generation; --device optional)\ntestlab scripts get <id> [--out <file>]  Download a plan's active script (warns when\n                                         it is outdated; pipe-safe on stdout)\ntestlab scripts status [id] [--stale]    Audit which saved scripts are outdated;\n                                         omit the id to check every plan. --json for\n                                         agents; exits 1 if any are outdated (CI gate)\ntestlab examples                         Full JSON reference for every resource\n```\n\n**`testlab examples` prints the exact JSON shape for every resource**\n(credentials, labels, data fixtures, plans, pre-steps). It's the fastest\nreference and is written so an AI agent can read it and build a valid import.\n\n## Import format\n\n`testlab import` reads a JSON file (or a directory of `*.json`). A file can be a\nsingle plan, an array of plans, or a **bundle** with any of these sections - \ncreated in order: credentials -> labels -> fixtures -> plans:\n\n```jsonc\n{\n  \"credentials\": [\n    { \"key\": \"password\", \"value\": \"hunter2\" }      // secret behind {{credentials.password}}\n  ],\n  \"labels\": [\"smoke\", \"auth\"],\n  \"fixtures\": [\n    {\n      \"key\": \"newUser\",                             // referenced as {{data.newUser.email}}\n      \"fields\": [\n        { \"key\": \"email\", \"mode\": \"dynamic\", \"generator\": \"internet.email\" },\n        { \"key\": \"plan\",  \"mode\": \"static\",  \"value\": \"pro\" }\n      ]\n    }\n  ],\n  \"plans\": [\n    {\n      \"ref\": \"signup\",                              // handle for pre-step wiring\n      \"name\": \"Sign up\",\n      \"prompt\": \"Go to https://app.example.com/signup and register with {{data.newUser.email}} / {{credentials.password}}. Confirm the welcome screen.\",\n      \"testType\": \"quickTest\",\n      \"labels\": [\"smoke\"]\n    },\n    {\n      \"name\": \"Onboarding\",\n      \"prompt\": \"Complete the onboarding checklist.\",\n      \"preSteps\": [ { \"ref\": \"signup\" } ]           // run \"signup\" first, share browser state\n    }\n  ]\n}\n```\n\n```bash\ntestlab import ./bundle.json --dry-run   # validate + print plan order, write nothing\ntestlab import ./bundle.json             # create everything\n```\n\nThe CLI topologically sorts plans by their pre-step `ref` dependencies, so order\nin the file doesn't matter. Re-running is safe for credentials/labels/fixtures\n(upsert / idempotent); plans are always created fresh.\n\n## Reference syntax (inside a plan prompt)\n\n- `{{credentials.<key>}}` - a stored secret (never shown to the AI model).\n- `{{data.<fixture>.<field>}}` - a value from a data fixture (generated test data).\n- `{{run.shortId}}` - a unique per-run id (for unique emails, names, etc.).\n\n## Install the test-lab-plan skill (Claude Code, Codex, Cursor)\n\nThe companion skill that *writes* test-lab plans, so an AI agent can design a\nplan and this CLI imports it:\n\n```bash\ntestlab skills install                  # auto-detects the agent(s) you use\ntestlab skills install --agent codex    # Codex -> .agents/skills\ntestlab skills install --agent cursor   # Cursor -> .cursor/rules/test-lab-plan.mdc\ntestlab skills install --agent all      # all three\n```\n\nWith no `--agent`, it detects which agents you use (the agent running the command,\nplus the `.claude` / `.agents` / `.cursor` folders in your project) and installs for\neach, defaulting to Claude Code if none are found.\n\nAdd `--global` for Claude Code or Codex (installs under your home directory);\nCursor user rules are set in Cursor's Settings. Restart your agent to load it.\nThe skill is **bundled with the CLI** and version-locked to it (offline, reproducible\ninstalls); the public [`Test-Lab-ai/skills`](https://github.com/Test-Lab-ai/skills)\nrepo is the browsable source.\n\nA skill change ships as a new CLI version, so `npm i -g @test-lab-ai/cli@latest`\nupdates it: the CLI auto-refreshes installed copies on first run after an upgrade,\nand `testlab skills update` re-installs the bundled version on demand.\n\n### Example prompts\n\nWith the skill installed, invoke it and describe the test in plain language. In\nClaude Code: `/test-lab-plan`; in Codex or Cursor, just mention test-lab.\n\nCreate a test for a feature you just built:\n\n```\n/test-lab-plan write a test for the signup flow at https://app.example.com/signup, then create it in my account\n```\n\nImport tests you already have:\n\n```\n/test-lab-plan convert the Playwright specs in ./tests/e2e into test-lab plans and import them\n```\n\n## For AI agents\n\nRun **`testlab examples`** for the complete JSON reference, or read `AGENTS.md`\n(shipped inside this package). The workflow: read the user's existing tests -> \nconvert each into the plan/fixture JSON above (explicit URL in the prompt,\nsecrets as `{{credentials.<key>}}`, generated data as `{{data.<fixture>.<field>}}`) -> \n`testlab import`.\n\n## Under the hood\n\nEvery command is a thin wrapper over the public\n[Import API](https://test-lab.ai/docs/api/test-plans); an agent can call that\ndirectly instead of shelling out to the CLI.\n\nThe CLI checks npm for a newer version about once a day and prints a one-line\nnotice when you're behind. Set `NO_UPDATE_NOTIFIER=1` to silence it (it's also\nauto-suppressed in CI and non-interactive output).\n","readmeFilename":"README.md"}