{"_id":"@kozojs/testing","_rev":"27-a1bcedf5ccd78efb76aa192821815662","name":"@kozojs/testing","dist-tags":{"latest":"0.7.1"},"versions":{"0.4.1":{"name":"@kozojs/testing","version":"0.4.1","keywords":["kozo","testing","test","inject","supertest","http","typescript"],"author":{"name":"Kozo Team"},"license":"MIT","_id":"@kozojs/testing@0.4.1","maintainers":[{"name":"zazzo9039","email":"zazzo9039@gmail.com"}],"homepage":"https://github.com/zazzo9039/kozo/tree/main/packages/testing#readme","bugs":{"url":"https://github.com/zazzo9039/kozo/issues"},"dist":{"shasum":"b5d243f0ca3b141201ce336a26ed3b115c882e2e","tarball":"https://registry.npmjs.org/@kozojs/testing/-/testing-0.4.1.tgz","fileCount":4,"integrity":"sha512-dTH8HUnp7KHWxRY4Eq3HAC7lVJI5uvKAT9k3LZLmU0+DtpxDS+jWvfx5Z5qjhB1xIh6se/XnFk67HLG7ueiU/Q==","signatures":[{"sig":"MEUCIAjXovoc/64NpRDg1NWUfWjVoeBQ0EdTHNIR3beq2TV+AiEAqiydzx4tDyKDVZnf+MZQfHrcZ4zAlwFaPS938M5aFPE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8996},"main":"./lib/index.js","type":"module","types":"./lib/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.js"}},"gitHead":"84cacca06414b10876f503fc83f53cc5ac35466e","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","test:watch":"vitest"},"_npmUser":{"name":"zazzo9039","email":"zazzo9039@gmail.com"},"repository":{"url":"git+https://github.com/zazzo9039/kozo.git","type":"git","directory":"packages/testing"},"_npmVersion":"10.8.2","description":"In-process test client for Kozo Framework — no HTTP server required","directories":{},"_nodeVersion":"20.20.2","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.0","vitest":"^2.1.0","typescript":"^5.6.0","@types/node":"^22.0.0","@kozojs/core":"workspace:*"},"peerDependencies":{"@kozojs/core":"^0.4.0"},"_npmOperationalInternal":{"tmp":"tmp/testing_0.4.1_1780094095416_0.321871706517469","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@kozojs/testing","version":"0.5.0","keywords":["kozo","testing","test","inject","supertest","http","typescript"],"author":{"name":"Kozo Team"},"license":"MIT","_id":"@kozojs/testing@0.5.0","maintainers":[{"name":"zazzo9039","email":"zazzo9039@gmail.com"}],"homepage":"https://github.com/zazzo9039/kozo/tree/main/packages/testing#readme","bugs":{"url":"https://github.com/zazzo9039/kozo/issues"},"dist":{"shasum":"02ab484e325959aef3bce5368450abcb4d3f05bd","tarball":"https://registry.npmjs.org/@kozojs/testing/-/testing-0.5.0.tgz","fileCount":4,"integrity":"sha512-23Lm4xQ8D+Qc+dsk9Vonf+XqJq7Cw1ymwoT7hMNTzCssEU2A6LkBnbaaR0/H9mUd1LAn8hG/+vUJRjsB7le+hg==","signatures":[{"sig":"MEUCIF8HuCEWQF9xb4GKuz0iTjZ5dfmMOr29uzy5+VrY2uztAiEAl+rGKrLO7WBEOxaqOd7YXLtkc0J0DVEkL1z7leTVXuk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8996},"main":"./lib/index.js","type":"module","types":"./lib/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.js"}},"gitHead":"e3d1c3c42b68b73490d5e2e3b79ee2badde82af9","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","test:watch":"vitest"},"_npmUser":{"name":"zazzo9039","email":"zazzo9039@gmail.com"},"repository":{"url":"git+https://github.com/zazzo9039/kozo.git","type":"git","directory":"packages/testing"},"_npmVersion":"10.8.2","description":"In-process test client for Kozo Framework — no HTTP server required","directories":{},"_nodeVersion":"20.20.2","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.0","vitest":"^2.1.0","typescript":"^5.6.0","@types/node":"^22.0.0","@kozojs/core":"workspace:*"},"peerDependencies":{"@kozojs/core":"^0.5.0"},"_npmOperationalInternal":{"tmp":"tmp/testing_0.5.0_1780140238856_0.9145815633507366","host":"s3://npm-registry-packages-npm-production"}},"0.5.1":{"name":"@kozojs/testing","version":"0.5.1","keywords":["kozo","testing","test","inject","supertest","http","typescript"],"author":{"name":"Kozo Team"},"license":"MIT","_id":"@kozojs/testing@0.5.1","maintainers":[{"name":"zazzo9039","email":"zazzo9039@gmail.com"}],"homepage":"https://github.com/zazzo9039/kozo/tree/main/packages/testing#readme","bugs":{"url":"https://github.com/zazzo9039/kozo/issues"},"dist":{"shasum":"9e8a0164d60301a2ea982bfbc6616efbf8841a48","tarball":"https://registry.npmjs.org/@kozojs/testing/-/testing-0.5.1.tgz","fileCount":4,"integrity":"sha512-S5oHIBsHAAzGNVLrVfiNEaVFjkw/NrlKevZuED3My4sf8DzFe1QayxQkuZeqbt5LFWMQAGFxK6Ly3flpyGdrXg==","signatures":[{"sig":"MEQCIGFn8YHYMxpuvOym+rBZOb+sGx7ZQvM1ztQqVj24lXx9AiBKF/uL0c87XfQacsdjEmpt7En8R4EOPECQh872h3T1cQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8996},"main":"./lib/index.js","type":"module","types":"./lib/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.js"}},"gitHead":"fd342267bc4077038ff7b3dd6962631da4ce0f5b","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","test:watch":"vitest"},"_npmUser":{"name":"zazzo9039","email":"zazzo9039@gmail.com"},"repository":{"url":"git+https://github.com/zazzo9039/kozo.git","type":"git","directory":"packages/testing"},"_npmVersion":"10.8.2","description":"In-process test client for Kozo Framework — no HTTP server required","directories":{},"_nodeVersion":"20.20.2","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.0","vitest":"^2.1.0","typescript":"^5.6.0","@types/node":"^22.0.0","@kozojs/core":"workspace:*"},"peerDependencies":{"@kozojs/core":"^0.5.0"},"_npmOperationalInternal":{"tmp":"tmp/testing_0.5.1_1780149778997_0.2857097160143893","host":"s3://npm-registry-packages-npm-production"}},"0.5.2":{"name":"@kozojs/testing","version":"0.5.2","keywords":["kozo","testing","test","inject","supertest","http","typescript"],"author":{"name":"Kozo Team"},"license":"MIT","_id":"@kozojs/testing@0.5.2","maintainers":[{"name":"zazzo9039","email":"zazzo9039@gmail.com"}],"homepage":"https://github.com/zazzo9039/kozo/tree/main/packages/testing#readme","bugs":{"url":"https://github.com/zazzo9039/kozo/issues"},"dist":{"shasum":"bd4835fbc304d00b011d7f48363392df94984e35","tarball":"https://registry.npmjs.org/@kozojs/testing/-/testing-0.5.2.tgz","fileCount":4,"integrity":"sha512-oP5/ftspZ5pPUmiuBIcsq08deFK9fhfvxHqfFv17k2/You71oecqtTQEAP6R5tHopuArQCG6gIo2Pd9wKIFvUA==","signatures":[{"sig":"MEQCIAtX5xNarH/PvXOJN0faWt344EbbjFft6vkziSeZOFPlAiBbX/CxO6CuPfUcV1rWB3FFkP45gdlkWTKjA53Ox+Es3Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8996},"main":"./lib/index.js","type":"module","types":"./lib/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.js"}},"gitHead":"65da3e1ba9cfa575b5f01e42424d9827a0251008","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","test:watch":"vitest"},"_npmUser":{"name":"zazzo9039","email":"zazzo9039@gmail.com"},"repository":{"url":"git+https://github.com/zazzo9039/kozo.git","type":"git","directory":"packages/testing"},"_npmVersion":"10.8.2","description":"In-process test client for Kozo Framework — no HTTP server required","directories":{},"_nodeVersion":"20.20.2","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.0","vitest":"^2.1.0","typescript":"^5.6.0","@types/node":"^22.0.0","@kozojs/core":"workspace:*"},"peerDependencies":{"@kozojs/core":"^0.5.0"},"_npmOperationalInternal":{"tmp":"tmp/testing_0.5.2_1780150745220_0.8373447356607886","host":"s3://npm-registry-packages-npm-production"}},"0.5.9":{"name":"@kozojs/testing","version":"0.5.9","keywords":["kozo","testing","test","inject","supertest","http","typescript"],"author":{"name":"Kozo Team"},"license":"MIT","_id":"@kozojs/testing@0.5.9","maintainers":[{"name":"zazzo9039","email":"zazzo9039@gmail.com"}],"homepage":"https://github.com/zazzo9039/kozojs#readme","bugs":{"url":"https://github.com/zazzo9039/kozojs/issues"},"dist":{"shasum":"cd60ce557eea46bd6949bc79243026974e2b451b","tarball":"https://registry.npmjs.org/@kozojs/testing/-/testing-0.5.9.tgz","fileCount":4,"integrity":"sha512-erW/cEN9zmgmXzXXL1oLmZcLbwk45VTXKMjJzR3zg+KULYZ+4iA2lcyK5T+IEFp+HAYufNT80B70P+LlJ4lm1A==","signatures":[{"sig":"MEUCIC/x4Yn1A+gJEfNChBDlBlQKnRhiOuVjKr/z3C+5CUjtAiEAi1ooXbjiVIJmizXlnKSoOlPvkYVfbEIyRtWTu4jh2gU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8885},"main":"./lib/index.js","type":"module","types":"./lib/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.js"}},"gitHead":"e9afe0dc60621339aa4065ecf61290e355b1befc","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","test:watch":"vitest"},"_npmUser":{"name":"zazzo9039","email":"zazzo9039@gmail.com"},"repository":{"url":"git+https://github.com/zazzo9039/kozojs.git","type":"git"},"_npmVersion":"10.8.2","description":"In-process test client for Kozo Framework — no HTTP server required","directories":{},"_nodeVersion":"20.20.2","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.0","vitest":"^2.1.0","typescript":"^5.6.0","@types/node":"^22.0.0","@kozojs/core":"workspace:*"},"peerDependencies":{"@kozojs/core":"^0.5.9"},"_npmOperationalInternal":{"tmp":"tmp/testing_0.5.9_1780236434699_0.2019736033963333","host":"s3://npm-registry-packages-npm-production"}},"0.5.10":{"name":"@kozojs/testing","version":"0.5.10","keywords":["kozo","testing","test","inject","supertest","http","typescript"],"author":{"name":"Kozo Team"},"license":"MIT","_id":"@kozojs/testing@0.5.10","maintainers":[{"name":"zazzo9039","email":"zazzo9039@gmail.com"}],"homepage":"https://github.com/zazzo9039/kozojs#readme","bugs":{"url":"https://github.com/zazzo9039/kozojs/issues"},"dist":{"shasum":"50fdc9f0305a035e18966077d5372744c3dfe24d","tarball":"https://registry.npmjs.org/@kozojs/testing/-/testing-0.5.10.tgz","fileCount":5,"integrity":"sha512-z76BNInoUMEGHtfc9fApJQwpAeWj7mlXiAKu3kgROKISSOnJnAjdfxoFbG6d7GII+A308u783u6ypjQksFXbFQ==","signatures":[{"sig":"MEQCIFWO02XnmiYxlCjjsR2P++FeAYSTpXAIMqR4MT/Ik3gBAiAcAzuZW7CCXtRN9Pwh335NULgiWzLqIMRMwjHQuoVu1Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9968},"main":"./lib/index.js","type":"module","_from":"file:kozojs-testing-0.5.10.tgz","types":"./lib/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.js"}},"scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","test:watch":"vitest"},"_npmUser":{"name":"zazzo9039","email":"zazzo9039@gmail.com"},"_resolved":"C:\\Users\\zazza\\AppData\\Local\\Temp\\5a2c3bd44611726f06fc48e26c45862f\\kozojs-testing-0.5.10.tgz","_integrity":"sha512-z76BNInoUMEGHtfc9fApJQwpAeWj7mlXiAKu3kgROKISSOnJnAjdfxoFbG6d7GII+A308u783u6ypjQksFXbFQ==","repository":{"url":"git+https://github.com/zazzo9039/kozojs.git","type":"git"},"_npmVersion":"10.9.0","description":"In-process test client for Kozo Framework — no HTTP server required","directories":{},"_nodeVersion":"22.12.0","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.0","vitest":"^2.1.0","typescript":"^5.6.0","@types/node":"^22.0.0","@kozojs/core":"0.5.10"},"peerDependencies":{"@kozojs/core":"^0.5.10"},"_npmOperationalInternal":{"tmp":"tmp/testing_0.5.10_1780491696110_0.33253654745995664","host":"s3://npm-registry-packages-npm-production"}},"0.5.12":{"name":"@kozojs/testing","version":"0.5.12","keywords":["kozo","testing","test","inject","supertest","http","typescript"],"author":{"name":"Kozo Team"},"license":"MIT","_id":"@kozojs/testing@0.5.12","maintainers":[{"name":"zazzo9039","email":"zazzo9039@gmail.com"}],"homepage":"https://github.com/zazzo9039/kozojs#readme","bugs":{"url":"https://github.com/zazzo9039/kozojs/issues"},"dist":{"shasum":"1a74623373bdadee19b45024ef2b7bb49a55bba5","tarball":"https://registry.npmjs.org/@kozojs/testing/-/testing-0.5.12.tgz","fileCount":5,"integrity":"sha512-Z3w7RaGG/ZPr0GEo/la/+mWlKOBwq99dfPXsdKgvmFwdGZrVUxKYNFMspD7grftSLUVehli2JtRqflZ5L8uiWw==","signatures":[{"sig":"MEYCIQC0OZum3pvdgHxfHv7xdD7QaeRb8kHny2LpKdEDBoGsdQIhAMZbrRZgtdDotBJRnXZVR9ksC+01NuLGmV+RR8Q/zOYW","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9833},"main":"./lib/index.js","type":"module","_from":"file:/home/runner/work/kozo/kozo/tarballs/kozojs-testing-0.5.12.tgz","types":"./lib/index.d.ts","engines":{"node":">=20.19.0"},"exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.js"}},"scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","test:watch":"vitest"},"_npmUser":{"name":"zazzo9039","email":"zazzo9039@gmail.com"},"_resolved":"/home/runner/work/kozo/kozo/tarballs/kozojs-testing-0.5.12.tgz","_integrity":"sha512-Z3w7RaGG/ZPr0GEo/la/+mWlKOBwq99dfPXsdKgvmFwdGZrVUxKYNFMspD7grftSLUVehli2JtRqflZ5L8uiWw==","repository":{"url":"git+https://github.com/zazzo9039/kozojs.git","type":"git"},"_npmVersion":"10.9.8","description":"In-process test client for Kozo Framework — no HTTP server required","directories":{},"_nodeVersion":"22.22.3","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.0","vitest":"^2.1.0","typescript":"^5.6.0","@types/node":"^22.0.0","@kozojs/core":"0.5.12"},"peerDependencies":{"@kozojs/core":"^0.5.10"},"_npmOperationalInternal":{"tmp":"tmp/testing_0.5.12_1781161802706_0.5973051137538494","host":"s3://npm-registry-packages-npm-production"}},"0.5.13":{"name":"@kozojs/testing","version":"0.5.13","keywords":["kozo","testing","test","inject","supertest","http","typescript"],"author":{"name":"Kozo Team"},"license":"MIT","_id":"@kozojs/testing@0.5.13","maintainers":[{"name":"zazzo9039","email":"zazzo9039@gmail.com"}],"homepage":"https://github.com/zazzo9039/kozojs#readme","bugs":{"url":"https://github.com/zazzo9039/kozojs/issues"},"dist":{"shasum":"7c87feb7f6ba2a29abcd11ff3f59e7576a2bb8ed","tarball":"https://registry.npmjs.org/@kozojs/testing/-/testing-0.5.13.tgz","fileCount":5,"integrity":"sha512-M34z2K/rdgsE0vPC8cUWocsRjxIUuJaHPYnv4W5I0BRJpW13BZhKRQvMc7pYXh43GBeD4Cggx0TFxF/L5EkpFg==","signatures":[{"sig":"MEYCIQCFxTuoyaeokmnOoDqXW/wGiVU8YAZMF2gpBhzLCSSSwAIhAK/Hje2m+ZZ8OmEW9yZun0dUMd9nmljZM5kC5T8bjc6v","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9873},"main":"./lib/index.js","type":"module","_from":"file:/home/runner/work/kozo/kozo/tarballs/kozojs-testing-0.5.13.tgz","types":"./lib/index.d.ts","engines":{"node":">=20.19.0"},"exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.js"},"./package.json":"./package.json"},"scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","test:watch":"vitest"},"_npmUser":{"name":"zazzo9039","email":"zazzo9039@gmail.com"},"_resolved":"/home/runner/work/kozo/kozo/tarballs/kozojs-testing-0.5.13.tgz","_integrity":"sha512-M34z2K/rdgsE0vPC8cUWocsRjxIUuJaHPYnv4W5I0BRJpW13BZhKRQvMc7pYXh43GBeD4Cggx0TFxF/L5EkpFg==","repository":{"url":"git+https://github.com/zazzo9039/kozojs.git","type":"git"},"_npmVersion":"10.9.8","description":"In-process test client for Kozo Framework — no HTTP server required","directories":{},"_nodeVersion":"22.22.3","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.0","vitest":"^2.1.0","typescript":"^5.6.0","@types/node":"^22.0.0","@kozojs/core":"0.5.13"},"peerDependencies":{"@kozojs/core":"^0.5.10"},"_npmOperationalInternal":{"tmp":"tmp/testing_0.5.13_1781202299620_0.3528699336445764","host":"s3://npm-registry-packages-npm-production"}},"0.5.14":{"name":"@kozojs/testing","version":"0.5.14","keywords":["kozo","testing","test","inject","supertest","http","typescript"],"author":{"name":"Kozo Team"},"license":"MIT","_id":"@kozojs/testing@0.5.14","maintainers":[{"name":"zazzo9039","email":"zazzo9039@gmail.com"}],"homepage":"https://github.com/zazzo9039/kozojs#readme","bugs":{"url":"https://github.com/zazzo9039/kozojs/issues"},"dist":{"shasum":"d0f13316cf9a6a44a057b732880095dd05923724","tarball":"https://registry.npmjs.org/@kozojs/testing/-/testing-0.5.14.tgz","fileCount":5,"integrity":"sha512-swmWt3Ry86YL5Ctj+qKXjmGwppqdIuez7OX0e5MZpSp3SvieNNosyjUhAYvcTg8kXPLOVErrIJLxb/HT7haakw==","signatures":[{"sig":"MEUCIQCcv3Zqcc5vYQ67C36Y3UFTI1e473VMvN9MjhfwQCTCTwIgIPhylNne+EWbxxuVdmD/ehXpGuxWR2+QFHaFiFDCOXg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9873},"main":"./lib/index.js","type":"module","_from":"file:/home/runner/work/kozo/kozo/tarballs/kozojs-testing-0.5.14.tgz","types":"./lib/index.d.ts","engines":{"node":">=20.19.0"},"exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.js"},"./package.json":"./package.json"},"scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","test:watch":"vitest"},"_npmUser":{"name":"zazzo9039","email":"zazzo9039@gmail.com"},"_resolved":"/home/runner/work/kozo/kozo/tarballs/kozojs-testing-0.5.14.tgz","_integrity":"sha512-swmWt3Ry86YL5Ctj+qKXjmGwppqdIuez7OX0e5MZpSp3SvieNNosyjUhAYvcTg8kXPLOVErrIJLxb/HT7haakw==","repository":{"url":"git+https://github.com/zazzo9039/kozojs.git","type":"git"},"_npmVersion":"10.9.8","description":"In-process test client for Kozo Framework — no HTTP server required","directories":{},"_nodeVersion":"22.22.3","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.0","vitest":"^2.1.0","typescript":"^5.6.0","@types/node":"^22.0.0","@kozojs/core":"0.5.14"},"peerDependencies":{"@kozojs/core":"^0.5.10"},"_npmOperationalInternal":{"tmp":"tmp/testing_0.5.14_1781205760600_0.2635108082457891","host":"s3://npm-registry-packages-npm-production"}},"0.5.15":{"name":"@kozojs/testing","version":"0.5.15","keywords":["kozo","testing","test","inject","supertest","http","typescript"],"author":{"name":"Kozo Team"},"license":"MIT","_id":"@kozojs/testing@0.5.15","maintainers":[{"name":"zazzo9039","email":"zazzo9039@gmail.com"}],"homepage":"https://github.com/zazzo9039/kozojs#readme","bugs":{"url":"https://github.com/zazzo9039/kozojs/issues"},"dist":{"shasum":"b3cad40045c74dad08858aa4b746ec0d999438f1","tarball":"https://registry.npmjs.org/@kozojs/testing/-/testing-0.5.15.tgz","fileCount":5,"integrity":"sha512-PlWLh15e70SlmUAru3P/NhEMhLA8lAVGWbhPLD38EYxyKPUA7ERXf6URLSqbX5zp9Q8GNzEojpG0BIYsRHlRXA==","signatures":[{"sig":"MEQCIFSHXaOB0pdqHU2yxymBJOw/HkhtPM6+dzGdZe/+JeZeAiAzwjKKPqI3gzBPibzgyD8MWjmdNCJkZGZnp6J4S+FaDg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9873},"main":"./lib/index.js","type":"module","_from":"file:/home/runner/work/kozo/kozo/tarballs/kozojs-testing-0.5.15.tgz","types":"./lib/index.d.ts","engines":{"node":">=20.19.0"},"exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.js"},"./package.json":"./package.json"},"scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","test:watch":"vitest"},"_npmUser":{"name":"zazzo9039","email":"zazzo9039@gmail.com"},"_resolved":"/home/runner/work/kozo/kozo/tarballs/kozojs-testing-0.5.15.tgz","_integrity":"sha512-PlWLh15e70SlmUAru3P/NhEMhLA8lAVGWbhPLD38EYxyKPUA7ERXf6URLSqbX5zp9Q8GNzEojpG0BIYsRHlRXA==","repository":{"url":"git+https://github.com/zazzo9039/kozojs.git","type":"git"},"_npmVersion":"10.9.8","description":"In-process test client for Kozo Framework — no HTTP server required","directories":{},"_nodeVersion":"22.22.3","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.0","vitest":"^2.1.0","typescript":"^5.6.0","@types/node":"^22.0.0","@kozojs/core":"0.5.15"},"peerDependencies":{"@kozojs/core":"^0.5.10"},"_npmOperationalInternal":{"tmp":"tmp/testing_0.5.15_1781206509301_0.5773672621607351","host":"s3://npm-registry-packages-npm-production"}},"0.5.20":{"name":"@kozojs/testing","version":"0.5.20","keywords":["kozo","testing","test","inject","supertest","http","typescript"],"author":{"name":"Kozo Team"},"license":"MIT","_id":"@kozojs/testing@0.5.20","maintainers":[{"name":"zazzo9039","email":"zazzo9039@gmail.com"}],"homepage":"https://github.com/zazzo9039/kozo#readme","bugs":{"url":"https://github.com/zazzo9039/kozo/issues"},"dist":{"shasum":"21adfd6eaae0d1ecc4808aaab3643efde10a0392","tarball":"https://registry.npmjs.org/@kozojs/testing/-/testing-0.5.20.tgz","fileCount":5,"integrity":"sha512-TYirqS3OnT16IpvgJ6UtNCAu3+fpj33IMq4ybL7kdpcjgjyLqzayI2izXjPOzus28icTF7kJkk3koEzm8JyzyQ==","signatures":[{"sig":"MEQCIBaeioCNiRXolV5JU50lT50EmDht1zWAWuLXP8qj1/yNAiAbcowKjIfPm2OCRXHusQWIvI6ebZC5jI2BJZITIjqsoA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9867},"main":"./lib/index.js","type":"module","_from":"file:/home/runner/work/kozo/kozo/tarballs/kozojs-testing-0.5.20.tgz","types":"./lib/index.d.ts","engines":{"node":">=20.19.0"},"exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.js"},"./package.json":"./package.json"},"scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","test:watch":"vitest"},"_npmUser":{"name":"zazzo9039","email":"zazzo9039@gmail.com"},"_resolved":"/home/runner/work/kozo/kozo/tarballs/kozojs-testing-0.5.20.tgz","_integrity":"sha512-TYirqS3OnT16IpvgJ6UtNCAu3+fpj33IMq4ybL7kdpcjgjyLqzayI2izXjPOzus28icTF7kJkk3koEzm8JyzyQ==","repository":{"url":"git+https://github.com/zazzo9039/kozo.git","type":"git"},"_npmVersion":"10.9.8","description":"In-process test client for Kozo Framework — no HTTP server required","directories":{},"_nodeVersion":"22.23.1","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.0","vitest":"^2.1.0","typescript":"^5.6.0","@types/node":"^22.0.0","@kozojs/core":"0.5.20"},"peerDependencies":{"@kozojs/core":"^0.5.20"},"_npmOperationalInternal":{"tmp":"tmp/testing_0.5.20_1783979655368_0.5342173383818081","host":"s3://npm-registry-packages-npm-production"}},"0.5.22":{"name":"@kozojs/testing","version":"0.5.22","keywords":["kozo","testing","test","inject","supertest","http","typescript"],"author":{"name":"Kozo Team"},"license":"MIT","_id":"@kozojs/testing@0.5.22","maintainers":[{"name":"zazzo9039","email":"zazzo9039@gmail.com"}],"homepage":"https://github.com/zazzo9039/kozo#readme","bugs":{"url":"https://github.com/zazzo9039/kozo/issues"},"dist":{"shasum":"74bd30c9b92ed2062515e5950ddc525fd8f7f677","tarball":"https://registry.npmjs.org/@kozojs/testing/-/testing-0.5.22.tgz","fileCount":5,"integrity":"sha512-WSp/x3u5zrKQG027c0OENojr+lMDA4ueCAdaVvS7muHP5szrY/mhkdI3aFB/++mb9zNlIhxQcBOAUqAJnz6UuQ==","signatures":[{"sig":"MEUCIQDW+MtKlq4DDje/aPn2lNy+AWqTfr08QhojbZQn4W5P0QIgehqbIVgFZi6fKUVlOr7+ouh1wHi6t7cv3bcslzIDSG4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12172},"main":"./lib/index.js","type":"module","_from":"file:/home/runner/work/kozo/kozo/tarballs/kozojs-testing-0.5.22.tgz","types":"./lib/index.d.ts","engines":{"node":">=20.19.0"},"exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.js"},"./package.json":"./package.json"},"scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","test:watch":"vitest"},"_npmUser":{"name":"zazzo9039","email":"zazzo9039@gmail.com"},"_resolved":"/home/runner/work/kozo/kozo/tarballs/kozojs-testing-0.5.22.tgz","_integrity":"sha512-WSp/x3u5zrKQG027c0OENojr+lMDA4ueCAdaVvS7muHP5szrY/mhkdI3aFB/++mb9zNlIhxQcBOAUqAJnz6UuQ==","repository":{"url":"git+https://github.com/zazzo9039/kozo.git","type":"git"},"_npmVersion":"10.9.8","description":"In-process test client for Kozo Framework — no HTTP server required","directories":{},"_nodeVersion":"22.23.1","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.0","vitest":"^2.1.0","typescript":"^5.6.0","@types/node":"^22.0.0","@kozojs/core":"0.5.22"},"peerDependencies":{"@kozojs/core":"^0.5.22"},"_npmOperationalInternal":{"tmp":"tmp/testing_0.5.22_1784918050866_0.8134377838012197","host":"s3://npm-registry-packages-npm-production"}},"0.5.23":{"name":"@kozojs/testing","version":"0.5.23","keywords":["kozo","testing","test","inject","supertest","http","typescript"],"author":{"name":"Kozo Team"},"license":"MIT","_id":"@kozojs/testing@0.5.23","maintainers":[{"name":"zazzo9039","email":"zazzo9039@gmail.com"}],"homepage":"https://github.com/zazzo9039/kozo#readme","bugs":{"url":"https://github.com/zazzo9039/kozo/issues"},"dist":{"shasum":"338ef507c82024ecd28b08da5c2c6e4e17de6920","tarball":"https://registry.npmjs.org/@kozojs/testing/-/testing-0.5.23.tgz","fileCount":5,"integrity":"sha512-Abm3NgozzEc8esyEma4kNwrfc1kMaGhY+6PRgR/Tvs2uNVb9qsbZyLfswQeecw7ilmjg3pDkRCafb0I+zk4uEQ==","signatures":[{"sig":"MEQCICmAhVEtxACBW0UaeosdMYx/OnJlAWWgcUJNaPulqE9XAiA93wAt4Tj50noFqDi8diBKso33ojGFz8Y2be4RDRM61g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12172},"main":"./lib/index.js","type":"module","_from":"file:/home/runner/work/kozo/kozo/tarballs/kozojs-testing-0.5.23.tgz","types":"./lib/index.d.ts","engines":{"node":">=20.19.0"},"exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.js"},"./package.json":"./package.json"},"scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","test:watch":"vitest"},"_npmUser":{"name":"zazzo9039","email":"zazzo9039@gmail.com"},"_resolved":"/home/runner/work/kozo/kozo/tarballs/kozojs-testing-0.5.23.tgz","_integrity":"sha512-Abm3NgozzEc8esyEma4kNwrfc1kMaGhY+6PRgR/Tvs2uNVb9qsbZyLfswQeecw7ilmjg3pDkRCafb0I+zk4uEQ==","repository":{"url":"git+https://github.com/zazzo9039/kozo.git","type":"git"},"_npmVersion":"10.9.8","description":"In-process test client for Kozo Framework — no HTTP server required","directories":{},"_nodeVersion":"22.23.1","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.0","vitest":"^2.1.0","typescript":"^5.6.0","@types/node":"^22.0.0","@kozojs/core":"0.5.23"},"peerDependencies":{"@kozojs/core":"^0.5.23"},"_npmOperationalInternal":{"tmp":"tmp/testing_0.5.23_1784969511555_0.7106100222248775","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"@kozojs/testing","version":"0.6.0","keywords":["kozo","testing","test","inject","supertest","http","typescript"],"author":{"name":"Kozo Team"},"license":"MIT","_id":"@kozojs/testing@0.6.0","maintainers":[{"name":"zazzo9039","email":"zazzo9039@gmail.com"}],"homepage":"https://github.com/zazzo9039/kozojs#readme","bugs":{"url":"https://github.com/zazzo9039/kozojs/issues"},"dist":{"shasum":"624c53c4d14e5240f7d9ab157be72265dadfa688","tarball":"https://registry.npmjs.org/@kozojs/testing/-/testing-0.6.0.tgz","fileCount":5,"integrity":"sha512-H8JjmYlvvcISE42sP2Sz8RmerSpiHkOXcOOrmoBNHHmqG9gDbmr79eFE4OsKfOlzquerOh3xwBe7iJsj0tYtiQ==","signatures":[{"sig":"MEQCIATroLrRSxqq8pEyhuLKiE8Nt8lzo2rPe/wdbjPKnCPVAiBpq9uvdekmt0FwzqDAgJ0gRkgMyS8dGtAcuXefypJ67g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@kozojs%2ftesting@0.6.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":12750},"main":"./lib/index.js","type":"module","_from":"file:/home/runner/work/kozojs/kozojs/tarballs/kozojs-testing-0.6.0.tgz","types":"./lib/index.d.ts","engines":{"node":">=20.19.0"},"exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.js"},"./package.json":"./package.json"},"scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","test:watch":"vitest"},"_npmUser":{"name":"zazzo9039","email":"zazzo9039@gmail.com"},"_resolved":"/home/runner/work/kozojs/kozojs/tarballs/kozojs-testing-0.6.0.tgz","_integrity":"sha512-H8JjmYlvvcISE42sP2Sz8RmerSpiHkOXcOOrmoBNHHmqG9gDbmr79eFE4OsKfOlzquerOh3xwBe7iJsj0tYtiQ==","repository":{"url":"git+https://github.com/zazzo9039/kozojs.git","type":"git"},"_npmVersion":"11.16.0","description":"In-process test client for Kozo Framework — no HTTP server required","directories":{},"_nodeVersion":"24.18.0","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.0","vitest":"^2.1.0","typescript":"^5.6.0","@types/node":"^22.0.0","@kozojs/core":"0.6.0"},"peerDependencies":{"@kozojs/core":"^0.6.0"},"_npmOperationalInternal":{"tmp":"tmp/testing_0.6.0_1784988081551_0.738782095372662","host":"s3://npm-registry-packages-npm-production"}},"0.6.1":{"name":"@kozojs/testing","version":"0.6.1","keywords":["kozo","testing","test","inject","supertest","http","typescript"],"author":{"name":"Kozo Team"},"license":"MIT","_id":"@kozojs/testing@0.6.1","maintainers":[{"name":"zazzo9039","email":"zazzo9039@gmail.com"}],"homepage":"https://github.com/zazzo9039/kozojs#readme","bugs":{"url":"https://github.com/zazzo9039/kozojs/issues"},"dist":{"shasum":"0b3a69d44f1b73bfbbac8157482ff8750e9a46c3","tarball":"https://registry.npmjs.org/@kozojs/testing/-/testing-0.6.1.tgz","fileCount":5,"integrity":"sha512-yxbRt//6cH352U4J49cvDvcgVAdajCpqTcacGYgpWOtF+rIE6N/KtCZI8ZS4BruRpLnYP09bpzc5R6pqr1Y7bA==","signatures":[{"sig":"MEUCICIBOBworT0X63uxsKebwG5TiGRDyX8pe+8Rgm2OvgfgAiEAzdc7XxjkCQCSknndhX9b+gOJZo9bMq36M+AR6YVrSdM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@kozojs%2ftesting@0.6.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":13041},"main":"./lib/index.js","type":"module","_from":"file:/home/runner/work/kozojs/kozojs/tarballs/kozojs-testing-0.6.1.tgz","types":"./lib/index.d.ts","engines":{"node":">=20.19.0"},"exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.js"},"./package.json":"./package.json"},"scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","test:watch":"vitest"},"_npmUser":{"name":"zazzo9039","email":"zazzo9039@gmail.com"},"_resolved":"/home/runner/work/kozojs/kozojs/tarballs/kozojs-testing-0.6.1.tgz","_integrity":"sha512-yxbRt//6cH352U4J49cvDvcgVAdajCpqTcacGYgpWOtF+rIE6N/KtCZI8ZS4BruRpLnYP09bpzc5R6pqr1Y7bA==","repository":{"url":"git+https://github.com/zazzo9039/kozojs.git","type":"git"},"_npmVersion":"11.16.0","description":"In-process test client for Kozo Framework — no HTTP server required","directories":{},"_nodeVersion":"24.18.0","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.0","vitest":"^2.1.0","typescript":"^5.6.0","@types/node":"^22.0.0","@kozojs/core":"0.6.1"},"peerDependencies":{"@kozojs/core":"^0.6.1"},"_npmOperationalInternal":{"tmp":"tmp/testing_0.6.1_1785000224343_0.19562881033699275","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"@kozojs/testing","version":"0.7.0","keywords":["kozo","testing","contract-testing","type-safe","test","inject","supertest","http","typescript"],"author":{"name":"Kozo Team"},"license":"MIT","_id":"@kozojs/testing@0.7.0","maintainers":[{"name":"zazzo9039","email":"zazzo9039@gmail.com"}],"homepage":"https://github.com/zazzo9039/kozojs#readme","bugs":{"url":"https://github.com/zazzo9039/kozojs/issues"},"dist":{"shasum":"06b10c178df3363ef997b44ca7504a8f567bcfd5","tarball":"https://registry.npmjs.org/@kozojs/testing/-/testing-0.7.0.tgz","fileCount":5,"integrity":"sha512-TnheIWQ/jYmTFFSXSGbeq2UmIe1bZoCy3t1w7W1NnNXjr3LgkCTDmZz1/34/y5LcLN/Jv2iczvBn4PvtLKk9oQ==","signatures":[{"sig":"MEUCIF0p8vvmL5Z8OgW8gPMALRnrPsMxHQb7xHC9NzWlmrCOAiEAlgsuB7iI3MrnKqYcgGyagTgwIpjgYqXBgpo6g/nD270=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@kozojs%2ftesting@0.7.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":29888},"main":"./lib/index.js","type":"module","_from":"file:/home/runner/work/kozojs/kozojs/tarballs/kozojs-testing-0.7.0.tgz","types":"./lib/index.d.ts","engines":{"node":">=20.19.0"},"exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.js"},"./package.json":"./package.json"},"scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","test:types":"tsc --noEmit -p type-tests/tsconfig.json","test:watch":"vitest"},"_npmUser":{"name":"zazzo9039","email":"zazzo9039@gmail.com"},"_resolved":"/home/runner/work/kozojs/kozojs/tarballs/kozojs-testing-0.7.0.tgz","_integrity":"sha512-TnheIWQ/jYmTFFSXSGbeq2UmIe1bZoCy3t1w7W1NnNXjr3LgkCTDmZz1/34/y5LcLN/Jv2iczvBn4PvtLKk9oQ==","repository":{"url":"git+https://github.com/zazzo9039/kozojs.git","type":"git"},"_npmVersion":"11.16.0","description":"Route-derived contract tests, raw injection, and native transport clients for Kozo Framework","directories":{},"_nodeVersion":"24.18.0","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.0","vitest":"^2.1.0","typescript":"^5.6.0","@types/node":"^22.0.0","@kozojs/core":"0.7.0"},"peerDependencies":{"@kozojs/core":"^0.7.0"},"_npmOperationalInternal":{"tmp":"tmp/testing_0.7.0_1785159351114_0.3420037811969019","host":"s3://npm-registry-packages-npm-production"}},"0.7.1":{"name":"@kozojs/testing","version":"0.7.1","description":"Route-derived contract tests, raw injection, and native transport clients for Kozo Framework","type":"module","main":"./lib/index.js","types":"./lib/index.d.ts","exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.js"},"./package.json":"./package.json"},"keywords":["kozo","testing","contract-testing","type-safe","test","inject","supertest","http","typescript"],"author":{"name":"Kozo Team"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/zazzo9039/kozojs.git"},"homepage":"https://github.com/zazzo9039/kozojs#readme","bugs":{"url":"https://github.com/zazzo9039/kozojs/issues"},"engines":{"node":">=20.19.0"},"peerDependencies":{"@kozojs/core":"^0.7.0"},"devDependencies":{"@types/node":"^22.0.0","tsup":"^8.3.0","typescript":"^5.6.0","vitest":"^2.1.0","@kozojs/core":"0.7.1"},"scripts":{"build":"tsup","dev":"tsup --watch","test":"vitest run","test:types":"tsc --noEmit -p type-tests/tsconfig.json","test:watch":"vitest"},"_id":"@kozojs/testing@0.7.1","_integrity":"sha512-95M9IuauCaXYUJBTbGxk+21PYL1MDpeS3FvW2OeDICFt1ezce+7KHKcRCeX63yMDLBXGcWy5dZ9A9Ke8pjTlIg==","_resolved":"/home/runner/work/kozojs/kozojs/tarballs/kozojs-testing-0.7.1.tgz","_from":"file:/home/runner/work/kozojs/kozojs/tarballs/kozojs-testing-0.7.1.tgz","_nodeVersion":"24.18.0","_npmVersion":"11.16.0","dist":{"integrity":"sha512-95M9IuauCaXYUJBTbGxk+21PYL1MDpeS3FvW2OeDICFt1ezce+7KHKcRCeX63yMDLBXGcWy5dZ9A9Ke8pjTlIg==","shasum":"59610033f77b1f24642a903abeff92c97d33d618","tarball":"https://registry.npmjs.org/@kozojs/testing/-/testing-0.7.1.tgz","fileCount":5,"unpackedSize":29888,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@kozojs%2ftesting@0.7.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIHimsLztkd+72VeQvYi6/uDukjya18TR9/cJ+UNoRqjkAiB2XWkm6LkOxYOn+vjrH10Yq8Na0Cuc+8kF4V082h+iyQ=="}]},"_npmUser":{"name":"zazzo9039","email":"zazzo9039@gmail.com"},"directories":{},"maintainers":[{"name":"zazzo9039","email":"zazzo9039@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/testing_0.7.1_1786374603114_0.1871835493998868"},"_hasShrinkwrap":false}},"time":{"created":"2026-05-29T22:34:55.277Z","modified":"2026-08-10T15:10:03.704Z","0.1.0":"2026-03-07T11:24:12.347Z","0.4.1":"2026-05-29T22:34:55.551Z","0.5.0":"2026-05-30T11:23:58.988Z","0.5.1":"2026-05-30T14:02:59.140Z","0.5.2":"2026-05-30T14:19:05.375Z","0.5.6":"2026-05-31T12:52:22.577Z","0.5.7":"2026-05-31T13:26:03.896Z","0.5.8":"2026-05-31T14:00:35.390Z","0.5.9":"2026-05-31T14:07:14.851Z","0.5.10":"2026-06-03T13:01:36.236Z","0.5.12":"2026-06-11T07:10:02.886Z","0.5.13":"2026-06-11T18:24:59.770Z","0.5.14":"2026-06-11T19:22:40.770Z","0.5.15":"2026-06-11T19:35:09.450Z","0.5.20":"2026-07-13T21:54:15.507Z","0.5.22":"2026-07-24T18:34:11.034Z","0.5.23":"2026-07-25T08:51:51.716Z","0.6.0":"2026-07-25T14:01:21.731Z","0.6.1":"2026-07-25T17:23:44.471Z","0.7.0":"2026-07-27T13:35:51.234Z","0.7.1":"2026-08-10T15:10:03.265Z"},"bugs":{"url":"https://github.com/zazzo9039/kozojs/issues"},"author":{"name":"Kozo Team"},"license":"MIT","homepage":"https://github.com/zazzo9039/kozojs#readme","keywords":["kozo","testing","contract-testing","type-safe","test","inject","supertest","http","typescript"],"repository":{"type":"git","url":"git+https://github.com/zazzo9039/kozojs.git"},"description":"Route-derived contract tests, raw injection, and native transport clients for Kozo Framework","maintainers":[{"name":"zazzo9039","email":"zazzo9039@gmail.com"}],"readme":"<p align=\"center\">\n  <a href=\"https://github.com/zazzo9039/kozojs\">\n    <img src=\"https://raw.githubusercontent.com/zazzo9039/kozojs/main/assets/brand/kozo-banner.jpg\" alt=\"Kozo — TypeScript backend framework: Routes · Validation · OpenAPI · Generated Client\" width=\"960\">\n  </a>\n</p>\n\n# @kozojs/testing\n\nTest a Kozo application through its route contract or through a low-level HTTP\ninterface. Both APIs can run in process; native variants exercise a real\nuWebSockets.js server on an ephemeral port.\n\n## Install\n\n```bash\nnpm install -D @kozojs/testing\n```\n\n## Contract-aware tests\n\nUse `createRouter()` and `mount()` so the app carries its route union in its\nTypeScript type:\n\n```typescript\nimport { createKozo, createRouter, z } from '@kozojs/core';\nimport { createContractTestClient } from '@kozojs/testing';\n\nconst UserSchema = z.object({\n  id: z.string(),\n  name: z.string(),\n});\n\nconst users = createRouter()\n  .post('/', {\n    body: z.object({ name: z.string() }),\n    response: { 201: UserSchema },\n  }, ({ body, json }) => json({ id: 'user-1', ...body }, 201))\n  .get('/:id', {\n    params: z.object({ id: z.string() }),\n    headers: z.object({ authorization: z.string() }),\n    response: {\n      200: UserSchema,\n      404: z.object({ message: z.string() }),\n    },\n  }, ({ params, json }) => json({ id: params.id, name: 'Ada' }, 200));\n\nconst app = createKozo().mount('/users', users);\nconst client = createContractTestClient(app);\n\nconst created = await client.users.post({\n  body: { name: 'Ada' },\n});\n//    ^ status: 201; json(): { id: string; name: string }\n\nconst detail = await client.users.$id.get({\n  params: { id: created.json().id },\n  headers: { authorization: 'Bearer test-token' },\n});\n\nif (detail.status === 200) {\n  detail.json().name; // string\n} else {\n  detail.json().message; // string\n}\n```\n\nThe route tree uses readable segments:\n\n- `/users/:id` becomes `client.users.$id`.\n- `/user-profiles` becomes `client.userProfiles`.\n- HTTP methods are terminal lowercase functions such as `.get()` and `.post()`.\n\nGenerated SDKs use the same shape through `createKozoClient()`, so a contract\ntest written against `client.users.$id.get(...)` maps directly to\n`api.users.$id.get(...)` in application code.\n\nInputs use Zod's input type, so coercible values remain valid at the call site.\nResponses use Zod's output type. A numeric response map produces a\nstatus-discriminated union.\n\n### The static typing boundary\n\nTypeScript cannot inspect a private runtime route registry while compiling a\nconsumer. The contract must therefore be retained through a returned value:\n\n```typescript\nconst app = createKozo()\n  .get('/health', { response: HealthSchema }, handler);\n\n// Or compose a reusable module:\nconst app = createKozo().mount('/users', userRoutes);\n```\n\nThis remains valid at runtime, but its ignored return value cannot enrich the\nexisting variable's type:\n\n```typescript\nconst app = createKozo();\napp.get('/health', handler);\n```\n\nFile-system and plugin routes are also discovered dynamically. Test them with\nthe raw client, or export and mount an explicit static contract alongside their\nruntime registration.\n\n## Raw in-process tests\n\n`createTestClient(app)` accepts string paths and arbitrary inputs. It is the\nright tool for malformed payloads, missing headers, unknown routes and other\ntests that intentionally violate the contract:\n\n```typescript\nimport { createTestClient } from '@kozojs/testing';\n\nconst client = createTestClient(app);\nconst response = await client.post('/users', {\n  name: '',\n  unexpected: true,\n});\n\nexpect(response.status).toBe(400);\n```\n\n`createTestApp(config?)` creates an app and exposes the same raw methods in one\ncall:\n\n```typescript\nimport { createTestApp } from '@kozojs/testing';\n\nconst { app, get, post } = createTestApp({\n  services: { db: mockDb },\n});\n```\n\n## Native transport tests\n\n`createNativeContractTestClient(app)` exposes the typed route tree over real\nHTTP. `createNativeTestClient(app)` exposes the raw API:\n\n```typescript\nimport { createNativeContractTestClient } from '@kozojs/testing';\n\nconst client = await createNativeContractTestClient(app);\ntry {\n  const response = await client.users.$id.get({\n    params: { id: 'user-1' },\n    headers: { authorization: 'Bearer test-token' },\n  });\n} finally {\n  await client.close();\n}\n```\n\nBoth require the optional `uWebSockets.js` dependency. Always call `close()` in\n`finally`, `afterEach`, or `afterAll`.\n\n## Low-level request API\n\nThe raw clients expose `get`, `post`, `put`, `patch`, `delete`, and `inject`.\n`inject` provides complete request control:\n\n```typescript\nconst response = await client.inject({\n  method: 'POST',\n  url: '/users',\n  headers: { authorization: 'Bearer token123' },\n  body: { name: 'Alice' },\n  query: {\n    page: 2,\n    active: false,\n    tag: ['new', 'staff'],\n  },\n});\n```\n\nQuery values may be strings, numbers, booleans, or arrays of those primitives.\nArrays use repeated query keys. `null` and `undefined` are omitted; `0`, `false`\nand empty strings are preserved.\n\nPlain objects, arrays, numbers, and booleans are JSON-serialized and receive an\n`application/json` content type by default. Strings remain raw.\n`URLSearchParams`, `FormData`, `Blob`, `ArrayBuffer`, and typed arrays pass\nthrough to the Fetch `Request`. An explicit `content-type` header always wins.\n\n## Response shape\n\nAll clients return:\n\n| Property | Type | Description |\n|---|---|---|\n| `status` | `number` or declared status union | HTTP status |\n| `headers` | `Headers` | Response headers |\n| `body` | `string` | Raw response body |\n| `ok` | `boolean` or status-derived literal | Whether the status is 2xx |\n| `json()` | Contract output or caller-selected type | Parsed JSON body |\n\n## Complete example\n\nThe runnable\n[`examples/contract-showcase`](../../examples/contract-showcase/README.md)\ncovers typed services, guards, response stripping, OpenAPI, SDK generation,\nraw negative tests, and a native smoke test.\n\n## License\n\nMIT\n","readmeFilename":"README.md"}