{"_id":"@aerofortress/frontend-sdk","_rev":"32-1b35970e408be92c5477dc3577f7f118","name":"@aerofortress/frontend-sdk","dist-tags":{"latest":"4.0.23"},"versions":{"0.1.1":{"name":"@aerofortress/frontend-sdk","version":"0.1.1","keywords":["aerofortress","frontend","doctor","eslint","scaffolding"],"author":{"name":"Lucas Tinoco"},"license":"MIT","_id":"@aerofortress/frontend-sdk@0.1.1","maintainers":[{"name":"lucasrgt","email":"lucas.tinoco@hotmail.com"}],"homepage":"https://github.com/lucasrgt/aerofortress-framework#readme","bugs":{"url":"https://github.com/lucasrgt/aerofortress-framework/issues"},"bin":{"affe-e2e-doctor":"tools/e2e-doctor.mjs","affe-i18n-parity":"tools/i18n-parity.mjs","affe-framework-sync":"tools/framework-sync.mjs","affe-journey-parity":"tools/journey-parity.mjs","affe-endpoint-coverage":"tools/endpoint-coverage.mjs","affe-contract-freshness":"tools/contract-freshness.mjs","affe-error-code-coverage":"tools/error-code-coverage.mjs"},"dist":{"shasum":"fdc78916b22ff95b8ee8177e1ad800b9469fe349","tarball":"https://registry.npmjs.org/@aerofortress/frontend-sdk/-/frontend-sdk-0.1.1.tgz","fileCount":20,"integrity":"sha512-AaM9LwHmaR/UF6zX8sBqi3e/B0RjgB0kfQPJS3o6VkNVgc2wL9WXW50WUrDWbAr1lmNGhLZoQs3N4SASBDz4dQ==","signatures":[{"sig":"MEUCIFc0N8I6J4yyEe1y/zYXLfRPM4g1bs9b6PRxxtz6qzx2AiEAw2zi2sPKvKwAz3HbrKNFg3bhvcGXCkOnrigjTtz5z44=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":108311},"type":"module","exports":{"./doctor":"./tools/doctor.mjs","./e2e-doctor":"./tools/e2e-doctor.mjs","./i18n-parity":"./tools/i18n-parity.mjs","./framework-sync":"./tools/framework-sync.mjs","./journey-parity":"./tools/journey-parity.mjs","./package-versions":"./tools/package-versions.mjs","./endpoint-coverage":"./tools/endpoint-coverage.mjs","./error-code-coverage":"./tools/error-code-coverage.mjs"},"gitHead":"cf7cb99e0099b50c353d9524ff4935d34e265f97","scripts":{"lint":"node packages/eslint-plugin/index.test.cjs","test":"vitest run","check":"npm run typecheck && npm run lint && npm run test","scaffold":"node tools/scaffold-feature.mjs","typecheck":"tsc --noEmit -p packages/aerofortress-react/tsconfig.json","assemble-i18n":"node tools/assemble-i18n.mjs","scaffold:design":"node tools/design-scaffold.mjs"},"_npmUser":{"name":"lucasrgt","email":"lucas.tinoco@hotmail.com"},"repository":{"url":"git+https://github.com/lucasrgt/aerofortress-framework.git","type":"git","directory":"frontend-sdk"},"workspaces":["packages/*"],"_npmVersion":"10.9.8","description":"Canonical AeroFortress frontend doctor and scaffolding tools.","directories":{},"_nodeVersion":"22.23.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.4.3","jsdom":"^25.0.1","react":"^19.0.0","eslint":"^9.17.0","vitest":"^2.1.8","i18next":"^24.2.0","react-dom":"^19.0.0","typescript":"^5.7.2","@types/react":"^19.0.2","react-i18next":"^15.4.0","react-hook-form":"^7.78.0","@types/react-dom":"^19.0.2","@hookform/resolvers":"^5.4.0","@testing-library/dom":"^10.4.0","@tanstack/react-query":"^5.62.7","@vitest/eslint-plugin":"^1.1.43","eslint-plugin-sonarjs":"^3.0.2","@testing-library/react":"^16.1.0","eslint-plugin-jsx-a11y":"^6.10.2","eslint-plugin-no-secrets":"^1.1.2","@typescript-eslint/parser":"^8.18.0","@tanstack/eslint-plugin-query":"^5.62.16","@typescript-eslint/eslint-plugin":"^8.18.0"},"_npmOperationalInternal":{"tmp":"tmp/frontend-sdk_0.1.1_1782411387883_0.1939779036621978","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@aerofortress/frontend-sdk","version":"0.1.2","keywords":["aerofortress","frontend","doctor","eslint","scaffolding"],"author":{"name":"Lucas Tinoco"},"license":"MIT","_id":"@aerofortress/frontend-sdk@0.1.2","maintainers":[{"name":"lucasrgt","email":"lucas.tinoco@hotmail.com"}],"homepage":"https://github.com/lucasrgt/aerofortress-framework#readme","bugs":{"url":"https://github.com/lucasrgt/aerofortress-framework/issues"},"bin":{"affe-e2e-doctor":"tools/e2e-doctor.mjs","affe-i18n-parity":"tools/i18n-parity.mjs","affe-framework-sync":"tools/framework-sync.mjs","affe-journey-parity":"tools/journey-parity.mjs","affe-endpoint-coverage":"tools/endpoint-coverage.mjs","affe-contract-freshness":"tools/contract-freshness.mjs","affe-error-code-coverage":"tools/error-code-coverage.mjs"},"dist":{"shasum":"88b0dcaa20b2d77a26960b3846f35cc6147706a3","tarball":"https://registry.npmjs.org/@aerofortress/frontend-sdk/-/frontend-sdk-0.1.2.tgz","fileCount":20,"integrity":"sha512-s5Y6NSBE2LiCXLiE0dyLvAQZRpzfaWQ/z2lHN7ay9eLze/Qyd6QtANDCApd1z0lbb0EDQfai8kTWpxs17iUGVg==","signatures":[{"sig":"MEUCIBIN1zWpEUSlOELQhp2jdjMbXulA0/hckjqfGKyXsM5FAiEAkzexlMdC6e1DM6Df89RYSY1E3GpKGlrMg3YJBTpG6/g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":108331},"type":"module","exports":{"./doctor":"./tools/doctor.mjs","./e2e-doctor":"./tools/e2e-doctor.mjs","./i18n-parity":"./tools/i18n-parity.mjs","./framework-sync":"./tools/framework-sync.mjs","./journey-parity":"./tools/journey-parity.mjs","./package-versions":"./tools/package-versions.mjs","./endpoint-coverage":"./tools/endpoint-coverage.mjs","./error-code-coverage":"./tools/error-code-coverage.mjs"},"gitHead":"c786166d1c5bb6ae0fede761dd41aac1b3e83804","scripts":{"lint":"node packages/eslint-plugin/index.test.cjs","test":"vitest run","check":"npm run typecheck && npm run lint && npm run test","scaffold":"node tools/scaffold-feature.mjs","typecheck":"tsc --noEmit -p packages/aerofortress-react/tsconfig.json","assemble-i18n":"node tools/assemble-i18n.mjs","scaffold:design":"node tools/design-scaffold.mjs"},"_npmUser":{"name":"lucasrgt","email":"lucas.tinoco@hotmail.com"},"repository":{"url":"git+https://github.com/lucasrgt/aerofortress-framework.git","type":"git","directory":"frontend-sdk"},"workspaces":["packages/*"],"_npmVersion":"10.9.8","description":"Canonical AeroFortress frontend doctor and scaffolding tools.","directories":{},"_nodeVersion":"22.23.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.4.3","jsdom":"^25.0.1","react":"^19.0.0","eslint":"^9.17.0","vitest":"^2.1.8","i18next":"^24.2.0","react-dom":"^19.0.0","typescript":"^5.7.2","@types/react":"^19.0.2","react-i18next":"^15.4.0","react-hook-form":"^7.78.0","@types/react-dom":"^19.0.2","@hookform/resolvers":"^5.4.0","@testing-library/dom":"^10.4.0","@tanstack/react-query":"^5.62.7","@vitest/eslint-plugin":"^1.1.43","eslint-plugin-sonarjs":"^3.0.2","@testing-library/react":"^16.1.0","eslint-plugin-jsx-a11y":"^6.10.2","eslint-plugin-no-secrets":"^1.1.2","@typescript-eslint/parser":"^8.18.0","@tanstack/eslint-plugin-query":"^5.62.16","@typescript-eslint/eslint-plugin":"^8.18.0"},"_npmOperationalInternal":{"tmp":"tmp/frontend-sdk_0.1.2_1783002052812_0.5628237304780412","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@aerofortress/frontend-sdk","version":"0.1.3","keywords":["aerofortress","frontend","doctor","eslint","scaffolding"],"author":{"name":"Lucas Tinoco"},"license":"MIT","_id":"@aerofortress/frontend-sdk@0.1.3","maintainers":[{"name":"lucasrgt","email":"lucas.tinoco@hotmail.com"}],"homepage":"https://github.com/lucasrgt/aerofortress-framework#readme","bugs":{"url":"https://github.com/lucasrgt/aerofortress-framework/issues"},"bin":{"affe-e2e-doctor":"tools/e2e-doctor.mjs","affe-i18n-parity":"tools/i18n-parity.mjs","affe-framework-sync":"tools/framework-sync.mjs","affe-journey-parity":"tools/journey-parity.mjs","affe-endpoint-coverage":"tools/endpoint-coverage.mjs","affe-contract-freshness":"tools/contract-freshness.mjs","affe-error-code-coverage":"tools/error-code-coverage.mjs"},"dist":{"shasum":"5b7d11c38035d73a4f60215eb8bd2a55697e2b53","tarball":"https://registry.npmjs.org/@aerofortress/frontend-sdk/-/frontend-sdk-0.1.3.tgz","fileCount":20,"integrity":"sha512-JKKBeYE4/mFs5mk614SJUWahnd0HJO284uLbdUYK2JXJaqco+w2/szB2/2uhDqjFn6pEQxXbqTL/AQzZbIBBsA==","signatures":[{"sig":"MEUCICpxH+CbV83CDacFhnKEu0n8pTr6NEEkKVZO7xxh1hB9AiEAkZawmbPbrG++7b28yjTPINatUjLt5ZStlx58Sz5lbhQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":110063},"type":"module","exports":{"./doctor":"./tools/doctor.mjs","./e2e-doctor":"./tools/e2e-doctor.mjs","./i18n-parity":"./tools/i18n-parity.mjs","./framework-sync":"./tools/framework-sync.mjs","./journey-parity":"./tools/journey-parity.mjs","./package-versions":"./tools/package-versions.mjs","./endpoint-coverage":"./tools/endpoint-coverage.mjs","./error-code-coverage":"./tools/error-code-coverage.mjs"},"gitHead":"20bab0c84959baa7f60da8ea364e9bb8d56e082d","scripts":{"lint":"node packages/eslint-plugin/index.test.cjs","test":"vitest run","check":"npm run typecheck && npm run lint && npm run test","scaffold":"node tools/scaffold-feature.mjs","typecheck":"tsc --noEmit -p packages/aerofortress-react/tsconfig.json","assemble-i18n":"node tools/assemble-i18n.mjs","scaffold:design":"node tools/design-scaffold.mjs"},"_npmUser":{"name":"lucasrgt","email":"lucas.tinoco@hotmail.com"},"repository":{"url":"git+https://github.com/lucasrgt/aerofortress-framework.git","type":"git","directory":"frontend-sdk"},"workspaces":["packages/*"],"_npmVersion":"10.9.8","description":"Canonical AeroFortress frontend doctor and scaffolding tools.","directories":{},"_nodeVersion":"22.23.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.4.3","jsdom":"^25.0.1","react":"^19.0.0","eslint":"^9.17.0","vitest":"^2.1.8","i18next":"^24.2.0","react-dom":"^19.0.0","typescript":"^5.7.2","@types/react":"^19.0.2","react-i18next":"^15.4.0","react-hook-form":"^7.78.0","@types/react-dom":"^19.0.2","@hookform/resolvers":"^5.4.0","@testing-library/dom":"^10.4.0","@tanstack/react-query":"^5.62.7","@vitest/eslint-plugin":"^1.1.43","eslint-plugin-sonarjs":"^3.0.2","@testing-library/react":"^16.1.0","eslint-plugin-jsx-a11y":"^6.10.2","eslint-plugin-no-secrets":"^1.1.2","@typescript-eslint/parser":"^8.18.0","@tanstack/eslint-plugin-query":"^5.62.16","@typescript-eslint/eslint-plugin":"^8.18.0"},"_npmOperationalInternal":{"tmp":"tmp/frontend-sdk_0.1.3_1783004553932_0.19535703371588675","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"@aerofortress/frontend-sdk","version":"0.1.4","keywords":["aerofortress","frontend","doctor","eslint","scaffolding"],"author":{"name":"Lucas Tinoco"},"license":"MIT","_id":"@aerofortress/frontend-sdk@0.1.4","maintainers":[{"name":"lucasrgt","email":"lucas.tinoco@hotmail.com"}],"homepage":"https://github.com/lucasrgt/aerofortress-framework#readme","bugs":{"url":"https://github.com/lucasrgt/aerofortress-framework/issues"},"bin":{"affe-e2e-doctor":"tools/e2e-doctor.mjs","affe-i18n-parity":"tools/i18n-parity.mjs","affe-framework-sync":"tools/framework-sync.mjs","affe-journey-parity":"tools/journey-parity.mjs","affe-endpoint-coverage":"tools/endpoint-coverage.mjs","affe-contract-freshness":"tools/contract-freshness.mjs","affe-error-code-coverage":"tools/error-code-coverage.mjs"},"dist":{"shasum":"a0db4c102140e138f357e27353ff9ab7617a8fa9","tarball":"https://registry.npmjs.org/@aerofortress/frontend-sdk/-/frontend-sdk-0.1.4.tgz","fileCount":20,"integrity":"sha512-fLKeRtvsIoLqaUPizlWzDFuqaP5r/CNm2xUCXYFdi8S7k9/krr4BZiMjUdVKN4q38uYHIKiUg5Bfb4zsAdyH4A==","signatures":[{"sig":"MEUCIQCAR6n7YEcpBDHAaFO7tzcmRVuemvxf0uQ6wIdAp0IaJQIgE4y1GI30ooQf0UaBbHM0WIx8SrJIB/9LzMwQ+IO+270=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":110521},"type":"module","exports":{"./doctor":"./tools/doctor.mjs","./e2e-doctor":"./tools/e2e-doctor.mjs","./i18n-parity":"./tools/i18n-parity.mjs","./framework-sync":"./tools/framework-sync.mjs","./journey-parity":"./tools/journey-parity.mjs","./package-versions":"./tools/package-versions.mjs","./endpoint-coverage":"./tools/endpoint-coverage.mjs","./error-code-coverage":"./tools/error-code-coverage.mjs"},"gitHead":"363e4651fe2e7b7dd9872e6e7cff8217c6d61c81","scripts":{"lint":"node packages/eslint-plugin/index.test.cjs","test":"vitest run","check":"npm run typecheck && npm run lint && npm run test","scaffold":"node tools/scaffold-feature.mjs","typecheck":"tsc --noEmit -p packages/aerofortress-react/tsconfig.json","assemble-i18n":"node tools/assemble-i18n.mjs","scaffold:design":"node tools/design-scaffold.mjs"},"_npmUser":{"name":"lucasrgt","email":"lucas.tinoco@hotmail.com"},"repository":{"url":"git+https://github.com/lucasrgt/aerofortress-framework.git","type":"git","directory":"frontend-sdk"},"workspaces":["packages/*"],"_npmVersion":"10.9.8","description":"Canonical AeroFortress frontend doctor and scaffolding tools.","directories":{},"_nodeVersion":"22.23.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.4.3","jsdom":"^25.0.1","react":"^19.0.0","eslint":"^9.17.0","vitest":"^2.1.8","i18next":"^24.2.0","react-dom":"^19.0.0","typescript":"^5.7.2","@types/react":"^19.0.2","react-i18next":"^15.4.0","react-hook-form":"^7.78.0","@types/react-dom":"^19.0.2","@hookform/resolvers":"^5.4.0","@testing-library/dom":"^10.4.0","@tanstack/react-query":"^5.62.7","@vitest/eslint-plugin":"^1.1.43","eslint-plugin-sonarjs":"^3.0.2","@testing-library/react":"^16.1.0","eslint-plugin-jsx-a11y":"^6.10.2","eslint-plugin-no-secrets":"^1.1.2","@typescript-eslint/parser":"^8.18.0","@tanstack/eslint-plugin-query":"^5.62.16","@typescript-eslint/eslint-plugin":"^8.18.0"},"_npmOperationalInternal":{"tmp":"tmp/frontend-sdk_0.1.4_1783897686130_0.19928343991215636","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@aerofortress/frontend-sdk","version":"0.2.0","keywords":["aerofortress","frontend","doctor","eslint","scaffolding"],"author":{"name":"Lucas Tinoco"},"license":"MIT","_id":"@aerofortress/frontend-sdk@0.2.0","maintainers":[{"name":"lucasrgt","email":"lucas.tinoco@hotmail.com"}],"homepage":"https://github.com/lucasrgt/aerofortress-framework#readme","bugs":{"url":"https://github.com/lucasrgt/aerofortress-framework/issues"},"bin":{"affe-e2e-doctor":"tools/e2e-doctor.mjs","affe-i18n-parity":"tools/i18n-parity.mjs","affe-framework-sync":"tools/framework-sync.mjs","affe-journey-parity":"tools/journey-parity.mjs","affe-endpoint-coverage":"tools/endpoint-coverage.mjs","affe-contract-freshness":"tools/contract-freshness.mjs","affe-error-code-coverage":"tools/error-code-coverage.mjs"},"dist":{"shasum":"5039f4c082f39ffbafad64223c6706d7045a6fdd","tarball":"https://registry.npmjs.org/@aerofortress/frontend-sdk/-/frontend-sdk-0.2.0.tgz","fileCount":20,"integrity":"sha512-QbOzUxGAeCR0DJt7cX7w2kAd/jpB8SEgc9xiD2cs6oOsRdWXsHWwa5ZCxd3+vAQ6ho1s3sC9MZdWc7U6LzaghQ==","signatures":[{"sig":"MEUCIH5AgFL+HflOxVsZ8A1fGFfeejtnActEaXkDEy/opH63AiEA3lP1krYlYD9FTXZYb5EAcqoZiNO784j+5kYyYjP4hOI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":115235},"type":"module","exports":{"./doctor":"./tools/doctor.mjs","./e2e-doctor":"./tools/e2e-doctor.mjs","./i18n-parity":"./tools/i18n-parity.mjs","./framework-sync":"./tools/framework-sync.mjs","./journey-parity":"./tools/journey-parity.mjs","./package-versions":"./tools/package-versions.mjs","./endpoint-coverage":"./tools/endpoint-coverage.mjs","./error-code-coverage":"./tools/error-code-coverage.mjs"},"gitHead":"44ae49252581911b463708fd5f27dce5951dbbe3","scripts":{"lint":"npm run lint:source && npm run lint:rules","test":"vitest run --exclude **/*.assay.test.ts --exclude **/*.assay.test.tsx","check":"npm run typecheck && npm run lint && npm run test && npm run test:avp","scaffold":"node tools/scaffold-feature.mjs","test:avp":"assay verify","typecheck":"npm run typecheck:spine && npm run typecheck:sample","lint:rules":"node packages/eslint-plugin/index.test.cjs","lint:source":"cd .. && node frontend-sdk/node_modules/eslint/bin/eslint.js examples/sample-app/frontend","assemble-i18n":"node tools/assemble-i18n.mjs","scaffold:design":"node tools/design-scaffold.mjs","typecheck:spine":"tsc --noEmit -p packages/aerofortress-react/tsconfig.json","typecheck:sample":"tsc --noEmit -p ../examples/sample-app/frontend/tsconfig.json"},"_npmUser":{"name":"lucasrgt","email":"lucas.tinoco@hotmail.com"},"overrides":{"esbuild":"^0.28.1"},"repository":{"url":"git+https://github.com/lucasrgt/aerofortress-framework.git","type":"git","directory":"frontend-sdk"},"workspaces":["packages/*"],"_npmVersion":"10.9.8","description":"Canonical AeroFortress frontend doctor and scaffolding tools.","directories":{},"_nodeVersion":"22.23.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"msw":"^2.15.0","zod":"^4.4.3","jsdom":"^25.0.1","react":"^19.0.0","eslint":"^9.17.0","vitest":"^4.1.10","i18next":"^24.2.0","react-dom":"^19.0.0","typescript":"^5.7.2","@types/react":"^19.0.2","react-i18next":"^15.4.0","react-hook-form":"^7.78.0","@types/react-dom":"^19.0.2","@aerofortress/assay":"0.3.1","@hookform/resolvers":"^5.4.0","@testing-library/dom":"^10.4.0","@tanstack/react-query":"^5.62.7","@vitest/eslint-plugin":"^1.1.43","eslint-plugin-sonarjs":"^4.2.0","@testing-library/react":"^16.1.0","eslint-plugin-jsx-a11y":"^6.10.2","eslint-plugin-no-secrets":"^1.1.2","@typescript-eslint/parser":"^8.18.0","@testing-library/user-event":"^14.6.1","@tanstack/eslint-plugin-query":"^5.62.16","@typescript-eslint/eslint-plugin":"^8.18.0"},"_npmOperationalInternal":{"tmp":"tmp/frontend-sdk_0.2.0_1784584858280_0.9003450027096709","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@aerofortress/frontend-sdk","version":"0.2.1","keywords":["aerofortress","frontend","doctor","eslint","scaffolding"],"author":{"name":"Lucas Tinoco"},"license":"MIT","_id":"@aerofortress/frontend-sdk@0.2.1","maintainers":[{"name":"lucasrgt","email":"lucas.tinoco@hotmail.com"}],"homepage":"https://github.com/lucasrgt/aerofortress-framework#readme","bugs":{"url":"https://github.com/lucasrgt/aerofortress-framework/issues"},"bin":{"affe-e2e-doctor":"tools/e2e-doctor.mjs","affe-i18n-parity":"tools/i18n-parity.mjs","affe-framework-sync":"tools/framework-sync.mjs","affe-journey-parity":"tools/journey-parity.mjs","affe-endpoint-coverage":"tools/endpoint-coverage.mjs","affe-contract-freshness":"tools/contract-freshness.mjs","affe-error-code-coverage":"tools/error-code-coverage.mjs"},"dist":{"shasum":"92329b404f576332f751b461d2631dc4e1cdb083","tarball":"https://registry.npmjs.org/@aerofortress/frontend-sdk/-/frontend-sdk-0.2.1.tgz","fileCount":20,"integrity":"sha512-/0I+xhI98YF3RDc7eMKjtN+lX3Fn1PjnU7VqJ98riYj7HSN91PLXeED9lTBLqH8mDEHtD5xqfHWnmI3MvgEGPw==","signatures":[{"sig":"MEQCIA/P6SJ2FVel6bdRvXZ21VIBLS3A9vOnlgbpDITWM7WTAiBqdiwSh+Dy6Np9U4lNCPpEaDvOgEJt/MW2gNDdxp3Wxw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":115235},"type":"module","exports":{"./doctor":"./tools/doctor.mjs","./e2e-doctor":"./tools/e2e-doctor.mjs","./i18n-parity":"./tools/i18n-parity.mjs","./framework-sync":"./tools/framework-sync.mjs","./journey-parity":"./tools/journey-parity.mjs","./package-versions":"./tools/package-versions.mjs","./endpoint-coverage":"./tools/endpoint-coverage.mjs","./error-code-coverage":"./tools/error-code-coverage.mjs"},"gitHead":"13061cc8ffb102bc089dbed7aee8405037a39577","scripts":{"lint":"npm run lint:source && npm run lint:rules","test":"vitest run --exclude **/*.assay.test.ts --exclude **/*.assay.test.tsx","check":"npm run typecheck && npm run lint && npm run test && npm run test:avp","scaffold":"node tools/scaffold-feature.mjs","test:avp":"assay verify","typecheck":"npm run typecheck:spine && npm run typecheck:sample","lint:rules":"node packages/eslint-plugin/index.test.cjs","lint:source":"cd .. && node frontend-sdk/node_modules/eslint/bin/eslint.js examples/sample-app/frontend","assemble-i18n":"node tools/assemble-i18n.mjs","scaffold:design":"node tools/design-scaffold.mjs","typecheck:spine":"tsc --noEmit -p packages/aerofortress-react/tsconfig.json","typecheck:sample":"tsc --noEmit -p ../examples/sample-app/frontend/tsconfig.json"},"_npmUser":{"name":"lucasrgt","email":"lucas.tinoco@hotmail.com"},"overrides":{"esbuild":"^0.28.1"},"repository":{"url":"git+https://github.com/lucasrgt/aerofortress-framework.git","type":"git","directory":"frontend-sdk"},"workspaces":["packages/*"],"_npmVersion":"10.9.8","description":"Canonical AeroFortress frontend doctor and scaffolding tools.","directories":{},"_nodeVersion":"22.23.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"msw":"^2.15.0","zod":"^4.4.3","jsdom":"^25.0.1","react":"^19.0.0","eslint":"^9.17.0","vitest":"^4.1.10","i18next":"^24.2.0","react-dom":"^19.0.0","typescript":"^5.7.2","@types/react":"^19.0.2","react-i18next":"^15.4.0","react-hook-form":"^7.78.0","@types/react-dom":"^19.0.2","@aerofortress/assay":"0.3.1","@hookform/resolvers":"^5.4.0","@testing-library/dom":"^10.4.0","@tanstack/react-query":"^5.62.7","@vitest/eslint-plugin":"^1.1.43","eslint-plugin-sonarjs":"^4.2.0","@testing-library/react":"^16.1.0","eslint-plugin-jsx-a11y":"^6.10.2","eslint-plugin-no-secrets":"^1.1.2","@typescript-eslint/parser":"^8.18.0","@testing-library/user-event":"^14.6.1","@tanstack/eslint-plugin-query":"^5.62.16","@typescript-eslint/eslint-plugin":"^8.18.0"},"_npmOperationalInternal":{"tmp":"tmp/frontend-sdk_0.2.1_1784587705429_0.05685792539416301","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"@aerofortress/frontend-sdk","version":"0.2.2","keywords":["aerofortress","frontend","doctor","eslint","scaffolding"],"author":{"name":"Lucas Tinoco"},"license":"MIT","_id":"@aerofortress/frontend-sdk@0.2.2","maintainers":[{"name":"lucasrgt","email":"lucas.tinoco@hotmail.com"}],"homepage":"https://github.com/lucasrgt/aerofortress-framework#readme","bugs":{"url":"https://github.com/lucasrgt/aerofortress-framework/issues"},"bin":{"affe-e2e-doctor":"tools/e2e-doctor.mjs","affe-i18n-parity":"tools/i18n-parity.mjs","affe-framework-sync":"tools/framework-sync.mjs","affe-journey-parity":"tools/journey-parity.mjs","affe-endpoint-coverage":"tools/endpoint-coverage.mjs","affe-contract-freshness":"tools/contract-freshness.mjs","affe-error-code-coverage":"tools/error-code-coverage.mjs"},"dist":{"shasum":"1212437e1560add4a2af70385ec0056c8553bf35","tarball":"https://registry.npmjs.org/@aerofortress/frontend-sdk/-/frontend-sdk-0.2.2.tgz","fileCount":20,"integrity":"sha512-T0YZ26KU9ys3r5fs20Y19wuUasLe6qpmImE+s3A/8qToARBlwZcaAJyopQPLsgijsjsWUQ2xu9vzwUNdV0E5OQ==","signatures":[{"sig":"MEQCIDOcvKpF/cJJ+pWYimvbnjFizPWbNOoTaJqalhkMGCe1AiBcE7aFtjWPG4FGTY3WvuM30pn7t2Klk3f75ybxPcDj7Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":116419},"type":"module","exports":{"./doctor":"./tools/doctor.mjs","./e2e-doctor":"./tools/e2e-doctor.mjs","./i18n-parity":"./tools/i18n-parity.mjs","./framework-sync":"./tools/framework-sync.mjs","./journey-parity":"./tools/journey-parity.mjs","./package-versions":"./tools/package-versions.mjs","./endpoint-coverage":"./tools/endpoint-coverage.mjs","./error-code-coverage":"./tools/error-code-coverage.mjs"},"gitHead":"6208c0ec0e6cf16701e58398007b22cab687b570","scripts":{"lint":"npm run lint:source && npm run lint:rules","test":"vitest run --exclude **/*.assay.test.ts --exclude **/*.assay.test.tsx","check":"npm run typecheck && npm run lint && npm run test && npm run test:avp","scaffold":"node tools/scaffold-feature.mjs","test:avp":"assay verify","typecheck":"npm run typecheck:spine && npm run typecheck:sample","lint:rules":"node packages/eslint-plugin/index.test.cjs","lint:source":"cd .. && node frontend-sdk/node_modules/eslint/bin/eslint.js examples/sample-app/frontend","assemble-i18n":"node tools/assemble-i18n.mjs","scaffold:design":"node tools/design-scaffold.mjs","typecheck:spine":"tsc --noEmit -p packages/aerofortress-react/tsconfig.json","typecheck:sample":"tsc --noEmit -p ../examples/sample-app/frontend/tsconfig.json"},"_npmUser":{"name":"lucasrgt","email":"lucas.tinoco@hotmail.com"},"overrides":{"esbuild":"^0.28.1"},"repository":{"url":"git+https://github.com/lucasrgt/aerofortress-framework.git","type":"git","directory":"frontend-sdk"},"workspaces":["packages/*"],"_npmVersion":"10.9.8","description":"Canonical AeroFortress frontend doctor and scaffolding tools.","directories":{},"_nodeVersion":"22.23.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"msw":"^2.15.0","zod":"^4.4.3","jsdom":"^25.0.1","react":"^19.0.0","eslint":"^9.17.0","vitest":"^4.1.10","i18next":"^24.2.0","react-dom":"^19.0.0","typescript":"^5.7.2","@types/react":"^19.0.2","react-i18next":"^15.4.0","react-hook-form":"^7.78.0","@types/react-dom":"^19.0.2","@aerofortress/assay":"0.3.1","@hookform/resolvers":"^5.4.0","@testing-library/dom":"^10.4.0","@tanstack/react-query":"^5.62.7","@vitest/eslint-plugin":"^1.1.43","eslint-plugin-sonarjs":"^4.2.0","@testing-library/react":"^16.1.0","eslint-plugin-jsx-a11y":"^6.10.2","eslint-plugin-no-secrets":"^1.1.2","@typescript-eslint/parser":"^8.18.0","@testing-library/user-event":"^14.6.1","@tanstack/eslint-plugin-query":"^5.62.16","@typescript-eslint/eslint-plugin":"^8.18.0"},"_npmOperationalInternal":{"tmp":"tmp/frontend-sdk_0.2.2_1784594824614_0.8162960724112325","host":"s3://npm-registry-packages-npm-production"}},"0.2.3":{"name":"@aerofortress/frontend-sdk","version":"0.2.3","keywords":["aerofortress","frontend","doctor","eslint","scaffolding"],"author":{"name":"Lucas Tinoco"},"license":"MIT","_id":"@aerofortress/frontend-sdk@0.2.3","maintainers":[{"name":"lucasrgt","email":"lucas.tinoco@hotmail.com"}],"homepage":"https://github.com/lucasrgt/aerofortress-framework#readme","bugs":{"url":"https://github.com/lucasrgt/aerofortress-framework/issues"},"bin":{"affe-e2e-doctor":"tools/e2e-doctor.mjs","affe-i18n-parity":"tools/i18n-parity.mjs","affe-framework-sync":"tools/framework-sync.mjs","affe-journey-parity":"tools/journey-parity.mjs","affe-endpoint-coverage":"tools/endpoint-coverage.mjs","affe-contract-freshness":"tools/contract-freshness.mjs","affe-error-code-coverage":"tools/error-code-coverage.mjs"},"dist":{"shasum":"1b1eff803560002abb108f8a5872a2276430f41a","tarball":"https://registry.npmjs.org/@aerofortress/frontend-sdk/-/frontend-sdk-0.2.3.tgz","fileCount":20,"integrity":"sha512-xDR+SqTDomDzbWDAmrQuoYvhyPCOExSkpXF8DEEFghkcWWUy23PGzOu5Hl4ZvNuH5edyzKJUP3DXffiSOvCJ5Q==","signatures":[{"sig":"MEQCIDsnPcbfYsPA8NOr4iB/XBd7UgKgiNInA077rKyQGrDXAiB82FAs6MsQHn0WCMhcM9TCB5Qu/Unts2flhPE1Zl4vdQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":116794},"type":"module","exports":{"./doctor":"./tools/doctor.mjs","./e2e-doctor":"./tools/e2e-doctor.mjs","./i18n-parity":"./tools/i18n-parity.mjs","./framework-sync":"./tools/framework-sync.mjs","./journey-parity":"./tools/journey-parity.mjs","./package-versions":"./tools/package-versions.mjs","./endpoint-coverage":"./tools/endpoint-coverage.mjs","./error-code-coverage":"./tools/error-code-coverage.mjs"},"gitHead":"ee75d0fa20f9f9b22eca5f01947f2fe1a0db17b7","scripts":{"lint":"npm run lint:source && npm run lint:rules","test":"vitest run --exclude **/*.assay.test.ts --exclude **/*.assay.test.tsx","check":"npm run typecheck && npm run lint && npm run test && npm run test:avp","scaffold":"node tools/scaffold-feature.mjs","test:avp":"assay verify","typecheck":"npm run typecheck:spine && npm run typecheck:sample","lint:rules":"node packages/eslint-plugin/index.test.cjs","lint:source":"cd .. && node frontend-sdk/node_modules/eslint/bin/eslint.js examples/sample-app/frontend","assemble-i18n":"node tools/assemble-i18n.mjs","scaffold:design":"node tools/design-scaffold.mjs","typecheck:spine":"tsc --noEmit -p packages/aerofortress-react/tsconfig.json","typecheck:sample":"tsc --noEmit -p ../examples/sample-app/frontend/tsconfig.json"},"_npmUser":{"name":"lucasrgt","email":"lucas.tinoco@hotmail.com"},"overrides":{"esbuild":"^0.28.1"},"repository":{"url":"git+https://github.com/lucasrgt/aerofortress-framework.git","type":"git","directory":"frontend-sdk"},"workspaces":["packages/*"],"_npmVersion":"10.9.8","description":"Canonical AeroFortress frontend doctor and scaffolding tools.","directories":{},"_nodeVersion":"22.23.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"msw":"^2.15.0","zod":"^4.4.3","jsdom":"^25.0.1","react":"^19.0.0","eslint":"^9.17.0","vitest":"^4.1.10","i18next":"^24.2.0","react-dom":"^19.0.0","typescript":"^5.7.2","@types/react":"^19.0.2","react-i18next":"^15.4.0","react-hook-form":"^7.78.0","@types/react-dom":"^19.0.2","@aerofortress/assay":"0.3.1","@hookform/resolvers":"^5.4.0","@testing-library/dom":"^10.4.0","@tanstack/react-query":"^5.62.7","@vitest/eslint-plugin":"^1.1.43","eslint-plugin-sonarjs":"^4.2.0","@testing-library/react":"^16.1.0","eslint-plugin-jsx-a11y":"^6.10.2","eslint-plugin-no-secrets":"^1.1.2","@typescript-eslint/parser":"^8.18.0","@testing-library/user-event":"^14.6.1","@tanstack/eslint-plugin-query":"^5.62.16","@typescript-eslint/eslint-plugin":"^8.18.0"},"_npmOperationalInternal":{"tmp":"tmp/frontend-sdk_0.2.3_1784599582639_0.09900209261401494","host":"s3://npm-registry-packages-npm-production"}},"0.2.4":{"name":"@aerofortress/frontend-sdk","version":"0.2.4","keywords":["aerofortress","frontend","doctor","eslint","scaffolding"],"author":{"name":"Lucas Tinoco"},"license":"MIT","_id":"@aerofortress/frontend-sdk@0.2.4","maintainers":[{"name":"lucasrgt","email":"lucas.tinoco@hotmail.com"}],"homepage":"https://github.com/lucasrgt/aerofortress-framework#readme","bugs":{"url":"https://github.com/lucasrgt/aerofortress-framework/issues"},"bin":{"affe-e2e-doctor":"tools/e2e-doctor.mjs","affe-feature-e2e":"tools/feature-e2e-coverage.mjs","affe-i18n-parity":"tools/i18n-parity.mjs","affe-framework-sync":"tools/framework-sync.mjs","affe-journey-parity":"tools/journey-parity.mjs","affe-endpoint-coverage":"tools/endpoint-coverage.mjs","affe-contract-freshness":"tools/contract-freshness.mjs","affe-error-code-coverage":"tools/error-code-coverage.mjs"},"dist":{"shasum":"2b9a998b7544a31f979b9706cf449807c3eaa291","tarball":"https://registry.npmjs.org/@aerofortress/frontend-sdk/-/frontend-sdk-0.2.4.tgz","fileCount":21,"integrity":"sha512-2VoODB1V2fPzZTpbWf4UnnhA35YNyooHAuaIImQKFKLOjlLy+YhSA24o1ywymCFcfJ2FSz1+V7hGEILtRskHSA==","signatures":[{"sig":"MEQCIQCVu0Yw0vNMide+nSxSDWouDKvg0CaPAJWjV3ZJiFslgwIfFNjoVKMmUyHv1tdRfdOmNs1nhbeg7KMY29zwlYZPTg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":130251},"type":"module","exports":{"./doctor":"./tools/doctor.mjs","./e2e-doctor":"./tools/e2e-doctor.mjs","./i18n-parity":"./tools/i18n-parity.mjs","./framework-sync":"./tools/framework-sync.mjs","./journey-parity":"./tools/journey-parity.mjs","./package-versions":"./tools/package-versions.mjs","./endpoint-coverage":"./tools/endpoint-coverage.mjs","./error-code-coverage":"./tools/error-code-coverage.mjs","./feature-e2e-coverage":"./tools/feature-e2e-coverage.mjs"},"gitHead":"aa2320c39c7b01f79e60f91fd8bb921c0490c9e8","scripts":{"lint":"npm run lint:source && npm run lint:rules","test":"vitest run --exclude **/*.assay.test.ts --exclude **/*.assay.test.tsx","check":"npm run typecheck && npm run lint && npm run test && npm run test:avp","scaffold":"node tools/scaffold-feature.mjs","test:avp":"assay verify","typecheck":"npm run typecheck:spine && npm run typecheck:sample","lint:rules":"node packages/eslint-plugin/index.test.cjs","lint:source":"cd .. && node frontend-sdk/node_modules/eslint/bin/eslint.js examples/sample-app/frontend","assemble-i18n":"node tools/assemble-i18n.mjs","scaffold:design":"node tools/design-scaffold.mjs","typecheck:spine":"tsc --noEmit -p packages/aerofortress-react/tsconfig.json","typecheck:sample":"tsc --noEmit -p ../examples/sample-app/frontend/tsconfig.json"},"_npmUser":{"name":"lucasrgt","email":"lucas.tinoco@hotmail.com"},"overrides":{"esbuild":"^0.28.1"},"repository":{"url":"git+https://github.com/lucasrgt/aerofortress-framework.git","type":"git","directory":"frontend-sdk"},"workspaces":["packages/*"],"_npmVersion":"10.9.8","description":"Canonical AeroFortress frontend doctor and scaffolding tools.","directories":{},"_nodeVersion":"22.23.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"msw":"^2.15.0","zod":"^4.4.3","jsdom":"^25.0.1","react":"^19.0.0","eslint":"^9.17.0","vitest":"^4.1.10","i18next":"^24.2.0","react-dom":"^19.0.0","typescript":"^5.7.2","@types/react":"^19.0.2","react-i18next":"^15.4.0","react-hook-form":"^7.78.0","@types/react-dom":"^19.0.2","@aerofortress/assay":"0.3.1","@hookform/resolvers":"^5.4.0","@testing-library/dom":"^10.4.0","@tanstack/react-query":"^5.62.7","@vitest/eslint-plugin":"^1.1.43","eslint-plugin-sonarjs":"^4.2.0","@testing-library/react":"^16.1.0","eslint-plugin-jsx-a11y":"^6.10.2","eslint-plugin-no-secrets":"^1.1.2","@typescript-eslint/parser":"^8.18.0","@testing-library/user-event":"^14.6.1","@tanstack/eslint-plugin-query":"^5.62.16","@typescript-eslint/eslint-plugin":"^8.18.0"},"_npmOperationalInternal":{"tmp":"tmp/frontend-sdk_0.2.4_1784610773776_0.4381686879136555","host":"s3://npm-registry-packages-npm-production"}},"0.2.5":{"name":"@aerofortress/frontend-sdk","version":"0.2.5","keywords":["aerofortress","frontend","doctor","eslint","scaffolding"],"author":{"name":"Lucas Tinoco"},"license":"MIT","_id":"@aerofortress/frontend-sdk@0.2.5","maintainers":[{"name":"lucasrgt","email":"lucas.tinoco@hotmail.com"}],"homepage":"https://github.com/lucasrgt/aerofortress-framework#readme","bugs":{"url":"https://github.com/lucasrgt/aerofortress-framework/issues"},"bin":{"affe-e2e-doctor":"tools/e2e-doctor.mjs","affe-feature-e2e":"tools/feature-e2e-coverage.mjs","affe-i18n-parity":"tools/i18n-parity.mjs","affe-framework-sync":"tools/framework-sync.mjs","affe-journey-parity":"tools/journey-parity.mjs","affe-endpoint-coverage":"tools/endpoint-coverage.mjs","affe-contract-freshness":"tools/contract-freshness.mjs","affe-error-code-coverage":"tools/error-code-coverage.mjs"},"dist":{"shasum":"aaf064a98011d1a5db535fc77e24ee034d28aa78","tarball":"https://registry.npmjs.org/@aerofortress/frontend-sdk/-/frontend-sdk-0.2.5.tgz","fileCount":21,"integrity":"sha512-lxI4guiiTHx8DRTREnl7UCRwJjkLiM/HxCa6wxsIEpS+vsYs9qm+TYjOcuudST+uVRnbXpSCBE6OciUVMbTCFQ==","signatures":[{"sig":"MEUCIBdiPJSPZj2R0v5FzoduN3ADlsSqRw/8EPFh3zOfMvayAiEA1qJ9MEdGyuFXpNXSf7Zd7xsgaD2vGHwcNhz9grmDsXQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":130248},"type":"module","exports":{"./doctor":"./tools/doctor.mjs","./e2e-doctor":"./tools/e2e-doctor.mjs","./i18n-parity":"./tools/i18n-parity.mjs","./framework-sync":"./tools/framework-sync.mjs","./journey-parity":"./tools/journey-parity.mjs","./package-versions":"./tools/package-versions.mjs","./endpoint-coverage":"./tools/endpoint-coverage.mjs","./error-code-coverage":"./tools/error-code-coverage.mjs","./feature-e2e-coverage":"./tools/feature-e2e-coverage.mjs"},"gitHead":"9326dfbe6849bb14519ddb2e887c358ed9c03318","scripts":{"lint":"npm run lint:source && npm run lint:rules","test":"vitest run --exclude **/*.assay.test.ts --exclude **/*.assay.test.tsx","check":"npm run typecheck && npm run lint && npm run test && npm run test:avp","scaffold":"node tools/scaffold-feature.mjs","test:avp":"assay verify","typecheck":"npm run typecheck:spine && npm run typecheck:sample","lint:rules":"node packages/eslint-plugin/index.test.cjs","lint:source":"cd .. && node frontend-sdk/node_modules/eslint/bin/eslint.js examples/sample-app/frontend","assemble-i18n":"node tools/assemble-i18n.mjs","scaffold:design":"node tools/design-scaffold.mjs","typecheck:spine":"tsc --noEmit -p packages/aerofortress-react/tsconfig.json","typecheck:sample":"tsc --noEmit -p ../examples/sample-app/frontend/tsconfig.json"},"_npmUser":{"name":"lucasrgt","email":"lucas.tinoco@hotmail.com"},"overrides":{"esbuild":"^0.28.1"},"repository":{"url":"git+https://github.com/lucasrgt/aerofortress-framework.git","type":"git","directory":"frontend-sdk"},"workspaces":["packages/*"],"_npmVersion":"10.9.8","description":"Canonical AeroFortress frontend doctor and scaffolding tools.","directories":{},"_nodeVersion":"22.23.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"msw":"^2.15.0","zod":"^4.4.3","jsdom":"^25.0.1","react":"^19.0.0","eslint":"^9.17.0","vitest":"^4.1.10","i18next":"^24.2.0","react-dom":"^19.0.0","typescript":"^5.7.2","@types/react":"^19.0.2","react-i18next":"^15.4.0","react-hook-form":"^7.78.0","@types/react-dom":"^19.0.2","@aerofortress/assay":"0.3.1","@hookform/resolvers":"^5.4.0","@testing-library/dom":"^10.4.0","@tanstack/react-query":"^5.62.7","@vitest/eslint-plugin":"^1.1.43","eslint-plugin-sonarjs":"^4.2.0","@testing-library/react":"^16.1.0","eslint-plugin-jsx-a11y":"^6.10.2","eslint-plugin-no-secrets":"^1.1.2","@typescript-eslint/parser":"^8.18.0","@testing-library/user-event":"^14.6.1","@tanstack/eslint-plugin-query":"^5.62.16","@typescript-eslint/eslint-plugin":"^8.18.0"},"_npmOperationalInternal":{"tmp":"tmp/frontend-sdk_0.2.5_1784610932394_0.6221968355596683","host":"s3://npm-registry-packages-npm-production"}},"0.2.6":{"name":"@aerofortress/frontend-sdk","version":"0.2.6","keywords":["aerofortress","frontend","doctor","eslint","scaffolding"],"author":{"name":"Lucas Tinoco"},"license":"MIT","_id":"@aerofortress/frontend-sdk@0.2.6","maintainers":[{"name":"lucasrgt","email":"lucas.tinoco@hotmail.com"}],"homepage":"https://github.com/lucasrgt/aerofortress-framework#readme","bugs":{"url":"https://github.com/lucasrgt/aerofortress-framework/issues"},"bin":{"affe-e2e-doctor":"tools/e2e-doctor.mjs","affe-feature-e2e":"tools/feature-e2e-coverage.mjs","affe-i18n-parity":"tools/i18n-parity.mjs","affe-framework-sync":"tools/framework-sync.mjs","affe-journey-parity":"tools/journey-parity.mjs","affe-endpoint-coverage":"tools/endpoint-coverage.mjs","affe-contract-freshness":"tools/contract-freshness.mjs","affe-error-code-coverage":"tools/error-code-coverage.mjs"},"dist":{"shasum":"8ccbe934a1840d51f47b15042fa5004700bef4e0","tarball":"https://registry.npmjs.org/@aerofortress/frontend-sdk/-/frontend-sdk-0.2.6.tgz","fileCount":21,"integrity":"sha512-P2x5vlBQB0gi5CHEcS0hXqzwxMh91jGod0aMwl2y1qRbbCJXQkKNa1j5e37LzYHSMO+EGnY7vn8s7hVieV2ixg==","signatures":[{"sig":"MEUCIQDXki8fMV8tYTLjQawTpww5fSvdhahfndP1F5/pYEUcvAIgGcvemKAiFivAVkuQlZazbbdbdwrTm4dBNam2KUeZn8w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":130265},"type":"module","exports":{"./doctor":"./tools/doctor.mjs","./e2e-doctor":"./tools/e2e-doctor.mjs","./i18n-parity":"./tools/i18n-parity.mjs","./framework-sync":"./tools/framework-sync.mjs","./journey-parity":"./tools/journey-parity.mjs","./package-versions":"./tools/package-versions.mjs","./endpoint-coverage":"./tools/endpoint-coverage.mjs","./error-code-coverage":"./tools/error-code-coverage.mjs","./feature-e2e-coverage":"./tools/feature-e2e-coverage.mjs"},"gitHead":"c9161bbad58c4560bdd07685e4d0d2621bcd72a1","scripts":{"lint":"npm run lint:source && npm run lint:rules","test":"vitest run --exclude **/*.assay.test.ts --exclude **/*.assay.test.tsx","check":"npm run typecheck && npm run lint && npm run test && npm run test:avp","scaffold":"node tools/scaffold-feature.mjs","test:avp":"assay verify","typecheck":"npm run typecheck:spine && npm run typecheck:sample","lint:rules":"node packages/eslint-plugin/index.test.cjs","lint:source":"cd .. && node frontend-sdk/node_modules/eslint/bin/eslint.js examples/sample-app/frontend","assemble-i18n":"node tools/assemble-i18n.mjs","scaffold:design":"node tools/design-scaffold.mjs","typecheck:spine":"tsc --noEmit -p packages/aerofortress-react/tsconfig.json","typecheck:sample":"tsc --noEmit -p ../examples/sample-app/frontend/tsconfig.json"},"_npmUser":{"name":"lucasrgt","email":"lucas.tinoco@hotmail.com"},"overrides":{"esbuild":"^0.28.1"},"repository":{"url":"git+https://github.com/lucasrgt/aerofortress-framework.git","type":"git","directory":"frontend-sdk"},"workspaces":["packages/*"],"_npmVersion":"10.9.8","description":"Canonical AeroFortress frontend doctor and scaffolding tools.","directories":{},"_nodeVersion":"22.23.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"msw":"^2.15.0","zod":"^4.4.3","jsdom":"^25.0.1","react":"^19.0.0","eslint":"^9.17.0","vitest":"^4.1.10","i18next":"^24.2.0","react-dom":"^19.0.0","typescript":"^5.7.2","@types/react":"^19.0.2","react-i18next":"^15.4.0","react-hook-form":"^7.78.0","@types/react-dom":"^19.0.2","@aerofortress/assay":"0.3.1","@hookform/resolvers":"^5.4.0","@testing-library/dom":"^10.4.0","@tanstack/react-query":"^5.62.7","@vitest/eslint-plugin":"^1.1.43","eslint-plugin-sonarjs":"^4.2.0","@testing-library/react":"^16.1.0","eslint-plugin-jsx-a11y":"^6.10.2","eslint-plugin-no-secrets":"^1.1.2","@typescript-eslint/parser":"^8.18.0","@testing-library/user-event":"^14.6.1","@tanstack/eslint-plugin-query":"^5.62.16","@typescript-eslint/eslint-plugin":"^8.18.0"},"_npmOperationalInternal":{"tmp":"tmp/frontend-sdk_0.2.6_1784614005974_0.9225786404078344","host":"s3://npm-registry-packages-npm-production"}},"1.0.0":{"name":"@aerofortress/frontend-sdk","version":"1.0.0","keywords":["aerofortress","frontend","doctor","eslint","scaffolding"],"author":{"name":"Lucas Tinoco"},"license":"MIT","_id":"@aerofortress/frontend-sdk@1.0.0","maintainers":[{"name":"lucasrgt","email":"lucas.tinoco@hotmail.com"}],"homepage":"https://github.com/lucasrgt/aerofortress-framework#readme","bugs":{"url":"https://github.com/lucasrgt/aerofortress-framework/issues"},"bin":{"affe-e2e-doctor":"tools/e2e-doctor.mjs","affe-feature-e2e":"tools/feature-e2e-coverage.mjs","affe-i18n-parity":"tools/i18n-parity.mjs","affe-framework-sync":"tools/framework-sync.mjs","affe-journey-parity":"tools/journey-parity.mjs","affe-endpoint-coverage":"tools/endpoint-coverage.mjs","affe-contract-freshness":"tools/contract-freshness.mjs","affe-error-code-coverage":"tools/error-code-coverage.mjs"},"dist":{"shasum":"4332a0dfea6b41b0a52f5e848ace33cf61f70656","tarball":"https://registry.npmjs.org/@aerofortress/frontend-sdk/-/frontend-sdk-1.0.0.tgz","fileCount":21,"integrity":"sha512-mkhTHoaDnIcsqK4bfguqBAd0Z5FZycjrJ3IH+ga2GMYcj5iPuDNzNYTJ6M5ek2E5jKnA8Whorb/nAA7blm+ayA==","signatures":[{"sig":"MEQCIHBxpNfekxHyRtfch7s6lZMCUqRPJQ671ZdCqMSRHkMBAiARBeRPErLOun5+w08HnYvCh43k+qtcltwNOsEVmNSxvw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":129907},"type":"module","exports":{"./doctor":"./tools/doctor.mjs","./e2e-doctor":"./tools/e2e-doctor.mjs","./i18n-parity":"./tools/i18n-parity.mjs","./framework-sync":"./tools/framework-sync.mjs","./journey-parity":"./tools/journey-parity.mjs","./package-versions":"./tools/package-versions.mjs","./endpoint-coverage":"./tools/endpoint-coverage.mjs","./error-code-coverage":"./tools/error-code-coverage.mjs","./feature-e2e-coverage":"./tools/feature-e2e-coverage.mjs"},"gitHead":"41c212033dbd7909454e7a084b80ab6f16b2fde9","scripts":{"lint":"npm run lint:source && npm run lint:rules","test":"vitest run --exclude **/*.assay.test.ts --exclude **/*.assay.test.tsx","check":"npm run typecheck && npm run lint && npm run test && npm run test:avp","scaffold":"node tools/scaffold-feature.mjs","test:avp":"assay verify","typecheck":"npm run typecheck:spine && npm run typecheck:sample","lint:rules":"node packages/eslint-plugin/index.test.cjs","lint:source":"cd .. && node frontend-sdk/node_modules/eslint/bin/eslint.js examples/sample-app/frontend","assemble-i18n":"node tools/assemble-i18n.mjs","scaffold:design":"node tools/design-scaffold.mjs","typecheck:spine":"tsc --noEmit -p packages/aerofortress-react/tsconfig.json","typecheck:sample":"tsc --noEmit -p ../examples/sample-app/frontend/tsconfig.json"},"_npmUser":{"name":"lucasrgt","email":"lucas.tinoco@hotmail.com"},"repository":{"url":"git+https://github.com/lucasrgt/aerofortress-framework.git","type":"git","directory":"frontend-sdk"},"workspaces":["packages/*"],"_npmVersion":"10.9.8","description":"Canonical AeroFortress frontend doctor and scaffolding tools.","directories":{},"_nodeVersion":"22.23.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"msw":"^2.15.0","zod":"^4.4.3","jsdom":"^25.0.1","react":"^19.0.0","eslint":"^9.17.0","vitest":"^4.1.10","esbuild":"^0.28.1","i18next":"^24.2.0","react-dom":"^19.0.0","typescript":"^5.7.2","@types/react":"^19.0.2","react-i18next":"^15.4.0","react-hook-form":"^7.78.0","@types/react-dom":"^19.0.2","@aerofortress/assay":"0.3.1","@hookform/resolvers":"^5.4.0","@testing-library/dom":"^10.4.0","@tanstack/react-query":"^5.62.7","@vitest/eslint-plugin":"^1.1.43","eslint-plugin-sonarjs":"^4.2.0","@testing-library/react":"^16.1.0","eslint-plugin-jsx-a11y":"^6.10.2","eslint-plugin-no-secrets":"^1.1.2","@typescript-eslint/parser":"^8.18.0","@testing-library/user-event":"^14.6.1","@tanstack/eslint-plugin-query":"^5.62.16","@typescript-eslint/eslint-plugin":"^8.18.0"},"_npmOperationalInternal":{"tmp":"tmp/frontend-sdk_1.0.0_1784641516845_0.02984813302440359","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@aerofortress/frontend-sdk","version":"1.0.1","keywords":["aerofortress","frontend","doctor","eslint","scaffolding"],"author":{"name":"Lucas Tinoco"},"license":"MIT","_id":"@aerofortress/frontend-sdk@1.0.1","maintainers":[{"name":"lucasrgt","email":"lucas.tinoco@hotmail.com"}],"homepage":"https://github.com/lucasrgt/aerofortress-framework#readme","bugs":{"url":"https://github.com/lucasrgt/aerofortress-framework/issues"},"bin":{"affe-e2e-doctor":"tools/e2e-doctor.mjs","affe-feature-e2e":"tools/feature-e2e-coverage.mjs","affe-i18n-parity":"tools/i18n-parity.mjs","affe-framework-sync":"tools/framework-sync.mjs","affe-journey-parity":"tools/journey-parity.mjs","affe-endpoint-coverage":"tools/endpoint-coverage.mjs","affe-contract-freshness":"tools/contract-freshness.mjs","affe-error-code-coverage":"tools/error-code-coverage.mjs"},"dist":{"shasum":"01e3d2eff38f4db5be3e61706f7b39016ba62dad","tarball":"https://registry.npmjs.org/@aerofortress/frontend-sdk/-/frontend-sdk-1.0.1.tgz","fileCount":21,"integrity":"sha512-YEogvWmDwe8Y9oV++xCfji1zxOL2Rp7GOO+TXtONGmQYW5EF7pNu6vodxnHk+Q9jitCR4nJkxtJJhVT7X1NI/A==","signatures":[{"sig":"MEUCIQCPLEgY/wSG2tF3nrKC+w9Of3VcrOz9xjL6op95WRM46AIgEX7mBijsHtdOPEoWm6v2o/hdbelSUR9zDGFBuIoUOO8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":129986},"type":"module","exports":{"./doctor":"./tools/doctor.mjs","./e2e-doctor":"./tools/e2e-doctor.mjs","./i18n-parity":"./tools/i18n-parity.mjs","./framework-sync":"./tools/framework-sync.mjs","./journey-parity":"./tools/journey-parity.mjs","./package-versions":"./tools/package-versions.mjs","./endpoint-coverage":"./tools/endpoint-coverage.mjs","./error-code-coverage":"./tools/error-code-coverage.mjs","./feature-e2e-coverage":"./tools/feature-e2e-coverage.mjs"},"gitHead":"34182dd5603451241d0268301d506ad4db3450ba","scripts":{"lint":"npm run lint:source && npm run lint:rules","test":"vitest run --exclude **/*.assay.test.ts --exclude **/*.assay.test.tsx","check":"npm run typecheck && npm run lint && npm run test && npm run test:avp","scaffold":"node tools/scaffold-feature.mjs","test:avp":"assay verify","typecheck":"npm run typecheck:spine && npm run typecheck:sample","lint:rules":"node packages/eslint-plugin/index.test.cjs","lint:source":"cd .. && node frontend-sdk/node_modules/eslint/bin/eslint.js examples/sample-app/frontend","assemble-i18n":"node tools/assemble-i18n.mjs","scaffold:design":"node tools/design-scaffold.mjs","typecheck:spine":"tsc --noEmit -p packages/aerofortress-react/tsconfig.json","typecheck:sample":"tsc --noEmit -p ../examples/sample-app/frontend/tsconfig.json"},"_npmUser":{"name":"lucasrgt","email":"lucas.tinoco@hotmail.com"},"repository":{"url":"git+https://github.com/lucasrgt/aerofortress-framework.git","type":"git","directory":"frontend-sdk"},"workspaces":["packages/*"],"_npmVersion":"10.9.8","description":"Canonical AeroFortress frontend doctor and scaffolding tools.","directories":{},"_nodeVersion":"22.23.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"msw":"^2.15.0","zod":"^4.4.3","jsdom":"^25.0.1","react":"^19.0.0","eslint":"^9.17.0","vitest":"^4.1.10","esbuild":"^0.28.1","i18next":"^24.2.0","react-dom":"^19.0.0","typescript":"^5.7.2","@types/react":"^19.0.2","react-i18next":"^15.4.0","react-hook-form":"^7.78.0","@types/react-dom":"^19.0.2","@aerofortress/assay":"0.3.1","@hookform/resolvers":"^5.4.0","@testing-library/dom":"^10.4.0","@tanstack/react-query":"^5.62.7","@vitest/eslint-plugin":"^1.1.43","eslint-plugin-sonarjs":"^4.2.0","@testing-library/react":"^16.1.0","eslint-plugin-jsx-a11y":"^6.10.2","eslint-plugin-no-secrets":"^1.1.2","@typescript-eslint/parser":"^8.18.0","@testing-library/user-event":"^14.6.1","@tanstack/eslint-plugin-query":"^5.62.16","@typescript-eslint/eslint-plugin":"^8.18.0"},"_npmOperationalInternal":{"tmp":"tmp/frontend-sdk_1.0.1_1784642417312_0.9129078169492253","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@aerofortress/frontend-sdk","version":"1.0.2","keywords":["aerofortress","frontend","doctor","eslint","scaffolding"],"author":{"name":"Lucas Tinoco"},"license":"MIT","_id":"@aerofortress/frontend-sdk@1.0.2","maintainers":[{"name":"lucasrgt","email":"lucas.tinoco@hotmail.com"}],"homepage":"https://github.com/lucasrgt/aerofortress-framework#readme","bugs":{"url":"https://github.com/lucasrgt/aerofortress-framework/issues"},"bin":{"affe-e2e-doctor":"tools/e2e-doctor.mjs","affe-feature-e2e":"tools/feature-e2e-coverage.mjs","affe-i18n-parity":"tools/i18n-parity.mjs","affe-framework-sync":"tools/framework-sync.mjs","affe-journey-parity":"tools/journey-parity.mjs","affe-endpoint-coverage":"tools/endpoint-coverage.mjs","affe-contract-freshness":"tools/contract-freshness.mjs","affe-error-code-coverage":"tools/error-code-coverage.mjs"},"dist":{"shasum":"583da09c7e79fd34d19fb027f8ab84e354205830","tarball":"https://registry.npmjs.org/@aerofortress/frontend-sdk/-/frontend-sdk-1.0.2.tgz","fileCount":21,"integrity":"sha512-gFiSodhEYul2nOowXkJ35i6FPCtw5Y9ibYxAs2LqavCWUxlEiM2XuAFjr4DgwpcomtdAn9VxfEUWkT12hNye9g==","signatures":[{"sig":"MEQCIH0pZx2KgwJF85s7IyMncZZ+XtNY1gEQ9l6lyE+EIc3pAiB6RilmG/MFPuUMxJ6Cim6knaOBAXgwK5/OnwLr6IqBDA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":130809},"type":"module","exports":{"./doctor":"./tools/doctor.mjs","./e2e-doctor":"./tools/e2e-doctor.mjs","./i18n-parity":"./tools/i18n-parity.mjs","./framework-sync":"./tools/framework-sync.mjs","./journey-parity":"./tools/journey-parity.mjs","./package-versions":"./tools/package-versions.mjs","./endpoint-coverage":"./tools/endpoint-coverage.mjs","./error-code-coverage":"./tools/error-code-coverage.mjs","./feature-e2e-coverage":"./tools/feature-e2e-coverage.mjs"},"gitHead":"5e9e9f4fefc34e5e4911b732c1742ba346eaa17f","scripts":{"lint":"npm run lint:source && npm run lint:rules","test":"vitest run --exclude **/*.assay.test.ts --exclude **/*.assay.test.tsx","check":"npm run typecheck && npm run lint && npm run test && npm run test:avp","scaffold":"node tools/scaffold-feature.mjs","test:avp":"assay verify","typecheck":"npm run typecheck:spine && npm run typecheck:sample","lint:rules":"node packages/eslint-plugin/index.test.cjs","lint:source":"cd .. && node frontend-sdk/node_modules/eslint/bin/eslint.js examples/sample-app/frontend","assemble-i18n":"node tools/assemble-i18n.mjs","scaffold:design":"node tools/design-scaffold.mjs","typecheck:spine":"tsc --noEmit -p packages/aerofortress-react/tsconfig.json","typecheck:sample":"tsc --noEmit -p ../examples/sample-app/frontend/tsconfig.json"},"_npmUser":{"name":"lucasrgt","email":"lucas.tinoco@hotmail.com"},"repository":{"url":"git+https://github.com/lucasrgt/aerofortress-framework.git","type":"git","directory":"frontend-sdk"},"workspaces":["packages/*"],"_npmVersion":"10.9.8","description":"Canonical AeroFortress frontend doctor and scaffolding tools.","directories":{},"_nodeVersion":"22.23.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"msw":"^2.15.0","zod":"^4.4.3","jsdom":"^25.0.1","react":"^19.0.0","eslint":"^9.17.0","vitest":"^4.1.10","esbuild":"^0.28.1","i18next":"^24.2.0","react-dom":"^19.0.0","typescript":"^5.7.2","@types/react":"^19.0.2","react-i18next":"^15.4.0","react-hook-form":"^7.78.0","@types/react-dom":"^19.0.2","@aerofortress/assay":"0.3.1","@hookform/resolvers":"^5.4.0","@testing-library/dom":"^10.4.0","@tanstack/react-query":"^5.62.7","@vitest/eslint-plugin":"^1.1.43","eslint-plugin-sonarjs":"^4.2.0","@testing-library/react":"^16.1.0","eslint-plugin-jsx-a11y":"^6.10.2","eslint-plugin-no-secrets":"^1.1.2","@typescript-eslint/parser":"^8.18.0","@testing-library/user-event":"^14.6.1","@tanstack/eslint-plugin-query":"^5.62.16","@typescript-eslint/eslint-plugin":"^8.18.0"},"_npmOperationalInternal":{"tmp":"tmp/frontend-sdk_1.0.2_1784642696845_0.8295675041010988","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@aerofortress/frontend-sdk","version":"1.0.3","keywords":["aerofortress","frontend","doctor","eslint","scaffolding"],"author":{"name":"Lucas Tinoco"},"license":"MIT","_id":"@aerofortress/frontend-sdk@1.0.3","maintainers":[{"name":"lucasrgt","email":"lucas.tinoco@hotmail.com"}],"homepage":"https://github.com/lucasrgt/aerofortress-framework#readme","bugs":{"url":"https://github.com/lucasrgt/aerofortress-framework/issues"},"bin":{"affe-e2e-doctor":"tools/e2e-doctor.mjs","affe-feature-e2e":"tools/feature-e2e-coverage.mjs","affe-i18n-parity":"tools/i18n-parity.mjs","affe-framework-sync":"tools/framework-sync.mjs","affe-journey-parity":"tools/journey-parity.mjs","affe-endpoint-coverage":"tools/endpoint-coverage.mjs","affe-contract-freshness":"tools/contract-freshness.mjs","affe-error-code-coverage":"tools/error-code-coverage.mjs"},"dist":{"shasum":"ff70c0b2484938991825fe60cfe24276909ee054","tarball":"https://registry.npmjs.org/@aerofortress/frontend-sdk/-/frontend-sdk-1.0.3.tgz","fileCount":22,"integrity":"sha512-6yvwg75NOas+M4HgW3z0XHH82gXbw1+ne5y/S90APoZVLMzMcHaLFxJrNrcPfC3p1Gnpvm0Pj5j6lg8vVRMK5g==","signatures":[{"sig":"MEUCIBYm6tc8gf31OCtiqPAyW9m0ZLQJjGkk/CsJ131ka2V/AiEAy3QnuQn5ZLEh7/YNz0V90AwUnHD4epPUd+SqBFpFYyI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":136100},"type":"module","exports":{"./doctor":"./tools/doctor.mjs","./e2e-doctor":"./tools/e2e-doctor.mjs","./i18n-parity":"./tools/i18n-parity.mjs","./framework-sync":"./tools/framework-sync.mjs","./journey-parity":"./tools/journey-parity.mjs","./package-versions":"./tools/package-versions.mjs","./endpoint-coverage":"./tools/endpoint-coverage.mjs","./playwright-backend":"./tools/playwright-backend.mjs","./error-code-coverage":"./tools/error-code-coverage.mjs","./feature-e2e-coverage":"./tools/feature-e2e-coverage.mjs"},"gitHead":"0897de2b30b02fd756add60fc9904342f41bf5c5","scripts":{"lint":"npm run lint:source && npm run lint:rules","test":"vitest run --exclude **/*.assay.test.ts --exclude **/*.assay.test.tsx","check":"npm run typecheck && npm run lint && npm run test && npm run test:avp","scaffold":"node tools/scaffold-feature.mjs","test:avp":"assay verify","typecheck":"npm run typecheck:spine && npm run typecheck:sample","lint:rules":"node packages/eslint-plugin/index.test.cjs","lint:source":"cd .. && node frontend-sdk/node_modules/eslint/bin/eslint.js examples/sample-app/frontend","assemble-i18n":"node tools/assemble-i18n.mjs","scaffold:design":"node tools/design-scaffold.mjs","typecheck:spine":"tsc --noEmit -p packages/aerofortress-react/tsconfig.json","typecheck:sample":"tsc --noEmit -p ../examples/sample-app/frontend/tsconfig.json"},"_npmUser":{"name":"lucasrgt","email":"lucas.tinoco@hotmail.com"},"repository":{"url":"git+https://github.com/lucasrgt/aerofortress-framework.git","type":"git","directory":"frontend-sdk"},"workspaces":["packages/*"],"_npmVersion":"10.9.8","description":"Canonical AeroFortress frontend doctor and scaffolding tools.","directories":{},"_nodeVersion":"22.23.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"msw":"^2.15.0","zod":"^4.4.3","jsdom":"^25.0.1","react":"^19.0.0","eslint":"^9.17.0","vitest":"^4.1.10","esbuild":"^0.28.1","i18next":"^24.2.0","react-dom":"^19.0.0","typescript":"^5.7.2","@types/react":"^19.0.2","react-i18next":"^15.4.0","react-hook-form":"^7.78.0","@types/react-dom":"^19.0.2","@aerofortress/assay":"0.3.1","@hookform/resolvers":"^5.4.0","@testing-library/dom":"^10.4.0","@tanstack/react-query":"^5.62.7","@vitest/eslint-plugin":"^1.1.43","eslint-plugin-sonarjs":"^4.2.0","@testing-library/react":"^16.1.0","eslint-plugin-jsx-a11y":"^6.10.2","eslint-plugin-no-secrets":"^1.1.2","@typescript-eslint/parser":"^8.18.0","@testing-library/user-event":"^14.6.1","@tanstack/eslint-plugin-query":"^5.62.16","@typescript-eslint/eslint-plugin":"^8.18.0"},"_npmOperationalInternal":{"tmp":"tmp/frontend-sdk_1.0.3_1784645616109_0.6234183868667416","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"@aerofortress/frontend-sdk","version":"1.0.4","keywords":["aerofortress","frontend","doctor","eslint","scaffolding"],"author":{"name":"Lucas Tinoco"},"license":"MIT","_id":"@aerofortress/frontend-sdk@1.0.4","maintainers":[{"name":"lucasrgt","email":"lucas.tinoco@hotmail.com"}],"homepage":"https://github.com/lucasrgt/aerofortress-framework#readme","bugs":{"url":"https://github.com/lucasrgt/aerofortress-framework/issues"},"bin":{"affe-e2e-doctor":"tools/e2e-doctor.mjs","affe-feature-e2e":"tools/feature-e2e-coverage.mjs","affe-i18n-parity":"tools/i18n-parity.mjs","affe-framework-sync":"tools/framework-sync.mjs","affe-journey-parity":"tools/journey-parity.mjs","affe-endpoint-coverage":"tools/endpoint-coverage.mjs","affe-contract-freshness":"tools/contract-freshness.mjs","affe-error-code-coverage":"tools/error-code-coverage.mjs"},"dist":{"shasum":"fab3fc0ba0811e25c254980cbcf2b74bcc046365","tarball":"https://registry.npmjs.org/@aerofortress/frontend-sdk/-/frontend-sdk-1.0.4.tgz","fileCount":23,"integrity":"sha512-nlbSVMMw6zSSNKTF7SYL3Aces9ibxKiPSKzyrskSzVXfhTqcVgWZqRC0aNju46uAAzU13EJhF+HWYqdaKye9iQ==","signatures":[{"sig":"MEUCIQDHgM0qjlQQFPzSvkZf05Zcx3+TN6kPrLoCcG4zsAFBIwIged+wfRGqEy/Zmt1QzXNoP52Uk6BppIjBrx0RD4Glln0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":137323},"type":"module","exports":{"./doctor":"./tools/doctor.mjs","./e2e-doctor":"./tools/e2e-doctor.mjs","./i18n-parity":"./tools/i18n-parity.mjs","./framework-sync":"./tools/framework-sync.mjs","./journey-parity":"./tools/journey-parity.mjs","./package-versions":"./tools/package-versions.mjs","./endpoint-coverage":"./tools/endpoint-coverage.mjs","./playwright-backend":{"types":"./tools/playwright-backend.d.mts","import":"./tools/playwright-backend.mjs"},"./error-code-coverage":"./tools/error-code-coverage.mjs","./feature-e2e-coverage":"./tools/feature-e2e-coverage.mjs"},"gitHead":"61406a4dcfbfd86f9ab491a1d6139084d8a310cc","scripts":{"lint":"npm run lint:source && npm run lint:rules","test":"vitest run --exclude **/*.assay.test.ts --exclude **/*.assay.test.tsx","check":"npm run typecheck && npm run lint && npm run test && npm run test:avp","scaffold":"node tools/scaffold-feature.mjs","test:avp":"assay verify","typecheck":"npm run typecheck:spine && npm run typecheck:sample","lint:rules":"node packages/eslint-plugin/index.test.cjs","lint:source":"cd .. && node frontend-sdk/node_modules/eslint/bin/eslint.js examples/sample-app/frontend","assemble-i18n":"node tools/assemble-i18n.mjs","scaffold:design":"node tools/design-scaffold.mjs","typecheck:spine":"tsc --noEmit -p packages/aerofortress-react/tsconfig.json","typecheck:sample":"tsc --noEmit -p ../examples/sample-app/frontend/tsconfig.json"},"_npmUser":{"name":"lucasrgt","email":"lucas.tinoco@hotmail.com"},"repository":{"url":"git+https://github.com/lucasrgt/aerofortress-framework.git","type":"git","directory":"frontend-sdk"},"workspaces":["packages/*"],"_npmVersion":"10.9.8","description":"Canonical AeroFortress frontend doctor and scaffolding tools.","directories":{},"_nodeVersion":"22.23.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"msw":"^2.15.0","zod":"^4.4.3","jsdom":"^25.0.1","react":"^19.0.0","eslint":"^9.17.0","vitest":"^4.1.10","esbuild":"^0.28.1","i18next":"^24.2.0","react-dom":"^19.0.0","typescript":"^5.7.2","@types/react":"^19.0.2","react-i18next":"^15.4.0","react-hook-form":"^7.78.0","@types/react-dom":"^19.0.2","@aerofortress/assay":"0.3.1","@hookform/resolvers":"^5.4.0","@testing-library/dom":"^10.4.0","@tanstack/react-query":"^5.62.7","@vitest/eslint-plugin":"^1.1.43","eslint-plugin-sonarjs":"^4.2.0","@testing-library/react":"^16.1.0","eslint-plugin-jsx-a11y":"^6.10.2","eslint-plugin-no-secrets":"^1.1.2","@typescript-eslint/parser":"^8.18.0","@testing-library/user-event":"^14.6.1","@tanstack/eslint-plugin-query":"^5.62.16","@typescript-eslint/eslint-plugin":"^8.18.0"},"_npmOperationalInternal":{"tmp":"tmp/frontend-sdk_1.0.4_1784646026543_0.23247501516742108","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"@aerofortress/frontend-sdk","version":"2.0.0","keywords":["aerofortress","frontend","doctor","eslint","scaffolding"],"author":{"name":"Lucas Tinoco"},"license":"MIT","_id":"@aerofortress/frontend-sdk@2.0.0","maintainers":[{"name":"lucasrgt","email":"lucas.tinoco@hotmail.com"}],"homepage":"https://github.com/lucasrgt/aerofortress-framework#readme","bugs":{"url":"https://github.com/lucasrgt/aerofortress-framework/issues"},"bin":{"affe-e2e-doctor":"tools/e2e-doctor.mjs","affe-feature-e2e":"tools/feature-e2e-coverage.mjs","affe-i18n-parity":"tools/i18n-parity.mjs","affe-framework-sync":"tools/framework-sync.mjs","affe-journey-parity":"tools/journey-parity.mjs","affe-endpoint-coverage":"tools/endpoint-coverage.mjs","affe-contract-freshness":"tools/contract-freshness.mjs","affe-error-code-coverage":"tools/error-code-coverage.mjs"},"dist":{"shasum":"e20f7fcdcaf0f813d68dd488fe746a41457d33a7","tarball":"https://registry.npmjs.org/@aerofortress/frontend-sdk/-/frontend-sdk-2.0.0.tgz","fileCount":23,"integrity":"sha512-pX1JCuBbBVFQwTcRaWDfpFTR5maIQy5iaWaAEguKbYmZIXdQNUmPjLdBRuj2yUaGH0I7sQ/NmdGw/JqA7E0WAg==","signatures":[{"sig":"MEUCIGhYslsk0m7EMJZkE/DlbZg4abN7EDA1fMhTFSDoF8nUAiEAhFhsZ43X5ikJKZEyK20P3dlnZBlE6noD81UM5DEEQg0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":149111},"type":"module","exports":{"./doctor":"./tools/doctor.mjs","./e2e-doctor":"./tools/e2e-doctor.mjs","./i18n-parity":"./tools/i18n-parity.mjs","./framework-sync":"./tools/framework-sync.mjs","./journey-parity":"./tools/journey-parity.mjs","./package-versions":"./tools/package-versions.mjs","./endpoint-coverage":"./tools/endpoint-coverage.mjs","./playwright-backend":{"types":"./tools/playwright-backend.d.mts","import":"./tools/playwright-backend.mjs"},"./error-code-coverage":"./tools/error-code-coverage.mjs","./feature-e2e-coverage":"./tools/feature-e2e-coverage.mjs"},"gitHead":"b21a99d381fa08fde9bf1fe4d976507069e8b588","scripts":{"lint":"npm run lint:source && npm run lint:rules","test":"vitest run --exclude **/*.assay.test.ts --exclude **/*.assay.test.tsx","check":"npm run typecheck && npm run lint && npm run test && npm run test:avp","scaffold":"node tools/scaffold-feature.mjs","test:avp":"assay verify","typecheck":"npm run typecheck:spine && npm run typecheck:sample","lint:rules":"node packages/eslint-plugin/index.test.cjs","lint:source":"cd .. && node frontend-sdk/node_modules/eslint/bin/eslint.js examples/sample-app/frontend","assemble-i18n":"node tools/assemble-i18n.mjs","scaffold:design":"node tools/design-scaffold.mjs","typecheck:spine":"tsc --noEmit -p packages/aerofortress-react/tsconfig.json","typecheck:sample":"tsc --noEmit -p ../examples/sample-app/frontend/tsconfig.json"},"_npmUser":{"name":"lucasrgt","email":"lucas.tinoco@hotmail.com"},"repository":{"url":"git+https://github.com/lucasrgt/aerofortress-framework.git","type":"git","directory":"frontend-sdk"},"workspaces":["packages/*"],"_npmVersion":"10.9.8","description":"Canonical AeroFortress frontend doctor and scaffolding tools.","directories":{},"_nodeVersion":"22.23.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"msw":"^2.15.0","zod":"^4.4.3","jsdom":"^25.0.1","react":"^19.0.0","eslint":"^9.17.0","vitest":"^4.1.10","esbuild":"^0.28.1","i18next":"^24.2.0","react-dom":"^19.0.0","typescript":"^5.7.2","@types/react":"^19.0.2","react-i18next":"^15.4.0","react-hook-form":"^7.78.0","@types/react-dom":"^19.0.2","@aerofortress/assay":"0.3.1","@hookform/resolvers":"^5.4.0","@testing-library/dom":"^10.4.0","@tanstack/react-query":"^5.62.7","@vitest/eslint-plugin":"^1.1.43","eslint-plugin-sonarjs":"^4.2.0","@testing-library/react":"^16.1.0","eslint-plugin-jsx-a11y":"^6.10.2","eslint-plugin-no-secrets":"^1.1.2","@typescript-eslint/parser":"^8.18.0","@testing-library/user-event":"^14.6.1","@tanstack/eslint-plugin-query":"^5.62.16","@typescript-eslint/eslint-plugin":"^8.18.0"},"_npmOperationalInternal":{"tmp":"tmp/frontend-sdk_2.0.0_1784647083826_0.08118315880938876","host":"s3://npm-registry-packages-npm-production"}},"2.0.1":{"name":"@aerofortress/frontend-sdk","version":"2.0.1","keywords":["aerofortress","frontend","doctor","eslint","scaffolding"],"author":{"name":"Lucas Tinoco"},"license":"MIT","_id":"@aerofortress/frontend-sdk@2.0.1","maintainers":[{"name":"lucasrgt","email":"lucas.tinoco@hotmail.com"}],"homepage":"https://github.com/lucasrgt/aerofortress-framework#readme","bugs":{"url":"https://github.com/lucasrgt/aerofortress-framework/issues"},"bin":{"affe-e2e-doctor":"tools/e2e-doctor.mjs","affe-feature-e2e":"tools/feature-e2e-coverage.mjs","affe-i18n-parity":"tools/i18n-parity.mjs","affe-framework-sync":"tools/framework-sync.mjs","affe-journey-parity":"tools/journey-parity.mjs","affe-endpoint-coverage":"tools/endpoint-coverage.mjs","affe-contract-freshness":"tools/contract-freshness.mjs","affe-error-code-coverage":"tools/error-code-coverage.mjs"},"dist":{"shasum":"e456675c8cca13e09f9dc88406dd52d5639f687e","tarball":"https://registry.npmjs.org/@aerofortress/frontend-sdk/-/frontend-sdk-2.0.1.tgz","fileCount":23,"integrity":"sha512-vmGCJuKQ3qIWgrOww6jBoFyHRA5m0pgrU8AK6W3/Wa9Sq9mNmiyr/kd6twE6Wue1OOHBINSDhLoJCr9OZIuplg==","signatures":[{"sig":"MEYCIQDgQ5I7MG0GgGTdG7mHDZ3CMh45CMh2HwiOso5dNgQG/gIhAPaKUZ3v4UTQP5Rk/aPTCLPdwqiDzcCYQJZT+va7Wp2q","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":149659},"type":"module","exports":{"./doctor":"./tools/doctor.mjs","./e2e-doctor":"./tools/e2e-doctor.mjs","./i18n-parity":"./tools/i18n-parity.mjs","./framework-sync":"./tools/framework-sync.mjs","./journey-parity":"./tools/journey-parity.mjs","./package-versions":"./tools/package-versions.mjs","./endpoint-coverage":"./tools/endpoint-coverage.mjs","./playwright-backend":{"types":"./tools/playwright-backend.d.mts","import":"./tools/playwright-backend.mjs"},"./error-code-coverage":"./tools/error-code-coverage.mjs","./feature-e2e-coverage":"./tools/feature-e2e-coverage.mjs"},"gitHead":"ed7afa15028143feebc3eb4322c7ccb19ef4cdfa","scripts":{"lint":"npm run lint:source && npm run lint:rules","test":"vitest run --exclude **/*.assay.test.ts --exclude **/*.assay.test.tsx","check":"npm run typecheck && npm run lint && npm run test && npm run test:avp","scaffold":"node tools/scaffold-feature.mjs","test:avp":"assay verify","typecheck":"npm run typecheck:spine && npm run typecheck:sample","lint:rules":"node packages/eslint-plugin/index.test.cjs","lint:source":"cd .. && node frontend-sdk/node_modules/eslint/bin/eslint.js examples/sample-app/frontend","assemble-i18n":"node tools/assemble-i18n.mjs","scaffold:design":"node tools/design-scaffold.mjs","typecheck:spine":"tsc --noEmit -p packages/aerofortress-react/tsconfig.json","typecheck:sample":"tsc --noEmit -p ../examples/sample-app/frontend/tsconfig.json"},"_npmUser":{"name":"lucasrgt","email":"lucas.tinoco@hotmail.com"},"repository":{"url":"git+https://github.com/lucasrgt/aerofortress-framework.git","type":"git","directory":"frontend-sdk"},"workspaces":["packages/*"],"_npmVersion":"10.9.8","description":"Canonical AeroFortress frontend doctor and scaffolding tools.","directories":{},"_nodeVersion":"22.23.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"msw":"^2.15.0","zod":"^4.4.3","jsdom":"^25.0.1","react":"^19.0.0","eslint":"^9.17.0","vitest":"^4.1.10","esbuild":"^0.28.1","i18next":"^24.2.0","react-dom":"^19.0.0","typescript":"^5.7.2","@types/react":"^19.0.2","react-i18next":"^15.4.0","react-hook-form":"^7.78.0","@types/react-dom":"^19.0.2","@aerofortress/assay":"0.3.1","@hookform/resolvers":"^5.4.0","@testing-library/dom":"^10.4.0","@tanstack/react-query":"^5.62.7","@vitest/eslint-plugin":"^1.1.43","eslint-plugin-sonarjs":"^4.2.0","@testing-library/react":"^16.1.0","eslint-plugin-jsx-a11y":"^6.10.2","eslint-plugin-no-secrets":"^1.1.2","@typescript-eslint/parser":"^8.18.0","@testing-library/user-event":"^14.6.1","@tanstack/eslint-plugin-query":"^5.62.16","@typescript-eslint/eslint-plugin":"^8.18.0"},"_npmOperationalInternal":{"tmp":"tmp/frontend-sdk_2.0.1_1784647438357_0.39327517049213534","host":"s3://npm-registry-packages-npm-production"}},"2.0.2":{"name":"@aerofortress/frontend-sdk","version":"2.0.2","keywords":["aerofortress","frontend","doctor","eslint","scaffolding"],"author":{"name":"Lucas Tinoco"},"license":"MIT","_id":"@aerofortress/frontend-sdk@2.0.2","maintainers":[{"name":"lucasrgt","email":"lucas.tinoco@hotmail.com"}],"homepage":"https://github.com/lucasrgt/aerofortress-framework#readme","bugs":{"url":"https://github.com/lucasrgt/aerofortress-framework/issues"},"bin":{"affe-e2e-doctor":"tools/e2e-doctor.mjs","affe-feature-e2e":"tools/feature-e2e-coverage.mjs","affe-i18n-parity":"tools/i18n-parity.mjs","affe-framework-sync":"tools/framework-sync.mjs","affe-journey-parity":"tools/journey-parity.mjs","affe-endpoint-coverage":"tools/endpoint-coverage.mjs","affe-contract-freshness":"tools/contract-freshness.mjs","affe-error-code-coverage":"tools/error-code-coverage.mjs"},"dist":{"shasum":"b5c18391fb2710f137d5b957f0fd3b4ca2eb0e3a","tarball":"https://registry.npmjs.org/@aerofortress/frontend-sdk/-/frontend-sdk-2.0.2.tgz","fileCount":23,"integrity":"sha512-eLO2uC1cKYndKenikuBviUK3SWvsTu4HbV4EIZxb69CQb6qOmEkMFq/04Wx/jjteDe+FdgVNvEsgjUHAJmRfxg==","signatures":[{"sig":"MEYCIQDN9CSKQyy9bo4Cty4zdDKLsevSvgp7SDwvRpS0u3JOLgIhAJnKshFguuQh8laaUHhqbNrWS4gp7Bye3pZVLMMd27H3","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":152278},"type":"module","exports":{"./doctor":"./tools/doctor.mjs","./e2e-doctor":"./tools/e2e-doctor.mjs","./i18n-parity":"./tools/i18n-parity.mjs","./framework-sync":"./tools/framework-sync.mjs","./journey-parity":"./tools/journey-parity.mjs","./package-versions":"./tools/package-versions.mjs","./endpoint-coverage":"./tools/endpoint-coverage.mjs","./playwright-backend":{"types":"./tools/playwright-backend.d.mts","import":"./tools/playwright-backend.mjs"},"./error-code-coverage":"./tools/error-code-coverage.mjs","./feature-e2e-coverage":"./tools/feature-e2e-coverage.mjs"},"gitHead":"56bf6f29d380c3d6345f09d9f55f97b8ef03370b","scripts":{"lint":"npm run lint:source && npm run lint:rules","test":"vitest run --exclude **/*.assay.test.ts --exclude **/*.assay.test.tsx","check":"npm run typecheck && npm run lint && npm run test && npm run test:avp","scaffold":"node tools/scaffold-feature.mjs","test:avp":"assay verify","typecheck":"npm run typecheck:spine && npm run typecheck:sample","lint:rules":"node packages/eslint-plugin/index.test.cjs","lint:source":"cd .. && node frontend-sdk/node_modules/eslint/bin/eslint.js examples/sample-app/frontend","assemble-i18n":"node tools/assemble-i18n.mjs","scaffold:design":"node tools/design-scaffold.mjs","typecheck:spine":"tsc --noEmit -p packages/aerofortress-react/tsconfig.json","typecheck:sample":"tsc --noEmit -p ../examples/sample-app/frontend/tsconfig.json"},"_npmUser":{"name":"lucasrgt","email":"lucas.tinoco@hotmail.com"},"repository":{"url":"git+https://github.com/lucasrgt/aerofortress-framework.git","type":"git","directory":"frontend-sdk"},"workspaces":["packages/*"],"_npmVersion":"10.9.8","description":"Canonical AeroFortress frontend doctor and scaffolding tools.","directories":{},"_nodeVersion":"22.23.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"msw":"^2.15.0","zod":"^4.4.3","jsdom":"^25.0.1","react":"^19.0.0","eslint":"^9.17.0","vitest":"^4.1.10","esbuild":"^0.28.1","i18next":"^24.2.0","react-dom":"^19.0.0","typescript":"^5.7.2","@types/react":"^19.0.2","react-i18next":"^15.4.0","react-hook-form":"^7.78.0","@types/react-dom":"^19.0.2","@aerofortress/assay":"0.3.1","@hookform/resolvers":"^5.4.0","@testing-library/dom":"^10.4.0","@tanstack/react-query":"^5.62.7","@vitest/eslint-plugin":"^1.1.43","eslint-plugin-sonarjs":"^4.2.0","@testing-library/react":"^16.1.0","eslint-plugin-jsx-a11y":"^6.10.2","eslint-plugin-no-secrets":"^1.1.2","@typescript-eslint/parser":"^8.18.0","@testing-library/user-event":"^14.6.1","@tanstack/eslint-plugin-query":"^5.62.16","@typescript-eslint/eslint-plugin":"^8.18.0"},"_npmOperationalInternal":{"tmp":"tmp/frontend-sdk_2.0.2_1784647717573_0.5683430832527059","host":"s3://npm-registry-packages-npm-production"}},"3.0.0":{"name":"@aerofortress/frontend-sdk","version":"3.0.0","keywords":["aerofortress","frontend","doctor","eslint","scaffolding"],"author":{"name":"Lucas Tinoco"},"license":"MIT","_id":"@aerofortress/frontend-sdk@3.0.0","maintainers":[{"name":"lucasrgt","email":"lucas.tinoco@hotmail.com"}],"homepage":"https://github.com/lucasrgt/aerofortress-framework#readme","bugs":{"url":"https://github.com/lucasrgt/aerofortress-framework/issues"},"bin":{"affe-e2e-doctor":"tools/e2e-doctor.mjs","affe-feature-e2e":"tools/feature-e2e-coverage.mjs","affe-i18n-parity":"tools/i18n-parity.mjs","affe-framework-sync":"tools/framework-sync.mjs","affe-journey-parity":"tools/journey-parity.mjs","affe-endpoint-coverage":"tools/endpoint-coverage.mjs","affe-contract-freshness":"tools/contract-freshness.mjs","affe-error-code-coverage":"tools/error-code-coverage.mjs"},"dist":{"shasum":"d5ad6779b3dff13bb16897095dfd7622f1093779","tarball":"https://registry.npmjs.org/@aerofortress/frontend-sdk/-/frontend-sdk-3.0.0.tgz","fileCount":23,"integrity":"sha512-njRpOEL2MTaFsLBeaQHqe0ywDEKhUVx8+gmic3m8QkgiSCVIbov6eAte8+fqVm6HbFWuVAh/DxpilW1eo25/qw==","signatures":[{"sig":"MEQCIH/eiZFEFwC8vI3QKheFVPBV65KoYHQBFk4qyuug57r0AiBmAC7fq/8vMDOUvJtd7FtYY0PGF3aA6ZpNcJfRbSZKew==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":152955},"type":"module","exports":{"./doctor":"./tools/doctor.mjs","./e2e-doctor":"./tools/e2e-doctor.mjs","./i18n-parity":"./tools/i18n-parity.mjs","./framework-sync":"./tools/framework-sync.mjs","./journey-parity":"./tools/journey-parity.mjs","./package-versions":"./tools/package-versions.mjs","./endpoint-coverage":"./tools/endpoint-coverage.mjs","./playwright-backend":{"types":"./tools/playwright-backend.d.mts","import":"./tools/playwright-backend.mjs"},"./error-code-coverage":"./tools/error-code-coverage.mjs","./feature-e2e-coverage":"./tools/feature-e2e-coverage.mjs"},"gitHead":"8002941ecc7f0ea6709d7c0f2a495ec49df9cd25","scripts":{"lint":"npm run lint:source && npm run lint:rules","test":"vitest run --exclude **/*.assay.test.ts --exclude **/*.assay.test.tsx","check":"npm run typecheck && npm run lint && npm run test && npm run test:avp","scaffold":"node tools/scaffold-feature.mjs","test:avp":"assay verify","typecheck":"npm run typecheck:spine && npm run typecheck:sample","lint:rules":"node packages/eslint-plugin/index.test.cjs","lint:source":"cd .. && node frontend-sdk/node_modules/eslint/bin/eslint.js examples/sample-app/frontend","assemble-i18n":"node tools/assemble-i18n.mjs","scaffold:design":"node tools/design-scaffold.mjs","typecheck:spine":"tsc --noEmit -p packages/aerofortress-react/tsconfig.json","typecheck:sample":"tsc --noEmit -p ../examples/sample-app/frontend/tsconfig.json"},"_npmUser":{"name":"lucasrgt","email":"lucas.tinoco@hotmail.com"},"repository":{"url":"git+https://github.com/lucasrgt/aerofortress-framework.git","type":"git","directory":"frontend-sdk"},"workspaces":["packages/*"],"_npmVersion":"10.9.8","description":"Canonical AeroFortress frontend doctor and scaffolding tools.","directories":{},"_nodeVersion":"22.23.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"msw":"^2.15.0","zod":"^4.4.3","jsdom":"^25.0.1","react":"^19.0.0","eslint":"^9.17.0","vitest":"^4.1.10","esbuild":"^0.28.1","i18next":"^24.2.0","react-dom":"^19.0.0","typescript":"^5.7.2","@types/react":"^19.0.2","react-i18next":"^15.4.0","react-hook-form":"^7.78.0","@types/react-dom":"^19.0.2","@aerofortress/assay":"0.3.1","@hookform/resolvers":"^5.4.0","@testing-library/dom":"^10.4.0","@tanstack/react-query":"^5.62.7","@vitest/eslint-plugin":"^1.1.43","eslint-plugin-sonarjs":"^4.2.0","@testing-library/react":"^16.1.0","eslint-plugin-jsx-a11y":"^6.10.2","eslint-plugin-no-secrets":"^1.1.2","@typescript-eslint/parser":"^8.18.0","@testing-library/user-event":"^14.6.1","@tanstack/eslint-plugin-query":"^5.62.16","@typescript-eslint/eslint-plugin":"^8.18.0"},"_npmOperationalInternal":{"tmp":"tmp/frontend-sdk_3.0.0_1784648223102_0.40418079421388664","host":"s3://npm-registry-packages-npm-production"}},"3.0.1":{"name":"@aerofortress/frontend-sdk","version":"3.0.1","keywords":["aerofortress","frontend","doctor","eslint","scaffolding"],"author":{"name":"Lucas Tinoco"},"license":"MIT","_id":"@aerofortress/frontend-sdk@3.0.1","maintainers":[{"name":"lucasrgt","email":"lucas.tinoco@hotmail.com"}],"homepage":"https://github.com/lucasrgt/aerofortress-framework#readme","bugs":{"url":"https://github.com/lucasrgt/aerofortress-framework/issues"},"bin":{"affe-e2e-doctor":"tools/e2e-doctor.mjs","affe-feature-e2e":"tools/feature-e2e-coverage.mjs","affe-i18n-parity":"tools/i18n-parity.mjs","affe-framework-sync":"tools/framework-sync.mjs","affe-journey-parity":"tools/journey-parity.mjs","affe-endpoint-coverage":"tools/endpoint-coverage.mjs","affe-contract-freshness":"tools/contract-freshness.mjs","affe-error-code-coverage":"tools/error-code-coverage.mjs"},"dist":{"shasum":"fc4e7c500866bca9bcd9666a630e311e9cbabd20","tarball":"https://registry.npmjs.org/@aerofortress/frontend-sdk/-/frontend-sdk-3.0.1.tgz","fileCount":23,"integrity":"sha512-Uu8nfJXS62LORRT/HR1v2wP3dUKTGXcgX0xRsUjbDu3VkdD+pKyk50JzoSbGUeafAxaW4AmHoKgNCGthpKesXg==","signatures":[{"sig":"MEYCIQCL1K2UaH0ZYIGdwI0HTArkAzX4cmvtkahK8NY8D0geRAIhAJk4yPCIRkDX1hhDFgti+3Grkt3HQXBji1NM43aUFkz5","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":153729},"type":"module","exports":{"./doctor":"./tools/doctor.mjs","./e2e-doctor":"./tools/e2e-doctor.mjs","./i18n-parity":"./tools/i18n-parity.mjs","./framework-sync":"./tools/framework-sync.mjs","./journey-parity":"./tools/journey-parity.mjs","./package-versions":"./tools/package-versions.mjs","./endpoint-coverage":"./tools/endpoint-coverage.mjs","./playwright-backend":{"types":"./tools/playwright-backend.d.mts","import":"./tools/playwright-backend.mjs"},"./error-code-coverage":"./tools/error-code-coverage.mjs","./feature-e2e-coverage":"./tools/feature-e2e-coverage.mjs"},"gitHead":"ccf71fd2277aa7ca8c9610a57d9bac4d83b50953","scripts":{"lint":"npm run lint:source && npm run lint:rules","test":"vitest run --exclude **/*.assay.test.ts --exclude **/*.assay.test.tsx","check":"npm run typecheck && npm run lint && npm run test && npm run test:avp","scaffold":"node tools/scaffold-feature.mjs","test:avp":"assay verify","typecheck":"npm run typecheck:spine && npm run typecheck:sample","lint:rules":"node packages/eslint-plugin/index.test.cjs","lint:source":"cd .. && node frontend-sdk/node_modules/eslint/bin/eslint.js examples/sample-app/frontend","assemble-i18n":"node tools/assemble-i18n.mjs","scaffold:design":"node tools/design-scaffold.mjs","typecheck:spine":"tsc --noEmit -p packages/aerofortress-react/tsconfig.json","typecheck:sample":"tsc --noEmit -p ../examples/sample-app/frontend/tsconfig.json"},"_npmUser":{"name":"lucasrgt","email":"lucas.tinoco@hotmail.com"},"repository":{"url":"git+https://github.com/lucasrgt/aerofortress-framework.git","type":"git","directory":"frontend-sdk"},"workspaces":["packages/*"],"_npmVersion":"10.9.8","description":"Canonical AeroFortress frontend doctor and scaffolding tools.","directories":{},"_nodeVersion":"22.23.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"msw":"^2.15.0","zod":"^4.4.3","jsdom":"^25.0.1","react":"^19.0.0","eslint":"^9.17.0","vitest":"^4.1.10","esbuild":"^0.28.1","i18next":"^24.2.0","react-dom":"^19.0.0","typescript":"^5.7.2","@types/react":"^19.0.2","react-i18next":"^15.4.0","react-hook-form":"^7.78.0","@types/react-dom":"^19.0.2","@aerofortress/assay":"0.3.1","@hookform/resolvers":"^5.4.0","@testing-library/dom":"^10.4.0","@tanstack/react-query":"^5.62.7","@vitest/eslint-plugin":"^1.1.43","eslint-plugin-sonarjs":"^4.2.0","@testing-library/react":"^16.1.0","eslint-plugin-jsx-a11y":"^6.10.2","eslint-plugin-no-secrets":"^1.1.2","@typescript-eslint/parser":"^8.18.0","@testing-library/user-event":"^14.6.1","@tanstack/eslint-plugin-query":"^5.62.16","@typescript-eslint/eslint-plugin":"^8.18.0"},"_npmOperationalInternal":{"tmp":"tmp/frontend-sdk_3.0.1_1784651242151_0.9294878609860635","host":"s3://npm-registry-packages-npm-production"}},"4.0.11":{"name":"@aerofortress/frontend-sdk","version":"4.0.11","keywords":["aerofortress","frontend","doctor","eslint","scaffolding"],"author":{"name":"Lucas Tinoco"},"license":"MIT","_id":"@aerofortress/frontend-sdk@4.0.11","maintainers":[{"name":"lucasrgt","email":"lucas.tinoco@hotmail.com"}],"homepage":"https://github.com/lucasrgt/aerofortress-framework#readme","bugs":{"url":"https://github.com/lucasrgt/aerofortress-framework/issues"},"bin":{"affe-e2e-doctor":"tools/e2e-doctor.mjs","affe-feature-e2e":"tools/feature-e2e-coverage.mjs","affe-i18n-parity":"tools/i18n-parity.mjs","affe-framework-sync":"tools/framework-sync.mjs","affe-journey-parity":"tools/journey-parity.mjs","affe-endpoint-coverage":"tools/endpoint-coverage.mjs","affe-contract-freshness":"tools/contract-freshness.mjs","affe-error-code-coverage":"tools/error-code-coverage.mjs"},"dist":{"shasum":"a39e2a42d3b42fe7cacef91e31c7a04819064003","tarball":"https://registry.npmjs.org/@aerofortress/frontend-sdk/-/frontend-sdk-4.0.11.tgz","fileCount":25,"integrity":"sha512-HN9P5IxmWMNgyaXBx0WIM4eHC7Vwlu5D9FNPC8SDsfQIp1chb0G4ORPhqNf714gcy0bBrrB6snFDKFGBFHKzhQ==","signatures":[{"sig":"MEUCIQDlrYA6GuVa4elCe4dHuAjm/sdRpZ+CkSTaZbt2AE9etgIgdVcoTNIVqu9R+2rrDmVW6/icV34VTzr2QF4slb67zwk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":177341},"type":"module","exports":{"./doctor":"./tools/doctor.mjs","./e2e-doctor":"./tools/e2e-doctor.mjs","./i18n-parity":"./tools/i18n-parity.mjs","./framework-sync":"./tools/framework-sync.mjs","./journey-parity":"./tools/journey-parity.mjs","./package-versions":"./tools/package-versions.mjs","./endpoint-coverage":"./tools/endpoint-coverage.mjs","./playwright-backend":{"types":"./tools/playwright-backend.d.mts","import":"./tools/playwright-backend.mjs","default":"./tools/playwright-backend.mjs","require":"./tools/playwright-backend.mjs"},"./error-code-coverage":"./tools/error-code-coverage.mjs","./feature-e2e-coverage":"./tools/feature-e2e-coverage.mjs","./product-verification":{"types":"./tools/product-verification.d.mts","import":"./tools/product-verification.mjs","default":"./tools/product-verification.mjs"}},"gitHead":"e5499cf0e10ebf9013cb6f0d23e100fdc3fb471e","scripts":{"lint":"npm run lint:source && npm run lint:rules","test":"vitest run --exclude **/*.assay.test.ts --exclude **/*.assay.test.tsx","check":"npm run typecheck && npm run lint && npm run test && npm run test:avp","scaffold":"node tools/scaffold-feature.mjs","test:avp":"assay verify","typecheck":"npm run typecheck:spine && npm run typecheck:sample","lint:rules":"node packages/eslint-plugin/index.test.cjs","lint:source":"cd .. && node frontend-sdk/node_modules/eslint/bin/eslint.js examples/sample-app/frontend","assemble-i18n":"node tools/assemble-i18n.mjs","scaffold:design":"node tools/design-scaffold.mjs","typecheck:spine":"tsc --noEmit -p packages/aerofortress-react/tsconfig.json","typecheck:sample":"tsc --noEmit -p ../examples/sample-app/frontend/tsconfig.json"},"_npmUser":{"name":"lucasrgt","email":"lucas.tinoco@hotmail.com"},"repository":{"url":"git+https://github.com/lucasrgt/aerofortress-framework.git","type":"git","directory":"frontend-sdk"},"workspaces":["packages/*"],"_npmVersion":"10.9.8","description":"Canonical AeroFortress frontend doctor and scaffolding tools.","directories":{},"_nodeVersion":"22.23.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"msw":"^2.15.0","zod":"^4.4.3","jsdom":"^25.0.1","react":"^19.0.0","eslint":"^9.17.0","vitest":"^4.1.10","esbuild":"^0.28.1","i18next":"^24.2.0","react-dom":"^19.0.0","typescript":"^5.7.2","@types/react":"^19.0.2","react-i18next":"^15.4.0","react-hook-form":"^7.78.0","@types/react-dom":"^19.0.2","@aerofortress/assay":"0.4.0","@hookform/resolvers":"^5.4.0","@testing-library/dom":"^10.4.0","@tanstack/react-query":"^5.62.7","@vitest/eslint-plugin":"^1.1.43","eslint-plugin-sonarjs":"^4.2.0","@testing-library/react":"^16.1.0","eslint-plugin-jsx-a11y":"^6.10.2","eslint-plugin-no-secrets":"^1.1.2","@typescript-eslint/parser":"^8.18.0","@testing-library/user-event":"^14.6.1","@tanstack/eslint-plugin-query":"^5.62.16","@typescript-eslint/eslint-plugin":"^8.18.0"},"peerDependencies":{"@aerofortress/assay":"^0.4.0"},"peerDependenciesMeta":{"@aerofortress/assay":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/frontend-sdk_4.0.11_1784761472090_0.0031561137582787335","host":"s3://npm-registry-packages-npm-production"}},"4.0.13":{"name":"@aerofortress/frontend-sdk","version":"4.0.13","keywords":["aerofortress","frontend","doctor","eslint","scaffolding"],"author":{"name":"Lucas Tinoco"},"license":"MIT","_id":"@aerofortress/frontend-sdk@4.0.13","maintainers":[{"name":"lucasrgt","email":"lucas.tinoco@hotmail.com"}],"homepage":"https://github.com/lucasrgt/aerofortress-framework#readme","bugs":{"url":"https://github.com/lucasrgt/aerofortress-framework/issues"},"bin":{"affe-e2e-doctor":"tools/e2e-doctor.mjs","affe-feature-e2e":"tools/feature-e2e-coverage.mjs","affe-i18n-parity":"tools/i18n-parity.mjs","affe-framework-sync":"tools/framework-sync.mjs","affe-journey-parity":"tools/journey-parity.mjs","affe-endpoint-coverage":"tools/endpoint-coverage.mjs","affe-contract-freshness":"tools/contract-freshness.mjs","affe-error-code-coverage":"tools/error-code-coverage.mjs"},"dist":{"shasum":"fc23d8dd23059e2a97ba295c0869e8945f18fd0e","tarball":"https://registry.npmjs.org/@aerofortress/frontend-sdk/-/frontend-sdk-4.0.13.tgz","fileCount":25,"integrity":"sha512-qpjuVL6Bumj4RchcG24+FqW6DxeiANnVUtYjVz9JJCc3uTHUeqQMzDoWWX7X/lgIVKLnuE6p/CZLjRg/L//J3g==","signatures":[{"sig":"MEQCICg0AkJPbfNkbLzU9M0ofvI/xNZCfjTI2upBtJuFVUFYAiAeUtTo3xgN4IH02jlo3o7cOKe1P8KvAsfOTKSusp/N8g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":179953},"type":"module","exports":{"./doctor":"./tools/doctor.mjs","./e2e-doctor":"./tools/e2e-doctor.mjs","./i18n-parity":"./tools/i18n-parity.mjs","./framework-sync":"./tools/framework-sync.mjs","./journey-parity":"./tools/journey-parity.mjs","./package-versions":"./tools/package-versions.mjs","./endpoint-coverage":"./tools/endpoint-coverage.mjs","./playwright-backend":{"types":"./tools/playwright-backend.d.mts","import":"./tools/playwright-backend.mjs","default":"./tools/playwright-backend.mjs","require":"./tools/playwright-backend.mjs"},"./error-code-coverage":"./tools/error-code-coverage.mjs","./feature-e2e-coverage":"./tools/feature-e2e-coverage.mjs","./product-verification":{"types":"./tools/product-verification.d.mts","import":"./tools/product-verification.mjs","default":"./tools/product-verification.mjs"}},"gitHead":"9311884b837b3db3b6511846756bbbf8bcda831b","scripts":{"lint":"npm run lint:source && npm run lint:rules","test":"vitest run --exclude **/*.assay.test.ts --exclude **/*.assay.test.tsx","check":"npm run typecheck && npm run lint && npm run test && npm run test:avp","scaffold":"node tools/scaffold-feature.mjs","test:avp":"assay verify","typecheck":"npm run typecheck:spine && npm run typecheck:sample","lint:rules":"node packages/eslint-plugin/index.test.cjs","lint:source":"cd .. && node frontend-sdk/node_modules/eslint/bin/eslint.js examples/sample-app/frontend","assemble-i18n":"node tools/assemble-i18n.mjs","scaffold:design":"node tools/design-scaffold.mjs","typecheck:spine":"tsc --noEmit -p packages/aerofortress-react/tsconfig.json","typecheck:sample":"tsc --noEmit -p ../examples/sample-app/frontend/tsconfig.json"},"_npmUser":{"name":"lucasrgt","email":"lucas.tinoco@hotmail.com"},"repository":{"url":"git+https://github.com/lucasrgt/aerofortress-framework.git","type":"git","directory":"frontend-sdk"},"workspaces":["packages/*"],"_npmVersion":"10.9.8","description":"Canonical AeroFortress frontend doctor and scaffolding tools.","directories":{},"_nodeVersion":"22.23.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"msw":"^2.15.0","zod":"^4.4.3","jsdom":"^25.0.1","react":"^19.0.0","eslint":"^9.17.0","vitest":"^4.1.10","esbuild":"^0.28.1","i18next":"^24.2.0","react-dom":"^19.0.0","typescript":"^5.7.2","@types/react":"^19.0.2","react-i18next":"^15.4.0","react-hook-form":"^7.78.0","@types/react-dom":"^19.0.2","@aerofortress/assay":"0.4.0","@hookform/resolvers":"^5.4.0","@testing-library/dom":"^10.4.0","@tanstack/react-query":"^5.62.7","@vitest/eslint-plugin":"^1.1.43","eslint-plugin-sonarjs":"^4.2.0","@testing-library/react":"^16.1.0","eslint-plugin-jsx-a11y":"^6.10.2","eslint-plugin-no-secrets":"^1.1.2","@typescript-eslint/parser":"^8.18.0","@testing-library/user-event":"^14.6.1","@tanstack/eslint-plugin-query":"^5.62.16","@typescript-eslint/eslint-plugin":"^8.18.0"},"peerDependencies":{"@aerofortress/assay":"^0.4.0"},"peerDependenciesMeta":{"@aerofortress/assay":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/frontend-sdk_4.0.13_1784776955247_0.20161403017657453","host":"s3://npm-registry-packages-npm-production"}},"4.0.14":{"name":"@aerofortress/frontend-sdk","version":"4.0.14","keywords":["aerofortress","frontend","doctor","eslint","scaffolding"],"author":{"name":"Lucas Tinoco"},"license":"MIT","_id":"@aerofortress/frontend-sdk@4.0.14","maintainers":[{"name":"lucasrgt","email":"lucas.tinoco@hotmail.com"}],"homepage":"https://github.com/lucasrgt/aerofortress-framework#readme","bugs":{"url":"https://github.com/lucasrgt/aerofortress-framework/issues"},"bin":{"affe-e2e-doctor":"tools/e2e-doctor.mjs","affe-feature-e2e":"tools/feature-e2e-coverage.mjs","affe-i18n-parity":"tools/i18n-parity.mjs","affe-framework-sync":"tools/framework-sync.mjs","affe-journey-parity":"tools/journey-parity.mjs","affe-endpoint-coverage":"tools/endpoint-coverage.mjs","affe-contract-freshness":"tools/contract-freshness.mjs","affe-error-code-coverage":"tools/error-code-coverage.mjs"},"dist":{"shasum":"8a340ad43f0603afb8da25e22c2bc6c66c4a7439","tarball":"https://registry.npmjs.org/@aerofortress/frontend-sdk/-/frontend-sdk-4.0.14.tgz","fileCount":25,"integrity":"sha512-Pri9ibqRGf5AU/gw7Y/Z75d4ezx1otuiusC/g+tl55yxFy/4WU/n+6Rqj0ahJNMh3EtbXZIAjA2NEGkiILu6QA==","signatures":[{"sig":"MEQCIAw9Id54kiWZqqdx5M6znUtcT3Y+KlWLbPmIDZ2sqI0JAiBWXZTfZ32qxnYdHmpvwUjDc1JVKGlo++IA1VQAcCDU8g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":179953},"type":"module","exports":{"./doctor":"./tools/doctor.mjs","./e2e-doctor":"./tools/e2e-doctor.mjs","./i18n-parity":"./tools/i18n-parity.mjs","./framework-sync":"./tools/framework-sync.mjs","./journey-parity":"./tools/journey-parity.mjs","./package-versions":"./tools/package-versions.mjs","./endpoint-coverage":"./tools/endpoint-coverage.mjs","./playwright-backend":{"types":"./tools/playwright-backend.d.mts","import":"./tools/playwright-backend.mjs","default":"./tools/playwright-backend.mjs","require":"./tools/playwright-backend.mjs"},"./error-code-coverage":"./tools/error-code-coverage.mjs","./feature-e2e-coverage":"./tools/feature-e2e-coverage.mjs","./product-verification":{"types":"./tools/product-verification.d.mts","import":"./tools/product-verification.mjs","default":"./tools/product-verification.mjs"}},"gitHead":"c22f4318fd8698bec12af5edf2a8e21865809a73","scripts":{"lint":"npm run lint:source && npm run lint:rules","test":"vitest run --exclude **/*.assay.test.ts --exclude **/*.assay.test.tsx","check":"npm run typecheck && npm run lint && npm run test && npm run test:avp","scaffold":"node tools/scaffold-feature.mjs","test:avp":"assay verify","typecheck":"npm run typecheck:spine && npm run typecheck:sample","lint:rules":"node packages/eslint-plugin/index.test.cjs","lint:source":"cd .. && node frontend-sdk/node_modules/eslint/bin/eslint.js examples/sample-app/frontend","assemble-i18n":"node tools/assemble-i18n.mjs","scaffold:design":"node tools/design-scaffold.mjs","typecheck:spine":"tsc --noEmit -p packages/aerofortress-react/tsconfig.json","typecheck:sample":"tsc --noEmit -p ../examples/sample-app/frontend/tsconfig.json"},"_npmUser":{"name":"lucasrgt","email":"lucas.tinoco@hotmail.com"},"repository":{"url":"git+https://github.com/lucasrgt/aerofortress-framework.git","type":"git","directory":"frontend-sdk"},"workspaces":["packages/*"],"_npmVersion":"10.9.8","description":"Canonical AeroFortress frontend doctor and scaffolding tools.","directories":{},"_nodeVersion":"22.23.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"msw":"^2.15.0","zod":"^4.4.3","jsdom":"^25.0.1","react":"^19.0.0","eslint":"^9.17.0","vitest":"^4.1.10","esbuild":"^0.28.1","i18next":"^24.2.0","react-dom":"^19.0.0","typescript":"^5.7.2","@types/react":"^19.0.2","react-i18next":"^15.4.0","react-hook-form":"^7.78.0","@types/react-dom":"^19.0.2","@aerofortress/assay":"0.4.0","@hookform/resolvers":"^5.4.0","@testing-library/dom":"^10.4.0","@tanstack/react-query":"^5.62.7","@vitest/eslint-plugin":"^1.1.43","eslint-plugin-sonarjs":"^4.2.0","@testing-library/react":"^16.1.0","eslint-plugin-jsx-a11y":"^6.10.2","eslint-plugin-no-secrets":"^1.1.2","@typescript-eslint/parser":"^8.18.0","@testing-library/user-event":"^14.6.1","@tanstack/eslint-plugin-query":"^5.62.16","@typescript-eslint/eslint-plugin":"^8.18.0"},"peerDependencies":{"@aerofortress/assay":"^0.4.0"},"peerDependenciesMeta":{"@aerofortress/assay":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/frontend-sdk_4.0.14_1784786482915_0.5511754104753988","host":"s3://npm-registry-packages-npm-production"}},"4.0.15":{"name":"@aerofortress/frontend-sdk","version":"4.0.15","keywords":["aerofortress","frontend","doctor","eslint","scaffolding"],"author":{"name":"Lucas Tinoco"},"license":"MIT","_id":"@aerofortress/frontend-sdk@4.0.15","maintainers":[{"name":"lucasrgt","email":"lucas.tinoco@hotmail.com"}],"homepage":"https://github.com/lucasrgt/aerofortress-framework#readme","bugs":{"url":"https://github.com/lucasrgt/aerofortress-framework/issues"},"bin":{"affe-e2e-doctor":"tools/e2e-doctor.mjs","affe-feature-e2e":"tools/feature-e2e-coverage.mjs","affe-i18n-parity":"tools/i18n-parity.mjs","affe-framework-sync":"tools/framework-sync.mjs","affe-journey-parity":"tools/journey-parity.mjs","affe-endpoint-coverage":"tools/endpoint-coverage.mjs","affe-contract-freshness":"tools/contract-freshness.mjs","affe-error-code-coverage":"tools/error-code-coverage.mjs"},"dist":{"shasum":"681e5b8a1f9b27d90730c2b05dcf8ff405ef9b31","tarball":"https://registry.npmjs.org/@aerofortress/frontend-sdk/-/frontend-sdk-4.0.15.tgz","fileCount":25,"integrity":"sha512-SoYtHbbfon4UsMCJ90Ctf7fC61J5zE4X9oi+4CHmlbVrvQqn4twoRcHSuG58yBYOjoBWEDmhjKJvWXCGu0IDdw==","signatures":[{"sig":"MEUCIQC9JDBk8jNu9RKFHT3GhQjcwjnED67KtKSbiB80asYKSgIgKoVM2lXQyV7n8jgyTJeDuKWeQhnez78QuVivtNtHrWY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":180101},"type":"module","exports":{"./doctor":"./tools/doctor.mjs","./e2e-doctor":"./tools/e2e-doctor.mjs","./i18n-parity":"./tools/i18n-parity.mjs","./framework-sync":"./tools/framework-sync.mjs","./journey-parity":"./tools/journey-parity.mjs","./package-versions":"./tools/package-versions.mjs","./endpoint-coverage":"./tools/endpoint-coverage.mjs","./playwright-backend":{"types":"./tools/playwright-backend.d.mts","import":"./tools/playwright-backend.mjs","default":"./tools/playwright-backend.mjs","require":"./tools/playwright-backend.mjs"},"./error-code-coverage":"./tools/error-code-coverage.mjs","./feature-e2e-coverage":"./tools/feature-e2e-coverage.mjs","./product-verification":{"types":"./tools/product-verification.d.mts","import":"./tools/product-verification.mjs","default":"./tools/product-verification.mjs"}},"gitHead":"607b1dace9f2e4e035b9972d259ee5ad64fea870","scripts":{"lint":"npm run lint:source && npm run lint:rules","test":"vitest run --exclude **/*.assay.test.ts --exclude **/*.assay.test.tsx","check":"npm run typecheck && npm run lint && npm run test && npm run test:avp","scaffold":"node tools/scaffold-feature.mjs","test:avp":"assay verify","typecheck":"npm run typecheck:spine && npm run typecheck:sample","lint:rules":"node packages/eslint-plugin/index.test.cjs","lint:source":"cd .. && node frontend-sdk/node_modules/eslint/bin/eslint.js examples/sample-app/frontend","assemble-i18n":"node tools/assemble-i18n.mjs","scaffold:design":"node tools/design-scaffold.mjs","typecheck:spine":"tsc --noEmit -p packages/aerofortress-react/tsconfig.json","typecheck:sample":"tsc --noEmit -p ../examples/sample-app/frontend/tsconfig.json"},"_npmUser":{"name":"lucasrgt","email":"lucas.tinoco@hotmail.com"},"repository":{"url":"git+https://github.com/lucasrgt/aerofortress-framework.git","type":"git","directory":"frontend-sdk"},"workspaces":["packages/*"],"_npmVersion":"10.9.8","description":"Canonical AeroFortress frontend doctor and scaffolding tools.","directories":{},"_nodeVersion":"22.23.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"msw":"^2.15.0","zod":"^4.4.3","jsdom":"^25.0.1","react":"^19.0.0","eslint":"^9.17.0","vitest":"^4.1.10","esbuild":"^0.28.1","i18next":"^24.2.0","react-dom":"^19.0.0","typescript":"^5.7.2","@types/react":"^19.0.2","react-i18next":"^15.4.0","react-hook-form":"^7.78.0","@types/react-dom":"^19.0.2","@aerofortress/assay":"0.4.0","@hookform/resolvers":"^5.4.0","@testing-library/dom":"^10.4.0","@tanstack/react-query":"^5.62.7","@vitest/eslint-plugin":"^1.1.43","eslint-plugin-sonarjs":"^4.2.0","@testing-library/react":"^16.1.0","eslint-plugin-jsx-a11y":"^6.10.2","eslint-plugin-no-secrets":"^1.1.2","@typescript-eslint/parser":"^8.18.0","@testing-library/user-event":"^14.6.1","@tanstack/eslint-plugin-query":"^5.62.16","@typescript-eslint/eslint-plugin":"^8.18.0"},"peerDependencies":{"@aerofortress/assay":"^0.4.0"},"peerDependenciesMeta":{"@aerofortress/assay":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/frontend-sdk_4.0.15_1784788823883_0.45699241530536483","host":"s3://npm-registry-packages-npm-production"}},"4.0.16":{"name":"@aerofortress/frontend-sdk","version":"4.0.16","keywords":["aerofortress","frontend","doctor","eslint","scaffolding"],"author":{"name":"Lucas Tinoco"},"license":"MIT","_id":"@aerofortress/frontend-sdk@4.0.16","maintainers":[{"name":"lucasrgt","email":"lucas.tinoco@hotmail.com"}],"homepage":"https://github.com/lucasrgt/aerofortress-framework#readme","bugs":{"url":"https://github.com/lucasrgt/aerofortress-framework/issues"},"bin":{"affe-e2e-doctor":"tools/e2e-doctor.mjs","affe-eslint-gate":"tools/eslint-gate.mjs","affe-feature-e2e":"tools/feature-e2e-coverage.mjs","affe-i18n-parity":"tools/i18n-parity.mjs","affe-framework-sync":"tools/framework-sync.mjs","affe-journey-parity":"tools/journey-parity.mjs","affe-endpoint-coverage":"tools/endpoint-coverage.mjs","affe-contract-freshness":"tools/contract-freshness.mjs","affe-error-code-coverage":"tools/error-code-coverage.mjs"},"dist":{"shasum":"433c3e559228834ac6d35d5fd626f389b9e824a1","tarball":"https://registry.npmjs.org/@aerofortress/frontend-sdk/-/frontend-sdk-4.0.16.tgz","fileCount":26,"integrity":"sha512-l/mEloassMy02IyIFkESUznDjQcjIZSUs/tEL9yPIa0yno8StSEGuxD4KP0R2ZsUrgr2pIW9OrhaWyNOBT8f2g==","signatures":[{"sig":"MEUCIQColh8aUR/zeKaQBoQMVgu4srvo7pBkF/FtqqJ2f7PVegIgWgG1cotNWlLQdC0qKraD2WPfDvj/yK2fX6vhS/FtqqE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":182862},"type":"module","exports":{"./doctor":"./tools/doctor.mjs","./e2e-doctor":"./tools/e2e-doctor.mjs","./i18n-parity":"./tools/i18n-parity.mjs","./framework-sync":"./tools/framework-sync.mjs","./journey-parity":"./tools/journey-parity.mjs","./package-versions":"./tools/package-versions.mjs","./endpoint-coverage":"./tools/endpoint-coverage.mjs","./playwright-backend":{"types":"./tools/playwright-backend.d.mts","import":"./tools/playwright-backend.mjs","default":"./tools/playwright-backend.mjs","require":"./tools/playwright-backend.mjs"},"./error-code-coverage":"./tools/error-code-coverage.mjs","./feature-e2e-coverage":"./tools/feature-e2e-coverage.mjs","./product-verification":{"types":"./tools/product-verification.d.mts","import":"./tools/product-verification.mjs","default":"./tools/product-verification.mjs"}},"gitHead":"9faa099712bbf25a320d7168eeae9bf153d66a26","scripts":{"lint":"npm run lint:source && npm run lint:rules","test":"vitest run --exclude **/*.assay.test.ts --exclude **/*.assay.test.tsx","check":"npm run typecheck && npm run lint && npm run test && npm run test:avp","scaffold":"node tools/scaffold-feature.mjs","test:avp":"assay verify","typecheck":"npm run typecheck:spine && npm run typecheck:sample","lint:rules":"node packages/eslint-plugin/index.test.cjs","lint:source":"cd .. && node frontend-sdk/node_modules/eslint/bin/eslint.js examples/sample-app/frontend","assemble-i18n":"node tools/assemble-i18n.mjs","scaffold:design":"node tools/design-scaffold.mjs","typecheck:spine":"tsc --noEmit -p packages/aerofortress-react/tsconfig.json","typecheck:sample":"tsc --noEmit -p ../examples/sample-app/frontend/tsconfig.json"},"_npmUser":{"name":"lucasrgt","email":"lucas.tinoco@hotmail.com"},"repository":{"url":"git+https://github.com/lucasrgt/aerofortress-framework.git","type":"git","directory":"frontend-sdk"},"workspaces":["packages/*"],"_npmVersion":"10.9.8","description":"Canonical AeroFortress frontend doctor and scaffolding tools.","directories":{},"_nodeVersion":"22.23.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"msw":"^2.15.0","zod":"^4.4.3","jsdom":"^25.0.1","react":"^19.0.0","eslint":"^9.17.0","vitest":"^4.1.10","esbuild":"^0.28.1","i18next":"^24.2.0","react-dom":"^19.0.0","typescript":"^5.7.2","@types/react":"^19.0.2","react-i18next":"^15.4.0","react-hook-form":"^7.78.0","@types/react-dom":"^19.0.2","@aerofortress/assay":"0.4.0","@hookform/resolvers":"^5.4.0","@testing-library/dom":"^10.4.0","@tanstack/react-query":"^5.62.7","@vitest/eslint-plugin":"^1.1.43","eslint-plugin-sonarjs":"^4.2.0","@testing-library/react":"^16.1.0","eslint-plugin-jsx-a11y":"^6.10.2","eslint-plugin-no-secrets":"^1.1.2","@typescript-eslint/parser":"^8.18.0","@testing-library/user-event":"^14.6.1","@tanstack/eslint-plugin-query":"^5.62.16","@typescript-eslint/eslint-plugin":"^8.18.0"},"peerDependencies":{"eslint":">=9","@aerofortress/assay":"^0.4.0","eslint-plugin-aerofortress":"^1.0.10"},"peerDependenciesMeta":{"@aerofortress/assay":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/frontend-sdk_4.0.16_1784824156468_0.474199990005328","host":"s3://npm-registry-packages-npm-production"}},"4.0.17":{"name":"@aerofortress/frontend-sdk","version":"4.0.17","keywords":["aerofortress","frontend","doctor","eslint","scaffolding"],"author":{"name":"Lucas Tinoco"},"license":"MIT","_id":"@aerofortress/frontend-sdk@4.0.17","maintainers":[{"name":"lucasrgt","email":"lucas.tinoco@hotmail.com"}],"homepage":"https://github.com/lucasrgt/aerofortress-framework#readme","bugs":{"url":"https://github.com/lucasrgt/aerofortress-framework/issues"},"bin":{"affe-e2e-doctor":"tools/e2e-doctor.mjs","affe-eslint-gate":"tools/eslint-gate.mjs","affe-feature-e2e":"tools/feature-e2e-coverage.mjs","affe-i18n-parity":"tools/i18n-parity.mjs","affe-framework-sync":"tools/framework-sync.mjs","affe-journey-parity":"tools/journey-parity.mjs","affe-endpoint-coverage":"tools/endpoint-coverage.mjs","affe-contract-freshness":"tools/contract-freshness.mjs","affe-error-code-coverage":"tools/error-code-coverage.mjs"},"dist":{"shasum":"cfc2bf12bb2f6dc2b3574d4b8149f6eea80b59b9","tarball":"https://registry.npmjs.org/@aerofortress/frontend-sdk/-/frontend-sdk-4.0.17.tgz","fileCount":26,"integrity":"sha512-1axFfaBdMOAzcSPH+nCuE3GBhhahFCNDbJi0ziXJbW35T+8C6tHi6NvUN5f6VyeSRnftz4A1rYe3v4KjAw7IlA==","signatures":[{"sig":"MEUCIG3rX2WKn3O3yjOF8IqgcRX/yTmWiyxlCewlLIB9VL52AiEAy2C0lxjf8XO9db0UhE/zs1N1CpyFFHVngO9ECn8cxQk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":182950},"type":"module","exports":{"./doctor":"./tools/doctor.mjs","./e2e-doctor":"./tools/e2e-doctor.mjs","./i18n-parity":"./tools/i18n-parity.mjs","./framework-sync":"./tools/framework-sync.mjs","./journey-parity":"./tools/journey-parity.mjs","./package-versions":"./tools/package-versions.mjs","./endpoint-coverage":"./tools/endpoint-coverage.mjs","./playwright-backend":{"types":"./tools/playwright-backend.d.mts","import":"./tools/playwright-backend.mjs","default":"./tools/playwright-backend.mjs","require":"./tools/playwright-backend.mjs"},"./error-code-coverage":"./tools/error-code-coverage.mjs","./feature-e2e-coverage":"./tools/feature-e2e-coverage.mjs","./product-verification":{"types":"./tools/product-verification.d.mts","import":"./tools/product-verification.mjs","default":"./tools/product-verification.mjs"}},"gitHead":"371bdd32a1a04570360bb4f6daa41546a0d903f5","scripts":{"lint":"npm run lint:source && npm run lint:rules","test":"vitest run --exclude **/*.assay.test.ts --exclude **/*.assay.test.tsx","check":"npm run typecheck && npm run lint && npm run test && npm run test:avp","scaffold":"node tools/scaffold-feature.mjs","test:avp":"assay verify","typecheck":"npm run typecheck:spine && npm run typecheck:sample","lint:rules":"node packages/eslint-plugin/index.test.cjs","lint:source":"cd .. && node frontend-sdk/node_modules/eslint/bin/eslint.js examples/sample-app/frontend","assemble-i18n":"node tools/assemble-i18n.mjs","scaffold:design":"node tools/design-scaffold.mjs","typecheck:spine":"tsc --noEmit -p packages/aerofortress-react/tsconfig.json","typecheck:sample":"tsc --noEmit -p ../examples/sample-app/frontend/tsconfig.json"},"_npmUser":{"name":"lucasrgt","email":"lucas.tinoco@hotmail.com"},"repository":{"url":"git+https://github.com/lucasrgt/aerofortress-framework.git","type":"git","directory":"frontend-sdk"},"workspaces":["packages/*"],"_npmVersion":"10.9.8","description":"Canonical AeroFortress frontend doctor and scaffolding tools.","directories":{},"_nodeVersion":"22.23.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"msw":"^2.15.0","zod":"^4.4.3","jsdom":"^25.0.1","react":"^19.0.0","eslint":"^9.17.0","vitest":"^4.1.10","esbuild":"^0.28.1","i18next":"^24.2.0","react-dom":"^19.0.0","typescript":"^5.7.2","@types/react":"^19.0.2","react-i18next":"^15.4.0","react-hook-form":"^7.78.0","@types/react-dom":"^19.0.2","@aerofortress/assay":"0.4.0","@hookform/resolvers":"^5.4.0","@testing-library/dom":"^10.4.0","@tanstack/react-query":"^5.62.7","@vitest/eslint-plugin":"^1.1.43","eslint-plugin-sonarjs":"^4.2.0","@testing-library/react":"^16.1.0","eslint-plugin-jsx-a11y":"^6.10.2","eslint-plugin-no-secrets":"^1.1.2","@typescript-eslint/parser":"^8.18.0","@testing-library/user-event":"^14.6.1","@tanstack/eslint-plugin-query":"^5.62.16","@typescript-eslint/eslint-plugin":"^8.18.0"},"peerDependencies":{"eslint":">=9","@aerofortress/assay":"^0.4.0","eslint-plugin-aerofortress":"^1.0.10"},"peerDependenciesMeta":{"@aerofortress/assay":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/frontend-sdk_4.0.17_1784825532521_0.9809460062888267","host":"s3://npm-registry-packages-npm-production"}},"4.0.18":{"name":"@aerofortress/frontend-sdk","version":"4.0.18","keywords":["aerofortress","frontend","doctor","eslint","scaffolding"],"author":{"name":"Lucas Tinoco"},"license":"MIT","_id":"@aerofortress/frontend-sdk@4.0.18","maintainers":[{"name":"lucasrgt","email":"lucas.tinoco@hotmail.com"}],"homepage":"https://github.com/lucasrgt/aerofortress-framework#readme","bugs":{"url":"https://github.com/lucasrgt/aerofortress-framework/issues"},"bin":{"affe-e2e-doctor":"tools/e2e-doctor.mjs","affe-eslint-gate":"tools/eslint-gate.mjs","affe-feature-e2e":"tools/feature-e2e-coverage.mjs","affe-i18n-parity":"tools/i18n-parity.mjs","affe-framework-sync":"tools/framework-sync.mjs","affe-journey-parity":"tools/journey-parity.mjs","affe-endpoint-coverage":"tools/endpoint-coverage.mjs","affe-contract-freshness":"tools/contract-freshness.mjs","affe-error-code-coverage":"tools/error-code-coverage.mjs"},"dist":{"shasum":"219095b40acf298a8be1b55c38853bc642c3be69","tarball":"https://registry.npmjs.org/@aerofortress/frontend-sdk/-/frontend-sdk-4.0.18.tgz","fileCount":26,"integrity":"sha512-6Ub1kxCeOWiLXSauzjME2PLBHdSczCifTo5GUSOOJvfET7PDa8GfuWw+RZQkVz+/qMAQ452FVdG6C8L73lMS/Q==","signatures":[{"sig":"MEQCIEw3YOlq/fcHxECq5auf6PY0jpG3rr/4v3hXaDMS+upLAiA6eqSKlfC91ditgiBXLex1WGtDXprlDtqZbxGb1td8Xw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":183017},"type":"module","exports":{"./doctor":"./tools/doctor.mjs","./e2e-doctor":"./tools/e2e-doctor.mjs","./i18n-parity":"./tools/i18n-parity.mjs","./framework-sync":"./tools/framework-sync.mjs","./journey-parity":"./tools/journey-parity.mjs","./package-versions":"./tools/package-versions.mjs","./endpoint-coverage":"./tools/endpoint-coverage.mjs","./playwright-backend":{"types":"./tools/playwright-backend.d.mts","import":"./tools/playwright-backend.mjs","default":"./tools/playwright-backend.mjs","require":"./tools/playwright-backend.mjs"},"./error-code-coverage":"./tools/error-code-coverage.mjs","./feature-e2e-coverage":"./tools/feature-e2e-coverage.mjs","./product-verification":{"types":"./tools/product-verification.d.mts","import":"./tools/product-verification.mjs","default":"./tools/product-verification.mjs"}},"gitHead":"f0860fd5c8151fda1bdf80ef18eb484a7fe3efd0","scripts":{"lint":"npm run lint:source && npm run lint:rules","test":"vitest run --exclude **/*.assay.test.ts --exclude **/*.assay.test.tsx","check":"npm run typecheck && npm run lint && npm run test && npm run test:avp","scaffold":"node tools/scaffold-feature.mjs","test:avp":"assay verify","typecheck":"npm run typecheck:spine && npm run typecheck:sample","lint:rules":"node packages/eslint-plugin/index.test.cjs","lint:source":"cd .. && node frontend-sdk/node_modules/eslint/bin/eslint.js examples/sample-app/frontend","assemble-i18n":"node tools/assemble-i18n.mjs","scaffold:design":"node tools/design-scaffold.mjs","typecheck:spine":"tsc --noEmit -p packages/aerofortress-react/tsconfig.json","typecheck:sample":"tsc --noEmit -p ../examples/sample-app/frontend/tsconfig.json"},"_npmUser":{"name":"lucasrgt","email":"lucas.tinoco@hotmail.com"},"repository":{"url":"git+https://github.com/lucasrgt/aerofortress-framework.git","type":"git","directory":"frontend-sdk"},"workspaces":["packages/*"],"_npmVersion":"10.9.8","description":"Canonical AeroFortress frontend doctor and scaffolding tools.","directories":{},"_nodeVersion":"22.23.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"msw":"^2.15.0","zod":"^4.4.3","jsdom":"^25.0.1","react":"^19.0.0","eslint":"^9.17.0","vitest":"^4.1.10","esbuild":"^0.28.1","i18next":"^24.2.0","react-dom":"^19.0.0","typescript":"^5.7.2","@types/react":"^19.0.2","react-i18next":"^15.4.0","react-hook-form":"^7.78.0","@types/react-dom":"^19.0.2","@aerofortress/assay":"0.4.0","@hookform/resolvers":"^5.4.0","@testing-library/dom":"^10.4.0","@tanstack/react-query":"^5.62.7","@vitest/eslint-plugin":"^1.1.43","eslint-plugin-sonarjs":"^4.2.0","@testing-library/react":"^16.1.0","eslint-plugin-jsx-a11y":"^6.10.2","eslint-plugin-no-secrets":"^1.1.2","@typescript-eslint/parser":"^8.18.0","@testing-library/user-event":"^14.6.1","@tanstack/eslint-plugin-query":"^5.62.16","@typescript-eslint/eslint-plugin":"^8.18.0"},"peerDependencies":{"eslint":">=9","@aerofortress/assay":"^0.4.0","eslint-plugin-aerofortress":"^1.0.10"},"peerDependenciesMeta":{"@aerofortress/assay":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/frontend-sdk_4.0.18_1784831185346_0.6690199043676301","host":"s3://npm-registry-packages-npm-production"}},"4.0.20":{"name":"@aerofortress/frontend-sdk","version":"4.0.20","keywords":["aerofortress","frontend","doctor","eslint","scaffolding"],"author":{"name":"Lucas Tinoco"},"license":"MIT","_id":"@aerofortress/frontend-sdk@4.0.20","maintainers":[{"name":"lucasrgt","email":"lucas.tinoco@hotmail.com"}],"homepage":"https://github.com/lucasrgt/aerofortress-framework#readme","bugs":{"url":"https://github.com/lucasrgt/aerofortress-framework/issues"},"bin":{"affe-e2e-doctor":"tools/e2e-doctor.mjs","affe-eslint-gate":"tools/eslint-gate.mjs","affe-feature-e2e":"tools/feature-e2e-coverage.mjs","affe-i18n-parity":"tools/i18n-parity.mjs","affe-framework-sync":"tools/framework-sync.mjs","affe-journey-parity":"tools/journey-parity.mjs","affe-endpoint-coverage":"tools/endpoint-coverage.mjs","affe-contract-freshness":"tools/contract-freshness.mjs","affe-error-code-coverage":"tools/error-code-coverage.mjs"},"dist":{"shasum":"b41cdaf6d3482fbb7e92023c192ecfe79fb3e186","tarball":"https://registry.npmjs.org/@aerofortress/frontend-sdk/-/frontend-sdk-4.0.20.tgz","fileCount":26,"integrity":"sha512-38o8+Uo3N58pi2x0ev4GnH8VQkALUXjacY6wBBgknIkq5PZDLwiYM/yCxruermmh4TvorSXM/fVmY1IqzZq1sw==","signatures":[{"sig":"MEUCIQDqi9ax7CrSYUltHsN1BBaNRBwYQV4CzH06/PkUSpmLqQIgH3niOW4zvV6iwb/zvMSEalrKWQjru25UUMsTCZ/iklU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":184712},"type":"module","exports":{"./doctor":"./tools/doctor.mjs","./e2e-doctor":"./tools/e2e-doctor.mjs","./i18n-parity":"./tools/i18n-parity.mjs","./framework-sync":"./tools/framework-sync.mjs","./journey-parity":"./tools/journey-parity.mjs","./package-versions":"./tools/package-versions.mjs","./endpoint-coverage":"./tools/endpoint-coverage.mjs","./playwright-backend":{"types":"./tools/playwright-backend.d.mts","import":"./tools/playwright-backend.mjs","default":"./tools/playwright-backend.mjs","require":"./tools/playwright-backend.mjs"},"./error-code-coverage":"./tools/error-code-coverage.mjs","./feature-e2e-coverage":"./tools/feature-e2e-coverage.mjs","./product-verification":{"types":"./tools/product-verification.d.mts","import":"./tools/product-verification.mjs","default":"./tools/product-verification.mjs"}},"gitHead":"6ed1628be3687a210d2308f6d5e164fe356bcd01","scripts":{"lint":"npm run lint:source && npm run lint:rules","test":"vitest run --exclude **/*.assay.test.ts --exclude **/*.assay.test.tsx","check":"npm run typecheck && npm run lint && npm run test && npm run test:avp","scaffold":"node tools/scaffold-feature.mjs","test:avp":"assay verify","typecheck":"npm run typecheck:spine && npm run typecheck:sample","lint:rules":"node packages/eslint-plugin/index.test.cjs","lint:source":"cd .. && node frontend-sdk/node_modules/eslint/bin/eslint.js examples/sample-app/frontend","assemble-i18n":"node tools/assemble-i18n.mjs","scaffold:design":"node tools/design-scaffold.mjs","typecheck:spine":"tsc --noEmit -p packages/aerofortress-react/tsconfig.json","typecheck:sample":"tsc --noEmit -p ../examples/sample-app/frontend/tsconfig.json"},"_npmUser":{"name":"lucasrgt","email":"lucas.tinoco@hotmail.com"},"repository":{"url":"git+https://github.com/lucasrgt/aerofortress-framework.git","type":"git","directory":"frontend-sdk"},"workspaces":["packages/*"],"_npmVersion":"10.9.8","description":"Canonical AeroFortress frontend doctor and scaffolding tools.","directories":{},"_nodeVersion":"22.23.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"msw":"^2.15.0","zod":"^4.4.3","jsdom":"^25.0.1","react":"^19.0.0","eslint":"^9.17.0","vitest":"^4.1.10","esbuild":"^0.28.1","i18next":"^24.2.0","react-dom":"^19.0.0","typescript":"^5.7.2","@types/react":"^19.0.2","react-i18next":"^15.4.0","react-hook-form":"^7.78.0","@types/react-dom":"^19.0.2","@aerofortress/assay":"0.4.0","@hookform/resolvers":"^5.4.0","@testing-library/dom":"^10.4.0","@tanstack/react-query":"^5.62.7","@vitest/eslint-plugin":"^1.1.43","eslint-plugin-sonarjs":"^4.2.0","@testing-library/react":"^16.1.0","eslint-plugin-jsx-a11y":"^6.10.2","eslint-plugin-no-secrets":"^1.1.2","@typescript-eslint/parser":"^8.18.0","@testing-library/user-event":"^14.6.1","@tanstack/eslint-plugin-query":"^5.62.16","@typescript-eslint/eslint-plugin":"^8.18.0"},"peerDependencies":{"eslint":">=9","@aerofortress/assay":"^0.4.0","eslint-plugin-aerofortress":"^1.0.10"},"peerDependenciesMeta":{"@aerofortress/assay":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/frontend-sdk_4.0.20_1784832576928_0.7052720008894615","host":"s3://npm-registry-packages-npm-production"}},"4.0.21":{"name":"@aerofortress/frontend-sdk","version":"4.0.21","keywords":["aerofortress","frontend","doctor","eslint","scaffolding"],"author":{"name":"Lucas Tinoco"},"license":"MIT","_id":"@aerofortress/frontend-sdk@4.0.21","maintainers":[{"name":"lucasrgt","email":"lucas.tinoco@hotmail.com"}],"homepage":"https://github.com/lucasrgt/aerofortress-framework#readme","bugs":{"url":"https://github.com/lucasrgt/aerofortress-framework/issues"},"bin":{"affe-e2e-doctor":"tools/e2e-doctor.mjs","affe-eslint-gate":"tools/eslint-gate.mjs","affe-feature-e2e":"tools/feature-e2e-coverage.mjs","affe-i18n-parity":"tools/i18n-parity.mjs","affe-framework-sync":"tools/framework-sync.mjs","affe-journey-parity":"tools/journey-parity.mjs","affe-endpoint-coverage":"tools/endpoint-coverage.mjs","affe-contract-freshness":"tools/contract-freshness.mjs","affe-error-code-coverage":"tools/error-code-coverage.mjs"},"dist":{"shasum":"eb69c5c530a51222a18e6f1e2f661848bd1c34b3","tarball":"https://registry.npmjs.org/@aerofortress/frontend-sdk/-/frontend-sdk-4.0.21.tgz","fileCount":26,"integrity":"sha512-vOdFjJU4MF+MxaYpm5CHEMTYj/8PdJjAaQfSfAzwaJJFHAQDLq+XtUT2w4olm6HLVdm7hJuhm6cpmpYrE27RBg==","signatures":[{"sig":"MEYCIQD+Csdc73zBQaYNLCslUPeDmDpi+csBw7tI2QM8VktYugIhANrOQgtyhdwl6W0V7M6KpkpXqBg3fNkrU23I9CER8oFb","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":185270},"type":"module","exports":{"./doctor":"./tools/doctor.mjs","./e2e-doctor":"./tools/e2e-doctor.mjs","./i18n-parity":"./tools/i18n-parity.mjs","./framework-sync":"./tools/framework-sync.mjs","./journey-parity":"./tools/journey-parity.mjs","./package-versions":"./tools/package-versions.mjs","./endpoint-coverage":"./tools/endpoint-coverage.mjs","./playwright-backend":{"types":"./tools/playwright-backend.d.mts","import":"./tools/playwright-backend.mjs","default":"./tools/playwright-backend.mjs","require":"./tools/playwright-backend.mjs"},"./error-code-coverage":"./tools/error-code-coverage.mjs","./feature-e2e-coverage":"./tools/feature-e2e-coverage.mjs","./product-verification":{"types":"./tools/product-verification.d.mts","import":"./tools/product-verification.mjs","default":"./tools/product-verification.mjs"}},"gitHead":"9304d4391eee2ce278ca6a3d215d3dc135bd1c40","scripts":{"lint":"npm run lint:source && npm run lint:rules","test":"vitest run --exclude **/*.assay.test.ts --exclude **/*.assay.test.tsx","check":"npm run typecheck && npm run lint && npm run test && npm run test:avp","scaffold":"node tools/scaffold-feature.mjs","test:avp":"assay verify","typecheck":"npm run typecheck:spine && npm run typecheck:sample","lint:rules":"node packages/eslint-plugin/index.test.cjs","lint:source":"cd .. && node frontend-sdk/node_modules/eslint/bin/eslint.js examples/sample-app/frontend","assemble-i18n":"node tools/assemble-i18n.mjs","scaffold:design":"node tools/design-scaffold.mjs","typecheck:spine":"tsc --noEmit -p packages/aerofortress-react/tsconfig.json","typecheck:sample":"tsc --noEmit -p ../examples/sample-app/frontend/tsconfig.json"},"_npmUser":{"name":"lucasrgt","email":"lucas.tinoco@hotmail.com"},"repository":{"url":"git+https://github.com/lucasrgt/aerofortress-framework.git","type":"git","directory":"frontend-sdk"},"workspaces":["packages/*"],"_npmVersion":"10.9.8","description":"Canonical AeroFortress frontend doctor and scaffolding tools.","directories":{},"_nodeVersion":"22.23.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"msw":"^2.15.0","zod":"^4.4.3","jsdom":"^25.0.1","react":"^19.0.0","eslint":"^9.17.0","vitest":"^4.1.10","esbuild":"^0.28.1","i18next":"^24.2.0","react-dom":"^19.0.0","typescript":"^5.7.2","@types/react":"^19.0.2","react-i18next":"^15.4.0","react-hook-form":"^7.78.0","@types/react-dom":"^19.0.2","@aerofortress/assay":"0.4.0","@hookform/resolvers":"^5.4.0","@testing-library/dom":"^10.4.0","@tanstack/react-query":"^5.62.7","@vitest/eslint-plugin":"^1.1.43","eslint-plugin-sonarjs":"^4.2.0","@testing-library/react":"^16.1.0","eslint-plugin-jsx-a11y":"^6.10.2","eslint-plugin-no-secrets":"^1.1.2","@typescript-eslint/parser":"^8.18.0","@testing-library/user-event":"^14.6.1","@tanstack/eslint-plugin-query":"^5.62.16","@typescript-eslint/eslint-plugin":"^8.18.0"},"peerDependencies":{"eslint":">=9","@aerofortress/assay":"^0.4.0","eslint-plugin-aerofortress":"^1.0.10"},"peerDependenciesMeta":{"@aerofortress/assay":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/frontend-sdk_4.0.21_1784834136269_0.929162068791108","host":"s3://npm-registry-packages-npm-production"}},"4.0.22":{"name":"@aerofortress/frontend-sdk","version":"4.0.22","keywords":["aerofortress","frontend","doctor","eslint","scaffolding"],"author":{"name":"Lucas Tinoco"},"license":"MIT","_id":"@aerofortress/frontend-sdk@4.0.22","maintainers":[{"name":"lucasrgt","email":"lucas.tinoco@hotmail.com"}],"homepage":"https://github.com/lucasrgt/aerofortress-framework#readme","bugs":{"url":"https://github.com/lucasrgt/aerofortress-framework/issues"},"bin":{"affe-e2e-doctor":"tools/e2e-doctor.mjs","affe-eslint-gate":"tools/eslint-gate.mjs","affe-feature-e2e":"tools/feature-e2e-coverage.mjs","affe-i18n-parity":"tools/i18n-parity.mjs","affe-framework-sync":"tools/framework-sync.mjs","affe-journey-parity":"tools/journey-parity.mjs","affe-endpoint-coverage":"tools/endpoint-coverage.mjs","affe-contract-freshness":"tools/contract-freshness.mjs","affe-error-code-coverage":"tools/error-code-coverage.mjs"},"dist":{"shasum":"73c7776e8471be2ccbbdb0f203118af3666688a0","tarball":"https://registry.npmjs.org/@aerofortress/frontend-sdk/-/frontend-sdk-4.0.22.tgz","fileCount":28,"integrity":"sha512-HUEq8kWIGJg7+slRIbfPp8/qVbODgu3iH5wsYAQeAtMFpaT9ZMdsVGEhqOukmc9j4kAtmQmkeOGXSyvUKJkZ/Q==","signatures":[{"sig":"MEUCIQC+sy8xSwz4Pd/g4PA2cILwto638h5KXP+sWiJMIO9KYAIgJ86LgSYwfyFc68Sv+TNItcOlHraG0Xa5WP14Oab0NOs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":189526},"type":"module","exports":{"./doctor":"./tools/doctor.mjs","./e2e-doctor":"./tools/e2e-doctor.mjs","./playwright":{"types":"./tools/playwright.d.mts","import":"./tools/playwright.mjs","default":"./tools/playwright.mjs"},"./i18n-parity":"./tools/i18n-parity.mjs","./framework-sync":"./tools/framework-sync.mjs","./journey-parity":"./tools/journey-parity.mjs","./package-versions":"./tools/package-versions.mjs","./endpoint-coverage":"./tools/endpoint-coverage.mjs","./playwright-backend":{"types":"./tools/playwright-backend.d.mts","import":"./tools/playwright-backend.mjs","default":"./tools/playwright-backend.mjs","require":"./tools/playwright-backend.mjs"},"./error-code-coverage":"./tools/error-code-coverage.mjs","./feature-e2e-coverage":"./tools/feature-e2e-coverage.mjs","./product-verification":{"types":"./tools/product-verification.d.mts","import":"./tools/product-verification.mjs","default":"./tools/product-verification.mjs"}},"gitHead":"05064de113fa5b545132c6ee8299379559034615","scripts":{"lint":"npm run lint:source && npm run lint:rules","test":"vitest run --exclude **/*.assay.test.ts --exclude **/*.assay.test.tsx","check":"npm run typecheck && npm run lint && npm run test && npm run test:avp","scaffold":"node tools/scaffold-feature.mjs","test:avp":"assay verify","typecheck":"npm run typecheck:spine && npm run typecheck:sample","lint:rules":"node packages/eslint-plugin/index.test.cjs","lint:source":"cd .. && node frontend-sdk/node_modules/eslint/bin/eslint.js examples/sample-app/frontend","assemble-i18n":"node tools/assemble-i18n.mjs","scaffold:design":"node tools/design-scaffold.mjs","typecheck:spine":"tsc --noEmit -p packages/aerofortress-react/tsconfig.json","typecheck:sample":"tsc --noEmit -p ../examples/sample-app/frontend/tsconfig.json"},"_npmUser":{"name":"lucasrgt","email":"lucas.tinoco@hotmail.com"},"repository":{"url":"git+https://github.com/lucasrgt/aerofortress-framework.git","type":"git","directory":"frontend-sdk"},"workspaces":["packages/*"],"_npmVersion":"10.9.8","description":"Canonical AeroFortress frontend doctor and scaffolding tools.","directories":{},"_nodeVersion":"22.23.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"msw":"^2.15.0","zod":"^4.4.3","jsdom":"^25.0.1","react":"^19.0.0","eslint":"^9.17.0","vitest":"^4.1.10","esbuild":"^0.28.1","i18next":"^24.2.0","react-dom":"^19.0.0","typescript":"^5.7.2","@types/react":"^19.0.2","react-i18next":"^15.4.0","react-hook-form":"^7.78.0","@playwright/test":"1.61.1","@types/react-dom":"^19.0.2","@aerofortress/assay":"0.4.0","@hookform/resolvers":"^5.4.0","@testing-library/dom":"^10.4.0","@tanstack/react-query":"^5.62.7","@vitest/eslint-plugin":"^1.1.43","eslint-plugin-sonarjs":"^4.2.0","@testing-library/react":"^16.1.0","eslint-plugin-jsx-a11y":"^6.10.2","eslint-plugin-no-secrets":"^1.1.2","@typescript-eslint/parser":"^8.18.0","@testing-library/user-event":"^14.6.1","@tanstack/eslint-plugin-query":"^5.62.16","@typescript-eslint/eslint-plugin":"^8.18.0"},"peerDependencies":{"eslint":">=9","@playwright/test":">=1.50.0","@aerofortress/assay":"^0.4.0","eslint-plugin-aerofortress":"^1.0.10"},"peerDependenciesMeta":{"@playwright/test":{"optional":true},"@aerofortress/assay":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/frontend-sdk_4.0.22_1784857415133_0.8938112411216719","host":"s3://npm-registry-packages-npm-production"}},"4.0.23":{"name":"@aerofortress/frontend-sdk","version":"4.0.23","type":"module","description":"Canonical AeroFortress frontend doctor and scaffolding tools.","license":"MIT","author":{"name":"Lucas Tinoco"},"repository":{"type":"git","url":"git+https://github.com/lucasrgt/aerofortress-framework.git","directory":"frontend-sdk"},"homepage":"https://github.com/lucasrgt/aerofortress-framework#readme","bugs":{"url":"https://github.com/lucasrgt/aerofortress-framework/issues"},"keywords":["aerofortress","frontend","doctor","eslint","scaffolding"],"exports":{"./doctor":"./tools/doctor.mjs","./e2e-doctor":"./tools/e2e-doctor.mjs","./endpoint-coverage":"./tools/endpoint-coverage.mjs","./error-code-coverage":"./tools/error-code-coverage.mjs","./feature-e2e-coverage":"./tools/feature-e2e-coverage.mjs","./framework-sync":"./tools/framework-sync.mjs","./i18n-parity":"./tools/i18n-parity.mjs","./journey-parity":"./tools/journey-parity.mjs","./package-versions":"./tools/package-versions.mjs","./playwright-backend":{"types":"./tools/playwright-backend.d.mts","import":"./tools/playwright-backend.mjs","require":"./tools/playwright-backend.mjs","default":"./tools/playwright-backend.mjs"},"./playwright":{"types":"./tools/playwright.d.mts","import":"./tools/playwright.mjs","default":"./tools/playwright.mjs"},"./product-verification":{"types":"./tools/product-verification.d.mts","import":"./tools/product-verification.mjs","default":"./tools/product-verification.mjs"}},"bin":{"affe-contract-freshness":"tools/contract-freshness.mjs","affe-e2e-doctor":"tools/e2e-doctor.mjs","affe-endpoint-coverage":"tools/endpoint-coverage.mjs","affe-error-code-coverage":"tools/error-code-coverage.mjs","affe-eslint-gate":"tools/eslint-gate.mjs","affe-feature-e2e":"tools/feature-e2e-coverage.mjs","affe-framework-sync":"tools/framework-sync.mjs","affe-i18n-parity":"tools/i18n-parity.mjs","affe-journey-parity":"tools/journey-parity.mjs"},"publishConfig":{"access":"public"},"workspaces":["packages/*"],"scripts":{"typecheck":"npm run typecheck:spine && npm run typecheck:sample","typecheck:spine":"tsc --noEmit -p packages/aerofortress-react/tsconfig.json","typecheck:sample":"tsc --noEmit -p ../examples/sample-app/frontend/tsconfig.json","lint":"npm run lint:source && npm run lint:rules","lint:source":"cd .. && node frontend-sdk/node_modules/eslint/bin/eslint.js examples/sample-app/frontend","lint:rules":"node packages/eslint-plugin/index.test.cjs","scaffold":"node tools/scaffold-feature.mjs","scaffold:design":"node tools/design-scaffold.mjs","assemble-i18n":"node tools/assemble-i18n.mjs","test":"vitest run --exclude **/*.assay.test.ts --exclude **/*.assay.test.tsx","test:avp":"assay verify","check":"npm run typecheck && npm run lint && npm run test && npm run test:avp"},"peerDependencies":{"@aerofortress/assay":"^0.4.0","@playwright/test":">=1.50.0","eslint":">=9","eslint-plugin-aerofortress":"^1.0.10"},"peerDependenciesMeta":{"@aerofortress/assay":{"optional":true},"@playwright/test":{"optional":true}},"devDependencies":{"@aerofortress/assay":"0.4.0","@playwright/test":"1.61.1","@hookform/resolvers":"^5.4.0","@tanstack/eslint-plugin-query":"^5.62.16","@tanstack/react-query":"^5.62.7","@testing-library/dom":"^10.4.0","@testing-library/react":"^16.1.0","@testing-library/user-event":"^14.6.1","@types/react":"^19.0.2","@types/react-dom":"^19.0.2","@typescript-eslint/eslint-plugin":"^8.18.0","@typescript-eslint/parser":"^8.18.0","@vitest/eslint-plugin":"^1.1.43","eslint":"^9.17.0","eslint-plugin-jsx-a11y":"^6.10.2","eslint-plugin-no-secrets":"^1.1.2","eslint-plugin-sonarjs":"^4.2.0","esbuild":"^0.28.1","i18next":"^24.2.0","jsdom":"^25.0.1","msw":"^2.15.0","react":"^19.0.0","react-dom":"^19.0.0","react-hook-form":"^7.78.0","react-i18next":"^15.4.0","typescript":"^5.7.2","vitest":"^4.1.10","zod":"^4.4.3"},"_id":"@aerofortress/frontend-sdk@4.0.23","gitHead":"10bc6850919588ce93fdf4c9d9b17648c32ad35e","_nodeVersion":"22.23.1","_npmVersion":"10.9.8","dist":{"integrity":"sha512-b7Nv4clCky74SgA1MkgmN5+hE+mr2vgGlGVuul9Sj2jNhCVJrIGN4aXIjy2d4sJ4bPZb98P+mHtTd0oQV5cbfg==","shasum":"2a1e5c94e4a273e05339f4cd3a94845f6401cf83","tarball":"https://registry.npmjs.org/@aerofortress/frontend-sdk/-/frontend-sdk-4.0.23.tgz","fileCount":28,"unpackedSize":190259,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIEnmfDe2aFY7Epzur5arRN5TdZDemGegK9cNblyWEICgAiA/oDMuijpKZ6V1Q5jGxL1ZJLBLRQZN6VwDfFWlTDBjHA=="}]},"_npmUser":{"name":"lucasrgt","email":"lucas.tinoco@hotmail.com"},"directories":{},"maintainers":[{"name":"lucasrgt","email":"lucas.tinoco@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/frontend-sdk_4.0.23_1784857856082_0.2006134457533011"},"_hasShrinkwrap":false}},"time":{"created":"2026-06-25T18:16:27.612Z","modified":"2026-07-24T01:50:56.384Z","0.1.1":"2026-06-25T18:16:28.019Z","0.1.2":"2026-07-02T14:20:53.090Z","0.1.3":"2026-07-02T15:02:34.058Z","0.1.4":"2026-07-12T23:08:06.258Z","0.2.0":"2026-07-20T22:00:58.488Z","0.2.1":"2026-07-20T22:48:25.582Z","0.2.2":"2026-07-21T00:47:04.791Z","0.2.3":"2026-07-21T02:06:22.811Z","0.2.4":"2026-07-21T05:12:53.900Z","0.2.5":"2026-07-21T05:15:32.527Z","0.2.6":"2026-07-21T06:06:46.119Z","1.0.0":"2026-07-21T13:45:16.980Z","1.0.1":"2026-07-21T14:00:17.450Z","1.0.2":"2026-07-21T14:04:56.998Z","1.0.3":"2026-07-21T14:53:36.258Z","1.0.4":"2026-07-21T15:00:26.702Z","2.0.0":"2026-07-21T15:18:03.988Z","2.0.1":"2026-07-21T15:23:58.490Z","2.0.2":"2026-07-21T15:28:37.727Z","3.0.0":"2026-07-21T15:37:03.243Z","3.0.1":"2026-07-21T16:27:22.305Z","4.0.11":"2026-07-22T23:04:32.247Z","4.0.13":"2026-07-23T03:22:35.456Z","4.0.14":"2026-07-23T06:01:23.064Z","4.0.15":"2026-07-23T06:40:24.044Z","4.0.16":"2026-07-23T16:29:16.621Z","4.0.17":"2026-07-23T16:52:12.677Z","4.0.18":"2026-07-23T18:26:25.487Z","4.0.20":"2026-07-23T18:49:37.091Z","4.0.21":"2026-07-23T19:15:36.430Z","4.0.22":"2026-07-24T01:43:35.269Z","4.0.23":"2026-07-24T01:50:56.219Z"},"bugs":{"url":"https://github.com/lucasrgt/aerofortress-framework/issues"},"author":{"name":"Lucas Tinoco"},"license":"MIT","homepage":"https://github.com/lucasrgt/aerofortress-framework#readme","keywords":["aerofortress","frontend","doctor","eslint","scaffolding"],"repository":{"type":"git","url":"git+https://github.com/lucasrgt/aerofortress-framework.git","directory":"frontend-sdk"},"description":"Canonical AeroFortress frontend doctor and scaffolding tools.","maintainers":[{"name":"lucasrgt","email":"lucas.tinoco@hotmail.com"}],"readme":"# AeroFortress Framework — frontend\n\nThe frontend side of aerofortress-framework. Where the .NET packages under `src/` give the backend its spine (`[Slice]`,\n`Result<T>`, the Roslyn analyzers), this gives the React Native + web frontend an equally tight spine — **as\nidiomatic React/TS primitives the app composes, not a DSL** (the \"poisoned frontend\": real React, enriched by\nconvention + tooling, never a second language). It is multi-target by construction: the same code serves web\n(react-native-web) and native (iOS/Android) via Expo; only genuinely divergent bits (auth persistence, maps,\nOAuth) are platform seams (`*.web.ts` / `*.native.ts`).\n\n## Layout\n\n```\nfrontend/\n  package.json        # npm workspace root — `npm run check` = typecheck + test (the gate CI runs)\n  tsconfig.base.json  # strict TS config every package/sample extends\n  vitest.config.ts    # jsdom + the @/… aliases that let the sample run wired (not mocked)\n  packages/\n    aerofortress-react/     # @aerofortress/react — the spine: AsyncState, Resource (+ guards, session as they graduate)\n    eslint-plugin/    # eslint-plugin-aerofortress — the AFFE harness (rules + RuleTester self-tests)\n  tools/              # generators + cross-file doctors used by af doctor/af gate\n../examples/sample-app/frontend/\n  core/               # canonical shared ViewModel/View/Assay feature units\n  web/                # real web surface + Playwright journeys\n  mobile/             # native surface convention\n```\n\nThe framework-development gate (`npm run check`) runs strict typecheck, the plugin self-tests, unit/integration\ntests, and the Assay partition. In consuming apps, `af gate` additionally promotes the mandatory release-evidence\nAFFE rules to errors, verifies the AVP/E2E inventory, and executes the Git-derived proof closure.\nProject-scoped architecture and design rules retain the file scopes and severities declared by the app rather than\nbeing sprayed over every source file. The sample's tests mount data doors against the real generated-client shape\n— **wired, not mocked**.\n\nApps (e.g. the Hostpoint dogfood) consume `@aerofortress/react` + the eslint plugin as packages; the `af` .NET CLI\nscaffolds them in and `af doctor` shells out to `npm run lint` for the frontend slice (Roslyn in-proc for the\nbackend slice — two native engines, one front door).\n\n## The spine — `@aerofortress/react`\n\nThe read-side analogue of `Result<T>`. A screen's **ViewModel** (the data door) exposes its resource as an\n`AsyncState<T>` discriminated union; the **View** renders it through `<Resource>`, so loading / error / empty are\nhandled **by construction** (exhaustive switch), the way an exhaustive `Result` match forces the sad path.\n\n```ts\ntype AsyncState<T> =\n  | { status: \"loading\" }\n  | { status: \"error\"; message: string; retry?: () => void }\n  | { status: \"empty\" }\n  | { status: \"ready\"; data: T };\n```\n\n`toAsyncState(query, { errorMessage, isEmpty? })` projects a react-query result into the union — **wire over\nreact-query, not a replacement** (react-query still owns fetch/cache/retry). `<Resource>` is design-system-\nagnostic; the app injects its loading/error/empty visuals via slots.\n\n## The canonical unit (the frontend `[Slice]`)\n\nA feature is five co-located files plus its surface-owned E2E flows, mapped to the backend:\n\n| Backend `[Slice]` | Frontend unit |\n|---|---|\n| `Handle` (logic, the data door) | `<Feature>.viewModel.ts` — the only client importer; platform-agnostic; exposes `AsyncState` + commands |\n| `Output` (typed result) | `AsyncState<T>` |\n| route `Map` | `<Feature>.view.tsx` — render only; consumes the ViewModel via `<Resource>` |\n| co-located `*.Tests.cs` | `<Feature>.test.tsx` — mounts the door against the real client (wired, not mocked) |\n| `[AVP]` criteria | `<Feature>.assay.test.tsx` — executable semantic acceptance proofs for every `@verify` |\n| — | `<feature>.i18n.ts` — per-feature copy, all locales |\n\nVisible features also declare reciprocal `@e2e` links whose flow criteria cover the complete Assay set; the web\nrunner is Playwright and the native runner is Maestro.\n\n## The harness (the frontend self-audit)\n\n`eslint-plugin-aerofortress` (the AFFE rules) is the front-side parallel of the backend's Roslyn/`AeroFortress.Framework.Doctor`\nself-audit. It polices the unit: View renders only (AFFE001), the ViewModel is the one data door (AFFE002, with\n`lib/session` + `lib/guards` as the sanctioned infra doors), the ViewModel is platform-agnostic (AFFE009), every\nViewModel has a co-located test (AFFE005), no mocks in production (AFFE003). The plugin **self-proves** with\nRuleTester (`npm test`) — a rule isn't done until a test pins that it fires on the violation and passes on the\nallowed shape.\n\n## Current enforcement\n\nThe shipped harness covers the MVVM/data door, complete async state, i18n, design tokens, mutation feedback,\nrouting/session safety, form-validation surfaces, typed navigation, executable AVP/Assay proofs, omitted-test\ndetection, and semantic E2E linkage. Cross-file doctors enforce generated-contract freshness, endpoint coverage,\njourney parity, Playwright/Maestro runner integrity, backend observations, and full Assay-to-flow criteria coverage.\n","readmeFilename":"README.md"}