{"_id":"@agility-luhn/compiler","_rev":"25-db1a6430be97b759294124bcb8fc17b2","name":"@agility-luhn/compiler","dist-tags":{"latest":"2.9.1"},"versions":{"1.0.1":{"name":"@agility-luhn/compiler","version":"1.0.1","keywords":["luhn","dsl","compiler","codegen"],"license":"MIT","_id":"@agility-luhn/compiler@1.0.1","maintainers":[{"name":"agilityti","email":"flavio.oliveira@agilityti.com.br"}],"homepage":"https://github.com/flaviorafaelo-agility/luhn-workspace#readme","bugs":{"url":"https://github.com/flaviorafaelo-agility/luhn-workspace/issues"},"dist":{"shasum":"1fb817c02642c86bf69749f9ad098aa706a7688e","tarball":"https://registry.npmjs.org/@agility-luhn/compiler/-/compiler-1.0.1.tgz","fileCount":78,"integrity":"sha512-j3GunvSY/CmcAwQDABiosMdt/nARshDe0QqgEaSXiX9cVZ1zXuE0wsaaNpG9cY6Rc8s8VQD50yMWDLVQgxiFGg==","signatures":[{"sig":"MEYCIQCjjeOtqIK/SHHkPpxt1hcffF4PJwd9w3hkGLsKqCT/kgIhALMB4eepS0icKVpHRMfGDvnyZGRf1Q7C/THY5V1Oqk/o","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":770047},"main":"dist/index.js","type":"commonjs","types":"dist/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./ast":{"types":"./dist/ast.d.ts","default":"./dist/ast.js"},"./parser":{"types":"./dist/parser.d.ts","default":"./dist/parser.js"},"./plugin":{"types":"./dist/plugin.d.ts","default":"./dist/plugin.js"},"./watcher":{"types":"./dist/watcher.d.ts","default":"./dist/watcher.js"},"./compiler":{"types":"./dist/compiler.d.ts","default":"./dist/compiler.js"},"./semantic":{"types":"./dist/semantic.d.ts","default":"./dist/semantic.js"},"./generator":{"types":"./dist/generator/index.d.ts","default":"./dist/generator/index.js"},"./file-loader":{"types":"./dist/file-loader.d.ts","default":"./dist/file-loader.js"},"./compiler-internal":{"types":"./dist/compiler-internal.d.ts","default":"./dist/compiler-internal.js"}},"gitHead":"c86503c17ecf0e4356beb5adb0a2d683e70dd47d","private":false,"scripts":{"build":"pnpm run clean && tsc -p tsconfig.json","clean":"node -e \"require('fs').rmSync('dist', { recursive: true, force: true })\"","prepack":"pnpm run build","release":"semantic-release --config ./release.config.cjs","release:dry-run":"semantic-release --config ./release.config.cjs --dry-run"},"_npmUser":{"name":"agilityti","email":"flavio.oliveira@agilityti.com.br"},"repository":{"url":"git+https://github.com/flaviorafaelo-agility/luhn-workspace.git","type":"git"},"_npmVersion":"11.16.0","description":"Compiler and generators for the LUHN domain DSL.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"zod":"^3.25.76"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.20.0+sha512.cf9998222162dd85864d0a8102e7892e7ba4ceadebbf5a31f9c2fce48dfce317a9c53b9f6464d1ef9042cba2e02ae02a9f7c143a2b438cd93c91840f0192b9dd","devDependencies":{"typescript":"^5.9.3","@types/node":"^25.9.4","semantic-release":"^24.2.9","@semantic-release/npm":"^12.0.2","@semantic-release/github":"^11.0.6","@semantic-release/commit-analyzer":"^13.0.1","@semantic-release/release-notes-generator":"^14.1.1","conventional-changelog-conventionalcommits":"10.2.1"},"_npmOperationalInternal":{"tmp":"tmp/compiler_1.0.1_1783443126085_0.5873781127353841","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@agility-luhn/compiler","version":"1.1.0","keywords":["luhn","dsl","compiler","codegen"],"license":"MIT","_id":"@agility-luhn/compiler@1.1.0","maintainers":[{"name":"agilityti","email":"flavio.oliveira@agilityti.com.br"}],"homepage":"https://github.com/flaviorafaelo-agility/luhn-workspace#readme","bugs":{"url":"https://github.com/flaviorafaelo-agility/luhn-workspace/issues"},"dist":{"shasum":"15ae5dd8c03ae673c8c02c81bc3d35431c8248b6","tarball":"https://registry.npmjs.org/@agility-luhn/compiler/-/compiler-1.1.0.tgz","fileCount":79,"integrity":"sha512-i/SCdwKsT7E1fA8ka8OvibNcjptvyz12O/VkvzEWD0bTfRqQ8jU9C0UKzcMvhEloX6OJHLfclyNMjbIJWxo0qA==","signatures":[{"sig":"MEQCIEGUTCC3gHLIVcYPEtrmKdJRwQwS3z6Cul0zQWa8JIjgAiBLoDHw8m+19wsiGIs/N7B5Y/jjx40TbpaFnrh3RpcscA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":770257},"main":"dist/index.js","type":"commonjs","types":"dist/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./ast":{"types":"./dist/ast.d.ts","default":"./dist/ast.js"},"./parser":{"types":"./dist/parser.d.ts","default":"./dist/parser.js"},"./plugin":{"types":"./dist/plugin.d.ts","default":"./dist/plugin.js"},"./watcher":{"types":"./dist/watcher.d.ts","default":"./dist/watcher.js"},"./compiler":{"types":"./dist/compiler.d.ts","default":"./dist/compiler.js"},"./semantic":{"types":"./dist/semantic.d.ts","default":"./dist/semantic.js"},"./generator":{"types":"./dist/generator/index.d.ts","default":"./dist/generator/index.js"},"./file-loader":{"types":"./dist/file-loader.d.ts","default":"./dist/file-loader.js"},"./compiler-internal":{"types":"./dist/compiler-internal.d.ts","default":"./dist/compiler-internal.js"}},"gitHead":"a1548d996a3edd98efc2132112846c3db678a2e8","private":false,"scripts":{"build":"pnpm run clean && tsc -p tsconfig.json","clean":"node -e \"require('fs').rmSync('dist', { recursive: true, force: true })\"","prepack":"pnpm run build","release":"semantic-release --config ./release.config.cjs","release:dry-run":"semantic-release --config ./release.config.cjs --dry-run"},"_npmUser":{"name":"agilityti","email":"flavio.oliveira@agilityti.com.br"},"repository":{"url":"git+https://github.com/flaviorafaelo-agility/luhn-workspace.git","type":"git"},"_npmVersion":"11.16.0","description":"Compiler and generators for the LUHN domain DSL.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"zod":"^3.25.76"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.20.0+sha512.cf9998222162dd85864d0a8102e7892e7ba4ceadebbf5a31f9c2fce48dfce317a9c53b9f6464d1ef9042cba2e02ae02a9f7c143a2b438cd93c91840f0192b9dd","devDependencies":{"typescript":"^5.9.3","@types/node":"^25.9.4","semantic-release":"^24.2.9","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^12.0.2","@semantic-release/github":"^11.0.6","@semantic-release/changelog":"^6.0.3","@semantic-release/commit-analyzer":"^13.0.1","@semantic-release/release-notes-generator":"^14.1.1","conventional-changelog-conventionalcommits":"10.2.1"},"_npmOperationalInternal":{"tmp":"tmp/compiler_1.1.0_1783443887133_0.05793213127364716","host":"s3://npm-registry-packages-npm-production"}},"1.0.0":{"name":"@agility-luhn/compiler","version":"1.0.0","keywords":["luhn","dsl","compiler","codegen"],"license":"MIT","_id":"@agility-luhn/compiler@1.0.0","maintainers":[{"name":"agilityti","email":"flavio.oliveira@agilityti.com.br"}],"homepage":"https://github.com/flaviorafaelo-agility/luhn-workspace#readme","bugs":{"url":"https://github.com/flaviorafaelo-agility/luhn-workspace/issues"},"dist":{"shasum":"3f0e8be7570812eccbc1a40c2578365cdbba984e","tarball":"https://registry.npmjs.org/@agility-luhn/compiler/-/compiler-1.0.0.tgz","fileCount":79,"integrity":"sha512-NpaAgNfDuFD9hj5ww+dA2T4xnb+QHoeLbLQo7EjZnsx/0IRPDztqnp+Iuvwe25PH0TdcpVI29+Ftue61kFSkAQ==","signatures":[{"sig":"MEQCIFLvfgVlB+Ssg9Y2wM8NY8hzd727B13KmZNlZVNYRiglAiBTg+LBnp4/IXKE7BrG6AZ4D/oVHSj4DjkXMdr9LwZCyw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":770280},"main":"dist/index.js","type":"commonjs","types":"dist/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./ast":{"types":"./dist/ast.d.ts","default":"./dist/ast.js"},"./parser":{"types":"./dist/parser.d.ts","default":"./dist/parser.js"},"./plugin":{"types":"./dist/plugin.d.ts","default":"./dist/plugin.js"},"./watcher":{"types":"./dist/watcher.d.ts","default":"./dist/watcher.js"},"./compiler":{"types":"./dist/compiler.d.ts","default":"./dist/compiler.js"},"./semantic":{"types":"./dist/semantic.d.ts","default":"./dist/semantic.js"},"./generator":{"types":"./dist/generator/index.d.ts","default":"./dist/generator/index.js"},"./file-loader":{"types":"./dist/file-loader.d.ts","default":"./dist/file-loader.js"},"./compiler-internal":{"types":"./dist/compiler-internal.d.ts","default":"./dist/compiler-internal.js"}},"gitHead":"8d34961af0368fd52f271d2c3ecc990f8b76ccce","private":false,"scripts":{"build":"pnpm run clean && tsc -p tsconfig.json","clean":"node -e \"require('fs').rmSync('dist', { recursive: true, force: true })\"","prepack":"pnpm run build","release":"semantic-release --config ./release.config.cjs","release:dry-run":"semantic-release --config ./release.config.cjs --dry-run"},"_npmUser":{"name":"agilityti","email":"flavio.oliveira@agilityti.com.br"},"repository":{"url":"git+https://github.com/flaviorafaelo-agility/luhn-workspace.git","type":"git"},"_npmVersion":"11.16.0","description":"Compiler and generators for the LUHN domain DSL.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"zod":"^3.25.76"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.20.0+sha512.cf9998222162dd85864d0a8102e7892e7ba4ceadebbf5a31f9c2fce48dfce317a9c53b9f6464d1ef9042cba2e02ae02a9f7c143a2b438cd93c91840f0192b9dd","devDependencies":{"typescript":"^5.9.3","@types/node":"^25.9.4","semantic-release":"^24.2.9","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^12.0.2","@semantic-release/github":"^11.0.6","@semantic-release/changelog":"^6.0.3","@semantic-release/commit-analyzer":"^13.0.1","@semantic-release/release-notes-generator":"^14.1.1","conventional-changelog-conventionalcommits":"10.2.1"},"_npmOperationalInternal":{"tmp":"tmp/compiler_1.0.0_1783445484813_0.18408323349969247","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"@agility-luhn/compiler","version":"1.1.1","keywords":["luhn","dsl","compiler","codegen"],"license":"MIT","_id":"@agility-luhn/compiler@1.1.1","maintainers":[{"name":"agilityti","email":"flavio.oliveira@agilityti.com.br"}],"homepage":"https://github.com/flaviorafaelo-agility/luhn-workspace#readme","bugs":{"url":"https://github.com/flaviorafaelo-agility/luhn-workspace/issues"},"dist":{"shasum":"a1fd4f2655833657cb4a92e03b8960bff15e7036","tarball":"https://registry.npmjs.org/@agility-luhn/compiler/-/compiler-1.1.1.tgz","fileCount":79,"integrity":"sha512-rMnlfpDM/SAyBbI+Ms6pZ7stIHNxzON4rDeOssEgdGzExbEJBjoyhCFouOcOQi+fmeWm24jkMppwqMJA5FDUfw==","signatures":[{"sig":"MEYCIQCAMaog8eoquWVgEkSlmIILdAfKziOA3XaOKv+BA+oajwIhAO2slIqAa9Nubw0OMUC+ZxZ0HgLxvHjffc0tN9U2JGbp","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":770528},"main":"dist/index.js","type":"commonjs","types":"dist/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./ast":{"types":"./dist/ast.d.ts","default":"./dist/ast.js"},"./parser":{"types":"./dist/parser.d.ts","default":"./dist/parser.js"},"./plugin":{"types":"./dist/plugin.d.ts","default":"./dist/plugin.js"},"./watcher":{"types":"./dist/watcher.d.ts","default":"./dist/watcher.js"},"./compiler":{"types":"./dist/compiler.d.ts","default":"./dist/compiler.js"},"./semantic":{"types":"./dist/semantic.d.ts","default":"./dist/semantic.js"},"./generator":{"types":"./dist/generator/index.d.ts","default":"./dist/generator/index.js"},"./file-loader":{"types":"./dist/file-loader.d.ts","default":"./dist/file-loader.js"},"./compiler-internal":{"types":"./dist/compiler-internal.d.ts","default":"./dist/compiler-internal.js"}},"gitHead":"5bdc8f1496636d532c46b23d84b127f29809e562","private":false,"scripts":{"build":"pnpm run clean && tsc -p tsconfig.json","clean":"node -e \"require('fs').rmSync('dist', { recursive: true, force: true })\"","prepack":"pnpm run build","release":"semantic-release --config ./release.config.cjs","release:dry-run":"semantic-release --config ./release.config.cjs --dry-run"},"_npmUser":{"name":"agilityti","email":"flavio.oliveira@agilityti.com.br"},"repository":{"url":"git+https://github.com/flaviorafaelo-agility/luhn-workspace.git","type":"git"},"_npmVersion":"11.16.0","description":"Compiler and generators for the LUHN domain DSL.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"zod":"^3.25.76"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.20.0+sha512.cf9998222162dd85864d0a8102e7892e7ba4ceadebbf5a31f9c2fce48dfce317a9c53b9f6464d1ef9042cba2e02ae02a9f7c143a2b438cd93c91840f0192b9dd","devDependencies":{"typescript":"^5.9.3","@types/node":"^25.9.4","semantic-release":"^24.2.9","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^12.0.2","@semantic-release/github":"^11.0.6","@semantic-release/changelog":"^6.0.3","@semantic-release/commit-analyzer":"^13.0.1","@semantic-release/release-notes-generator":"^14.1.1","conventional-changelog-conventionalcommits":"10.2.1"},"_npmOperationalInternal":{"tmp":"tmp/compiler_1.1.1_1783513915360_0.4298243042145433","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"@agility-luhn/compiler","version":"1.2.0","keywords":["luhn","dsl","compiler","codegen"],"license":"MIT","_id":"@agility-luhn/compiler@1.2.0","maintainers":[{"name":"agilityti","email":"flavio.oliveira@agilityti.com.br"}],"homepage":"https://github.com/flaviorafaelo-agility/luhn-workspace#readme","bugs":{"url":"https://github.com/flaviorafaelo-agility/luhn-workspace/issues"},"dist":{"shasum":"00d35127fb42a43d9a1a1334cf71e72a8394de5a","tarball":"https://registry.npmjs.org/@agility-luhn/compiler/-/compiler-1.2.0.tgz","fileCount":79,"integrity":"sha512-BrpBLMgg1wwOrFELflZU0w6/wHNVhFIIpvxwKZxguaTwglRKk4l/6RLXlptvLII66kGDwvPk46oLOU70R0T0oA==","signatures":[{"sig":"MEYCIQD6JAghtKwd4NT6sF8C63LbyT4LuAOEKFUOY9E/c+qMlwIhAMI3IoCYMvuYwnM4CMsX6+WUr0fWAQtoN+HHekYc6jBs","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":770652},"main":"dist/index.js","type":"commonjs","types":"dist/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./ast":{"types":"./dist/ast.d.ts","default":"./dist/ast.js"},"./parser":{"types":"./dist/parser.d.ts","default":"./dist/parser.js"},"./plugin":{"types":"./dist/plugin.d.ts","default":"./dist/plugin.js"},"./watcher":{"types":"./dist/watcher.d.ts","default":"./dist/watcher.js"},"./compiler":{"types":"./dist/compiler.d.ts","default":"./dist/compiler.js"},"./semantic":{"types":"./dist/semantic.d.ts","default":"./dist/semantic.js"},"./generator":{"types":"./dist/generator/index.d.ts","default":"./dist/generator/index.js"},"./file-loader":{"types":"./dist/file-loader.d.ts","default":"./dist/file-loader.js"},"./compiler-internal":{"types":"./dist/compiler-internal.d.ts","default":"./dist/compiler-internal.js"}},"gitHead":"5f51301b0da92a03d36bc45d5f175556318f7603","private":false,"scripts":{"build":"pnpm run clean && tsc -p tsconfig.json","clean":"node -e \"require('fs').rmSync('dist', { recursive: true, force: true })\"","prepack":"pnpm run build","release":"semantic-release --config ./release.config.cjs","release:dry-run":"semantic-release --config ./release.config.cjs --dry-run"},"_npmUser":{"name":"agilityti","email":"flavio.oliveira@agilityti.com.br"},"repository":{"url":"git+https://github.com/flaviorafaelo-agility/luhn-workspace.git","type":"git"},"_npmVersion":"11.16.0","description":"Compiler and generators for the LUHN domain DSL.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"zod":"^3.25.76"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.20.0+sha512.cf9998222162dd85864d0a8102e7892e7ba4ceadebbf5a31f9c2fce48dfce317a9c53b9f6464d1ef9042cba2e02ae02a9f7c143a2b438cd93c91840f0192b9dd","devDependencies":{"typescript":"^5.9.3","@types/node":"^25.9.4","semantic-release":"^24.2.9","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^12.0.2","@semantic-release/github":"^11.0.6","@semantic-release/changelog":"^6.0.3","@semantic-release/commit-analyzer":"^13.0.1","@semantic-release/release-notes-generator":"^14.1.1","conventional-changelog-conventionalcommits":"10.2.1"},"_npmOperationalInternal":{"tmp":"tmp/compiler_1.2.0_1783519365705_0.8864151126553246","host":"s3://npm-registry-packages-npm-production"}},"1.2.1":{"name":"@agility-luhn/compiler","version":"1.2.1","keywords":["luhn","dsl","compiler","codegen"],"license":"MIT","_id":"@agility-luhn/compiler@1.2.1","maintainers":[{"name":"agilityti","email":"flavio.oliveira@agilityti.com.br"}],"homepage":"https://github.com/flaviorafaelo-agility/luhn-workspace#readme","bugs":{"url":"https://github.com/flaviorafaelo-agility/luhn-workspace/issues"},"dist":{"shasum":"6d28e7d132434c1d93f3f1589977af985c224492","tarball":"https://registry.npmjs.org/@agility-luhn/compiler/-/compiler-1.2.1.tgz","fileCount":79,"integrity":"sha512-kV7dE/HHFpkrtL9Kyg18RbOZD3wRP29UqjU9PIESeBmu1aNLakvcpZaAnwSoRbCcTyrbFj7im/qxfUQuE/mG+Q==","signatures":[{"sig":"MEQCIDaVhPtI6/0SObCb3SCfF3cL5t0WVpinE7dXNAaY2rk9AiBPL+w30piTex+WhKZwWC+DuMmytKq6s/b9fRRlIXMPhA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":770776},"main":"dist/index.js","type":"commonjs","types":"dist/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./ast":{"types":"./dist/ast.d.ts","default":"./dist/ast.js"},"./parser":{"types":"./dist/parser.d.ts","default":"./dist/parser.js"},"./plugin":{"types":"./dist/plugin.d.ts","default":"./dist/plugin.js"},"./watcher":{"types":"./dist/watcher.d.ts","default":"./dist/watcher.js"},"./compiler":{"types":"./dist/compiler.d.ts","default":"./dist/compiler.js"},"./semantic":{"types":"./dist/semantic.d.ts","default":"./dist/semantic.js"},"./generator":{"types":"./dist/generator/index.d.ts","default":"./dist/generator/index.js"},"./file-loader":{"types":"./dist/file-loader.d.ts","default":"./dist/file-loader.js"},"./compiler-internal":{"types":"./dist/compiler-internal.d.ts","default":"./dist/compiler-internal.js"}},"gitHead":"4206f4ef837050e475cee8056f71a38507e11d9a","private":false,"scripts":{"build":"pnpm run clean && tsc -p tsconfig.json","clean":"node -e \"require('fs').rmSync('dist', { recursive: true, force: true })\"","prepack":"pnpm run build","release":"semantic-release --config ./release.config.cjs","release:dry-run":"semantic-release --config ./release.config.cjs --dry-run"},"_npmUser":{"name":"agilityti","email":"flavio.oliveira@agilityti.com.br"},"repository":{"url":"git+https://github.com/flaviorafaelo-agility/luhn-workspace.git","type":"git"},"_npmVersion":"11.16.0","description":"Compiler and generators for the LUHN domain DSL.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"zod":"^3.25.76"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.20.0+sha512.cf9998222162dd85864d0a8102e7892e7ba4ceadebbf5a31f9c2fce48dfce317a9c53b9f6464d1ef9042cba2e02ae02a9f7c143a2b438cd93c91840f0192b9dd","devDependencies":{"typescript":"^5.9.3","@types/node":"^25.9.4","semantic-release":"^24.2.9","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^12.0.2","@semantic-release/github":"^11.0.6","@semantic-release/changelog":"^6.0.3","@semantic-release/commit-analyzer":"^13.0.1","@semantic-release/release-notes-generator":"^14.1.1","conventional-changelog-conventionalcommits":"10.2.1"},"_npmOperationalInternal":{"tmp":"tmp/compiler_1.2.1_1783522283923_0.7972113770800604","host":"s3://npm-registry-packages-npm-production"}},"1.2.2":{"name":"@agility-luhn/compiler","version":"1.2.2","keywords":["luhn","dsl","compiler","codegen"],"license":"MIT","_id":"@agility-luhn/compiler@1.2.2","maintainers":[{"name":"agilityti","email":"flavio.oliveira@agilityti.com.br"}],"homepage":"https://github.com/flaviorafaelo-agility/luhn-workspace#readme","bugs":{"url":"https://github.com/flaviorafaelo-agility/luhn-workspace/issues"},"dist":{"shasum":"fc50a08d1005135b1cbb49e63dad4b508007e5c1","tarball":"https://registry.npmjs.org/@agility-luhn/compiler/-/compiler-1.2.2.tgz","fileCount":79,"integrity":"sha512-HJZMzmkMaeeUuRglflm7Arms9FT6L0ASejWRykHWzG3fdfdMNJGMbzYEL11c4NrXV0Ow6QtW7IiLF0tQl4eBNg==","signatures":[{"sig":"MEYCIQDHeyTVJqJ0jpWw/j8zDubNHwmjJTxRRiBhxSYS94DoQQIhANmx1TX8P42dJIcT3ePj0ZxMNdZ1Q4VN8wd+ss5gyVRR","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":770900},"main":"dist/index.js","type":"commonjs","types":"dist/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./ast":{"types":"./dist/ast.d.ts","default":"./dist/ast.js"},"./parser":{"types":"./dist/parser.d.ts","default":"./dist/parser.js"},"./plugin":{"types":"./dist/plugin.d.ts","default":"./dist/plugin.js"},"./watcher":{"types":"./dist/watcher.d.ts","default":"./dist/watcher.js"},"./compiler":{"types":"./dist/compiler.d.ts","default":"./dist/compiler.js"},"./semantic":{"types":"./dist/semantic.d.ts","default":"./dist/semantic.js"},"./generator":{"types":"./dist/generator/index.d.ts","default":"./dist/generator/index.js"},"./file-loader":{"types":"./dist/file-loader.d.ts","default":"./dist/file-loader.js"},"./compiler-internal":{"types":"./dist/compiler-internal.d.ts","default":"./dist/compiler-internal.js"}},"gitHead":"af3db910cd48a645360189ed48a7154dab177d78","private":false,"scripts":{"build":"pnpm run clean && tsc -p tsconfig.json","clean":"node -e \"require('fs').rmSync('dist', { recursive: true, force: true })\"","prepack":"pnpm run build","release":"semantic-release --config ./release.config.cjs","release:dry-run":"semantic-release --config ./release.config.cjs --dry-run"},"_npmUser":{"name":"agilityti","email":"flavio.oliveira@agilityti.com.br"},"repository":{"url":"git+https://github.com/flaviorafaelo-agility/luhn-workspace.git","type":"git"},"_npmVersion":"11.16.0","description":"Compiler and generators for the LUHN domain DSL.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"zod":"^3.25.76"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.20.0+sha512.cf9998222162dd85864d0a8102e7892e7ba4ceadebbf5a31f9c2fce48dfce317a9c53b9f6464d1ef9042cba2e02ae02a9f7c143a2b438cd93c91840f0192b9dd","devDependencies":{"typescript":"^5.9.3","@types/node":"^25.9.4","semantic-release":"^24.2.9","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^12.0.2","@semantic-release/github":"^11.0.6","@semantic-release/changelog":"^6.0.3","@semantic-release/commit-analyzer":"^13.0.1","@semantic-release/release-notes-generator":"^14.1.1","conventional-changelog-conventionalcommits":"10.2.1"},"_npmOperationalInternal":{"tmp":"tmp/compiler_1.2.2_1783522889321_0.12028651072147567","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"@agility-luhn/compiler","version":"1.3.0","keywords":["luhn","dsl","compiler","codegen"],"license":"MIT","_id":"@agility-luhn/compiler@1.3.0","maintainers":[{"name":"agilityti","email":"flavio.oliveira@agilityti.com.br"}],"homepage":"https://github.com/flaviorafaelo-agility/luhn-workspace#readme","bugs":{"url":"https://github.com/flaviorafaelo-agility/luhn-workspace/issues"},"dist":{"shasum":"d0a1d51ab4ac10e383de72d1149a6373e10e4df1","tarball":"https://registry.npmjs.org/@agility-luhn/compiler/-/compiler-1.3.0.tgz","fileCount":79,"integrity":"sha512-3kz3rW7duzLG1zGJh8pDwTMwYXWAOLEd6CrKwnEXIDNKBGLGhpmOlRFL1pzYfRBEBL23C2BP/ihacuuxiBYFNA==","signatures":[{"sig":"MEYCIQD6+sVnDaYDXoZmPA5bUL2/fi7HTc+eEXx35RtHE2I7yQIhAJFqgc90GNRStEueFGBQQoIOQ9VbFC5VHQo9fshb31e0","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":770795},"main":"dist/index.js","type":"commonjs","types":"dist/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./ast":{"types":"./dist/ast.d.ts","default":"./dist/ast.js"},"./parser":{"types":"./dist/parser.d.ts","default":"./dist/parser.js"},"./plugin":{"types":"./dist/plugin.d.ts","default":"./dist/plugin.js"},"./watcher":{"types":"./dist/watcher.d.ts","default":"./dist/watcher.js"},"./compiler":{"types":"./dist/compiler.d.ts","default":"./dist/compiler.js"},"./semantic":{"types":"./dist/semantic.d.ts","default":"./dist/semantic.js"},"./generator":{"types":"./dist/generator/index.d.ts","default":"./dist/generator/index.js"},"./file-loader":{"types":"./dist/file-loader.d.ts","default":"./dist/file-loader.js"},"./compiler-internal":{"types":"./dist/compiler-internal.d.ts","default":"./dist/compiler-internal.js"}},"gitHead":"4fa801f0caeaf586ade5b95cd2bd89b703c4adfb","private":false,"scripts":{"build":"pnpm run clean && tsc -p tsconfig.json","clean":"node -e \"require('fs').rmSync('dist', { recursive: true, force: true })\"","prepack":"pnpm run build","release":"semantic-release --config ./release.config.cjs","release:dry-run":"semantic-release --config ./release.config.cjs --dry-run"},"_npmUser":{"name":"agilityti","email":"flavio.oliveira@agilityti.com.br"},"repository":{"url":"git+https://github.com/flaviorafaelo-agility/luhn-workspace.git","type":"git"},"_npmVersion":"11.16.0","description":"Compiler and generators for the LUHN domain DSL.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"zod":"^3.25.76"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.20.0+sha512.cf9998222162dd85864d0a8102e7892e7ba4ceadebbf5a31f9c2fce48dfce317a9c53b9f6464d1ef9042cba2e02ae02a9f7c143a2b438cd93c91840f0192b9dd","devDependencies":{"typescript":"^5.9.3","@types/node":"^25.9.4","semantic-release":"^24.2.9","@agility-luhn/release-config":"workspace:*","conventional-changelog-conventionalcommits":"10.2.1"},"_npmOperationalInternal":{"tmp":"tmp/compiler_1.3.0_1783535172482_0.4954015069599855","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"@agility-luhn/compiler","version":"2.0.0","keywords":["luhn","dsl","compiler","codegen"],"license":"MIT","_id":"@agility-luhn/compiler@2.0.0","maintainers":[{"name":"agilityti","email":"flavio.oliveira@agilityti.com.br"}],"homepage":"https://github.com/flaviorafaelo-agility/luhn-workspace#readme","bugs":{"url":"https://github.com/flaviorafaelo-agility/luhn-workspace/issues"},"dist":{"shasum":"ded4f8d1e7916a3c5c9412cc20c9367eb63861fa","tarball":"https://registry.npmjs.org/@agility-luhn/compiler/-/compiler-2.0.0.tgz","fileCount":79,"integrity":"sha512-L3G1TwOamzzF8MR5uiBFuxRHorptpwJ7WE6Z3a+6ErZTPyVx/WkSYQfz6F42hcJlJXLT5S2jYezN+IS6eRkV4A==","signatures":[{"sig":"MEUCIQCZEMloPFCspRH3MBAxRkEokyhtSWY69ZxWMxpa4tyPSAIgHKGs3IHebloTWxHZuK/9gU5EfymBjJr0plllXwI/3eM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":770956},"main":"dist/index.js","type":"commonjs","types":"dist/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./ast":{"types":"./dist/ast.d.ts","default":"./dist/ast.js"},"./parser":{"types":"./dist/parser.d.ts","default":"./dist/parser.js"},"./plugin":{"types":"./dist/plugin.d.ts","default":"./dist/plugin.js"},"./watcher":{"types":"./dist/watcher.d.ts","default":"./dist/watcher.js"},"./compiler":{"types":"./dist/compiler.d.ts","default":"./dist/compiler.js"},"./semantic":{"types":"./dist/semantic.d.ts","default":"./dist/semantic.js"},"./generator":{"types":"./dist/generator/index.d.ts","default":"./dist/generator/index.js"},"./file-loader":{"types":"./dist/file-loader.d.ts","default":"./dist/file-loader.js"},"./compiler-internal":{"types":"./dist/compiler-internal.d.ts","default":"./dist/compiler-internal.js"}},"gitHead":"6573e9b96ab39a3a5e983d3c2ae53a84d78c9aed","private":false,"scripts":{"build":"pnpm run clean && tsc -p tsconfig.json","clean":"node -e \"require('fs').rmSync('dist', { recursive: true, force: true })\"","prepack":"pnpm run build","release":"node ./node_modules/@agility-luhn/release-config/bin/semantic-release.cjs --config ./release.config.cjs","release:dry-run":"node ./node_modules/@agility-luhn/release-config/bin/semantic-release.cjs --config ./release.config.cjs --dry-run"},"_npmUser":{"name":"agilityti","email":"flavio.oliveira@agilityti.com.br"},"repository":{"url":"git+https://github.com/flaviorafaelo-agility/luhn-workspace.git","type":"git"},"_npmVersion":"11.16.0","description":"Compiler and generators for the LUHN domain DSL.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"zod":"^3.25.76"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.20.0+sha512.cf9998222162dd85864d0a8102e7892e7ba4ceadebbf5a31f9c2fce48dfce317a9c53b9f6464d1ef9042cba2e02ae02a9f7c143a2b438cd93c91840f0192b9dd","devDependencies":{"typescript":"^5.9.3","@types/node":"^25.9.4","@agility-luhn/release-config":"workspace:*"},"_npmOperationalInternal":{"tmp":"tmp/compiler_2.0.0_1784051773394_0.7023889162620531","host":"s3://npm-registry-packages-npm-production"}},"2.1.0":{"name":"@agility-luhn/compiler","version":"2.1.0","keywords":["luhn","dsl","compiler","codegen"],"license":"MIT","_id":"@agility-luhn/compiler@2.1.0","maintainers":[{"name":"agilityti","email":"flavio.oliveira@agilityti.com.br"}],"homepage":"https://github.com/flaviorafaelo-agility/luhn-workspace#readme","bugs":{"url":"https://github.com/flaviorafaelo-agility/luhn-workspace/issues"},"dist":{"shasum":"fc6ebc26c1d8aa6ca2163fd3c0dccffaafd0ec33","tarball":"https://registry.npmjs.org/@agility-luhn/compiler/-/compiler-2.1.0.tgz","fileCount":79,"integrity":"sha512-80rXBJXxh7id/PeWze2XI84vHqGoOns21CwwpkixbN75cxmdhb0C76dhCqWGsPOMCV6u0V9n9/DdV1Yr7zkCaQ==","signatures":[{"sig":"MEYCIQCmC1EpqWoIVC7cxP7qqVk77xX7Y2qHPEzzQlRXNU4SQAIhAMPg1odQ0bXdmxuF222Y1i2G8AZbGMMLDN6yQXtn5+QA","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":771906},"main":"dist/index.js","type":"commonjs","types":"dist/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./ast":{"types":"./dist/ast.d.ts","default":"./dist/ast.js"},"./parser":{"types":"./dist/parser.d.ts","default":"./dist/parser.js"},"./plugin":{"types":"./dist/plugin.d.ts","default":"./dist/plugin.js"},"./watcher":{"types":"./dist/watcher.d.ts","default":"./dist/watcher.js"},"./compiler":{"types":"./dist/compiler.d.ts","default":"./dist/compiler.js"},"./semantic":{"types":"./dist/semantic.d.ts","default":"./dist/semantic.js"},"./generator":{"types":"./dist/generator/index.d.ts","default":"./dist/generator/index.js"},"./file-loader":{"types":"./dist/file-loader.d.ts","default":"./dist/file-loader.js"},"./compiler-internal":{"types":"./dist/compiler-internal.d.ts","default":"./dist/compiler-internal.js"}},"gitHead":"d4dcdffabb710d0502deb7c839fc0591384e1523","private":false,"scripts":{"build":"pnpm run clean && tsc -p tsconfig.json","clean":"node -e \"require('fs').rmSync('dist', { recursive: true, force: true })\"","prepack":"pnpm run build","release":"node ./node_modules/@agility-luhn/release-config/bin/semantic-release.cjs --config ./release.config.cjs","release:dry-run":"node ./node_modules/@agility-luhn/release-config/bin/semantic-release.cjs --config ./release.config.cjs --dry-run"},"_npmUser":{"name":"agilityti","email":"flavio.oliveira@agilityti.com.br"},"repository":{"url":"git+https://github.com/flaviorafaelo-agility/luhn-workspace.git","type":"git"},"_npmVersion":"11.16.0","description":"Compiler and generators for the LUHN domain DSL.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"zod":"^3.25.76"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.20.0+sha512.cf9998222162dd85864d0a8102e7892e7ba4ceadebbf5a31f9c2fce48dfce317a9c53b9f6464d1ef9042cba2e02ae02a9f7c143a2b438cd93c91840f0192b9dd","devDependencies":{"typescript":"^5.9.3","@types/node":"^25.9.4","@agility-luhn/release-config":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/compiler_2.1.0_1784167881094_0.23763044998693017","host":"s3://npm-registry-packages-npm-production"}},"2.2.0":{"name":"@agility-luhn/compiler","version":"2.2.0","keywords":["luhn","dsl","compiler","codegen"],"license":"MIT","_id":"@agility-luhn/compiler@2.2.0","maintainers":[{"name":"agilityti","email":"flavio.oliveira@agilityti.com.br"}],"homepage":"https://github.com/flaviorafaelo-agility/luhn-workspace#readme","bugs":{"url":"https://github.com/flaviorafaelo-agility/luhn-workspace/issues"},"dist":{"shasum":"f9d64f7cf5c2f4f4448621bb312d7a717f5a06e7","tarball":"https://registry.npmjs.org/@agility-luhn/compiler/-/compiler-2.2.0.tgz","fileCount":79,"integrity":"sha512-k3zNwaNhSKMzsWI2F8j2IKLG9d5Cn0C5SannrfRR9OrBcp3K7Q4e53OR06sw1e59EH1QjeYr5xI5yf5Irt3LTg==","signatures":[{"sig":"MEUCIQDJA9Q84kWc+Sm+PwabuSbGn5tHuINeHp5msxj1vFsVzQIgQY8LdbhC3CX2icOGnQBCv113qEAUQbqhIIq+G0FDons=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":772030},"main":"dist/index.js","type":"commonjs","types":"dist/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./ast":{"types":"./dist/ast.d.ts","default":"./dist/ast.js"},"./parser":{"types":"./dist/parser.d.ts","default":"./dist/parser.js"},"./plugin":{"types":"./dist/plugin.d.ts","default":"./dist/plugin.js"},"./watcher":{"types":"./dist/watcher.d.ts","default":"./dist/watcher.js"},"./compiler":{"types":"./dist/compiler.d.ts","default":"./dist/compiler.js"},"./semantic":{"types":"./dist/semantic.d.ts","default":"./dist/semantic.js"},"./generator":{"types":"./dist/generator/index.d.ts","default":"./dist/generator/index.js"},"./file-loader":{"types":"./dist/file-loader.d.ts","default":"./dist/file-loader.js"},"./compiler-internal":{"types":"./dist/compiler-internal.d.ts","default":"./dist/compiler-internal.js"}},"gitHead":"ee2d85a806f1f862c6132c1723587cbc70a7b551","private":false,"scripts":{"build":"pnpm run clean && tsc -p tsconfig.json","clean":"node -e \"require('fs').rmSync('dist', { recursive: true, force: true })\"","prepack":"pnpm run build","release":"node ./node_modules/@agility-luhn/release-config/bin/semantic-release.cjs --config ./release.config.cjs","release:dry-run":"node ./node_modules/@agility-luhn/release-config/bin/semantic-release.cjs --config ./release.config.cjs --dry-run"},"_npmUser":{"name":"agilityti","email":"flavio.oliveira@agilityti.com.br"},"repository":{"url":"git+https://github.com/flaviorafaelo-agility/luhn-workspace.git","type":"git"},"_npmVersion":"11.16.0","description":"Compiler and generators for the LUHN domain DSL.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"zod":"^3.25.76"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.20.0+sha512.cf9998222162dd85864d0a8102e7892e7ba4ceadebbf5a31f9c2fce48dfce317a9c53b9f6464d1ef9042cba2e02ae02a9f7c143a2b438cd93c91840f0192b9dd","devDependencies":{"typescript":"^5.9.3","@types/node":"^25.9.4","@agility-luhn/release-config":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/compiler_2.2.0_1784339634104_0.4749443492665326","host":"s3://npm-registry-packages-npm-production"}},"2.3.0":{"name":"@agility-luhn/compiler","version":"2.3.0","keywords":["luhn","dsl","compiler","codegen"],"license":"MIT","_id":"@agility-luhn/compiler@2.3.0","maintainers":[{"name":"agilityti","email":"flavio.oliveira@agilityti.com.br"}],"homepage":"https://github.com/flaviorafaelo-agility/luhn-workspace#readme","bugs":{"url":"https://github.com/flaviorafaelo-agility/luhn-workspace/issues"},"dist":{"shasum":"f42c3bbe56b5918e69b1a4d16383e3ae08ef5bf4","tarball":"https://registry.npmjs.org/@agility-luhn/compiler/-/compiler-2.3.0.tgz","fileCount":79,"integrity":"sha512-D90FyJe0TSAlmvBewin8TyoLC7NBMhjfVWj0CIgrc4iq3oDdXtTQG5Guo270NgctUp3uSud/VEcJZvwsDHbKiA==","signatures":[{"sig":"MEQCIAENE4R9vxpepyi78XYvhp8S+IMc0AVEQUhqm1Svll8SAiBFjvawAOECvB98DW+O499z/U+UlVC2d9CvxWFy6jDyGA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":772154},"main":"dist/index.js","type":"commonjs","types":"dist/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./ast":{"types":"./dist/ast.d.ts","default":"./dist/ast.js"},"./parser":{"types":"./dist/parser.d.ts","default":"./dist/parser.js"},"./plugin":{"types":"./dist/plugin.d.ts","default":"./dist/plugin.js"},"./watcher":{"types":"./dist/watcher.d.ts","default":"./dist/watcher.js"},"./compiler":{"types":"./dist/compiler.d.ts","default":"./dist/compiler.js"},"./semantic":{"types":"./dist/semantic.d.ts","default":"./dist/semantic.js"},"./generator":{"types":"./dist/generator/index.d.ts","default":"./dist/generator/index.js"},"./file-loader":{"types":"./dist/file-loader.d.ts","default":"./dist/file-loader.js"},"./compiler-internal":{"types":"./dist/compiler-internal.d.ts","default":"./dist/compiler-internal.js"}},"gitHead":"5aa17aaa785b63fac34d81312bfc9c85608ced04","private":false,"scripts":{"build":"pnpm run clean && tsc -p tsconfig.json","clean":"node -e \"require('fs').rmSync('dist', { recursive: true, force: true })\"","prepack":"pnpm run build","release":"node ./node_modules/@agility-luhn/release-config/bin/semantic-release.cjs --config ./release.config.cjs","release:dry-run":"node ./node_modules/@agility-luhn/release-config/bin/semantic-release.cjs --config ./release.config.cjs --dry-run"},"_npmUser":{"name":"agilityti","email":"flavio.oliveira@agilityti.com.br"},"repository":{"url":"git+https://github.com/flaviorafaelo-agility/luhn-workspace.git","type":"git"},"_npmVersion":"11.17.0","description":"Compiler and generators for the LUHN domain DSL.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"zod":"^3.25.76"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.20.0+sha512.cf9998222162dd85864d0a8102e7892e7ba4ceadebbf5a31f9c2fce48dfce317a9c53b9f6464d1ef9042cba2e02ae02a9f7c143a2b438cd93c91840f0192b9dd","devDependencies":{"typescript":"^5.9.3","@types/node":"^25.9.4","@agility-luhn/release-config":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/compiler_2.3.0_1787016739303_0.018959339490876026","host":"s3://npm-registry-packages-npm-production"}},"2.4.0":{"name":"@agility-luhn/compiler","version":"2.4.0","keywords":["luhn","dsl","compiler","codegen"],"license":"MIT","_id":"@agility-luhn/compiler@2.4.0","maintainers":[{"name":"agilityti","email":"flavio.oliveira@agilityti.com.br"}],"homepage":"https://github.com/flaviorafaelo-agility/luhn-workspace#readme","bugs":{"url":"https://github.com/flaviorafaelo-agility/luhn-workspace/issues"},"dist":{"shasum":"1d6e248b70f16d08dc7b40a7dd936e50512a375c","tarball":"https://registry.npmjs.org/@agility-luhn/compiler/-/compiler-2.4.0.tgz","fileCount":79,"integrity":"sha512-k2S2SL8Q74POsDXYSwp9kbgr0JkEXbe/c7qVijM26mzReq0JORgwmy3mwH0dHRfSumk0aSAAKRyp4+P+NcHaHg==","signatures":[{"sig":"MEQCIAHRHVZd7T7V0/jWM7EpPKutiYEUBu0Izqx7JlEjpQsFAiBdzY9F1JyeZGqtB/8k2I2gl4pfbpjoqUZ7gZXoMDO3cA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":772278},"main":"dist/index.js","type":"commonjs","types":"dist/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./ast":{"types":"./dist/ast.d.ts","default":"./dist/ast.js"},"./parser":{"types":"./dist/parser.d.ts","default":"./dist/parser.js"},"./plugin":{"types":"./dist/plugin.d.ts","default":"./dist/plugin.js"},"./watcher":{"types":"./dist/watcher.d.ts","default":"./dist/watcher.js"},"./compiler":{"types":"./dist/compiler.d.ts","default":"./dist/compiler.js"},"./semantic":{"types":"./dist/semantic.d.ts","default":"./dist/semantic.js"},"./generator":{"types":"./dist/generator/index.d.ts","default":"./dist/generator/index.js"},"./file-loader":{"types":"./dist/file-loader.d.ts","default":"./dist/file-loader.js"},"./compiler-internal":{"types":"./dist/compiler-internal.d.ts","default":"./dist/compiler-internal.js"}},"gitHead":"6fdb4a7566f85497515303837ff6841e41964a79","private":false,"scripts":{"build":"pnpm run clean && tsc -p tsconfig.json","clean":"node -e \"require('fs').rmSync('dist', { recursive: true, force: true })\"","prepack":"pnpm run build","release":"node ./node_modules/@agility-luhn/release-config/bin/semantic-release.cjs --config ./release.config.cjs","release:dry-run":"node ./node_modules/@agility-luhn/release-config/bin/semantic-release.cjs --config ./release.config.cjs --dry-run"},"_npmUser":{"name":"agilityti","email":"flavio.oliveira@agilityti.com.br"},"repository":{"url":"git+https://github.com/flaviorafaelo-agility/luhn-workspace.git","type":"git"},"_npmVersion":"11.17.0","description":"Compiler and generators for the LUHN domain DSL.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"zod":"^3.25.76"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.20.0+sha512.cf9998222162dd85864d0a8102e7892e7ba4ceadebbf5a31f9c2fce48dfce317a9c53b9f6464d1ef9042cba2e02ae02a9f7c143a2b438cd93c91840f0192b9dd","devDependencies":{"typescript":"^5.9.3","@types/node":"^25.9.4","@agility-luhn/release-config":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/compiler_2.4.0_1787019747890_0.37346606133922755","host":"s3://npm-registry-packages-npm-production"}},"2.4.1":{"name":"@agility-luhn/compiler","version":"2.4.1","keywords":["luhn","dsl","compiler","codegen"],"license":"MIT","_id":"@agility-luhn/compiler@2.4.1","maintainers":[{"name":"agilityti","email":"flavio.oliveira@agilityti.com.br"}],"homepage":"https://github.com/flaviorafaelo-agility/luhn-workspace#readme","bugs":{"url":"https://github.com/flaviorafaelo-agility/luhn-workspace/issues"},"dist":{"shasum":"4d4902c5b091758463a8538c4c898719738057fc","tarball":"https://registry.npmjs.org/@agility-luhn/compiler/-/compiler-2.4.1.tgz","fileCount":79,"integrity":"sha512-5uf7768rlaS6dZ5QNmUSVyA9sucpS8nCizrh51nssLdJ7uaR2TUK45saY7UlN4Z2+q200Nnn8Y3Q/ftszL4g7Q==","signatures":[{"sig":"MEQCIEay5W1C9FjoWiFsanLFqIBXXR7WF1U7VYzGUCBtnIvaAiARBnfwQtv5m31LBROfUa9FjbufoqehePbifnDX4h5CAQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":772402},"main":"dist/index.js","type":"commonjs","types":"dist/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./ast":{"types":"./dist/ast.d.ts","default":"./dist/ast.js"},"./parser":{"types":"./dist/parser.d.ts","default":"./dist/parser.js"},"./plugin":{"types":"./dist/plugin.d.ts","default":"./dist/plugin.js"},"./watcher":{"types":"./dist/watcher.d.ts","default":"./dist/watcher.js"},"./compiler":{"types":"./dist/compiler.d.ts","default":"./dist/compiler.js"},"./semantic":{"types":"./dist/semantic.d.ts","default":"./dist/semantic.js"},"./generator":{"types":"./dist/generator/index.d.ts","default":"./dist/generator/index.js"},"./file-loader":{"types":"./dist/file-loader.d.ts","default":"./dist/file-loader.js"},"./compiler-internal":{"types":"./dist/compiler-internal.d.ts","default":"./dist/compiler-internal.js"}},"gitHead":"950839531d17621e879ad90aea0806960c140b92","private":false,"scripts":{"build":"pnpm run clean && tsc -p tsconfig.json","clean":"node -e \"require('fs').rmSync('dist', { recursive: true, force: true })\"","prepack":"pnpm run build","release":"node ./node_modules/@agility-luhn/release-config/bin/semantic-release.cjs --config ./release.config.cjs","release:dry-run":"node ./node_modules/@agility-luhn/release-config/bin/semantic-release.cjs --config ./release.config.cjs --dry-run"},"_npmUser":{"name":"agilityti","email":"flavio.oliveira@agilityti.com.br"},"repository":{"url":"git+https://github.com/flaviorafaelo-agility/luhn-workspace.git","type":"git"},"_npmVersion":"11.17.0","description":"Compiler and generators for the LUHN domain DSL.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"zod":"^3.25.76"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.20.0+sha512.cf9998222162dd85864d0a8102e7892e7ba4ceadebbf5a31f9c2fce48dfce317a9c53b9f6464d1ef9042cba2e02ae02a9f7c143a2b438cd93c91840f0192b9dd","devDependencies":{"typescript":"^5.9.3","@types/node":"^25.9.4","@agility-luhn/release-config":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/compiler_2.4.1_1787073346244_0.0631434852346131","host":"s3://npm-registry-packages-npm-production"}},"2.4.2":{"name":"@agility-luhn/compiler","version":"2.4.2","keywords":["luhn","dsl","compiler","codegen"],"license":"MIT","_id":"@agility-luhn/compiler@2.4.2","maintainers":[{"name":"agilityti","email":"flavio.oliveira@agilityti.com.br"}],"homepage":"https://github.com/flaviorafaelo-agility/luhn-workspace#readme","bugs":{"url":"https://github.com/flaviorafaelo-agility/luhn-workspace/issues"},"dist":{"shasum":"e4da767a1f4b23bfd8163e9091f08c09af4331a7","tarball":"https://registry.npmjs.org/@agility-luhn/compiler/-/compiler-2.4.2.tgz","fileCount":79,"integrity":"sha512-loEzVDnCbxdHg3D+KBP946G0kaTCfYIGryJWde2MsXT6WUFVmkpODmKg/E1IbrxCgzc+Lt2usGfqdQo0VG5+wA==","signatures":[{"sig":"MEUCIQCnzsJaVGAw/imEnzElzydKfslI8ruJ9KeknbEP9VYuRQIgd90siPwMm7Lj6h2XkCFYO+XSzzY/4wpOu2jnI19aKVY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":772526},"main":"dist/index.js","type":"commonjs","types":"dist/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./ast":{"types":"./dist/ast.d.ts","default":"./dist/ast.js"},"./parser":{"types":"./dist/parser.d.ts","default":"./dist/parser.js"},"./plugin":{"types":"./dist/plugin.d.ts","default":"./dist/plugin.js"},"./watcher":{"types":"./dist/watcher.d.ts","default":"./dist/watcher.js"},"./compiler":{"types":"./dist/compiler.d.ts","default":"./dist/compiler.js"},"./semantic":{"types":"./dist/semantic.d.ts","default":"./dist/semantic.js"},"./generator":{"types":"./dist/generator/index.d.ts","default":"./dist/generator/index.js"},"./file-loader":{"types":"./dist/file-loader.d.ts","default":"./dist/file-loader.js"},"./compiler-internal":{"types":"./dist/compiler-internal.d.ts","default":"./dist/compiler-internal.js"}},"gitHead":"2e640fea7c34e9ad29eda0463f86b9d9477b29cb","private":false,"scripts":{"build":"pnpm run clean && tsc -p tsconfig.json","clean":"node -e \"require('fs').rmSync('dist', { recursive: true, force: true })\"","prepack":"pnpm run build","release":"node ./node_modules/@agility-luhn/release-config/bin/semantic-release.cjs --config ./release.config.cjs","release:dry-run":"node ./node_modules/@agility-luhn/release-config/bin/semantic-release.cjs --config ./release.config.cjs --dry-run"},"_npmUser":{"name":"agilityti","email":"flavio.oliveira@agilityti.com.br"},"repository":{"url":"git+https://github.com/flaviorafaelo-agility/luhn-workspace.git","type":"git"},"_npmVersion":"11.17.0","description":"Compiler and generators for the LUHN domain DSL.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"zod":"^3.25.76"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.20.0+sha512.cf9998222162dd85864d0a8102e7892e7ba4ceadebbf5a31f9c2fce48dfce317a9c53b9f6464d1ef9042cba2e02ae02a9f7c143a2b438cd93c91840f0192b9dd","devDependencies":{"typescript":"^5.9.3","@types/node":"^25.9.4","@agility-luhn/release-config":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/compiler_2.4.2_1787077159611_0.6458673310759508","host":"s3://npm-registry-packages-npm-production"}},"2.4.3":{"name":"@agility-luhn/compiler","version":"2.4.3","keywords":["luhn","dsl","compiler","codegen"],"license":"MIT","_id":"@agility-luhn/compiler@2.4.3","maintainers":[{"name":"agilityti","email":"flavio.oliveira@agilityti.com.br"}],"homepage":"https://github.com/flaviorafaelo-agility/luhn-workspace#readme","bugs":{"url":"https://github.com/flaviorafaelo-agility/luhn-workspace/issues"},"dist":{"shasum":"35de3d5f9f9a0440044aceda4be34752d97d81f3","tarball":"https://registry.npmjs.org/@agility-luhn/compiler/-/compiler-2.4.3.tgz","fileCount":79,"integrity":"sha512-f2PXNif93H0lClMIKjqROiGMTCpHKB00aXX+VxuHr5O5brnUjH7uFipNUE2EkWni7dAgRipZUAy5r1JvGRrFZw==","signatures":[{"sig":"MEUCIC3FGSiClxP1I3Uwah5rtnxEzPoXxFzLh8Lr+AdfyitrAiEAhJVq0Dl6OEwZRrh/JZ8l2jHHxULRZ2hz3JFlUCsBoFM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":773344},"main":"dist/index.js","type":"commonjs","types":"dist/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./ast":{"types":"./dist/ast.d.ts","default":"./dist/ast.js"},"./parser":{"types":"./dist/parser.d.ts","default":"./dist/parser.js"},"./plugin":{"types":"./dist/plugin.d.ts","default":"./dist/plugin.js"},"./watcher":{"types":"./dist/watcher.d.ts","default":"./dist/watcher.js"},"./compiler":{"types":"./dist/compiler.d.ts","default":"./dist/compiler.js"},"./semantic":{"types":"./dist/semantic.d.ts","default":"./dist/semantic.js"},"./generator":{"types":"./dist/generator/index.d.ts","default":"./dist/generator/index.js"},"./file-loader":{"types":"./dist/file-loader.d.ts","default":"./dist/file-loader.js"},"./compiler-internal":{"types":"./dist/compiler-internal.d.ts","default":"./dist/compiler-internal.js"}},"gitHead":"0bcd346f79d24ca36baf60e4b56de0b6a8cc1c2c","private":false,"scripts":{"build":"pnpm run clean && tsc -p tsconfig.json","clean":"node -e \"require('fs').rmSync('dist', { recursive: true, force: true })\"","prepack":"pnpm run build","release":"node ./node_modules/@agility-luhn/release-config/bin/semantic-release.cjs --config ./release.config.cjs","release:dry-run":"node ./node_modules/@agility-luhn/release-config/bin/semantic-release.cjs --config ./release.config.cjs --dry-run"},"_npmUser":{"name":"agilityti","email":"flavio.oliveira@agilityti.com.br"},"repository":{"url":"git+https://github.com/flaviorafaelo-agility/luhn-workspace.git","type":"git"},"_npmVersion":"11.17.0","description":"Compiler and generators for the LUHN domain DSL.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"zod":"^3.25.76"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.20.0+sha512.cf9998222162dd85864d0a8102e7892e7ba4ceadebbf5a31f9c2fce48dfce317a9c53b9f6464d1ef9042cba2e02ae02a9f7c143a2b438cd93c91840f0192b9dd","devDependencies":{"typescript":"^5.9.3","@types/node":"^25.9.4","@agility-luhn/release-config":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/compiler_2.4.3_1787172309708_0.4184704690069476","host":"s3://npm-registry-packages-npm-production"}},"2.5.0":{"name":"@agility-luhn/compiler","version":"2.5.0","keywords":["luhn","dsl","compiler","codegen"],"license":"MIT","_id":"@agility-luhn/compiler@2.5.0","maintainers":[{"name":"agilityti","email":"flavio.oliveira@agilityti.com.br"}],"homepage":"https://github.com/flaviorafaelo-agility/luhn-workspace#readme","bugs":{"url":"https://github.com/flaviorafaelo-agility/luhn-workspace/issues"},"dist":{"shasum":"cbdf0767e0e4373f8f23e54abe986d50f76bdcaf","tarball":"https://registry.npmjs.org/@agility-luhn/compiler/-/compiler-2.5.0.tgz","fileCount":83,"integrity":"sha512-vonv0qfs7xiC8Qk832wHf/HjvOzIXwZvijM1O8PlVvkhdOY1fxbJ5McfcUhU+lVtX0UqX8kE6RGrd9fyTHopdQ==","signatures":[{"sig":"MEUCIADLxzyLOtC/d0c9qgJmUi1L7RU7lHM6whELU/X3na5WAiEAjO8XuU0cxYNtu5P7ak+5wAvzbAu/NPtXbxjT/BC5UpA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":787227},"main":"dist/index.js","type":"commonjs","types":"dist/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./ast":{"types":"./dist/ast.d.ts","default":"./dist/ast.js"},"./parser":{"types":"./dist/parser.d.ts","default":"./dist/parser.js"},"./plugin":{"types":"./dist/plugin.d.ts","default":"./dist/plugin.js"},"./watcher":{"types":"./dist/watcher.d.ts","default":"./dist/watcher.js"},"./compiler":{"types":"./dist/compiler.d.ts","default":"./dist/compiler.js"},"./semantic":{"types":"./dist/semantic.d.ts","default":"./dist/semantic.js"},"./generator":{"types":"./dist/generator/index.d.ts","default":"./dist/generator/index.js"},"./file-loader":{"types":"./dist/file-loader.d.ts","default":"./dist/file-loader.js"},"./compiler-internal":{"types":"./dist/compiler-internal.d.ts","default":"./dist/compiler-internal.js"}},"gitHead":"f3e753234f673bc43b809bde538d7f9222841c82","private":false,"scripts":{"test":"pnpm run build && node --test test/*.test.cjs","build":"pnpm run clean && tsc -p tsconfig.json","clean":"node -e \"require('fs').rmSync('dist', { recursive: true, force: true })\"","prepack":"pnpm run build","release":"node ./node_modules/@agility-luhn/release-config/bin/semantic-release.cjs --config ./release.config.cjs","release:dry-run":"node ./node_modules/@agility-luhn/release-config/bin/semantic-release.cjs --config ./release.config.cjs --dry-run"},"_npmUser":{"name":"agilityti","email":"flavio.oliveira@agilityti.com.br"},"repository":{"url":"git+https://github.com/flaviorafaelo-agility/luhn-workspace.git","type":"git"},"_npmVersion":"11.17.0","description":"Compiler and generators for the LUHN domain DSL.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"zod":"^3.25.76"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.20.0+sha512.cf9998222162dd85864d0a8102e7892e7ba4ceadebbf5a31f9c2fce48dfce317a9c53b9f6464d1ef9042cba2e02ae02a9f7c143a2b438cd93c91840f0192b9dd","devDependencies":{"typescript":"^5.9.3","@types/node":"^25.9.4","@agility-luhn/release-config":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/compiler_2.5.0_1787369463423_0.9928342636968353","host":"s3://npm-registry-packages-npm-production"}},"2.5.1":{"name":"@agility-luhn/compiler","version":"2.5.1","keywords":["luhn","dsl","compiler","codegen"],"license":"MIT","_id":"@agility-luhn/compiler@2.5.1","maintainers":[{"name":"agilityti","email":"flavio.oliveira@agilityti.com.br"}],"homepage":"https://github.com/flaviorafaelo-agility/luhn-workspace#readme","bugs":{"url":"https://github.com/flaviorafaelo-agility/luhn-workspace/issues"},"dist":{"shasum":"ab70b45b9d400f40329c9c97de701e866c245e6c","tarball":"https://registry.npmjs.org/@agility-luhn/compiler/-/compiler-2.5.1.tgz","fileCount":83,"integrity":"sha512-DRT2fsak8/Y/llLTdE2cXx1vBrUHp2Dt4bV8Tu8fVpzJK/gKIgIGj8UtYL5ePXk4OW0rFlb9sgD6PTtJdr86AA==","signatures":[{"sig":"MEUCIDi5bCA+LtYoDrJvcMzqExM9t+sTHp/6cEe3A25Fg2FJAiEA7oyloOfue1B1MmyZLT/ar4Zcx8neNEgzequpmHCRYuU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":787385},"main":"dist/index.js","type":"commonjs","types":"dist/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./ast":{"types":"./dist/ast.d.ts","default":"./dist/ast.js"},"./parser":{"types":"./dist/parser.d.ts","default":"./dist/parser.js"},"./plugin":{"types":"./dist/plugin.d.ts","default":"./dist/plugin.js"},"./watcher":{"types":"./dist/watcher.d.ts","default":"./dist/watcher.js"},"./compiler":{"types":"./dist/compiler.d.ts","default":"./dist/compiler.js"},"./semantic":{"types":"./dist/semantic.d.ts","default":"./dist/semantic.js"},"./generator":{"types":"./dist/generator/index.d.ts","default":"./dist/generator/index.js"},"./file-loader":{"types":"./dist/file-loader.d.ts","default":"./dist/file-loader.js"},"./compiler-internal":{"types":"./dist/compiler-internal.d.ts","default":"./dist/compiler-internal.js"}},"gitHead":"3b6faa225891c8824725af14f63cd666763531be","private":false,"scripts":{"test":"pnpm run build && node --test test/*.test.cjs","build":"pnpm run clean && tsc -p tsconfig.json","clean":"node -e \"require('fs').rmSync('dist', { recursive: true, force: true })\"","prepack":"pnpm run build","release":"node ./node_modules/@agility-luhn/release-config/bin/semantic-release.cjs --config ./release.config.cjs","release:dry-run":"node ./node_modules/@agility-luhn/release-config/bin/semantic-release.cjs --config ./release.config.cjs --dry-run"},"_npmUser":{"name":"agilityti","email":"flavio.oliveira@agilityti.com.br"},"repository":{"url":"git+https://github.com/flaviorafaelo-agility/luhn-workspace.git","type":"git"},"_npmVersion":"11.17.0","description":"Compiler and generators for the LUHN domain DSL.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"zod":"^3.25.76"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.20.0+sha512.cf9998222162dd85864d0a8102e7892e7ba4ceadebbf5a31f9c2fce48dfce317a9c53b9f6464d1ef9042cba2e02ae02a9f7c143a2b438cd93c91840f0192b9dd","devDependencies":{"typescript":"^5.9.3","@types/node":"^25.9.4","@agility-luhn/release-config":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/compiler_2.5.1_1787374734592_0.79852784668564","host":"s3://npm-registry-packages-npm-production"}},"2.5.2":{"name":"@agility-luhn/compiler","version":"2.5.2","keywords":["luhn","dsl","compiler","codegen"],"license":"MIT","_id":"@agility-luhn/compiler@2.5.2","maintainers":[{"name":"agilityti","email":"flavio.oliveira@agilityti.com.br"}],"homepage":"https://github.com/flaviorafaelo-agility/luhn-workspace#readme","bugs":{"url":"https://github.com/flaviorafaelo-agility/luhn-workspace/issues"},"dist":{"shasum":"bae0438135ba132acbb30450c7b6c42f91fc16b6","tarball":"https://registry.npmjs.org/@agility-luhn/compiler/-/compiler-2.5.2.tgz","fileCount":83,"integrity":"sha512-WIfBb2YzztJqUJU63wURAeo64mO5nIYZyqpShEjLRdSd3PuvXYmobhXlRP+gE1NPOOvJBOEEWGGF6LZptOsOjg==","signatures":[{"sig":"MEYCIQCyVBo1hC3osa6mAewMoeK4oWy9quwlY8z9avVw/K5O/AIhAJ3yGyXzxxUr0QeAi+Fazfz+YgYfpOmASjF2VdFfXGLU","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":787610},"main":"dist/index.js","type":"commonjs","types":"dist/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./ast":{"types":"./dist/ast.d.ts","default":"./dist/ast.js"},"./parser":{"types":"./dist/parser.d.ts","default":"./dist/parser.js"},"./plugin":{"types":"./dist/plugin.d.ts","default":"./dist/plugin.js"},"./watcher":{"types":"./dist/watcher.d.ts","default":"./dist/watcher.js"},"./compiler":{"types":"./dist/compiler.d.ts","default":"./dist/compiler.js"},"./semantic":{"types":"./dist/semantic.d.ts","default":"./dist/semantic.js"},"./generator":{"types":"./dist/generator/index.d.ts","default":"./dist/generator/index.js"},"./file-loader":{"types":"./dist/file-loader.d.ts","default":"./dist/file-loader.js"},"./compiler-internal":{"types":"./dist/compiler-internal.d.ts","default":"./dist/compiler-internal.js"}},"gitHead":"13e01111a884d601fc7830148029c69d875d1b6d","private":false,"scripts":{"test":"pnpm run build && node --test test/*.test.cjs","build":"pnpm run clean && tsc -p tsconfig.json","clean":"node -e \"require('fs').rmSync('dist', { recursive: true, force: true })\"","prepack":"pnpm run build","release":"node ./node_modules/@agility-luhn/release-config/bin/semantic-release.cjs --config ./release.config.cjs","release:dry-run":"node ./node_modules/@agility-luhn/release-config/bin/semantic-release.cjs --config ./release.config.cjs --dry-run"},"_npmUser":{"name":"agilityti","email":"flavio.oliveira@agilityti.com.br"},"repository":{"url":"git+https://github.com/flaviorafaelo-agility/luhn-workspace.git","type":"git"},"_npmVersion":"11.17.0","description":"Compiler and generators for the LUHN domain DSL.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"zod":"^3.25.76"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.20.0+sha512.cf9998222162dd85864d0a8102e7892e7ba4ceadebbf5a31f9c2fce48dfce317a9c53b9f6464d1ef9042cba2e02ae02a9f7c143a2b438cd93c91840f0192b9dd","devDependencies":{"typescript":"^5.9.3","@types/node":"^25.9.4","@agility-luhn/release-config":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/compiler_2.5.2_1787395552500_0.8834676948611591","host":"s3://npm-registry-packages-npm-production"}},"2.6.0":{"name":"@agility-luhn/compiler","version":"2.6.0","keywords":["luhn","dsl","compiler","codegen"],"license":"MIT","_id":"@agility-luhn/compiler@2.6.0","maintainers":[{"name":"agilityti","email":"flavio.oliveira@agilityti.com.br"}],"homepage":"https://github.com/flaviorafaelo-agility/luhn-workspace#readme","bugs":{"url":"https://github.com/flaviorafaelo-agility/luhn-workspace/issues"},"dist":{"shasum":"27e49efe0e58a8c886c9aaade636181208ce54fd","tarball":"https://registry.npmjs.org/@agility-luhn/compiler/-/compiler-2.6.0.tgz","fileCount":83,"integrity":"sha512-ijEY5CEh0X2zc9RsmcCPVw2I3dFGO0gdvUsX7KKSMCoqPJYGOLhRJ+DG5mjeFCrAaxeT/R4FeZQVqIejwc6njA==","signatures":[{"sig":"MEUCICFFgGBcNr65BiKKUoTi7Y44O6TETRIjnGcOGzucAYUIAiEAnG+eqYVDijiELhpJUg24S5Z3OZfmnMf7yoXT23NIkgU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":792182},"main":"dist/index.js","type":"commonjs","types":"dist/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./ast":{"types":"./dist/ast.d.ts","default":"./dist/ast.js"},"./parser":{"types":"./dist/parser.d.ts","default":"./dist/parser.js"},"./plugin":{"types":"./dist/plugin.d.ts","default":"./dist/plugin.js"},"./watcher":{"types":"./dist/watcher.d.ts","default":"./dist/watcher.js"},"./compiler":{"types":"./dist/compiler.d.ts","default":"./dist/compiler.js"},"./semantic":{"types":"./dist/semantic.d.ts","default":"./dist/semantic.js"},"./generator":{"types":"./dist/generator/index.d.ts","default":"./dist/generator/index.js"},"./file-loader":{"types":"./dist/file-loader.d.ts","default":"./dist/file-loader.js"},"./compiler-internal":{"types":"./dist/compiler-internal.d.ts","default":"./dist/compiler-internal.js"}},"gitHead":"a3d92e5af23abf4f7d1e9d87c9e9991f14309bba","private":false,"scripts":{"test":"pnpm run build && node --test test/*.test.cjs","build":"pnpm run clean && tsc -p tsconfig.json","clean":"node -e \"require('fs').rmSync('dist', { recursive: true, force: true })\"","prepack":"pnpm run build","release":"node ./node_modules/@agility-luhn/release-config/bin/semantic-release.cjs --config ./release.config.cjs","release:dry-run":"node ./node_modules/@agility-luhn/release-config/bin/semantic-release.cjs --config ./release.config.cjs --dry-run"},"_npmUser":{"name":"agilityti","email":"flavio.oliveira@agilityti.com.br"},"repository":{"url":"git+https://github.com/flaviorafaelo-agility/luhn-workspace.git","type":"git"},"_npmVersion":"11.17.0","description":"Compiler and generators for the LUHN domain DSL.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"zod":"^3.25.76"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.20.0+sha512.cf9998222162dd85864d0a8102e7892e7ba4ceadebbf5a31f9c2fce48dfce317a9c53b9f6464d1ef9042cba2e02ae02a9f7c143a2b438cd93c91840f0192b9dd","devDependencies":{"typescript":"^5.9.3","@types/node":"^25.9.4","@agility-luhn/release-config":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/compiler_2.6.0_1787518204215_0.10525885860694095","host":"s3://npm-registry-packages-npm-production"}},"2.7.0":{"name":"@agility-luhn/compiler","version":"2.7.0","keywords":["luhn","dsl","compiler","codegen"],"license":"MIT","_id":"@agility-luhn/compiler@2.7.0","maintainers":[{"name":"agilityti","email":"flavio.oliveira@agilityti.com.br"}],"homepage":"https://github.com/flaviorafaelo-agility/luhn-workspace#readme","bugs":{"url":"https://github.com/flaviorafaelo-agility/luhn-workspace/issues"},"dist":{"shasum":"45a816b96adc1321c43aa1ab28dad30ccdbf3573","tarball":"https://registry.npmjs.org/@agility-luhn/compiler/-/compiler-2.7.0.tgz","fileCount":83,"integrity":"sha512-u9iCq1F3Oxpe7e2Ptp4u13D0N4AK/43GlsYzdqJClHsTcM3iXOjhsW7OCnEcxEo3VXFYrOp+nYkUeTeXGNYT8A==","signatures":[{"sig":"MEYCIQDjuezubRaOvbmpCqPuQMSjDGJfGvFQo9OHO9U13jl2eQIhAKPY5JB6yRHlrVb/k/+q3Mob83yDNVt//qv5KR44r37A","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":799190},"main":"dist/index.js","type":"commonjs","types":"dist/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./ast":{"types":"./dist/ast.d.ts","default":"./dist/ast.js"},"./parser":{"types":"./dist/parser.d.ts","default":"./dist/parser.js"},"./plugin":{"types":"./dist/plugin.d.ts","default":"./dist/plugin.js"},"./watcher":{"types":"./dist/watcher.d.ts","default":"./dist/watcher.js"},"./compiler":{"types":"./dist/compiler.d.ts","default":"./dist/compiler.js"},"./semantic":{"types":"./dist/semantic.d.ts","default":"./dist/semantic.js"},"./generator":{"types":"./dist/generator/index.d.ts","default":"./dist/generator/index.js"},"./file-loader":{"types":"./dist/file-loader.d.ts","default":"./dist/file-loader.js"},"./compiler-internal":{"types":"./dist/compiler-internal.d.ts","default":"./dist/compiler-internal.js"}},"gitHead":"cf92d5fccb11f68b80386ffc52153058c111c2a5","private":false,"scripts":{"test":"pnpm run build && node --test test/*.test.cjs","build":"pnpm run clean && tsc -p tsconfig.json","clean":"node -e \"require('fs').rmSync('dist', { recursive: true, force: true })\"","prepack":"pnpm run build","release":"node ./node_modules/@agility-luhn/release-config/bin/semantic-release.cjs --config ./release.config.cjs","release:dry-run":"node ./node_modules/@agility-luhn/release-config/bin/semantic-release.cjs --config ./release.config.cjs --dry-run"},"_npmUser":{"name":"agilityti","email":"flavio.oliveira@agilityti.com.br"},"repository":{"url":"git+https://github.com/flaviorafaelo-agility/luhn-workspace.git","type":"git"},"_npmVersion":"11.17.0","description":"Compiler and generators for the LUHN domain DSL.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"zod":"^3.25.76"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.20.0+sha512.cf9998222162dd85864d0a8102e7892e7ba4ceadebbf5a31f9c2fce48dfce317a9c53b9f6464d1ef9042cba2e02ae02a9f7c143a2b438cd93c91840f0192b9dd","devDependencies":{"typescript":"^5.9.3","@types/node":"^25.9.4","@agility-luhn/release-config":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/compiler_2.7.0_1787596623218_0.2751229324383908","host":"s3://npm-registry-packages-npm-production"}},"2.7.1":{"name":"@agility-luhn/compiler","version":"2.7.1","keywords":["luhn","dsl","compiler","codegen"],"license":"MIT","_id":"@agility-luhn/compiler@2.7.1","maintainers":[{"name":"agilityti","email":"flavio.oliveira@agilityti.com.br"}],"homepage":"https://github.com/flaviorafaelo-agility/luhn-workspace#readme","bugs":{"url":"https://github.com/flaviorafaelo-agility/luhn-workspace/issues"},"dist":{"shasum":"0a8eadd4f22ce0385739dd8c737c4c0979c035f0","tarball":"https://registry.npmjs.org/@agility-luhn/compiler/-/compiler-2.7.1.tgz","fileCount":83,"integrity":"sha512-vah2WZbZ2ZVmF2eQRrhAQ2VgIhJv5Dvbf8fnPdIg0DfHIOagBoENrK29L+cP/AxyUnTi713/P8OKtjoVSGf+Iw==","signatures":[{"sig":"MEUCIQCJOxHAyIdSmtl/5zVMR7Z4rqDYBzr1KHgU8iuh7+a0LwIgZecUyDO6nFX6TkNBC5qrZ3qNr2hylM/jNhhvaTgZE/I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":799011},"main":"dist/index.js","type":"commonjs","types":"dist/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./ast":{"types":"./dist/ast.d.ts","default":"./dist/ast.js"},"./parser":{"types":"./dist/parser.d.ts","default":"./dist/parser.js"},"./plugin":{"types":"./dist/plugin.d.ts","default":"./dist/plugin.js"},"./watcher":{"types":"./dist/watcher.d.ts","default":"./dist/watcher.js"},"./compiler":{"types":"./dist/compiler.d.ts","default":"./dist/compiler.js"},"./semantic":{"types":"./dist/semantic.d.ts","default":"./dist/semantic.js"},"./generator":{"types":"./dist/generator/index.d.ts","default":"./dist/generator/index.js"},"./file-loader":{"types":"./dist/file-loader.d.ts","default":"./dist/file-loader.js"},"./compiler-internal":{"types":"./dist/compiler-internal.d.ts","default":"./dist/compiler-internal.js"}},"gitHead":"44dabcfa67ef7e2875a83dc08e0d61ec582151d1","private":false,"scripts":{"test":"pnpm run build && node --test test/*.test.cjs","build":"pnpm run clean && tsc -p tsconfig.json","clean":"node -e \"require('fs').rmSync('dist', { recursive: true, force: true })\"","prepack":"pnpm run build","release":"node ./node_modules/@agility-luhn/release-config/bin/semantic-release.cjs --config ./release.config.cjs","release:dry-run":"node ./node_modules/@agility-luhn/release-config/bin/semantic-release.cjs --config ./release.config.cjs --dry-run"},"_npmUser":{"name":"agilityti","email":"flavio.oliveira@agilityti.com.br"},"repository":{"url":"git+https://github.com/flaviorafaelo-agility/luhn-workspace.git","type":"git"},"_npmVersion":"11.17.0","description":"Compiler and generators for the LUHN domain DSL.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"zod":"^3.25.76"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.20.0+sha512.cf9998222162dd85864d0a8102e7892e7ba4ceadebbf5a31f9c2fce48dfce317a9c53b9f6464d1ef9042cba2e02ae02a9f7c143a2b438cd93c91840f0192b9dd","devDependencies":{"typescript":"^5.9.3","@types/node":"^25.9.4","@agility-luhn/release-config":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/compiler_2.7.1_1787617165938_0.17966247241793898","host":"s3://npm-registry-packages-npm-production"}},"2.8.0":{"name":"@agility-luhn/compiler","version":"2.8.0","keywords":["luhn","dsl","compiler","codegen"],"license":"MIT","_id":"@agility-luhn/compiler@2.8.0","maintainers":[{"name":"agilityti","email":"flavio.oliveira@agilityti.com.br"}],"homepage":"https://github.com/flaviorafaelo-agility/luhn-workspace#readme","bugs":{"url":"https://github.com/flaviorafaelo-agility/luhn-workspace/issues"},"dist":{"shasum":"36cd408dc4b9e4b41bc500043a175be84cec43f2","tarball":"https://registry.npmjs.org/@agility-luhn/compiler/-/compiler-2.8.0.tgz","fileCount":83,"integrity":"sha512-5glPhYePLigYbmd3ZqbnT2XT4QOMIYaF3yCPCozDfjKkbzOHD1WkxvzDkomcu0hzdWLEgED8eM7XjrKRmSOjLA==","signatures":[{"sig":"MEYCIQCvrL6rZsO75y39vlxODJO5P6kVvNkaf7jRrcyfxn89EgIhAOlZOkD2NOqydUUDDgboBv8nlu6IdZwrIVdcHRFVIA5p","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":812037},"main":"dist/index.js","type":"commonjs","types":"dist/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./ast":{"types":"./dist/ast.d.ts","default":"./dist/ast.js"},"./parser":{"types":"./dist/parser.d.ts","default":"./dist/parser.js"},"./plugin":{"types":"./dist/plugin.d.ts","default":"./dist/plugin.js"},"./watcher":{"types":"./dist/watcher.d.ts","default":"./dist/watcher.js"},"./compiler":{"types":"./dist/compiler.d.ts","default":"./dist/compiler.js"},"./semantic":{"types":"./dist/semantic.d.ts","default":"./dist/semantic.js"},"./generator":{"types":"./dist/generator/index.d.ts","default":"./dist/generator/index.js"},"./file-loader":{"types":"./dist/file-loader.d.ts","default":"./dist/file-loader.js"},"./compiler-internal":{"types":"./dist/compiler-internal.d.ts","default":"./dist/compiler-internal.js"}},"gitHead":"042b095b1da7bddafdcf0cce1487468df4bf55e4","private":false,"scripts":{"test":"pnpm run build && node --test test/*.test.cjs","build":"pnpm run clean && tsc -p tsconfig.json","clean":"node -e \"require('fs').rmSync('dist', { recursive: true, force: true })\"","prepack":"pnpm run build","release":"node ./node_modules/@agility-luhn/release-config/bin/semantic-release.cjs --config ./release.config.cjs","release:dry-run":"node ./node_modules/@agility-luhn/release-config/bin/semantic-release.cjs --config ./release.config.cjs --dry-run"},"_npmUser":{"name":"agilityti","email":"flavio.oliveira@agilityti.com.br"},"repository":{"url":"git+https://github.com/flaviorafaelo-agility/luhn-workspace.git","type":"git"},"_npmVersion":"11.17.0","description":"Compiler and generators for the LUHN domain DSL.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"zod":"^3.25.76"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.20.0+sha512.cf9998222162dd85864d0a8102e7892e7ba4ceadebbf5a31f9c2fce48dfce317a9c53b9f6464d1ef9042cba2e02ae02a9f7c143a2b438cd93c91840f0192b9dd","devDependencies":{"typescript":"^5.9.3","@types/node":"^25.9.4","@agility-luhn/release-config":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/compiler_2.8.0_1787686792004_0.8926817389963351","host":"s3://npm-registry-packages-npm-production"}},"2.9.0":{"name":"@agility-luhn/compiler","version":"2.9.0","keywords":["luhn","dsl","compiler","codegen"],"license":"MIT","_id":"@agility-luhn/compiler@2.9.0","maintainers":[{"name":"agilityti","email":"flavio.oliveira@agilityti.com.br"}],"homepage":"https://github.com/flaviorafaelo-agility/luhn-workspace#readme","bugs":{"url":"https://github.com/flaviorafaelo-agility/luhn-workspace/issues"},"dist":{"shasum":"9a6c33390e683179545ae64b539b4e011e27d448","tarball":"https://registry.npmjs.org/@agility-luhn/compiler/-/compiler-2.9.0.tgz","fileCount":83,"integrity":"sha512-oFiG6EDFQZghw4e0Xxt2dTMIeIXXMi9sCXFT243EW8sp4p0haHc8l3+nitZc6DfAkMkeIGsl4qBCXJQ9tmJshQ==","signatures":[{"sig":"MEYCIQD+UR/++j5Zbh+eiSRJQGkCVjz4e2fc/0TBfHRCrGegSwIhALHVT0lbpx4NfyVTUVQQSoaKBNqk6XCFmlZSlqWdYB/n","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":814336},"main":"dist/index.js","type":"commonjs","types":"dist/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./ast":{"types":"./dist/ast.d.ts","default":"./dist/ast.js"},"./parser":{"types":"./dist/parser.d.ts","default":"./dist/parser.js"},"./plugin":{"types":"./dist/plugin.d.ts","default":"./dist/plugin.js"},"./watcher":{"types":"./dist/watcher.d.ts","default":"./dist/watcher.js"},"./compiler":{"types":"./dist/compiler.d.ts","default":"./dist/compiler.js"},"./semantic":{"types":"./dist/semantic.d.ts","default":"./dist/semantic.js"},"./generator":{"types":"./dist/generator/index.d.ts","default":"./dist/generator/index.js"},"./file-loader":{"types":"./dist/file-loader.d.ts","default":"./dist/file-loader.js"},"./compiler-internal":{"types":"./dist/compiler-internal.d.ts","default":"./dist/compiler-internal.js"}},"gitHead":"8d2f2bc68cd3769ebcd66d2b2cfd587eb3113da4","private":false,"scripts":{"test":"pnpm run build && node --test test/*.test.cjs","build":"pnpm run clean && tsc -p tsconfig.json","clean":"node -e \"require('fs').rmSync('dist', { recursive: true, force: true })\"","prepack":"pnpm run build","release":"node ./node_modules/@agility-luhn/release-config/bin/semantic-release.cjs --config ./release.config.cjs","release:dry-run":"node ./node_modules/@agility-luhn/release-config/bin/semantic-release.cjs --config ./release.config.cjs --dry-run"},"_npmUser":{"name":"agilityti","email":"flavio.oliveira@agilityti.com.br"},"repository":{"url":"git+https://github.com/flaviorafaelo-agility/luhn-workspace.git","type":"git"},"_npmVersion":"11.17.0","description":"Compiler and generators for the LUHN domain DSL.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"zod":"^3.25.76"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.20.0+sha512.cf9998222162dd85864d0a8102e7892e7ba4ceadebbf5a31f9c2fce48dfce317a9c53b9f6464d1ef9042cba2e02ae02a9f7c143a2b438cd93c91840f0192b9dd","devDependencies":{"typescript":"^5.9.3","@types/node":"^25.9.4","@agility-luhn/release-config":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/compiler_2.9.0_1788359405166_0.12677575278221154","host":"s3://npm-registry-packages-npm-production"}},"2.9.1":{"name":"@agility-luhn/compiler","version":"2.9.1","private":false,"description":"Compiler and generators for the LUHN domain DSL.","license":"MIT","type":"commonjs","main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./ast":{"types":"./dist/ast.d.ts","default":"./dist/ast.js"},"./compiler":{"types":"./dist/compiler.d.ts","default":"./dist/compiler.js"},"./compiler-internal":{"types":"./dist/compiler-internal.d.ts","default":"./dist/compiler-internal.js"},"./file-loader":{"types":"./dist/file-loader.d.ts","default":"./dist/file-loader.js"},"./generator":{"types":"./dist/generator/index.d.ts","default":"./dist/generator/index.js"},"./parser":{"types":"./dist/parser.d.ts","default":"./dist/parser.js"},"./plugin":{"types":"./dist/plugin.d.ts","default":"./dist/plugin.js"},"./semantic":{"types":"./dist/semantic.d.ts","default":"./dist/semantic.js"},"./watcher":{"types":"./dist/watcher.d.ts","default":"./dist/watcher.js"}},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+https://github.com/flaviorafaelo-agility/luhn-workspace.git"},"bugs":{"url":"https://github.com/flaviorafaelo-agility/luhn-workspace/issues"},"homepage":"https://github.com/flaviorafaelo-agility/luhn-workspace#readme","keywords":["luhn","dsl","compiler","codegen"],"scripts":{"clean":"node -e \"require('fs').rmSync('dist', { recursive: true, force: true })\"","build":"pnpm run clean && tsc -p tsconfig.json","test":"pnpm run build && node --test test/*.test.cjs","prepack":"pnpm run build","release:dry-run":"node ./node_modules/@agility-luhn/release-config/bin/semantic-release.cjs --config ./release.config.cjs --dry-run","release":"node ./node_modules/@agility-luhn/release-config/bin/semantic-release.cjs --config ./release.config.cjs"},"dependencies":{"zod":"^3.25.76"},"devDependencies":{"@agility-luhn/release-config":"^2.0.0","@types/node":"^25.9.4","typescript":"^5.9.3"},"engines":{"node":">=22"},"packageManager":"pnpm@10.20.0+sha512.cf9998222162dd85864d0a8102e7892e7ba4ceadebbf5a31f9c2fce48dfce317a9c53b9f6464d1ef9042cba2e02ae02a9f7c143a2b438cd93c91840f0192b9dd","gitHead":"83698b05c0ceb698deed151489d34c0f435835b4","_id":"@agility-luhn/compiler@2.9.1","_nodeVersion":"24.19.0","_npmVersion":"11.17.0","dist":{"integrity":"sha512-c4CVKVuZtb69J3OgvIGWm8ETU5/mCNeDuz8cNFe9U85oitb5bkcOfULVay6F4cIRNSBUwvJ+TiX5A7TdX7/K9A==","shasum":"8df59d31feb91694b7dfeff886d87e51368e30fb","tarball":"https://registry.npmjs.org/@agility-luhn/compiler/-/compiler-2.9.1.tgz","fileCount":83,"unpackedSize":814468,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIAuNATwAlhg6FYUX3EX6Rt/axpvPWfgE+UPYUtPSIeg2AiBR6xHrMyh0ICImW81mVCF1WsvWtdWwt99BS/LvttqaxQ=="}]},"_npmUser":{"name":"agilityti","email":"flavio.oliveira@agilityti.com.br"},"directories":{},"maintainers":[{"name":"agilityti","email":"flavio.oliveira@agilityti.com.br"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/compiler_2.9.1_1788372123330_0.5872244859469034"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-07T16:52:05.887Z","modified":"2026-09-02T18:02:03.812Z","1.0.1":"2026-07-07T16:52:06.249Z","1.1.0":"2026-07-07T17:04:47.329Z","1.0.0":"2026-07-07T17:31:25.042Z","1.1.1":"2026-07-08T12:31:55.522Z","1.2.0":"2026-07-08T14:02:45.927Z","1.2.1":"2026-07-08T14:51:24.062Z","1.2.2":"2026-07-08T15:01:29.465Z","1.3.0":"2026-07-08T18:26:12.628Z","2.0.0":"2026-07-14T17:56:13.559Z","2.1.0":"2026-07-16T02:11:21.274Z","2.2.0":"2026-07-18T01:53:54.270Z","2.3.0":"2026-08-18T01:32:19.451Z","2.4.0":"2026-08-18T02:22:28.023Z","2.4.1":"2026-08-18T17:15:46.391Z","2.4.2":"2026-08-18T18:19:19.738Z","2.4.3":"2026-08-19T20:45:09.862Z","2.5.0":"2026-08-22T03:31:03.575Z","2.5.1":"2026-08-22T04:58:54.743Z","2.5.2":"2026-08-22T10:45:52.696Z","2.6.0":"2026-08-23T20:50:04.360Z","2.7.0":"2026-08-24T18:37:03.372Z","2.7.1":"2026-08-25T00:19:26.081Z","2.8.0":"2026-08-25T19:39:52.195Z","2.9.0":"2026-09-02T14:30:05.297Z","2.9.1":"2026-09-02T18:02:03.501Z"},"bugs":{"url":"https://github.com/flaviorafaelo-agility/luhn-workspace/issues"},"license":"MIT","homepage":"https://github.com/flaviorafaelo-agility/luhn-workspace#readme","keywords":["luhn","dsl","compiler","codegen"],"repository":{"type":"git","url":"git+https://github.com/flaviorafaelo-agility/luhn-workspace.git"},"description":"Compiler and generators for the LUHN domain DSL.","maintainers":[{"name":"agilityti","email":"flavio.oliveira@agilityti.com.br"}],"readme":"# @luhn/compiler\n\nCompilador da DSL **LUHN**: lê arquivos `.luhn`, valida semanticamente, expõe AST resolvida e emite artefatos para\nTypeScript (interfaces + Zod + service + controller), SQL (DDL Postgres), OpenAPI 3.1 e um índice canônico de metadados.\n\n> Pacote independente e publicavel no npm. Os artefatos de distribuicao ficam em `dist/` (`main: \"dist/index.js\"`,\n> `types: \"dist/index.d.ts\"`).\n\n---\n\n## 1. Sumário das Capacidades\n\n| Capacidade                                  | Implementação |\n|---------------------------------------------|---------------|\n| Parser de `.luhn`                           | [src/lexer.ts](src/lexer.ts), [src/parser.ts](src/parser.ts) |\n| Análise semântica e resolução de símbolos   | [src/semantic.ts](src/semantic.ts) |\n| Loader de arquivos por `application`+module | [src/file-loader.ts](src/file-loader.ts) |\n| API principal (`compile`, tipos)            | [src/compiler.ts](src/compiler.ts), [src/index.ts](src/index.ts) |\n| Mini-linguagem `implementation script`      | [src/script.ts](src/script.ts) |\n| Watcher com debounce                        | [src/watcher.ts](src/watcher.ts) |\n| Geração TypeScript (model/service/controller/Zod) | [src/generator/typescript-generator.ts](src/generator/typescript-generator.ts) |\n| Geração SQL (Postgres)                      | [src/generator/sql-generator.ts](src/generator/sql-generator.ts) |\n| Geração de schema canônico do banco         | [src/generator/database-schema-generator.ts](src/generator/database-schema-generator.ts) |a\n| Geração OpenAPI 3.1                         | [src/generator/openapi-generator.ts](src/generator/openapi-generator.ts) |\n| Geração de metadata leve                    | [src/generator/metadata-generator.ts](src/generator/metadata-generator.ts) |\n| Mapa canônico (introspecção em runtime)     | [src/generator/canonical-map-generator.ts](src/generator/canonical-map-generator.ts) |\n| Validadores/fills e máscaras Delphi em type/campo | [src/parser.ts](src/parser.ts), [src/semantic.ts](src/semantic.ts), [src/generator/canonical-map-generator.ts](src/generator/canonical-map-generator.ts) |\n| Configuration declarativo (`configuration`) com AST dedicada e geração orientada a business | [src/ast.ts](src/ast.ts), [src/parser.ts](src/parser.ts), [src/semantic.ts](src/semantic.ts) |\n| Validação Zod isolada de controller         | [src/controller-zod.ts](src/controller-zod.ts) |\n| Protocolo de plugins (extensões em build)   | [src/plugin.ts](src/plugin.ts) |\n\n---\n\n## 2. API Pública\n\n```ts\nimport { compile, CompileOptions, CompileResult } from '@luhn/compiler';\n\nconst result = await compile('./luhn', {\n  setup,            // LuhnGenerationSetup (multitenancy, runtime importPath, driver SQL)\n  typescript: true, // gera *.interface.ts, *.schema.ts, *.model.ts, *.handle.ts\n  sql: true,        // gera generated/database/schema.sql por modulo\n  openapi: true,    // gera generated/openapi/openapi.json por modulo\n  metadata: true,   // gera generated/metadata/metadata.json por modulo\n  outputDir: './src/luhn'\n});\n\nif (result.diagnostics.some(d => d.severity === 'error')) {\n  for (const d of result.diagnostics) console.error(d.code, d.message);\n}\n```\n\n`CompileResult` expõe:\n\n- `program` — AST bruta.\n- `resolved` — AST após `resolveProgram` (símbolos resolvidos, tipos normalizados, mixins aplicados).\n- `diagnostics` — `{ code, severity, message, span: { filePath, startLine, startColumn } }[]`.\n- `artifacts` — mapa `path -> conteúdo` de todos os arquivos emitidos antes da gravação.\n\nDiretivas auxiliares (re-exportadas por [`src/index.ts`](src/index.ts)): `parseProgram`, `resolveProgram`,\n`loadApplicationInputs`, `createWatcher`, `compileScript`, geradores individuais e tipos\n(`Program`, `ResolvedProgram`, `LuhnGenerationSetup`, `Diagnostic`, `Span`).\n\n---\n\n## 3. Linguagem LUHN (estado atual)\n\n### 3.1 Declarações top-level\n\n`application`, `module`, `import`, `enum`, `type`, `record`, `business`, `configuration`, `mixin`, `service`, `library`.\n\nRegras estruturais aplicadas pelo semantic:\n\n- cada entrada da aplicacao hospedeira ou de plugin pertence a uma `application`.\n- cada `module` pertence a exatamente uma `application`; duas applications nao podem compartilhar modulo ou schema normalizado.\n- toda declaração precisa pertencer a um `module`.\n- `application.modules: [...]` deve bater com os `module <nome>` declarados (mão dupla).\n- ciclo entre módulos é erro.\n- `import` precisa resolver para símbolo ou módulo existente.\n- import entre módulos exige `depends on <application>` no módulo consumidor.\n- import entre applications exige também `exported true` no módulo provedor.\n- referências por FQCN em campo/parametro/mixin target são proibidas — exige `import` + nome curto.\n- mixin com colisão de campos → erro.\n- `default` precisa ser literal compatível com o tipo (enum aceita só membro válido).\n- `service implementation script` exige corpo.\n\n### 3.1.1 Extensão entre applications\n\nTipos que formam contrato público devem ser declarados em um módulo exportado. Tipos globais da application\nnão são uma API entre plugins.\n\n```luhn\napplication reguarda\n  version \"2.0.0\"\n  module catalogo\n    owner true\n    exported true\n\napplication fiscal\n  version \"1.0.0\"\n  module tributacao\n    owner true\n    depends on reguarda\n```\n\nO módulo consumidor pode importar todo o módulo público pelo namespace `application.modulo`. Os tipos e\nbusinesses desse módulo ficam disponíveis por nome curto:\n\n```luhn\nimport reguarda.catalogo\n\nmixin produto\n  ncm: ncm \"NCM\"\n```\n\nPara evitar colisões ou limitar o contrato, use o import seletivo `application.modulo.simbolo` com alias. O\nmesmo mecanismo vale para tipos em campos e para o alvo de `mixin`:\n\n```luhn\nimport reguarda.catalogo.produto as Produto\nimport reguarda.catalogo.origemProduto as OrigemProduto\n\ntype ncm string 8\n\nmixin Produto\n  ncm: ncm \"NCM\"\n  origemFiscal: OrigemProduto \"Origem fiscal\"\n```\n\n`depends on` sempre usa a application provedora (`depends on reguarda`). Imports sempre declaram ao menos\n`application.modulo`; a forma `modulo.simbolo` não é aceita.\n\nPara integração opcional, mantenha o núcleo independente e publique um plugin adaptador que dependa das duas\naplicações. Um `mixin` nunca é aplicado silenciosamente quando seu alvo está ausente.\n\n### 3.1.2 Configuration (`configuration`)\n\n`configuration` e uma declaracao de alto nivel para configuracoes operacionais vinculadas a um `business`,\nmas no backend de geracao reaproveita a mesma semantica de persistencia/CRUD de `business`.\n\nDiretrizes de uso:\n\n- Nome no formato `business.nomeConfig` (sem FQCN completo no corpo, resolucao por `import`).\n- `@scope` segue as regras existentes (`global`, `conta`, `unidade`) e aproveita o setup de multitenancy.\n- O AST preserva `kind = config` para diferenciar no semantic/geradores.\n- A estrategia de persistencia pode ser especializada por gerador (ex.: tabela unificada de configuracoes por modulo)\n  sem perder o contrato de CRUD/OData do runtime.\n\nExemplo:\n\n```luhn\nimport exchange.message\n\n@summary \"Roteamento por tipo de mensagem\"\n@scope conta\nconfiguration message.routeByType\n  messageType: notificationCode\n  channel: channel\n  provider: provider\n  active: boolean = true\n  priority: smallint = 0\n```\n\n### 3.2 Tipos primitivos reconhecidos\n\n`uuid`, `string`, `text`, `number`, `smallint`, `float`, `money`, `boolean`, `date`, `timestamp`, `json`, `xml`,\n`url`, `image`, `crypto`, `vector`, `file`, `storage`, `any`.\n\nO resolver normaliza primitivos em TS (`string`/`number`/`boolean`/`unknown`) e gera os tipos físicos\napropriados no SQL e no OpenAPI.\n\n### 3.3 Campos e parâmetros\n\n```luhn\nnome?: tipo[] = valor \"Descricao\" preferred\n```\n\n- `?` opcional.\n- `[]` array (gera `child_table` no SQL salvo embedded_record).\n- default literal (string, number, boolean, ref a enum).\n- string final = descrição de exibição.\n- `preferred` marca o campo \"principal\" para apresentação.\n- `validators.<funcao>` associa validador declarativo ao `type` alias ou ao campo.\n- `fills.<funcao>(campo1,campo2,...)` associa preenchimento automático declarativo.\n- `= (expressao)` marca o campo como calculado.\n- campos calculados aceitam aritmética `+ - * /`, caminho de campo (`a.b`) e funções `sum`, `avg`, `min`, `max`, `coalesce`.\n- o valor calculado é numérico no runtime (entrada textual numérica é convertida; vazio/null vira `0`).\n- string com tokens Delphi (`0`, `9`, `L`, `l`, `A`, `a`, `C`, `c`, `#`) define máscara de input.\n- expressão booleana entre parênteses no fim do campo controla visibilidade condicional.\n\nExemplos:\n\n```luhn\ntype cpf string 11 validators.cpf\n\nrecord pessoa\n  documento: string 20 validators.cnpj\n\nrecord endereco\n  cep: string 9 fills.cep(logradouro,bairro,cidade,estado) \"00000-000\"\n\nrecord item\n  quantidade: number\n  preco: money\n  total: money = (preco * quantidade)\n\nbusiness comercial.saida \"Saidas\"\n  produtos: item[]\n  total: money = (sum(produtos.total))\n\nrecord cliente\n  tipoPessoa: tipoPessoa\n  cpf?: cpf (tipoPessoa == FISICA)\n  cnpj?: cnpj (tipoPessoa == JURIDICA)\n```\n\nPrecedência de validação:\n\n- se o campo declara `validators.<funcao>`, ele prevalece.\n- se o campo não declara, herda validação do `type` alias (quando houver).\n\nPrecedência de fill:\n\n- se o campo declara `fills.<funcao>(...)`, ele prevalece.\n- se o campo não declara, herda fill do `type` alias (quando houver).\n\n#### Campos calculados: funções e BNF\n\nFunções suportadas:\n\n- `sum(caminho)` soma os valores resolvidos no caminho (inclui coleção).\n- `avg(caminho)` média aritmética dos valores resolvidos.\n- `min(caminho)` menor valor numérico do caminho.\n- `max(caminho)` maior valor numérico do caminho.\n- `coalesce(a, b, c, ...)` retorna o primeiro argumento não nulo/vazio.\n\nBNF específica de expressão calculada:\n\n```bnf\n<calculated-clause> ::= \"=\" \"(\" <calc-expr> \")\"\n\n<calc-expr> ::= <calc-term> ((\"+\" | \"-\") <calc-term>)*\n<calc-term> ::= <calc-unary> ((\"*\" | \"/\") <calc-unary>)*\n<calc-unary> ::= (\"+\" | \"-\") <calc-unary> | <calc-primary>\n\n<calc-primary> ::= NUMBER\n                 | <path>\n                 | \"(\" <calc-expr> \")\"\n                 | <calc-func>\n\n<calc-func> ::= (\"sum\" | \"avg\" | \"min\" | \"max\") \"(\" <path> \")\"\n              | \"coalesce\" \"(\" <calc-args>? \")\"\n\n<calc-args> ::= <calc-expr> (\",\" <calc-expr>)*\n<path> ::= IDENT (\".\" IDENT)*\n```\n\n### 3.4 Business e records\n\n```luhn\n@scope conta\nbusiness financeiro.contaReceber \"Contas a Receber\"\n  numero: string\n  cliente: cliente\n```\n\n- `business` recebe campo sintético `id` (UUID, role `primary_key`).\n- Records 1-nível sem arrays são candidatos a `embedded_record` (achatado em colunas prefixadas no pai).\n- Records com arrays caem para `TEXT JSON`.\n- Arrays de records → tabela filha com `parent_id` + `item_index`.\n\n### 3.5 Services\n\n```luhn\nservice modulo.nome \"Label\"\n  description \"...\"\n  input\n    campo: tipo\n  output\n    campo: tipo\n  throws\n    CODIGO \"Mensagem\"\n  implementation code      # handler TS escrito a mão\n  # ou\n  implementation script    # mini-linguagem transpilada\n    ...\n```\n\n### 3.6 Libraries\n\n```luhn\nlibrary modulo.nome \"Label\"\n  function nome\n    input\n    output\n```\n\n### 3.7 Validadores e fills declarativos\n\nO parser aceita `validators.<funcao>` como sufixo de `type` alias escalar e de campo.\nTambém aceita `fills.<funcao>(campo1,campo2,...)` como sufixo de `type` alias escalar e de campo.\n\nO semantic resolve a referência para uma `library` e função reais e valida:\n\n- library inexistente (`SEM019`)\n- função inexistente na library (`SEM020`)\n- ambiguidade de resolução da library (`SEM021`)\n\nO semantic resolve referências de fill e valida:\n\n- library inexistente (`SEM022`)\n- função inexistente na library (`SEM023`)\n- ambiguidade de resolução da library (`SEM024`)\n\nApós resolução, o compilador propaga para o modelo resolvido:\n\n```ts\nvalidate?: { library: string; fn: string }\n\nfill?: { library: string; fn: string; targets: readonly string[] }\n\nmask?: string\n\nvisibleWhen?: string\n```\n\nEssa metadata segue para o `objects-map.json` e é consumida no runtime/UI para:\n\n- validação assíncrona no client (blur);\n- preenchimento automático no client (blur);\n- validação server-side no CRUD antes da persistência.\n\nDiagrama do fluxo:\n\n```mermaid\nflowchart LR\n  A[LUHN: type/campo com validators.funcao e fills.funcao] --> B[Parser]\n  B --> C[Semantic resolve library + funcao]\n  C --> D{Valido?}\n  D -- nao --> E[Diagnostics SEM019-SEM024]\n  D -- sim --> F[ResolvedField/ResolvedType com validate fill mask]\n  F --> G[CanonicalMapGenerator]\n  G --> H[objects-map.json com field.validate field.fill field.mask field.visibleWhen]\n  H --> I[Runtime Describe]\n  I --> J[UI: async validator e autofill no blur]\n  H --> K[Runtime CRUD create/update/patch]\n```\n\n### 3.8 Máscaras no formato Delphi\n\nQuando o parser encontra um sufixo `STRING` contendo tokens de máscara Delphi,\no valor é tratado como máscara do campo/tipo (sem `@mask` e sem keyword extra).\n\nExemplo:\n\n```luhn\ntype cpf string 14 validators.cpf \"000.000.000-00\"\n\nrecord endereco\n  cep: string 9 fills.cep(logradouro,bairro,cidade,estado) \"00000-000\"\n```\n\nTokens suportados:\n\n- `9`: número opcional\n- `0`: número obrigatório\n- `L`: letra obrigatória\n- `l`: letra opcional\n- `A`: letra ou número\n- `a`: letra ou número opcional\n- `C`: qualquer caractere\n- `c`: qualquer caractere opcional\n- `#`: número com sinal (`+`/`-`)\n- literais fixos: `:`, `/`, `-`, `.` (e demais símbolos do template)\n\nDiagrama do fluxo de máscara:\n\n```mermaid\nflowchart LR\n  A[Campo com string de mascara Delphi] --> B[Parser detecta mask template]\n  B --> C[Semantic aplica heranca de alias quando necessario]\n  C --> D[ResolvedField ou ResolvedType com mask]\n  D --> E[CanonicalMapGenerator]\n  E --> F[field.mask no objects-map]\n  F --> G[Runtime describe]\n  G --> H[UI aplica formatacao no input]\n```\n\n### 3.9 Mini-linguagem `implementation script`\n\nStatements: `let`, `return`, `throw CODIGO`, `log`, `call modulo.library.funcao [with expr]`,\n`if` (inline), `for ... from ... to ...` (inline ou bloco), `push array expr`, expression statement.\n\nExpressões: literais, acesso qualificado `a.b.c`, métodos `obj.metodo(arg)`, arrays e object literals\n(suportam multiline via balanceamento), operadores aritméticos `+ - * /`, comparação `== != < <= > >=`,\nlógicos `and or not`, `call` como expressão (transpilada com `await`). Comentários `//` e `#`.\n\nValidações: `throw CODIGO` só aceita códigos declarados no bloco `throws`. Transpila para TypeScript\nchamando `defineService(...)` do runtime.\n\n### 3.10 Gramática (BNF)\n\nBNF simplificada da linguagem LUHN (baseada em `src/lexer.ts` + `src/parser.ts`).\n\nObservações léxicas relevantes:\n\n- blocos usam `INDENT`/`DEDENT` (não usa `{}`);\n- comentários de linha: `// ...` e `# ...`;\n- strings usam aspas duplas;\n- `ScriptBody` é token especial capturado após `implementation script`.\n\n```bnf\n<program> ::= <statement>* EOF\n\n<statement> ::= <annotations>? (\n    <application>\n  | <import>\n  | <enum>\n  | <type-alias>\n  | <record>\n  | <business>\n  | <mixin>\n  | <service>\n  | <library>\n)\n\n<annotations> ::= <annotation>+\n<annotation> ::= \"@\" <qualified-name> <annotation-value>?\n<annotation-value> ::= STRING | NUMBER | BOOLEAN | <qualified-name>\n\n<application> ::= \"application\" IDENT <application-block>?\n<application-block> ::= INDENT <application-item>* DEDENT\n<application-item> ::= \n    \"title\" STRING\n  | \"description\" STRING\n  | \"version\" STRING\n  | \"database\" IDENT\n  | \"types\" STRING\n  | \"modules\" <qualified-name-list>\n  | <application-module-decl>\n\n<application-module-decl> ::= \"module\" <qualified-name> <module-block>?\n<module-block> ::= INDENT <module-item>* DEDENT\n<module-item> ::= \n    \"title\" STRING\n  | \"owner\" BOOLEAN\n  | \"exported\" BOOLEAN\n  | \"enabled\" BOOLEAN\n  | \"types\" STRING\n  | \"depends\" \"on\" <qualified-name-list>\n\n<import> ::= \"import\" <qualified-name> (\"as\" IDENT)?\n\n<enum> ::= \"enum\" IDENT INDENT <enum-entry>+ DEDENT\n<enum-entry> ::= NUMBER \":\" IDENT\n\n<type-alias> ::= \"type\" IDENT (\n    INDENT <field>* DEDENT\n  | <type-ref> NUMBER? <type-alias-suffix>*\n)\n<type-alias-suffix> ::= \"preferred\" | <validator-ref> | <fill-ref> | <mask-template>\n\n<record> ::= \"record\" IDENT STRING? <fields-block>?\n<business> ::= \"business\" IDENT STRING? <fields-block>?\n<mixin> ::= \"mixin\" <qualified-name> <fields-block>?\n<fields-block> ::= INDENT <field>* DEDENT\n\n<service> ::= \"service\" <service-name> STRING? <service-block>?\n<service-name> ::= IDENT | IDENT \".\" IDENT\n<service-block> ::= INDENT <service-item>* DEDENT\n<service-item> ::= \n    \"describe\"\n  | \"description\" STRING\n  | \"input\" <parameters-block>\n  | \"output\" <parameters-block>\n  | \"throws\" <throws-block>\n  | \"implementation\" (\"code\" | \"script\" ScriptBody?)\n\n<library> ::= \"library\" IDENT STRING? <library-block>?\n<library-block> ::= INDENT <library-item>* DEDENT\n<library-item> ::= \"description\" STRING | <library-function>\n\n<library-function> ::= <annotations>? \"function\" IDENT <library-function-block>?\n<library-function-block> ::= INDENT <library-function-item>* DEDENT\n<library-function-item> ::= \n    \"description\" STRING\n  | \"input\" <parameters-block>\n  | \"output\" <parameters-block>\n\n<parameters-block> ::= INDENT <parameter>* DEDENT\n<parameter> ::= <annotations>? IDENT \"?\"? \":\" <type-ref> <string-size>? <array-suffix>? <default-clause>?\n\n<throws-block> ::= INDENT <throw-item>* DEDENT\n<throw-item> ::= IDENT STRING?\n\n<field> ::= <annotations>? IDENT \"?\"? \":\" <type-ref> <array-suffix>? <string-size>? (<default-clause> | <calculated-clause>)? <field-suffix>*\n<field-suffix> ::= STRING | \"preferred\" | <validator-ref> | <fill-ref> | <mask-template> | <visibility-expr>\n\n<validator-ref> ::= \"validators\" \".\" IDENT\n<fill-ref> ::= \"fills\" \".\" IDENT \"(\" <identifier-list> \")\"\n<mask-template> ::= STRING  ; quando STRING contiver tokens Delphi de máscara\n<visibility-expr> ::= \"(\" <boolean-expr> \")\"\n\n<boolean-expr> ::= <boolean-term> (\"or\" <boolean-term>)*\n<boolean-term> ::= <boolean-factor> (\"and\" <boolean-factor>)*\n<boolean-factor> ::= \"not\" <boolean-factor> | \"(\" <boolean-expr> \")\" | <comparison>\n<comparison> ::= IDENT \"==\" IDENT | IDENT \"==\" \"true\" | IDENT \"==\" \"false\" | IDENT\n\n<type-ref> ::= IDENT (\".\" IDENT)*\n<qualified-name> ::= IDENT (\".\" IDENT)*\n<qualified-name-list> ::= <qualified-name> (\",\" <qualified-name>)*\n<identifier-list> ::= IDENT (\",\" IDENT)*\n\n<array-suffix> ::= \"[\" \"]\"\n<string-size> ::= NUMBER\n<default-clause> ::= \"=\" <literal>\n<calculated-clause> ::= \"=\" \"(\" <calc-expr> \")\"\n<literal> ::= STRING | NUMBER | BOOLEAN | <qualified-name>\n\n<calc-expr> ::= <calc-term> ((\"+\" | \"-\") <calc-term>)*\n<calc-term> ::= <calc-unary> ((\"*\" | \"/\") <calc-unary>)*\n<calc-unary> ::= (\"+\" | \"-\") <calc-unary> | <calc-primary>\n<calc-primary> ::= NUMBER | <qualified-name> | \"(\" <calc-expr> \")\" | <calc-func>\n<calc-func> ::= (\"sum\" | \"avg\" | \"min\" | \"max\") \"(\" <qualified-name> \")\"\n              | \"coalesce\" \"(\" (<calc-expr> (\",\" <calc-expr>)*)? \")\"\n\nBOOLEAN ::= \"true\" | \"false\"\nIDENT ::= /[A-Za-z_][A-Za-z0-9_]*/\nNUMBER ::= /-?[0-9]+(\\.[0-9]+)?/\n```\n\n#### Recorte BNF específico de fills e máscara\n\nPara deixar o recurso de autofill explícito na gramática, este é o recorte mínimo:\n\n```bnf\n<type-alias-suffix> ::= \"preferred\" | <validator-ref> | <fill-ref> | <mask-template>\n<field-suffix> ::= STRING | \"preferred\" | <validator-ref> | <fill-ref> | <mask-template> | <visibility-expr>\n\n<fill-ref> ::= \"fills\" \".\" IDENT \"(\" <fill-target-list> \")\"\n<fill-target-list> ::= IDENT (\",\" IDENT)*\n<mask-template> ::= STRING ; tokens Delphi: 9 0 L l A a C c #\n<visibility-expr> ::= \"(\" <boolean-expr> \")\"\n```\n\nDiagrama dedicado do fluxo de fills no compilador:\n\n```mermaid\nflowchart LR\n  A[DSL: fills.funcao targets] --> B[Parser reconhece fill-ref]\n  B --> C[Semantic resolve library e funcao]\n  C --> D{Referencia valida?}\n  D -- nao --> E[SEM022 SEM023 SEM024]\n  D -- sim --> F[ResolvedField ou ResolvedType com fill]\n  F --> G[CanonicalMapGenerator]\n  G --> H[field.fill com library fn targets]\n```\n\nDiagrama estrutural da gramática:\n\n```mermaid\nflowchart TD\n  P[program] --> S[statement*]\n\n  S --> A[application]\n  S --> I[import]\n  S --> E[enum]\n  S --> T[type-alias]\n  S --> R[record]\n  S --> B[business]\n  S --> M[mixin]\n  S --> SV[service]\n  S --> L[library]\n\n  T --> TR[type-ref]\n  T --> F[field*]\n  T --> TS[type-alias-suffix*]\n  TS --> PREF[preferred]\n  TS --> VR[validator-ref]\n\n  R --> FB[fields-block]\n  B --> FB\n  M --> FB\n  FB --> F\n\n  F --> TR\n  F --> ARR[array-suffix?]\n  F --> SZ[string-size?]\n  F --> DEF[default-clause?]\n  F --> FS[field-suffix*]\n  FS --> DISP[display string]\n  FS --> PREF\n  FS --> VR\n  FS --> FR[fill-ref]\n\n  SV --> SB[service-block]\n  SB --> DESC[describe?]\n  SB --> SD[description?]\n  SB --> IN[input parameters]\n  SB --> OUT[output parameters]\n  SB --> THR[throws]\n  SB --> IMPL[implementation code ou script]\n\n  L --> LB[library-block]\n  LB --> LD[description?]\n  LB --> LF[library-function*]\n  LF --> IN\n  LF --> OUT\n\n  VR --> VLIB[validators]\n  VR --> VFN[function name]\n  FR --> FLIB[fills]\n  FR --> FFN[function name]\n  FR --> FTG[target fields]\n```\n\nPrimitivos reconhecidos em `<type-ref>` (quando não resolvidos como tipo nomeado):\n\n- `uuid`, `string`, `text`, `number`, `smallint`, `float`, `money`, `boolean`, `date`, `timestamp`, `json`, `xml`, `url`, `image`, `crypto`, `vector`, `file`, `storage`, `any`.\n\n---\n\n## 4. Geradores\n\n### 4.1 TypeScriptGenerator\n\nPor entidade ou business:\n\n- `*.interface.ts` — interface TS pura.\n- `*.enum.ts` — uniões de string.\n- `*.schema.ts` — schema **Zod** (validação de entrada).\n- `*.model.ts` — DTO + helpers de conversão snake_case ↔ camelCase.\n\n> O CRUD HTTP genérico (insert/update/delete/get/list/`query` OData) vive 100% no\n> runtime, em `packages/runtime/src/http`. Personalizações por entidade são\n> feitas via hooks `before`/`after` registrados em `createLuhnServer({ hooks })`\n> ou pelo `PluginInstallContext.registerHook(...)`. Não se gera mais\n> `*.service.ts` nem `*.controller.ts`.\n\nPor service:\n\n- `services/<service>.handle.ts` — descritor (`defineService`) tipado pelo input/output declarados.\n- `services/<service>.script.ts` — quando `implementation script`, contém o handler transpilado.\n\nPor library:\n\n- `libraries/<library>.handle.ts`.\n\nBarrels:\n\n- `services-scripts.ts` — importa todos os `.script.ts` para auto-registro no boot.\n\nRecursos adicionais:\n\n- síntese de relações de multitenancy via `setup.multitenancy`.\n- conversão automática de relações em colunas `*_id` no service SQL.\n- ordenação determinística dos campos (`id`, tenancy, demais alfabéticos).\n- `exactOptionalPropertyTypes` respeitado: opcionais saem com `| undefined` explícito.\n\n### 4.2 SqlGenerator (Postgres)\n\nPor módulo, emite `generated/database/schema.sql`:\n\n- usa o schema da application proprietaria do modulo (por exemplo, `billingApp` vira `billing_app`).\n- `CREATE TABLE` por entidade/business.\n- FKs para relações detectadas.\n- Tabelas filhas para arrays (records ou escalares) com `parent_id` + `item_index`.\n- Defaults SQL para literais.\n- `CHECK` para enums.\n- Índices automáticos em FKs.\n- Flatten de aliases estruturados em colunas.\n- Computed columns quando `calculated` + expressão suportada.\n- `gen_random_uuid()` aplicado **apenas** em colunas com `role: 'primary_key'`; `relation_key` em PK\n  composta (ex.: `pedido_venda_itens.pedido_venda_id`) **não** recebe default.\n\n**Estratégias de armazenamento (`storageStrategy`):**\n\n| Estratégia        | Quando                                     | Resultado físico |\n|-------------------|--------------------------------------------|------------------|\n| `column`          | escalar simples                            | coluna direta    |\n| `relation_fk`     | referência a outra entidade                | `*_id` + FK      |\n| `child_table`     | array de records ou escalares              | tabela filha     |\n| `embedded_record` | record 1-nível sem arrays                  | colunas prefixadas (`endereco_logradouro`, `endereco_cidade`, ...) |\n\nDrivers configuráveis: `'postgres'` (completo) e fallback `'generic'`.\n\n### 4.3 OpenApiGenerator\n\nPor módulo, emite `generated/openapi/openapi.json` com:\n\n- schemas de entities, enums, records e aliases estruturados.\n- paths CRUD por recurso (GET list, GET id, POST, PUT, PATCH, DELETE).\n- paths de services (`POST /api/<modulo>/<service>`).\n- componentes de input/output de service.\n- extensões `x-luhn-service`, `x-luhn-application`, `x-luhn-module`.\n- tags por entidade e por grupo de services do módulo.\n- exemplos OData prontos por entidade (com base em campos reais).\n\n### 4.4 SchemaGenerator e CanonicalMap\n\n- `DatabaseSchemaGenerator` produz um JSON canônico das tabelas (consumido por `@agility-solucoes/luhn-database`\n  no diff/migrate).\n- o metadata de banco `2.0` registra application/schema, ownership de modulo e tipo fisico de enum explicitamente.\n- entidades, views, enums e tabelas auxiliares usam o schema da application; FKs podem atravessar schemas.\n- metadata `1.1` nao e compativel. Ao atualizar, remova os artefatos antigos e recrie o banco antes do proximo sync.\n- `CanonicalMapGenerator` emite `objects-map.json` por módulo: mapa de FQCN → metadados resolvidos. É lido em\n  runtime para introspecção (MCP, OpenAPI servido, etc.).\n- campos com validador são emitidos com `field.validate = { library, fn }` no mapa canônico.\n- campos com autofill são emitidos com `field.fill = { library, fn, targets }` no mapa canônico.\n- campos com máscara são emitidos com `field.mask = \"template\"` no mapa canônico.\n\n### 4.5 MetadataGenerator\n\nJSON leve por módulo (`application`, `module`, lista de entities com campos básicos). Usado por dashboards.\n\n---\n\n## 5. Loader de Arquivos\n\n`loadApplicationInputs(dir)`:\n\n- procura arquivo com `application` no nome (fallback: primeiro `.luhn` da raiz).\n- lista recursivamente todos os `.luhn`.\n- extrai módulos do `application` por `modules: [...]` **ou** por declarações `module <nome>`.\n- filtra arquivos por nome de módulo no path.\n- injeta automaticamente `module <pasta-raiz>` em arquivos sem declaração explícita.\n\n---\n\n## 6. Watcher\n\n`createWatcher({ dir, onRecompile, ... })`:\n\n- observa `.luhn` recursivamente.\n- debounce 100ms.\n- recompila e dispara `onRecompile(result)`.\n- em erro de FS/compile, devolve diagnostic `WATCH`.\n\nUsado pelo `server-playground` em `--watch` para recompilar + reregistrar services sem reiniciar o servidor.\n\n---\n\n## 7. Setup de Geração\n\n`LuhnGenerationSetup` é o ponto de extensão do consumidor:\n\n```ts\nconst setup: LuhnGenerationSetup = {\n  database: {\n    driver: 'postgres' // ou 'generic'\n  },\n  runtime: {\n    importPath: '@agility-solucoes/luhn-runtime' // ou './src' em dev\n  },\n  multitenancy: {\n    // opcional: ambos os blocos são injetados conforme @scope da business\n    conta: { fieldName: 'conta', typeFqcn: 'plataforma.conta', keyFieldName: 'id' },\n    unidade: { fieldName: 'unidade', typeFqcn: 'plataforma.unidade', keyFieldName: 'id' }\n  }\n};\n```\n\n### Escopo das `business`\n\nO conceito antigo de `entity` foi **removido**. Toda declaração de domínio é uma `business`, e o escopo de multitenancy é declarado por anotação:\n\n| Anotação            | Comportamento                                                                    |\n| ------------------- | -------------------------------------------------------------------------------- |\n| `@scope unidade`    | Padrão. Injeta `conta` **e** `unidade` (entidade isolada por unidade da conta).  |\n| `@scope conta`      | Injeta apenas `conta` (compartilhado entre unidades da mesma conta).             |\n| `@scope global`     | Não injeta nada (ex.: `plataforma.conta`, entidades do IAM).                     |\n\nExemplo:\n\n```luhn\n@scope conta\nbusiness cliente \"Clientes\"\n  nome: string 150\n  documento: string 20\n```\n\n> **Importante:** o pacote IAM **não** define multitenancy própria — todas as suas businesses usam `@scope global`. Quem decide o setup é o app hospedeiro.\n\n---\n\n## 8. Protocolo de Plugins do Compilador\n\n[`src/plugin.ts`](src/plugin.ts) define a forma como pacotes externos (ex.: `luhn-iam`) podem contribuir com\ndiretórios `.luhn` adicionais para a compilação do app. O runtime, ao iniciar o servidor, agrega os `luhnDirs`\nde todos os plugins ativos e os passa ao compilador como inputs combinados.\n\nCada plugin conectado e uma application LUHN independente. O plugin declara `applicationName`, inclui um\n`application.luhn` com seus modulos e recebe um schema PostgreSQL derivado desse nome. A application hospedeira\ncontinua proprietaria apenas dos seus próprios modulos.\n\n---\n\n## 9. Diagnósticos\n\nCada `Diagnostic` traz:\n\n```ts\n{\n  code: string;        // ex.: 'SEM001', 'PARSE042', 'TS_GEN'\n  severity: 'error' | 'warning';\n  message: string;\n  span: { filePath: string; startLine: number; startColumn: number; endLine: number; endColumn: number };\n}\n```\n\nCategorias principais: `LEX`, `PARSE`, `SEM` (semantic), `TS_GEN`, `SQL_GEN`, `OPENAPI_GEN`, `SCRIPT`, `WATCH`.\n\n---\n\n## 10. Scripts de Build\n\n```bash\npnpm --filter @luhn/compiler build   # tsc -p tsconfig.json\n```\n\n---\n\n## 11. Fluxo Completo do Compilador LUHN\n\nEsta secao resume o pipeline real do compilador, da leitura dos arquivos `.luhn` ate a geracao dos artefatos consumidos pelo runtime, pelo banco e pelas UIs.\n\n### 11.1 Visao de ponta a ponta\n\nPipeline executado por `compile(dir, options)`:\n\n1. `loadApplicationInputs(dir)` localiza o arquivo de `application`, descobre os modulos declarados, carrega os arquivos `.luhn` relevantes e injeta entradas auxiliares de `types` quando declaradas.\n2. `parseProgram(inputs)` tokeniza cada arquivo com o lexer, constroi a AST (`ProgramNode`) e acumula diagnosticos lexicos e sintaticos.\n3. `resolveProgram(program)` executa a analise semantica: resolve simbolos, imports, aliases, enum refs, records, relations, mixins, escopos, validadores, fills, mascaras e expressoes calculadas.\n4. `compileInternal(...)` monta o `GenerationContext` com `resolved`, `diagnostics` consolidados e `setup` opcional.\n5. Os geradores habilitados percorrem o `resolved` e emitem artefatos em memoria.\n6. O `CompileResult` retorna `program`, `resolved`, `diagnostics` e `artifacts`; a gravacao fisica dos arquivos e responsabilidade da camada consumidora do compilador.\n\nArquivos principais envolvidos no fluxo:\n\n- `src/compiler.ts` - ponto de entrada assíncrono.\n- `src/file-loader.ts` - descoberta e carga dos arquivos da aplicacao.\n- `src/lexer.ts` - tokenizacao e controle de `INDENT`/`DEDENT`.\n- `src/parser.ts` - AST e regras sintaticas.\n- `src/semantic.ts` - resolucao semantica e validacoes estruturais.\n- `src/compiler-internal.ts` - orquestracao da compilacao e dos geradores.\n- `src/generator/*` - emissao dos artefatos finais.\n\n### 11.2 Fases detalhadas\n\n#### Fase 1. Descoberta e carga de arquivos\n\nResponsavel: `loadApplicationInputs(dir)`.\n\nO loader:\n\n- encontra o arquivo principal da aplicacao;\n- extrai os modulos declarados em `application.modules` ou nos blocos `module`;\n- lista recursivamente todos os `.luhn` do diretorio;\n- filtra apenas os arquivos relevantes para os modulos ativos;\n- carrega arquivos auxiliares declarados em `types \"...\"`;\n- devolve `SourceFileInput[]` com `path` relativo e `text` UTF-8.\n\nEssa fase define o universo de entrada da compilacao. Se um arquivo nao entrar aqui, ele nao participa da AST nem da geracao.\n\n#### Fase 2. Analise lexica\n\nResponsavel: `tokenize(filePath, source)` em `src/lexer.ts`.\n\nO lexer:\n\n- normaliza quebras de linha;\n- converte texto em tokens (`Identifier`, `String`, `Number`, palavras reservadas e simbolos);\n- controla blocos por indentacao com tokens `INDENT` e `DEDENT`;\n- captura `ScriptBody` apos `implementation script`;\n- gera diagnosticos como string nao terminada, caractere inesperado e uso invalido de `{`/`}`.\n\nResultado da fase:\n\n- stream de tokens por arquivo;\n- diagnosticos `LEX*`.\n\n#### Fase 3. Analise sintatica\n\nResponsavel: `parseProgram(inputs)` em `src/parser.ts`.\n\nO parser:\n\n- consome os tokens produzidos pelo lexer;\n- monta a AST bruta da linguagem (`ProgramNode`);\n- reconhece declaracoes top-level como `application`, `module`, `import`, `enum`, `type`, `record`, `business`, `configuration`, `mixin`, `service` e `library`;\n- preserva spans para diagnosticos e tooling;\n- interpreta campos, parametros, annotations, defaults, arrays, calculados, validators, fills, mascaras e `implementation script`.\n\nResultado da fase:\n\n- AST bruta (`program`);\n- diagnosticos `PARSE*`.\n\n#### Fase 4. Analise semantica e resolucao\n\nResponsavel: `resolveProgram(program)` em `src/semantic.ts`.\n\nA analise semantica transforma a AST bruta em um modelo resolvido e consistente. Ela:\n\n- resolve imports e simbolos referenciados;\n- valida a unicidade e a coerencia de `application` e `module`;\n- detecta ciclos entre modulos;\n- normaliza tipos primitivos e aliases;\n- expande e valida mixins;\n- identifica relacoes entre entidades;\n- resolve `@scope` e regras de multitenancy;\n- valida defaults, enums e tipos de campo;\n- resolve `validators.<fn>` e `fills.<fn>` contra `library.function`;\n- propaga metadata como `validate`, `fill`, `mask` e `visibleWhen`;\n- resolve expressoes calculadas e funcoes agregadoras suportadas.\n\nResultado da fase:\n\n- `resolved` (`ResolvedProgram`);\n- diagnosticos `SEM*`;\n- IR pronta para geracao.\n\n#### Fase 5. Montagem do contexto de geracao\n\nResponsavel: `compileInternal(inputs, options)` em `src/compiler-internal.ts`.\n\nNessa fase o compilador:\n\n- combina diagnosticos do parser com diagnosticos do semantic;\n- injeta `setup` opcional (`database`, `runtime`, `multitenancy`);\n- decide quais geradores vao rodar com base em `CompileOptions`.\n\nSelecao atual de geradores:\n\n- `TypeScriptGenerator`\n- `OpenApiGenerator`\n- `DatabaseSchemaGenerator` (habilitado quando `databaseSchema !== false` ou `sql`)\n- `MetadataGenerator`\n- `CanonicalMapGenerator`\n\n#### Fase 6. Geracao de artefatos\n\nCada gerador recebe o mesmo `GenerationContext` e produz `GeneratedArtifact[]`.\n\nArtefatos principais:\n\n- TypeScript: interfaces, enums, schemas Zod, models, handles de services e libraries.\n- OpenAPI: `openapi.json` por modulo.\n- Database schema: JSON canonico do banco.\n- SQL/Postgres: DDL derivada do modelo resolvido.\n- Metadata: resumo leve por modulo.\n- Canonical map: `objects-map.json` para introspeccao e runtime.\n\nObservacao importante:\n\n- `DatabaseSchemaGenerator` reaproveita o mapa canonico para consolidar objetos, enums e relacionamentos antes de montar a visao do banco.\n- o compilador monta os artefatos em memoria; quem grava em disco ou publica no runtime e a camada chamadora.\n\n### 11.3 Palavras reservadas da linguagem\n\nAs palavras reservadas abaixo sao reconhecidas diretamente pelo lexer atual (`KEYWORDS` em `src/lexer.ts`). Elas nao devem ser usadas como identificadores soltos quando o contexto esperar nome de simbolo.\n\nTop-level e estrutura:\n\n- `application`\n- `module`\n- `import`\n- `enum`\n- `type`\n- `record`\n- `business`\n- `configuration`\n- `mixin`\n- `service`\n- `library`\n- `function`\n\nMetadados e organizacao:\n\n- `title`\n- `owner`\n- `enabled`\n- `depends`\n- `on`\n- `as`\n- `description`\n- `describe`\n- `version`\n- `database`\n- `modules`\n- `types`\n\nCampos, parametros e comportamento:\n\n- `preferred`\n- `calculated`\n- `input`\n- `output`\n- `throws`\n- `implementation`\n- `code`\n- `script`\n\nLiterais booleanos:\n\n- `true`\n- `false`\n\nObservacoes praticas:\n\n- `validators` e `fills` nao aparecem como palavras reservadas do lexer; elas entram como identificadores qualificados interpretados pelo parser/semantic.\n- funcoes de calculo como `sum`, `avg`, `min`, `max` e `coalesce` tambem nao sao keywords lexicas; sao reconhecidas no parse de expressoes calculadas.\n\n### 11.4 Diagrama do fluxo completo\n\n```mermaid\nflowchart TD\n  A[Diretorio da aplicacao LUHN] --> B[loadApplicationInputs]\n  B --> C[SourceFileInput[]]\n  C --> D[tokenize em src/lexer.ts]\n  D --> E[Tokens + diagnostics LEX]\n  E --> F[parseProgram em src/parser.ts]\n  F --> G[ProgramNode AST + diagnostics PARSE]\n  G --> H[resolveProgram em src/semantic.ts]\n  H --> I[ResolvedProgram + diagnostics SEM]\n  I --> J[compileInternal]\n  J --> K[GenerationContext]\n  K --> L[TypeScriptGenerator]\n  K --> M[OpenApiGenerator]\n  K --> N[DatabaseSchemaGenerator]\n  K --> O[MetadataGenerator]\n  K --> P[CanonicalMapGenerator]\n  L --> Q[Artefatos TS]\n  M --> R[openapi.json]\n  N --> S[schema.json e/ou SQL]\n  O --> T[metadata.json]\n  P --> U[objects-map.json]\n  Q --> V[CompileResult.artifacts]\n  R --> V\n  S --> V\n  T --> V\n  U --> V\n```\n\n### 11.5 Fluxo resumido de analise ate geracao de codigo\n\nEm uma frase: o compilador carrega os arquivos da aplicacao, tokeniza o texto, monta a AST, resolve semanticamente o dominio, consolida diagnosticos e so entao gera artefatos tipados e canônicos para TypeScript, OpenAPI, banco, metadata e runtime.\n\nResumo operacional:\n\n1. Entrada: arquivos `.luhn` e `CompileOptions`.\n2. Analise lexica: tokens e erros de formato.\n3. Analise sintatica: AST completa.\n4. Analise semantica: resolucao de simbolos, tipos, relations, mixins e regras.\n5. IR resolvida: estrutura pronta para geracao.\n6. Geracao: artefatos derivados por modulo e por entidade.\n7. Saida: `CompileResult` com AST, IR resolvida, diagnosticos e artefatos.\n\nComo `main: \"src/index.ts\"` e `type: \"commonjs\"`, o build com `tsc` produz `.js`+`.d.ts` ao lado do `.ts`\n(sem `outDir`). Em dev, os consumidores podem importar direto o `.ts` via `ts-node`.\n\n---\n\n## 11. Limitações Atuais\n\n- Não há REPL nem CLI próprio (use [`apps/cli`](../../apps/cli) ou os scripts do `apps/playground`).\n- A mini-linguagem de `implementation script` é intencionalmente restrita — para lógicas complexas, use\n  `implementation code` (handler TS).\n- Generators emitem para **Postgres**; outros bancos caem no fallback `'generic'` (sem FK/CHECK/índices).\n- Watcher é por polling do `fs.watch` nativo do Node — pode perder eventos em filesystems remotos.\n","readmeFilename":"README.md"}