{"_id":"@adhd/apigen-engine-naming","_rev":"11-c8d1ab43f46773fac132952565ba633a","name":"@adhd/apigen-engine-naming","dist-tags":{"latest":"0.2.5"},"versions":{"0.1.1":{"name":"@adhd/apigen-engine-naming","version":"0.1.1","_id":"@adhd/apigen-engine-naming@0.1.1","maintainers":[{"name":"pseudosky","email":"skywinston.sk@gmail.com"}],"dist":{"shasum":"a5fc1a37ca38e364815751f7a235c91be52a6634","tarball":"https://registry.npmjs.org/@adhd/apigen-engine-naming/-/apigen-engine-naming-0.1.1.tgz","fileCount":6,"integrity":"sha512-1h3gQaqEHsjufjqDYl2aM9k+WDTIbxHA7mmgNReVpd/5UW7K+wIVVZVW22OfDK14h9zbVBXGKf9aa5IJgdhQyg==","signatures":[{"sig":"MEYCIQCrr6su+A24OY7E7I7i7g3ig6zRSlaVqAaXoYbcx7+NhAIhAN4cJs0gvRKIW9/X/uP+wDWbrLNqxM9j0Z5S9v8pPoxa","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":19758},"main":"./index.js","module":"./index.mjs","gitHead":"36e7fe6e3b1dd5a9356fb1dab93d9eb1746df8b0","typings":"./index.d.ts","_npmUser":{"name":"pseudosky","email":"skywinston.sk@gmail.com"},"_npmVersion":"11.6.2","description":"Naming and identifier helpers for apigen — case conversion, file-name normalization, namespace/project id derivation, export collision detection, and the §9.1 envelope-key conventions. Pure TypeScript (**platform: shared**).","directories":{},"_nodeVersion":"24.11.1","dependencies":{"@adhd/apigen-core-client":"^0.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/apigen-engine-naming_0.1.1_1784686884738_0.865693645559394","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@adhd/apigen-engine-naming","version":"0.1.2","_id":"@adhd/apigen-engine-naming@0.1.2","maintainers":[{"name":"pseudosky","email":"skywinston.sk@gmail.com"}],"dist":{"shasum":"e5127d5a35dbb4b59eed95fa4fee5496f86a1cfe","tarball":"https://registry.npmjs.org/@adhd/apigen-engine-naming/-/apigen-engine-naming-0.1.2.tgz","fileCount":7,"integrity":"sha512-8vhI5NIqj1f49O3Hv8+qUSD23cgyWg5AON9q+ciiPpMvylNxxe2cj/xSXVS8Wdof0dYh9SibBWd0TN9fQ2RCsA==","signatures":[{"sig":"MEQCIEfFJjP300LlUz4P7qfrWGRhXToHpfsdma0nkTRHYYLtAiB3eX6shQ7/+r9/rumo0tcVRJ/q8l695G1tCqUV9fVjng==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20461},"main":"./index.js","module":"./index.mjs","gitHead":"afca4fc9097845a32a9e371ce6cd1252cbc0be6b","typings":"./index.d.ts","_npmUser":{"name":"pseudosky","email":"skywinston.sk@gmail.com"},"_npmVersion":"11.6.2","description":"Naming and identifier helpers for apigen — case conversion, file-name normalization, namespace/project id derivation, export collision detection, and the §9.1 envelope-key conventions. Pure TypeScript (**platform: shared**).","directories":{},"_nodeVersion":"24.11.1","dependencies":{"@adhd/apigen-core-client":"^0.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/apigen-engine-naming_0.1.2_1784773901138_0.6373729034881073","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@adhd/apigen-engine-naming","version":"0.1.3","_id":"@adhd/apigen-engine-naming@0.1.3","maintainers":[{"name":"pseudosky","email":"skywinston.sk@gmail.com"}],"dist":{"shasum":"b0fc3d262f86925559e6600a050a300f7d41bcb1","tarball":"https://registry.npmjs.org/@adhd/apigen-engine-naming/-/apigen-engine-naming-0.1.3.tgz","fileCount":7,"integrity":"sha512-sSNzeCapwAgmQhjqnMA9DkWUBCkQwl21/N9wObTnsiER82z5ZFh8K70ep6rbL3+ORjjqUOH9rFkW2bnpDF5lQQ==","signatures":[{"sig":"MEUCIQCSBaSZ61lIc1BrDfLTmswotMjUj235Pvpj4vuRJdBdXQIgWNqe+hsInEuapCWqp6tY5MZPy5MSgoaFkUPniDy4LeA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":21281},"main":"./index.js","module":"./index.mjs","gitHead":"eb0fd170825539850ae91a64393f8a8f376d8c7b","typings":"./index.d.ts","_npmUser":{"name":"pseudosky","email":"skywinston.sk@gmail.com"},"_npmVersion":"11.6.2","description":"Naming and identifier helpers for apigen — case conversion, file-name normalization, namespace/project id derivation, export collision detection, and the §9.1 envelope-key conventions. Pure TypeScript (**platform: shared**).","directories":{},"_nodeVersion":"24.11.1","dependencies":{"@adhd/apigen-core-client":"^0.1.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/apigen-engine-naming_0.1.3_1784831115131_0.4029888115855864","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"@adhd/apigen-engine-naming","version":"0.1.4","_id":"@adhd/apigen-engine-naming@0.1.4","maintainers":[{"name":"pseudosky","email":"skywinston.sk@gmail.com"}],"dist":{"shasum":"852e78381e573f4da68d92c00007acb0144efde9","tarball":"https://registry.npmjs.org/@adhd/apigen-engine-naming/-/apigen-engine-naming-0.1.4.tgz","fileCount":7,"integrity":"sha512-ZrctYRdWv8mcjpjcHSmqt7F/VylFc7FRcIi/foy6g4F48Tqz1J167Vat1TFU/f6POUvPi9WR7aLJHtptOlk89A==","signatures":[{"sig":"MEQCIFrNmVLC59cIa7lNALYFUchrg62GuC4N5CdV3BwzZ1cAAiAmgHZYEQ2ukP6MExHX/qcApk+7C1PZQLkqhihXflwgvQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":21420},"main":"./index.js","module":"./index.mjs","gitHead":"60d30f61a52a3cb55285346e534382df02258264","typings":"./index.d.ts","_npmUser":{"name":"pseudosky","email":"skywinston.sk@gmail.com"},"_npmVersion":"11.6.2","description":"Naming and identifier helpers for apigen — case conversion, file-name normalization, namespace/project id derivation, export collision detection, and the §9.1 envelope-key conventions. Pure TypeScript (**platform: shared**).","directories":{},"_nodeVersion":"24.11.1","dependencies":{"@adhd/apigen-core-client":"^0.1.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/apigen-engine-naming_0.1.4_1784934752136_0.6344202061440953","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"@adhd/apigen-engine-naming","version":"0.1.5","_id":"@adhd/apigen-engine-naming@0.1.5","maintainers":[{"name":"pseudosky","email":"skywinston.sk@gmail.com"}],"dist":{"shasum":"d3fd67f29badd3b87e7d7ac1a5b59901f781f078","tarball":"https://registry.npmjs.org/@adhd/apigen-engine-naming/-/apigen-engine-naming-0.1.5.tgz","fileCount":7,"integrity":"sha512-vrnC5L88b+f5CH0i5jU+qar2grTHSldamDJoimi6ASlFg0QVhI13NRhmMXcG4SeyMaG6ZEuPh1uGnOl0skjrlQ==","signatures":[{"sig":"MEQCIDGA19lsN1QIZ+lfSP44NDGAp23AY8OgucF1kh/xqLGvAiBQJwljlUbil0k+M8+8K2SI3aL9hobw9Z4JmVvRA6/dZw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":21708},"main":"./index.js","module":"./index.mjs","gitHead":"b0c95afe7acf5dac87cc9d5ad3f0e291c184bdc5","typings":"./index.d.ts","_npmUser":{"name":"pseudosky","email":"skywinston.sk@gmail.com"},"_npmVersion":"11.6.2","description":"Naming and identifier helpers for apigen — case conversion, file-name normalization, namespace/project id derivation, export collision detection, and the §9.1 envelope-key conventions. Pure TypeScript (**platform: shared**).","directories":{},"_nodeVersion":"24.11.1","dependencies":{"@adhd/apigen-core-client":"^0.1.5"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/apigen-engine-naming_0.1.5_1785009032427_0.6218267696074329","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@adhd/apigen-engine-naming","version":"0.2.0","_id":"@adhd/apigen-engine-naming@0.2.0","maintainers":[{"name":"pseudosky","email":"skywinston.sk@gmail.com"}],"dist":{"shasum":"3bf6bfdb6461c86c5b332379a54a0c3c8dc3489d","tarball":"https://registry.npmjs.org/@adhd/apigen-engine-naming/-/apigen-engine-naming-0.2.0.tgz","fileCount":7,"integrity":"sha512-/xzQ/nFFJ2bdlUvv78e1NkT64HD1Kef4i2+Sdmuyl1VwksRa3zEpGjeaY2mG4pDgttvdjK+aZHZBTZ/J46w9fw==","signatures":[{"sig":"MEUCIQCqvStmQ9l7z9zQyyYA5rOyd/ne9l6vJUf+a8YZew1DCAIgaVNTYC0UUcF8Pu8QelzJSx0rCFFvk0LfD13FvzmHmQM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":21708},"main":"./index.js","module":"./index.mjs","gitHead":"1dbc0638f8eb1b7c961bc9359def6f4425da5c15","typings":"./index.d.ts","_npmUser":{"name":"pseudosky","email":"skywinston.sk@gmail.com"},"_npmVersion":"11.6.2","description":"Naming and identifier helpers for apigen — case conversion, file-name normalization, namespace/project id derivation, export collision detection, and the §9.1 envelope-key conventions. Pure TypeScript (**platform: shared**).","directories":{},"_nodeVersion":"24.11.1","dependencies":{"@adhd/apigen-core-client":"^0.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/apigen-engine-naming_0.2.0_1785136501674_0.4519726324060469","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@adhd/apigen-engine-naming","version":"0.2.1","_id":"@adhd/apigen-engine-naming@0.2.1","maintainers":[{"name":"pseudosky","email":"skywinston.sk@gmail.com"}],"dist":{"shasum":"f3be88ceafb4cc9c50014a1d8845efae21a9e8ef","tarball":"https://registry.npmjs.org/@adhd/apigen-engine-naming/-/apigen-engine-naming-0.2.1.tgz","fileCount":7,"integrity":"sha512-3whMHyO8kAiQuYSEJQ31h05SYG4NuTvQZ6yx7ZD86JbdizUW80WDuXXueWXTx4HbFDC+2Vd1k5JcmD6k7deYyg==","signatures":[{"sig":"MEUCIQCjzGASyAsf+t5UZv3Uma3vKM4kli/T5GMEL0fQAMYf1gIgHla32gtWXBGOTUJBRn6KcTZ/5RNj7vWHOjvP/PVGWjM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":21847},"main":"./index.js","module":"./index.mjs","gitHead":"ecb6695cd4d5b19b334cd27975ad61f1a100fb25","typings":"./index.d.ts","_npmUser":{"name":"pseudosky","email":"skywinston.sk@gmail.com"},"_npmVersion":"11.6.2","description":"Naming and identifier helpers for apigen — case conversion, file-name normalization, namespace/project id derivation, export collision detection, and the §9.1 envelope-key conventions. Pure TypeScript (**platform: shared**).","directories":{},"_nodeVersion":"24.11.1","dependencies":{"@adhd/apigen-core-client":"^0.2.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/apigen-engine-naming_0.2.1_1785204922697_0.5457892860944595","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"@adhd/apigen-engine-naming","version":"0.2.2","_id":"@adhd/apigen-engine-naming@0.2.2","maintainers":[{"name":"pseudosky","email":"skywinston.sk@gmail.com"}],"dist":{"shasum":"2923fba597be502628a9d2d409984d3212b39a9f","tarball":"https://registry.npmjs.org/@adhd/apigen-engine-naming/-/apigen-engine-naming-0.2.2.tgz","fileCount":7,"integrity":"sha512-tUYnzk48H+5j4QPAsJ2+xcSm9oGA2g2EPbbTwKC/MsROIoCYkrmQgqnmMnU+COStpNqckEmrL1BFpVNAS9M4gQ==","signatures":[{"sig":"MEYCIQC6tiNR1zkP2rXGmk9K2SZw9A4WIDxNpKJKFwaqEBeCUgIhAJ34O9YmpTeApCKm8OPmkIJtlAM0uQXuQaNAtHvqQ8jr","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":22031},"main":"./index.js","module":"./index.mjs","gitHead":"7edc5d58575a24fb9695bb3474d3e169f20eac58","typings":"./index.d.ts","_npmUser":{"name":"pseudosky","email":"skywinston.sk@gmail.com"},"_npmVersion":"11.6.2","description":"Naming and identifier helpers for apigen — case conversion, file-name normalization, namespace/project id derivation, export collision detection, and the §9.1 envelope-key conventions. Pure TypeScript (**platform: shared**).","directories":{},"_nodeVersion":"24.11.1","dependencies":{"@adhd/apigen-core-client":"^0.3.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/apigen-engine-naming_0.2.2_1786144566508_0.7189300878846872","host":"s3://npm-registry-packages-npm-production"}},"0.2.3":{"name":"@adhd/apigen-engine-naming","version":"0.2.3","keywords":["api","naming","codegen","typescript"],"license":"MIT","_id":"@adhd/apigen-engine-naming@0.2.3","maintainers":[{"name":"pseudosky","email":"skywinston.sk@gmail.com"}],"homepage":"https://github.com/PseudoSky/adhd/tree/main/packages/apigen/apigen-engine-naming#readme","bugs":{"url":"https://github.com/PseudoSky/adhd/issues"},"dist":{"shasum":"07fb58a31196beafe8497ac334941da06f342aa3","tarball":"https://registry.npmjs.org/@adhd/apigen-engine-naming/-/apigen-engine-naming-0.2.3.tgz","fileCount":7,"integrity":"sha512-2IzUFST9rEn1C98r7t1EL1/jsOItp7rQhZI9cv9vyFfpgAp+nV7e+wIIgGsHzBmOYNpZqzqvoj80M8O62iuwow==","signatures":[{"sig":"MEYCIQDy+LT/x+uwOxV/2Xiex0sHvqGOyouiv2EB+sj8pfe2VQIhAMO+fDFp0zhbdfuJpEwCxs27pvTvhYRntjH8JhoPmski","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCID21zZejS7Awde6gFajHzWG5ZCGRnnVGHicZM1e3rxixAiAQH+933IcagLjBqwkdzdqhHGO7m9ypbPZQ/7db+GyFsA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":22880},"main":"./index.js","module":"./index.mjs","typings":"./index.d.ts","_npmUser":{"name":"pseudosky","email":"skywinston.sk@gmail.com"},"repository":{"url":"git+https://github.com/PseudoSky/adhd.git","type":"git","directory":"packages/apigen/apigen-engine-naming"},"_npmVersion":"11.6.2","description":"Naming conventions for apigen code generation","directories":{},"_nodeVersion":"24.11.1","dependencies":{"@adhd/apigen-core-client":"^0.3.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/apigen-engine-naming_0.2.3_1790266627998_0.36692315379365303","host":"s3://npm-registry-packages-npm-production"}},"0.2.4":{"name":"@adhd/apigen-engine-naming","version":"0.2.4","keywords":["api","naming","codegen","typescript"],"license":"MIT","_id":"@adhd/apigen-engine-naming@0.2.4","maintainers":[{"name":"pseudosky","email":"skywinston.sk@gmail.com"}],"homepage":"https://github.com/PseudoSky/adhd/tree/main/packages/apigen/apigen-engine-naming#readme","bugs":{"url":"https://github.com/PseudoSky/adhd/issues"},"dist":{"shasum":"e4576e79fd893979eb1bdb210dbc9d556561e2dd","tarball":"https://registry.npmjs.org/@adhd/apigen-engine-naming/-/apigen-engine-naming-0.2.4.tgz","fileCount":8,"integrity":"sha512-yTOWHk6J6e98eKRwSZVeCOUaxLwjIgdIpHen3pZP9Z/5v9UEhJIo+KmR1RrJO+TNpzvpHRyn/lFhfv8oHR03JA==","signatures":[{"sig":"MEUCIQC0d23eYQ5E7qdNQwRbHUnMP7/i9rpreMpXTz37KnxJGAIgI5qqmm9+PUXqBFDERcxAUmsiMbSF2eDHU573TGmPT2Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIGXh5PDyuBmisonnxuhzRdSclcBCD0dfvAUHU0iMkePrAiEA2aO/l5EhHiKht3ZsBVzSILKKcICribgx8XkD+8JpcPM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":48669},"main":"./index.js","module":"./index.mjs","gitHead":"d473447c27714c6a7ab057efee178d1af8707e05","typings":"./index.d.ts","_npmUser":{"name":"pseudosky","email":"skywinston.sk@gmail.com"},"repository":{"url":"git+https://github.com/PseudoSky/adhd.git","type":"git","directory":"packages/apigen/apigen-engine-naming"},"_npmVersion":"11.6.2","description":"Naming conventions for apigen code generation","directories":{},"_nodeVersion":"24.11.1","dependencies":{"@adhd/apigen-core-client":"^0.3.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/apigen-engine-naming_0.2.4_1790448908728_0.9686038196737159","host":"s3://npm-registry-packages-npm-production"}},"0.2.5":{"_id":"@adhd/apigen-engine-naming@0.2.5","bugs":{"url":"https://github.com/PseudoSky/adhd/issues"},"dist":{"shasum":"4699d69920e08d1c757183c8998595970e087326","tarball":"https://registry.npmjs.org/@adhd/apigen-engine-naming/-/apigen-engine-naming-0.2.5.tgz","fileCount":8,"integrity":"sha512-IutItfz5lFdy88mA/sU2dBK2qoeC+vCmWg2QHJ109KpkFxqnzYzUUF0j/JN/sMYVeoioCeG/SMD6PpZxqyubcQ==","signatures":[{"sig":"MEUCIQClpW0gorR+6XXJnnRZuvWnm9AyaSoXegnnQwzq4B0OJAIgCIgotS1CKmvqhR03xRAT1WQdDx24wx8eX5UHyZ64Aps=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIAbz1y2TOcItxB2EaKoBuNAMqJZeXsYgB8MR0vh1elQLAiA/XRVVd3b5laEBsgV/z8Ge3QV8CtZm8T20FGv+p6Pchg=="}],"unpackedSize":48669},"main":"./index.js","name":"@adhd/apigen-engine-naming","module":"./index.mjs","gitHead":"a1a6ba024c5526b930f97c5420e920639d14e110","license":"MIT","typings":"./index.d.ts","version":"0.2.5","_npmUser":{"name":"pseudosky","email":"skywinston.sk@gmail.com"},"homepage":"https://github.com/PseudoSky/adhd/tree/main/packages/apigen/apigen-engine-naming#readme","keywords":["api","naming","codegen","typescript"],"repository":{"url":"git+https://github.com/PseudoSky/adhd.git","type":"git","directory":"packages/apigen/apigen-engine-naming"},"_npmVersion":"11.6.2","description":"Naming conventions for apigen code generation","directories":{},"maintainers":[{"name":"pseudosky","email":"skywinston.sk@gmail.com"}],"_nodeVersion":"24.11.1","dependencies":{"@adhd/apigen-core-client":"^0.3.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/apigen-engine-naming_0.2.5_1790455439165_0.3145650845878982"}}},"time":{"created":"2026-07-22T02:21:24.630Z","modified":"2026-09-26T20:43:59.448Z","0.1.1":"2026-07-22T02:21:24.873Z","0.1.2":"2026-07-23T02:31:41.285Z","0.1.3":"2026-07-23T18:25:15.301Z","0.1.4":"2026-07-24T23:12:32.270Z","0.1.5":"2026-07-25T19:50:32.557Z","0.2.0":"2026-07-27T07:15:01.830Z","0.2.1":"2026-07-28T02:15:22.833Z","0.2.2":"2026-08-07T23:16:06.658Z","0.2.3":"2026-09-24T16:17:08.077Z","0.2.4":"2026-09-26T18:55:08.813Z","0.2.5":"2026-09-26T20:43:59.251Z"},"bugs":{"url":"https://github.com/PseudoSky/adhd/issues"},"license":"MIT","homepage":"https://github.com/PseudoSky/adhd/tree/main/packages/apigen/apigen-engine-naming#readme","keywords":["api","naming","codegen","typescript"],"repository":{"url":"git+https://github.com/PseudoSky/adhd.git","type":"git","directory":"packages/apigen/apigen-engine-naming"},"description":"Naming conventions for apigen code generation","maintainers":[{"name":"pseudosky","email":"skywinston.sk@gmail.com"}],"readme":"# @adhd/apigen-engine-naming\n\nNaming and identifier helpers for apigen — case conversion, file-name normalization,\nnamespace/project id derivation, export collision detection, and the §9.1 envelope-key\nconventions. Pure TypeScript (**platform: shared**).\n\nPart of [apigen](../README.md).\n\n## Public API\n\n```ts\nimport {\n  toKebab, toCamel, toPascal, toSnake, normalizeFileName,\n  project, httpVerb, checkCollisions, CollisionDetectedError,\n  envelopeKey, envelopeCliFlag, envelopeEnvVar, envelopeMetaKey,\n  sanitizeIdentifier, uniqueSanitizedIdentifiers,\n  escapeStringLiteral, escapeLineTerminators, toPosixPath, coercePort,\n} from '@adhd/apigen-engine-naming';\n```\n\n- **case helpers** — `toKebab` / `toCamel` / `toPascal` / `toSnake`, `normalizeFileName`.\n- **`project(...)`** — derive the namespace/id for a source.\n- **`httpVerb(...)`** — resolve the effective HTTP verb for a composed schema.\n- **`checkCollisions(...)`** — detect duplicate export ids (throws `CollisionDetectedError`).\n- **envelope keys** — map an envelope field to its CLI flag / env var / MCP `_meta` key.\n- **codegen emit primitives** (the single, context-correct surface every generator splices a\n  dynamic value through — see `src/lib/emit.ts`):\n  - `sanitizeIdentifier(id)` — a discovered id → a valid identifier.\n  - `uniqueSanitizedIdentifiers(ids)` — a collision-free **set** of identifiers (a lossy\n    sanitisation can map distinct ids to the same name; this disambiguates with a stable\n    `_2`, `_3`, … suffix so generated `import * as …_ns` declarations never collide).\n  - `escapeStringLiteral(value)` — a complete, quoted JS/TS string literal (escapes quotes,\n    backslashes, control chars, and `U+2028`/`U+2029`).\n  - `escapeLineTerminators(text)` — the `U+2028`/`U+2029` escape applied to an already-\n    serialized blob (e.g. a `JSON.stringify`'d schema map) before it is spliced.\n  - `toPosixPath(p)` — normalise a path to `/` separators.\n  - `coercePort(value)` — a caller-supplied `port` option → a validated integer literal\n    (rejects blank/non-numeric/out-of-range values instead of splicing them).\n","readmeFilename":"README.md"}