@nlabs/lex 1.48.7 → 1.49.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.storybook/main.ts +9 -2
- package/.vscode/settings.json +1 -6
- package/README.md +249 -0
- package/eslint.config.mjs +24 -0
- package/examples/lex.config.js +18 -8
- package/examples/serverless-example/README.md +109 -0
- package/examples/serverless-example/dist/handlers/echo.js +15 -0
- package/examples/serverless-example/dist/handlers/graphql.js +137 -0
- package/examples/serverless-example/dist/handlers/hello.js +15 -0
- package/examples/serverless-example/dist/handlers/test.js +17 -0
- package/examples/serverless-example/dist/handlers/websocket.js +14 -0
- package/examples/serverless-example/lex.config.mjs +74 -0
- package/jest.config.mjs +13 -12
- package/{dist → lib}/LexConfig.d.ts +7 -6
- package/lib/LexConfig.js +268 -0
- package/lib/commands/ai/ai.js +303 -0
- package/{dist → lib}/commands/build/build.d.ts +3 -0
- package/lib/commands/build/build.js +494 -0
- package/{dist → lib}/commands/clean/clean.js +1 -1
- package/lib/commands/compile/compile.js +241 -0
- package/lib/commands/copy/copy.js +38 -0
- package/{dist → lib}/commands/create/create.js +1 -1
- package/{dist → lib}/commands/dev/dev.d.ts +2 -0
- package/lib/commands/dev/dev.js +286 -0
- package/{dist → lib}/commands/init/init.js +1 -1
- package/lib/commands/lint/lint.js +962 -0
- package/{dist → lib}/commands/migrate/migrate.js +1 -1
- package/lib/commands/publish/publish.js +104 -0
- package/lib/commands/serverless/serverless.d.ts +17 -0
- package/lib/commands/serverless/serverless.js +662 -0
- package/lib/commands/storybook/storybook.js +249 -0
- package/lib/commands/test/test.js +428 -0
- package/lib/commands/update/update.js +128 -0
- package/{dist → lib}/create/changelog.js +1 -1
- package/{dist → lib}/index.d.ts +1 -0
- package/{dist → lib}/index.js +2 -1
- package/lib/lex.js +73 -0
- package/lib/utils/aiService.d.ts +9 -0
- package/lib/utils/aiService.js +299 -0
- package/{dist → lib}/utils/app.d.ts +3 -0
- package/lib/utils/app.js +296 -0
- package/{dist → lib}/utils/file.d.ts +7 -3
- package/lib/utils/file.js +229 -0
- package/lib/utils/translations.d.ts +1 -0
- package/lib/utils/translations.js +74 -0
- package/package.json +60 -54
- package/postcss.config.js +5 -3
- package/tsconfig.build.json +2 -2
- package/webpack.config.js +229 -39
- package/dist/LexConfig.js +0 -287
- package/dist/commands/ai/ai.js +0 -303
- package/dist/commands/build/build.js +0 -404
- package/dist/commands/compile/compile.js +0 -234
- package/dist/commands/copy/copy.js +0 -38
- package/dist/commands/dev/dev.js +0 -74
- package/dist/commands/lint/lint.js +0 -993
- package/dist/commands/publish/publish.js +0 -104
- package/dist/commands/storybook/storybook.js +0 -249
- package/dist/commands/test/test.js +0 -429
- package/dist/commands/update/update.js +0 -132
- package/dist/lex.js +0 -70
- package/dist/utils/aiService.d.ts +0 -9
- package/dist/utils/aiService.js +0 -299
- package/dist/utils/app.js +0 -267
- package/dist/utils/file.js +0 -185
- package/emptyModule.js +0 -0
- package/eslint.config.js +0 -3
- /package/{dist → lib}/Button.stories.d.ts +0 -0
- /package/{dist → lib}/commands/ai/ai.d.ts +0 -0
- /package/{dist → lib}/commands/ai/index.d.ts +0 -0
- /package/{dist → lib}/commands/ai/index.js +0 -0
- /package/{dist → lib}/commands/clean/clean.d.ts +0 -0
- /package/{dist → lib}/commands/compile/compile.d.ts +0 -0
- /package/{dist → lib}/commands/config/config.d.ts +0 -0
- /package/{dist → lib}/commands/config/config.js +0 -0
- /package/{dist → lib}/commands/copy/copy.d.ts +0 -0
- /package/{dist → lib}/commands/create/create.d.ts +0 -0
- /package/{dist → lib}/commands/init/init.d.ts +0 -0
- /package/{dist → lib}/commands/link/link.d.ts +0 -0
- /package/{dist → lib}/commands/link/link.js +0 -0
- /package/{dist → lib}/commands/lint/autofix.d.ts +0 -0
- /package/{dist → lib}/commands/lint/lint.d.ts +0 -0
- /package/{dist → lib}/commands/migrate/migrate.d.ts +0 -0
- /package/{dist → lib}/commands/publish/publish.d.ts +0 -0
- /package/{dist → lib}/commands/storybook/storybook.d.ts +0 -0
- /package/{dist → lib}/commands/test/test.d.ts +0 -0
- /package/{dist → lib}/commands/update/update.d.ts +0 -0
- /package/{dist → lib}/commands/upgrade/upgrade.d.ts +0 -0
- /package/{dist → lib}/commands/upgrade/upgrade.js +0 -0
- /package/{dist → lib}/commands/versions/versions.d.ts +0 -0
- /package/{dist → lib}/commands/versions/versions.js +0 -0
- /package/{dist → lib}/create/changelog.d.ts +0 -0
- /package/{dist → lib}/lex.d.ts +0 -0
- /package/{dist → lib}/storybook/index.d.ts +0 -0
- /package/{dist → lib}/storybook/index.js +0 -0
- /package/{dist → lib}/test-react/index.d.ts +0 -0
- /package/{dist → lib}/test-react/index.js +0 -0
- /package/{dist → lib}/types.d.ts +0 -0
- /package/{dist → lib}/types.js +0 -0
- /package/{dist → lib}/utils/deepMerge.d.ts +0 -0
- /package/{dist → lib}/utils/deepMerge.js +0 -0
- /package/{dist → lib}/utils/log.d.ts +0 -0
- /package/{dist → lib}/utils/log.js +0 -0
- /package/{dist → lib}/utils/reactShim.d.ts +0 -0
- /package/{dist → lib}/utils/reactShim.js +0 -0
|
@@ -125,4 +125,4 @@ ${cliName} Error: ${error.message}`, "error", quiet);
|
|
|
125
125
|
export {
|
|
126
126
|
createChangelog
|
|
127
127
|
};
|
|
128
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL2NyZWF0ZS9jaGFuZ2Vsb2cudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDE4LVByZXNlbnQsIE5pdHJvZ2VuIExhYnMsIEluYy5cbiAqIENvcHlyaWdodHMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlLiBTZWUgdGhlIGFjY29tcGFueWluZyBMSUNFTlNFIGZpbGUgZm9yIHRlcm1zLlxuICovXG5pbXBvcnQge2V4ZWNhfSBmcm9tICdleGVjYSc7XG5pbXBvcnQge3dyaXRlRmlsZVN5bmN9IGZyb20gJ2ZzJztcbmltcG9ydCBjYXBpdGFsaXplIGZyb20gJ2xvZGFzaC9jYXBpdGFsaXplLmpzJztcbmltcG9ydCBpc0VtcHR5IGZyb20gJ2xvZGFzaC9pc0VtcHR5LmpzJztcbmltcG9ydCBtZXJnZSBmcm9tICdsb2Rhc2gvbWVyZ2UuanMnO1xuaW1wb3J0IHtEYXRlVGltZX0gZnJvbSAnbHV4b24nO1xuaW1wb3J0IHtqb2luIGFzIHBhdGhKb2lufSBmcm9tICdwYXRoJztcblxuXG5pbXBvcnQge2NyZWF0ZVNwaW5uZXJ9IGZyb20gJy4uL3V0aWxzL2FwcC5qcyc7XG5pbXBvcnQge2xvZ30gZnJvbSAnLi4vdXRpbHMvbG9nLmpzJztcblxuZXhwb3J0IGNvbnN0IGNyZWF0ZUNoYW5nZWxvZyA9IGFzeW5jICh7Y2xpTmFtZSwgY29uZmlnLCBvdXRwdXRGaWxlID0gJ2NoYW5nZWxvZy50bXAubWQnLCBxdWlldH0pOiBQcm9taXNlPG51bWJlcj4gPT4ge1xuICBjb25zdCBzcGlubmVyID0gY3JlYXRlU3Bpbm5lcihxdWlldCk7XG5cbiAgY29uc3QgZ2l0T3B0aW9uczogc3RyaW5nW10gPSBbXG4gICAgJ2xvZycsXG4gICAgJy0zJyxcbiAgICAnLS1wcmV0dHk9Zm9ybWF0OntcImF1dGhvck5hbWVcIjogXCIlYW5cIiwgXCJhdXRob3JFbWFpbFwiOiBcIiVhZVwiLCBcImhhc2hTaG9ydFwiOiBcIiVoXCIsIFwiaGFzaEZ1bGxcIjogXCIlSFwiLCBcInRhZ1wiOiBcIiVEXCIsIFwiZGF0ZVwiOiAlY3QsIFwic3ViamVjdFwiOiBcIiVzXCIsXCJjb21tZW50c1wiOiBcIiViXCJ9W2xleF9icmVha10nXG4gIF07XG5cbiAgdHJ5IHtcbiAgICBjb25zdCBnaXQgPSBhd2FpdCBleGVjYSgnZ2l0JywgZ2l0T3B0aW9ucywge2VuY29kaW5nOiAndXRmOCd9KTtcblxuICAgIGNvbnN0IHtzdGRvdXR9ID0gZ2l0O1xuICAgIGNvbnN0IGVudHJpZXM6IHN0cmluZ1tdID0gc3Rkb3V0LnNwbGl0KCdbbGV4X2JyZWFrXScpLmZpbHRlcigoaXRlbSkgPT4gISFpdGVtKTtcbiAgICBjb25zdCBnaXRKc29uID0gSlNPTi5wYXJzZShcbiAgICAgIChgWyR7ZW50cmllcy5qb2luKCcsJyl9XWApLnJlcGxhY2UoL1wiW15cIl0qKD86XCJcIlteXCJdKikqXCIvZywgKG1hdGNoKSA9PiBtYXRjaC5yZXBsYWNlKC9cXG4vZywgJ1tsZXhfYnJlYWtdJykpXG4gICAgKTtcbiAgICBjb25zdCBjb21taXRDb250ZW50ID0ge307XG4gICAgbGV0IHZlcnNpb246IHN0cmluZyA9ICdVbnJlbGVhc2VkJztcblxuICAgIGdpdEpzb24uZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgY29uc3Qge2NvbW1lbnRzLCBhdXRob3JFbWFpbCwgYXV0aG9yTmFtZSwgZGF0ZSwgaGFzaEZ1bGwsIGhhc2hTaG9ydCwgdGFnfSA9IGl0ZW07XG4gICAgICBjb25zdCBmb3JtYXREYXRlOiBzdHJpbmcgPSBEYXRlVGltZS5mcm9tTWlsbGlzKGRhdGUpLnRvRm9ybWF0KCdEREQnKTtcblxuICAgICAgaWYoIWlzRW1wdHkodGFnKSkge1xuICAgICAgICBjb25zdCByZWZzID0gdGFnLnNwbGl0KCcsICcpO1xuICAgICAgICBjb25zdCB1cGRhdGVkVmVyc2lvbjogc3RyaW5nID0gcmVmcy5yZWR1Y2UoKHJlZjogc3RyaW5nLCB0YWdJdGVtOiBzdHJpbmcpID0+IHtcbiAgICAgICAgICBsZXQgdXBkYXRlZFJlZjogc3RyaW5nID0gcmVmO1xuXG4gICAgICAgICAgaWYodXBkYXRlZFJlZiA9PT0gJycgJiYgdGFnSXRlbS5pbmNsdWRlcygndGFnOiB2JykpIHtcbiAgICAgICAgICAgIHVwZGF0ZWRSZWYgPSB0YWdJdGVtLnJlcGxhY2UoJ3RhZzogdicsICcnKS50cmltKCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIHVwZGF0ZWRSZWY7XG4gICAgICAgIH0sICcnKTtcblxuICAgICAgICBpZighaXNFbXB0eSh1cGRhdGVkVmVyc2lvbikpIHtcbiAgICAgICAgICB2ZXJzaW9uID0gdXBkYXRlZFZlcnNpb247XG4gICAgICAgICAgY29tbWl0Q29udGVudFt2ZXJzaW9uXSA9IHtkYXRlOiBmb3JtYXREYXRlLCB2ZXJzaW9uOiB1cGRhdGVkVmVyc2lvbn07XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYoIWNvbW1pdENvbnRlbnRbdmVyc2lvbl0pIHtcbiAgICAgICAgY29tbWl0Q29udGVudFt2ZXJzaW9uXSA9IHtsaXN0OiB7fX07XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHN1YmplY3RMaW5lczogc3RyaW5nW10gPSBjb21tZW50cy5zcGxpdCgnW2xleF9icmVha10nKTtcbiAgICAgIGNvbnN0IHRvcGljcyA9IHt9O1xuXG5cbiAgICAgIGZvcihsZXQgaWR4OiBudW1iZXIgPSAwLCBsZW46IG51bWJlciA9IHN1YmplY3RMaW5lcy5sZW5ndGg7IGlkeCA8IGxlbjsgaWR4KyspIHtcbiAgICAgICAgY29uc3QgbmV4dExpbmU6IHN0cmluZyA9IHN1YmplY3RMaW5lc1tpZHhdO1xuICAgICAgICBjb25zdCBmb3JtYXRMaW5lOiBzdHJpbmcgPSBuZXh0TGluZS50cmltKCk7XG4gICAgICAgIGNvbnN0IGhlYWRlclBhdHRlcm46IFJlZ0V4cCA9IC9eKFxcdyopKD86XFwoKFtcXHckLlxcLSAqXSopXFwpKT86ICguKikkLztcbiAgICAgICAgY29uc3QgbWF0Y2hlcyA9IGZvcm1hdExpbmUubWF0Y2goaGVhZGVyUGF0dGVybik7XG5cbiAgICAgICAgaWYobWF0Y2hlcykge1xuICAgICAgICAgIGNvbnN0IGl0ZW1UeXBlOiBzdHJpbmcgPSBjYXBpdGFsaXplKG1hdGNoZXNbMV0pO1xuICAgICAgICAgIGNvbnN0IGl0ZW1TY29wZTogc3RyaW5nID0gbWF0Y2hlc1syXTtcbiAgICAgICAgICBjb25zdCBpdGVtRGV0YWlsczogc3RyaW5nID0gbWF0Y2hlc1szXTtcbiAgICAgICAgICBjb25zdCBkZXRhaWxzID0ge1xuICAgICAgICAgICAgYXV0aG9yRW1haWwsXG4gICAgICAgICAgICBhdXRob3JOYW1lLFxuICAgICAgICAgICAgZGV0YWlsczogaXRlbURldGFpbHMsXG4gICAgICAgICAgICBoYXNoRnVsbCxcbiAgICAgICAgICAgIGhhc2hTaG9ydCxcbiAgICAgICAgICAgIHR5cGU6IGl0ZW1UeXBlXG4gICAgICAgICAgfTtcblxuICAgICAgICAgIGlmKCF0b3BpY3NbaXRlbVNjb3BlXSkge1xuICAgICAgICAgICAgdG9waWNzW2l0ZW1TY29wZV0gPSB7W2l0ZW1UeXBlXTogW2RldGFpbHNdfTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdG9waWNzW2l0ZW1TY29wZV1baXRlbVR5cGVdLnB1c2goZGV0YWlscyk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGNvbW1pdENvbnRlbnRbdmVyc2lvbl0gPSBtZXJnZShjb21taXRDb250ZW50W3ZlcnNpb25dLCB7bGlzdDogdG9waWNzfSk7XG4gICAgfSk7XG5cbiAgICBjb25zdCBmb3JtYXRMb2c6IHN0cmluZyA9IE9iamVjdC5rZXlzKGNvbW1pdENvbnRlbnQpLnJlZHVjZSgoY29udGVudDogc3RyaW5nLCB2ZXJzaW9uS2V5OiBzdHJpbmcpID0+IHtcbiAgICAgIGNvbnN0IHtkYXRlLCBsaXN0ID0ge30sIHZlcnNpb259ID0gY29tbWl0Q29udGVudFt2ZXJzaW9uS2V5XTtcbiAgICAgIGNvbnN0IGZvcm1hdFNjb3Blczogc3RyaW5nW10gPSBPYmplY3Qua2V5cyhsaXN0KTtcbiAgICAgIGxldCB1cGRhdGVkQ29udGVudDogc3RyaW5nID0gY29udGVudDtcblxuICAgICAgY29uc3QgdmVyc2lvbkxhYmVsOiBzdHJpbmcgPSB2ZXJzaW9uID8gdmVyc2lvbiA6ICdVbnJlbGVhc2VkJztcbiAgICAgIGNvbnN0IGhlYWRlckxhYmVsczogc3RyaW5nW10gPSBbdmVyc2lvbkxhYmVsXTtcbiAgICAgIGlmKGRhdGUpIHtcbiAgICAgICAgaGVhZGVyTGFiZWxzLnB1c2goYCgke2RhdGV9KWApO1xuICAgICAgfVxuXG4gICAgICB1cGRhdGVkQ29udGVudCArPSBgXFxuIyMgJHtoZWFkZXJMYWJlbHMuam9pbignICcpfVxcbmA7XG5cbiAgICAgIGZvcm1hdFNjb3Blcy5mb3JFYWNoKChzY29wZU5hbWU6IHN0cmluZykgPT4ge1xuICAgICAgICB1cGRhdGVkQ29udGVudCArPSBgXFxuIyMjICR7c2NvcGVOYW1lfVxcblxcbmA7XG5cbiAgICAgICAgLy8gR2V0IHRoZSB0b3BpYyBuYW1lXG4gICAgICAgIGNvbnN0IGl0ZW1MaXN0ID0gbGlzdFtzY29wZU5hbWVdO1xuICAgICAgICBjb25zdCBpdGVtTmFtZXM6IHN0cmluZ1tdID0gT2JqZWN0LmtleXMoaXRlbUxpc3QpO1xuXG4gICAgICAgIGl0ZW1OYW1lcy5mb3JFYWNoKChpdGVtTmFtZTogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgdXBkYXRlZENvbnRlbnQgKz0gYCogJHtpdGVtTmFtZX1cXG5gO1xuXG4gICAgICAgICAgaXRlbUxpc3RbaXRlbU5hbWVdLmZvckVhY2goKGNoYW5nZXMpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHthdXRob3JFbWFpbCwgYXV0aG9yTmFtZSwgZGV0YWlscywgaGFzaEZ1bGwsIGhhc2hTaG9ydH0gPSBjaGFuZ2VzO1xuICAgICAgICAgICAgY29uc3Qge2dpdFVybH0gPSBjb25maWc7XG4gICAgICAgICAgICBsZXQgaGFzaDogc3RyaW5nID0gYCMke2hhc2hTaG9ydH1gO1xuXG4gICAgICAgICAgICBpZighaXNFbXB0eShnaXRVcmwpKSB7XG4gICAgICAgICAgICAgIGxldCBjb21taXRQYXRoOiBzdHJpbmcgPSAnY29tbWl0cyc7XG5cbiAgICAgICAgICAgICAgaWYoZ2l0VXJsLmluY2x1ZGVzKCdnaXRodWIuY29tJykpIHtcbiAgICAgICAgICAgICAgICBjb21taXRQYXRoID0gJ2NvbW1pdCc7XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICBoYXNoID0gYFsjJHtoYXNoU2hvcnR9XSgke2dpdFVybH0vJHtjb21taXRQYXRofS8ke2hhc2hGdWxsfSlgO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB1cGRhdGVkQ29udGVudCArPSBgICAqICR7ZGV0YWlsc30gKFske2F1dGhvck5hbWV9XShtYWlsdG86JHthdXRob3JFbWFpbH0pIGluICR7aGFzaH0pXFxuYDtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgICB9KTtcblxuICAgICAgcmV0dXJuIHVwZGF0ZWRDb250ZW50O1xuICAgIH0sICcjIENoYW5nZXNcXG4nKTtcblxuICAgIGNvbnN0IGxvZ0ZpbGU6IHN0cmluZyA9IHBhdGhKb2luKHByb2Nlc3MuY3dkKCksIG91dHB1dEZpbGUpO1xuICAgIHdyaXRlRmlsZVN5bmMobG9nRmlsZSwgZm9ybWF0TG9nKTtcbiAgICBzcGlubmVyLnN1Y2NlZWQoJ0dpdCBjaGFuZ2UgbG9nIGNvbXBsZXRlIScpO1xuXG4gICAgLy8gS2lsbCBwcm9jZXNzXG4gICAgcmV0dXJuIDA7XG4gIH0gY2F0Y2goZXJyb3IpIHtcbiAgICAvLyBEaXNwbGF5IGVycm9yIG1lc3NhZ2VcbiAgICBsb2coYFxcbiR7Y2xpTmFtZX0gRXJyb3I6ICR7ZXJyb3IubWVzc2FnZX1gLCAnZXJyb3InLCBxdWlldCk7XG5cbiAgICAvLyBTdG9wIHNwaW5uZXJcbiAgICBzcGlubmVyLmZhaWwoJ0ZhaWxlZCBnZW5lcmF0aW5nIGNoYW5nZSBsb2chJyk7XG5cbiAgICAvLyBLaWxsIHByb2Nlc3NcbiAgICByZXR1cm4gZXJyb3Iuc3RhdHVzO1xuICB9XG59OyJdLAogICJtYXBwaW5ncyI6ICJBQUlBLFNBQVEsYUFBWTtBQUNwQixTQUFRLHFCQUFvQjtBQUM1QixPQUFPLGdCQUFnQjtBQUN2QixPQUFPLGFBQWE7QUFDcEIsT0FBTyxXQUFXO0FBQ2xCLFNBQVEsZ0JBQWU7QUFDdkIsU0FBUSxRQUFRLGdCQUFlO0FBRy9CLFNBQVEscUJBQW9CO0FBQzVCLFNBQVEsV0FBVTtBQUVYLE1BQU0sa0JBQWtCLE9BQU8sRUFBQyxTQUFTLFFBQVEsYUFBYSxvQkFBb0IsTUFBSyxNQUF1QjtBQUNuSCxRQUFNLFVBQVUsY0FBYyxLQUFLO0FBRW5DLFFBQU0sYUFBdUI7QUFBQSxJQUMzQjtBQUFBLElBQ0E7QUFBQSxJQUNBO0FBQUEsRUFDRjtBQUVBLE1BQUk7QUFDRixVQUFNLE1BQU0sTUFBTSxNQUFNLE9BQU8sWUFBWSxFQUFDLFVBQVUsT0FBTSxDQUFDO0FBRTdELFVBQU0sRUFBQyxPQUFNLElBQUk7QUFDakIsVUFBTSxVQUFvQixPQUFPLE1BQU0sYUFBYSxFQUFFLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJO0FBQzdFLFVBQU0sVUFBVSxLQUFLO0FBQUEsTUFDbEIsSUFBSSxRQUFRLEtBQUssR0FBRyxDQUFDLElBQUssUUFBUSx3QkFBd0IsQ0FBQyxVQUFVLE1BQU0sUUFBUSxPQUFPLGFBQWEsQ0FBQztBQUFBLElBQzNHO0FBQ0EsVUFBTSxnQkFBZ0IsQ0FBQztBQUN2QixRQUFJLFVBQWtCO0FBRXRCLFlBQVEsUUFBUSxDQUFDLFNBQVM7QUFDeEIsWUFBTSxFQUFDLFVBQVUsYUFBYSxZQUFZLE1BQU0sVUFBVSxXQUFXLElBQUcsSUFBSTtBQUM1RSxZQUFNLGFBQXFCLFNBQVMsV0FBVyxJQUFJLEVBQUUsU0FBUyxLQUFLO0FBRW5FLFVBQUcsQ0FBQyxRQUFRLEdBQUcsR0FBRztBQUNo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
|
|
128
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL2NyZWF0ZS9jaGFuZ2Vsb2cudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDE4LVByZXNlbnQsIE5pdHJvZ2VuIExhYnMsIEluYy5cbiAqIENvcHlyaWdodHMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlLiBTZWUgdGhlIGFjY29tcGFueWluZyBMSUNFTlNFIGZpbGUgZm9yIHRlcm1zLlxuICovXG5pbXBvcnQge2V4ZWNhfSBmcm9tICdleGVjYSc7XG5pbXBvcnQge3dyaXRlRmlsZVN5bmN9IGZyb20gJ2ZzJztcbmltcG9ydCBjYXBpdGFsaXplIGZyb20gJ2xvZGFzaC9jYXBpdGFsaXplLmpzJztcbmltcG9ydCBpc0VtcHR5IGZyb20gJ2xvZGFzaC9pc0VtcHR5LmpzJztcbmltcG9ydCBtZXJnZSBmcm9tICdsb2Rhc2gvbWVyZ2UuanMnO1xuaW1wb3J0IHtEYXRlVGltZX0gZnJvbSAnbHV4b24nO1xuaW1wb3J0IHtqb2luIGFzIHBhdGhKb2lufSBmcm9tICdwYXRoJztcblxuXG5pbXBvcnQge2NyZWF0ZVNwaW5uZXJ9IGZyb20gJy4uL3V0aWxzL2FwcC5qcyc7XG5pbXBvcnQge2xvZ30gZnJvbSAnLi4vdXRpbHMvbG9nLmpzJztcblxuZXhwb3J0IGNvbnN0IGNyZWF0ZUNoYW5nZWxvZyA9IGFzeW5jICh7Y2xpTmFtZSwgY29uZmlnLCBvdXRwdXRGaWxlID0gJ2NoYW5nZWxvZy50bXAubWQnLCBxdWlldH0pOiBQcm9taXNlPG51bWJlcj4gPT4ge1xuICBjb25zdCBzcGlubmVyID0gY3JlYXRlU3Bpbm5lcihxdWlldCk7XG5cbiAgY29uc3QgZ2l0T3B0aW9uczogc3RyaW5nW10gPSBbXG4gICAgJ2xvZycsXG4gICAgJy0zJyxcbiAgICAnLS1wcmV0dHk9Zm9ybWF0OntcImF1dGhvck5hbWVcIjogXCIlYW5cIiwgXCJhdXRob3JFbWFpbFwiOiBcIiVhZVwiLCBcImhhc2hTaG9ydFwiOiBcIiVoXCIsIFwiaGFzaEZ1bGxcIjogXCIlSFwiLCBcInRhZ1wiOiBcIiVEXCIsIFwiZGF0ZVwiOiAlY3QsIFwic3ViamVjdFwiOiBcIiVzXCIsXCJjb21tZW50c1wiOiBcIiViXCJ9W2xleF9icmVha10nXG4gIF07XG5cbiAgdHJ5IHtcbiAgICBjb25zdCBnaXQgPSBhd2FpdCBleGVjYSgnZ2l0JywgZ2l0T3B0aW9ucywge2VuY29kaW5nOiAndXRmOCd9KTtcblxuICAgIGNvbnN0IHtzdGRvdXR9ID0gZ2l0O1xuICAgIGNvbnN0IGVudHJpZXM6IHN0cmluZ1tdID0gc3Rkb3V0LnNwbGl0KCdbbGV4X2JyZWFrXScpLmZpbHRlcigoaXRlbSkgPT4gISFpdGVtKTtcbiAgICBjb25zdCBnaXRKc29uID0gSlNPTi5wYXJzZShcbiAgICAgIChgWyR7ZW50cmllcy5qb2luKCcsJyl9XWApLnJlcGxhY2UoL1wiW15cIl0qKD86XCJcIlteXCJdKikqXCIvZywgKG1hdGNoKSA9PiBtYXRjaC5yZXBsYWNlKC9cXG4vZywgJ1tsZXhfYnJlYWtdJykpXG4gICAgKTtcbiAgICBjb25zdCBjb21taXRDb250ZW50ID0ge307XG4gICAgbGV0IHZlcnNpb246IHN0cmluZyA9ICdVbnJlbGVhc2VkJztcblxuICAgIGdpdEpzb24uZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgY29uc3Qge2NvbW1lbnRzLCBhdXRob3JFbWFpbCwgYXV0aG9yTmFtZSwgZGF0ZSwgaGFzaEZ1bGwsIGhhc2hTaG9ydCwgdGFnfSA9IGl0ZW07XG4gICAgICBjb25zdCBmb3JtYXREYXRlOiBzdHJpbmcgPSBEYXRlVGltZS5mcm9tTWlsbGlzKGRhdGUpLnRvRm9ybWF0KCdEREQnKTtcblxuICAgICAgaWYoIWlzRW1wdHkodGFnKSkge1xuICAgICAgICBjb25zdCByZWZzID0gdGFnLnNwbGl0KCcsICcpO1xuICAgICAgICBjb25zdCB1cGRhdGVkVmVyc2lvbjogc3RyaW5nID0gcmVmcy5yZWR1Y2UoKHJlZjogc3RyaW5nLCB0YWdJdGVtOiBzdHJpbmcpID0+IHtcbiAgICAgICAgICBsZXQgdXBkYXRlZFJlZjogc3RyaW5nID0gcmVmO1xuXG4gICAgICAgICAgaWYodXBkYXRlZFJlZiA9PT0gJycgJiYgdGFnSXRlbS5pbmNsdWRlcygndGFnOiB2JykpIHtcbiAgICAgICAgICAgIHVwZGF0ZWRSZWYgPSB0YWdJdGVtLnJlcGxhY2UoJ3RhZzogdicsICcnKS50cmltKCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIHVwZGF0ZWRSZWY7XG4gICAgICAgIH0sICcnKTtcblxuICAgICAgICBpZighaXNFbXB0eSh1cGRhdGVkVmVyc2lvbikpIHtcbiAgICAgICAgICB2ZXJzaW9uID0gdXBkYXRlZFZlcnNpb247XG4gICAgICAgICAgY29tbWl0Q29udGVudFt2ZXJzaW9uXSA9IHtkYXRlOiBmb3JtYXREYXRlLCB2ZXJzaW9uOiB1cGRhdGVkVmVyc2lvbn07XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYoIWNvbW1pdENvbnRlbnRbdmVyc2lvbl0pIHtcbiAgICAgICAgY29tbWl0Q29udGVudFt2ZXJzaW9uXSA9IHtsaXN0OiB7fX07XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHN1YmplY3RMaW5lczogc3RyaW5nW10gPSBjb21tZW50cy5zcGxpdCgnW2xleF9icmVha10nKTtcbiAgICAgIGNvbnN0IHRvcGljcyA9IHt9O1xuXG5cbiAgICAgIGZvcihsZXQgaWR4OiBudW1iZXIgPSAwLCBsZW46IG51bWJlciA9IHN1YmplY3RMaW5lcy5sZW5ndGg7IGlkeCA8IGxlbjsgaWR4KyspIHtcbiAgICAgICAgY29uc3QgbmV4dExpbmU6IHN0cmluZyA9IHN1YmplY3RMaW5lc1tpZHhdO1xuICAgICAgICBjb25zdCBmb3JtYXRMaW5lOiBzdHJpbmcgPSBuZXh0TGluZS50cmltKCk7XG4gICAgICAgIGNvbnN0IGhlYWRlclBhdHRlcm46IFJlZ0V4cCA9IC9eKFxcdyopKD86XFwoKFtcXHckLlxcLSAqXSopXFwpKT86ICguKikkLztcbiAgICAgICAgY29uc3QgbWF0Y2hlcyA9IGZvcm1hdExpbmUubWF0Y2goaGVhZGVyUGF0dGVybik7XG5cbiAgICAgICAgaWYobWF0Y2hlcykge1xuICAgICAgICAgIGNvbnN0IGl0ZW1UeXBlOiBzdHJpbmcgPSBjYXBpdGFsaXplKG1hdGNoZXNbMV0pO1xuICAgICAgICAgIGNvbnN0IGl0ZW1TY29wZTogc3RyaW5nID0gbWF0Y2hlc1syXTtcbiAgICAgICAgICBjb25zdCBpdGVtRGV0YWlsczogc3RyaW5nID0gbWF0Y2hlc1szXTtcbiAgICAgICAgICBjb25zdCBkZXRhaWxzID0ge1xuICAgICAgICAgICAgYXV0aG9yRW1haWwsXG4gICAgICAgICAgICBhdXRob3JOYW1lLFxuICAgICAgICAgICAgZGV0YWlsczogaXRlbURldGFpbHMsXG4gICAgICAgICAgICBoYXNoRnVsbCxcbiAgICAgICAgICAgIGhhc2hTaG9ydCxcbiAgICAgICAgICAgIHR5cGU6IGl0ZW1UeXBlXG4gICAgICAgICAgfTtcblxuICAgICAgICAgIGlmKCF0b3BpY3NbaXRlbVNjb3BlXSkge1xuICAgICAgICAgICAgdG9waWNzW2l0ZW1TY29wZV0gPSB7W2l0ZW1UeXBlXTogW2RldGFpbHNdfTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdG9waWNzW2l0ZW1TY29wZV1baXRlbVR5cGVdLnB1c2goZGV0YWlscyk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGNvbW1pdENvbnRlbnRbdmVyc2lvbl0gPSBtZXJnZShjb21taXRDb250ZW50W3ZlcnNpb25dLCB7bGlzdDogdG9waWNzfSk7XG4gICAgfSk7XG5cbiAgICBjb25zdCBmb3JtYXRMb2c6IHN0cmluZyA9IE9iamVjdC5rZXlzKGNvbW1pdENvbnRlbnQpLnJlZHVjZSgoY29udGVudDogc3RyaW5nLCB2ZXJzaW9uS2V5OiBzdHJpbmcpID0+IHtcbiAgICAgIGNvbnN0IHtkYXRlLCBsaXN0ID0ge30sIHZlcnNpb259ID0gY29tbWl0Q29udGVudFt2ZXJzaW9uS2V5XTtcbiAgICAgIGNvbnN0IGZvcm1hdFNjb3Blczogc3RyaW5nW10gPSBPYmplY3Qua2V5cyhsaXN0KTtcbiAgICAgIGxldCB1cGRhdGVkQ29udGVudDogc3RyaW5nID0gY29udGVudDtcblxuICAgICAgY29uc3QgdmVyc2lvbkxhYmVsOiBzdHJpbmcgPSB2ZXJzaW9uID8gdmVyc2lvbiA6ICdVbnJlbGVhc2VkJztcbiAgICAgIGNvbnN0IGhlYWRlckxhYmVsczogc3RyaW5nW10gPSBbdmVyc2lvbkxhYmVsXTtcbiAgICAgIGlmKGRhdGUpIHtcbiAgICAgICAgaGVhZGVyTGFiZWxzLnB1c2goYCgke2RhdGV9KWApO1xuICAgICAgfVxuXG4gICAgICB1cGRhdGVkQ29udGVudCArPSBgXFxuIyMgJHtoZWFkZXJMYWJlbHMuam9pbignICcpfVxcbmA7XG5cbiAgICAgIGZvcm1hdFNjb3Blcy5mb3JFYWNoKChzY29wZU5hbWU6IHN0cmluZykgPT4ge1xuICAgICAgICB1cGRhdGVkQ29udGVudCArPSBgXFxuIyMjICR7c2NvcGVOYW1lfVxcblxcbmA7XG5cbiAgICAgICAgLy8gR2V0IHRoZSB0b3BpYyBuYW1lXG4gICAgICAgIGNvbnN0IGl0ZW1MaXN0ID0gbGlzdFtzY29wZU5hbWVdO1xuICAgICAgICBjb25zdCBpdGVtTmFtZXM6IHN0cmluZ1tdID0gT2JqZWN0LmtleXMoaXRlbUxpc3QpO1xuXG4gICAgICAgIGl0ZW1OYW1lcy5mb3JFYWNoKChpdGVtTmFtZTogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgdXBkYXRlZENvbnRlbnQgKz0gYCogJHtpdGVtTmFtZX1cXG5gO1xuXG4gICAgICAgICAgaXRlbUxpc3RbaXRlbU5hbWVdLmZvckVhY2goKGNoYW5nZXMpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHthdXRob3JFbWFpbCwgYXV0aG9yTmFtZSwgZGV0YWlscywgaGFzaEZ1bGwsIGhhc2hTaG9ydH0gPSBjaGFuZ2VzO1xuICAgICAgICAgICAgY29uc3Qge2dpdFVybH0gPSBjb25maWc7XG4gICAgICAgICAgICBsZXQgaGFzaDogc3RyaW5nID0gYCMke2hhc2hTaG9ydH1gO1xuXG4gICAgICAgICAgICBpZighaXNFbXB0eShnaXRVcmwpKSB7XG4gICAgICAgICAgICAgIGxldCBjb21taXRQYXRoOiBzdHJpbmcgPSAnY29tbWl0cyc7XG5cbiAgICAgICAgICAgICAgaWYoZ2l0VXJsLmluY2x1ZGVzKCdnaXRodWIuY29tJykpIHtcbiAgICAgICAgICAgICAgICBjb21taXRQYXRoID0gJ2NvbW1pdCc7XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICBoYXNoID0gYFsjJHtoYXNoU2hvcnR9XSgke2dpdFVybH0vJHtjb21taXRQYXRofS8ke2hhc2hGdWxsfSlgO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB1cGRhdGVkQ29udGVudCArPSBgICAqICR7ZGV0YWlsc30gKFske2F1dGhvck5hbWV9XShtYWlsdG86JHthdXRob3JFbWFpbH0pIGluICR7aGFzaH0pXFxuYDtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgICB9KTtcblxuICAgICAgcmV0dXJuIHVwZGF0ZWRDb250ZW50O1xuICAgIH0sICcjIENoYW5nZXNcXG4nKTtcblxuICAgIGNvbnN0IGxvZ0ZpbGU6IHN0cmluZyA9IHBhdGhKb2luKHByb2Nlc3MuY3dkKCksIG91dHB1dEZpbGUpO1xuICAgIHdyaXRlRmlsZVN5bmMobG9nRmlsZSwgZm9ybWF0TG9nKTtcbiAgICBzcGlubmVyLnN1Y2NlZWQoJ0dpdCBjaGFuZ2UgbG9nIGNvbXBsZXRlIScpO1xuXG4gICAgLy8gS2lsbCBwcm9jZXNzXG4gICAgcmV0dXJuIDA7XG4gIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgLy8gRGlzcGxheSBlcnJvciBtZXNzYWdlXG4gICAgbG9nKGBcXG4ke2NsaU5hbWV9IEVycm9yOiAke2Vycm9yLm1lc3NhZ2V9YCwgJ2Vycm9yJywgcXVpZXQpO1xuXG4gICAgLy8gU3RvcCBzcGlubmVyXG4gICAgc3Bpbm5lci5mYWlsKCdGYWlsZWQgZ2VuZXJhdGluZyBjaGFuZ2UgbG9nIScpO1xuXG4gICAgLy8gS2lsbCBwcm9jZXNzXG4gICAgcmV0dXJuIGVycm9yLnN0YXR1cztcbiAgfVxufTsiXSwKICAibWFwcGluZ3MiOiAiQUFJQSxTQUFRLGFBQVk7QUFDcEIsU0FBUSxxQkFBb0I7QUFDNUIsT0FBTyxnQkFBZ0I7QUFDdkIsT0FBTyxhQUFhO0FBQ3BCLE9BQU8sV0FBVztBQUNsQixTQUFRLGdCQUFlO0FBQ3ZCLFNBQVEsUUFBUSxnQkFBZTtBQUcvQixTQUFRLHFCQUFvQjtBQUM1QixTQUFRLFdBQVU7QUFFWCxNQUFNLGtCQUFrQixPQUFPLEVBQUMsU0FBUyxRQUFRLGFBQWEsb0JBQW9CLE1BQUssTUFBdUI7QUFDbkgsUUFBTSxVQUFVLGNBQWMsS0FBSztBQUVuQyxRQUFNLGFBQXVCO0FBQUEsSUFDM0I7QUFBQSxJQUNBO0FBQUEsSUFDQTtBQUFBLEVBQ0Y7QUFFQSxNQUFJO0FBQ0YsVUFBTSxNQUFNLE1BQU0sTUFBTSxPQUFPLFlBQVksRUFBQyxVQUFVLE9BQU0sQ0FBQztBQUU3RCxVQUFNLEVBQUMsT0FBTSxJQUFJO0FBQ2pCLFVBQU0sVUFBb0IsT0FBTyxNQUFNLGFBQWEsRUFBRSxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSTtBQUM3RSxVQUFNLFVBQVUsS0FBSztBQUFBLE1BQ2xCLElBQUksUUFBUSxLQUFLLEdBQUcsQ0FBQyxJQUFLLFFBQVEsd0JBQXdCLENBQUMsVUFBVSxNQUFNLFFBQVEsT0FBTyxhQUFhLENBQUM7QUFBQSxJQUMzRztBQUNBLFVBQU0sZ0JBQWdCLENBQUM7QUFDdkIsUUFBSSxVQUFrQjtBQUV0QixZQUFRLFFBQVEsQ0FBQyxTQUFTO0FBQ3hCLFlBQU0sRUFBQyxVQUFVLGFBQWEsWUFBWSxNQUFNLFVBQVUsV0FBVyxJQUFHLElBQUk7QUFDNUUsWUFBTSxhQUFxQixTQUFTLFdBQVcsSUFBSSxFQUFFLFNBQVMsS0FBSztBQUVuRSxVQUFHLENBQUMsUUFBUSxHQUFHLEdBQUc7QUFDaEIsY0FBTSxPQUFPLElBQUksTUFBTSxJQUFJO0FBQzNCLGNBQU0saUJBQXlCLEtBQUssT0FBTyxDQUFDLEtBQWEsWUFBb0I7QUFDM0UsY0FBSSxhQUFxQjtBQUV6QixjQUFHLGVBQWUsTUFBTSxRQUFRLFNBQVMsUUFBUSxHQUFHO0FBQ2xELHlCQUFhLFFBQVEsUUFBUSxVQUFVLEVBQUUsRUFBRSxLQUFLO0FBQUEsVUFDbEQ7QUFFQSxpQkFBTztBQUFBLFFBQ1QsR0FBRyxFQUFFO0FBRUwsWUFBRyxDQUFDLFFBQVEsY0FBYyxHQUFHO0FBQzNCLG9CQUFVO0FBQ1Ysd0JBQWMsT0FBTyxJQUFJLEVBQUMsTUFBTSxZQUFZLFNBQVMsZUFBYztBQUFBLFFBQ3JFO0FBQUEsTUFDRjtBQUVBLFVBQUcsQ0FBQyxjQUFjLE9BQU8sR0FBRztBQUMxQixzQkFBYyxPQUFPLElBQUksRUFBQyxNQUFNLENBQUMsRUFBQztBQUFBLE1BQ3BDO0FBRUEsWUFBTSxlQUF5QixTQUFTLE1BQU0sYUFBYTtBQUMzRCxZQUFNLFNBQVMsQ0FBQztBQUdoQixlQUFRLE1BQWMsR0FBRyxNQUFjLGFBQWEsUUFBUSxNQUFNLEtBQUssT0FBTztBQUM1RSxjQUFNLFdBQW1CLGFBQWEsR0FBRztBQUN6QyxjQUFNLGFBQXFCLFNBQVMsS0FBSztBQUN6QyxjQUFNLGdCQUF3QjtBQUM5QixjQUFNLFVBQVUsV0FBVyxNQUFNLGFBQWE7QUFFOUMsWUFBRyxTQUFTO0FBQ1YsZ0JBQU0sV0FBbUIsV0FBVyxRQUFRLENBQUMsQ0FBQztBQUM5QyxnQkFBTSxZQUFvQixRQUFRLENBQUM7QUFDbkMsZ0JBQU0sY0FBc0IsUUFBUSxDQUFDO0FBQ3JDLGdCQUFNLFVBQVU7QUFBQSxZQUNkO0FBQUEsWUFDQTtBQUFBLFlBQ0EsU0FBUztBQUFBLFlBQ1Q7QUFBQSxZQUNBO0FBQUEsWUFDQSxNQUFNO0FBQUEsVUFDUjtBQUVBLGNBQUcsQ0FBQyxPQUFPLFNBQVMsR0FBRztBQUNyQixtQkFBTyxTQUFTLElBQUksRUFBQyxDQUFDLFFBQVEsR0FBRyxDQUFDLE9BQU8sRUFBQztBQUFBLFVBQzVDLE9BQU87QUFDTCxtQkFBTyxTQUFTLEVBQUUsUUFBUSxFQUFFLEtBQUssT0FBTztBQUFBLFVBQzFDO0FBQUEsUUFDRjtBQUFBLE1BQ0Y7QUFFQSxvQkFBYyxPQUFPLElBQUksTUFBTSxjQUFjLE9BQU8sR0FBRyxFQUFDLE1BQU0sT0FBTSxDQUFDO0FBQUEsSUFDdkUsQ0FBQztBQUVELFVBQU0sWUFBb0IsT0FBTyxLQUFLLGFBQWEsRUFBRSxPQUFPLENBQUMsU0FBaUIsZUFBdUI7QUFDbkcsWUFBTSxFQUFDLE1BQU0sT0FBTyxDQUFDLEdBQUcsU0FBQUEsU0FBTyxJQUFJLGNBQWMsVUFBVTtBQUMzRCxZQUFNLGVBQXlCLE9BQU8sS0FBSyxJQUFJO0FBQy9DLFVBQUksaUJBQXlCO0FBRTdCLFlBQU0sZUFBdUJBLFdBQVVBLFdBQVU7QUFDakQsWUFBTSxlQUF5QixDQUFDLFlBQVk7QUFDNUMsVUFBRyxNQUFNO0FBQ1AscUJBQWEsS0FBSyxJQUFJLElBQUksR0FBRztBQUFBLE1BQy9CO0FBRUEsd0JBQWtCO0FBQUEsS0FBUSxhQUFhLEtBQUssR0FBRyxDQUFDO0FBQUE7QUFFaEQsbUJBQWEsUUFBUSxDQUFDLGNBQXNCO0FBQzFDLDBCQUFrQjtBQUFBLE1BQVMsU0FBUztBQUFBO0FBQUE7QUFHcEMsY0FBTSxXQUFXLEtBQUssU0FBUztBQUMvQixjQUFNLFlBQXNCLE9BQU8sS0FBSyxRQUFRO0FBRWhELGtCQUFVLFFBQVEsQ0FBQyxhQUFxQjtBQUN0Qyw0QkFBa0IsS0FBSyxRQUFRO0FBQUE7QUFFL0IsbUJBQVMsUUFBUSxFQUFFLFFBQVEsQ0FBQyxZQUFZO0FBQ3RDLGtCQUFNLEVBQUMsYUFBYSxZQUFZLFNBQVMsVUFBVSxVQUFTLElBQUk7QUFDaEUsa0JBQU0sRUFBQyxPQUFNLElBQUk7QUFDakIsZ0JBQUksT0FBZSxJQUFJLFNBQVM7QUFFaEMsZ0JBQUcsQ0FBQyxRQUFRLE1BQU0sR0FBRztBQUNuQixrQkFBSSxhQUFxQjtBQUV6QixrQkFBRyxPQUFPLFNBQVMsWUFBWSxHQUFHO0FBQ2hDLDZCQUFhO0FBQUEsY0FDZjtBQUVBLHFCQUFPLEtBQUssU0FBUyxLQUFLLE1BQU0sSUFBSSxVQUFVLElBQUksUUFBUTtBQUFBLFlBQzVEO0FBRUEsOEJBQWtCLE9BQU8sT0FBTyxNQUFNLFVBQVUsWUFBWSxXQUFXLFFBQVEsSUFBSTtBQUFBO0FBQUEsVUFDckYsQ0FBQztBQUFBLFFBQ0gsQ0FBQztBQUFBLE1BQ0gsQ0FBQztBQUVELGFBQU87QUFBQSxJQUNULEdBQUcsYUFBYTtBQUVoQixVQUFNLFVBQWtCLFNBQVMsUUFBUSxJQUFJLEdBQUcsVUFBVTtBQUMxRCxrQkFBYyxTQUFTLFNBQVM7QUFDaEMsWUFBUSxRQUFRLDBCQUEwQjtBQUcxQyxXQUFPO0FBQUEsRUFDVCxTQUFTLE9BQU87QUFFZCxRQUFJO0FBQUEsRUFBSyxPQUFPLFdBQVcsTUFBTSxPQUFPLElBQUksU0FBUyxLQUFLO0FBRzFELFlBQVEsS0FBSywrQkFBK0I7QUFHNUMsV0FBTyxNQUFNO0FBQUEsRUFDZjtBQUNGOyIsCiAgIm5hbWVzIjogWyJ2ZXJzaW9uIl0KfQo=
|
package/{dist → lib}/index.d.ts
RENAMED
|
@@ -27,6 +27,7 @@ export * from './commands/link/link.js';
|
|
|
27
27
|
export * from './commands/lint/lint.js';
|
|
28
28
|
export * from './commands/migrate/migrate.js';
|
|
29
29
|
export * from './commands/publish/publish.js';
|
|
30
|
+
export * from './commands/serverless/serverless.js';
|
|
30
31
|
export * from './commands/storybook/storybook.js';
|
|
31
32
|
export * from './commands/test/test.js';
|
|
32
33
|
export * from './commands/update/update.js';
|
package/{dist → lib}/index.js
RENAMED
|
@@ -25,6 +25,7 @@ export * from "./commands/link/link.js";
|
|
|
25
25
|
export * from "./commands/lint/lint.js";
|
|
26
26
|
export * from "./commands/migrate/migrate.js";
|
|
27
27
|
export * from "./commands/publish/publish.js";
|
|
28
|
+
export * from "./commands/serverless/serverless.js";
|
|
28
29
|
export * from "./commands/storybook/storybook.js";
|
|
29
30
|
export * from "./commands/test/test.js";
|
|
30
31
|
export * from "./commands/update/update.js";
|
|
@@ -35,4 +36,4 @@ export {
|
|
|
35
36
|
LexConfig,
|
|
36
37
|
defaultConfigValues
|
|
37
38
|
};
|
|
38
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
39
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vc3JjL2luZGV4LnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAxOC1QcmVzZW50LCBOaXRyb2dlbiBMYWJzLCBJbmMuXG4gKiBDb3B5cmlnaHRzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZS4gU2VlIHRoZSBhY2NvbXBhbnlpbmcgTElDRU5TRSBmaWxlIGZvciB0ZXJtcy5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7TGV4Q29uZmlnVHlwZX0gZnJvbSAnLi9MZXhDb25maWcuanMnO1xuXG4vLyBFeHBvcnQgdHlwZXMgZnJvbSB0eXBlcy50c1xuZXhwb3J0ICogZnJvbSAnLi90eXBlcy5qcyc7XG5cbi8vIEV4cG9ydCBjbGFzc2VzIGFuZCB2YWx1ZXMgZnJvbSBMZXhDb25maWdcbmV4cG9ydCB7XG4gIGRlZmF1bHRDb25maWdWYWx1ZXMsIExleENvbmZpZ1xufSBmcm9tICcuL0xleENvbmZpZy5qcyc7XG5cbi8vIEV4cG9ydCBDb25maWcgYXMgYm90aCBhIHR5cGUgYW5kIGEgbmFtZXNwYWNlIHdpdGggY3JlYXRlIG1ldGhvZCBmb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eVxuZXhwb3J0IGNvbnN0IENvbmZpZyA9IHtcbiAgY3JlYXRlOiAoY29uZmlnOiBMZXhDb25maWdUeXBlKSA9PiBjb25maWdcbn07XG5cbi8vIEV4cG9ydCB1dGlsaXR5IGZ1bmN0aW9uc1xuZXhwb3J0ICogZnJvbSAnLi91dGlscy9haVNlcnZpY2UuanMnO1xuZXhwb3J0ICogZnJvbSAnLi91dGlscy9hcHAuanMnO1xuZXhwb3J0ICogZnJvbSAnLi91dGlscy9maWxlLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vdXRpbHMvbG9nLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vdXRpbHMvcmVhY3RTaGltLmpzJztcblxuLy8gRXhwb3J0IFN0b3J5Ym9vayBtb2R1bGVcbmV4cG9ydCAqIGZyb20gJy4vc3Rvcnlib29rL2luZGV4LmpzJztcblxuLy8gRXhwb3J0IGNvbW1hbmRzXG5leHBvcnQgKiBmcm9tICcuL2NvbW1hbmRzL2FpL2FpLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vY29tbWFuZHMvYnVpbGQvYnVpbGQuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21tYW5kcy9jbGVhbi9jbGVhbi5qcyc7XG5leHBvcnQgKiBmcm9tICcuL2NvbW1hbmRzL2NvbXBpbGUvY29tcGlsZS5qcyc7XG5leHBvcnQgKiBmcm9tICcuL2NvbW1hbmRzL2NvbmZpZy9jb25maWcuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21tYW5kcy9jb3B5L2NvcHkuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21tYW5kcy9jcmVhdGUvY3JlYXRlLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vY29tbWFuZHMvZGV2L2Rldi5qcyc7XG5leHBvcnQgKiBmcm9tICcuL2NvbW1hbmRzL2luaXQvaW5pdC5qcyc7XG5leHBvcnQgKiBmcm9tICcuL2NvbW1hbmRzL2xpbmsvbGluay5qcyc7XG5leHBvcnQgKiBmcm9tICcuL2NvbW1hbmRzL2xpbnQvbGludC5qcyc7XG5leHBvcnQgKiBmcm9tICcuL2NvbW1hbmRzL21pZ3JhdGUvbWlncmF0ZS5qcyc7XG5leHBvcnQgKiBmcm9tICcuL2NvbW1hbmRzL3B1Ymxpc2gvcHVibGlzaC5qcyc7XG5leHBvcnQgKiBmcm9tICcuL2NvbW1hbmRzL3NlcnZlcmxlc3Mvc2VydmVybGVzcy5qcyc7XG5leHBvcnQgKiBmcm9tICcuL2NvbW1hbmRzL3N0b3J5Ym9vay9zdG9yeWJvb2suanMnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21tYW5kcy90ZXN0L3Rlc3QuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21tYW5kcy91cGRhdGUvdXBkYXRlLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vY29tbWFuZHMvdXBncmFkZS91cGdyYWRlLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vY29tbWFuZHMvdmVyc2lvbnMvdmVyc2lvbnMuanMnO1xuIl0sCiAgIm1hcHBpbmdzIjogIkFBUUEsY0FBYztBQUdkO0FBQUEsRUFDRTtBQUFBLEVBQXFCO0FBQUEsT0FDaEI7QUFHQSxNQUFNLFNBQVM7QUFBQSxFQUNwQixRQUFRLENBQUMsV0FBMEI7QUFDckM7QUFHQSxjQUFjO0FBQ2QsY0FBYztBQUNkLGNBQWM7QUFDZCxjQUFjO0FBQ2QsY0FBYztBQUdkLGNBQWM7QUFHZCxjQUFjO0FBQ2QsY0FBYztBQUNkLGNBQWM7QUFDZCxjQUFjO0FBQ2QsY0FBYztBQUNkLGNBQWM7QUFDZCxjQUFjO0FBQ2QsY0FBYztBQUNkLGNBQWM7QUFDZCxjQUFjO0FBQ2QsY0FBYztBQUNkLGNBQWM7QUFDZCxjQUFjO0FBQ2QsY0FBYztBQUNkLGNBQWM7QUFDZCxjQUFjO0FBQ2QsY0FBYztBQUNkLGNBQWM7QUFDZCxjQUFjOyIsCiAgIm5hbWVzIjogW10KfQo=
|
package/lib/lex.js
ADDED
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import { Option, program } from "commander";
|
|
3
|
+
import { readFileSync } from "fs";
|
|
4
|
+
import { createRequire } from "module";
|
|
5
|
+
import { dirname, resolve } from "path";
|
|
6
|
+
import { fileURLToPath } from "url";
|
|
7
|
+
import { aiFunction } from "./commands/ai/ai.js";
|
|
8
|
+
import { build } from "./commands/build/build.js";
|
|
9
|
+
import { clean } from "./commands/clean/clean.js";
|
|
10
|
+
import { compile } from "./commands/compile/compile.js";
|
|
11
|
+
import { config } from "./commands/config/config.js";
|
|
12
|
+
import { create } from "./commands/create/create.js";
|
|
13
|
+
import { dev } from "./commands/dev/dev.js";
|
|
14
|
+
import { init } from "./commands/init/init.js";
|
|
15
|
+
import { linked } from "./commands/link/link.js";
|
|
16
|
+
import { lint } from "./commands/lint/lint.js";
|
|
17
|
+
import { migrate } from "./commands/migrate/migrate.js";
|
|
18
|
+
import { publish } from "./commands/publish/publish.js";
|
|
19
|
+
import { serverless } from "./commands/serverless/serverless.js";
|
|
20
|
+
import { storybook } from "./commands/storybook/storybook.js";
|
|
21
|
+
import { test } from "./commands/test/test.js";
|
|
22
|
+
import { update } from "./commands/update/update.js";
|
|
23
|
+
import { upgrade } from "./commands/upgrade/upgrade.js";
|
|
24
|
+
import { versions } from "./commands/versions/versions.js";
|
|
25
|
+
process.env.LEX_ROOT = dirname(fileURLToPath(import.meta.url));
|
|
26
|
+
const lexNodeModules = resolve(dirname(fileURLToPath(import.meta.url)), "../node_modules");
|
|
27
|
+
if (!process.env.NODE_PATH) {
|
|
28
|
+
process.env.NODE_PATH = lexNodeModules;
|
|
29
|
+
} else if (!process.env.NODE_PATH.split(":").includes(lexNodeModules)) {
|
|
30
|
+
process.env.NODE_PATH += `:${lexNodeModules}`;
|
|
31
|
+
}
|
|
32
|
+
const require2 = createRequire(import.meta.url);
|
|
33
|
+
require2("module").Module._initPaths();
|
|
34
|
+
const packagePath = fileURLToPath(new URL("../package.json", import.meta.url));
|
|
35
|
+
const packageJson = JSON.parse(readFileSync(packagePath, "utf8"));
|
|
36
|
+
program.command("build").option("--assist", "Enable AI assistance for fixing build errors.", false).option("--analyze", "Enable AI analysis for build optimization suggestions or invoke webpack-bundle-analyzer plugin.", false).addOption(new Option("--bundler <n>", 'Bundler to use ("webpack" or "esbuild"). Default: "webpack".').choices(["webpack", "esbuild"]).default("webpack")).option("--config <path>", "Custom Webpack configuration file path (ie. webpack.config.js).").option("--configName <value...>", "Name of the configuration to use.").option("--defineProcessEnvNodeEnv <value>", "Sets process.env.NODE_ENV to the specified value. (Currently an alias for `--node-env`)").option("--devtool <value>", "A developer tool to enhance debugging (false | eval | [inline-|hidden-|eval-][nosources-][cheap-[module-]]source-map).").option("--disableInterpret", "Disable interpret for loading the config file.", false).option("--entry <value...>", "A module that is loaded upon startup. Only the last one is exported.").option("--env <value>", "Environment passed to the configuration when it is a function.").option("--failOnWarnings", "Stop webpack-cli process with non-zero exit code on warnings from webpack", false).addOption(new Option("--format <value>", 'This sets the output format for the generated JavaScript files. Default: "cjs".').choices(["cjs", "esm"]).default("cjs")).option("--json <value>", "Prints result as JSON or store it in a file.").option("--lexConfig <path>", "Lex configuration file path (lex.config.js).").option("--merge", 'Merge two or more configurations using "webpack-merge".', false).addOption(new Option("--mode <type>", 'Webpack mode ("production" or "development"). Default: "development".').choices(["development", "production"]).default("development")).option("--name <value>", "Name of the configuration. Used when loading multiple configurations.").option("--noDevtool", 'Negative "devtool" option.', false).option("--noStats", 'Negative "stats" option.', false).option("--noTarget", 'Negative "target" option.', false).option("--noWatch", 'Negative "watch" option.', false).option("--noWatchOptionsStdin", 'Negative "watch-options-stdin" option.', false).option("--nodeEnv <value>", "Sets process.env.NODE_ENV to the specified value.").option("--outputPath <value>", "The output directory as **absolute path** (required).").option("--quiet", "No Lex notifications printed in the console.", false).option("--remove", "Removes all files from the output directory before compiling.", false).option("--sourcePath <path>", "Source path").option("--stats <value>", "Stats options object or preset name.").option("--static", "Creates static HTML files when building app.", false).option("--target <value>", "Environment to build for. Environment to build for. An array of environments to build for all of them when possible.").option("--translations", "Process translation files and output flattened JSON.", false).option("--typescript", "Transpile as Typescript.", false).option("--variables <n>", `Environment variables to set in "process.env". (ie. "{NODE_ENV: 'production'}").`).option("--watch", "Watch for changes.", false).option("--watchOptionsStdin", "Stop watching when stdin stream has ended.", false).action((cmd) => build(cmd, process.exit).then(() => {
|
|
37
|
+
}));
|
|
38
|
+
program.command("clean").option("--quiet", "No Lex notifications printed in the console.").option("--snapshots", 'Remove all "__snapshots__" directories.').action((cmd) => clean(cmd, process.exit).then(() => {
|
|
39
|
+
}));
|
|
40
|
+
program.command("config <type>").option("--quiet", "No Lex notifications printed in the console.").option("--json <path>", "Save output to json file.").action((type, cmd) => config(type, cmd, process.exit).then(() => {
|
|
41
|
+
}));
|
|
42
|
+
program.command("compile").option("--config <path>", "Transpiler configuration file path (ie. tsconfig.json).").option("--environment <n>", 'Target environment. "node" or "web". Default: "node".').option("--lexConfig <path>", "Custom Lex configuration file path (ie. lex.config.js).").option("--outputPath <path>", "Output path").option("--remove", "Removes all files from the output directory before compiling.").option("--sourcePath <path>", "Source path").option("--typescript", "Transpile as Typescript.").option("--quiet", "No Lex notifications printed in the console.").option("--watch", "Watches for changes and compiles.").action((cmd) => compile(cmd, process.exit).then(() => {
|
|
43
|
+
}));
|
|
44
|
+
program.command("create <type>").option("--outputFile <path>", "Output filename.").option("--outputName <n>", "Output name.").option("--quiet", "No Lex notifications printed in the console.").option("--typescript", "Create Typescript version.").action((type, cmd) => create(type, cmd, process.exit).then(() => {
|
|
45
|
+
}));
|
|
46
|
+
program.command("dev").option("--bundleAnalyzer", "Run bundle analyzer.").option("--config <path>", "Custom Webpack configuration file path (ie. webpack.config.js).").option("--lexConfig <path>", "Custom Lex configuration file path (ie. lex.config.js).").option("--open", "Automatically open dev server in a new browser window.").option("--outputPath <path>", "Output path").option("--quiet", "No Lex notifications printed in the console.").option("--remove", "Removes all files from the output directory before compiling.").option("--sourcePath <path>", "Source path").option("--translations", "Process translation files and output flattened JSON.", false).option("--typescript", "Transpile as Typescript.").option("--usePublicIp", "Force refresh the cached public IP address.").option("--variables <n>", `Environment variables to set in "process.env". (ie. "{NODE_ENV: 'development'}").`).option("--watch", "Watch for changes.").action((cmd) => dev(cmd, process.exit).then(() => {
|
|
47
|
+
}));
|
|
48
|
+
program.command("init <appName> [packageName]").option("--install", "Install dependencies.").addOption(new Option("--package-manager <manager>", "Which package manager to use. Default: npm").choices(["npm", "yarn"]).default("npm")).option("--quiet", "No Lex notifications printed in the console.").option("--typescript", "Use a Typescript based app.").action((appName, packageName, cmd) => init(appName, packageName, cmd, process.exit).then(() => {
|
|
49
|
+
}));
|
|
50
|
+
program.command("linked").option("--quiet", "No Lex notifications printed in the console.").action((cmd) => linked(cmd, process.exit).then(() => {
|
|
51
|
+
}));
|
|
52
|
+
program.command("lint").option("--cache", "Only check changed files. Default: false.", false).option("--cacheLocation <path>", "Path to the cache file or directory.").option("--color", "Force enabling of color.", false).option("--config <path>", "Use this configuration, overriding .eslintrc.* config options if present. If not specified and no local config exists, Lex will use its default config.").option("--debug", "Output debugging information.", false).option("--envInfo", "Output execution environment information. Default: false.", false).option("--env <n>", "Specify environments.").option("--fix", "Apply AI fixes after built-in ESLint fixes (same as --fix).", false).option("--fixDryRun", "Automatically fix problems without saving the changes to the file system.", false).option("--fixType <type>", "Specify the types of fixes to apply (problem, suggestion, layout).").option("--format <n>", "Use a specific output format. Default: stylish.").option("--global <variables>", "Define global variables.").option("--ignorePath <path>", "Specify path of ignore file.").option("--ignorePattern <pattern>", "Pattern of files to ignore (in addition to those in .eslintignore).").option("--init", "Run config initialization wizard. Default: false.", false).option("--maxWarnings <num>", "Number of warnings to trigger nonzero exit code. Default: -1.").option("--noColor", "Force disabling of color.", false).option("--noEslintrc", "Disable use of configuration from .eslintrc.*.", false).option("--noIgnore", "Disable use of ignore files and patterns.", false).option("--noInlineConfig", "Prevent comments from changing config or rules.", false).option("--outputFile <path>", "Specify file to write report to.").option("--parser <n>", "Specify the parser to be used.").option("--parserOptions <options>", "Specify parser options.").option("--plugin <plugins>", "Specify plugins.").option("--printConfig <path>", "Print the configuration for the given file.").option("--quiet", "No Lex notifications printed in the console.", false).option("--remove-comments", "Remove all comments except TODOs and copyright notices.", false).option("--reportUnusedDisableDirectives", "Adds reported errors for unused eslint-disable directives.", false).option("--resolvePluginsRelativeTo <path>", "A folder where plugins should be resolved from.").option("--rule <path>", "Specify rules.").option("--rulesdir <path>", "Use additional rules from this directory.").option("--stdin", "Lint code provided on <STDIN> - Default: false.", false).option("--stdinFilename <n>", "Specify filename to process STDIN as.").action((cmd) => lint(cmd, process.exit).then(() => {
|
|
53
|
+
}));
|
|
54
|
+
program.command("migrate").option("-q, --quiet", "No Lex notifications printed in the console.").action((cmd) => migrate(cmd, process.exit).then(() => {
|
|
55
|
+
}));
|
|
56
|
+
program.command("publish").addOption(new Option("--bump <type>", 'Increments the version. Types include: major, minor, patch, beta, alpha, rc. Default: "patch".').choices(["major", "minor", "patch", "beta", "alpha", "rc"]).default("patch")).option("--newVersion <versionNumber>", "Publish as a specific version.").option("--otp <code>", "Provide a two-factor code.").addOption(new Option("--package-manager <manager>", "Which package manager to use. Default: npm").choices(["npm", "yarn"]).default("npm")).option("--private", "Publishes the module as restricted.").option("--quiet", "No Lex notifications printed in the console.").option("--tag <tag>", "Registers the published package with the given tag.").action((cmd) => publish(cmd, process.exit).then(() => {
|
|
57
|
+
}));
|
|
58
|
+
program.command("serverless").option("--config <path>", "Custom configuration file path (default: lex.config.mjs).").option("--host <host>", "Host to bind the server to (default: localhost).").option("--httpPort <port>", "HTTP server port (default: 3000).").option("--httpsPort <port>", "HTTPS server port (default: 3001).").option("--wsPort <port>", "WebSocket server port (default: 3002).").option("--quiet", "No Lex notifications printed in the console.").option("--remove", "Removes all files from the output directory before starting.").option("--usePublicIp", "Force refresh the cached public IP address.").option("--variables <json>", "Environment variables to set in process.env.").option("--debug", "Enable GraphQL debug logging to see queries, variables, and operations.").option("--printOutput", "Print GraphQL response output including status, headers, and body.").action((cmd) => serverless(cmd, process.exit).then(() => {
|
|
59
|
+
}));
|
|
60
|
+
program.command("storybook").option("--config <path>", "Custom Storybook configuration directory path (ie. .storybook).").option("--lexConfig <path>", "Custom Lex configuration file path (ie. lex.config.js).").option("--open", "Automatically open Storybook in a new browser window.").option("--port <number>", "Port number for the Storybook server.").option("--quiet", "No Lex notifications printed in the console.").option("--static", "Build a static Storybook site instead of starting dev server.").option("--variables <n>", `Environment variables to set in "process.env". (ie. "{STORYBOOK_THEME: 'dark'}").`).option("--verbose", "Show detailed webpack progress output.").action((cmd) => storybook(cmd, process.exit).then(() => {
|
|
61
|
+
}));
|
|
62
|
+
program.command("test").option("--analyze", "Use AI to analyze test coverage and suggest improvements.", false).option("--debugTests", "Use AI to debug test failures and suggest fixes.", false).option("--generate", "Use AI to generate test cases for untested code.", false).option("--bail", "Exit the test suite immediately upon the first failing test suite.").option("--changedFilesWithAncestor", "Runs tests related to the current changes and the changes made in the last commit.").option("--changedSince", "Runs tests related the changes since the provided branch.").option("--ci", "When this option is provided, Jest will assume it is running in a CI environment.").option("--clearCache", "Clear Jest cache.").option("--collectCoverageFrom <glob>", "A glob pattern relative to matching the files that coverage info needs to be collected from.").option("--colors", "Forces test results output highlighting even if stdout is not a TTY.").option("--config <path>", "Custom Jest configuration file path (ie. jest.config.js).").option("--debug", "Print debugging info about your Jest config.").option("--detectOpenHandles", "Attempt to collect and print open handles preventing Jest from exiting cleanly").option("--environment <n>", 'Target environment. "node" or "web". Default: "node".').option("--env", "The test environment used for all tests. This can point to any file or node module. Examples: jsdom, node or path/to/my-environment.js.").option("--errorOnDeprecated", "Make calling deprecated APIs throw helpful error messages.").option("--expand", "Use this flag to show full diffs and errors instead of a patch.").option("--forceExit", "Force Jest to exit after all tests have completed running.").option("--json", "Prints the test results in JSON.").option("--lastCommit", "Run all tests affected by file changes in the last commit made.").option("--lexConfig <path>", "Custom Lex configuration file path (ie. lex.config.js).").option("--listTests", "Lists all tests as JSON that Jest will run given the arguments, and exits.").option("--logHeapUsage", "Logs the heap usage after every test.").option("--maxWorkers <num>", "Specifies the maximum number of workers the worker-pool will spawn for running tests. ").option("--noStackTrace", "Disables stack trace in test results output.").option("--notify", "Activates notifications for test results.").option("--onlyChanged", "un based on which files have changed in the current repository. ").option("--outputFile <filename>", "Write test results to a file when the --json option is also specified.").option("--passWithNoTests", "Allows the test suite to pass when no files are found.").option("--quiet", "No Lex notifications printed in the console.").option("--runInBand", "Run all tests serially in the current process, rather than creating a worker pool of child processes that run tests.").option("--setup <path>", "Jest setup file path.").option("--showConfig", "Print your Jest config and then exits.").option("--silent", "Prevent tests from printing messages through the console.").option("--testLocationInResults", "Adds a location field to test results.").option("--testNamePattern <regex>", "Run only tests with a name that matches the regex. ").option("--testPathPattern <regex>", "A regexp pattern string that is matched against all tests paths before executing the test.").option("--typescript", "Transpile as Typescript.").option("--update", 'Update snapshots. Runs "jest --updateSnapshots"').option("--useStderr", "Divert all output to stderr.").option("--verbose", "Display individual test results with the test suite hierarchy.").option("--watch <path>", "Watch files for changes and rerun tests related to changed files.").option("--watchAll", "Watch files for changes and rerun all tests when something changes.").action((options, cmd) => test(options, cmd.args, process.exit).then(() => {
|
|
63
|
+
}));
|
|
64
|
+
program.command("update").option("--interactive", "Choose which packages to update.").addOption(new Option("--package-manager <manager>", "Which package manager to use. Default: npm").choices(["npm", "yarn"]).default("npm")).option("--quiet", "No Lex notifications printed in the console.").option("--registry", "Add a custom registry url.").action((cmd) => update(cmd, process.exit).then(() => {
|
|
65
|
+
}));
|
|
66
|
+
program.command("upgrade").addOption(new Option("--package-manager <manager>", "Which package manager to use. Default: npm").choices(["npm", "yarn"]).default("npm")).option("--quiet", "No Lex notifications printed in the console.").action((cmd) => upgrade(cmd, process.exit).then(() => {
|
|
67
|
+
}));
|
|
68
|
+
program.command("ai").option("--context", "Include project context in the AI prompt.", true).option("--file <path>", "Specific file to operate on.").option("--lexConfig <path>", "Custom Lex configuration file path (ie. lex.config.js).").option("--model <model>", "AI model to use. Default: gpt-4o.").option("--prompt <text>", "The prompt to send to the AI.").option("--quiet", "No Lex notifications printed in the console.").addOption(new Option("--task <task>", "Type of AI task to perform.").choices(["generate", "explain", "test", "optimize", "help"]).default("help")).action((cmd) => aiFunction(cmd).then(() => {
|
|
69
|
+
}));
|
|
70
|
+
program.command("versions").option("--json", "Print the version as a JSON object.").action((cmd) => versions(cmd, process.exit).then(() => {
|
|
71
|
+
}));
|
|
72
|
+
program.version(packageJson.version).parse(process.argv);
|
|
73
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vc3JjL2xleC50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiIyEvdXNyL2Jpbi9lbnYgbm9kZVxuLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTgtUHJlc2VudCwgTml0cm9nZW4gTGFicywgSW5jLlxuICogQ29weXJpZ2h0cyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UuIFNlZSB0aGUgYWNjb21wYW55aW5nIExJQ0VOU0UgZmlsZSBmb3IgdGVybXMuXG4gKi9cbmltcG9ydCB7T3B0aW9uLCBwcm9ncmFtfSBmcm9tICdjb21tYW5kZXInO1xuaW1wb3J0IHtyZWFkRmlsZVN5bmN9IGZyb20gJ2ZzJztcbmltcG9ydCB7Y3JlYXRlUmVxdWlyZX0gZnJvbSAnbW9kdWxlJztcbmltcG9ydCB7ZGlybmFtZSwgcmVzb2x2ZX0gZnJvbSAncGF0aCc7XG5pbXBvcnQge2ZpbGVVUkxUb1BhdGh9IGZyb20gJ3VybCc7XG5cbmltcG9ydCB7YWlGdW5jdGlvbn0gZnJvbSAnLi9jb21tYW5kcy9haS9haS5qcyc7XG5pbXBvcnQge2J1aWxkfSBmcm9tICcuL2NvbW1hbmRzL2J1aWxkL2J1aWxkLmpzJztcbmltcG9ydCB7Y2xlYW59IGZyb20gJy4vY29tbWFuZHMvY2xlYW4vY2xlYW4uanMnO1xuaW1wb3J0IHtjb21waWxlfSBmcm9tICcuL2NvbW1hbmRzL2NvbXBpbGUvY29tcGlsZS5qcyc7XG5pbXBvcnQge2NvbmZpZ30gZnJvbSAnLi9jb21tYW5kcy9jb25maWcvY29uZmlnLmpzJztcbmltcG9ydCB7Y3JlYXRlfSBmcm9tICcuL2NvbW1hbmRzL2NyZWF0ZS9jcmVhdGUuanMnO1xuaW1wb3J0IHtkZXZ9IGZyb20gJy4vY29tbWFuZHMvZGV2L2Rldi5qcyc7XG5pbXBvcnQge2luaXR9IGZyb20gJy4vY29tbWFuZHMvaW5pdC9pbml0LmpzJztcbmltcG9ydCB7bGlua2VkfSBmcm9tICcuL2NvbW1hbmRzL2xpbmsvbGluay5qcyc7XG5pbXBvcnQge2xpbnR9IGZyb20gJy4vY29tbWFuZHMvbGludC9saW50LmpzJztcbmltcG9ydCB7bWlncmF0ZX0gZnJvbSAnLi9jb21tYW5kcy9taWdyYXRlL21pZ3JhdGUuanMnO1xuaW1wb3J0IHtwdWJsaXNofSBmcm9tICcuL2NvbW1hbmRzL3B1Ymxpc2gvcHVibGlzaC5qcyc7XG5pbXBvcnQge3NlcnZlcmxlc3N9IGZyb20gJy4vY29tbWFuZHMvc2VydmVybGVzcy9zZXJ2ZXJsZXNzLmpzJztcbmltcG9ydCB7c3Rvcnlib29rfSBmcm9tICcuL2NvbW1hbmRzL3N0b3J5Ym9vay9zdG9yeWJvb2suanMnO1xuaW1wb3J0IHt0ZXN0fSBmcm9tICcuL2NvbW1hbmRzL3Rlc3QvdGVzdC5qcyc7XG5pbXBvcnQge3VwZGF0ZX0gZnJvbSAnLi9jb21tYW5kcy91cGRhdGUvdXBkYXRlLmpzJztcbmltcG9ydCB7dXBncmFkZX0gZnJvbSAnLi9jb21tYW5kcy91cGdyYWRlL3VwZ3JhZGUuanMnO1xuaW1wb3J0IHt2ZXJzaW9uc30gZnJvbSAnLi9jb21tYW5kcy92ZXJzaW9ucy92ZXJzaW9ucy5qcyc7XG5cbnByb2Nlc3MuZW52LkxFWF9ST09UID0gZGlybmFtZShmaWxlVVJMVG9QYXRoKGltcG9ydC5tZXRhLnVybCkpO1xuXG5jb25zdCBsZXhOb2RlTW9kdWxlcyA9IHJlc29sdmUoZGlybmFtZShmaWxlVVJMVG9QYXRoKGltcG9ydC5tZXRhLnVybCkpLCAnLi4vbm9kZV9tb2R1bGVzJyk7XG5pZighcHJvY2Vzcy5lbnYuTk9ERV9QQVRIKSB7XG4gIHByb2Nlc3MuZW52Lk5PREVfUEFUSCA9IGxleE5vZGVNb2R1bGVzO1xufSBlbHNlIGlmKCFwcm9jZXNzLmVudi5OT0RFX1BBVEguc3BsaXQoJzonKS5pbmNsdWRlcyhsZXhOb2RlTW9kdWxlcykpIHtcbiAgcHJvY2Vzcy5lbnYuTk9ERV9QQVRIICs9IGA6JHtsZXhOb2RlTW9kdWxlc31gO1xufVxuXG5jb25zdCByZXF1aXJlID0gY3JlYXRlUmVxdWlyZShpbXBvcnQubWV0YS51cmwpO1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVuZGVyc2NvcmUtZGFuZ2xlXG5yZXF1aXJlKCdtb2R1bGUnKS5Nb2R1bGUuX2luaXRQYXRocygpO1xuXG5jb25zdCBwYWNrYWdlUGF0aCA9IGZpbGVVUkxUb1BhdGgobmV3IFVSTCgnLi4vcGFja2FnZS5qc29uJywgaW1wb3J0Lm1ldGEudXJsKSk7XG5jb25zdCBwYWNrYWdlSnNvbiA9IEpTT04ucGFyc2UocmVhZEZpbGVTeW5jKHBhY2thZ2VQYXRoLCAndXRmOCcpKTtcblxucHJvZ3JhbS5jb21tYW5kKCdidWlsZCcpXG4gIC5vcHRpb24oJy0tYXNzaXN0JywgJ0VuYWJsZSBBSSBhc3Npc3RhbmNlIGZvciBmaXhpbmcgYnVpbGQgZXJyb3JzLicsIGZhbHNlKVxuICAub3B0aW9uKCctLWFuYWx5emUnLCAnRW5hYmxlIEFJIGFuYWx5c2lzIGZvciBidWlsZCBvcHRpbWl6YXRpb24gc3VnZ2VzdGlvbnMgb3IgaW52b2tlIHdlYnBhY2stYnVuZGxlLWFuYWx5emVyIHBsdWdpbi4nLCBmYWxzZSlcbiAgLmFkZE9wdGlvbihuZXcgT3B0aW9uKCctLWJ1bmRsZXIgPG4+JywgJ0J1bmRsZXIgdG8gdXNlIChcIndlYnBhY2tcIiBvciBcImVzYnVpbGRcIikuIERlZmF1bHQ6IFwid2VicGFja1wiLicpLmNob2ljZXMoWyd3ZWJwYWNrJywgJ2VzYnVpbGQnXSkuZGVmYXVsdCgnd2VicGFjaycpKVxuICAub3B0aW9uKCctLWNvbmZpZyA8cGF0aD4nLCAnQ3VzdG9tIFdlYnBhY2sgY29uZmlndXJhdGlvbiBmaWxlIHBhdGggKGllLiB3ZWJwYWNrLmNvbmZpZy5qcykuJylcbiAgLm9wdGlvbignLS1jb25maWdOYW1lIDx2YWx1ZS4uLj4nLCAnTmFtZSBvZiB0aGUgY29uZmlndXJhdGlvbiB0byB1c2UuJylcbiAgLm9wdGlvbignLS1kZWZpbmVQcm9jZXNzRW52Tm9kZUVudiA8dmFsdWU+JywgJ1NldHMgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgdG8gdGhlIHNwZWNpZmllZCB2YWx1ZS4gKEN1cnJlbnRseSBhbiBhbGlhcyBmb3IgYC0tbm9kZS1lbnZgKScpXG4gIC5vcHRpb24oJy0tZGV2dG9vbCA8dmFsdWU+JywgJ0EgZGV2ZWxvcGVyIHRvb2wgdG8gZW5oYW5jZSBkZWJ1Z2dpbmcgKGZhbHNlIHwgZXZhbCB8IFtpbmxpbmUtfGhpZGRlbi18ZXZhbC1dW25vc291cmNlcy1dW2NoZWFwLVttb2R1bGUtXV1zb3VyY2UtbWFwKS4nKVxuICAub3B0aW9uKCctLWRpc2FibGVJbnRlcnByZXQnLCAnRGlzYWJsZSBpbnRlcnByZXQgZm9yIGxvYWRpbmcgdGhlIGNvbmZpZyBmaWxlLicsIGZhbHNlKVxuICAub3B0aW9uKCctLWVudHJ5IDx2YWx1ZS4uLj4nLCAnQSBtb2R1bGUgdGhhdCBpcyBsb2FkZWQgdXBvbiBzdGFydHVwLiBPbmx5IHRoZSBsYXN0IG9uZSBpcyBleHBvcnRlZC4nKVxuICAub3B0aW9uKCctLWVudiA8dmFsdWU+JywgJ0Vudmlyb25tZW50IHBhc3NlZCB0byB0aGUgY29uZmlndXJhdGlvbiB3aGVuIGl0IGlzIGEgZnVuY3Rpb24uJylcbiAgLm9wdGlvbignLS1mYWlsT25XYXJuaW5ncycsICdTdG9wIHdlYnBhY2stY2xpIHByb2Nlc3Mgd2l0aCBub24temVybyBleGl0IGNvZGUgb24gd2FybmluZ3MgZnJvbSB3ZWJwYWNrJywgZmFsc2UpXG4gIC5hZGRPcHRpb24obmV3IE9wdGlvbignLS1mb3JtYXQgPHZhbHVlPicsICdUaGlzIHNldHMgdGhlIG91dHB1dCBmb3JtYXQgZm9yIHRoZSBnZW5lcmF0ZWQgSmF2YVNjcmlwdCBmaWxlcy4gRGVmYXVsdDogXCJjanNcIi4nKS5jaG9pY2VzKFsnY2pzJywgJ2VzbSddKS5kZWZhdWx0KCdjanMnKSlcbiAgLm9wdGlvbignLS1qc29uIDx2YWx1ZT4nLCAnUHJpbnRzIHJlc3VsdCBhcyBKU09OIG9yIHN0b3JlIGl0IGluIGEgZmlsZS4nKVxuICAub3B0aW9uKCctLWxleENvbmZpZyA8cGF0aD4nLCAnTGV4IGNvbmZpZ3VyYXRpb24gZmlsZSBwYXRoIChsZXguY29uZmlnLmpzKS4nKVxuICAub3B0aW9uKCctLW1lcmdlJywgJ01lcmdlIHR3byBvciBtb3JlIGNvbmZpZ3VyYXRpb25zIHVzaW5nIFwid2VicGFjay1tZXJnZVwiLicsIGZhbHNlKVxuICAuYWRkT3B0aW9uKG5ldyBPcHRpb24oJy0tbW9kZSA8dHlwZT4nLCAnV2VicGFjayBtb2RlIChcInByb2R1Y3Rpb25cIiBvciBcImRldmVsb3BtZW50XCIpLiBEZWZhdWx0OiBcImRldmVsb3BtZW50XCIuJykuY2hvaWNlcyhbJ2RldmVsb3BtZW50JywgJ3Byb2R1Y3Rpb24nXSkuZGVmYXVsdCgnZGV2ZWxvcG1lbnQnKSlcbiAgLm9wdGlvbignLS1uYW1lIDx2YWx1ZT4nLCAnTmFtZSBvZiB0aGUgY29uZmlndXJhdGlvbi4gVXNlZCB3aGVuIGxvYWRpbmcgbXVsdGlwbGUgY29uZmlndXJhdGlvbnMuJylcbiAgLm9wdGlvbignLS1ub0RldnRvb2wnLCAnTmVnYXRpdmUgXCJkZXZ0b29sXCIgb3B0aW9uLicsIGZhbHNlKVxuICAub3B0aW9uKCctLW5vU3RhdHMnLCAnTmVnYXRpdmUgXCJzdGF0c1wiIG9wdGlvbi4nLCBmYWxzZSlcbiAgLm9wdGlvbignLS1ub1RhcmdldCcsICdOZWdhdGl2ZSBcInRhcmdldFwiIG9wdGlvbi4nLCBmYWxzZSlcbiAgLm9wdGlvbignLS1ub1dhdGNoJywgJ05lZ2F0aXZlIFwid2F0Y2hcIiBvcHRpb24uJywgZmFsc2UpXG4gIC5vcHRpb24oJy0tbm9XYXRjaE9wdGlvbnNTdGRpbicsICdOZWdhdGl2ZSBcIndhdGNoLW9wdGlvbnMtc3RkaW5cIiBvcHRpb24uJywgZmFsc2UpXG4gIC5vcHRpb24oJy0tbm9kZUVudiA8dmFsdWU+JywgJ1NldHMgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgdG8gdGhlIHNwZWNpZmllZCB2YWx1ZS4nKVxuICAub3B0aW9uKCctLW91dHB1dFBhdGggPHZhbHVlPicsICdUaGUgb3V0cHV0IGRpcmVjdG9yeSBhcyAqKmFic29sdXRlIHBhdGgqKiAocmVxdWlyZWQpLicpXG4gIC5vcHRpb24oJy0tcXVpZXQnLCAnTm8gTGV4IG5vdGlmaWNhdGlvbnMgcHJpbnRlZCBpbiB0aGUgY29uc29sZS4nLCBmYWxzZSlcbiAgLm9wdGlvbignLS1yZW1vdmUnLCAnUmVtb3ZlcyBhbGwgZmlsZXMgZnJvbSB0aGUgb3V0cHV0IGRpcmVjdG9yeSBiZWZvcmUgY29tcGlsaW5nLicsIGZhbHNlKVxuICAub3B0aW9uKCctLXNvdXJjZVBhdGggPHBhdGg+JywgJ1NvdXJjZSBwYXRoJylcbiAgLm9wdGlvbignLS1zdGF0cyA8dmFsdWU+JywgJ1N0YXRzIG9wdGlvbnMgb2JqZWN0IG9yIHByZXNldCBuYW1lLicpXG4gIC5vcHRpb24oJy0tc3RhdGljJywgJ0NyZWF0ZXMgc3RhdGljIEhUTUwgZmlsZXMgd2hlbiBidWlsZGluZyBhcHAuJywgZmFsc2UpXG4gIC5vcHRpb24oJy0tdGFyZ2V0IDx2YWx1ZT4nLCAnRW52aXJvbm1lbnQgdG8gYnVpbGQgZm9yLiBFbnZpcm9ubWVudCB0byBidWlsZCBmb3IuIEFuIGFycmF5IG9mIGVudmlyb25tZW50cyB0byBidWlsZCBmb3IgYWxsIG9mIHRoZW0gd2hlbiBwb3NzaWJsZS4nKVxuICAub3B0aW9uKCctLXRyYW5zbGF0aW9ucycsICdQcm9jZXNzIHRyYW5zbGF0aW9uIGZpbGVzIGFuZCBvdXRwdXQgZmxhdHRlbmVkIEpTT04uJywgZmFsc2UpXG4gIC5vcHRpb24oJy0tdHlwZXNjcmlwdCcsICdUcmFuc3BpbGUgYXMgVHlwZXNjcmlwdC4nLCBmYWxzZSlcbiAgLm9wdGlvbignLS12YXJpYWJsZXMgPG4+JywgJ0Vudmlyb25tZW50IHZhcmlhYmxlcyB0byBzZXQgaW4gXCJwcm9jZXNzLmVudlwiLiAoaWUuIFwie05PREVfRU5WOiBcXCdwcm9kdWN0aW9uXFwnfVwiKS4nKVxuICAub3B0aW9uKCctLXdhdGNoJywgJ1dhdGNoIGZvciBjaGFuZ2VzLicsIGZhbHNlKVxuICAub3B0aW9uKCctLXdhdGNoT3B0aW9uc1N0ZGluJywgJ1N0b3Agd2F0Y2hpbmcgd2hlbiBzdGRpbiBzdHJlYW0gaGFzIGVuZGVkLicsIGZhbHNlKVxuICAuYWN0aW9uKChjbWQpID0+IGJ1aWxkKGNtZCwgcHJvY2Vzcy5leGl0KS50aGVuKCgpID0+IHt9KSk7XG5cbnByb2dyYW0uY29tbWFuZCgnY2xlYW4nKVxuICAub3B0aW9uKCctLXF1aWV0JywgJ05vIExleCBub3RpZmljYXRpb25zIHByaW50ZWQgaW4gdGhlIGNvbnNvbGUuJylcbiAgLm9wdGlvbignLS1zbmFwc2hvdHMnLCAnUmVtb3ZlIGFsbCBcIl9fc25hcHNob3RzX19cIiBkaXJlY3Rvcmllcy4nKVxuICAuYWN0aW9uKChjbWQpID0+IGNsZWFuKGNtZCwgcHJvY2Vzcy5leGl0KS50aGVuKCgpID0+IHt9KSk7XG5cbnByb2dyYW0uY29tbWFuZCgnY29uZmlnIDx0eXBlPicpXG4gIC5vcHRpb24oJy0tcXVpZXQnLCAnTm8gTGV4IG5vdGlmaWNhdGlvbnMgcHJpbnRlZCBpbiB0aGUgY29uc29sZS4nKVxuICAub3B0aW9uKCctLWpzb24gPHBhdGg+JywgJ1NhdmUgb3V0cHV0IHRvIGpzb24gZmlsZS4nKVxuICAuYWN0aW9uKCh0eXBlLCBjbWQpID0+IGNvbmZpZyh0eXBlLCBjbWQsIHByb2Nlc3MuZXhpdCkudGhlbigoKSA9PiB7fSkpO1xuXG5wcm9ncmFtLmNvbW1hbmQoJ2NvbXBpbGUnKVxuICAub3B0aW9uKCctLWNvbmZpZyA8cGF0aD4nLCAnVHJhbnNwaWxlciBjb25maWd1cmF0aW9uIGZpbGUgcGF0aCAoaWUuIHRzY29uZmlnLmpzb24pLicpXG4gIC5vcHRpb24oJy0tZW52aXJvbm1lbnQgPG4+JywgJ1RhcmdldCBlbnZpcm9ubWVudC4gXCJub2RlXCIgb3IgXCJ3ZWJcIi4gRGVmYXVsdDogXCJub2RlXCIuJylcbiAgLm9wdGlvbignLS1sZXhDb25maWcgPHBhdGg+JywgJ0N1c3RvbSBMZXggY29uZmlndXJhdGlvbiBmaWxlIHBhdGggKGllLiBsZXguY29uZmlnLmpzKS4nKVxuICAub3B0aW9uKCctLW91dHB1dFBhdGggPHBhdGg+JywgJ091dHB1dCBwYXRoJylcbiAgLm9wdGlvbignLS1yZW1vdmUnLCAnUmVtb3ZlcyBhbGwgZmlsZXMgZnJvbSB0aGUgb3V0cHV0IGRpcmVjdG9yeSBiZWZvcmUgY29tcGlsaW5nLicpXG4gIC5vcHRpb24oJy0tc291cmNlUGF0aCA8cGF0aD4nLCAnU291cmNlIHBhdGgnKVxuICAub3B0aW9uKCctLXR5cGVzY3JpcHQnLCAnVHJhbnNwaWxlIGFzIFR5cGVzY3JpcHQuJylcbiAgLm9wdGlvbignLS1xdWlldCcsICdObyBMZXggbm90aWZpY2F0aW9ucyBwcmludGVkIGluIHRoZSBjb25zb2xlLicpXG4gIC5vcHRpb24oJy0td2F0Y2gnLCAnV2F0Y2hlcyBmb3IgY2hhbmdlcyBhbmQgY29tcGlsZXMuJylcbiAgLmFjdGlvbigoY21kKSA9PiBjb21waWxlKGNtZCwgcHJvY2Vzcy5leGl0KS50aGVuKCgpID0+IHt9KSk7XG5cbnByb2dyYW0uY29tbWFuZCgnY3JlYXRlIDx0eXBlPicpXG4gIC5vcHRpb24oJy0tb3V0cHV0RmlsZSA8cGF0aD4nLCAnT3V0cHV0IGZpbGVuYW1lLicpXG4gIC5vcHRpb24oJy0tb3V0cHV0TmFtZSA8bj4nLCAnT3V0cHV0IG5hbWUuJylcbiAgLm9wdGlvbignLS1xdWlldCcsICdObyBMZXggbm90aWZpY2F0aW9ucyBwcmludGVkIGluIHRoZSBjb25zb2xlLicpXG4gIC5vcHRpb24oJy0tdHlwZXNjcmlwdCcsICdDcmVhdGUgVHlwZXNjcmlwdCB2ZXJzaW9uLicpXG4gIC5hY3Rpb24oKHR5cGUsIGNtZCkgPT4gY3JlYXRlKHR5cGUsIGNtZCwgcHJvY2Vzcy5leGl0KS50aGVuKCgpID0+IHt9KSk7XG5cbnByb2dyYW0uY29tbWFuZCgnZGV2JylcbiAgLm9wdGlvbignLS1idW5kbGVBbmFseXplcicsICdSdW4gYnVuZGxlIGFuYWx5emVyLicpXG4gIC5vcHRpb24oJy0tY29uZmlnIDxwYXRoPicsICdDdXN0b20gV2VicGFjayBjb25maWd1cmF0aW9uIGZpbGUgcGF0aCAoaWUuIHdlYnBhY2suY29uZmlnLmpzKS4nKVxuICAub3B0aW9uKCctLWxleENvbmZpZyA8cGF0aD4nLCAnQ3VzdG9tIExleCBjb25maWd1cmF0aW9uIGZpbGUgcGF0aCAoaWUuIGxleC5jb25maWcuanMpLicpXG4gIC5vcHRpb24oJy0tb3BlbicsICdBdXRvbWF0aWNhbGx5IG9wZW4gZGV2IHNlcnZlciBpbiBhIG5ldyBicm93c2VyIHdpbmRvdy4nKVxuICAub3B0aW9uKCctLW91dHB1dFBhdGggPHBhdGg+JywgJ091dHB1dCBwYXRoJylcbiAgLm9wdGlvbignLS1xdWlldCcsICdObyBMZXggbm90aWZpY2F0aW9ucyBwcmludGVkIGluIHRoZSBjb25zb2xlLicpXG4gIC5vcHRpb24oJy0tcmVtb3ZlJywgJ1JlbW92ZXMgYWxsIGZpbGVzIGZyb20gdGhlIG91dHB1dCBkaXJlY3RvcnkgYmVmb3JlIGNvbXBpbGluZy4nKVxuICAub3B0aW9uKCctLXNvdXJjZVBhdGggPHBhdGg+JywgJ1NvdXJjZSBwYXRoJylcbiAgLm9wdGlvbignLS10cmFuc2xhdGlvbnMnLCAnUHJvY2VzcyB0cmFuc2xhdGlvbiBmaWxlcyBhbmQgb3V0cHV0IGZsYXR0ZW5lZCBKU09OLicsIGZhbHNlKVxuICAub3B0aW9uKCctLXR5cGVzY3JpcHQnLCAnVHJhbnNwaWxlIGFzIFR5cGVzY3JpcHQuJylcbiAgLm9wdGlvbignLS11c2VQdWJsaWNJcCcsICdGb3JjZSByZWZyZXNoIHRoZSBjYWNoZWQgcHVibGljIElQIGFkZHJlc3MuJylcbiAgLm9wdGlvbignLS12YXJpYWJsZXMgPG4+JywgJ0Vudmlyb25tZW50IHZhcmlhYmxlcyB0byBzZXQgaW4gXCJwcm9jZXNzLmVudlwiLiAoaWUuIFwie05PREVfRU5WOiBcXCdkZXZlbG9wbWVudFxcJ31cIikuJylcbiAgLm9wdGlvbignLS13YXRjaCcsICdXYXRjaCBmb3IgY2hhbmdlcy4nKVxuICAuYWN0aW9uKChjbWQpID0+IGRldihjbWQsIHByb2Nlc3MuZXhpdCkudGhlbigoKSA9PiB7fSkpO1xuXG5wcm9ncmFtLmNvbW1hbmQoJ2luaXQgPGFwcE5hbWU+IFtwYWNrYWdlTmFtZV0nKVxuICAub3B0aW9uKCctLWluc3RhbGwnLCAnSW5zdGFsbCBkZXBlbmRlbmNpZXMuJylcbiAgLmFkZE9wdGlvbihuZXcgT3B0aW9uKCctLXBhY2thZ2UtbWFuYWdlciA8bWFuYWdlcj4nLCAnV2hpY2ggcGFja2FnZSBtYW5hZ2VyIHRvIHVzZS4gRGVmYXVsdDogbnBtJykuY2hvaWNlcyhbJ25wbScsICd5YXJuJ10pLmRlZmF1bHQoJ25wbScpKVxuICAub3B0aW9uKCctLXF1aWV0JywgJ05vIExleCBub3RpZmljYXRpb25zIHByaW50ZWQgaW4gdGhlIGNvbnNvbGUuJylcbiAgLm9wdGlvbignLS10eXBlc2NyaXB0JywgJ1VzZSBhIFR5cGVzY3JpcHQgYmFzZWQgYXBwLicpXG4gIC5hY3Rpb24oKGFwcE5hbWUsIHBhY2thZ2VOYW1lLCBjbWQpID0+IGluaXQoYXBwTmFtZSwgcGFja2FnZU5hbWUsIGNtZCwgcHJvY2Vzcy5leGl0KS50aGVuKCgpID0+IHt9KSk7XG5cbnByb2dyYW0uY29tbWFuZCgnbGlua2VkJylcbiAgLm9wdGlvbignLS1xdWlldCcsICdObyBMZXggbm90aWZpY2F0aW9ucyBwcmludGVkIGluIHRoZSBjb25zb2xlLicpXG4gIC5hY3Rpb24oKGNtZCkgPT4gbGlua2VkKGNtZCwgcHJvY2Vzcy5leGl0KS50aGVuKCgpID0+IHt9KSk7XG5cbnByb2dyYW0uY29tbWFuZCgnbGludCcpXG4gIC5vcHRpb24oJy0tY2FjaGUnLCAnT25seSBjaGVjayBjaGFuZ2VkIGZpbGVzLiBEZWZhdWx0OiBmYWxzZS4nLCBmYWxzZSlcbiAgLm9wdGlvbignLS1jYWNoZUxvY2F0aW9uIDxwYXRoPicsICdQYXRoIHRvIHRoZSBjYWNoZSBmaWxlIG9yIGRpcmVjdG9yeS4nKVxuICAub3B0aW9uKCctLWNvbG9yJywgJ0ZvcmNlIGVuYWJsaW5nIG9mIGNvbG9yLicsIGZhbHNlKVxuICAub3B0aW9uKCctLWNvbmZpZyA8cGF0aD4nLCAnVXNlIHRoaXMgY29uZmlndXJhdGlvbiwgb3ZlcnJpZGluZyAuZXNsaW50cmMuKiBjb25maWcgb3B0aW9ucyBpZiBwcmVzZW50LiBJZiBub3Qgc3BlY2lmaWVkIGFuZCBubyBsb2NhbCBjb25maWcgZXhpc3RzLCBMZXggd2lsbCB1c2UgaXRzIGRlZmF1bHQgY29uZmlnLicpXG4gIC5vcHRpb24oJy0tZGVidWcnLCAnT3V0cHV0IGRlYnVnZ2luZyBpbmZvcm1hdGlvbi4nLCBmYWxzZSlcbiAgLm9wdGlvbignLS1lbnZJbmZvJywgJ091dHB1dCBleGVjdXRpb24gZW52aXJvbm1lbnQgaW5mb3JtYXRpb24uIERlZmF1bHQ6IGZhbHNlLicsIGZhbHNlKVxuICAub3B0aW9uKCctLWVudiA8bj4nLCAnU3BlY2lmeSBlbnZpcm9ubWVudHMuJylcbiAgLm9wdGlvbignLS1maXgnLCAnQXBwbHkgQUkgZml4ZXMgYWZ0ZXIgYnVpbHQtaW4gRVNMaW50IGZpeGVzIChzYW1lIGFzIC0tZml4KS4nLCBmYWxzZSlcbiAgLm9wdGlvbignLS1maXhEcnlSdW4nLCAnQXV0b21hdGljYWxseSBmaXggcHJvYmxlbXMgd2l0aG91dCBzYXZpbmcgdGhlIGNoYW5nZXMgdG8gdGhlIGZpbGUgc3lzdGVtLicsIGZhbHNlKVxuICAub3B0aW9uKCctLWZpeFR5cGUgPHR5cGU+JywgJ1NwZWNpZnkgdGhlIHR5cGVzIG9mIGZpeGVzIHRvIGFwcGx5IChwcm9ibGVtLCBzdWdnZXN0aW9uLCBsYXlvdXQpLicpXG4gIC5vcHRpb24oJy0tZm9ybWF0IDxuPicsICdVc2UgYSBzcGVjaWZpYyBvdXRwdXQgZm9ybWF0LiBEZWZhdWx0OiBzdHlsaXNoLicpXG4gIC5vcHRpb24oJy0tZ2xvYmFsIDx2YXJpYWJsZXM+JywgJ0RlZmluZSBnbG9iYWwgdmFyaWFibGVzLicpXG4gIC5vcHRpb24oJy0taWdub3JlUGF0aCA8cGF0aD4nLCAnU3BlY2lmeSBwYXRoIG9mIGlnbm9yZSBmaWxlLicpXG4gIC5vcHRpb24oJy0taWdub3JlUGF0dGVybiA8cGF0dGVybj4nLCAnUGF0dGVybiBvZiBmaWxlcyB0byBpZ25vcmUgKGluIGFkZGl0aW9uIHRvIHRob3NlIGluIC5lc2xpbnRpZ25vcmUpLicpXG4gIC5vcHRpb24oJy0taW5pdCcsICdSdW4gY29uZmlnIGluaXRpYWxpemF0aW9uIHdpemFyZC4gRGVmYXVsdDogZmFsc2UuJywgZmFsc2UpXG4gIC5vcHRpb24oJy0tbWF4V2FybmluZ3MgPG51bT4nLCAnTnVtYmVyIG9mIHdhcm5pbmdzIHRvIHRyaWdnZXIgbm9uemVybyBleGl0IGNvZGUuIERlZmF1bHQ6IC0xLicpXG4gIC5vcHRpb24oJy0tbm9Db2xvcicsICdGb3JjZSBkaXNhYmxpbmcgb2YgY29sb3IuJywgZmFsc2UpXG4gIC5vcHRpb24oJy0tbm9Fc2xpbnRyYycsICdEaXNhYmxlIHVzZSBvZiBjb25maWd1cmF0aW9uIGZyb20gLmVzbGludHJjLiouJywgZmFsc2UpXG4gIC5vcHRpb24oJy0tbm9JZ25vcmUnLCAnRGlzYWJsZSB1c2Ugb2YgaWdub3JlIGZpbGVzIGFuZCBwYXR0ZXJucy4nLCBmYWxzZSlcbiAgLm9wdGlvbignLS1ub0lubGluZUNvbmZpZycsICdQcmV2ZW50IGNvbW1lbnRzIGZyb20gY2hhbmdpbmcgY29uZmlnIG9yIHJ1bGVzLicsIGZhbHNlKVxuICAub3B0aW9uKCctLW91dHB1dEZpbGUgPHBhdGg+JywgJ1NwZWNpZnkgZmlsZSB0byB3cml0ZSByZXBvcnQgdG8uJylcbiAgLm9wdGlvbignLS1wYXJzZXIgPG4+JywgJ1NwZWNpZnkgdGhlIHBhcnNlciB0byBiZSB1c2VkLicpXG4gIC5vcHRpb24oJy0tcGFyc2VyT3B0aW9ucyA8b3B0aW9ucz4nLCAnU3BlY2lmeSBwYXJzZXIgb3B0aW9ucy4nKVxuICAub3B0aW9uKCctLXBsdWdpbiA8cGx1Z2lucz4nLCAnU3BlY2lmeSBwbHVnaW5zLicpXG4gIC5vcHRpb24oJy0tcHJpbnRDb25maWcgPHBhdGg+JywgJ1ByaW50IHRoZSBjb25maWd1cmF0aW9uIGZvciB0aGUgZ2l2ZW4gZmlsZS4nKVxuICAub3B0aW9uKCctLXF1aWV0JywgJ05vIExleCBub3RpZmljYXRpb25zIHByaW50ZWQgaW4gdGhlIGNvbnNvbGUuJywgZmFsc2UpXG4gIC5vcHRpb24oJy0tcmVtb3ZlLWNvbW1lbnRzJywgJ1JlbW92ZSBhbGwgY29tbWVudHMgZXhjZXB0IFRPRE9zIGFuZCBjb3B5cmlnaHQgbm90aWNlcy4nLCBmYWxzZSlcbiAgLm9wdGlvbignLS1yZXBvcnRVbnVzZWREaXNhYmxlRGlyZWN0aXZlcycsICdBZGRzIHJlcG9ydGVkIGVycm9ycyBmb3IgdW51c2VkIGVzbGludC1kaXNhYmxlIGRpcmVjdGl2ZXMuJywgZmFsc2UpXG4gIC5vcHRpb24oJy0tcmVzb2x2ZVBsdWdpbnNSZWxhdGl2ZVRvIDxwYXRoPicsICdBIGZvbGRlciB3aGVyZSBwbHVnaW5zIHNob3VsZCBiZSByZXNvbHZlZCBmcm9tLicpXG4gIC5vcHRpb24oJy0tcnVsZSA8cGF0aD4nLCAnU3BlY2lmeSBydWxlcy4nKVxuICAub3B0aW9uKCctLXJ1bGVzZGlyIDxwYXRoPicsICdVc2UgYWRkaXRpb25hbCBydWxlcyBmcm9tIHRoaXMgZGlyZWN0b3J5LicpXG4gIC5vcHRpb24oJy0tc3RkaW4nLCAnTGludCBjb2RlIHByb3ZpZGVkIG9uIDxTVERJTj4gLSBEZWZhdWx0OiBmYWxzZS4nLCBmYWxzZSlcbiAgLm9wdGlvbignLS1zdGRpbkZpbGVuYW1lIDxuPicsICdTcGVjaWZ5IGZpbGVuYW1lIHRvIHByb2Nlc3MgU1RESU4gYXMuJylcbiAgLmFjdGlvbigoY21kKSA9PiBsaW50KGNtZCwgcHJvY2Vzcy5leGl0KS50aGVuKCgpID0+IHt9KSk7XG5cbnByb2dyYW0uY29tbWFuZCgnbWlncmF0ZScpXG4gIC5vcHRpb24oJy1xLCAtLXF1aWV0JywgJ05vIExleCBub3RpZmljYXRpb25zIHByaW50ZWQgaW4gdGhlIGNvbnNvbGUuJylcbiAgLmFjdGlvbigoY21kKSA9PiBtaWdyYXRlKGNtZCwgcHJvY2Vzcy5leGl0KS50aGVuKCgpID0+IHt9KSk7XG5cbnByb2dyYW0uY29tbWFuZCgncHVibGlzaCcpXG4gIC5hZGRPcHRpb24obmV3IE9wdGlvbignLS1idW1wIDx0eXBlPicsICdJbmNyZW1lbnRzIHRoZSB2ZXJzaW9uLiBUeXBlcyBpbmNsdWRlOiBtYWpvciwgbWlub3IsIHBhdGNoLCBiZXRhLCBhbHBoYSwgcmMuIERlZmF1bHQ6IFwicGF0Y2hcIi4nKS5jaG9pY2VzKFsnbWFqb3InLCAnbWlub3InLCAncGF0Y2gnLCAnYmV0YScsICdhbHBoYScsICdyYyddKS5kZWZhdWx0KCdwYXRjaCcpKVxuICAub3B0aW9uKCctLW5ld1ZlcnNpb24gPHZlcnNpb25OdW1iZXI+JywgJ1B1Ymxpc2ggYXMgYSBzcGVjaWZpYyB2ZXJzaW9uLicpXG4gIC5vcHRpb24oJy0tb3RwIDxjb2RlPicsICdQcm92aWRlIGEgdHdvLWZhY3RvciBjb2RlLicpXG4gIC5hZGRPcHRpb24obmV3IE9wdGlvbignLS1wYWNrYWdlLW1hbmFnZXIgPG1hbmFnZXI+JywgJ1doaWNoIHBhY2thZ2UgbWFuYWdlciB0byB1c2UuIERlZmF1bHQ6IG5wbScpLmNob2ljZXMoWyducG0nLCAneWFybiddKS5kZWZhdWx0KCducG0nKSlcbiAgLm9wdGlvbignLS1wcml2YXRlJywgJ1B1Ymxpc2hlcyB0aGUgbW9kdWxlIGFzIHJlc3RyaWN0ZWQuJylcbiAgLm9wdGlvbignLS1xdWlldCcsICdObyBMZXggbm90aWZpY2F0aW9ucyBwcmludGVkIGluIHRoZSBjb25zb2xlLicpXG4gIC5vcHRpb24oJy0tdGFnIDx0YWc+JywgJ1JlZ2lzdGVycyB0aGUgcHVibGlzaGVkIHBhY2thZ2Ugd2l0aCB0aGUgZ2l2ZW4gdGFnLicpXG4gIC5hY3Rpb24oKGNtZCkgPT4gcHVibGlzaChjbWQsIHByb2Nlc3MuZXhpdCkudGhlbigoKSA9PiB7fSkpO1xuXG5wcm9ncmFtLmNvbW1hbmQoJ3NlcnZlcmxlc3MnKVxuICAub3B0aW9uKCctLWNvbmZpZyA8cGF0aD4nLCAnQ3VzdG9tIGNvbmZpZ3VyYXRpb24gZmlsZSBwYXRoIChkZWZhdWx0OiBsZXguY29uZmlnLm1qcykuJylcbiAgLm9wdGlvbignLS1ob3N0IDxob3N0PicsICdIb3N0IHRvIGJpbmQgdGhlIHNlcnZlciB0byAoZGVmYXVsdDogbG9jYWxob3N0KS4nKVxuICAub3B0aW9uKCctLWh0dHBQb3J0IDxwb3J0PicsICdIVFRQIHNlcnZlciBwb3J0IChkZWZhdWx0OiAzMDAwKS4nKVxuICAub3B0aW9uKCctLWh0dHBzUG9ydCA8cG9ydD4nLCAnSFRUUFMgc2VydmVyIHBvcnQgKGRlZmF1bHQ6IDMwMDEpLicpXG4gIC5vcHRpb24oJy0td3NQb3J0IDxwb3J0PicsICdXZWJTb2NrZXQgc2VydmVyIHBvcnQgKGRlZmF1bHQ6IDMwMDIpLicpXG4gIC5vcHRpb24oJy0tcXVpZXQnLCAnTm8gTGV4IG5vdGlmaWNhdGlvbnMgcHJpbnRlZCBpbiB0aGUgY29uc29sZS4nKVxuICAub3B0aW9uKCctLXJlbW92ZScsICdSZW1vdmVzIGFsbCBmaWxlcyBmcm9tIHRoZSBvdXRwdXQgZGlyZWN0b3J5IGJlZm9yZSBzdGFydGluZy4nKVxuICAub3B0aW9uKCctLXVzZVB1YmxpY0lwJywgJ0ZvcmNlIHJlZnJlc2ggdGhlIGNhY2hlZCBwdWJsaWMgSVAgYWRkcmVzcy4nKVxuICAub3B0aW9uKCctLXZhcmlhYmxlcyA8anNvbj4nLCAnRW52aXJvbm1lbnQgdmFyaWFibGVzIHRvIHNldCBpbiBwcm9jZXNzLmVudi4nKVxuICAub3B0aW9uKCctLWRlYnVnJywgJ0VuYWJsZSBHcmFwaFFMIGRlYnVnIGxvZ2dpbmcgdG8gc2VlIHF1ZXJpZXMsIHZhcmlhYmxlcywgYW5kIG9wZXJhdGlvbnMuJylcbiAgLm9wdGlvbignLS1wcmludE91dHB1dCcsICdQcmludCBHcmFwaFFMIHJlc3BvbnNlIG91dHB1dCBpbmNsdWRpbmcgc3RhdHVzLCBoZWFkZXJzLCBhbmQgYm9keS4nKVxuICAuYWN0aW9uKChjbWQpID0+IHNlcnZlcmxlc3MoY21kLCBwcm9jZXNzLmV4aXQpLnRoZW4oKCkgPT4ge30pKTtcblxucHJvZ3JhbS5jb21tYW5kKCdzdG9yeWJvb2snKVxuICAub3B0aW9uKCctLWNvbmZpZyA8cGF0aD4nLCAnQ3VzdG9tIFN0b3J5Ym9vayBjb25maWd1cmF0aW9uIGRpcmVjdG9yeSBwYXRoIChpZS4gLnN0b3J5Ym9vaykuJylcbiAgLm9wdGlvbignLS1sZXhDb25maWcgPHBhdGg+JywgJ0N1c3RvbSBMZXggY29uZmlndXJhdGlvbiBmaWxlIHBhdGggKGllLiBsZXguY29uZmlnLmpzKS4nKVxuICAub3B0aW9uKCctLW9wZW4nLCAnQXV0b21hdGljYWxseSBvcGVuIFN0b3J5Ym9vayBpbiBhIG5ldyBicm93c2VyIHdpbmRvdy4nKVxuICAub3B0aW9uKCctLXBvcnQgPG51bWJlcj4nLCAnUG9ydCBudW1iZXIgZm9yIHRoZSBTdG9yeWJvb2sgc2VydmVyLicpXG4gIC5vcHRpb24oJy0tcXVpZXQnLCAnTm8gTGV4IG5vdGlmaWNhdGlvbnMgcHJpbnRlZCBpbiB0aGUgY29uc29sZS4nKVxuICAub3B0aW9uKCctLXN0YXRpYycsICdCdWlsZCBhIHN0YXRpYyBTdG9yeWJvb2sgc2l0ZSBpbnN0ZWFkIG9mIHN0YXJ0aW5nIGRldiBzZXJ2ZXIuJylcbiAgLm9wdGlvbignLS12YXJpYWJsZXMgPG4+JywgJ0Vudmlyb25tZW50IHZhcmlhYmxlcyB0byBzZXQgaW4gXCJwcm9jZXNzLmVudlwiLiAoaWUuIFwie1NUT1JZQk9PS19USEVNRTogXFwnZGFya1xcJ31cIikuJylcbiAgLm9wdGlvbignLS12ZXJib3NlJywgJ1Nob3cgZGV0YWlsZWQgd2VicGFjayBwcm9ncmVzcyBvdXRwdXQuJylcbiAgLmFjdGlvbigoY21kKSA9PiBzdG9yeWJvb2soY21kLCBwcm9jZXNzLmV4aXQpLnRoZW4oKCkgPT4ge30pKTtcblxucHJvZ3JhbS5jb21tYW5kKCd0ZXN0JylcbiAgLm9wdGlvbignLS1hbmFseXplJywgJ1VzZSBBSSB0byBhbmFseXplIHRlc3QgY292ZXJhZ2UgYW5kIHN1Z2dlc3QgaW1wcm92ZW1lbnRzLicsIGZhbHNlKVxuICAub3B0aW9uKCctLWRlYnVnVGVzdHMnLCAnVXNlIEFJIHRvIGRlYnVnIHRlc3QgZmFpbHVyZXMgYW5kIHN1Z2dlc3QgZml4ZXMuJywgZmFsc2UpXG4gIC5vcHRpb24oJy0tZ2VuZXJhdGUnLCAnVXNlIEFJIHRvIGdlbmVyYXRlIHRlc3QgY2FzZXMgZm9yIHVudGVzdGVkIGNvZGUuJywgZmFsc2UpXG4gIC5vcHRpb24oJy0tYmFpbCcsICdFeGl0IHRoZSB0ZXN0IHN1aXRlIGltbWVkaWF0ZWx5IHVwb24gdGhlIGZpcnN0IGZhaWxpbmcgdGVzdCBzdWl0ZS4nKVxuICAub3B0aW9uKCctLWNoYW5nZWRGaWxlc1dpdGhBbmNlc3RvcicsICdSdW5zIHRlc3RzIHJlbGF0ZWQgdG8gdGhlIGN1cnJlbnQgY2hhbmdlcyBhbmQgdGhlIGNoYW5nZXMgbWFkZSBpbiB0aGUgbGFzdCBjb21taXQuJylcbiAgLm9wdGlvbignLS1jaGFuZ2VkU2luY2UnLCAnUnVucyB0ZXN0cyByZWxhdGVkIHRoZSBjaGFuZ2VzIHNpbmNlIHRoZSBwcm92aWRlZCBicmFuY2guJylcbiAgLm9wdGlvbignLS1jaScsICdXaGVuIHRoaXMgb3B0aW9uIGlzIHByb3ZpZGVkLCBKZXN0IHdpbGwgYXNzdW1lIGl0IGlzIHJ1bm5pbmcgaW4gYSBDSSBlbnZpcm9ubWVudC4nKVxuICAub3B0aW9uKCctLWNsZWFyQ2FjaGUnLCAnQ2xlYXIgSmVzdCBjYWNoZS4nKVxuICAub3B0aW9uKCctLWNvbGxlY3RDb3ZlcmFnZUZyb20gPGdsb2I+JywgJ0EgZ2xvYiBwYXR0ZXJuIHJlbGF0aXZlIHRvIG1hdGNoaW5nIHRoZSBmaWxlcyB0aGF0IGNvdmVyYWdlIGluZm8gbmVlZHMgdG8gYmUgY29sbGVjdGVkIGZyb20uJylcbiAgLm9wdGlvbignLS1jb2xvcnMnLCAnRm9yY2VzIHRlc3QgcmVzdWx0cyBvdXRwdXQgaGlnaGxpZ2h0aW5nIGV2ZW4gaWYgc3Rkb3V0IGlzIG5vdCBhIFRUWS4nKVxuICAub3B0aW9uKCctLWNvbmZpZyA8cGF0aD4nLCAnQ3VzdG9tIEplc3QgY29uZmlndXJhdGlvbiBmaWxlIHBhdGggKGllLiBqZXN0LmNvbmZpZy5qcykuJylcbiAgLm9wdGlvbignLS1kZWJ1ZycsICdQcmludCBkZWJ1Z2dpbmcgaW5mbyBhYm91dCB5b3VyIEplc3QgY29uZmlnLicpXG4gIC5vcHRpb24oJy0tZGV0ZWN0T3BlbkhhbmRsZXMnLCAnQXR0ZW1wdCB0byBjb2xsZWN0IGFuZCBwcmludCBvcGVuIGhhbmRsZXMgcHJldmVudGluZyBKZXN0IGZyb20gZXhpdGluZyBjbGVhbmx5JylcbiAgLm9wdGlvbignLS1lbnZpcm9ubWVudCA8bj4nLCAnVGFyZ2V0IGVudmlyb25tZW50LiBcIm5vZGVcIiBvciBcIndlYlwiLiBEZWZhdWx0OiBcIm5vZGVcIi4nKVxuICAub3B0aW9uKCctLWVudicsICdUaGUgdGVzdCBlbnZpcm9ubWVudCB1c2VkIGZvciBhbGwgdGVzdHMuIFRoaXMgY2FuIHBvaW50IHRvIGFueSBmaWxlIG9yIG5vZGUgbW9kdWxlLiBFeGFtcGxlczoganNkb20sIG5vZGUgb3IgcGF0aC90by9teS1lbnZpcm9ubWVudC5qcy4nKVxuICAub3B0aW9uKCctLWVycm9yT25EZXByZWNhdGVkJywgJ01ha2UgY2FsbGluZyBkZXByZWNhdGVkIEFQSXMgdGhyb3cgaGVscGZ1bCBlcnJvciBtZXNzYWdlcy4nKVxuICAub3B0aW9uKCctLWV4cGFuZCcsICdVc2UgdGhpcyBmbGFnIHRvIHNob3cgZnVsbCBkaWZmcyBhbmQgZXJyb3JzIGluc3RlYWQgb2YgYSBwYXRjaC4nKVxuICAub3B0aW9uKCctLWZvcmNlRXhpdCcsICdGb3JjZSBKZXN0IHRvIGV4aXQgYWZ0ZXIgYWxsIHRlc3RzIGhhdmUgY29tcGxldGVkIHJ1bm5pbmcuJylcbiAgLm9wdGlvbignLS1qc29uJywgJ1ByaW50cyB0aGUgdGVzdCByZXN1bHRzIGluIEpTT04uJylcbiAgLm9wdGlvbignLS1sYXN0Q29tbWl0JywgJ1J1biBhbGwgdGVzdHMgYWZmZWN0ZWQgYnkgZmlsZSBjaGFuZ2VzIGluIHRoZSBsYXN0IGNvbW1pdCBtYWRlLicpXG4gIC5vcHRpb24oJy0tbGV4Q29uZmlnIDxwYXRoPicsICdDdXN0b20gTGV4IGNvbmZpZ3VyYXRpb24gZmlsZSBwYXRoIChpZS4gbGV4LmNvbmZpZy5qcykuJylcbiAgLm9wdGlvbignLS1saXN0VGVzdHMnLCAnTGlzdHMgYWxsIHRlc3RzIGFzIEpTT04gdGhhdCBKZXN0IHdpbGwgcnVuIGdpdmVuIHRoZSBhcmd1bWVudHMsIGFuZCBleGl0cy4nKVxuICAub3B0aW9uKCctLWxvZ0hlYXBVc2FnZScsICdMb2dzIHRoZSBoZWFwIHVzYWdlIGFmdGVyIGV2ZXJ5IHRlc3QuJylcbiAgLm9wdGlvbignLS1tYXhXb3JrZXJzIDxudW0+JywgJ1NwZWNpZmllcyB0aGUgbWF4aW11bSBudW1iZXIgb2Ygd29ya2VycyB0aGUgd29ya2VyLXBvb2wgd2lsbCBzcGF3biBmb3IgcnVubmluZyB0ZXN0cy4gJylcbiAgLm9wdGlvbignLS1ub1N0YWNrVHJhY2UnLCAnRGlzYWJsZXMgc3RhY2sgdHJhY2UgaW4gdGVzdCByZXN1bHRzIG91dHB1dC4nKVxuICAub3B0aW9uKCctLW5vdGlmeScsICdBY3RpdmF0ZXMgbm90aWZpY2F0aW9ucyBmb3IgdGVzdCByZXN1bHRzLicpXG4gIC5vcHRpb24oJy0tb25seUNoYW5nZWQnLCAndW4gYmFzZWQgb24gd2hpY2ggZmlsZXMgaGF2ZSBjaGFuZ2VkIGluIHRoZSBjdXJyZW50IHJlcG9zaXRvcnkuICcpXG4gIC5vcHRpb24oJy0tb3V0cHV0RmlsZSA8ZmlsZW5hbWU+JywgJ1dyaXRlIHRlc3QgcmVzdWx0cyB0byBhIGZpbGUgd2hlbiB0aGUgLS1qc29uIG9wdGlvbiBpcyBhbHNvIHNwZWNpZmllZC4nKVxuICAub3B0aW9uKCctLXBhc3NXaXRoTm9UZXN0cycsICdBbGxvd3MgdGhlIHRlc3Qgc3VpdGUgdG8gcGFzcyB3aGVuIG5vIGZpbGVzIGFyZSBmb3VuZC4nKVxuICAub3B0aW9uKCctLXF1aWV0JywgJ05vIExleCBub3RpZmljYXRpb25zIHByaW50ZWQgaW4gdGhlIGNvbnNvbGUuJylcbiAgLm9wdGlvbignLS1ydW5JbkJhbmQnLCAnUnVuIGFsbCB0ZXN0cyBzZXJpYWxseSBpbiB0aGUgY3VycmVudCBwcm9jZXNzLCByYXRoZXIgdGhhbiBjcmVhdGluZyBhIHdvcmtlciBwb29sIG9mIGNoaWxkIHByb2Nlc3NlcyB0aGF0IHJ1biB0ZXN0cy4nKVxuICAub3B0aW9uKCctLXNldHVwIDxwYXRoPicsICdKZXN0IHNldHVwIGZpbGUgcGF0aC4nKVxuICAub3B0aW9uKCctLXNob3dDb25maWcnLCAnUHJpbnQgeW91ciBKZXN0IGNvbmZpZyBhbmQgdGhlbiBleGl0cy4nKVxuICAub3B0aW9uKCctLXNpbGVudCcsICdQcmV2ZW50IHRlc3RzIGZyb20gcHJpbnRpbmcgbWVzc2FnZXMgdGhyb3VnaCB0aGUgY29uc29sZS4nKVxuICAub3B0aW9uKCctLXRlc3RMb2NhdGlvbkluUmVzdWx0cycsICdBZGRzIGEgbG9jYXRpb24gZmllbGQgdG8gdGVzdCByZXN1bHRzLicpXG4gIC5vcHRpb24oJy0tdGVzdE5hbWVQYXR0ZXJuIDxyZWdleD4nLCAnUnVuIG9ubHkgdGVzdHMgd2l0aCBhIG5hbWUgdGhhdCBtYXRjaGVzIHRoZSByZWdleC4gJylcbiAgLm9wdGlvbignLS10ZXN0UGF0aFBhdHRlcm4gPHJlZ2V4PicsICdBIHJlZ2V4cCBwYXR0ZXJuIHN0cmluZyB0aGF0IGlzIG1hdGNoZWQgYWdhaW5zdCBhbGwgdGVzdHMgcGF0aHMgYmVmb3JlIGV4ZWN1dGluZyB0aGUgdGVzdC4nKVxuICAub3B0aW9uKCctLXR5cGVzY3JpcHQnLCAnVHJhbnNwaWxlIGFzIFR5cGVzY3JpcHQuJylcbiAgLm9wdGlvbignLS11cGRhdGUnLCAnVXBkYXRlIHNuYXBzaG90cy4gUnVucyBcImplc3QgLS11cGRhdGVTbmFwc2hvdHNcIicpXG4gIC5vcHRpb24oJy0tdXNlU3RkZXJyJywgJ0RpdmVydCBhbGwgb3V0cHV0IHRvIHN0ZGVyci4nKVxuICAub3B0aW9uKCctLXZlcmJvc2UnLCAnRGlzcGxheSBpbmRpdmlkdWFsIHRlc3QgcmVzdWx0cyB3aXRoIHRoZSB0ZXN0IHN1aXRlIGhpZXJhcmNoeS4nKVxuICAub3B0aW9uKCctLXdhdGNoIDxwYXRoPicsICdXYXRjaCBmaWxlcyBmb3IgY2hhbmdlcyBhbmQgcmVydW4gdGVzdHMgcmVsYXRlZCB0byBjaGFuZ2VkIGZpbGVzLicpXG4gIC5vcHRpb24oJy0td2F0Y2hBbGwnLCAnV2F0Y2ggZmlsZXMgZm9yIGNoYW5nZXMgYW5kIHJlcnVuIGFsbCB0ZXN0cyB3aGVuIHNvbWV0aGluZyBjaGFuZ2VzLicpXG4gIC5hY3Rpb24oKG9wdGlvbnMsIGNtZCkgPT4gdGVzdChvcHRpb25zLCBjbWQuYXJncywgcHJvY2Vzcy5leGl0KS50aGVuKCgpID0+IHt9KSk7XG5cbnByb2dyYW0uY29tbWFuZCgndXBkYXRlJylcbiAgLm9wdGlvbignLS1pbnRlcmFjdGl2ZScsICdDaG9vc2Ugd2hpY2ggcGFja2FnZXMgdG8gdXBkYXRlLicpXG4gIC5hZGRPcHRpb24obmV3IE9wdGlvbignLS1wYWNrYWdlLW1hbmFnZXIgPG1hbmFnZXI+JywgJ1doaWNoIHBhY2thZ2UgbWFuYWdlciB0byB1c2UuIERlZmF1bHQ6IG5wbScpLmNob2ljZXMoWyducG0nLCAneWFybiddKS5kZWZhdWx0KCducG0nKSlcbiAgLm9wdGlvbignLS1xdWlldCcsICdObyBMZXggbm90aWZpY2F0aW9ucyBwcmludGVkIGluIHRoZSBjb25zb2xlLicpXG4gIC5vcHRpb24oJy0tcmVnaXN0cnknLCAnQWRkIGEgY3VzdG9tIHJlZ2lzdHJ5IHVybC4nKVxuICAuYWN0aW9uKChjbWQpID0+IHVwZGF0ZShjbWQsIHByb2Nlc3MuZXhpdCkudGhlbigoKSA9PiB7fSkpO1xuXG5wcm9ncmFtLmNvbW1hbmQoJ3VwZ3JhZGUnKVxuICAuYWRkT3B0aW9uKG5ldyBPcHRpb24oJy0tcGFja2FnZS1tYW5hZ2VyIDxtYW5hZ2VyPicsICdXaGljaCBwYWNrYWdlIG1hbmFnZXIgdG8gdXNlLiBEZWZhdWx0OiBucG0nKS5jaG9pY2VzKFsnbnBtJywgJ3lhcm4nXSkuZGVmYXVsdCgnbnBtJykpXG4gIC5vcHRpb24oJy0tcXVpZXQnLCAnTm8gTGV4IG5vdGlmaWNhdGlvbnMgcHJpbnRlZCBpbiB0aGUgY29uc29sZS4nKVxuICAuYWN0aW9uKChjbWQpID0+IHVwZ3JhZGUoY21kLCBwcm9jZXNzLmV4aXQpLnRoZW4oKCkgPT4ge30pKTtcblxucHJvZ3JhbS5jb21tYW5kKCdhaScpXG4gIC5vcHRpb24oJy0tY29udGV4dCcsICdJbmNsdWRlIHByb2plY3QgY29udGV4dCBpbiB0aGUgQUkgcHJvbXB0LicsIHRydWUpXG4gIC5vcHRpb24oJy0tZmlsZSA8cGF0aD4nLCAnU3BlY2lmaWMgZmlsZSB0byBvcGVyYXRlIG9uLicpXG4gIC5vcHRpb24oJy0tbGV4Q29uZmlnIDxwYXRoPicsICdDdXN0b20gTGV4IGNvbmZpZ3VyYXRpb24gZmlsZSBwYXRoIChpZS4gbGV4LmNvbmZpZy5qcykuJylcbiAgLm9wdGlvbignLS1tb2RlbCA8bW9kZWw+JywgJ0FJIG1vZGVsIHRvIHVzZS4gRGVmYXVsdDogZ3B0LTRvLicpXG4gIC5vcHRpb24oJy0tcHJvbXB0IDx0ZXh0PicsICdUaGUgcHJvbXB0IHRvIHNlbmQgdG8gdGhlIEFJLicpXG4gIC5vcHRpb24oJy0tcXVpZXQnLCAnTm8gTGV4IG5vdGlmaWNhdGlvbnMgcHJpbnRlZCBpbiB0aGUgY29uc29sZS4nKVxuICAuYWRkT3B0aW9uKG5ldyBPcHRpb24oJy0tdGFzayA8dGFzaz4nLCAnVHlwZSBvZiBBSSB0YXNrIHRvIHBlcmZvcm0uJykuY2hvaWNlcyhbJ2dlbmVyYXRlJywgJ2V4cGxhaW4nLCAndGVzdCcsICdvcHRpbWl6ZScsICdoZWxwJ10pLmRlZmF1bHQoJ2hlbHAnKSlcbiAgLmFjdGlvbigoY21kKSA9PiBhaUZ1bmN0aW9uKGNtZCkudGhlbigoKSA9PiB7fSkpO1xuXG5wcm9ncmFtLmNvbW1hbmQoJ3ZlcnNpb25zJylcbiAgLm9wdGlvbignLS1qc29uJywgJ1ByaW50IHRoZSB2ZXJzaW9uIGFzIGEgSlNPTiBvYmplY3QuJylcbiAgLmFjdGlvbigoY21kKSA9PiB2ZXJzaW9ucyhjbWQsIHByb2Nlc3MuZXhpdCkudGhlbigoKSA9PiB7fSkpO1xuXG5wcm9ncmFtXG4gIC52ZXJzaW9uKHBhY2thZ2VKc29uLnZlcnNpb24pXG4gIC5wYXJzZShwcm9jZXNzLmFyZ3YpOyJdLAogICJtYXBwaW5ncyI6ICI7QUFLQSxTQUFRLFFBQVEsZUFBYztBQUM5QixTQUFRLG9CQUFtQjtBQUMzQixTQUFRLHFCQUFvQjtBQUM1QixTQUFRLFNBQVMsZUFBYztBQUMvQixTQUFRLHFCQUFvQjtBQUU1QixTQUFRLGtCQUFpQjtBQUN6QixTQUFRLGFBQVk7QUFDcEIsU0FBUSxhQUFZO0FBQ3BCLFNBQVEsZUFBYztBQUN0QixTQUFRLGNBQWE7QUFDckIsU0FBUSxjQUFhO0FBQ3JCLFNBQVEsV0FBVTtBQUNsQixTQUFRLFlBQVc7QUFDbkIsU0FBUSxjQUFhO0FBQ3JCLFNBQVEsWUFBVztBQUNuQixTQUFRLGVBQWM7QUFDdEIsU0FBUSxlQUFjO0FBQ3RCLFNBQVEsa0JBQWlCO0FBQ3pCLFNBQVEsaUJBQWdCO0FBQ3hCLFNBQVEsWUFBVztBQUNuQixTQUFRLGNBQWE7QUFDckIsU0FBUSxlQUFjO0FBQ3RCLFNBQVEsZ0JBQWU7QUFFdkIsUUFBUSxJQUFJLFdBQVcsUUFBUSxjQUFjLFlBQVksR0FBRyxDQUFDO0FBRTdELE1BQU0saUJBQWlCLFFBQVEsUUFBUSxjQUFjLFlBQVksR0FBRyxDQUFDLEdBQUcsaUJBQWlCO0FBQ3pGLElBQUcsQ0FBQyxRQUFRLElBQUksV0FBVztBQUN6QixVQUFRLElBQUksWUFBWTtBQUMxQixXQUFVLENBQUMsUUFBUSxJQUFJLFVBQVUsTUFBTSxHQUFHLEVBQUUsU0FBUyxjQUFjLEdBQUc7QUFDcEUsVUFBUSxJQUFJLGFBQWEsSUFBSSxjQUFjO0FBQzdDO0FBRUEsTUFBTUEsV0FBVSxjQUFjLFlBQVksR0FBRztBQUU3Q0EsU0FBUSxRQUFRLEVBQUUs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
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { AIConfig } from '../LexConfig.js';
|
|
2
|
+
export declare const callCursorAI: (prompt: string, _options: AIConfig) => Promise<string>;
|
|
3
|
+
export declare const callOpenAIAI: (prompt: string, options: AIConfig) => Promise<string>;
|
|
4
|
+
export declare const callAnthropicAI: (prompt: string, options: AIConfig) => Promise<string>;
|
|
5
|
+
export declare const callCopilotAI: (prompt: string, _options: AIConfig) => Promise<string>;
|
|
6
|
+
export declare const promptForAIProvider: (_quiet?: boolean) => Promise<"cursor" | "copilot" | "openai" | "anthropic" | "none">;
|
|
7
|
+
export declare const promptForAPIKey: (provider: string, _quiet?: boolean) => Promise<string>;
|
|
8
|
+
export declare const getAIService: (provider: string, _options: AIConfig) => (prompt: string, options: AIConfig) => Promise<string>;
|
|
9
|
+
export declare const callAIService: (prompt: string, quiet?: boolean) => Promise<string>;
|