@cyberskill/shared 1.132.0 → 1.134.0

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.
@@ -1 +1 @@
1
- "use strict";function e(e,t){if(t==null||t>e.length)t=e.length;for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function t(e){if(Array.isArray(e))return e}function n(t){if(Array.isArray(t))return e(t)}function r(e){if(e===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return e}function s(e,t,n,r,s,i,o){try{var a=e[i](o);var c=a.value}catch(e){n(e);return}if(a.done){t(c)}else{Promise.resolve(c).then(r,s)}}function i(e){return function(){var t=this,n=arguments;return new Promise(function(r,i){var o=e.apply(t,n);function a(e){s(o,r,i,a,c,"next",e)}function c(e){s(o,r,i,a,c,"throw",e)}a(undefined)})}}function o(e,t,n){t=d(t);return C(e,R()?Reflect.construct(t,n||[],d(e).constructor):t.apply(e,n))}function a(e,t){if(!(e instanceof t)){throw new TypeError("Cannot call a class as a function")}}function c(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||false;r.configurable=true;if("value"in r)r.writable=true;Object.defineProperty(e,r.key,r)}}function u(e,t,n){if(t)c(e.prototype,t);if(n)c(e,n);return e}function l(e,t,n){if(t in e){Object.defineProperty(e,t,{value:n,enumerable:true,configurable:true,writable:true})}else{e[t]=n}return e}function d(e){d=Object.setPrototypeOf?Object.getPrototypeOf:function e(e){return e.__proto__||Object.getPrototypeOf(e)};return d(e)}function f(e,t){if(typeof t!=="function"&&t!==null){throw new TypeError("Super expression must either be null or a function")}e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:true,configurable:true}});if(t)I(e,t)}function E(e,t){if(t!=null&&typeof Symbol!=="undefined"&&t[Symbol.hasInstance]){return!!t[Symbol.hasInstance](e)}else{return e instanceof t}}function p(e){if(typeof Symbol!=="undefined"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function g(e,t){var n=e==null?null:typeof Symbol!=="undefined"&&e[Symbol.iterator]||e["@@iterator"];if(n==null)return;var r=[];var s=true;var i=false;var o,a;try{for(n=n.call(e);!(s=(o=n.next()).done);s=true){r.push(o.value);if(t&&r.length===t)break}}catch(e){i=true;a=e}finally{try{if(!s&&n["return"]!=null)n["return"]()}finally{if(i)throw a}}return r}function m(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function y(){throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function h(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};var r=Object.keys(n);if(typeof Object.getOwnPropertySymbols==="function"){r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))}r.forEach(function(t){l(e,t,n[t])})}return e}function v(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);if(t){r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})}n.push.apply(n,r)}return n}function _(e,t){t=t!=null?t:{};if(Object.getOwnPropertyDescriptors){Object.defineProperties(e,Object.getOwnPropertyDescriptors(t))}else{v(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}function S(e,t){if(e==null)return{};var n=O(e,t);var r,s;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(s=0;s<i.length;s++){r=i[s];if(t.indexOf(r)>=0)continue;if(!Object.prototype.propertyIsEnumerable.call(e,r))continue;n[r]=e[r]}}return n}function O(e,t){if(e==null)return{};var n={};var r=Object.keys(e);var s,i;for(i=0;i<r.length;i++){s=r[i];if(t.indexOf(s)>=0)continue;n[s]=e[s]}return n}function C(e,t){if(t&&(T(t)==="object"||typeof t==="function")){return t}return r(e)}function I(e,t){I=Object.setPrototypeOf||function e(e,t){e.__proto__=t;return e};return I(e,t)}function N(e,n){return t(e)||g(e,n)||D(e,n)||m()}function A(e){return n(e)||p(e)||D(e)||y()}function T(e){"@swc/helpers - typeof";return e&&typeof Symbol!=="undefined"&&e.constructor===Symbol?"symbol":typeof e}function D(t,n){if(!t)return;if(typeof t==="string")return e(t,n);var r=Object.prototype.toString.call(t).slice(8,-1);if(r==="Object"&&t.constructor)r=t.constructor.name;if(r==="Map"||r==="Set")return Array.from(r);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return e(t,n)}function R(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(R=function(){return!!e})()}function G(e,t){var n,r,s,i={label:0,sent:function(){if(s[0]&1)throw s[1];return s[1]},trys:[],ops:[]},o=Object.create((typeof Iterator==="function"?Iterator:Object).prototype);return o.next=a(0),o["throw"]=a(1),o["return"]=a(2),typeof Symbol==="function"&&(o[Symbol.iterator]=function(){return this}),o;function a(e){return function(t){return c([e,t])}}function c(a){if(n)throw new TypeError("Generator is already executing.");while(o&&(o=0,a[0]&&(i=0)),i)try{if(n=1,r&&(s=a[0]&2?r["return"]:a[0]?r["throw"]||((s=r["return"])&&s.call(r),0):r.next)&&!(s=s.call(r,a[1])).done)return s;if(r=0,s)a=[a[0]&2,s.value];switch(a[0]){case 0:case 1:s=a;break;case 4:i.label++;return{value:a[1],done:false};case 5:i.label++;r=a[1];a=[0];continue;case 7:a=i.ops.pop();i.trys.pop();continue;default:if(!(s=i.trys,s=s.length>0&&s[s.length-1])&&(a[0]===6||a[0]===2)){i=0;continue}if(a[0]===3&&(!s||a[1]>s[0]&&a[1]<s[3])){i.label=a[1];break}if(a[0]===6&&i.label<s[1]){i.label=s[1];s=a;break}if(s&&i.label<s[2]){i.label=s[2];i.ops.push(a);break}if(s[2])i.ops.pop();i.trys.pop();continue}a=t.call(e,i)}catch(e){a=[6,e];r=0}finally{n=s=0}if(a[0]&5)throw a[1];return{value:a[0]?a[1]:void 0,done:true}}}var M=Object.create;var P=Object.defineProperty;var b=Object.getOwnPropertyDescriptor;var L=Object.getOwnPropertyNames;var x=Object.getPrototypeOf,w=Object.prototype.hasOwnProperty;var j=function(e,t,n){return t in e?P(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n};var k=function(e,t){return P(e,"name",{value:t,configurable:!0})};var q=function(e,t){for(var n in t)P(e,n,{get:t[n],enumerable:!0})},U=function(e,t,n,r){var s=true,i=false,o=undefined;if(t&&(typeof t==="undefined"?"undefined":T(t))=="object"||typeof t=="function")try{var a=function(){var s=u.value;!w.call(e,s)&&s!==n&&P(e,s,{get:function(){return t[s]},enumerable:!(r=b(t,s))||r.enumerable})};for(var c=L(t)[Symbol.iterator](),u;!(s=(u=c.next()).done);s=true)a()}catch(e){i=true;o=e}finally{try{if(!s&&c.return!=null){c.return()}}finally{if(i){throw o}}}return e};var F=function(e,t,n){return n=e!=null?M(x(e)):{},U(t||!e||!e.__esModule?P(n,"default",{value:e,enumerable:!0}):n,e)},K=function(e){return U(P({},"__esModule",{value:!0}),e)};var Y=function(e,t,n){return j(e,(typeof t==="undefined"?"undefined":T(t))!="symbol"?t+"":t,n)};var V={};q(V,{BUILD_DIRECTORY:function(){return eX},COMMIT_LINT_CLI:function(){return ta},COMMIT_LINT_CONVENTIONAL_CONFIG_PACKAGE_NAME:function(){return to},COMMIT_LINT_PACKAGE_NAME:function(){return ti},CYBERSKILL_CLI:function(){return e7},CYBERSKILL_CLI_PATH:function(){return e9},CYBERSKILL_DIRECTORY:function(){return e6},CYBERSKILL_PACKAGE_NAME:function(){return eQ},C_Collection:function(){return nG},C_Db:function(){return nI},C_Document:function(){return nA},C_Model:function(){return nD},ESLINT_CLI:function(){return tt},ESLINT_INSPECT_CLI:function(){return tv},ESLINT_INSPECT_PACKAGE_NAME:function(){return th},ESLINT_PACKAGE_NAME:function(){return te},E_CommandType:function(){return eh},E_IssueType:function(){return Q},E_PackageType:function(){return eO},GIT_CLI:function(){return tE},GIT_COMMIT_EDITMSG:function(){return e5},GIT_HOOK:function(){return e3},GIT_IGNORE:function(){return e1},LINT_STAGED_CLI:function(){return tu},LINT_STAGED_PACKAGE_NAME:function(){return tc},MIGRATE_MONGO_CLI:function(){return tC},MIGRATE_MONGO_CONFIG:function(){return e8},MIGRATE_MONGO_PACKAGE_NAME:function(){return tO},MONGO_MIGRATE_OPTIONS:function(){return n_},MongoController:function(){return nQ},MongooseController:function(){return nX},NODE_MODULES:function(){return e$},NODE_MODULES_INSPECT_CLI:function(){return tS},NODE_MODULES_INSPECT_PACKAGE_NAME:function(){return t_},PACKAGE_JSON:function(){return ez},PACKAGE_LOCK_JSON:function(){return eZ},PATH:function(){return tI},PLAYWRIGHT_PACKAGE_NAME:function(){return tr},PNPM_CLI:function(){return tp},PNPM_EXEC_CLI:function(){return tg},PNPM_LOCK_YAML:function(){return e4},Router:function(){return no.Router},SIMPLE_GIT_HOOKS_PACKAGE_NAME:function(){return tm},SIMPLE_GIT_HOOK_CLI:function(){return ty},SIMPLE_GIT_HOOK_JSON:function(){return e2},TSCONFIG_JSON:function(){return e0},TSC_CLI:function(){return td},TSC_PACKAGE_NAME:function(){return tl},TSX_CLI:function(){return tf},VITEST_CLI:function(){return ts},VITEST_PACKAGE_NAME:function(){return tn},WORKING_DIRECTORY:function(){return eJ},aggregatePaginate:function(){return nL.default},appendFileSync:function(){return ew},bodyParser:function(){return nc.default},clearAllErrorLists:function(){return tY},command:function(){return tT},copySync:function(){return eq},createApolloServer:function(){return eE},createCors:function(){return nm},createCorsOptions:function(){return ng},createExpress:function(){return nh},createGitHooksConfig:function(){return tN},createNest:function(){return nv},createSession:function(){return ny},createWSServer:function(){return n0},express:function(){return nf.default},expressMiddleware:function(){return B.expressMiddleware},formatCommand:function(){return tQ},fs:function(){return eA},getLatestPackageVersion:function(){return tR},getPackage:function(){return tG},getStoredErrorLists:function(){return tK},initGraphQLWS:function(){return n1},installDependencies:function(){return tP},join:function(){return eB},logNodeJS:function(){return ef},lstatSync:function(){return eD},mkdirSync:function(){return eG},mongo:function(){return nW},mongoosePaginate:function(){return nx.default},path:function(){return eY},pathExistsSync:function(){return ej},rawCommand:function(){return tW},readFileSync:function(){return eM},readJsonSync:function(){return eL},readdirSync:function(){return eR},removeSync:function(){return ek},resolve:function(){return eH},resolveCommands:function(){return t$},resolveWorkingPath:function(){return eV},runCommand:function(){return tX},setupPackages:function(){return tb},statSync:function(){return eb},storageNodeJS:function(){return tj},throwError:function(){return el},unlinkSync:function(){return eP},updatePackage:function(){return tM},writeFileSync:function(){return ex}});module.exports=K(V);var H=require("@apollo/server"),B=require("@apollo/server/express4"),W=require("@apollo/server/plugin/drainHttpServer"),J=require("@apollo/server/plugin/landingPage/default");var Q=function(e){return e.Error="error",e.Warning="warning",e}({});var $=F(require("chalk"),1),X=F(require("consola"),1),z=require("graphql");var Z=".cyberskill-storage";var ee=F(require("@dotenvx/dotenvx"),1),et=require("envalid"),en=F(require("os"),1),er=F(require("path"),1),es=F(require("process"),1);var ei=!1;function eo(){ei||(ee.default.config(),ei=!0)}k(eo,"loadEnvFile");function ea(){eo();var e=(0,et.cleanEnv)(es.default.env,{CWD:(0,et.str)({default:es.default.cwd()}),DEBUG:(0,et.bool)({default:!1}),CYBERSKILL_STORAGE_DIRECTORY:(0,et.str)({default:er.default.join(en.default.homedir(),Z)})});return{CWD:e.CWD,DEBUG:e.DEBUG,CYBERSKILL_STORAGE_DIRECTORY:e.CYBERSKILL_STORAGE_DIRECTORY}}k(ea,"getEnv");var ec={GRAPHQL_PARSE_FAILED:{CODE:"GRAPHQL_PARSE_FAILED",MESSAGE:"The GraphQL operation string contains a syntax error."},GRAPHQL_VALIDATION_FAILED:{CODE:"GRAPHQL_VALIDATION_FAILED",MESSAGE:"The GraphQL operation is not valid against the server's schema."},BAD_USER_INPUT:{CODE:"BAD_USER_INPUT",MESSAGE:"The GraphQL operation includes an invalid value for a field argument."},PERSISTED_QUERY_NOT_FOUND:{CODE:"PERSISTED_QUERY_NOT_FOUND",MESSAGE:"A client sent the hash of a query string to execute via automatic persisted queries, but the query was not in the APQ cache."},PERSISTED_QUERY_NOT_SUPPORTED:{CODE:"PERSISTED_QUERY_NOT_SUPPORTED",MESSAGE:"A client sent the hash of a query string to execute via automatic persisted queries, but the server has disabled APQ."},OPERATION_RESOLUTION_FAILURE:{CODE:"OPERATION_RESOLUTION_FAILURE",MESSAGE:"The request was parsed successfully and is valid against the server's schema, but the server couldn't resolve which operation to run. This occurs when a request containing multiple named operations doesn't specify which operation to run (i.e.,operationName), or if the named operation isn't included in the request."},CONTINUE:{CODE:100,MESSAGE:"Continue"},SWITCHING_PROTOCOLS:{CODE:101,MESSAGE:"Switching Protocols"},PROCESSING:{CODE:102,MESSAGE:"Processing"},OK:{CODE:200,MESSAGE:"OK"},CREATED:{CODE:201,MESSAGE:"Created"},ACCEPTED:{CODE:202,MESSAGE:"Accepted"},NON_AUTHORITATIVE_INFORMATION:{CODE:203,MESSAGE:"Non Authoritative Information"},NO_CONTENT:{CODE:204,MESSAGE:"No Content"},RESET_CONTENT:{CODE:205,MESSAGE:"Reset Content"},PARTIAL_CONTENT:{CODE:206,MESSAGE:"Partial Content"},MULTI_STATUS:{CODE:207,MESSAGE:"Multi-Status"},MULTIPLE_CHOICES:{CODE:300,MESSAGE:"Multiple Choices"},MOVED_PERMANENTLY:{CODE:301,MESSAGE:"Moved Permanently"},MOVED_TEMPORARILY:{CODE:302,MESSAGE:"Moved Temporarily"},SEE_OTHER:{CODE:303,MESSAGE:"See Other"},NOT_MODIFIED:{CODE:304,MESSAGE:"Not Modified"},USE_PROXY:{CODE:305,MESSAGE:"Use Proxy"},TEMPORARY_REDIRECT:{CODE:307,MESSAGE:"Temporary Redirect"},PERMANENT_REDIRECT:{CODE:308,MESSAGE:"Permanent Redirect"},BAD_REQUEST:{CODE:400,MESSAGE:"Bad Request"},UNAUTHORIZED:{CODE:401,MESSAGE:"Unauthorized"},PAYMENT_REQUIRED:{CODE:402,MESSAGE:"Payment Required"},FORBIDDEN:{CODE:403,MESSAGE:"Forbidden"},NOT_FOUND:{CODE:404,MESSAGE:"Not Found"},METHOD_NOT_ALLOWED:{CODE:405,MESSAGE:"Method Not Allowed"},NOT_ACCEPTABLE:{CODE:406,MESSAGE:"Not Acceptable"},PROXY_AUTHENTICATION_REQUIRED:{CODE:407,MESSAGE:"Proxy Authentication Required"},REQUEST_TIMEOUT:{CODE:408,MESSAGE:"Request Timeout"},CONFLICT:{CODE:409,MESSAGE:"Conflict"},GONE:{CODE:410,MESSAGE:"Gone"},LENGTH_REQUIRED:{CODE:411,MESSAGE:"Length Required"},PRECONDITION_FAILED:{CODE:412,MESSAGE:"Precondition Failed"},REQUEST_TOO_LONG:{CODE:413,MESSAGE:"Request Entity Too Large"},REQUEST_URI_TOO_LONG:{CODE:414,MESSAGE:"Request-URI Too Long"},UNSUPPORTED_MEDIA_TYPE:{CODE:415,MESSAGE:"Unsupported Media Type"},REQUESTED_RANGE_NOT_SATISFIABLE:{CODE:416,MESSAGE:"Requested Range Not Satisfiable"},EXPECTATION_FAILED:{CODE:417,MESSAGE:"Expectation Failed"},IM_A_TEAPOT:{CODE:418,MESSAGE:"I'm a teapot"},INSUFFICIENT_SPACE_ON_RESOURCE:{CODE:419,MESSAGE:"Insufficient Space on Resource"},METHOD_FAILURE:{CODE:420,MESSAGE:"Method Failure"},MISDIRECTED_REQUEST:{CODE:421,MESSAGE:"Misdirected Request"},UNPROCESSABLE_ENTITY:{CODE:422,MESSAGE:"Unprocessable Entity"},LOCKED:{CODE:423,MESSAGE:"Locked"},FAILED_DEPENDENCY:{CODE:424,MESSAGE:"Failed Dependency"},PRECONDITION_REQUIRED:{CODE:428,MESSAGE:"Precondition Required"},TOO_MANY_REQUESTS:{CODE:429,MESSAGE:"Too Many Requests"},REQUEST_HEADER_FIELDS_TOO_LARGE:{CODE:431,MESSAGE:"Request Header Fields Too Large"},UNAVAILABLE_FOR_LEGAL_REASONS:{CODE:451,MESSAGE:"Unavailable For Legal Reasons"},INTERNAL_SERVER_ERROR:{CODE:500,MESSAGE:"Internal Server Error"},NOT_IMPLEMENTED:{CODE:501,MESSAGE:"Not Implemented"},BAD_GATEWAY:{CODE:502,MESSAGE:"Bad Gateway"},SERVICE_UNAVAILABLE:{CODE:503,MESSAGE:"Service Unavailable"},GATEWAY_TIMEOUT:{CODE:504,MESSAGE:"Gateway Timeout"},HTTP_VERSION_NOT_SUPPORTED:{CODE:505,MESSAGE:"HTTP Version Not Supported"},INSUFFICIENT_STORAGE:{CODE:507,MESSAGE:"Insufficient Storage"},NETWORK_AUTHENTICATION_REQUIRED:{CODE:511,MESSAGE:"Network Authentication Required"}};var eu=ea();function el(e){var t=e.message,n=e.status,r=n===void 0?ec.INTERNAL_SERVER_ERROR:n,s=e.type,i=s===void 0?"graphql":s;var o;var a=(o=t!==null&&t!==void 0?t:r.MESSAGE)!==null&&o!==void 0?o:"Internal server error";throw i==="graphql"?new z.GraphQLError(a,{extensions:{code:r.CODE}}):new Error(a)}k(el,"throwError");eu.DEBUG||(X.default.level=4);function ed(e){var t=$.default[e];return typeof t=="function"?t:$.default.green}k(ed,"chalkKeyword");var ef={silent:X.default.silent,level:X.default.level,fatal:X.default.fatal,error:X.default.error,warn:X.default.warn,log:X.default.log,info:X.default.info,success:X.default.success,ready:X.default.ready,start:X.default.start,box:X.default.box,debug:X.default.debug,trace:X.default.trace,verbose:X.default.verbose,printBoxedLog:function e(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"red";if(!(t===null||t===void 0?void 0:t.length)){X.default.box($.default.green(e));return}t.forEach(function(e){var t=e.file,r=e.position,s=e.rule,i=e.message;X.default.log("".concat($.default.gray("File:")," ").concat($.default.blue("".concat(t).concat(r?":".concat(r):"")))),s&&X.default.log(" ".concat(ed(n)("Rule:")," ").concat(s)),X.default.log(" ".concat(ed(n)("Message:")," ").concat(i))}),X.default.box(ed(n)("".concat(e," : ").concat(t.length))),X.default.log($.default.gray("─".repeat(40)))}};function eE(e){return new H.ApolloServer(h({schema:e.schema,plugins:[e.isDev?(0,J.ApolloServerPluginLandingPageLocalDefault)():(0,J.ApolloServerPluginLandingPageProductionDefault)(),(0,W.ApolloServerPluginDrainHttpServer)({httpServer:e.server})].concat(A(e.drainServer?[{serverWillStart:function t(){return i(function(){return G(this,function(t){return[2,{drainServer:function t(){return i(function(){var t;return G(this,function(n){(t=e.drainServer)===null||t===void 0?void 0:t.call(e),ef.info("Apollo Server drainServer hook called");return[2]})})()}}]})})()}}]:[]))},e.isDev&&{introspection:!0,includeStacktraceInErrorResponses:!0}))}k(eE,"createApolloServer");var ep=F(require("process"),1),eg=require("yargs/helpers"),em=F(require("yargs/yargs"),1);var ey={name:"@cyberskill/shared",type:"module",version:"1.132.0",description:"CyberSkill Shared",author:"Stephen Cheng",license:"MIT",homepage:"https://github.com/cyberskill-world/shared#readme",repository:{type:"git",url:"git+https://github.com/cyberskill-world/shared.git"},bugs:{url:"https://github.com/cyberskill-world/shared/issues"},exports:{".":{types:"./dist/index.d.ts",import:"./dist/index.js",require:"./dist/index.cjs"},"./configs":{types:"./dist/configs/index.d.ts",import:"./dist/configs/index.js",require:"./dist/configs/index.cjs"},"./configs/commitlint":{types:"./dist/configs/commitlint/index.d.ts",import:"./dist/configs/commitlint/index.js",require:"./dist/configs/commitlint/index.cjs"},"./configs/env":{types:"./dist/configs/env/index.d.ts",import:"./dist/configs/env/index.js",require:"./dist/configs/env/index.cjs"},"./configs/eslint":{types:"./dist/configs/eslint/index.d.ts",import:"./dist/configs/eslint/index.js",require:"./dist/configs/eslint/index.cjs"},"./configs/graphql-codegen":{types:"./dist/configs/graphql-codegen/index.d.ts",import:"./dist/configs/graphql-codegen/index.js",require:"./dist/configs/graphql-codegen/index.cjs"},"./configs/lint-staged":{types:"./dist/configs/lint-staged/index.d.ts",import:"./dist/configs/lint-staged/index.js",require:"./dist/configs/lint-staged/index.cjs"},"./constants":{types:"./dist/constants/index.d.ts",import:"./dist/constants/index.js",require:"./dist/constants/index.cjs"},"./node":{types:"./dist/node/index.d.ts",import:"./dist/node/index.js",require:"./dist/node/index.cjs"},"./node/apollo-server":{types:"./dist/node/apollo-server/index.d.ts",import:"./dist/node/apollo-server/index.js",require:"./dist/node/apollo-server/index.cjs"},"./node/cli":{types:"./dist/node/cli/index.d.ts",import:"./dist/node/cli/index.js",require:"./dist/node/cli/index.cjs"},"./node/command":{types:"./dist/node/command/index.d.ts",import:"./dist/node/command/index.js",require:"./dist/node/command/index.cjs"},"./node/express":{types:"./dist/node/express/index.d.ts",import:"./dist/node/express/index.js",require:"./dist/node/express/index.cjs"},"./node/fs":{types:"./dist/node/fs/index.d.ts",import:"./dist/node/fs/index.js",require:"./dist/node/fs/index.cjs"},"./node/log":{types:"./dist/node/log/index.d.ts",import:"./dist/node/log/index.js",require:"./dist/node/log/index.cjs"},"./node/mongo":{types:"./dist/node/mongo/index.d.ts",import:"./dist/node/mongo/index.js",require:"./dist/node/mongo/index.cjs"},"./node/package":{types:"./dist/node/package/index.d.ts",import:"./dist/node/package/index.js",require:"./dist/node/package/index.cjs"},"./node/path":{types:"./dist/node/path/index.d.ts",import:"./dist/node/path/index.js",require:"./dist/node/path/index.cjs"},"./node/storage":{types:"./dist/node/storage/index.d.ts",import:"./dist/node/storage/index.js",require:"./dist/node/storage/index.cjs"},"./node/ws":{types:"./dist/node/ws/index.d.ts",import:"./dist/node/ws/index.js",require:"./dist/node/ws/index.cjs"},"./react":{types:"./dist/react/index.d.ts",import:"./dist/react/index.js",require:"./dist/react/index.cjs"},"./react/apollo-client":{types:"./dist/react/apollo-client/index.d.ts",import:"./dist/react/apollo-client/index.js",require:"./dist/react/apollo-client/index.cjs"},"./react/apollo-error":{types:"./dist/react/apollo-error/index.d.ts",import:"./dist/react/apollo-error/index.js",require:"./dist/react/apollo-error/index.cjs"},"./react/i18next":{types:"./dist/react/i18next/index.d.ts",import:"./dist/react/i18next/index.js",require:"./dist/react/i18next/index.cjs"},"./react/loading":{types:"./dist/react/loading/index.d.ts",import:"./dist/react/loading/index.js",require:"./dist/react/loading/index.cjs"},"./react/log":{types:"./dist/react/log/index.d.ts",import:"./dist/react/log/index.js",require:"./dist/react/log/index.cjs"},"./react/next-intl":{types:"./dist/react/next-intl/index.d.ts",import:"./dist/react/next-intl/index.js",require:"./dist/react/next-intl/index.cjs"},"./react/storage":{types:"./dist/react/storage/index.d.ts",import:"./dist/react/storage/index.js",require:"./dist/react/storage/index.cjs"},"./react/toast":{types:"./dist/react/toast/index.d.ts",import:"./dist/react/toast/index.js",require:"./dist/react/toast/index.cjs"},"./react/vitest":{types:"./dist/react/vitest/index.d.ts",import:"./dist/react/vitest/index.js",require:"./dist/react/vitest/index.cjs"},"./styles/reset.css":{import:"./dist/styles/reset.css",require:"./dist/styles/reset.css"},"./typescript":{types:"./dist/typescript/index.d.ts",import:"./dist/typescript/index.js",require:"./dist/typescript/index.cjs"},"./utils":{types:"./dist/utils/index.d.ts",import:"./dist/utils/index.js",require:"./dist/utils/index.cjs"}},main:"./dist/index.cjs",module:"./dist/index.js",types:"./dist/index.d.ts",bin:{cyberskill:"./dist/node/cli/index.js"},files:["dist","public"],scripts:{build:"tsup",dev:"tsup --watch",lint:"tsx src/node/cli/index.ts lint","lint:fix":"tsx src/node/cli/index.ts lint:fix","lint:inspect":"tsx src/node/cli/index.ts lint:inspect",reset:"tsx src/node/cli/index.ts reset",prepare:"tsx src/node/cli/index.ts prepare",inspect:"tsx src/node/cli/index.ts inspect","test:unit":"tsx src/node/cli/index.ts test:unit","test:e2e":"tsx src/node/cli/index.ts test:e2e",commitlint:"tsx src/node/cli/index.ts commitlint","lint-staged":"tsx src/node/cli/index.ts lint-staged"},dependencies:{"@antfu/eslint-config":"4.12.0","@apollo/client":"3.13.8","@apollo/server":"4.12.0","@dotenvx/dotenvx":"1.42.0","@eddeee888/gcg-typescript-resolver-files":"0.12.0","@eslint-react/eslint-plugin":"1.48.5","@graphql-codegen/cli":"5.0.5","@graphql-codegen/client-preset":"4.8.0","@microsoft/api-extractor":"7.52.7","@nestjs/common":"11.1.0","@nestjs/core":"11.1.0","@next/eslint-plugin-next":"15.3.1","@testing-library/jest-dom":"6.6.3","@testing-library/react":"16.3.0","@vitejs/plugin-react-swc":"3.9.0","@vitest/browser":"3.1.2","body-parser":"2.2.0",chalk:"5.4.1",classnames:"2.5.1",compression:"1.8.0",consola:"3.4.2","cookie-parser":"1.4.7",cors:"2.8.5","crypto-js":"4.2.0","date-fns":"4.1.0","dotenv-cli":"8.0.0",envalid:"8.0.0","eslint-config-next":"15.3.1","eslint-plugin-format":"1.0.1","eslint-plugin-react-hooks":"5.2.0","eslint-plugin-react-refresh":"0.4.20",express:"4.21.2","express-session":"1.18.1","express-useragent":"1.0.15","fs-extra":"11.3.0",globals:"16.0.0",graphql:"16.11.0","graphql-ws":"6.0.4",i18next:"25.0.2",jsdom:"26.1.0",localforage:"1.10.0","migrate-mongo":"12.1.3","modern-normalize":"3.0.1",mongodb:"6.16.0",mongoose:"8.14.1","mongoose-aggregate-paginate-v2":"1.1.4","mongoose-paginate-v2":"1.9.0","next-intl":"4.1.0","node-fetch":"3.3.2","node-persist":"4.0.4",playwright:"1.52.0","postcss-modules":"6.0.1",qs:"6.14.0",react:"19.1.0","react-dom":"19.1.0","react-hot-toast":"2.5.2","react-i18next":"15.5.1","react-icons":"5.5.0",sass:"1.87.0",slugify:"1.6.6",tsup:"8.4.0",tsx:"4.19.4",typescript:"5.8.3",unorm:"1.6.0",uuid:"11.1.0",vite:"6.3.4",vitest:"3.1.2","vitest-browser-react":"0.1.1",ws:"8.18.1",yargs:"17.7.2"},publishConfig:{access:"public",registry:"https://registry.npmjs.org/"},devDependencies:{"@commitlint/cli":"19.8.0","@commitlint/config-conventional":"19.8.0","@eslint/config-inspector":"1.0.2","@types/body-parser":"1.19.5","@types/compression":"1.7.5","@types/cookie-parser":"1.4.8","@types/cors":"2.8.17","@types/crypto-js":"4.2.2","@types/express":"4.17.21","@types/express-session":"1.18.1","@types/express-useragent":"1.0.5","@types/fs-extra":"11.0.4","@types/migrate-mongo":"10.0.5","@types/mongoose-aggregate-paginate-v2":"1.0.12","@types/node":"22.15.3","@types/node-persist":"3.1.8","@types/react":"19.1.2","@types/react-dom":"19.1.3","@types/unorm":"1.3.31","@types/uuid":"10.0.0","@types/ws":"8.18.1","@types/yargs":"17.0.33",eslint:"9.25.1","lint-staged":"15.5.1","node-modules-inspector":"0.6.7","simple-git-hooks":"2.13.0"}};var eh=function(e){return e.CLI="CLI",e.STRING="STRING",e.FUNCTION="FUNCTION",e}({});var ev=require("child_process"),e_=F(require("process"),1),eS=F(require("util"),1);var eO=function(e){return e.DEPENDENCY="dependencies",e.DEV_DEPENDENCY="devDependencies",e.PEER_DEPENDENCY="peerDependencies",e.BUNDLE_DEPENDENCY="bundleDependencies",e.OPTIONAL_DEPENDENCY="optionalDependencies",e}({});var eC=F(require("node-fetch"),1);var eI=F(require("fs-extra"),1),eN=F(require("path"),1);var eA=eI.default,eT=eI.default,eD=eT.lstatSync,eR=eT.readdirSync,eG=eT.mkdirSync,eM=eT.readFileSync,eP=eT.unlinkSync,eb=eT.statSync,eL=eI.default.readJsonSync;function ex(e,t,n){eI.default.writeFileSync(e,t,n!==null&&n!==void 0?n:"utf-8")}k(ex,"writeFileSync");function ew(e,t,n){eI.default.appendFileSync(e,t,n!==null&&n!==void 0?n:"utf-8")}k(ew,"appendFileSync");function ej(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}return t.every(function(e){return eI.default.pathExistsSync(e)})}k(ej,"pathExistsSync");function ek(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}t.forEach(function(e){ej(e)&&eI.default.removeSync(e)})}k(ek,"removeSync");function eq(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};var r=n.extensions,s=S(n,["extensions"]);eI.default.copySync(e,t,h({filter:k(function(e){return eb(e).isDirectory()||!r||r.length===0?!0:r.includes(eN.default.extname(e))},"filter")},s))}k(eq,"copySync");var eU=F(require("fs-extra"),1);var eF=F(require("path"),1);var eK=ea(),eY=eF.default;function eV(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}var r;return(r=eY).resolve.apply(r,[eK.CWD].concat(A(t)))}k(eV,"resolveWorkingPath");function eH(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}var r;return(r=eY).resolve.apply(r,A(t))}k(eH,"resolve");function eB(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}var r;return(r=eY).join.apply(r,A(t))}k(eB,"join");var eW=ea(),eJ=eW.CWD,eQ="@cyberskill/shared",e$="node_modules",eX="dist",ez="package.json",eZ="package-lock.json",e0="tsconfig.json",e1=".gitignore",e2=".simple-git-hooks.json",e4="pnpm-lock.yaml",e3=".git/hooks/",e5=".git/COMMIT_EDITMSG",e8=".migrate-mongo.config.js",e6=function(){var e=eU.default.readJsonSync(eV(ez)).name===eQ?eJ:eB(eJ,e$,eQ);return eB(e,eX)}(),e7="cyberskill",e9="src/node/cli/index.ts",te="eslint",tt="eslint",tn="vitest",tr="playwright",ts="vitest",ti="@commitlint/cli",to="@commitlint/config-conventional",ta="commitlint",tc="lint-staged",tu="lint-staged",tl="typescript",td="tsc",tf="tsx",tE="git",tp="pnpm",tg="pnpm exec",tm="simple-git-hooks",ty="simple-git-hooks",th="@eslint/config-inspector",tv="eslint-config-inspector",t_="node-modules-inspector",tS="node-modules-inspector",tO="migrate-mongo",tC="./node_modules/migrate-mongo/bin/migrate-mongo",tI={CYBERSKILL_DIRECTORY:e6,WORKING_DIRECTORY:eJ,TS_CONFIG:eV(e0),GIT_IGNORE:eV(e1),GIT_HOOK:eV(e3),GIT_COMMIT_MSG:eV(e5),SIMPLE_GIT_HOOKS_JSON:eV(e2),PACKAGE_JSON:eV(ez),PACKAGE_LOCK_JSON:eV(eZ),PNPM_LOCK_YAML:eV(e4),NODE_MODULES:eV(e$),MIGRATE_MONGO_CONFIG:eV(e8),LINT_STAGED_CONFIG:eV("".concat(e6,"/configs/lint-staged/index.js")),COMMITLINT_CONFIG:eV("".concat(e6,"/configs/commitlint/index.js")),UNIT_TEST_CONFIG:eV("".concat(e6,"/react/vitest/vitest.unit.js")),UNIT_TEST_SETUP_CONFIG:eV("".concat(e6,"/react/vitest/vitest.unit.setup.js")),E2E_TEST_CONFIG:eV("".concat(e6,"/react/vitest/vitest.e2e.js"))};function tN(e){var t=e.isCurrentProject;return h({"pre-commit":tu,"commit-msg":ta},t&&{"pre-push":tW("".concat(tE," pull"))})}k(tN,"createGitHooksConfig");function tA(e){var t=e.type,n=e.packages,r=e.command;var s=n===null||n===void 0?void 0:n.reduce(function(e,t){return e.some(function(e){return e.name===t.name})||e.push(t),e},[]);return function(){return i(function(){var e;return G(this,function(n){switch(n.label){case 0:switch(t){case eh.CLI:return[3,1];case eh.STRING:return[3,4]}return[3,5];case 1:e=s===null||s===void 0?void 0:s.length;if(!e)return[3,3];return[4,tb(s,{update:!0})];case 2:e=n.sent();n.label=3;case 3:return[2,(e,tQ(tW("".concat(tg," ").concat(r))))];case 4:return[2,tQ(tW(r))];case 5:throw new Error("Unsupported command type");case 6:return[2]}})})()}}k(tA,"buildCommand");var tT={simpleGitHooks:tA({type:eh.CLI,packages:[{name:tm,type:eO.DEV_DEPENDENCY}],command:ty}),eslintInspect:tA({type:eh.CLI,packages:[{name:th,type:eO.DEV_DEPENDENCY}],command:tv}),nodeModulesInspect:tA({type:eh.CLI,packages:[{name:t_,type:eO.DEV_DEPENDENCY}],command:tS}),eslintCheck:tA({type:eh.CLI,packages:[{name:te,type:eO.DEV_DEPENDENCY}],command:"".concat(tt," ").concat(tI.WORKING_DIRECTORY," --no-cache")}),eslintFix:tA({type:eh.CLI,packages:[{name:te,type:eO.DEV_DEPENDENCY}],command:"".concat(tt," ").concat(tI.WORKING_DIRECTORY," --fix --no-cache")}),typescriptCheck:tA({type:eh.CLI,packages:[{name:tl,type:eO.DEPENDENCY}],command:"".concat(td," -p ").concat(tI.TS_CONFIG," --noEmit")}),testUnit:tA({type:eh.CLI,packages:[{name:tn,type:eO.DEV_DEPENDENCY}],command:"".concat(ts," --config ").concat(tI.UNIT_TEST_CONFIG)}),testE2e:tA({type:eh.CLI,packages:[{name:tn,type:eO.DEV_DEPENDENCY}],command:"".concat(ts," --config ").concat(tI.E2E_TEST_CONFIG)}),mongoMigrateCreate:k(function(e){return tA({type:eh.CLI,packages:[{name:tO,type:eO.DEPENDENCY}],command:"".concat(tf," ").concat(tC," create ").concat(e," -f ").concat(tI.MIGRATE_MONGO_CONFIG)})()},"mongoMigrateCreate"),mongoMigrateUp:tA({type:eh.CLI,packages:[{name:tO,type:eO.DEPENDENCY}],command:"".concat(tf," ").concat(tC," up -f ").concat(tI.MIGRATE_MONGO_CONFIG)}),mongoMigrateDown:tA({type:eh.CLI,packages:[{name:tO,type:eO.DEPENDENCY}],command:"".concat(tf," ").concat(tC," down -f ").concat(tI.MIGRATE_MONGO_CONFIG)}),commitLint:tA({type:eh.CLI,packages:[{name:ti,type:eO.DEV_DEPENDENCY},{name:to,type:eO.DEV_DEPENDENCY}],command:"".concat(ta," --edit ").concat(tI.GIT_COMMIT_MSG," --config ").concat(tI.COMMITLINT_CONFIG)}),lintStaged:tA({type:eh.CLI,packages:[{name:tc,type:eO.DEV_DEPENDENCY}],command:"".concat(tu," --config ").concat(tI.LINT_STAGED_CONFIG)}),configureGitHook:tA({type:eh.STRING,command:"".concat(tE," config core.hooksPath ").concat(tI.GIT_HOOK)}),stageBuildDirectory:tA({type:eh.STRING,command:"".concat(tE," add ").concat(eX)}),build:tA({type:eh.STRING,command:"".concat(tp," run --if-present build")}),pnpmInstallStandard:tA({type:eh.STRING,command:"".concat(tp," install")}),pnpmInstallLegacy:tA({type:eh.STRING,command:"".concat(tp," install --legacy-peer-deps")}),pnpmInstallForce:tA({type:eh.STRING,command:"".concat(tp," install --force")})};var tD=ea();function tR(e){return i(function(){var t,n,r,s;return G(this,function(i){switch(i.label){case 0:i.trys.push([0,3,,4]);return[4,(0,eC.default)("https://registry.npmjs.org/".concat(e,"/latest"))];case 1:t=i.sent();if(!t.ok)throw new Error("Failed to fetch latest version: ".concat(t.status," ").concat(t.statusText));return[4,t.json()];case 2:n=i.sent(),r=n.version;return[2,r];case 3:s=i.sent();throw ef.error('Failed to fetch version for "'.concat(e,'": ').concat(s.message)),s;case 4:return[2]}})})()}k(tR,"getLatestPackageVersion");function tG(e){return i(function(){var t,n,r,s,i,o,a,c,u,l,d,f,E,p,g,m,y,h,v;return G(this,function(_){switch(_.label){case 0:_.trys.push([0,2,,3]);if(!ej(tI.PACKAGE_JSON))return[2,{name:e.name,currentVersion:"",latestVersion:"",isCurrentProject:!1,isInstalled:!1,isUpToDate:!1,isDependency:e.type===eO.DEPENDENCY,isDevDependency:e.type===eO.DEV_DEPENDENCY,installedPath:"",file:{}}];t=eL(tI.PACKAGE_JSON),n=t.name,r=t.version,s=r===void 0?"":r,i=t.dependencies,o=i===void 0?{}:i,a=t.devDependencies,c=a===void 0?{}:a;if(e.name===n)return[2,{name:n,currentVersion:s,latestVersion:s,isCurrentProject:!0,isInstalled:!0,isUpToDate:!0,isDependency:e.type===eO.DEPENDENCY,isDevDependency:e.type===eO.DEV_DEPENDENCY,installedPath:tI.PACKAGE_JSON,file:t}];u=e.name in o,l=e.name in c;return[4,tR(e.name)];case 1:d=_.sent();if(!u&&!l)return[2,{name:e.name,currentVersion:"",latestVersion:d,isCurrentProject:!1,isInstalled:!1,isUpToDate:!1,isDependency:e.type===eO.DEPENDENCY,isDevDependency:e.type===eO.DEV_DEPENDENCY,installedPath:"",file:{}}];p=(E=(f=o[e.name])!==null&&f!==void 0?f:c[e.name])!==null&&E!==void 0?E:"",g=eB(tD.CWD,e$,e.name,ez);if(!ej(g))return[2,{name:e.name,currentVersion:"",latestVersion:d,isCurrentProject:!1,isInstalled:!1,isUpToDate:!1,isDependency:u,isDevDependency:l,installedPath:"",file:{}}];m=eL(g),y=m.version,h=y===void 0?"":y;return[2,p!==h?{name:e.name,currentVersion:h||p,latestVersion:d,isCurrentProject:!1,isInstalled:!0,isUpToDate:!1,isDependency:u,isDevDependency:l,installedPath:g,file:m}:{name:e.name,currentVersion:p,latestVersion:d,isCurrentProject:!1,isInstalled:!0,isUpToDate:p===d,isDependency:u,isDevDependency:l,installedPath:g,file:m}];case 2:v=_.sent();throw ef.error('Error getting package "'.concat(e.name,'": ').concat(v.message)),v;case 3:return[2]}})})()}k(tG,"getPackage");function tM(e){return i(function(){var t,n,r,s,i;return G(this,function(o){try{;r=eL(tI.PACKAGE_JSON),s=(t=r.dependencies)!==null&&t!==void 0?t:{},i=(n=r.devDependencies)!==null&&n!==void 0?n:{};e.isDependency?s[e.name]=e.latestVersion:e.isDevDependency&&(i[e.name]=e.latestVersion),ex(tI.PACKAGE_JSON,JSON.stringify(r,null,4)),ef.info('Updated "'.concat(e.name,'" to version ').concat(e.latestVersion))}catch(t){throw ef.error('Error updating package "'.concat(e.name,'": ').concat(t.message)),t}return[2]})})()}k(tM,"updatePackage");function tP(){return i(function(){var e,t,n,r,s,i,o,a,c,u,l,d,f;return G(this,function(E){switch(E.label){case 0:E.trys.push([0,12,,13]);e=[{command:k(function(){return tT.pnpmInstallStandard()},"command"),message:"Installing dependencies (standard)"},{command:k(function(){return tT.pnpmInstallLegacy()},"command"),message:"Retrying with legacy peer dependencies"},{command:k(function(){return tT.pnpmInstallForce()},"command"),message:"Retrying with force install"}];t=true,n=false,r=undefined;E.label=1;case 1:E.trys.push([1,9,10,11]);s=e[Symbol.iterator]();E.label=2;case 2:if(!!(t=(i=s.next()).done))return[3,8];o=i.value,a=o.command,c=o.message;E.label=3;case 3:E.trys.push([3,6,,7]);return[4,a()];case 4:u=E.sent();return[4,tX("".concat(c," using: ").concat(u),u)];case 5:E.sent();return[2];case 6:l=E.sent();ef.warn("Installation attempt failed: ".concat(c)),ef.error("Details: ".concat(l.message));return[3,7];case 7:t=true;return[3,2];case 8:return[3,11];case 9:d=E.sent();n=true;r=d;return[3,11];case 10:try{if(!t&&s.return!=null){s.return()}}finally{if(n){throw r}}return[7];case 11:return[3,13];case 12:f=E.sent();throw ef.error("Failed to install dependencies: ".concat(f.message)),f;case 13:return[2]}})})()}k(tP,"installDependencies");function tb(e,t){return i(function(){var n,r,s,i,o,a,c,u,l,d,f,E;return G(this,function(p){switch(p.label){case 0:if(!ej(tI.PACKAGE_JSON)){ef.error("package.json not found. Aborting setup.");return[2]}p.label=1;case 1:p.trys.push([1,16,,17]);return[4,Promise.all(e.map(tG))];case 2:n=p.sent().filter(function(e){return!e.isCurrentProject&&(!e.isInstalled||!e.isUpToDate)});r=n.length>0;if(!r)return[3,7];return[4,Promise.all(n.map(tM))];case 3:p.sent();return[4,tP()];case 4:p.sent();s=["Running ESLint with auto-fix"];return[4,tT.eslintFix()];case 5:return[4,tX.apply(void 0,s.concat([p.sent()]))];case 6:r=p.sent();p.label=7;case 7:r;o=true,a=false,c=undefined;p.label=8;case 8:p.trys.push([8,13,14,15]);u=((i=t===null||t===void 0?void 0:t.postInstallActions)!==null&&i!==void 0?i:[])[Symbol.iterator]();p.label=9;case 9:if(!!(o=(l=u.next()).done))return[3,12];d=l.value;return[4,d()];case 10:p.sent();p.label=11;case 11:o=true;return[3,9];case 12:return[3,15];case 13:f=p.sent();a=true;c=f;return[3,15];case 14:try{if(!o&&u.return!=null){u.return()}}finally{if(a){throw c}}return[7];case 15:return[3,17];case 16:E=p.sent();throw ef.error('Failed to setup "'.concat(e.map(function(e){return e.name}).join(", "),'": ').concat(E.message)),E;case 17:return[2]}})})()}k(tb,"setupPackages");var tL=F(require("node-persist"),1);var tx=ea();function tw(){return i(function(){var e;return G(this,function(t){switch(t.label){case 0:e=tL.default.defaultInstance;if(e)return[3,2];return[4,tL.default.init({dir:tx.CYBERSKILL_STORAGE_DIRECTORY,stringify:JSON.stringify,parse:JSON.parse,encoding:"utf8",logging:!1,forgiveParseErrors:!0})];case 1:e=t.sent();t.label=2;case 2:e;return[2]}})})()}k(tw,"initNodePersist");var tj={get:function e(e){return i(function(){var t,n;return G(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,tw()];case 1:r.sent();return[4,tL.default.getItem(e)];case 2:return[2,(t=r.sent())!==null&&t!==void 0?t:null];case 3:n=r.sent();return[2,(ef.error('[Storage:get] Error getting key "'.concat(e,'":'),n),null)];case 4:return[2]}})})()},set:function e(e,t){return i(function(){var n;return G(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,tw()];case 1:r.sent();return[4,tL.default.setItem(e,t)];case 2:r.sent();return[3,4];case 3:n=r.sent();ef.error('[Storage:set] Error setting key "'.concat(e,'":'),n);return[3,4];case 4:return[2]}})})()},remove:function e(e){return i(function(){var t;return G(this,function(n){switch(n.label){case 0:n.trys.push([0,3,,4]);return[4,tw()];case 1:n.sent();return[4,tL.default.removeItem(e)];case 2:n.sent();return[3,4];case 3:t=n.sent();ef.error('[Storage:remove] Error removing key "'.concat(e,'":'),t);return[3,4];case 4:return[2]}})})()},keys:function e(){return i(function(){var e,t;return G(this,function(n){switch(n.label){case 0:n.trys.push([0,3,,4]);return[4,tw()];case 1:n.sent();return[4,tL.default.keys()];case 2:e=n.sent();return[2,Array.isArray(e)?e:(ef.warn("[Storage:keys] Invalid keys response:",e),[])];case 3:t=n.sent();return[2,(ef.error("[Storage:keys] Error getting keys:",t),[])];case 4:return[2]}})})()},getLogLink:function e(e){return i(function(){return G(this,function(t){try{return[2,"".concat(tx.CYBERSKILL_STORAGE_DIRECTORY," (key: ").concat(e,")")]}catch(e){return[2,(ef.error("[Storage:getLogLink] Error getting log link:",e),null)]}return[2]})})()}};var tk=ea(),tq=eS.promisify(ev.exec);function tU(e){return"error_list:".concat(e)}k(tU,"getErrorListKey");function tF(e){return i(function(){var t,n,r;return G(this,function(s){switch(s.label){case 0:if(e.length===0)return[2];t=Date.now(),n=tU(t);s.label=1;case 1:s.trys.push([1,3,,4]);return[4,tj.set(n,{errors:e,timestamp:t})];case 2:s.sent(),setTimeout(function(){return i(function(){var e;return G(this,function(t){switch(t.label){case 0:return[4,tj.getLogLink(n)];case 1:e=t.sent();e&&ef.info("\uD83D\uDCC2 Open the error list manually: ".concat(e));return[2]}})})()},10);return[3,4];case 3:r=s.sent();ef.error("Failed to save errors: ".concat(r.message));return[3,4];case 4:return[2]}})})()}k(tF,"saveErrorListToStorage");function tK(){return i(function(){var e,t,n;return G(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,tj.keys()];case 1:e=r.sent(),t=Array.isArray(e)?e.filter(function(e){var t;return e===null||e===void 0?void 0:(t=e.startsWith)===null||t===void 0?void 0:t.call(e,"error_list:")}):[];return[4,Promise.all(t.map(function(e){return i(function(){var t;return G(this,function(n){switch(n.label){case 0:return[4,tj.get(e)];case 1:return[2,((t=n.sent())===null||t===void 0?void 0:t.errors)||[]]}})})()}))];case 2:return[2,r.sent().flat()];case 3:n=r.sent();return[2,(ef.error("Failed to retrieve stored errors: ".concat(n.message)),[])];case 4:return[2]}})})()}k(tK,"getStoredErrorLists");function tY(){return i(function(){var e,t,n;return G(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,tj.keys()];case 1:e=r.sent(),t=Array.isArray(e)?e.filter(function(e){var t;return e===null||e===void 0?void 0:(t=e.startsWith)===null||t===void 0?void 0:t.call(e,"error_list:")}):[];return[4,Promise.all(t.map(function(e){return tj.remove(e)}))];case 2:r.sent();return[3,4];case 3:n=r.sent();ef.error("Failed to clear error lists: ".concat(n.message));return[3,4];case 4:return[2]}})})()}k(tY,"clearAllErrorLists");function tV(e){var t=[],n=[],r="",s=/^\s*(\d+):(\d+)\s+(error|warning)\s+(.+?)\s+(\S+)$/,i=/^(.+?)\((\d+),(\d+)\):\s+(error|warning)\s+TS\d+:\s+(\S.+)$/,o=/^✖\s+(.*?)\s+\[(.*?)\]$/;e.split("\n").forEach(function(e){if(e.startsWith("/"))r=e.trim();else{var a,c,u,l,d;var f=s.exec(e)||[],E=i.exec(e)||[],p=o.exec(e)||[];var g,m,y,h,v,_;f.length&&r?t.push({file:r,position:"".concat(f[1],":").concat(f[2]),type:f[3]===Q.Error?Q.Error:Q.Warning,message:(g=f===null||f===void 0?void 0:(a=f[4])===null||a===void 0?void 0:a.trim())!==null&&g!==void 0?g:"",rule:(m=f===null||f===void 0?void 0:(c=f[5])===null||c===void 0?void 0:c.trim())!==null&&m!==void 0?m:""}):E.length?t.push({file:(y=E===null||E===void 0?void 0:E[1])!==null&&y!==void 0?y:"",position:"".concat(E[2],":").concat(E[3]),type:E[4]===Q.Error?Q.Error:Q.Warning,message:(h=E===null||E===void 0?void 0:(u=E[5])===null||u===void 0?void 0:u.trim())!==null&&h!==void 0?h:""}):p.length?t.push({file:"commitlint",type:Q.Error,message:(v=p===null||p===void 0?void 0:(l=p[1])===null||l===void 0?void 0:l.trim())!==null&&v!==void 0?v:"",rule:(_=p===null||p===void 0?void 0:(d=p[2])===null||d===void 0?void 0:d.trim())!==null&&_!==void 0?_:""}):n.push(e.trim())}}),t.length&&tF(t),tk.DEBUG&&n.length&&(ef.warn("Unmatched lines:"),n.forEach(function(e){return ef.info(" ".concat(e))}))}k(tV,"parseTextErrors");function tH(e){try{var t=JSON.parse(e),n=[];t.forEach(function(e){var t=e.filePath,r=e.messages;r.forEach(function(e){var r=e.severity,s=e.line,i=e.column,o=e.ruleId,a=e.message;n.push({type:r===2?Q.Error:Q.Warning,file:t,position:"".concat(s,":").concat(i),rule:o,message:a})})}),n.length&&tF(n)}catch(t){tV(e)}}k(tH,"parseCommandOutput");function tB(e){return i(function(e){var t,n,r,s,i,o,a,c,u;var l=arguments;return G(this,function(d){switch(d.label){case 0:t=l.length>1&&l[1]!==void 0?l[1]:tH;n=new AbortController;e_.default.on("SIGINT",function(){ef.warn("Process interrupted. Terminating..."),n.abort(),e_.default.exit()});d.label=1;case 1:d.trys.push([1,4,,5]);if(!(typeof e=="string"))return[3,3];return[4,tq(e,{maxBuffer:0x6400000,signal:n.signal})];case 2:r=d.sent(),s=r.stdout,i=r.stderr;[s,i].forEach(function(e){return e&&t(e)});d.label=3;case 3:return[3,5];case 4:o=d.sent();a=o.stdout,c=o.stderr,u=o.message;[a,c].forEach(function(e){return e&&t(e)}),!c&&!a&&ef.error("Command failed: ".concat(u));return[3,5];case 5:return[2]}})}).apply(this,arguments)}k(tB,"executeCommand");function tW(e){return{raw:!0,cmd:e}}k(tW,"rawCommand");function tJ(e,t){return(t===null||t===void 0?void 0:t.isCurrentProject)?"".concat(tg," ").concat(tf," ").concat(e9," ").concat(e):"".concat(tg," ").concat(e7," ").concat(e)}k(tJ,"formatCLI");function tQ(e,t){return typeof e=="function"?tJ(e(t),t):(typeof e==="undefined"?"undefined":T(e))=="object"&&(e===null||e===void 0?void 0:e.raw)===!0?e.cmd:typeof e=="string"?tJ(e,t):e}k(tQ,"formatCommand");function t$(e){return i(function(){var t,n,r,s;return G(this,function(i){switch(i.label){case 0:return[4,tG({name:eQ})];case 1:t=i.sent(),n=t.isCurrentProject,r={isCurrentProject:n},s=typeof e=="function"?e(r):e;return[2,Object.fromEntries(Object.entries(s).map(function(e){var t=N(e,2),n=t[0],s=t[1];return[n,tQ(s,r)]}))]}})})()}k(t$,"resolveCommands");function tX(e,t){return i(function(){var n;return G(this,function(r){switch(r.label){case 0:r.trys.push([0,2,,3]);ef.start("".concat(e)),tk.DEBUG&&ef.info("→ ".concat(t));return[4,tB(t)];case 1:r.sent(),ef.success("".concat(e," done."));return[3,3];case 2:n=r.sent();throw ef.error("".concat(e," failed: ").concat(n.message)),n;case 3:return[2]}})})()}k(tX,"runCommand");function tz(){return i(function(){var e,t;return G(this,function(n){switch(n.label){case 0:if(!ej(tI.TS_CONFIG))return[3,3];t=["Performing TypeScript validation"];return[4,tT.typescriptCheck()];case 1:return[4,tX.apply(void 0,t.concat([n.sent()]))];case 2:e=n.sent();return[3,4];case 3:e=ef.warn("No TypeScript configuration found. Skipping type check.");n.label=4;case 4:e;return[2]}})})()}k(tz,"checkTypescript");function tZ(){return i(function(){var e,t,n,r;var s=arguments;return G(this,function(i){switch(i.label){case 0:e=s.length>0&&s[0]!==void 0?s[0]:!1;if(!e)return[3,3];n=["Running ESLint with auto-fix"];return[4,tT.eslintFix()];case 1:return[4,tX.apply(void 0,n.concat([i.sent()]))];case 2:t=i.sent();return[3,6];case 3:r=["Running ESLint check"];return[4,tT.eslintCheck()];case 4:return[4,tX.apply(void 0,r.concat([i.sent()]))];case 5:t=i.sent();i.label=6;case 6:t;return[2]}})}).apply(this,arguments)}k(tZ,"checkEslint");function t0(e,t){if(!t.length)return;var n=e==="Errors"?"red":"yellow";ef.printBoxedLog(e==="Errors"?"✖ Errors":"⚠ Warnings",t,n)}k(t0,"printIssues");function t1(){return i(function(){var e,t,n;return G(this,function(r){switch(r.label){case 0:return[4,tK()];case 1:e=r.sent(),t=e.filter(function(e){return e.type===Q.Error}),n=e.filter(function(e){return e.type===Q.Warning});!t.length&&!n.length?ef.printBoxedLog("✔ NO ISSUES FOUND",[],"green"):(t0("Warnings",n),t0("Errors",t),(t.length>0||n.length>0)&&ep.default.exit(1));return[2]}})})()}k(t1,"showCheckResult");function t2(){return i(function(){var e,t,n,r,s,i;return G(this,function(o){switch(o.label){case 0:return[4,tY()];case 1:o.sent();return[4,tG({name:eQ})];case 2:e=o.sent(),t=e.isCurrentProject;if(!t)return[3,9];o.label=3;case 3:o.trys.push([3,8,,9]);n=["Building package: ".concat(eQ)];return[4,tT.build()];case 4:return[4,tX.apply(void 0,n.concat([o.sent()]))];case 5:o.sent();r=["Staging build artifacts"];return[4,tT.stageBuildDirectory()];case 6:return[4,tX.apply(void 0,r.concat([o.sent()]))];case 7:o.sent();return[3,9];case 8:s=o.sent();throw ef.error("Error building and staging ".concat(eQ,": ").concat(s.message)),s;case 9:i=["Executing lint-staged"];return[4,tT.lintStaged()];case 10:return[4,tX.apply(void 0,i.concat([o.sent()]))];case 11:o.sent(),t1();return[2]}})})()}k(t2,"lintStaged");function t4(){return i(function(){var e;return G(this,function(t){switch(t.label){case 0:e=["Inspecting ESLint configuration"];return[4,tT.eslintInspect()];case 1:return[4,tX.apply(void 0,e.concat([t.sent()]))];case 2:t.sent();return[2]}})})()}k(t4,"inspectLint");function t3(){return i(function(){return G(this,function(e){switch(e.label){case 0:return[4,tY()];case 1:e.sent();return[4,Promise.all([tz(),tZ()])];case 2:e.sent(),t1();return[2]}})})()}k(t3,"lintCheck");function t5(){return i(function(){return G(this,function(e){switch(e.label){case 0:return[4,tY()];case 1:e.sent();return[4,Promise.all([tz(),tZ(!0)])];case 2:e.sent(),t1();return[2]}})})()}k(t5,"lintFix");function t8(){return i(function(){var e;return G(this,function(t){switch(t.label){case 0:return[4,tY()];case 1:t.sent();e=["Validating commit message"];return[4,tT.commitLint()];case 2:return[4,tX.apply(void 0,e.concat([t.sent()]))];case 3:t.sent(),t1();return[2]}})})()}k(t8,"commitLint");function t6(){return i(function(){var e,t,n,r;return G(this,function(s){switch(s.label){case 0:e=["Configuring Git hooks"];return[4,tT.configureGitHook()];case 1:return[4,tX.apply(void 0,e.concat([s.sent()]))];case 2:s.sent(),ek(tI.GIT_HOOK);return[4,t$(tN)];case 3:t=s.sent();ex(tI.SIMPLE_GIT_HOOKS_JSON,JSON.stringify(t,null,4));n="\n".concat(e2,"\n");ej(tI.GIT_IGNORE)?eM(tI.GIT_IGNORE,"utf-8").split("\n").includes(e2)||ew(tI.GIT_IGNORE,n):ex(tI.GIT_IGNORE,n);r=["Setting up simple-git-hooks"];return[4,tT.simpleGitHooks()];case 4:return[4,tX.apply(void 0,r.concat([s.sent()]))];case 5:s.sent();return[2]}})})()}k(t6,"setupGitHook");function t7(){return i(function(){return G(this,function(e){switch(e.label){case 0:return[4,tb([{name:eQ,type:eO.DEPENDENCY}],{update:!0,postInstallActions:[t6]})];case 1:e.sent();return[2]}})})()}k(t7,"prepare");function t9(){return i(function(){return G(this,function(e){switch(e.label){case 0:ek(tI.NODE_MODULES,tI.PNPM_LOCK_YAML);return[4,tP()];case 1:e.sent();return[4,t6()];case 2:e.sent();return[2]}})})()}k(t9,"reset");function ne(){return i(function(){var e;return G(this,function(t){switch(t.label){case 0:e=["Inspecting project dependencies"];return[4,tT.nodeModulesInspect()];case 1:return[4,tX.apply(void 0,e.concat([t.sent()]))];case 2:t.sent();return[2]}})})()}k(ne,"inspect");function nt(){return i(function(){var e;return G(this,function(t){switch(t.label){case 0:e=["Running unit tests"];return[4,tT.testUnit()];case 1:return[4,tX.apply(void 0,e.concat([t.sent()]))];case 2:t.sent();return[2]}})})()}k(nt,"testUnit");function nn(){return i(function(){var e;return G(this,function(t){switch(t.label){case 0:e=["Running end-to-end tests"];return[4,tT.testE2e()];case 1:return[4,tX.apply(void 0,e.concat([t.sent()]))];case 2:t.sent();return[2]}})})()}k(nn,"testE2E");function nr(e){return i(function(){var t;return G(this,function(n){switch(n.label){case 0:t=["Creating MongoDB migration"];return[4,tT.mongoMigrateCreate(e)];case 1:return[4,tX.apply(void 0,t.concat([n.sent()]))];case 2:n.sent();return[2]}})})()}k(nr,"mongoMigrateCreate");function ns(){return i(function(){var e;return G(this,function(t){switch(t.label){case 0:e=["Running MongoDB migrations"];return[4,tT.mongoMigrateUp()];case 1:return[4,tX.apply(void 0,e.concat([t.sent()]))];case 2:t.sent();return[2]}})})()}k(ns,"mongoMigrateUp");function ni(){return i(function(){var e;return G(this,function(t){switch(t.label){case 0:e=["Rolling back MongoDB migration"];return[4,tT.mongoMigrateDown()];case 1:return[4,tX.apply(void 0,e.concat([t.sent()]))];case 2:t.sent();return[2]}})})()}k(ni,"mongoMigrateDown");(function(){return i(function(){var e;return G(this,function(t){switch(t.label){case 0:t.trys.push([0,2,,3]);return[4,(0,em.default)((0,eg.hideBin)(ep.default.argv)).scriptName(e7).usage("$0 <command> [options]").command("lint","Check code for linting issues",t3).command("lint:fix","Fix linting issues automatically",t5).command("lint:inspect","View active ESLint configuration",t4).command("lint-staged","Run lint checks on staged files",t2).command("commitlint","Validate commit message format",t8).command("prepare","Initialize project and dependencies",t7).command("reset","Reset the project and reinstall dependencies",t9).command("inspect","Analyze installed project dependencies",ne).command("test:unit","Run unit test suite",nt).command("test:e2e","Run end-to-end test suite",nn).command("mongo:migrate:create <name>","Create a MongoDB migration",function(e){return e.positional("name",{describe:"Migration name",type:"string"})},function(e){return i(function(){return G(this,function(t){switch(t.label){case 0:if(!e.name){ef.error("Migration name is required.");return[2]}return[4,nr(e.name)];case 1:t.sent();return[2]}})})()}).command("mongo:migrate:up","Apply all MongoDB migrations",ns).command("mongo:migrate:down","Rollback last MongoDB migration",ni).demandCommand(1,"Please specify a valid command.").strict().help().alias("h","help").alias("v","version").version(ey.version).epilog('\uD83D\uDCA1 Tip: Use "--help" with any command to see options\n').parse()];case 1:t.sent();return[3,3];case 2:e=t.sent();ef.error("Fatal: ".concat(e.message)),ep.default.exit(1);return[3,3];case 3:return[2]}})})()})();var no=require("express");var na=require("@nestjs/core"),nc=F(require("body-parser"),1),nu=F(require("compression"),1),nl=F(require("cookie-parser"),1),nd=F(require("cors"),1),nf=F(require("express"),1),nE=F(require("express-session"),1),np=F(require("express-useragent"),1);function ng(e){var t=e.isDev,n=e.whiteList,r=S(e,["isDev","whiteList"]);return h({origin:k(function(e,r){t||(n===null||n===void 0?void 0:n.includes(e!==null&&e!==void 0?e:""))?r(null,!0):r(new Error("Not allowed by CORS"),!1)},"origin"),credentials:!0},r)}k(ng,"createCorsOptions");function nm(e){return(0,nd.default)(ng(e))}k(nm,"createCors");function ny(e){return(0,nE.default)(e)}k(ny,"createSession");function nh(e){var t=(0,nf.default)();return t.set("trust proxy",1),t.use((0,nl.default)()),t.use(nf.default.urlencoded({extended:!0})),t.use((0,nu.default)()),t.use(np.default.express()),(e===null||e===void 0?void 0:e.staticFolder)&&t.use(nf.default.static(e.staticFolder)),t}k(nh,"createExpress");function nv(e){return i(function(){var t,n,r;return G(this,function(s){switch(s.label){case 0:return[4,na.NestFactory.create(e.module)];case 1:r=s.sent();return[2,(r.getHttpAdapter().getInstance().set("trust proxy",1),r.use(nf.default.urlencoded({extended:!0})),r.use((0,nl.default)()),r.use((0,nu.default)()),r.use(np.default.express()),e.staticFolder&&r.use(nf.default.static(e.staticFolder)),e.filters&&(t=r).useGlobalFilters.apply(t,A(e.filters)),e.pipes&&(n=r).useGlobalPipes.apply(n,A(e.pipes)),r)]}})})()}k(nv,"createNest");var n_="MONGO_MIGRATE_OPTIONS";var nS=require("mongodb"),nO=require("mongoose");var nC=/*#__PURE__*/function(e){f(t,e);function t(){a(this,t);return o(this,t,arguments)}return t}(nS.Db);k(nC,"C_Db");var nI=nC,nN=/*#__PURE__*/function(e){f(t,e);function t(){a(this,t);return o(this,t,arguments)}return t}(nO.Document);k(nN,"C_Document");var nA=nN,nT=/*#__PURE__*/function(e){f(t,e);function t(){a(this,t);return o(this,t,arguments)}return t}(nO.Model);k(nT,"C_Model");var nD=nT,nR=/*#__PURE__*/function(e){f(t,e);function t(){a(this,t);return o(this,t,arguments)}return t}(nS.Collection);k(nR,"C_Collection");var nG=nR;var nM=require("date-fns"),nP=F(require("migrate-mongo"),1),nb=require("mongoose"),nL=F(require("mongoose-aggregate-paginate-v2"),1),nx=F(require("mongoose-paginate-v2"),1),nw=require("uuid");var nj=F(require("unorm"),1);var nk={a:["\xe0","\xe1","ạ","ả","\xe3","\xe2","ầ","ấ","ậ","ẩ","ẫ","ă","ằ","ắ","ặ","ẳ","ẵ"],e:["\xe8","\xe9","ẹ","ẻ","ẽ","\xea","ề","ế","ệ","ể","ễ"],i:["\xec","\xed","ị","ỉ","ĩ"],o:["\xf2","\xf3","ọ","ỏ","\xf5","\xf4","ồ","ố","ộ","ổ","ỗ","ơ","ờ","ớ","ợ","ở","ỡ"],u:["\xf9","\xfa","ụ","ủ","ũ","ư","ừ","ứ","ự","ử","ữ"],y:["ỳ","\xfd","ỵ","ỷ","ỹ"],d:["đ"]},nq=Object.entries(nk).reduce(function(e,t){var n=N(t,2),r=n[0],s=n[1];return e[r.toUpperCase()]=s.map(function(e){return e.toUpperCase()}),e},{});function nU(e){return(typeof e==="undefined"?"undefined":T(e))=="object"&&e!==null&&!Array.isArray(e)}k(nU,"isObject");var nF=F(require("crypto-js"),1),nK=F(require("slugify"),1);var nY=nK.default.default||nK.default;function nV(e,t){var n=k(function(e){var n,r;return nY(e!==null&&e!==void 0?e:"",h({lower:(n=t===null||t===void 0?void 0:t.lower)!==null&&n!==void 0?n:!0,locale:(r=t===null||t===void 0?void 0:t.locale)!==null&&r!==void 0?r:"vi"},t))},"slugifyWithOptions");if(nU(e)){var r={};var s=true,i=false,o=undefined;try{for(var a=Object.entries(e)[Symbol.iterator](),c;!(s=(c=a.next()).done);s=true){var u=N(c.value,2),l=u[0],d=u[1];r[l]=n(d)}}catch(e){i=true;o=e}finally{try{if(!s&&a.return!=null){a.return()}}finally{if(i){throw o}}}return r}return n(e)}k(nV,"generateSlug");function nH(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:4;return nF.default.SHA256(e).toString(nF.default.enc.Hex).slice(0,t)}k(nH,"generateShortId");var nB={isEmpty:function e(e){return e==null?!0:typeof e=="string"?e.trim().length===0:Array.isArray(e)?e.length===0:(typeof e==="undefined"?"undefined":T(e))=="object"?E(e,Date)?!1:E(e,Map)||E(e,Set)?e.size===0:E(e,WeakMap)||E(e,WeakSet)?!0:ArrayBuffer.isView(e)?e.byteLength===0:Object.keys(e).length===0:!1},isValidIP:function e(e){var t=e.split(".");return t.length===4&&t.every(function(e){return/^\d+$/.test(e)&&Number(e)>=0&&Number(e)<=255})?!0:/^(([a-f\d]{1,4}:){7}[a-f\d]{1,4}|((?:[a-f\d]{1,4}:){1,7}:)|((?:[a-f\d]{1,4}:){1,6}:[a-f\d]{1,4})|::)$/i.test(e)}};var nW={getDateTime:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:new Date;return(0,nM.format)(e,"yyyy-MM-dd HH:mm:ss.SSS")},createGenericFields:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=e.returnDateAs,n=t===void 0?"string":t;var r=n==="string"?nW.getDateTime():new Date;return{id:(0,nw.v4)(),isDel:!1,createdAt:r,updatedAt:r}},applyPlugins:function e(e,t){t.filter(function(e){return typeof e=="function"}).forEach(function(t){return e.plugin(t)})},applyMiddlewares:function e(e,t){t.forEach(function(t){var n=t.method,r=t.pre,s=t.post;n&&r&&e.pre(n,r),n&&s&&e.post(n,s)})},createGenericSchema:function e(e){return new e.Schema({id:{type:String,default:nw.v4,required:!0,unique:!0},isDel:{type:Boolean,default:!1,required:!0}},{timestamps:!0})},createSchema:function e(e){var t=e.mongoose,n=e.schema,r=e.virtuals,s=r===void 0?[]:r,i=e.standalone,o=i===void 0?!1:i;var a=new t.Schema(n,{strict:!0});return s.forEach(function(e){var t=e.name,n=e.options,r=e.get;var s=a.virtual(t,n);r&&s.get(r)}),o||a.add(nW.createGenericSchema(t)),a},createModel:function e(e){var t=e.mongoose,n=e.name,r=e.schema,s=e.pagination,i=s===void 0?!1:s,o=e.aggregate,a=o===void 0?!1:o,c=e.virtuals,u=c===void 0?[]:c,l=e.middlewares,d=l===void 0?[]:l;if(!n)throw new Error("Model name is required.");if(t.models[n])return t.models[n];var f=nW.createSchema({mongoose:t,schema:r,virtuals:u});return nW.applyPlugins(f,[i&&nx.default,a&&nL.default]),nW.applyMiddlewares(f,d),t.model(n,f)},validator:{isEmpty:function e(){return function(e){return i(function(){return G(this,function(t){return[2,!nB.isEmpty(e)]})})()}},isUnique:function e(e){return function(t){return i(function(){var n;return G(this,function(r){switch(r.label){case 0:if(!Array.isArray(e)||e.length===0)throw new Error("Fields must be a non-empty array of strings.");n={$or:e.map(function(e){return l({},e,t)})};return[4,this.constructor.exists(n)];case 1:return[2,!r.sent()]}})}).call(this)}},matchesRegex:function e(e){return function(t){return i(function(){return G(this,function(n){if(!Array.isArray(e)||e.some(function(e){return!E(e,RegExp)}))throw new Error("regexArray must be an array of valid RegExp objects.");return[2,e.every(function(e){return e.test(t)})]})})()}}},migrate:_(h({},nP.default),{setConfig:k(function(e){var t="// This file is automatically generated by the Cyberskill CLI.\nmodule.exports = ".concat(JSON.stringify(e,null,4));ex(tI.MIGRATE_MONGO_CONFIG,t);var n="\n".concat(e8,"\n");ej(tI.GIT_IGNORE)?eM(tI.GIT_IGNORE,"utf-8").split("\n").includes(e8)||ew(tI.GIT_IGNORE,n):ex(tI.GIT_IGNORE,n)},"setConfig")})},nJ=/*#__PURE__*/function(){function e(t,n){a(this,e);Y(this,"collection");this.collection=t.collection(n)}u(e,[{key:"createOne",value:function e(e){return i(function(){var t,n,r;return G(this,function(s){switch(s.label){case 0:s.trys.push([0,2,,3]);t=h({},nW.createGenericFields(),e);n={success:!0,message:"Document created successfully"};return[4,this.collection.insertOne(t)];case 1:return[2,(n.result=s.sent(),n)];case 2:r=s.sent();return[2,{success:!1,message:r.message}];case 3:return[2]}})}).call(this)}},{key:"createMany",value:function e(e){return i(function(){var t,n,r;return G(this,function(s){switch(s.label){case 0:s.trys.push([0,2,,3]);t=e.map(function(e){return h({},nW.createGenericFields(),e)});return[4,this.collection.insertMany(t)];case 1:n=s.sent();return[2,n.insertedCount===0?{success:!1,message:"No documents were inserted"}:{success:!0,message:"".concat(n.insertedCount," documents created successfully"),result:n}];case 2:r=s.sent();return[2,{success:!1,message:r.message}];case 3:return[2]}})}).call(this)}},{key:"findOne",value:function e(e){return i(function(){var t,n;return G(this,function(r){switch(r.label){case 0:r.trys.push([0,2,,3]);return[4,this.collection.findOne(e)];case 1:t=r.sent();return[2,t?{success:!0,message:"Document found",result:t}:{success:!1,message:"Document not found"}];case 2:n=r.sent();return[2,{success:!1,message:n.message}];case 3:return[2]}})}).call(this)}},{key:"findAll",value:function e(){return i(function(){var e,t,n;var r=arguments;return G(this,function(s){switch(s.label){case 0:e=r.length>0&&r[0]!==void 0?r[0]:{};s.label=1;case 1:s.trys.push([1,3,,4]);t={success:!0,message:"Documents retrieved successfully"};return[4,this.collection.find(e).toArray()];case 2:return[2,(t.result=s.sent(),t)];case 3:n=s.sent();return[2,{success:!1,message:n.message}];case 4:return[2]}})}).apply(this,arguments)}},{key:"count",value:function e(){return i(function(){var e,t,n;var r=arguments;return G(this,function(s){switch(s.label){case 0:e=r.length>0&&r[0]!==void 0?r[0]:{};s.label=1;case 1:s.trys.push([1,3,,4]);t={success:!0,message:"Count retrieved successfully"};return[4,this.collection.countDocuments(e)];case 2:return[2,(t.result=s.sent(),t)];case 3:n=s.sent();return[2,{success:!1,message:n.message}];case 4:return[2]}})}).apply(this,arguments)}},{key:"updateOne",value:function e(e,t){return i(function(){var n,r;return G(this,function(s){switch(s.label){case 0:s.trys.push([0,2,,3]);return[4,this.collection.updateOne(e,{$set:t})];case 1:n=s.sent();return[2,n.matchedCount===0?{success:!1,message:"No documents matched the filter"}:{success:!0,message:"Document updated successfully",result:n}];case 2:r=s.sent();return[2,{success:!1,message:r.message}];case 3:return[2]}})}).call(this)}},{key:"updateMany",value:function e(e,t){return i(function(){var n,r;return G(this,function(s){switch(s.label){case 0:s.trys.push([0,2,,3]);return[4,this.collection.updateMany(e,{$set:t})];case 1:n=s.sent();return[2,n.matchedCount===0?{success:!1,message:"No documents matched the filter"}:{success:!0,message:"Documents updated successfully",result:n}];case 2:r=s.sent();return[2,{success:!1,message:r.message}];case 3:return[2]}})}).call(this)}},{key:"deleteOne",value:function e(e){return i(function(){var t,n;return G(this,function(r){switch(r.label){case 0:r.trys.push([0,2,,3]);return[4,this.collection.deleteOne(e)];case 1:t=r.sent();return[2,t.deletedCount===0?{success:!1,message:"No documents matched the filter"}:{success:!0,message:"Document deleted successfully",result:t}];case 2:n=r.sent();return[2,{success:!1,message:n.message}];case 3:return[2]}})}).call(this)}},{key:"deleteMany",value:function e(e){return i(function(){var t,n;return G(this,function(r){switch(r.label){case 0:r.trys.push([0,2,,3]);return[4,this.collection.deleteMany(e)];case 1:t=r.sent();return[2,t.deletedCount===0?{success:!1,message:"No documents matched the filter"}:{success:!0,message:"Documents deleted successfully",result:t}];case 2:n=r.sent();return[2,{success:!1,message:n.message}];case 3:return[2]}})}).call(this)}}]);return e}();k(nJ,"MongoController");var nQ=nJ,n$=/*#__PURE__*/function(){function e(t){a(this,e);Y(this,"model");this.model=t}u(e,[{key:"getModelName",value:function e(){return this.model.modelName}},{key:"findOne",value:function e(e){return i(function(){var e,t,n,r,s,i,o;var a=arguments;return G(this,function(c){switch(c.label){case 0:e=a.length>0&&a[0]!==void 0?a[0]:{},t=a.length>1&&a[1]!==void 0?a[1]:{},n=a.length>2&&a[2]!==void 0?a[2]:{},r=a.length>3?a[3]:void 0;c.label=1;case 1:c.trys.push([1,3,,4]);s=this.model.findOne(e,t,n);r&&s.populate(r);return[4,s.exec()];case 2:i=c.sent();return[2,i?{success:!0,result:i}:{success:!1,message:"No ".concat(this.getModelName()," found."),code:ec.NOT_FOUND.CODE}];case 3:o=c.sent();return[2,{success:!1,message:o.message,code:ec.INTERNAL_SERVER_ERROR.CODE}];case 4:return[2]}})}).apply(this,arguments)}},{key:"findAll",value:function e(e){return i(function(){var e,t,n,r,s,i,o;var a=arguments;return G(this,function(c){switch(c.label){case 0:e=a.length>0&&a[0]!==void 0?a[0]:{},t=a.length>1&&a[1]!==void 0?a[1]:{},n=a.length>2&&a[2]!==void 0?a[2]:{},r=a.length>3?a[3]:void 0;c.label=1;case 1:c.trys.push([1,3,,4]);s=this.model.find(e,t,n);r&&s.populate(r);i={success:!0};return[4,s.exec()];case 2:return[2,(i.result=c.sent(),i)];case 3:o=c.sent();return[2,{success:!1,message:o.message,code:ec.INTERNAL_SERVER_ERROR.CODE}];case 4:return[2]}})}).apply(this,arguments)}},{key:"findPaging",value:function e(){return i(function(){var e,t,n,r;var s=arguments;return G(this,function(i){switch(i.label){case 0:e=s.length>0&&s[0]!==void 0?s[0]:{},t=s.length>1&&s[1]!==void 0?s[1]:{};i.label=1;case 1:i.trys.push([1,3,,4]);n={success:!0};return[4,this.model.paginate(e,t)];case 2:return[2,(n.result=i.sent(),n)];case 3:r=i.sent();return[2,{success:!1,message:r.message,code:ec.INTERNAL_SERVER_ERROR.CODE}];case 4:return[2]}})}).apply(this,arguments)}},{key:"findPagingAggregate",value:function e(e){return i(function(e){var t,n,r;var s=arguments;return G(this,function(i){switch(i.label){case 0:t=s.length>1&&s[1]!==void 0?s[1]:{};i.label=1;case 1:i.trys.push([1,3,,4]);n={success:!0};return[4,this.model.aggregatePaginate(this.model.aggregate(e),t)];case 2:return[2,(n.result=i.sent(),n)];case 3:r=i.sent();return[2,{success:!1,message:r.message,code:ec.INTERNAL_SERVER_ERROR.CODE}];case 4:return[2]}})}).apply(this,arguments)}},{key:"count",value:function e(){return i(function(){var e,t,n;var r=arguments;return G(this,function(s){switch(s.label){case 0:e=r.length>0&&r[0]!==void 0?r[0]:{};s.label=1;case 1:s.trys.push([1,3,,4]);t={success:!0};return[4,this.model.countDocuments(e)];case 2:return[2,(t.result=s.sent(),t)];case 3:n=s.sent();return[2,{success:!1,message:n.message,code:ec.INTERNAL_SERVER_ERROR.CODE}];case 4:return[2]}})}).apply(this,arguments)}},{key:"createOne",value:function e(e){return i(function(){var t,n;return G(this,function(r){switch(r.label){case 0:r.trys.push([0,2,,3]);t={success:!0};return[4,this.model.create(e)];case 1:return[2,(t.result=r.sent(),t)];case 2:n=r.sent();return[2,{success:!1,message:n.message,code:ec.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})}).call(this)}},{key:"createMany",value:function e(e){return i(function(e){var t,n,r;var s=arguments;return G(this,function(i){switch(i.label){case 0:t=s.length>1&&s[1]!==void 0?s[1]:{};i.label=1;case 1:i.trys.push([1,3,,4]);n={success:!0};return[4,this.model.insertMany(e,t)];case 2:return[2,(n.result=i.sent().map(function(e){return E(e,nb.Document)?e.toObject():null}).filter(function(e){return e!==null}),n)];case 3:r=i.sent();return[2,{success:!1,message:r.message,code:ec.INTERNAL_SERVER_ERROR.CODE}];case 4:return[2]}})}).apply(this,arguments)}},{key:"updateOne",value:function e(){return i(function(){var e,t,n,r,s;var i=arguments;return G(this,function(o){switch(o.label){case 0:e=i.length>0&&i[0]!==void 0?i[0]:{},t=i.length>1&&i[1]!==void 0?i[1]:{},n=i.length>2&&i[2]!==void 0?i[2]:{};o.label=1;case 1:o.trys.push([1,3,,4]);return[4,this.model.findOneAndUpdate(e,t,h({new:!0},n)).exec()];case 2:r=o.sent();return[2,r?{success:!0,result:r}:{success:!1,message:"Failed to update ".concat(this.getModelName(),"."),code:ec.NOT_FOUND.CODE}];case 3:s=o.sent();return[2,{success:!1,message:s.message,code:ec.INTERNAL_SERVER_ERROR.CODE}];case 4:return[2]}})}).apply(this,arguments)}},{key:"updateMany",value:function e(){return i(function(){var e,t,n,r,s;var i=arguments;return G(this,function(o){switch(o.label){case 0:e=i.length>0&&i[0]!==void 0?i[0]:{},t=i.length>1&&i[1]!==void 0?i[1]:{},n=i.length>2&&i[2]!==void 0?i[2]:{};o.label=1;case 1:o.trys.push([1,3,,4]);r={success:!0};return[4,this.model.updateMany(e,t,n).exec()];case 2:return[2,(r.result=o.sent(),r)];case 3:s=o.sent();return[2,{success:!1,message:s.message,code:ec.INTERNAL_SERVER_ERROR.CODE}];case 4:return[2]}})}).apply(this,arguments)}},{key:"deleteOne",value:function e(){return i(function(){var e,t,n,r;var s=arguments;return G(this,function(i){switch(i.label){case 0:e=s.length>0&&s[0]!==void 0?s[0]:{},t=s.length>1&&s[1]!==void 0?s[1]:{};i.label=1;case 1:i.trys.push([1,3,,4]);return[4,this.model.findOneAndDelete(e,t).exec()];case 2:n=i.sent();return[2,n?{success:!0,result:n}:{success:!1,message:"No ".concat(this.getModelName()," found to delete."),code:ec.NOT_FOUND.CODE}];case 3:r=i.sent();return[2,{success:!1,message:r.message,code:ec.INTERNAL_SERVER_ERROR.CODE}];case 4:return[2]}})}).apply(this,arguments)}},{key:"deleteMany",value:function e(){return i(function(){var e,t,n,r;var s=arguments;return G(this,function(i){switch(i.label){case 0:e=s.length>0&&s[0]!==void 0?s[0]:{},t=s.length>1&&s[1]!==void 0?s[1]:{};i.label=1;case 1:i.trys.push([1,3,,4]);return[4,this.model.deleteMany(e,t).exec()];case 2:n=i.sent();return[2,n.deletedCount===0?{success:!1,message:"No documents found to delete.",code:ec.NOT_FOUND.CODE}:{success:!0,result:n}];case 3:r=i.sent();return[2,{success:!1,message:r.message,code:ec.INTERNAL_SERVER_ERROR.CODE}];case 4:return[2]}})}).apply(this,arguments)}},{key:"createShortId",value:function e(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:4;return i(function(){var n,r,s,i;return G(this,function(o){switch(o.label){case 0:n=new Set;r=0;o.label=1;case 1:if(!(r<10))return[3,5];s=nH(e,r+t);i=!n.has(s);if(!i)return[3,3];n.add(s);return[4,this.model.exists({shortId:s})];case 2:i=!o.sent();o.label=3;case 3:if(i)return[2,{success:!0,result:s}];o.label=4;case 4:r++;return[3,1];case 5:return[2,{success:!1,message:"Failed to create a unique shortId",code:ec.INTERNAL_SERVER_ERROR.CODE}]}})}).call(this)}},{key:"createSlug",value:function e(e,t,n){return i(function(){var r,s,o,a,c,u,d,f,E,p;return G(this,function(g){switch(g.label){case 0:r=this;g.label=1;case 1:g.trys.push([1,5,,6]);s=t[e],o=nU(s),a=k(function(t){var r=h({},n!==null&&n!==void 0?n:{});return o?_(h({},r),{$or:[l({},"slug.".concat(e),t),{slugHistory:{$elemMatch:l({},"slug.".concat(e),t)}}]}):_(h({},r),{$or:[{slug:t},{slugHistory:t}]})},"generateSlugQuery"),c=k(function(e){return i(function(){var t,n;return G(this,function(r){switch(r.label){case 0:t=e,n=1;r.label=1;case 1:return[4,this.model.exists(a(t))];case 2:if(!r.sent())return[3,4];t="".concat(e,"-").concat(n++);r.label=3;case 3:return[3,1];case 4:return[2,t]}})}).call(r)},"generateUniqueSlug");if(!o)return[3,3];u={success:!0};d=Object.fromEntries;return[4,Promise.all(Object.entries(s).map(function(e){var t=N(e,2),n=t[0],r=t[1];return i(function(){var e,t;return G(this,function(s){switch(s.label){case 0:e=nV(r);t=[n];return[4,c(e)];case 1:return[2,t.concat([s.sent()])]}})})()}))];case 2:return[2,(u.result=d.apply(Object,[g.sent()]),u)];case 3:f=nV(s);E={success:!0};return[4,c(f)];case 4:return[2,(E.result=g.sent(),E)];case 5:p=g.sent();return[2,{success:!1,message:"Failed to create a unique slug: ".concat(p.message),code:ec.INTERNAL_SERVER_ERROR.CODE}];case 6:return[2]}})}).call(this)}},{key:"aggregate",value:function e(e){return i(function(){var t,n;return G(this,function(r){switch(r.label){case 0:r.trys.push([0,2,,3]);t={success:!0};return[4,this.model.aggregate(e)];case 1:return[2,(t.result=r.sent(),t)];case 2:n=r.sent();return[2,{success:!1,message:n.message,code:ec.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})}).call(this)}}]);return e}();k(n$,"MongooseController");var nX=n$;var nz=require("graphql-ws/use/ws"),nZ=require("ws");function n0(e){return new nZ.WebSocketServer({server:e.server,path:e.path})}k(n0,"createWSServer");function n1(e){return(0,nz.useServer)({schema:e.schema},e.server)}k(n1,"initGraphQLWS");0&&(module.exports={BUILD_DIRECTORY:BUILD_DIRECTORY,COMMIT_LINT_CLI:COMMIT_LINT_CLI,COMMIT_LINT_CONVENTIONAL_CONFIG_PACKAGE_NAME:COMMIT_LINT_CONVENTIONAL_CONFIG_PACKAGE_NAME,COMMIT_LINT_PACKAGE_NAME:COMMIT_LINT_PACKAGE_NAME,CYBERSKILL_CLI:CYBERSKILL_CLI,CYBERSKILL_CLI_PATH:CYBERSKILL_CLI_PATH,CYBERSKILL_DIRECTORY:CYBERSKILL_DIRECTORY,CYBERSKILL_PACKAGE_NAME:CYBERSKILL_PACKAGE_NAME,C_Collection:C_Collection,C_Db:C_Db,C_Document:C_Document,C_Model:C_Model,ESLINT_CLI:ESLINT_CLI,ESLINT_INSPECT_CLI:ESLINT_INSPECT_CLI,ESLINT_INSPECT_PACKAGE_NAME:ESLINT_INSPECT_PACKAGE_NAME,ESLINT_PACKAGE_NAME:ESLINT_PACKAGE_NAME,E_CommandType:E_CommandType,E_IssueType:E_IssueType,E_PackageType:E_PackageType,GIT_CLI:GIT_CLI,GIT_COMMIT_EDITMSG:GIT_COMMIT_EDITMSG,GIT_HOOK:GIT_HOOK,GIT_IGNORE:GIT_IGNORE,LINT_STAGED_CLI:LINT_STAGED_CLI,LINT_STAGED_PACKAGE_NAME:LINT_STAGED_PACKAGE_NAME,MIGRATE_MONGO_CLI:MIGRATE_MONGO_CLI,MIGRATE_MONGO_CONFIG:MIGRATE_MONGO_CONFIG,MIGRATE_MONGO_PACKAGE_NAME:MIGRATE_MONGO_PACKAGE_NAME,MONGO_MIGRATE_OPTIONS:MONGO_MIGRATE_OPTIONS,MongoController:MongoController,MongooseController:MongooseController,NODE_MODULES:NODE_MODULES,NODE_MODULES_INSPECT_CLI:NODE_MODULES_INSPECT_CLI,NODE_MODULES_INSPECT_PACKAGE_NAME:NODE_MODULES_INSPECT_PACKAGE_NAME,PACKAGE_JSON:PACKAGE_JSON,PACKAGE_LOCK_JSON:PACKAGE_LOCK_JSON,PATH:PATH,PLAYWRIGHT_PACKAGE_NAME:PLAYWRIGHT_PACKAGE_NAME,PNPM_CLI:PNPM_CLI,PNPM_EXEC_CLI:PNPM_EXEC_CLI,PNPM_LOCK_YAML:PNPM_LOCK_YAML,Router:Router,SIMPLE_GIT_HOOKS_PACKAGE_NAME:SIMPLE_GIT_HOOKS_PACKAGE_NAME,SIMPLE_GIT_HOOK_CLI:SIMPLE_GIT_HOOK_CLI,SIMPLE_GIT_HOOK_JSON:SIMPLE_GIT_HOOK_JSON,TSCONFIG_JSON:TSCONFIG_JSON,TSC_CLI:TSC_CLI,TSC_PACKAGE_NAME:TSC_PACKAGE_NAME,TSX_CLI:TSX_CLI,VITEST_CLI:VITEST_CLI,VITEST_PACKAGE_NAME:VITEST_PACKAGE_NAME,WORKING_DIRECTORY:WORKING_DIRECTORY,aggregatePaginate:aggregatePaginate,appendFileSync:appendFileSync,bodyParser:bodyParser,clearAllErrorLists:clearAllErrorLists,command:command,copySync:copySync,createApolloServer:createApolloServer,createCors:createCors,createCorsOptions:createCorsOptions,createExpress:createExpress,createGitHooksConfig:createGitHooksConfig,createNest:createNest,createSession:createSession,createWSServer:createWSServer,express:express,expressMiddleware:expressMiddleware,formatCommand:formatCommand,fs:fs,getLatestPackageVersion:getLatestPackageVersion,getPackage:getPackage,getStoredErrorLists:getStoredErrorLists,initGraphQLWS:initGraphQLWS,installDependencies:installDependencies,join:join,logNodeJS:logNodeJS,lstatSync:lstatSync,mkdirSync:mkdirSync,mongo:mongo,mongoosePaginate:mongoosePaginate,path:path,pathExistsSync:pathExistsSync,rawCommand:rawCommand,readFileSync:readFileSync,readJsonSync:readJsonSync,readdirSync:readdirSync,removeSync:removeSync,resolve:resolve,resolveCommands:resolveCommands,resolveWorkingPath:resolveWorkingPath,runCommand:runCommand,setupPackages:setupPackages,statSync:statSync,storageNodeJS:storageNodeJS,throwError:throwError,unlinkSync:unlinkSync,updatePackage:updatePackage,writeFileSync:writeFileSync});
1
+ "use strict";function e(e,t){if(t==null||t>e.length)t=e.length;for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function t(e){if(Array.isArray(e))return e}function n(t){if(Array.isArray(t))return e(t)}function r(e){if(e===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return e}function s(e,t,n,r,s,i,o){try{var a=e[i](o);var c=a.value}catch(e){n(e);return}if(a.done){t(c)}else{Promise.resolve(c).then(r,s)}}function i(e){return function(){var t=this,n=arguments;return new Promise(function(r,i){var o=e.apply(t,n);function a(e){s(o,r,i,a,c,"next",e)}function c(e){s(o,r,i,a,c,"throw",e)}a(undefined)})}}function o(e,t,n){t=d(t);return C(e,R()?Reflect.construct(t,n||[],d(e).constructor):t.apply(e,n))}function a(e,t){if(!(e instanceof t)){throw new TypeError("Cannot call a class as a function")}}function c(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||false;r.configurable=true;if("value"in r)r.writable=true;Object.defineProperty(e,r.key,r)}}function u(e,t,n){if(t)c(e.prototype,t);if(n)c(e,n);return e}function l(e,t,n){if(t in e){Object.defineProperty(e,t,{value:n,enumerable:true,configurable:true,writable:true})}else{e[t]=n}return e}function d(e){d=Object.setPrototypeOf?Object.getPrototypeOf:function e(e){return e.__proto__||Object.getPrototypeOf(e)};return d(e)}function f(e,t){if(typeof t!=="function"&&t!==null){throw new TypeError("Super expression must either be null or a function")}e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:true,configurable:true}});if(t)I(e,t)}function E(e,t){if(t!=null&&typeof Symbol!=="undefined"&&t[Symbol.hasInstance]){return!!t[Symbol.hasInstance](e)}else{return e instanceof t}}function p(e){if(typeof Symbol!=="undefined"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function g(e,t){var n=e==null?null:typeof Symbol!=="undefined"&&e[Symbol.iterator]||e["@@iterator"];if(n==null)return;var r=[];var s=true;var i=false;var o,a;try{for(n=n.call(e);!(s=(o=n.next()).done);s=true){r.push(o.value);if(t&&r.length===t)break}}catch(e){i=true;a=e}finally{try{if(!s&&n["return"]!=null)n["return"]()}finally{if(i)throw a}}return r}function m(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function y(){throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function h(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};var r=Object.keys(n);if(typeof Object.getOwnPropertySymbols==="function"){r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))}r.forEach(function(t){l(e,t,n[t])})}return e}function v(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);if(t){r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})}n.push.apply(n,r)}return n}function _(e,t){t=t!=null?t:{};if(Object.getOwnPropertyDescriptors){Object.defineProperties(e,Object.getOwnPropertyDescriptors(t))}else{v(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}function S(e,t){if(e==null)return{};var n=O(e,t);var r,s;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(s=0;s<i.length;s++){r=i[s];if(t.indexOf(r)>=0)continue;if(!Object.prototype.propertyIsEnumerable.call(e,r))continue;n[r]=e[r]}}return n}function O(e,t){if(e==null)return{};var n={};var r=Object.keys(e);var s,i;for(i=0;i<r.length;i++){s=r[i];if(t.indexOf(s)>=0)continue;n[s]=e[s]}return n}function C(e,t){if(t&&(T(t)==="object"||typeof t==="function")){return t}return r(e)}function I(e,t){I=Object.setPrototypeOf||function e(e,t){e.__proto__=t;return e};return I(e,t)}function N(e,n){return t(e)||g(e,n)||D(e,n)||m()}function A(e){return n(e)||p(e)||D(e)||y()}function T(e){"@swc/helpers - typeof";return e&&typeof Symbol!=="undefined"&&e.constructor===Symbol?"symbol":typeof e}function D(t,n){if(!t)return;if(typeof t==="string")return e(t,n);var r=Object.prototype.toString.call(t).slice(8,-1);if(r==="Object"&&t.constructor)r=t.constructor.name;if(r==="Map"||r==="Set")return Array.from(r);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return e(t,n)}function R(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(R=function(){return!!e})()}function G(e,t){var n,r,s,i={label:0,sent:function(){if(s[0]&1)throw s[1];return s[1]},trys:[],ops:[]},o=Object.create((typeof Iterator==="function"?Iterator:Object).prototype);return o.next=a(0),o["throw"]=a(1),o["return"]=a(2),typeof Symbol==="function"&&(o[Symbol.iterator]=function(){return this}),o;function a(e){return function(t){return c([e,t])}}function c(a){if(n)throw new TypeError("Generator is already executing.");while(o&&(o=0,a[0]&&(i=0)),i)try{if(n=1,r&&(s=a[0]&2?r["return"]:a[0]?r["throw"]||((s=r["return"])&&s.call(r),0):r.next)&&!(s=s.call(r,a[1])).done)return s;if(r=0,s)a=[a[0]&2,s.value];switch(a[0]){case 0:case 1:s=a;break;case 4:i.label++;return{value:a[1],done:false};case 5:i.label++;r=a[1];a=[0];continue;case 7:a=i.ops.pop();i.trys.pop();continue;default:if(!(s=i.trys,s=s.length>0&&s[s.length-1])&&(a[0]===6||a[0]===2)){i=0;continue}if(a[0]===3&&(!s||a[1]>s[0]&&a[1]<s[3])){i.label=a[1];break}if(a[0]===6&&i.label<s[1]){i.label=s[1];s=a;break}if(s&&i.label<s[2]){i.label=s[2];i.ops.push(a);break}if(s[2])i.ops.pop();i.trys.pop();continue}a=t.call(e,i)}catch(e){a=[6,e];r=0}finally{n=s=0}if(a[0]&5)throw a[1];return{value:a[0]?a[1]:void 0,done:true}}}var M=Object.create;var P=Object.defineProperty;var b=Object.getOwnPropertyDescriptor;var L=Object.getOwnPropertyNames;var x=Object.getPrototypeOf,w=Object.prototype.hasOwnProperty;var k=function(e,t,n){return t in e?P(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n};var j=function(e,t){return P(e,"name",{value:t,configurable:!0})};var q=function(e,t){for(var n in t)P(e,n,{get:t[n],enumerable:!0})},U=function(e,t,n,r){var s=true,i=false,o=undefined;if(t&&(typeof t==="undefined"?"undefined":T(t))=="object"||typeof t=="function")try{var a=function(){var s=u.value;!w.call(e,s)&&s!==n&&P(e,s,{get:function(){return t[s]},enumerable:!(r=b(t,s))||r.enumerable})};for(var c=L(t)[Symbol.iterator](),u;!(s=(u=c.next()).done);s=true)a()}catch(e){i=true;o=e}finally{try{if(!s&&c.return!=null){c.return()}}finally{if(i){throw o}}}return e};var F=function(e,t,n){return n=e!=null?M(x(e)):{},U(t||!e||!e.__esModule?P(n,"default",{value:e,enumerable:!0}):n,e)},K=function(e){return U(P({},"__esModule",{value:!0}),e)};var Y=function(e,t,n){return k(e,(typeof t==="undefined"?"undefined":T(t))!="symbol"?t+"":t,n)};var V={};q(V,{BUILD_DIRECTORY:function(){return eX},COMMIT_LINT_CLI:function(){return ta},COMMIT_LINT_CONVENTIONAL_CONFIG_PACKAGE_NAME:function(){return to},COMMIT_LINT_PACKAGE_NAME:function(){return ti},CYBERSKILL_CLI:function(){return e7},CYBERSKILL_CLI_PATH:function(){return e9},CYBERSKILL_DIRECTORY:function(){return e6},CYBERSKILL_PACKAGE_NAME:function(){return eQ},C_Collection:function(){return nG},C_Db:function(){return nI},C_Document:function(){return nA},C_Model:function(){return nD},ESLINT_CLI:function(){return tt},ESLINT_INSPECT_CLI:function(){return tv},ESLINT_INSPECT_PACKAGE_NAME:function(){return th},ESLINT_PACKAGE_NAME:function(){return te},E_CommandType:function(){return eh},E_IssueType:function(){return Q},E_PackageType:function(){return eO},GIT_CLI:function(){return tE},GIT_COMMIT_EDITMSG:function(){return e5},GIT_HOOK:function(){return e3},GIT_IGNORE:function(){return e1},LINT_STAGED_CLI:function(){return tu},LINT_STAGED_PACKAGE_NAME:function(){return tc},MIGRATE_MONGO_CLI:function(){return tC},MIGRATE_MONGO_CONFIG:function(){return e8},MIGRATE_MONGO_PACKAGE_NAME:function(){return tO},MONGO_MIGRATE_OPTIONS:function(){return n_},MongoController:function(){return nQ},MongooseController:function(){return nX},NODE_MODULES:function(){return e$},NODE_MODULES_INSPECT_CLI:function(){return tS},NODE_MODULES_INSPECT_PACKAGE_NAME:function(){return t_},PACKAGE_JSON:function(){return ez},PACKAGE_LOCK_JSON:function(){return eZ},PATH:function(){return tI},PLAYWRIGHT_PACKAGE_NAME:function(){return tr},PNPM_CLI:function(){return tp},PNPM_EXEC_CLI:function(){return tg},PNPM_LOCK_YAML:function(){return e4},Router:function(){return no.Router},SIMPLE_GIT_HOOKS_PACKAGE_NAME:function(){return tm},SIMPLE_GIT_HOOK_CLI:function(){return ty},SIMPLE_GIT_HOOK_JSON:function(){return e2},TSCONFIG_JSON:function(){return e0},TSC_CLI:function(){return td},TSC_PACKAGE_NAME:function(){return tl},TSX_CLI:function(){return tf},VITEST_CLI:function(){return ts},VITEST_PACKAGE_NAME:function(){return tn},WORKING_DIRECTORY:function(){return eJ},aggregatePaginate:function(){return nL.default},appendFileSync:function(){return ew},bodyParser:function(){return nc.default},clearAllErrorLists:function(){return tY},command:function(){return tT},copySync:function(){return eq},createApolloServer:function(){return eE},createCors:function(){return nm},createCorsOptions:function(){return ng},createExpress:function(){return nh},createGitHooksConfig:function(){return tN},createNest:function(){return nv},createSession:function(){return ny},createWSServer:function(){return n0},express:function(){return nf.default},expressMiddleware:function(){return B.expressMiddleware},formatCommand:function(){return tQ},fs:function(){return eA},getLatestPackageVersion:function(){return tR},getPackage:function(){return tG},getStoredErrorLists:function(){return tK},initGraphQLWS:function(){return n1},installDependencies:function(){return tP},join:function(){return eB},logNodeJS:function(){return ef},lstatSync:function(){return eD},mkdirSync:function(){return eG},mongo:function(){return nW},mongoosePaginate:function(){return nx.default},path:function(){return eY},pathExistsSync:function(){return ek},rawCommand:function(){return tW},readFileSync:function(){return eM},readJsonSync:function(){return eL},readdirSync:function(){return eR},removeSync:function(){return ej},resolve:function(){return eH},resolveCommands:function(){return t$},resolveWorkingPath:function(){return eV},runCommand:function(){return tX},setupPackages:function(){return tb},statSync:function(){return eb},storageNodeJS:function(){return tk},throwError:function(){return el},unlinkSync:function(){return eP},updatePackage:function(){return tM},writeFileSync:function(){return ex}});module.exports=K(V);var H=require("@apollo/server"),B=require("@apollo/server/express4"),W=require("@apollo/server/plugin/drainHttpServer"),J=require("@apollo/server/plugin/landingPage/default");var Q=function(e){return e.Error="error",e.Warning="warning",e}({});var $=F(require("chalk"),1),X=F(require("consola"),1),z=require("graphql");var Z=".cyberskill-storage";var ee=F(require("@dotenvx/dotenvx"),1),et=require("envalid"),en=F(require("os"),1),er=F(require("path"),1),es=F(require("process"),1);var ei=!1;function eo(){ei||(ee.default.config(),ei=!0)}j(eo,"loadEnvFile");function ea(){eo();var e=(0,et.cleanEnv)(es.default.env,{CWD:(0,et.str)({default:es.default.cwd()}),DEBUG:(0,et.bool)({default:!1}),CYBERSKILL_STORAGE_DIRECTORY:(0,et.str)({default:er.default.join(en.default.homedir(),Z)})});return{CWD:e.CWD,DEBUG:e.DEBUG,CYBERSKILL_STORAGE_DIRECTORY:e.CYBERSKILL_STORAGE_DIRECTORY}}j(ea,"getEnv");var ec={GRAPHQL_PARSE_FAILED:{CODE:"GRAPHQL_PARSE_FAILED",MESSAGE:"The GraphQL operation string contains a syntax error."},GRAPHQL_VALIDATION_FAILED:{CODE:"GRAPHQL_VALIDATION_FAILED",MESSAGE:"The GraphQL operation is not valid against the server's schema."},BAD_USER_INPUT:{CODE:"BAD_USER_INPUT",MESSAGE:"The GraphQL operation includes an invalid value for a field argument."},PERSISTED_QUERY_NOT_FOUND:{CODE:"PERSISTED_QUERY_NOT_FOUND",MESSAGE:"A client sent the hash of a query string to execute via automatic persisted queries, but the query was not in the APQ cache."},PERSISTED_QUERY_NOT_SUPPORTED:{CODE:"PERSISTED_QUERY_NOT_SUPPORTED",MESSAGE:"A client sent the hash of a query string to execute via automatic persisted queries, but the server has disabled APQ."},OPERATION_RESOLUTION_FAILURE:{CODE:"OPERATION_RESOLUTION_FAILURE",MESSAGE:"The request was parsed successfully and is valid against the server's schema, but the server couldn't resolve which operation to run. This occurs when a request containing multiple named operations doesn't specify which operation to run (i.e.,operationName), or if the named operation isn't included in the request."},CONTINUE:{CODE:100,MESSAGE:"Continue"},SWITCHING_PROTOCOLS:{CODE:101,MESSAGE:"Switching Protocols"},PROCESSING:{CODE:102,MESSAGE:"Processing"},OK:{CODE:200,MESSAGE:"OK"},CREATED:{CODE:201,MESSAGE:"Created"},ACCEPTED:{CODE:202,MESSAGE:"Accepted"},NON_AUTHORITATIVE_INFORMATION:{CODE:203,MESSAGE:"Non Authoritative Information"},NO_CONTENT:{CODE:204,MESSAGE:"No Content"},RESET_CONTENT:{CODE:205,MESSAGE:"Reset Content"},PARTIAL_CONTENT:{CODE:206,MESSAGE:"Partial Content"},MULTI_STATUS:{CODE:207,MESSAGE:"Multi-Status"},MULTIPLE_CHOICES:{CODE:300,MESSAGE:"Multiple Choices"},MOVED_PERMANENTLY:{CODE:301,MESSAGE:"Moved Permanently"},MOVED_TEMPORARILY:{CODE:302,MESSAGE:"Moved Temporarily"},SEE_OTHER:{CODE:303,MESSAGE:"See Other"},NOT_MODIFIED:{CODE:304,MESSAGE:"Not Modified"},USE_PROXY:{CODE:305,MESSAGE:"Use Proxy"},TEMPORARY_REDIRECT:{CODE:307,MESSAGE:"Temporary Redirect"},PERMANENT_REDIRECT:{CODE:308,MESSAGE:"Permanent Redirect"},BAD_REQUEST:{CODE:400,MESSAGE:"Bad Request"},UNAUTHORIZED:{CODE:401,MESSAGE:"Unauthorized"},PAYMENT_REQUIRED:{CODE:402,MESSAGE:"Payment Required"},FORBIDDEN:{CODE:403,MESSAGE:"Forbidden"},NOT_FOUND:{CODE:404,MESSAGE:"Not Found"},METHOD_NOT_ALLOWED:{CODE:405,MESSAGE:"Method Not Allowed"},NOT_ACCEPTABLE:{CODE:406,MESSAGE:"Not Acceptable"},PROXY_AUTHENTICATION_REQUIRED:{CODE:407,MESSAGE:"Proxy Authentication Required"},REQUEST_TIMEOUT:{CODE:408,MESSAGE:"Request Timeout"},CONFLICT:{CODE:409,MESSAGE:"Conflict"},GONE:{CODE:410,MESSAGE:"Gone"},LENGTH_REQUIRED:{CODE:411,MESSAGE:"Length Required"},PRECONDITION_FAILED:{CODE:412,MESSAGE:"Precondition Failed"},REQUEST_TOO_LONG:{CODE:413,MESSAGE:"Request Entity Too Large"},REQUEST_URI_TOO_LONG:{CODE:414,MESSAGE:"Request-URI Too Long"},UNSUPPORTED_MEDIA_TYPE:{CODE:415,MESSAGE:"Unsupported Media Type"},REQUESTED_RANGE_NOT_SATISFIABLE:{CODE:416,MESSAGE:"Requested Range Not Satisfiable"},EXPECTATION_FAILED:{CODE:417,MESSAGE:"Expectation Failed"},IM_A_TEAPOT:{CODE:418,MESSAGE:"I'm a teapot"},INSUFFICIENT_SPACE_ON_RESOURCE:{CODE:419,MESSAGE:"Insufficient Space on Resource"},METHOD_FAILURE:{CODE:420,MESSAGE:"Method Failure"},MISDIRECTED_REQUEST:{CODE:421,MESSAGE:"Misdirected Request"},UNPROCESSABLE_ENTITY:{CODE:422,MESSAGE:"Unprocessable Entity"},LOCKED:{CODE:423,MESSAGE:"Locked"},FAILED_DEPENDENCY:{CODE:424,MESSAGE:"Failed Dependency"},PRECONDITION_REQUIRED:{CODE:428,MESSAGE:"Precondition Required"},TOO_MANY_REQUESTS:{CODE:429,MESSAGE:"Too Many Requests"},REQUEST_HEADER_FIELDS_TOO_LARGE:{CODE:431,MESSAGE:"Request Header Fields Too Large"},UNAVAILABLE_FOR_LEGAL_REASONS:{CODE:451,MESSAGE:"Unavailable For Legal Reasons"},INTERNAL_SERVER_ERROR:{CODE:500,MESSAGE:"Internal Server Error"},NOT_IMPLEMENTED:{CODE:501,MESSAGE:"Not Implemented"},BAD_GATEWAY:{CODE:502,MESSAGE:"Bad Gateway"},SERVICE_UNAVAILABLE:{CODE:503,MESSAGE:"Service Unavailable"},GATEWAY_TIMEOUT:{CODE:504,MESSAGE:"Gateway Timeout"},HTTP_VERSION_NOT_SUPPORTED:{CODE:505,MESSAGE:"HTTP Version Not Supported"},INSUFFICIENT_STORAGE:{CODE:507,MESSAGE:"Insufficient Storage"},NETWORK_AUTHENTICATION_REQUIRED:{CODE:511,MESSAGE:"Network Authentication Required"}};var eu=ea();function el(e){var t=e.message,n=e.status,r=n===void 0?ec.INTERNAL_SERVER_ERROR:n,s=e.type,i=s===void 0?"graphql":s;var o;var a=(o=t!==null&&t!==void 0?t:r.MESSAGE)!==null&&o!==void 0?o:"Internal server error";throw i==="graphql"?new z.GraphQLError(a,{extensions:{code:r.CODE}}):new Error(a)}j(el,"throwError");eu.DEBUG||(X.default.level=4);function ed(e){var t=$.default[e];return typeof t=="function"?t:$.default.green}j(ed,"chalkKeyword");var ef={silent:X.default.silent,level:X.default.level,fatal:X.default.fatal,error:X.default.error,warn:X.default.warn,log:X.default.log,info:X.default.info,success:X.default.success,ready:X.default.ready,start:X.default.start,box:X.default.box,debug:X.default.debug,trace:X.default.trace,verbose:X.default.verbose,printBoxedLog:function e(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"red";if(!(t===null||t===void 0?void 0:t.length)){X.default.box($.default.green(e));return}t.forEach(function(e){var t=e.file,r=e.position,s=e.rule,i=e.message;X.default.log("".concat($.default.gray("File:")," ").concat($.default.blue("".concat(t).concat(r?":".concat(r):"")))),s&&X.default.log(" ".concat(ed(n)("Rule:")," ").concat(s)),X.default.log(" ".concat(ed(n)("Message:")," ").concat(i))}),X.default.box(ed(n)("".concat(e," : ").concat(t.length))),X.default.log($.default.gray("─".repeat(40)))}};function eE(e){return new H.ApolloServer(h({schema:e.schema,plugins:[e.isDev?(0,J.ApolloServerPluginLandingPageLocalDefault)():(0,J.ApolloServerPluginLandingPageProductionDefault)(),(0,W.ApolloServerPluginDrainHttpServer)({httpServer:e.server})].concat(A(e.drainServer?[{serverWillStart:function t(){return i(function(){return G(this,function(t){return[2,{drainServer:function t(){return i(function(){var t;return G(this,function(n){(t=e.drainServer)===null||t===void 0?void 0:t.call(e),ef.info("Apollo Server drainServer hook called");return[2]})})()}}]})})()}}]:[]))},e.isDev&&{introspection:!0,includeStacktraceInErrorResponses:!0}))}j(eE,"createApolloServer");var ep=F(require("process"),1),eg=require("yargs/helpers"),em=F(require("yargs/yargs"),1);var ey={name:"@cyberskill/shared",type:"module",version:"1.134.0",description:"CyberSkill Shared",author:"Stephen Cheng",license:"MIT",homepage:"https://github.com/cyberskill-world/shared#readme",repository:{type:"git",url:"git+https://github.com/cyberskill-world/shared.git"},bugs:{url:"https://github.com/cyberskill-world/shared/issues"},exports:{".":{types:"./dist/index.d.ts",import:"./dist/index.js",require:"./dist/index.cjs"},"./configs":{types:"./dist/configs/index.d.ts",import:"./dist/configs/index.js",require:"./dist/configs/index.cjs"},"./configs/commitlint":{types:"./dist/configs/commitlint/index.d.ts",import:"./dist/configs/commitlint/index.js",require:"./dist/configs/commitlint/index.cjs"},"./configs/env":{types:"./dist/configs/env/index.d.ts",import:"./dist/configs/env/index.js",require:"./dist/configs/env/index.cjs"},"./configs/eslint":{types:"./dist/configs/eslint/index.d.ts",import:"./dist/configs/eslint/index.js",require:"./dist/configs/eslint/index.cjs"},"./configs/graphql-codegen":{types:"./dist/configs/graphql-codegen/index.d.ts",import:"./dist/configs/graphql-codegen/index.js",require:"./dist/configs/graphql-codegen/index.cjs"},"./configs/lint-staged":{types:"./dist/configs/lint-staged/index.d.ts",import:"./dist/configs/lint-staged/index.js",require:"./dist/configs/lint-staged/index.cjs"},"./constants":{types:"./dist/constants/index.d.ts",import:"./dist/constants/index.js",require:"./dist/constants/index.cjs"},"./node":{types:"./dist/node/index.d.ts",import:"./dist/node/index.js",require:"./dist/node/index.cjs"},"./node/apollo-server":{types:"./dist/node/apollo-server/index.d.ts",import:"./dist/node/apollo-server/index.js",require:"./dist/node/apollo-server/index.cjs"},"./node/cli":{types:"./dist/node/cli/index.d.ts",import:"./dist/node/cli/index.js",require:"./dist/node/cli/index.cjs"},"./node/command":{types:"./dist/node/command/index.d.ts",import:"./dist/node/command/index.js",require:"./dist/node/command/index.cjs"},"./node/express":{types:"./dist/node/express/index.d.ts",import:"./dist/node/express/index.js",require:"./dist/node/express/index.cjs"},"./node/fs":{types:"./dist/node/fs/index.d.ts",import:"./dist/node/fs/index.js",require:"./dist/node/fs/index.cjs"},"./node/log":{types:"./dist/node/log/index.d.ts",import:"./dist/node/log/index.js",require:"./dist/node/log/index.cjs"},"./node/mongo":{types:"./dist/node/mongo/index.d.ts",import:"./dist/node/mongo/index.js",require:"./dist/node/mongo/index.cjs"},"./node/package":{types:"./dist/node/package/index.d.ts",import:"./dist/node/package/index.js",require:"./dist/node/package/index.cjs"},"./node/path":{types:"./dist/node/path/index.d.ts",import:"./dist/node/path/index.js",require:"./dist/node/path/index.cjs"},"./node/storage":{types:"./dist/node/storage/index.d.ts",import:"./dist/node/storage/index.js",require:"./dist/node/storage/index.cjs"},"./node/ws":{types:"./dist/node/ws/index.d.ts",import:"./dist/node/ws/index.js",require:"./dist/node/ws/index.cjs"},"./react":{types:"./dist/react/index.d.ts",import:"./dist/react/index.js",require:"./dist/react/index.cjs"},"./react/apollo-client":{types:"./dist/react/apollo-client/index.d.ts",import:"./dist/react/apollo-client/index.js",require:"./dist/react/apollo-client/index.cjs"},"./react/apollo-error":{types:"./dist/react/apollo-error/index.d.ts",import:"./dist/react/apollo-error/index.js",require:"./dist/react/apollo-error/index.cjs"},"./react/i18next":{types:"./dist/react/i18next/index.d.ts",import:"./dist/react/i18next/index.js",require:"./dist/react/i18next/index.cjs"},"./react/loading":{types:"./dist/react/loading/index.d.ts",import:"./dist/react/loading/index.js",require:"./dist/react/loading/index.cjs"},"./react/log":{types:"./dist/react/log/index.d.ts",import:"./dist/react/log/index.js",require:"./dist/react/log/index.cjs"},"./react/next-intl":{types:"./dist/react/next-intl/index.d.ts",import:"./dist/react/next-intl/index.js",require:"./dist/react/next-intl/index.cjs"},"./react/storage":{types:"./dist/react/storage/index.d.ts",import:"./dist/react/storage/index.js",require:"./dist/react/storage/index.cjs"},"./react/toast":{types:"./dist/react/toast/index.d.ts",import:"./dist/react/toast/index.js",require:"./dist/react/toast/index.cjs"},"./react/vitest":{types:"./dist/react/vitest/index.d.ts",import:"./dist/react/vitest/index.js",require:"./dist/react/vitest/index.cjs"},"./styles/reset.css":{import:"./dist/styles/reset.css",require:"./dist/styles/reset.css"},"./typescript":{types:"./dist/typescript/index.d.ts",import:"./dist/typescript/index.js",require:"./dist/typescript/index.cjs"},"./utils":{types:"./dist/utils/index.d.ts",import:"./dist/utils/index.js",require:"./dist/utils/index.cjs"}},main:"./dist/index.cjs",module:"./dist/index.js",types:"./dist/index.d.ts",bin:{cyberskill:"./dist/node/cli/index.js"},files:["dist","public"],scripts:{build:"tsup",dev:"tsup --watch",lint:"tsx src/node/cli/index.ts lint","lint:fix":"tsx src/node/cli/index.ts lint:fix","lint:inspect":"tsx src/node/cli/index.ts lint:inspect",reset:"tsx src/node/cli/index.ts reset",prepare:"tsx src/node/cli/index.ts prepare",inspect:"tsx src/node/cli/index.ts inspect","test:unit":"tsx src/node/cli/index.ts test:unit","test:e2e":"tsx src/node/cli/index.ts test:e2e",commitlint:"tsx src/node/cli/index.ts commitlint","lint-staged":"tsx src/node/cli/index.ts lint-staged"},dependencies:{"@antfu/eslint-config":"4.12.0","@apollo/client":"3.13.8","@apollo/server":"4.12.0","@dotenvx/dotenvx":"1.42.1","@eddeee888/gcg-typescript-resolver-files":"0.12.0","@eslint-react/eslint-plugin":"1.48.5","@graphql-codegen/cli":"5.0.5","@graphql-codegen/client-preset":"4.8.0","@microsoft/api-extractor":"7.52.7","@nestjs/common":"11.1.0","@nestjs/core":"11.1.0","@next/eslint-plugin-next":"15.3.1","@testing-library/jest-dom":"6.6.3","@testing-library/react":"16.3.0","@vitejs/plugin-react-swc":"3.9.0","@vitest/browser":"3.1.2","body-parser":"2.2.0",chalk:"5.4.1",classnames:"2.5.1",compression:"1.8.0",consola:"3.4.2","cookie-parser":"1.4.7",cors:"2.8.5","crypto-js":"4.2.0","date-fns":"4.1.0","dotenv-cli":"8.0.0",envalid:"8.0.0","eslint-config-next":"15.3.1","eslint-plugin-format":"1.0.1","eslint-plugin-react-hooks":"5.2.0","eslint-plugin-react-refresh":"0.4.20",express:"4.21.2","express-session":"1.18.1","express-useragent":"1.0.15","fs-extra":"11.3.0",globals:"16.0.0",graphql:"16.11.0","graphql-ws":"6.0.4",i18next:"25.0.2",jsdom:"26.1.0",localforage:"1.10.0","migrate-mongo":"12.1.3","modern-normalize":"3.0.1",mongodb:"6.16.0",mongoose:"8.14.1","mongoose-aggregate-paginate-v2":"1.1.4","mongoose-paginate-v2":"1.9.0","next-intl":"4.1.0","node-fetch":"3.3.2","node-persist":"4.0.4",playwright:"1.52.0","postcss-modules":"6.0.1",qs:"6.14.0",react:"19.1.0","react-dom":"19.1.0","react-hot-toast":"2.5.2","react-i18next":"15.5.1","react-icons":"5.5.0",sass:"1.87.0",slugify:"1.6.6",tsup:"8.4.0",tsx:"4.19.4",typescript:"5.8.3",unorm:"1.6.0",uuid:"11.1.0",vite:"6.3.4",vitest:"3.1.2","vitest-browser-react":"0.1.1",ws:"8.18.1",yargs:"17.7.2"},publishConfig:{access:"public",registry:"https://registry.npmjs.org/"},devDependencies:{"@commitlint/cli":"19.8.0","@commitlint/config-conventional":"19.8.0","@eslint/config-inspector":"1.0.2","@types/body-parser":"1.19.5","@types/compression":"1.7.5","@types/cookie-parser":"1.4.8","@types/cors":"2.8.17","@types/crypto-js":"4.2.2","@types/express":"4.17.21","@types/express-session":"1.18.1","@types/express-useragent":"1.0.5","@types/fs-extra":"11.0.4","@types/migrate-mongo":"10.0.5","@types/mongoose-aggregate-paginate-v2":"1.0.12","@types/node":"22.15.3","@types/node-persist":"3.1.8","@types/react":"19.1.2","@types/react-dom":"19.1.3","@types/unorm":"1.3.31","@types/uuid":"10.0.0","@types/ws":"8.18.1","@types/yargs":"17.0.33",eslint:"9.25.1","lint-staged":"15.5.1","node-modules-inspector":"0.6.7","simple-git-hooks":"2.13.0"}};var eh=function(e){return e.CLI="CLI",e.STRING="STRING",e.FUNCTION="FUNCTION",e}({});var ev=require("child_process"),e_=F(require("process"),1),eS=F(require("util"),1);var eO=function(e){return e.DEPENDENCY="dependencies",e.DEV_DEPENDENCY="devDependencies",e.PEER_DEPENDENCY="peerDependencies",e.BUNDLE_DEPENDENCY="bundleDependencies",e.OPTIONAL_DEPENDENCY="optionalDependencies",e}({});var eC=F(require("node-fetch"),1);var eI=F(require("fs-extra"),1),eN=F(require("path"),1);var eA=eI.default,eT=eI.default,eD=eT.lstatSync,eR=eT.readdirSync,eG=eT.mkdirSync,eM=eT.readFileSync,eP=eT.unlinkSync,eb=eT.statSync,eL=eI.default.readJsonSync;function ex(e,t,n){eI.default.writeFileSync(e,t,n!==null&&n!==void 0?n:"utf-8")}j(ex,"writeFileSync");function ew(e,t,n){eI.default.appendFileSync(e,t,n!==null&&n!==void 0?n:"utf-8")}j(ew,"appendFileSync");function ek(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}return t.every(function(e){return eI.default.pathExistsSync(e)})}j(ek,"pathExistsSync");function ej(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}t.forEach(function(e){ek(e)&&eI.default.removeSync(e)})}j(ej,"removeSync");function eq(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};var r=n.extensions,s=S(n,["extensions"]);eI.default.copySync(e,t,h({filter:j(function(e){return eb(e).isDirectory()||!r||r.length===0?!0:r.includes(eN.default.extname(e))},"filter")},s))}j(eq,"copySync");var eU=F(require("fs-extra"),1);var eF=F(require("path"),1);var eK=ea(),eY=eF.default;function eV(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}var r;return(r=eY).resolve.apply(r,[eK.CWD].concat(A(t)))}j(eV,"resolveWorkingPath");function eH(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}var r;return(r=eY).resolve.apply(r,A(t))}j(eH,"resolve");function eB(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}var r;return(r=eY).join.apply(r,A(t))}j(eB,"join");var eW=ea(),eJ=eW.CWD,eQ="@cyberskill/shared",e$="node_modules",eX="dist",ez="package.json",eZ="package-lock.json",e0="tsconfig.json",e1=".gitignore",e2=".simple-git-hooks.json",e4="pnpm-lock.yaml",e3=".git/hooks/",e5=".git/COMMIT_EDITMSG",e8=".migrate-mongo.config.js",e6=function(){var e=eU.default.readJsonSync(eV(ez)).name===eQ?eJ:eB(eJ,e$,eQ);return eB(e,eX)}(),e7="cyberskill",e9="src/node/cli/index.ts",te="eslint",tt="eslint",tn="vitest",tr="playwright",ts="vitest",ti="@commitlint/cli",to="@commitlint/config-conventional",ta="commitlint",tc="lint-staged",tu="lint-staged",tl="typescript",td="tsc",tf="tsx",tE="git",tp="pnpm",tg="pnpm exec",tm="simple-git-hooks",ty="simple-git-hooks",th="@eslint/config-inspector",tv="eslint-config-inspector",t_="node-modules-inspector",tS="node-modules-inspector",tO="migrate-mongo",tC="./node_modules/migrate-mongo/bin/migrate-mongo",tI={CYBERSKILL_DIRECTORY:e6,WORKING_DIRECTORY:eJ,TS_CONFIG:eV(e0),GIT_IGNORE:eV(e1),GIT_HOOK:eV(e3),GIT_COMMIT_MSG:eV(e5),SIMPLE_GIT_HOOKS_JSON:eV(e2),PACKAGE_JSON:eV(ez),PACKAGE_LOCK_JSON:eV(eZ),PNPM_LOCK_YAML:eV(e4),NODE_MODULES:eV(e$),MIGRATE_MONGO_CONFIG:eV(e8),LINT_STAGED_CONFIG:eV("".concat(e6,"/configs/lint-staged/index.js")),COMMITLINT_CONFIG:eV("".concat(e6,"/configs/commitlint/index.js")),UNIT_TEST_CONFIG:eV("".concat(e6,"/react/vitest/vitest.unit.js")),UNIT_TEST_SETUP_CONFIG:eV("".concat(e6,"/react/vitest/vitest.unit.setup.js")),E2E_TEST_CONFIG:eV("".concat(e6,"/react/vitest/vitest.e2e.js"))};function tN(e){var t=e.isCurrentProject;return h({"pre-commit":tu,"commit-msg":ta},t&&{"pre-push":tW("".concat(tE," pull"))})}j(tN,"createGitHooksConfig");function tA(e){var t=e.type,n=e.packages,r=e.command;var s=n===null||n===void 0?void 0:n.reduce(function(e,t){return e.some(function(e){return e.name===t.name})||e.push(t),e},[]);return function(){return i(function(){var e;return G(this,function(n){switch(n.label){case 0:switch(t){case eh.CLI:return[3,1];case eh.STRING:return[3,4]}return[3,5];case 1:e=s===null||s===void 0?void 0:s.length;if(!e)return[3,3];return[4,tb(s,{update:!0})];case 2:e=n.sent();n.label=3;case 3:return[2,(e,tQ(tW("".concat(tg," ").concat(r))))];case 4:return[2,tQ(tW(r))];case 5:throw new Error("Unsupported command type");case 6:return[2]}})})()}}j(tA,"buildCommand");var tT={simpleGitHooks:tA({type:eh.CLI,packages:[{name:tm,type:eO.DEV_DEPENDENCY}],command:ty}),eslintInspect:tA({type:eh.CLI,packages:[{name:th,type:eO.DEV_DEPENDENCY}],command:tv}),nodeModulesInspect:tA({type:eh.CLI,packages:[{name:t_,type:eO.DEV_DEPENDENCY}],command:tS}),eslintCheck:tA({type:eh.CLI,packages:[{name:te,type:eO.DEV_DEPENDENCY}],command:"".concat(tt," ").concat(tI.WORKING_DIRECTORY," --no-cache")}),eslintFix:tA({type:eh.CLI,packages:[{name:te,type:eO.DEV_DEPENDENCY}],command:"".concat(tt," ").concat(tI.WORKING_DIRECTORY," --fix --no-cache")}),typescriptCheck:tA({type:eh.CLI,packages:[{name:tl,type:eO.DEPENDENCY}],command:"".concat(td," -p ").concat(tI.TS_CONFIG," --noEmit")}),testUnit:tA({type:eh.CLI,packages:[{name:tn,type:eO.DEV_DEPENDENCY}],command:"".concat(ts," --config ").concat(tI.UNIT_TEST_CONFIG)}),testE2e:tA({type:eh.CLI,packages:[{name:tn,type:eO.DEV_DEPENDENCY}],command:"".concat(ts," --config ").concat(tI.E2E_TEST_CONFIG)}),mongoMigrateCreate:j(function(e){return tA({type:eh.CLI,packages:[{name:tO,type:eO.DEPENDENCY}],command:"".concat(tf," ").concat(tC," create ").concat(e," -f ").concat(tI.MIGRATE_MONGO_CONFIG)})()},"mongoMigrateCreate"),mongoMigrateUp:tA({type:eh.CLI,packages:[{name:tO,type:eO.DEPENDENCY}],command:"".concat(tf," ").concat(tC," up -f ").concat(tI.MIGRATE_MONGO_CONFIG)}),mongoMigrateDown:tA({type:eh.CLI,packages:[{name:tO,type:eO.DEPENDENCY}],command:"".concat(tf," ").concat(tC," down -f ").concat(tI.MIGRATE_MONGO_CONFIG)}),commitLint:tA({type:eh.CLI,packages:[{name:ti,type:eO.DEV_DEPENDENCY},{name:to,type:eO.DEV_DEPENDENCY}],command:"".concat(ta," --edit ").concat(tI.GIT_COMMIT_MSG," --config ").concat(tI.COMMITLINT_CONFIG)}),lintStaged:tA({type:eh.CLI,packages:[{name:tc,type:eO.DEV_DEPENDENCY}],command:"".concat(tu," --config ").concat(tI.LINT_STAGED_CONFIG)}),configureGitHook:tA({type:eh.STRING,command:"".concat(tE," config core.hooksPath ").concat(tI.GIT_HOOK)}),stageBuildDirectory:tA({type:eh.STRING,command:"".concat(tE," add ").concat(eX)}),build:tA({type:eh.STRING,command:"".concat(tp," run --if-present build")}),pnpmInstallStandard:tA({type:eh.STRING,command:"".concat(tp," install --no-frozen-lockfile")}),pnpmInstallLegacy:tA({type:eh.STRING,command:"".concat(tp," install --no-frozen-lockfile --legacy-peer-deps")}),pnpmInstallForce:tA({type:eh.STRING,command:"".concat(tp," install --no-frozen-lockfile --force")})};var tD=ea();function tR(e){return i(function(){var t,n,r,s;return G(this,function(i){switch(i.label){case 0:i.trys.push([0,3,,4]);return[4,(0,eC.default)("https://registry.npmjs.org/".concat(e,"/latest"))];case 1:t=i.sent();if(!t.ok)throw new Error("Failed to fetch latest version: ".concat(t.status," ").concat(t.statusText));return[4,t.json()];case 2:n=i.sent(),r=n.version;return[2,r];case 3:s=i.sent();throw ef.error('Failed to fetch version for "'.concat(e,'": ').concat(s.message)),s;case 4:return[2]}})})()}j(tR,"getLatestPackageVersion");function tG(e){return i(function(){var t,n,r,s,i,o,a,c,u,l,d,f,E,p,g,m,y,h,v;return G(this,function(_){switch(_.label){case 0:_.trys.push([0,2,,3]);if(!ek(tI.PACKAGE_JSON))return[2,{name:e.name,currentVersion:"",latestVersion:"",isCurrentProject:!1,isInstalled:!1,isUpToDate:!1,isDependency:e.type===eO.DEPENDENCY,isDevDependency:e.type===eO.DEV_DEPENDENCY,installedPath:"",file:{}}];t=eL(tI.PACKAGE_JSON),n=t.name,r=t.version,s=r===void 0?"":r,i=t.dependencies,o=i===void 0?{}:i,a=t.devDependencies,c=a===void 0?{}:a;if(e.name===n)return[2,{name:n,currentVersion:s,latestVersion:s,isCurrentProject:!0,isInstalled:!0,isUpToDate:!0,isDependency:e.type===eO.DEPENDENCY,isDevDependency:e.type===eO.DEV_DEPENDENCY,installedPath:tI.PACKAGE_JSON,file:t}];u=e.name in o,l=e.name in c;return[4,tR(e.name)];case 1:d=_.sent();if(!u&&!l)return[2,{name:e.name,currentVersion:"",latestVersion:d,isCurrentProject:!1,isInstalled:!1,isUpToDate:!1,isDependency:e.type===eO.DEPENDENCY,isDevDependency:e.type===eO.DEV_DEPENDENCY,installedPath:"",file:{}}];p=(E=(f=o[e.name])!==null&&f!==void 0?f:c[e.name])!==null&&E!==void 0?E:"",g=eB(tD.CWD,e$,e.name,ez);if(!ek(g))return[2,{name:e.name,currentVersion:"",latestVersion:d,isCurrentProject:!1,isInstalled:!1,isUpToDate:!1,isDependency:u,isDevDependency:l,installedPath:"",file:{}}];m=eL(g),y=m.version,h=y===void 0?"":y;return[2,p!==h?{name:e.name,currentVersion:h||p,latestVersion:d,isCurrentProject:!1,isInstalled:!0,isUpToDate:!1,isDependency:u,isDevDependency:l,installedPath:g,file:m}:{name:e.name,currentVersion:p,latestVersion:d,isCurrentProject:!1,isInstalled:!0,isUpToDate:p===d,isDependency:u,isDevDependency:l,installedPath:g,file:m}];case 2:v=_.sent();throw ef.error('Error getting package "'.concat(e.name,'": ').concat(v.message)),v;case 3:return[2]}})})()}j(tG,"getPackage");function tM(e){return i(function(){var t,n,r,s,i;return G(this,function(o){try{;r=eL(tI.PACKAGE_JSON),s=(t=r.dependencies)!==null&&t!==void 0?t:{},i=(n=r.devDependencies)!==null&&n!==void 0?n:{};e.isDependency?s[e.name]=e.latestVersion:e.isDevDependency&&(i[e.name]=e.latestVersion),ex(tI.PACKAGE_JSON,JSON.stringify(r,null,4)),ef.info('Updated "'.concat(e.name,'" to version ').concat(e.latestVersion))}catch(t){throw ef.error('Error updating package "'.concat(e.name,'": ').concat(t.message)),t}return[2]})})()}j(tM,"updatePackage");function tP(){return i(function(){var e,t,n,r,s,i,o,a,c,u,l,d,f;return G(this,function(E){switch(E.label){case 0:E.trys.push([0,12,,13]);e=[{command:j(function(){return tT.pnpmInstallStandard()},"command"),message:"Installing dependencies (standard)"},{command:j(function(){return tT.pnpmInstallLegacy()},"command"),message:"Retrying with legacy peer dependencies"},{command:j(function(){return tT.pnpmInstallForce()},"command"),message:"Retrying with force install"}];t=true,n=false,r=undefined;E.label=1;case 1:E.trys.push([1,9,10,11]);s=e[Symbol.iterator]();E.label=2;case 2:if(!!(t=(i=s.next()).done))return[3,8];o=i.value,a=o.command,c=o.message;E.label=3;case 3:E.trys.push([3,6,,7]);return[4,a()];case 4:u=E.sent();return[4,tX("".concat(c," using: ").concat(u),u)];case 5:E.sent();return[2];case 6:l=E.sent();ef.warn("Installation attempt failed: ".concat(c)),ef.error("Details: ".concat(l.message));return[3,7];case 7:t=true;return[3,2];case 8:return[3,11];case 9:d=E.sent();n=true;r=d;return[3,11];case 10:try{if(!t&&s.return!=null){s.return()}}finally{if(n){throw r}}return[7];case 11:return[3,13];case 12:f=E.sent();throw ef.error("Failed to install dependencies: ".concat(f.message)),f;case 13:return[2]}})})()}j(tP,"installDependencies");function tb(e,t){return i(function(){var n,r,s,i,o,a,c,u,l,d,f,E;return G(this,function(p){switch(p.label){case 0:if(!ek(tI.PACKAGE_JSON)){ef.error("package.json not found. Aborting setup.");return[2]}p.label=1;case 1:p.trys.push([1,16,,17]);return[4,Promise.all(e.map(tG))];case 2:n=p.sent().filter(function(e){return!e.isCurrentProject&&(!e.isInstalled||!e.isUpToDate)});r=n.length>0;if(!r)return[3,7];return[4,Promise.all(n.map(tM))];case 3:p.sent();return[4,tP()];case 4:p.sent();s=["Running ESLint with auto-fix"];return[4,tT.eslintFix()];case 5:return[4,tX.apply(void 0,s.concat([p.sent()]))];case 6:r=p.sent();p.label=7;case 7:r;o=true,a=false,c=undefined;p.label=8;case 8:p.trys.push([8,13,14,15]);u=((i=t===null||t===void 0?void 0:t.postInstallActions)!==null&&i!==void 0?i:[])[Symbol.iterator]();p.label=9;case 9:if(!!(o=(l=u.next()).done))return[3,12];d=l.value;return[4,d()];case 10:p.sent();p.label=11;case 11:o=true;return[3,9];case 12:return[3,15];case 13:f=p.sent();a=true;c=f;return[3,15];case 14:try{if(!o&&u.return!=null){u.return()}}finally{if(a){throw c}}return[7];case 15:return[3,17];case 16:E=p.sent();throw ef.error('Failed to setup "'.concat(e.map(function(e){return e.name}).join(", "),'": ').concat(E.message)),E;case 17:return[2]}})})()}j(tb,"setupPackages");var tL=F(require("node-persist"),1);var tx=ea();function tw(){return i(function(){var e;return G(this,function(t){switch(t.label){case 0:e=tL.default.defaultInstance;if(e)return[3,2];return[4,tL.default.init({dir:tx.CYBERSKILL_STORAGE_DIRECTORY,stringify:JSON.stringify,parse:JSON.parse,encoding:"utf8",logging:!1,forgiveParseErrors:!0})];case 1:e=t.sent();t.label=2;case 2:e;return[2]}})})()}j(tw,"initNodePersist");var tk={get:function e(e){return i(function(){var t,n;return G(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,tw()];case 1:r.sent();return[4,tL.default.getItem(e)];case 2:return[2,(t=r.sent())!==null&&t!==void 0?t:null];case 3:n=r.sent();return[2,(ef.error('[Storage:get] Error getting key "'.concat(e,'":'),n),null)];case 4:return[2]}})})()},set:function e(e,t){return i(function(){var n;return G(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,tw()];case 1:r.sent();return[4,tL.default.setItem(e,t)];case 2:r.sent();return[3,4];case 3:n=r.sent();ef.error('[Storage:set] Error setting key "'.concat(e,'":'),n);return[3,4];case 4:return[2]}})})()},remove:function e(e){return i(function(){var t;return G(this,function(n){switch(n.label){case 0:n.trys.push([0,3,,4]);return[4,tw()];case 1:n.sent();return[4,tL.default.removeItem(e)];case 2:n.sent();return[3,4];case 3:t=n.sent();ef.error('[Storage:remove] Error removing key "'.concat(e,'":'),t);return[3,4];case 4:return[2]}})})()},keys:function e(){return i(function(){var e,t;return G(this,function(n){switch(n.label){case 0:n.trys.push([0,3,,4]);return[4,tw()];case 1:n.sent();return[4,tL.default.keys()];case 2:e=n.sent();return[2,Array.isArray(e)?e:(ef.warn("[Storage:keys] Invalid keys response:",e),[])];case 3:t=n.sent();return[2,(ef.error("[Storage:keys] Error getting keys:",t),[])];case 4:return[2]}})})()},getLogLink:function e(e){return i(function(){return G(this,function(t){try{return[2,"".concat(tx.CYBERSKILL_STORAGE_DIRECTORY," (key: ").concat(e,")")]}catch(e){return[2,(ef.error("[Storage:getLogLink] Error getting log link:",e),null)]}return[2]})})()}};var tj=ea(),tq=eS.promisify(ev.exec);function tU(e){return"error_list:".concat(e)}j(tU,"getErrorListKey");function tF(e){return i(function(){var t,n,r;return G(this,function(s){switch(s.label){case 0:if(e.length===0)return[2];t=Date.now(),n=tU(t);s.label=1;case 1:s.trys.push([1,3,,4]);return[4,tk.set(n,{errors:e,timestamp:t})];case 2:s.sent(),setTimeout(function(){return i(function(){var e;return G(this,function(t){switch(t.label){case 0:return[4,tk.getLogLink(n)];case 1:e=t.sent();e&&ef.info("\uD83D\uDCC2 Open the error list manually: ".concat(e));return[2]}})})()},10);return[3,4];case 3:r=s.sent();ef.error("Failed to save errors: ".concat(r.message));return[3,4];case 4:return[2]}})})()}j(tF,"saveErrorListToStorage");function tK(){return i(function(){var e,t,n;return G(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,tk.keys()];case 1:e=r.sent(),t=Array.isArray(e)?e.filter(function(e){var t;return e===null||e===void 0?void 0:(t=e.startsWith)===null||t===void 0?void 0:t.call(e,"error_list:")}):[];return[4,Promise.all(t.map(function(e){return i(function(){var t;return G(this,function(n){switch(n.label){case 0:return[4,tk.get(e)];case 1:return[2,((t=n.sent())===null||t===void 0?void 0:t.errors)||[]]}})})()}))];case 2:return[2,r.sent().flat()];case 3:n=r.sent();return[2,(ef.error("Failed to retrieve stored errors: ".concat(n.message)),[])];case 4:return[2]}})})()}j(tK,"getStoredErrorLists");function tY(){return i(function(){var e,t,n;return G(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,tk.keys()];case 1:e=r.sent(),t=Array.isArray(e)?e.filter(function(e){var t;return e===null||e===void 0?void 0:(t=e.startsWith)===null||t===void 0?void 0:t.call(e,"error_list:")}):[];return[4,Promise.all(t.map(function(e){return tk.remove(e)}))];case 2:r.sent();return[3,4];case 3:n=r.sent();ef.error("Failed to clear error lists: ".concat(n.message));return[3,4];case 4:return[2]}})})()}j(tY,"clearAllErrorLists");function tV(e){var t=[],n=[],r="",s=/^\s*(\d+):(\d+)\s+(error|warning)\s+(.+?)\s+(\S+)$/,i=/^(.+?)\((\d+),(\d+)\):\s+(error|warning)\s+TS\d+:\s+(\S.+)$/,o=/^✖\s+(.*?)\s+\[(.*?)\]$/;e.split("\n").forEach(function(e){if(e.startsWith("/"))r=e.trim();else{var a,c,u,l,d;var f=s.exec(e)||[],E=i.exec(e)||[],p=o.exec(e)||[];var g,m,y,h,v,_;f.length&&r?t.push({file:r,position:"".concat(f[1],":").concat(f[2]),type:f[3]===Q.Error?Q.Error:Q.Warning,message:(g=f===null||f===void 0?void 0:(a=f[4])===null||a===void 0?void 0:a.trim())!==null&&g!==void 0?g:"",rule:(m=f===null||f===void 0?void 0:(c=f[5])===null||c===void 0?void 0:c.trim())!==null&&m!==void 0?m:""}):E.length?t.push({file:(y=E===null||E===void 0?void 0:E[1])!==null&&y!==void 0?y:"",position:"".concat(E[2],":").concat(E[3]),type:E[4]===Q.Error?Q.Error:Q.Warning,message:(h=E===null||E===void 0?void 0:(u=E[5])===null||u===void 0?void 0:u.trim())!==null&&h!==void 0?h:""}):p.length?t.push({file:"commitlint",type:Q.Error,message:(v=p===null||p===void 0?void 0:(l=p[1])===null||l===void 0?void 0:l.trim())!==null&&v!==void 0?v:"",rule:(_=p===null||p===void 0?void 0:(d=p[2])===null||d===void 0?void 0:d.trim())!==null&&_!==void 0?_:""}):n.push(e.trim())}}),t.length&&tF(t),tj.DEBUG&&n.length&&(ef.warn("Unmatched lines:"),n.forEach(function(e){return ef.info(" ".concat(e))}))}j(tV,"parseTextErrors");function tH(e){try{var t=JSON.parse(e),n=[];t.forEach(function(e){var t=e.filePath,r=e.messages;r.forEach(function(e){var r=e.severity,s=e.line,i=e.column,o=e.ruleId,a=e.message;n.push({type:r===2?Q.Error:Q.Warning,file:t,position:"".concat(s,":").concat(i),rule:o,message:a})})}),n.length&&tF(n)}catch(t){tV(e)}}j(tH,"parseCommandOutput");function tB(e){return i(function(e){var t,n,r,s,i,o,a,c,u;var l=arguments;return G(this,function(d){switch(d.label){case 0:t=l.length>1&&l[1]!==void 0?l[1]:tH;n=new AbortController;e_.default.on("SIGINT",function(){ef.warn("Process interrupted. Terminating..."),n.abort(),e_.default.exit()});d.label=1;case 1:d.trys.push([1,4,,5]);if(!(typeof e=="string"))return[3,3];return[4,tq(e,{maxBuffer:0x6400000,signal:n.signal})];case 2:r=d.sent(),s=r.stdout,i=r.stderr;[s,i].forEach(function(e){return e&&t(e)});d.label=3;case 3:return[3,5];case 4:o=d.sent();a=o.stdout,c=o.stderr,u=o.message;[a,c].forEach(function(e){return e&&t(e)}),!c&&!a&&ef.error("Command failed: ".concat(u));return[3,5];case 5:return[2]}})}).apply(this,arguments)}j(tB,"executeCommand");function tW(e){return{raw:!0,cmd:e}}j(tW,"rawCommand");function tJ(e,t){return(t===null||t===void 0?void 0:t.isCurrentProject)?"".concat(tg," ").concat(tf," ").concat(e9," ").concat(e):"".concat(tg," ").concat(e7," ").concat(e)}j(tJ,"formatCLI");function tQ(e,t){return typeof e=="function"?tJ(e(t),t):(typeof e==="undefined"?"undefined":T(e))=="object"&&(e===null||e===void 0?void 0:e.raw)===!0?e.cmd:typeof e=="string"?tJ(e,t):e}j(tQ,"formatCommand");function t$(e){return i(function(){var t,n,r,s;return G(this,function(i){switch(i.label){case 0:return[4,tG({name:eQ})];case 1:t=i.sent(),n=t.isCurrentProject,r={isCurrentProject:n},s=typeof e=="function"?e(r):e;return[2,Object.fromEntries(Object.entries(s).map(function(e){var t=N(e,2),n=t[0],s=t[1];return[n,tQ(s,r)]}))]}})})()}j(t$,"resolveCommands");function tX(e,t){return i(function(){var n;return G(this,function(r){switch(r.label){case 0:r.trys.push([0,2,,3]);ef.start("".concat(e)),tj.DEBUG&&ef.info("→ ".concat(t));return[4,tB(t)];case 1:r.sent(),ef.success("".concat(e," done."));return[3,3];case 2:n=r.sent();throw ef.error("".concat(e," failed: ").concat(n.message)),n;case 3:return[2]}})})()}j(tX,"runCommand");function tz(){return i(function(){var e,t;return G(this,function(n){switch(n.label){case 0:if(!ek(tI.TS_CONFIG))return[3,3];t=["Performing TypeScript validation"];return[4,tT.typescriptCheck()];case 1:return[4,tX.apply(void 0,t.concat([n.sent()]))];case 2:e=n.sent();return[3,4];case 3:e=ef.warn("No TypeScript configuration found. Skipping type check.");n.label=4;case 4:e;return[2]}})})()}j(tz,"checkTypescript");function tZ(){return i(function(){var e,t,n,r;var s=arguments;return G(this,function(i){switch(i.label){case 0:e=s.length>0&&s[0]!==void 0?s[0]:!1;if(!e)return[3,3];n=["Running ESLint with auto-fix"];return[4,tT.eslintFix()];case 1:return[4,tX.apply(void 0,n.concat([i.sent()]))];case 2:t=i.sent();return[3,6];case 3:r=["Running ESLint check"];return[4,tT.eslintCheck()];case 4:return[4,tX.apply(void 0,r.concat([i.sent()]))];case 5:t=i.sent();i.label=6;case 6:t;return[2]}})}).apply(this,arguments)}j(tZ,"checkEslint");function t0(e,t){if(!t.length)return;var n=e==="Errors"?"red":"yellow";ef.printBoxedLog(e==="Errors"?"✖ Errors":"⚠ Warnings",t,n)}j(t0,"printIssues");function t1(){return i(function(){var e,t,n;return G(this,function(r){switch(r.label){case 0:return[4,tK()];case 1:e=r.sent(),t=e.filter(function(e){return e.type===Q.Error}),n=e.filter(function(e){return e.type===Q.Warning});!t.length&&!n.length?ef.printBoxedLog("✔ NO ISSUES FOUND",[],"green"):(t0("Warnings",n),t0("Errors",t),(t.length>0||n.length>0)&&ep.default.exit(1));return[2]}})})()}j(t1,"showCheckResult");function t2(){return i(function(){var e,t,n,r,s,i;return G(this,function(o){switch(o.label){case 0:return[4,tY()];case 1:o.sent();return[4,tG({name:eQ})];case 2:e=o.sent(),t=e.isCurrentProject;if(!t)return[3,9];o.label=3;case 3:o.trys.push([3,8,,9]);n=["Building package: ".concat(eQ)];return[4,tT.build()];case 4:return[4,tX.apply(void 0,n.concat([o.sent()]))];case 5:o.sent();r=["Staging build artifacts"];return[4,tT.stageBuildDirectory()];case 6:return[4,tX.apply(void 0,r.concat([o.sent()]))];case 7:o.sent();return[3,9];case 8:s=o.sent();throw ef.error("Error building and staging ".concat(eQ,": ").concat(s.message)),s;case 9:i=["Executing lint-staged"];return[4,tT.lintStaged()];case 10:return[4,tX.apply(void 0,i.concat([o.sent()]))];case 11:o.sent(),t1();return[2]}})})()}j(t2,"lintStaged");function t4(){return i(function(){var e;return G(this,function(t){switch(t.label){case 0:e=["Inspecting ESLint configuration"];return[4,tT.eslintInspect()];case 1:return[4,tX.apply(void 0,e.concat([t.sent()]))];case 2:t.sent();return[2]}})})()}j(t4,"inspectLint");function t3(){return i(function(){return G(this,function(e){switch(e.label){case 0:return[4,tY()];case 1:e.sent();return[4,Promise.all([tz(),tZ()])];case 2:e.sent(),t1();return[2]}})})()}j(t3,"lintCheck");function t5(){return i(function(){return G(this,function(e){switch(e.label){case 0:return[4,tY()];case 1:e.sent();return[4,Promise.all([tz(),tZ(!0)])];case 2:e.sent(),t1();return[2]}})})()}j(t5,"lintFix");function t8(){return i(function(){var e;return G(this,function(t){switch(t.label){case 0:return[4,tY()];case 1:t.sent();e=["Validating commit message"];return[4,tT.commitLint()];case 2:return[4,tX.apply(void 0,e.concat([t.sent()]))];case 3:t.sent(),t1();return[2]}})})()}j(t8,"commitLint");function t6(){return i(function(){var e,t,n,r;return G(this,function(s){switch(s.label){case 0:e=["Configuring Git hooks"];return[4,tT.configureGitHook()];case 1:return[4,tX.apply(void 0,e.concat([s.sent()]))];case 2:s.sent(),ej(tI.GIT_HOOK);return[4,t$(tN)];case 3:t=s.sent();ex(tI.SIMPLE_GIT_HOOKS_JSON,JSON.stringify(t,null,4));n="\n".concat(e2,"\n");ek(tI.GIT_IGNORE)?eM(tI.GIT_IGNORE,"utf-8").split("\n").includes(e2)||ew(tI.GIT_IGNORE,n):ex(tI.GIT_IGNORE,n);r=["Setting up simple-git-hooks"];return[4,tT.simpleGitHooks()];case 4:return[4,tX.apply(void 0,r.concat([s.sent()]))];case 5:s.sent();return[2]}})})()}j(t6,"setupGitHook");function t7(){return i(function(){return G(this,function(e){switch(e.label){case 0:return[4,tb([{name:eQ,type:eO.DEPENDENCY}],{update:!0,postInstallActions:[t6]})];case 1:e.sent();return[2]}})})()}j(t7,"prepare");function t9(){return i(function(){return G(this,function(e){switch(e.label){case 0:ej(tI.NODE_MODULES,tI.PNPM_LOCK_YAML);return[4,tP()];case 1:e.sent();return[4,t6()];case 2:e.sent();return[2]}})})()}j(t9,"reset");function ne(){return i(function(){var e;return G(this,function(t){switch(t.label){case 0:e=["Inspecting project dependencies"];return[4,tT.nodeModulesInspect()];case 1:return[4,tX.apply(void 0,e.concat([t.sent()]))];case 2:t.sent();return[2]}})})()}j(ne,"inspect");function nt(){return i(function(){var e;return G(this,function(t){switch(t.label){case 0:e=["Running unit tests"];return[4,tT.testUnit()];case 1:return[4,tX.apply(void 0,e.concat([t.sent()]))];case 2:t.sent();return[2]}})})()}j(nt,"testUnit");function nn(){return i(function(){var e;return G(this,function(t){switch(t.label){case 0:e=["Running end-to-end tests"];return[4,tT.testE2e()];case 1:return[4,tX.apply(void 0,e.concat([t.sent()]))];case 2:t.sent();return[2]}})})()}j(nn,"testE2E");function nr(e){return i(function(){var t;return G(this,function(n){switch(n.label){case 0:t=["Creating MongoDB migration"];return[4,tT.mongoMigrateCreate(e)];case 1:return[4,tX.apply(void 0,t.concat([n.sent()]))];case 2:n.sent();return[2]}})})()}j(nr,"mongoMigrateCreate");function ns(){return i(function(){var e;return G(this,function(t){switch(t.label){case 0:e=["Running MongoDB migrations"];return[4,tT.mongoMigrateUp()];case 1:return[4,tX.apply(void 0,e.concat([t.sent()]))];case 2:t.sent();return[2]}})})()}j(ns,"mongoMigrateUp");function ni(){return i(function(){var e;return G(this,function(t){switch(t.label){case 0:e=["Rolling back MongoDB migration"];return[4,tT.mongoMigrateDown()];case 1:return[4,tX.apply(void 0,e.concat([t.sent()]))];case 2:t.sent();return[2]}})})()}j(ni,"mongoMigrateDown");(function(){return i(function(){var e;return G(this,function(t){switch(t.label){case 0:t.trys.push([0,2,,3]);return[4,(0,em.default)((0,eg.hideBin)(ep.default.argv)).scriptName(e7).usage("$0 <command> [options]").command("lint","Check code for linting issues",t3).command("lint:fix","Fix linting issues automatically",t5).command("lint:inspect","View active ESLint configuration",t4).command("lint-staged","Run lint checks on staged files",t2).command("commitlint","Validate commit message format",t8).command("prepare","Initialize project and dependencies",t7).command("reset","Reset the project and reinstall dependencies",t9).command("inspect","Analyze installed project dependencies",ne).command("test:unit","Run unit test suite",nt).command("test:e2e","Run end-to-end test suite",nn).command("mongo:migrate:create <name>","Create a MongoDB migration",function(e){return e.positional("name",{describe:"Migration name",type:"string"})},function(e){return i(function(){return G(this,function(t){switch(t.label){case 0:if(!e.name){ef.error("Migration name is required.");return[2]}return[4,nr(e.name)];case 1:t.sent();return[2]}})})()}).command("mongo:migrate:up","Apply all MongoDB migrations",ns).command("mongo:migrate:down","Rollback last MongoDB migration",ni).demandCommand(1,"Please specify a valid command.").strict().help().alias("h","help").alias("v","version").version(ey.version).epilog('\uD83D\uDCA1 Tip: Use "--help" with any command to see options\n').parse()];case 1:t.sent();return[3,3];case 2:e=t.sent();ef.error("Fatal: ".concat(e.message)),ep.default.exit(1);return[3,3];case 3:return[2]}})})()})();var no=require("express");var na=require("@nestjs/core"),nc=F(require("body-parser"),1),nu=F(require("compression"),1),nl=F(require("cookie-parser"),1),nd=F(require("cors"),1),nf=F(require("express"),1),nE=F(require("express-session"),1),np=F(require("express-useragent"),1);function ng(e){var t=e.isDev,n=e.whiteList,r=S(e,["isDev","whiteList"]);return h({origin:j(function(e,r){t||(n===null||n===void 0?void 0:n.includes(e!==null&&e!==void 0?e:""))?r(null,!0):r(new Error("Not allowed by CORS"),!1)},"origin"),credentials:!0},r)}j(ng,"createCorsOptions");function nm(e){return(0,nd.default)(ng(e))}j(nm,"createCors");function ny(e){return(0,nE.default)(e)}j(ny,"createSession");function nh(e){var t=(0,nf.default)();return t.set("trust proxy",1),t.use((0,nl.default)()),t.use(nf.default.urlencoded({extended:!0})),t.use((0,nu.default)()),t.use(np.default.express()),(e===null||e===void 0?void 0:e.staticFolder)&&t.use(nf.default.static(e.staticFolder)),t}j(nh,"createExpress");function nv(e){return i(function(){var t,n,r;return G(this,function(s){switch(s.label){case 0:return[4,na.NestFactory.create(e.module)];case 1:r=s.sent();return[2,(r.getHttpAdapter().getInstance().set("trust proxy",1),r.use(nf.default.urlencoded({extended:!0})),r.use((0,nl.default)()),r.use((0,nu.default)()),r.use(np.default.express()),e.staticFolder&&r.use(nf.default.static(e.staticFolder)),e.filters&&(t=r).useGlobalFilters.apply(t,A(e.filters)),e.pipes&&(n=r).useGlobalPipes.apply(n,A(e.pipes)),r)]}})})()}j(nv,"createNest");var n_="MONGO_MIGRATE_OPTIONS";var nS=require("mongodb"),nO=require("mongoose");var nC=/*#__PURE__*/function(e){f(t,e);function t(){a(this,t);return o(this,t,arguments)}return t}(nS.Db);j(nC,"C_Db");var nI=nC,nN=/*#__PURE__*/function(e){f(t,e);function t(){a(this,t);return o(this,t,arguments)}return t}(nO.Document);j(nN,"C_Document");var nA=nN,nT=/*#__PURE__*/function(e){f(t,e);function t(){a(this,t);return o(this,t,arguments)}return t}(nO.Model);j(nT,"C_Model");var nD=nT,nR=/*#__PURE__*/function(e){f(t,e);function t(){a(this,t);return o(this,t,arguments)}return t}(nS.Collection);j(nR,"C_Collection");var nG=nR;var nM=require("date-fns"),nP=F(require("migrate-mongo"),1),nb=require("mongoose"),nL=F(require("mongoose-aggregate-paginate-v2"),1),nx=F(require("mongoose-paginate-v2"),1),nw=require("uuid");var nk=F(require("unorm"),1);var nj={a:["\xe0","\xe1","ạ","ả","\xe3","\xe2","ầ","ấ","ậ","ẩ","ẫ","ă","ằ","ắ","ặ","ẳ","ẵ"],e:["\xe8","\xe9","ẹ","ẻ","ẽ","\xea","ề","ế","ệ","ể","ễ"],i:["\xec","\xed","ị","ỉ","ĩ"],o:["\xf2","\xf3","ọ","ỏ","\xf5","\xf4","ồ","ố","ộ","ổ","ỗ","ơ","ờ","ớ","ợ","ở","ỡ"],u:["\xf9","\xfa","ụ","ủ","ũ","ư","ừ","ứ","ự","ử","ữ"],y:["ỳ","\xfd","ỵ","ỷ","ỹ"],d:["đ"]},nq=Object.entries(nj).reduce(function(e,t){var n=N(t,2),r=n[0],s=n[1];return e[r.toUpperCase()]=s.map(function(e){return e.toUpperCase()}),e},{});function nU(e){return(typeof e==="undefined"?"undefined":T(e))=="object"&&e!==null&&!Array.isArray(e)}j(nU,"isObject");var nF=F(require("crypto-js"),1),nK=F(require("slugify"),1);var nY=nK.default.default||nK.default;function nV(e,t){var n=j(function(e){var n,r;return nY(e!==null&&e!==void 0?e:"",h({lower:(n=t===null||t===void 0?void 0:t.lower)!==null&&n!==void 0?n:!0,locale:(r=t===null||t===void 0?void 0:t.locale)!==null&&r!==void 0?r:"vi"},t))},"slugifyWithOptions");if(nU(e)){var r={};var s=true,i=false,o=undefined;try{for(var a=Object.entries(e)[Symbol.iterator](),c;!(s=(c=a.next()).done);s=true){var u=N(c.value,2),l=u[0],d=u[1];r[l]=n(d)}}catch(e){i=true;o=e}finally{try{if(!s&&a.return!=null){a.return()}}finally{if(i){throw o}}}return r}return n(e)}j(nV,"generateSlug");function nH(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:4;return nF.default.SHA256(e).toString(nF.default.enc.Hex).slice(0,t)}j(nH,"generateShortId");var nB={isEmpty:function e(e){return e==null?!0:typeof e=="string"?e.trim().length===0:Array.isArray(e)?e.length===0:(typeof e==="undefined"?"undefined":T(e))=="object"?E(e,Date)?!1:E(e,Map)||E(e,Set)?e.size===0:E(e,WeakMap)||E(e,WeakSet)?!0:ArrayBuffer.isView(e)?e.byteLength===0:Object.keys(e).length===0:!1},isValidIP:function e(e){var t=e.split(".");return t.length===4&&t.every(function(e){return/^\d+$/.test(e)&&Number(e)>=0&&Number(e)<=255})?!0:/^(([a-f\d]{1,4}:){7}[a-f\d]{1,4}|((?:[a-f\d]{1,4}:){1,7}:)|((?:[a-f\d]{1,4}:){1,6}:[a-f\d]{1,4})|::)$/i.test(e)}};var nW={getDateTime:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:new Date;return(0,nM.format)(e,"yyyy-MM-dd HH:mm:ss.SSS")},createGenericFields:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=e.returnDateAs,n=t===void 0?"string":t;var r=n==="string"?nW.getDateTime():new Date;return{id:(0,nw.v4)(),isDel:!1,createdAt:r,updatedAt:r}},applyPlugins:function e(e,t){t.filter(function(e){return typeof e=="function"}).forEach(function(t){return e.plugin(t)})},applyMiddlewares:function e(e,t){t.forEach(function(t){var n=t.method,r=t.pre,s=t.post;n&&r&&e.pre(n,r),n&&s&&e.post(n,s)})},createGenericSchema:function e(e){return new e.Schema({id:{type:String,default:nw.v4,required:!0,unique:!0},isDel:{type:Boolean,default:!1,required:!0}},{timestamps:!0})},createSchema:function e(e){var t=e.mongoose,n=e.schema,r=e.virtuals,s=r===void 0?[]:r,i=e.standalone,o=i===void 0?!1:i;var a=new t.Schema(n,{strict:!0});return s.forEach(function(e){var t=e.name,n=e.options,r=e.get;var s=a.virtual(t,n);r&&s.get(r)}),o||a.add(nW.createGenericSchema(t)),a},createModel:function e(e){var t=e.mongoose,n=e.name,r=e.schema,s=e.pagination,i=s===void 0?!1:s,o=e.aggregate,a=o===void 0?!1:o,c=e.virtuals,u=c===void 0?[]:c,l=e.middlewares,d=l===void 0?[]:l;if(!n)throw new Error("Model name is required.");if(t.models[n])return t.models[n];var f=nW.createSchema({mongoose:t,schema:r,virtuals:u});return nW.applyPlugins(f,[i&&nx.default,a&&nL.default]),nW.applyMiddlewares(f,d),t.model(n,f)},validator:{isEmpty:function e(){return function(e){return i(function(){return G(this,function(t){return[2,!nB.isEmpty(e)]})})()}},isUnique:function e(e){return function(t){return i(function(){var n;return G(this,function(r){switch(r.label){case 0:if(!Array.isArray(e)||e.length===0)throw new Error("Fields must be a non-empty array of strings.");n={$or:e.map(function(e){return l({},e,t)})};return[4,this.constructor.exists(n)];case 1:return[2,!r.sent()]}})}).call(this)}},matchesRegex:function e(e){return function(t){return i(function(){return G(this,function(n){if(!Array.isArray(e)||e.some(function(e){return!E(e,RegExp)}))throw new Error("regexArray must be an array of valid RegExp objects.");return[2,e.every(function(e){return e.test(t)})]})})()}}},migrate:_(h({},nP.default),{setConfig:j(function(e){var t="// This file is automatically generated by the Cyberskill CLI.\nmodule.exports = ".concat(JSON.stringify(e,null,4));ex(tI.MIGRATE_MONGO_CONFIG,t);var n="\n".concat(e8,"\n");ek(tI.GIT_IGNORE)?eM(tI.GIT_IGNORE,"utf-8").split("\n").includes(e8)||ew(tI.GIT_IGNORE,n):ex(tI.GIT_IGNORE,n)},"setConfig")})},nJ=/*#__PURE__*/function(){function e(t,n){a(this,e);Y(this,"collection");this.collection=t.collection(n)}u(e,[{key:"createOne",value:function e(e){return i(function(){var t,n,r;return G(this,function(s){switch(s.label){case 0:s.trys.push([0,2,,3]);t=h({},nW.createGenericFields(),e);n={success:!0,message:"Document created successfully"};return[4,this.collection.insertOne(t)];case 1:return[2,(n.result=s.sent(),n)];case 2:r=s.sent();return[2,{success:!1,message:r.message}];case 3:return[2]}})}).call(this)}},{key:"createMany",value:function e(e){return i(function(){var t,n,r;return G(this,function(s){switch(s.label){case 0:s.trys.push([0,2,,3]);t=e.map(function(e){return h({},nW.createGenericFields(),e)});return[4,this.collection.insertMany(t)];case 1:n=s.sent();return[2,n.insertedCount===0?{success:!1,message:"No documents were inserted"}:{success:!0,message:"".concat(n.insertedCount," documents created successfully"),result:n}];case 2:r=s.sent();return[2,{success:!1,message:r.message}];case 3:return[2]}})}).call(this)}},{key:"findOne",value:function e(e){return i(function(){var t,n;return G(this,function(r){switch(r.label){case 0:r.trys.push([0,2,,3]);return[4,this.collection.findOne(e)];case 1:t=r.sent();return[2,t?{success:!0,message:"Document found",result:t}:{success:!1,message:"Document not found"}];case 2:n=r.sent();return[2,{success:!1,message:n.message}];case 3:return[2]}})}).call(this)}},{key:"findAll",value:function e(){return i(function(){var e,t,n;var r=arguments;return G(this,function(s){switch(s.label){case 0:e=r.length>0&&r[0]!==void 0?r[0]:{};s.label=1;case 1:s.trys.push([1,3,,4]);t={success:!0,message:"Documents retrieved successfully"};return[4,this.collection.find(e).toArray()];case 2:return[2,(t.result=s.sent(),t)];case 3:n=s.sent();return[2,{success:!1,message:n.message}];case 4:return[2]}})}).apply(this,arguments)}},{key:"count",value:function e(){return i(function(){var e,t,n;var r=arguments;return G(this,function(s){switch(s.label){case 0:e=r.length>0&&r[0]!==void 0?r[0]:{};s.label=1;case 1:s.trys.push([1,3,,4]);t={success:!0,message:"Count retrieved successfully"};return[4,this.collection.countDocuments(e)];case 2:return[2,(t.result=s.sent(),t)];case 3:n=s.sent();return[2,{success:!1,message:n.message}];case 4:return[2]}})}).apply(this,arguments)}},{key:"updateOne",value:function e(e,t){return i(function(){var n,r;return G(this,function(s){switch(s.label){case 0:s.trys.push([0,2,,3]);return[4,this.collection.updateOne(e,{$set:t})];case 1:n=s.sent();return[2,n.matchedCount===0?{success:!1,message:"No documents matched the filter"}:{success:!0,message:"Document updated successfully",result:n}];case 2:r=s.sent();return[2,{success:!1,message:r.message}];case 3:return[2]}})}).call(this)}},{key:"updateMany",value:function e(e,t){return i(function(){var n,r;return G(this,function(s){switch(s.label){case 0:s.trys.push([0,2,,3]);return[4,this.collection.updateMany(e,{$set:t})];case 1:n=s.sent();return[2,n.matchedCount===0?{success:!1,message:"No documents matched the filter"}:{success:!0,message:"Documents updated successfully",result:n}];case 2:r=s.sent();return[2,{success:!1,message:r.message}];case 3:return[2]}})}).call(this)}},{key:"deleteOne",value:function e(e){return i(function(){var t,n;return G(this,function(r){switch(r.label){case 0:r.trys.push([0,2,,3]);return[4,this.collection.deleteOne(e)];case 1:t=r.sent();return[2,t.deletedCount===0?{success:!1,message:"No documents matched the filter"}:{success:!0,message:"Document deleted successfully",result:t}];case 2:n=r.sent();return[2,{success:!1,message:n.message}];case 3:return[2]}})}).call(this)}},{key:"deleteMany",value:function e(e){return i(function(){var t,n;return G(this,function(r){switch(r.label){case 0:r.trys.push([0,2,,3]);return[4,this.collection.deleteMany(e)];case 1:t=r.sent();return[2,t.deletedCount===0?{success:!1,message:"No documents matched the filter"}:{success:!0,message:"Documents deleted successfully",result:t}];case 2:n=r.sent();return[2,{success:!1,message:n.message}];case 3:return[2]}})}).call(this)}}]);return e}();j(nJ,"MongoController");var nQ=nJ,n$=/*#__PURE__*/function(){function e(t){a(this,e);Y(this,"model");this.model=t}u(e,[{key:"getModelName",value:function e(){return this.model.modelName}},{key:"findOne",value:function e(e){return i(function(){var e,t,n,r,s,i,o;var a=arguments;return G(this,function(c){switch(c.label){case 0:e=a.length>0&&a[0]!==void 0?a[0]:{},t=a.length>1&&a[1]!==void 0?a[1]:{},n=a.length>2&&a[2]!==void 0?a[2]:{},r=a.length>3?a[3]:void 0;c.label=1;case 1:c.trys.push([1,3,,4]);s=this.model.findOne(e,t,n);r&&s.populate(r);return[4,s.exec()];case 2:i=c.sent();return[2,i?{success:!0,result:i}:{success:!1,message:"No ".concat(this.getModelName()," found."),code:ec.NOT_FOUND.CODE}];case 3:o=c.sent();return[2,{success:!1,message:o.message,code:ec.INTERNAL_SERVER_ERROR.CODE}];case 4:return[2]}})}).apply(this,arguments)}},{key:"findAll",value:function e(e){return i(function(){var e,t,n,r,s,i,o;var a=arguments;return G(this,function(c){switch(c.label){case 0:e=a.length>0&&a[0]!==void 0?a[0]:{},t=a.length>1&&a[1]!==void 0?a[1]:{},n=a.length>2&&a[2]!==void 0?a[2]:{},r=a.length>3?a[3]:void 0;c.label=1;case 1:c.trys.push([1,3,,4]);s=this.model.find(e,t,n);r&&s.populate(r);i={success:!0};return[4,s.exec()];case 2:return[2,(i.result=c.sent(),i)];case 3:o=c.sent();return[2,{success:!1,message:o.message,code:ec.INTERNAL_SERVER_ERROR.CODE}];case 4:return[2]}})}).apply(this,arguments)}},{key:"findPaging",value:function e(){return i(function(){var e,t,n,r;var s=arguments;return G(this,function(i){switch(i.label){case 0:e=s.length>0&&s[0]!==void 0?s[0]:{},t=s.length>1&&s[1]!==void 0?s[1]:{};i.label=1;case 1:i.trys.push([1,3,,4]);n={success:!0};return[4,this.model.paginate(e,t)];case 2:return[2,(n.result=i.sent(),n)];case 3:r=i.sent();return[2,{success:!1,message:r.message,code:ec.INTERNAL_SERVER_ERROR.CODE}];case 4:return[2]}})}).apply(this,arguments)}},{key:"findPagingAggregate",value:function e(e){return i(function(e){var t,n,r;var s=arguments;return G(this,function(i){switch(i.label){case 0:t=s.length>1&&s[1]!==void 0?s[1]:{};i.label=1;case 1:i.trys.push([1,3,,4]);n={success:!0};return[4,this.model.aggregatePaginate(this.model.aggregate(e),t)];case 2:return[2,(n.result=i.sent(),n)];case 3:r=i.sent();return[2,{success:!1,message:r.message,code:ec.INTERNAL_SERVER_ERROR.CODE}];case 4:return[2]}})}).apply(this,arguments)}},{key:"count",value:function e(){return i(function(){var e,t,n;var r=arguments;return G(this,function(s){switch(s.label){case 0:e=r.length>0&&r[0]!==void 0?r[0]:{};s.label=1;case 1:s.trys.push([1,3,,4]);t={success:!0};return[4,this.model.countDocuments(e)];case 2:return[2,(t.result=s.sent(),t)];case 3:n=s.sent();return[2,{success:!1,message:n.message,code:ec.INTERNAL_SERVER_ERROR.CODE}];case 4:return[2]}})}).apply(this,arguments)}},{key:"createOne",value:function e(e){return i(function(){var t,n;return G(this,function(r){switch(r.label){case 0:r.trys.push([0,2,,3]);t={success:!0};return[4,this.model.create(e)];case 1:return[2,(t.result=r.sent(),t)];case 2:n=r.sent();return[2,{success:!1,message:n.message,code:ec.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})}).call(this)}},{key:"createMany",value:function e(e){return i(function(e){var t,n,r;var s=arguments;return G(this,function(i){switch(i.label){case 0:t=s.length>1&&s[1]!==void 0?s[1]:{};i.label=1;case 1:i.trys.push([1,3,,4]);n={success:!0};return[4,this.model.insertMany(e,t)];case 2:return[2,(n.result=i.sent().map(function(e){return E(e,nb.Document)?e.toObject():null}).filter(function(e){return e!==null}),n)];case 3:r=i.sent();return[2,{success:!1,message:r.message,code:ec.INTERNAL_SERVER_ERROR.CODE}];case 4:return[2]}})}).apply(this,arguments)}},{key:"updateOne",value:function e(){return i(function(){var e,t,n,r,s;var i=arguments;return G(this,function(o){switch(o.label){case 0:e=i.length>0&&i[0]!==void 0?i[0]:{},t=i.length>1&&i[1]!==void 0?i[1]:{},n=i.length>2&&i[2]!==void 0?i[2]:{};o.label=1;case 1:o.trys.push([1,3,,4]);return[4,this.model.findOneAndUpdate(e,t,h({new:!0},n)).exec()];case 2:r=o.sent();return[2,r?{success:!0,result:r}:{success:!1,message:"Failed to update ".concat(this.getModelName(),"."),code:ec.NOT_FOUND.CODE}];case 3:s=o.sent();return[2,{success:!1,message:s.message,code:ec.INTERNAL_SERVER_ERROR.CODE}];case 4:return[2]}})}).apply(this,arguments)}},{key:"updateMany",value:function e(){return i(function(){var e,t,n,r,s;var i=arguments;return G(this,function(o){switch(o.label){case 0:e=i.length>0&&i[0]!==void 0?i[0]:{},t=i.length>1&&i[1]!==void 0?i[1]:{},n=i.length>2&&i[2]!==void 0?i[2]:{};o.label=1;case 1:o.trys.push([1,3,,4]);r={success:!0};return[4,this.model.updateMany(e,t,n).exec()];case 2:return[2,(r.result=o.sent(),r)];case 3:s=o.sent();return[2,{success:!1,message:s.message,code:ec.INTERNAL_SERVER_ERROR.CODE}];case 4:return[2]}})}).apply(this,arguments)}},{key:"deleteOne",value:function e(){return i(function(){var e,t,n,r;var s=arguments;return G(this,function(i){switch(i.label){case 0:e=s.length>0&&s[0]!==void 0?s[0]:{},t=s.length>1&&s[1]!==void 0?s[1]:{};i.label=1;case 1:i.trys.push([1,3,,4]);return[4,this.model.findOneAndDelete(e,t).exec()];case 2:n=i.sent();return[2,n?{success:!0,result:n}:{success:!1,message:"No ".concat(this.getModelName()," found to delete."),code:ec.NOT_FOUND.CODE}];case 3:r=i.sent();return[2,{success:!1,message:r.message,code:ec.INTERNAL_SERVER_ERROR.CODE}];case 4:return[2]}})}).apply(this,arguments)}},{key:"deleteMany",value:function e(){return i(function(){var e,t,n,r;var s=arguments;return G(this,function(i){switch(i.label){case 0:e=s.length>0&&s[0]!==void 0?s[0]:{},t=s.length>1&&s[1]!==void 0?s[1]:{};i.label=1;case 1:i.trys.push([1,3,,4]);return[4,this.model.deleteMany(e,t).exec()];case 2:n=i.sent();return[2,n.deletedCount===0?{success:!1,message:"No documents found to delete.",code:ec.NOT_FOUND.CODE}:{success:!0,result:n}];case 3:r=i.sent();return[2,{success:!1,message:r.message,code:ec.INTERNAL_SERVER_ERROR.CODE}];case 4:return[2]}})}).apply(this,arguments)}},{key:"createShortId",value:function e(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:4;return i(function(){var n,r,s,i;return G(this,function(o){switch(o.label){case 0:n=new Set;r=0;o.label=1;case 1:if(!(r<10))return[3,5];s=nH(e,r+t);i=!n.has(s);if(!i)return[3,3];n.add(s);return[4,this.model.exists({shortId:s})];case 2:i=!o.sent();o.label=3;case 3:if(i)return[2,{success:!0,result:s}];o.label=4;case 4:r++;return[3,1];case 5:return[2,{success:!1,message:"Failed to create a unique shortId",code:ec.INTERNAL_SERVER_ERROR.CODE}]}})}).call(this)}},{key:"createSlug",value:function e(e,t,n){return i(function(){var r,s,o,a,c,u,d,f,E,p;return G(this,function(g){switch(g.label){case 0:r=this;g.label=1;case 1:g.trys.push([1,5,,6]);s=t[e],o=nU(s),a=j(function(t){var r=h({},n!==null&&n!==void 0?n:{});return o?_(h({},r),{$or:[l({},"slug.".concat(e),t),{slugHistory:{$elemMatch:l({},"slug.".concat(e),t)}}]}):_(h({},r),{$or:[{slug:t},{slugHistory:t}]})},"generateSlugQuery"),c=j(function(e){return i(function(){var t,n;return G(this,function(r){switch(r.label){case 0:t=e,n=1;r.label=1;case 1:return[4,this.model.exists(a(t))];case 2:if(!r.sent())return[3,4];t="".concat(e,"-").concat(n++);r.label=3;case 3:return[3,1];case 4:return[2,t]}})}).call(r)},"generateUniqueSlug");if(!o)return[3,3];u={success:!0};d=Object.fromEntries;return[4,Promise.all(Object.entries(s).map(function(e){var t=N(e,2),n=t[0],r=t[1];return i(function(){var e,t;return G(this,function(s){switch(s.label){case 0:e=nV(r);t=[n];return[4,c(e)];case 1:return[2,t.concat([s.sent()])]}})})()}))];case 2:return[2,(u.result=d.apply(Object,[g.sent()]),u)];case 3:f=nV(s);E={success:!0};return[4,c(f)];case 4:return[2,(E.result=g.sent(),E)];case 5:p=g.sent();return[2,{success:!1,message:"Failed to create a unique slug: ".concat(p.message),code:ec.INTERNAL_SERVER_ERROR.CODE}];case 6:return[2]}})}).call(this)}},{key:"aggregate",value:function e(e){return i(function(){var t,n;return G(this,function(r){switch(r.label){case 0:r.trys.push([0,2,,3]);t={success:!0};return[4,this.model.aggregate(e)];case 1:return[2,(t.result=r.sent(),t)];case 2:n=r.sent();return[2,{success:!1,message:n.message,code:ec.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})}).call(this)}}]);return e}();j(n$,"MongooseController");var nX=n$;var nz=require("graphql-ws/use/ws"),nZ=require("ws");function n0(e){return new nZ.WebSocketServer({server:e.server,path:e.path})}j(n0,"createWSServer");function n1(e){return(0,nz.useServer)({schema:e.schema},e.server)}j(n1,"initGraphQLWS");0&&(module.exports={BUILD_DIRECTORY:BUILD_DIRECTORY,COMMIT_LINT_CLI:COMMIT_LINT_CLI,COMMIT_LINT_CONVENTIONAL_CONFIG_PACKAGE_NAME:COMMIT_LINT_CONVENTIONAL_CONFIG_PACKAGE_NAME,COMMIT_LINT_PACKAGE_NAME:COMMIT_LINT_PACKAGE_NAME,CYBERSKILL_CLI:CYBERSKILL_CLI,CYBERSKILL_CLI_PATH:CYBERSKILL_CLI_PATH,CYBERSKILL_DIRECTORY:CYBERSKILL_DIRECTORY,CYBERSKILL_PACKAGE_NAME:CYBERSKILL_PACKAGE_NAME,C_Collection:C_Collection,C_Db:C_Db,C_Document:C_Document,C_Model:C_Model,ESLINT_CLI:ESLINT_CLI,ESLINT_INSPECT_CLI:ESLINT_INSPECT_CLI,ESLINT_INSPECT_PACKAGE_NAME:ESLINT_INSPECT_PACKAGE_NAME,ESLINT_PACKAGE_NAME:ESLINT_PACKAGE_NAME,E_CommandType:E_CommandType,E_IssueType:E_IssueType,E_PackageType:E_PackageType,GIT_CLI:GIT_CLI,GIT_COMMIT_EDITMSG:GIT_COMMIT_EDITMSG,GIT_HOOK:GIT_HOOK,GIT_IGNORE:GIT_IGNORE,LINT_STAGED_CLI:LINT_STAGED_CLI,LINT_STAGED_PACKAGE_NAME:LINT_STAGED_PACKAGE_NAME,MIGRATE_MONGO_CLI:MIGRATE_MONGO_CLI,MIGRATE_MONGO_CONFIG:MIGRATE_MONGO_CONFIG,MIGRATE_MONGO_PACKAGE_NAME:MIGRATE_MONGO_PACKAGE_NAME,MONGO_MIGRATE_OPTIONS:MONGO_MIGRATE_OPTIONS,MongoController:MongoController,MongooseController:MongooseController,NODE_MODULES:NODE_MODULES,NODE_MODULES_INSPECT_CLI:NODE_MODULES_INSPECT_CLI,NODE_MODULES_INSPECT_PACKAGE_NAME:NODE_MODULES_INSPECT_PACKAGE_NAME,PACKAGE_JSON:PACKAGE_JSON,PACKAGE_LOCK_JSON:PACKAGE_LOCK_JSON,PATH:PATH,PLAYWRIGHT_PACKAGE_NAME:PLAYWRIGHT_PACKAGE_NAME,PNPM_CLI:PNPM_CLI,PNPM_EXEC_CLI:PNPM_EXEC_CLI,PNPM_LOCK_YAML:PNPM_LOCK_YAML,Router:Router,SIMPLE_GIT_HOOKS_PACKAGE_NAME:SIMPLE_GIT_HOOKS_PACKAGE_NAME,SIMPLE_GIT_HOOK_CLI:SIMPLE_GIT_HOOK_CLI,SIMPLE_GIT_HOOK_JSON:SIMPLE_GIT_HOOK_JSON,TSCONFIG_JSON:TSCONFIG_JSON,TSC_CLI:TSC_CLI,TSC_PACKAGE_NAME:TSC_PACKAGE_NAME,TSX_CLI:TSX_CLI,VITEST_CLI:VITEST_CLI,VITEST_PACKAGE_NAME:VITEST_PACKAGE_NAME,WORKING_DIRECTORY:WORKING_DIRECTORY,aggregatePaginate:aggregatePaginate,appendFileSync:appendFileSync,bodyParser:bodyParser,clearAllErrorLists:clearAllErrorLists,command:command,copySync:copySync,createApolloServer:createApolloServer,createCors:createCors,createCorsOptions:createCorsOptions,createExpress:createExpress,createGitHooksConfig:createGitHooksConfig,createNest:createNest,createSession:createSession,createWSServer:createWSServer,express:express,expressMiddleware:expressMiddleware,formatCommand:formatCommand,fs:fs,getLatestPackageVersion:getLatestPackageVersion,getPackage:getPackage,getStoredErrorLists:getStoredErrorLists,initGraphQLWS:initGraphQLWS,installDependencies:installDependencies,join:join,logNodeJS:logNodeJS,lstatSync:lstatSync,mkdirSync:mkdirSync,mongo:mongo,mongoosePaginate:mongoosePaginate,path:path,pathExistsSync:pathExistsSync,rawCommand:rawCommand,readFileSync:readFileSync,readJsonSync:readJsonSync,readdirSync:readdirSync,removeSync:removeSync,resolve:resolve,resolveCommands:resolveCommands,resolveWorkingPath:resolveWorkingPath,runCommand:runCommand,setupPackages:setupPackages,statSync:statSync,storageNodeJS:storageNodeJS,throwError:throwError,unlinkSync:unlinkSync,updatePackage:updatePackage,writeFileSync:writeFileSync});