{"_id":"@3dsource/unreal-commands-api-parser","_rev":"18-5ee4e0dde2a0fabb1678de7d769735d6","name":"@3dsource/unreal-commands-api-parser","dist-tags":{"dev":"1.1.1-dev.1","latest":"1.1.3"},"versions":{"1.0.26":{"name":"@3dsource/unreal-commands-api-parser","version":"1.0.26","author":{"name":"Sergii Karanda"},"_id":"@3dsource/unreal-commands-api-parser@1.0.26","maintainers":[{"name":"3dsource","email":"npm@3dsource.com"}],"dist":{"shasum":"8e7d7c3e5fae91365cee9890461e3b3a06a58e9c","tarball":"https://registry.npmjs.org/@3dsource/unreal-commands-api-parser/-/unreal-commands-api-parser-1.0.26.tgz","fileCount":3,"integrity":"sha512-i63gVJCRlZm067yjmfFK1LvhsIIRPdQJsvymnDblQbFNHVJO4sOErACrYuiKfHcM4R12rooVFw4F5+1pmC85fQ==","signatures":[{"sig":"MEQCIDmwMR6PeQXCDHKjm87p+q/S7iDimmVVmDQiGKgucfYDAiBf8Usd1VUEZ8+AFazQJQrhCQA3RfckSP1pmyov9P4HTg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":24606},"main":"dist/index.js","gitHead":"1fe67cfce65c9b605f8a15bca5ee2394530c3abd","scripts":{"doc":"typedoc --out dist/docs struct.ts","build":"npm run removeJsDev && tsc & webpack","parse":"npm run build && node ./dist/index.js \"https://preview.3dsource.com/vps-commands-api/documentation/latest_master\" \"struct.ts\"","removeJsDev":"rmdir \"./dist/\" /s /q"},"_npmUser":{"name":"3dsource","email":"npm@3dsource.com"},"_npmVersion":"10.8.1","description":"This is a parser for 3DSource METABOX commands API. It generates TypeScript interfaces from the API documentation.","directories":{},"_nodeVersion":"20.11.1","_hasShrinkwrap":false,"devDependencies":{"typedoc":"^0.25.13","webpack":"5.94.0","typescript":"^5.0.0","@babel/core":"^7.24.4","@types/node":"^20.12.7","webpack-cli":"^5.1.4","babel-loader":"^9.1.3","@babel/preset-env":"^7.24.4"},"_npmOperationalInternal":{"tmp":"tmp/unreal-commands-api-parser_1.0.26_1740744640828_0.8360808080287496","host":"s3://npm-registry-packages-npm-production"}},"1.0.27":{"name":"@3dsource/unreal-commands-api-parser","version":"1.0.27","author":{"name":"Sergii Karanda"},"_id":"@3dsource/unreal-commands-api-parser@1.0.27","maintainers":[{"name":"3dsource","email":"npm@3dsource.com"},{"name":"andrei.parcheuski","email":"parchevscky17@yandex.ru"}],"dist":{"shasum":"67b00dd43c5b6598dfddecb865f3b17fc0d4b74d","tarball":"https://registry.npmjs.org/@3dsource/unreal-commands-api-parser/-/unreal-commands-api-parser-1.0.27.tgz","fileCount":3,"integrity":"sha512-1goigMudewr7moPYsGRa6S1EddN241U7M7MGLA1uysnywSjbQXGzIBjh6HGYJbyKypi4QLTBn94mE6UQXanABg==","signatures":[{"sig":"MEQCIDoBYVvyy9piUZ5erZw7/KRWChb8hp27wS4XIRPUNa0JAiB7BQ3syF0ee/4hJYeQeN+LVyek/5nM9xsTLlZPF4o3ag==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":24310},"main":"dist/index.js","gitHead":"fa43be878d3aa6be5d9c745fee8c5223a71ba662","scripts":{"doc":"typedoc --out dist/docs struct.ts","build":"npm run removeJsDev && tsc & webpack","parse":"npm run build && node ./dist/index.js \"https://preview.3dsource.com/vps-commands-api/documentation/latest_master\" \"struct.ts\"","removeJsDev":"rmdir \"./dist/\" /s /q"},"_npmUser":{"name":"3dsource","email":"npm@3dsource.com"},"_npmVersion":"10.8.1","description":"This is a parser for 3DSource METABOX commands API. It generates TypeScript interfaces from the API documentation.","directories":{},"_nodeVersion":"20.11.1","_hasShrinkwrap":false,"devDependencies":{"typedoc":"^0.25.13","webpack":"5.94.0","typescript":"^5.0.0","@babel/core":"^7.24.4","@types/node":"^20.12.7","webpack-cli":"^5.1.4","babel-loader":"^9.1.3","@babel/preset-env":"^7.24.4"},"_npmOperationalInternal":{"tmp":"tmp/unreal-commands-api-parser_1.0.27_1740779808369_0.3123664706231606","host":"s3://npm-registry-packages-npm-production"}},"1.0.28":{"name":"@3dsource/unreal-commands-api-parser","version":"1.0.28","author":{"name":"Sergii Karanda"},"_id":"@3dsource/unreal-commands-api-parser@1.0.28","maintainers":[{"name":"flashpuller","email":"flashpuller@gmail.com"},{"name":"flashpusher","email":"npm@3dsource.com"},{"name":"andrei.parcheuski","email":"andrei.parcheuski@3dsource.com"},{"name":"whataboutjuuu","email":"mailtojuuu@gmail.com"}],"dist":{"shasum":"db410b3183a61ecaa747766cf5b9995cba05c871","tarball":"https://registry.npmjs.org/@3dsource/unreal-commands-api-parser/-/unreal-commands-api-parser-1.0.28.tgz","fileCount":3,"integrity":"sha512-2DKmDERFO3t1MNEFf1Q7I9ZAbvr4DVxyDKNkwBGKXI5uB7Jt9QIxB4hfzhQsErgcbKp7Abeg3t1iE6q1gnotXA==","signatures":[{"sig":"MEQCIHuElDpq56Uy1ZD47+EaMyY720zvny4FIN+UX+RdbO8nAiBUdGCPMbS6RjhBkp72G6DFaPM3dYbxw2bhGJ17OgeNWw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":24520},"main":"dist/index.js","gitHead":"dbbd09d28c4ec0d372e9379132d9cbbaa26151bc","scripts":{"doc":"typedoc --out dist/docs struct.ts","build":"npm run removeJsDev && tsc & webpack","parse":"npm run build && node ./dist/index.js \"https://preview.3dsource.com/vps-commands-api/documentation/latest_qa\" \"struct.ts\"","removeJsDev":"rmdir \"./dist/\" /s /q","struct:build":"npm version patch --force & npm run build && npm run struct:publish","struct:publish":"npm publish --access public"},"_npmUser":{"name":"flashpusher","email":"npm@3dsource.com"},"_npmVersion":"10.9.3","description":"This is a parser for 3DSource METABOX commands API. It generates TypeScript interfaces from the API documentation.","directories":{},"_nodeVersion":"22.18.0","_hasShrinkwrap":false,"devDependencies":{"typedoc":"^0.25.13","webpack":"5.94.0","typescript":"^5.0.0","@babel/core":"^7.24.4","@types/node":"^20.12.7","webpack-cli":"^5.1.4","babel-loader":"^9.1.3","@babel/preset-env":"^7.24.4"},"_npmOperationalInternal":{"tmp":"tmp/unreal-commands-api-parser_1.0.28_1762770365111_0.4913830677634796","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@3dsource/unreal-commands-api-parser","version":"1.1.0","author":{"name":"Sergii Karanda"},"_id":"@3dsource/unreal-commands-api-parser@1.1.0","maintainers":[{"name":"flashpuller","email":"flashpuller@gmail.com"},{"name":"flashpusher","email":"npm@3dsource.com"},{"name":"andrei.parcheuski","email":"andrei.parcheuski@3dsource.com"},{"name":"whataboutjuuu","email":"mailtojuuu@gmail.com"}],"dist":{"shasum":"d9f4a07dba13250be4dffb4cbc56a95b91466c1f","tarball":"https://registry.npmjs.org/@3dsource/unreal-commands-api-parser/-/unreal-commands-api-parser-1.1.0.tgz","fileCount":3,"integrity":"sha512-obzcv+T9kD64OD26msI3noTLV9kh0m1Ce+vdRl2x+bq/lsDmegPspDRxgQ/kuIvDcpiShoG65aYmGVxh6Jsd7g==","signatures":[{"sig":"MEUCIAimeMgMF1fZkpvZ2kHZv9BAsse1G8HBhUaU1AduZ0M/AiEAuBzV0uaheRSPQxJOcfvwdxqIqLxqZ7cxvSUrlMhKS40=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":37081},"main":"dist/index.js","gitHead":"1bea7770731f0b1e7a7f31615b7764a8e71887db","scripts":{"doc":"typedoc --out dist/docs struct.ts","build":"npm run removeJsDev && tsc & webpack","parse":"npm run build && node ./dist/index.js \"https://preview.3dsource.com/vps-commands-api/documentation/latest_qa\" \"struct.ts\"","removeJsDev":"rmdir \"./dist/\" /s /q","struct:build":"npm version patch --force & npm run build && npm run struct:publish","struct:publish":"npm publish --access public"},"_npmUser":{"name":"flashpusher","email":"npm@3dsource.com"},"_npmVersion":"10.9.3","description":"This is a parser for 3DSource METABOX commands API. It generates TypeScript interfaces from the API documentation.","directories":{},"_nodeVersion":"22.18.0","dependencies":{"tslib":"^2.8.1"},"_hasShrinkwrap":false,"devDependencies":{"typedoc":"^0.28.14","webpack":"5.94.0","prettier":"^3.6.2","typescript":"^5.9.3","@babel/core":"^7.28.5","@types/node":"^22.19.0","webpack-cli":"^6.0.1","babel-loader":"^10.0.0","@babel/preset-env":"^7.28.5"},"_npmOperationalInternal":{"tmp":"tmp/unreal-commands-api-parser_1.1.0_1762782326709_0.12438534380280752","host":"s3://npm-registry-packages-npm-production"}},"1.1.1-dev.0":{"name":"@3dsource/unreal-commands-api-parser","version":"1.1.1-dev.0","author":{"name":"Sergii Karanda"},"_id":"@3dsource/unreal-commands-api-parser@1.1.1-dev.0","maintainers":[{"name":"flashpuller","email":"flashpuller@gmail.com"},{"name":"whataboutjuuu","email":"mailtojuuu@gmail.com"},{"name":"flashpusher","email":"npm@3dsource.com"},{"name":"andrei.parcheuski","email":"andrei.parcheuski@3dsource.com"}],"dist":{"shasum":"6cb964803376df50146c727b9d217039301251cc","tarball":"https://registry.npmjs.org/@3dsource/unreal-commands-api-parser/-/unreal-commands-api-parser-1.1.1-dev.0.tgz","fileCount":21,"integrity":"sha512-IGsjiquo4ErhPrEDlxzGBEcsvjMY7IqsfAE2YokQMZKstvp8PiQ3KrgLyzivuMtFUehEjuitTLtBEZT33bK1rg==","signatures":[{"sig":"MEUCIF3AQtxN3h+lNzMMHgdX1AGjmfLZpbpTz6wW/1Y/RkdBAiEA0ltrMAmLskxKOTuyYi5AVnuPtStOd4oxEk1vw9O5Ank=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":30529},"main":"dist/index.js","gitHead":"84f984e7836236beb89186976ee6eb5811180e1e","scripts":{"doc":"typedoc --out dist/docs struct.ts","test":"tsc --noEmit && vitest run","build":"npm run test && tsc","parse":"npm run build && node ./dist/index.js \"https://preview.3dsource.com/vps-commands-api/documentation/latest_qa\" \"struct.ts\"","test:watch":"vitest","struct:build:dev":"npm version prerelease --preid dev --force && npm run build","struct:build:prod":"npm version patch --force && npm run build","struct:publish:dev":"npm publish --access public --tag dev","struct:publish:prod":"npm publish --access public"},"_npmUser":{"name":"flashpusher","email":"npm@3dsource.com"},"_npmVersion":"10.9.8","description":"This is a parser for 3DSource METABOX commands API. It generates TypeScript interfaces from the API documentation.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"tslib":"^2.8.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"vitest":"^3.2.4","typedoc":"^0.28.19","prettier":"^3.8.3","typescript":"^5.9.3","@types/node":"^22.19.19"},"_npmOperationalInternal":{"tmp":"tmp/unreal-commands-api-parser_1.1.1-dev.0_1779821740496_0.15997755100843625","host":"s3://npm-registry-packages-npm-production"}},"1.1.1-dev.1":{"name":"@3dsource/unreal-commands-api-parser","version":"1.1.1-dev.1","author":{"name":"Sergii Karanda"},"_id":"@3dsource/unreal-commands-api-parser@1.1.1-dev.1","maintainers":[{"name":"flashpuller","email":"flashpuller@gmail.com"},{"name":"whataboutjuuu","email":"mailtojuuu@gmail.com"},{"name":"flashpusher","email":"npm@3dsource.com"},{"name":"andrei.parcheuski","email":"andrei.parcheuski@3dsource.com"}],"dist":{"shasum":"e022ba4f4bb750cf7b9670848b2c0f555115fa01","tarball":"https://registry.npmjs.org/@3dsource/unreal-commands-api-parser/-/unreal-commands-api-parser-1.1.1-dev.1.tgz","fileCount":540,"integrity":"sha512-l9Q5n+weC2O+wjzRGsCHOn74LLsCg7TGRujMghbn2OvPkkkrxaf9YHI78aMRa/IfexNkdoRXLci5NVioiyl4SA==","signatures":[{"sig":"MEUCIQDvPrY3fnSKmm5PNUwr4HaO2DKvVkSpj2LgpLaUsGl+cgIgEOuk99vvZ00lJZu8mEEHGmgTh0QpnV+RC8r+NNdPJbA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8356441},"main":"dist/index.js","gitHead":"2f3630e15c1da7e6eac25c4e8df0b4c24102d216","scripts":{"doc":"typedoc","test":"tsc --noEmit && vitest run","build":"npm run test && tsc","parse":"npm run build && node ./dist/index.js \"https://preview.3dsource.com/vps-commands-api/documentation/latest_qa\" \"struct.ts\"","test:watch":"vitest","struct:build:dev":"npm version prerelease --preid dev --force && npm run build","struct:build:prod":"npm version patch --force && npm run build","struct:publish:dev":"npm publish --access public --tag dev","struct:publish:prod":"npm publish --access public"},"_npmUser":{"name":"flashpusher","email":"npm@3dsource.com"},"_npmVersion":"10.9.8","description":"This is a parser for 3DSource METABOX commands API. It generates TypeScript interfaces from the API documentation.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"tslib":"^2.8.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"vitest":"^3.2.4","typedoc":"^0.28.19","prettier":"^3.8.3","typescript":"^5.9.3","@types/node":"^22.19.19"},"_npmOperationalInternal":{"tmp":"tmp/unreal-commands-api-parser_1.1.1-dev.1_1779875100248_0.8401777143212152","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"@3dsource/unreal-commands-api-parser","version":"1.1.1","author":{"name":"Sergii Karanda"},"_id":"@3dsource/unreal-commands-api-parser@1.1.1","maintainers":[{"name":"flashpuller","email":"flashpuller@gmail.com"},{"name":"whataboutjuuu","email":"mailtojuuu@gmail.com"},{"name":"flashpusher","email":"npm@3dsource.com"},{"name":"andrei.parcheuski","email":"andrei.parcheuski@3dsource.com"}],"dist":{"shasum":"7da9154f43f705d653a92a23594f6a296428fdd6","tarball":"https://registry.npmjs.org/@3dsource/unreal-commands-api-parser/-/unreal-commands-api-parser-1.1.1.tgz","fileCount":540,"integrity":"sha512-aGO0rnBbSl0QmZPwFGYR2KbL1YCf5Fxxf1xf/MXOOVakuHmiPqx4B64/BSQqYYXhNLb0cuNhrIIPRZYPye1BdA==","signatures":[{"sig":"MEUCID1I3pxGA2Y3nHvzLs0DANHVKmvkrNTQe+aMWFVoUg/EAiEA60pyK97fNu+d2R/AOYNdMfVeZ7VkNnsJrhQYLCzt23o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8356114},"main":"dist/index.js","gitHead":"15fce99e7563184a00dfa2a31d7cec6227d5252b","scripts":{"doc":"typedoc","test":"tsc --noEmit && vitest run","build":"npm run test && tsc","parse":"npm run build && node ./dist/index.js \"https://preview.3dsource.com/vps-commands-api/documentation/latest_qa\" \"struct.ts\"","test:watch":"vitest","struct:build:dev":"npm version prerelease --preid dev --force && npm run build","struct:build:prod":"npm version patch --force && npm run build","struct:publish:dev":"npm publish --access public --tag dev","struct:publish:prod":"npm publish --access public"},"_npmUser":{"name":"flashpusher","email":"npm@3dsource.com"},"_npmVersion":"10.9.8","description":"This is a parser for 3DSource METABOX commands API. It generates TypeScript interfaces from the API documentation.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"tslib":"^2.8.1"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.4","typedoc":"^0.28.19","prettier":"^3.8.3","typescript":"^5.9.3","@types/node":"^22.19.19"},"_npmOperationalInternal":{"tmp":"tmp/unreal-commands-api-parser_1.1.1_1783937532251_0.5078809623696994","host":"s3://npm-registry-packages-npm-production"}},"1.1.2":{"name":"@3dsource/unreal-commands-api-parser","version":"1.1.2","author":{"name":"Sergii Karanda"},"_id":"@3dsource/unreal-commands-api-parser@1.1.2","maintainers":[{"name":"flashpuller","email":"flashpuller@gmail.com"},{"name":"whataboutjuuu","email":"mailtojuuu@gmail.com"},{"name":"flashpusher","email":"npm@3dsource.com"},{"name":"andrei.parcheuski","email":"andrei.parcheuski@3dsource.com"}],"dist":{"shasum":"7d13dccc47f6452925654163add6c17c17692022","tarball":"https://registry.npmjs.org/@3dsource/unreal-commands-api-parser/-/unreal-commands-api-parser-1.1.2.tgz","fileCount":540,"integrity":"sha512-F2G6T6lyKRwkAzGuuedsWsorWnjH77Wrb9HQJ5b8OBegex1rGxOOw6punwc5DwOocuW1/BzH6AkKmNYab7IE3Q==","signatures":[{"sig":"MEQCIEJ+xoNVDh0/Jn9l7YdpkCKz4I17fbzrVyC1GLw78YwdAiAp0BejaxGmkeuUOe/cUxwRV49m/Wd+97YcFjKiT+fHAQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8356174},"main":"dist/index.js","gitHead":"557877c4c3b9a38431d28abe0838fbc79f695610","scripts":{"doc":"typedoc","test":"tsc --noEmit && vitest run","build":"npm run test && tsc","parse":"npm run build && node ./dist/index.js \"https://preview.3dsource.com/vps-commands-api/documentation/latest_prod\" \"struct.ts\"","test:watch":"vitest","struct:build:dev":"npm version prerelease --preid dev --force && npm run build","struct:build:prod":"npm version patch --force && npm run build","struct:publish:dev":"npm publish --access public --tag dev","struct:publish:prod":"npm publish --access public"},"_npmUser":{"name":"flashpusher","email":"npm@3dsource.com"},"_npmVersion":"11.13.0","description":"This is a parser for 3DSource METABOX commands API. It generates TypeScript interfaces from the API documentation.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"tslib":"^2.8.1"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.4","typedoc":"^0.28.19","prettier":"^3.8.3","typescript":"^5.9.3","@types/node":"^22.19.19"},"_npmOperationalInternal":{"tmp":"tmp/unreal-commands-api-parser_1.1.2_1785406045786_0.5545458909613665","host":"s3://npm-registry-packages-npm-production"}},"1.1.3":{"name":"@3dsource/unreal-commands-api-parser","version":"1.1.3","description":"Generates TypeScript definitions from the 3DSource METABOX commands API documentation","keywords":["3dsource","unreal","codegen","typescript"],"repository":{"type":"git","url":"git+ssh://git@bitbucket.org/dreamsoft/front-libraries.git"},"license":"UNLICENSED","author":{"name":"3dsource"},"sideEffects":false,"type":"module","exports":{".":{"types":"./public-api.d.ts","default":"./public-api.js"}},"main":"./public-api.js","types":"./public-api.d.ts","bin":{"unreal-commands-api-parser":"cli.js"},"peerDependencies":{"prettier":"^3.0.0"},"peerDependenciesMeta":{"prettier":{"optional":true}},"engines":{"node":">=20.11.0"},"_id":"@3dsource/unreal-commands-api-parser@1.1.3","bugs":{"url":"https://bitbucket.org/dreamsoft/front-libraries/issues"},"homepage":"https://bitbucket.org/dreamsoft/front-libraries#readme","_integrity":"sha512-scJSNh9FZCC15DEe6+DDCJIaOxxpXa/VsRadMeSBWlQClKv/yp3vqZhw9n+L13mtPcY9trCLzw/xr7UDtxEjRg==","_resolved":"/Users/andrei.parcheuski/WebstormProjects/sourceui/dist/package-tarballs/3dsource-unreal-commands-api-parser-1.1.3.tgz","_from":"file:/Users/andrei.parcheuski/WebstormProjects/sourceui/dist/package-tarballs/3dsource-unreal-commands-api-parser-1.1.3.tgz","_nodeVersion":"24.16.0","_npmVersion":"11.13.0","dist":{"integrity":"sha512-scJSNh9FZCC15DEe6+DDCJIaOxxpXa/VsRadMeSBWlQClKv/yp3vqZhw9n+L13mtPcY9trCLzw/xr7UDtxEjRg==","shasum":"7d3844a000ffa9dd28775b5592da45292df218e3","tarball":"https://registry.npmjs.org/@3dsource/unreal-commands-api-parser/-/unreal-commands-api-parser-1.1.3.tgz","fileCount":83,"unpackedSize":114349,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIFP3OyZFhbtSAJNBZCW6FyE4wpKbYA6/pp0D3gLkhKwiAiAat4524GTeoYgPMZp2lD8v1i90CmGhcYTeu7Yarl5ywg=="}]},"_npmUser":{"name":"andrei.parcheuski","email":"andrei.parcheuski@3dsource.com"},"directories":{},"maintainers":[{"name":"flashpuller","email":"flashpuller@gmail.com"},{"name":"whataboutjuuu","email":"mailtojuuu@gmail.com"},{"name":"flashpusher","email":"npm@3dsource.com"},{"name":"andrei.parcheuski","email":"andrei.parcheuski@3dsource.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/unreal-commands-api-parser_1.1.3_1785499043731_0.7883423598163124"},"_hasShrinkwrap":false}},"time":{"created":"2025-02-28T12:10:40.758Z","modified":"2026-07-31T11:57:24.058Z","1.0.25":"2025-02-28T11:21:12.656Z","1.0.26":"2025-02-28T12:10:40.998Z","1.0.27":"2025-02-28T21:56:48.537Z","1.0.28":"2025-11-10T10:26:05.264Z","1.1.0":"2025-11-10T13:45:26.905Z","1.1.1-dev.0":"2026-05-26T18:55:40.638Z","1.1.1-dev.1":"2026-05-27T09:45:00.388Z","1.1.1":"2026-07-13T10:12:12.426Z","1.1.2":"2026-07-30T10:07:25.931Z","1.1.3":"2026-07-31T11:57:23.880Z"},"author":{"name":"3dsource"},"description":"Generates TypeScript definitions from the 3DSource METABOX commands API documentation","maintainers":[{"name":"flashpuller","email":"flashpuller@gmail.com"},{"name":"whataboutjuuu","email":"mailtojuuu@gmail.com"},{"name":"flashpusher","email":"npm@3dsource.com"},{"name":"andrei.parcheuski","email":"andrei.parcheuski@3dsource.com"}],"readme":"# @3dsource/unreal-commands-api-parser\n\nGenerates strongly-typed TypeScript definitions from the 3DSource METABOX\ncommands API documentation. Fetches the live API doc (JSON) and emits a single\n`struct.ts` containing enums, interfaces, command/callback unions and Unreal\ntype aliases — so your app can talk to the Unreal MetaBox runtime type-safely.\n\n## Installation\n\n```bash\npnpm add -D @3dsource/unreal-commands-api-parser\n```\n\n## Usage\n\nThe package ships a `unreal-commands-api-parser` binary. Point it at the API doc\nURL and the desired output path:\n\n```json\n{\n  \"scripts\": {\n    \"getStruct\": \"unreal-commands-api-parser \\\"https://preview.3dsource.com/vps-commands-api/documentation/latest\\\" \\\"src/struct.ts\\\"\"\n  }\n}\n```\n\n```bash\npnpm getStruct\n```\n\nThis writes `src/struct.ts` (the typings) **and** `src/struct.ts.json` (the raw\nAPI dump, kept for debugging — safe to gitignore).\n\n`--help` prints the usage block, `--version` the parser version.\n\nThe CLI exits with a non-zero code — so it can gate a CI step — when the\narguments are missing, the fetch fails, or the endpoint answers `200` with\nsomething that is not the API document (a proxy error page, a login redirect).\nThat last check exists so a bad response fails loudly instead of quietly\nproducing an empty `struct.ts`.\n\nIf [Prettier](https://prettier.io) is resolvable from your project, the output is\nformatted with your config; if it is absent, the parser warns and writes\nunformatted-but-valid output. A Prettier that _is_ present and rejects the\noutput is treated as a parser bug and fails the run.\n\n### Inside this monorepo\n\n`@3dsource/types-unreal` consumes the parser straight from source — the linked\nworkspace package contains `src/`, not the built `dist/`:\n\n```bash\npnpm types-unreal:generate:commands:prod   # tsx ../unreal-commands-api-parser/src/cli.ts …\n```\n\n### Programmatic use\n\nThe package root has no side effects and exposes the generator:\n\n```ts\nimport { ParseApi, type DATAStructureContainer } from '@3dsource/unreal-commands-api-parser';\n\n// Pure: takes a parsed API document, returns the TypeScript source.\nconst apiDoc = (await (await fetch(url)).json()) as DATAStructureContainer;\nconst typings: string = ParseApi.generate(apiDoc);\n\n// Or let it do the I/O: fetch, validate, format, write both files.\nawait ParseApi.run(url, 'src/struct.ts');\n```\n\nAlso exported: the inheritance helpers used to classify structs\n(`buildInheritanceIndex`, `isCommandStruct`, `isCallbackStruct`,\n`isDescendantOf`), `parseDocComments`, `getAliasesMap`/`Aliases`, and the\ntypings for the incoming API JSON.\n\n> `dist/index.js` still runs the CLI for consumers pinned to the pre-1.1.3\n> layout, but it is deprecated — use the binary.\n\n## What gets generated\n\nFor every struct and enum in the API doc, `struct.ts` contains a matching\n`export interface` / `export enum`. On top of that, two parallel sets of helper\ntypes are produced — one for **commands** (sent to Unreal) and one for\n**callbacks** (received from Unreal):\n\n| Commands (outgoing)              | Callbacks (incoming)              |\n| -------------------------------- | --------------------------------- |\n| `MetaBoxCommand` (enum)          | `MetaBoxCallback` (enum)          |\n| `MetaBoxCommandList` (interface) | `MetaBoxCallbackList` (interface) |\n| `UnrealCommands` (union)         | `UnrealCallbacks` (union)         |\n| `MetaBoxCommandPacket`           | `MetaBoxCallbackPacket`           |\n| `DeprecatedCommands` (const)     | `DeprecatedCallbacks` (const)     |\n\nPlus:\n\n- `TelemetryData` — `{ trackingId?: string }`, intersected into both packet types.\n- Unreal type aliases: `FString → string`, `int32`/`float → number`,\n  `bool → boolean`, `TArray<T> → T[]`, `TMap<T,K> → Map<T,K>`.\n\n### Commands vs callbacks\n\n- **Command** — a struct descending from `FCommandBase`. You build it and send\n  it to Unreal. Discriminated by `command: MetaBoxCommand.X`.\n- **Callback** — a struct descending from `FCallbackBase`. Unreal emits it.\n  Discriminated by `callback: MetaBoxCallback.X`. Two flavours:\n  - **spontaneous** (`FCallbackBase` directly) — Unreal emits it without a\n    preceding command (e.g. `FOnFocusObjectCallback`).\n  - **command response** (`FCommandCallbackBase`) — the reply to a command you\n    sent. These additionally carry `correlationId: string` and\n    `trackingId: string` so you can match a response back to its request.\n\n## Example — sending a command\n\n```typescript\nimport { MetaBoxCommand, type UnrealCommands, type MetaBoxCommandPacket } from './struct';\n\nconst command: UnrealCommands = {\n  command: MetaBoxCommand.F360EnableCommand,\n  payload: {\n    value: true,\n    armLength: 0,\n  },\n};\n\nfunction sendCommandToUnreal(data: MetaBoxCommandPacket): void {\n  // ... transport to Unreal\n  console.log(data);\n}\n\nsendCommandToUnreal(command);\n```\n\n## Example — handling a callback\n\n```typescript\nimport { MetaBoxCallback, type MetaBoxCallbackPacket } from './struct';\n\nfunction onUnrealCallback(data: MetaBoxCallbackPacket): void {\n  switch (data.callback) {\n    case MetaBoxCallback.FOnFocusObjectCallback:\n      // data.payload is narrowed to the focus-object payload\n      console.log('focused', data.payload);\n      break;\n    // command responses carry correlationId / trackingId to match the request\n    default:\n      break;\n  }\n}\n```\n\n## Generating documentation\n\nThe output is fully TSDoc-annotated, so [TypeDoc](https://typedoc.org) can build\nbrowsable docs:\n\n```json\n{\n  \"scripts\": {\n    \"doc\": \"typedoc --out dist/docs src/struct.ts\"\n  }\n}\n```\n\nInside this monorepo the generated `types-unreal` typings are documented by\n`pnpm types-unreal:docs`.\n\n---\n\n## Development\n\nRun from the workspace root:\n\n```bash\npnpm unreal-commands-api-parser:typecheck   # tsc --noEmit\npnpm unreal-commands-api-parser:test        # vitest (snapshot + behaviour)\npnpm unreal-commands-api-parser:lint        # ng lint\npnpm unreal-commands-api-parser:build       # tsc → dist/3dsource/unreal-commands-api-parser\n```\n\nRelease (bumps the version, builds, validates, packs, smoke-tests, publishes):\n\n```bash\npnpm unreal-commands-api-parser:release:patch\n```\n\n### Project layout\n\n```text\nsrc/\n  public-api.ts             library entry: ParseApi + typings, no side effects\n  cli.ts                    CLI entry: argv → ParseApi.run(url, output)\n  index.ts                  deprecated CLI shim for the pre-1.1.3 dist layout\n  parser.spec.ts            snapshot + classification tests over the fixture\n  core/\n    ParseApi.ts             orchestration: fetch → validate → generate → write\n    BaseDoc.ts              generic template-method base for emitters\n    Enums.ts                emits `export enum`\n    Properties.ts           emits `export interface` + discriminators\n    CommandPacket.ts        emits MetaBoxCommand / UnrealCommands / …\n    CallbackPacket.ts       emits MetaBoxCallback / UnrealCallbacks / …\n    TsDocFragment.ts        builds TSDoc blocks from doc_comments\n    Aliases.ts              Unreal → TS primitive aliases\n    ParseApi.spec.ts        fetch, response validation, file writing\n    generate.spec.ts        paths the fixture misses: deprecated callbacks,\n                            TSDoc tags\n  helpers/\n    inheritance.ts          inheritance index + command/callback classification\n    parseDocComments.ts     tolerant doc_comments JSON parser\n    getShortCommandName.ts  enum-name helpers\n    clean.ts                indentation/usage-link helpers\n    helpers.spec.ts         unit tests for the above\n  interfaces/               typings for the incoming API JSON\n  __fixtures__/sample.json  representative API doc\n  __snapshots__/            committed generator output\n```\n\nCommands vs callbacks are classified by walking the inheritance chain\n(`helpers/inheritance.ts`), not by name matching.\n\n### Build contract\n\n`scripts/build.mjs` compiles `src/` with `tsc` into\n`dist/3dsource/unreal-commands-api-parser/`, writes the publishable manifest\nthere (source manifest minus `scripts` and `devDependencies`), copies\n`README.md` and `LICENSE`, and adds the shebang to `cli.js`. The workspace\nbuild, validation, packing and release scripts in `scripts/packages/` then treat\nthis package like any other.\n\n`main`, `types`, `exports` and `bin` in `package.json` describe the **built**\nlayout, so those paths do not exist in the source directory — the same\nconvention `@3dsource/data-loader` uses. Two consequences:\n\n- `cli.js` in the package root is a stub that pnpm can link as the workspace\n  binary; it forwards to the built CLI and tells you to build if it is missing.\n- Local consumers resolve the package through the alias in `vitest.config.ts`\n  and `paths` in the root `tsconfig.json`, never through the source manifest.\n\nThe snapshot in `src/__snapshots__/` is the committed source of truth for the\ngenerated output. Update it with `pnpm unreal-commands-api-parser:test -- -u`\nonly when a generator change is intentional, and read the resulting diff — an\nunexpected line there means the change reached further than intended.\n","readmeFilename":"README.md","homepage":"https://bitbucket.org/dreamsoft/front-libraries#readme","keywords":["3dsource","unreal","codegen","typescript"],"repository":{"type":"git","url":"git+ssh://git@bitbucket.org/dreamsoft/front-libraries.git"},"bugs":{"url":"https://bitbucket.org/dreamsoft/front-libraries/issues"},"license":"UNLICENSED"}