@cyberskill/shared 1.111.0 → 1.112.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 c=e[i](o);var a=c.value}catch(e){n(e);return}if(c.done){t(a)}else{Promise.resolve(a).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 c(e){s(o,r,i,c,a,"next",e)}function a(e){s(o,r,i,c,a,"throw",e)}c(undefined)})}}function o(e,t,n){t=d(t);return C(e,P()?Reflect.construct(t,n||[],d(e).constructor):t.apply(e,n))}function c(e,t){if(!(e instanceof t)){throw new TypeError("Cannot call a class as a function")}}function a(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)a(e.prototype,t);if(n)a(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 _(e){if(typeof Symbol!=="undefined"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function p(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,c;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;c=e}finally{try{if(!s&&n["return"]!=null)n["return"]()}finally{if(i)throw c}}return r}function g(){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 m(){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 S(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 y(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 R(e,n){return t(e)||p(e,n)||N(e,n)||g()}function A(e){return n(e)||_(e)||N(e)||m()}function T(e){"@swc/helpers - typeof";return e&&typeof Symbol!=="undefined"&&e.constructor===Symbol?"symbol":typeof e}function N(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 P(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(P=function(){return!!e})()}function M(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=c(0),o["throw"]=c(1),o["return"]=c(2),typeof Symbol==="function"&&(o[Symbol.iterator]=function(){return this}),o;function c(e){return function(t){return a([e,t])}}function a(c){if(n)throw new TypeError("Generator is already executing.");while(o&&(o=0,c[0]&&(i=0)),i)try{if(n=1,r&&(s=c[0]&2?r["return"]:c[0]?r["throw"]||((s=r["return"])&&s.call(r),0):r.next)&&!(s=s.call(r,c[1])).done)return s;if(r=0,s)c=[c[0]&2,s.value];switch(c[0]){case 0:case 1:s=c;break;case 4:i.label++;return{value:c[1],done:false};case 5:i.label++;r=c[1];c=[0];continue;case 7:c=i.ops.pop();i.trys.pop();continue;default:if(!(s=i.trys,s=s.length>0&&s[s.length-1])&&(c[0]===6||c[0]===2)){i=0;continue}if(c[0]===3&&(!s||c[1]>s[0]&&c[1]<s[3])){i.label=c[1];break}if(c[0]===6&&i.label<s[1]){i.label=s[1];s=c;break}if(s&&i.label<s[2]){i.label=s[2];i.ops.push(c);break}if(s[2])i.ops.pop();i.trys.pop();continue}c=t.call(e,i)}catch(e){c=[6,e];r=0}finally{n=s=0}if(c[0]&5)throw c[1];return{value:c[0]?c[1]:void 0,done:true}}}var G=Object.create;var b=Object.defineProperty;var L=Object.getOwnPropertyDescriptor;var D=Object.getOwnPropertyNames;var x=Object.getPrototypeOf,w=Object.prototype.hasOwnProperty;var j=function(e,t,n){return t in e?b(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n};var U=function(e,t){return b(e,"name",{value:t,configurable:!0})};var k=function(e,t){for(var n in t)b(e,n,{get:t[n],enumerable:!0})},q=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 c=function(){var s=u.value;!w.call(e,s)&&s!==n&&b(e,s,{get:function(){return t[s]},enumerable:!(r=L(t,s))||r.enumerable})};for(var a=D(t)[Symbol.iterator](),u;!(s=(u=a.next()).done);s=true)c()}catch(e){i=true;o=e}finally{try{if(!s&&a.return!=null){a.return()}}finally{if(i){throw o}}}return e};var K=function(e,t,n){return n=e!=null?G(x(e)):{},q(t||!e||!e.__esModule?b(n,"default",{value:e,enumerable:!0}):n,e)},F=function(e){return q(b({},"__esModule",{value:!0}),e)};var H=function(e,t,n){return j(e,(typeof t==="undefined"?"undefined":T(t))!="symbol"?t+"":t,n)};var Y={};k(Y,{BUILD_DIRECTORY:function(){return eQ},CHECK_PACKAGE_EMPTY_RESULT:function(){return eS},COMMIT_LINT_CLI:function(){return ts},COMMIT_LINT_PACKAGE_NAME:function(){return tr},CYBERSKILL_CLI:function(){return e8},CYBERSKILL_CLI_PATH:function(){return e6},CYBERSKILL_DIRECTORY:function(){return e5},CYBERSKILL_PACKAGE_NAME:function(){return eV},C_Collection:function(){return nO},C_Db:function(){return ng},C_Document:function(){return nh},C_Model:function(){return nS},ESLINT_CLI:function(){return e9},ESLINT_INSPECT_CLI:function(){return tg},ESLINT_INSPECT_PACKAGE_NAME:function(){return tp},ESLINT_PACKAGE_NAME:function(){return e7},E_CommandType:function(){return eg},E_IssueType:function(){return Q},GIT_CLI:function(){return tl},GIT_COMMIT_EDITMSG:function(){return e4},GIT_HOOK:function(){return e2},GIT_IGNORE:function(){return eZ},LINT_STAGED_CLI:function(){return to},LINT_STAGED_PACKAGE_NAME:function(){return ti},MIGRATE_MONGO_CLI:function(){return tS},MIGRATE_MONGO_CONFIG:function(){return e3},MIGRATE_MONGO_PACKAGE_NAME:function(){return tv},MONGO_MIGRATE_OPTIONS:function(){return nf},MongoController:function(){return nF},MongooseController:function(){return nY},NODE_MODULES:function(){return eJ},NODE_MODULES_INSPECT_CLI:function(){return th},NODE_MODULES_INSPECT_PACKAGE_NAME:function(){return tm},PACKAGE_JSON:function(){return e$},PACKAGE_LOCK_JSON:function(){return eX},PATH:function(){return ty},PLAYWRIGHT_PACKAGE_NAME:function(){return tt},PNPM_CLI:function(){return td},PNPM_EXEC_CLI:function(){return tf},PNPM_LOCK_YAML:function(){return e1},Router:function(){return ns.Router},SIMPLE_GIT_HOOKS_PACKAGE_NAME:function(){return tE},SIMPLE_GIT_HOOK_CLI:function(){return t_},SIMPLE_GIT_HOOK_JSON:function(){return e0},TSCONFIG_JSON:function(){return ez},TSC_CLI:function(){return ta},TSC_PACKAGE_NAME:function(){return tc},TSX_CLI:function(){return tu},VITEST_CLI:function(){return tn},VITEST_PACKAGE_NAME:function(){return te},WORKING_DIRECTORY:function(){return eW},aggregatePaginate:function(){return nA.default},appendFileSync:function(){return eG},checkPackage:function(){return tP},clearAllErrorLists:function(){return tK},command:function(){return tR},copySync:function(){return eU},createApolloServer:function(){return ed},createCors:function(){return nl},createExpress:function(){return nd},createGitHooksConfig:function(){return tO},createWSServer:function(){return nV},express:function(){return nc.default},expressMiddleware:function(){return W.expressMiddleware},formatCommand:function(){return tV},fs:function(){return eI},getLatestPackageVersion:function(){return tN},getPackage:function(){return tT},getStoredErrorLists:function(){return tq},initGraphQLWS:function(){return nJ},installDependencies:function(){return tM},join:function(){return eY},logNodeJS:function(){return el},lstatSync:function(){return eA},mkdirSync:function(){return eN},mongo:function(){return nq},mongoosePaginate:function(){return nT.default},path:function(){return eK},pathExistsSync:function(){return ew},rawCommand:function(){return tB},readFileSync:function(){return eP},readJsonSync:function(){return eD},readdirSync:function(){return eT},removeSync:function(){return ej},resolve:function(){return eH},resolveCommands:function(){return tJ},resolveWorkingPath:function(){return eF},runCommand:function(){return tQ},setupPackages:function(){return tG},statSync:function(){return eL},storageNodeJS:function(){return tx},throwError:function(){return ea},unlinkSync:function(){return eb},writeFileSync:function(){return eM},writeJsonSync:function(){return ex}});module.exports=F(Y);var B=require("@apollo/server"),W=require("@apollo/server/express4"),V=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 $=K(require("chalk"),1),X=K(require("consola"),1),z=require("graphql");var Z=".cyberskill-storage";var ee=K(require("dotenv"),1),et=require("envalid"),en=K(require("os"),1),er=K(require("path"),1),es=K(require("process"),1);ee.default.config();function ei(){var e={DEBUG:es.default.env.DEBUG||!1,CWD:es.default.env.CWD||es.default.cwd(),CYBERSKILL_STORAGE_DIRECTORY:es.default.env.CYBERSKILL_STORAGE_DIRECTORY||er.default.join(en.default.homedir(),Z)};return(0,et.cleanEnv)(e,{DEBUG:(0,et.bool)(),CWD:(0,et.str)(),CYBERSKILL_STORAGE_DIRECTORY:(0,et.str)()})}U(ei,"getEnv");var eo={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 ec=ei();function ea(e){var t=e.message,n=e.status,r=n===void 0?eo.INTERNAL_SERVER_ERROR:n,s=e.type,i=s===void 0?"graphql":s;var o;var c=(o=t!==null&&t!==void 0?t:r.MESSAGE)!==null&&o!==void 0?o:"Internal server error";throw i==="graphql"?new z.GraphQLError(c,{extensions:{code:r.CODE}}):new Error(c)}U(ea,"throwError");ec.DEBUG||(X.default.level=4);function eu(e){var t=$.default[e];return typeof t=="function"?t:$.default.green}U(eu,"chalkKeyword");var el={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(eu(n)("Rule:")," ").concat(s)),X.default.log(" ".concat(eu(n)("Message:")," ").concat(i))}),X.default.box(eu(n)("".concat(e," : ").concat(t.length))),X.default.log($.default.gray("─".repeat(40)))}};function ed(e){return new B.ApolloServer(h({schema:e.schema,plugins:[e.isDev?(0,J.ApolloServerPluginLandingPageLocalDefault)():(0,J.ApolloServerPluginLandingPageProductionDefault)(),(0,V.ApolloServerPluginDrainHttpServer)({httpServer:e.server})].concat(A(e.drainServer?[{serverWillStart:function t(){return /*#__PURE__*/i(function(){return M(this,function(t){return[2,{drainServer:function t(){return /*#__PURE__*/i(function(){var t;return M(this,function(n){(t=e.drainServer)===null||t===void 0?void 0:t.call(e),el.info("Apollo Server drainServer hook called");return[2]})})()}}]})})()}}]:[]))},e.isDev&&{introspection:!0,includeStacktraceInErrorResponses:!0}))}U(ed,"createApolloServer");var ef=K(require("process"),1),eE=require("yargs/helpers"),e_=K(require("yargs/yargs"),1);var ep={name:"@cyberskill/shared",type:"module",version:"1.110.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/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"},"./nodejs":{types:"./dist/nodejs/index.d.ts",import:"./dist/nodejs/index.js",require:"./dist/nodejs/index.cjs"},"./nodejs/apollo-server":{types:"./dist/nodejs/apollo-server/index.d.ts",import:"./dist/nodejs/apollo-server/index.js",require:"./dist/nodejs/apollo-server/index.cjs"},"./nodejs/cli":{types:"./dist/nodejs/cli/index.d.ts",import:"./dist/nodejs/cli/index.js",require:"./dist/nodejs/cli/index.cjs"},"./nodejs/command":{types:"./dist/nodejs/command/index.d.ts",import:"./dist/nodejs/command/index.js",require:"./dist/nodejs/command/index.cjs"},"./nodejs/express":{types:"./dist/nodejs/express/index.d.ts",import:"./dist/nodejs/express/index.js",require:"./dist/nodejs/express/index.cjs"},"./nodejs/fs":{types:"./dist/nodejs/fs/index.d.ts",import:"./dist/nodejs/fs/index.js",require:"./dist/nodejs/fs/index.cjs"},"./nodejs/log":{types:"./dist/nodejs/log/index.d.ts",import:"./dist/nodejs/log/index.js",require:"./dist/nodejs/log/index.cjs"},"./nodejs/mongo":{types:"./dist/nodejs/mongo/index.d.ts",import:"./dist/nodejs/mongo/index.js",require:"./dist/nodejs/mongo/index.cjs"},"./nodejs/package":{types:"./dist/nodejs/package/index.d.ts",import:"./dist/nodejs/package/index.js",require:"./dist/nodejs/package/index.cjs"},"./nodejs/path":{types:"./dist/nodejs/path/index.d.ts",import:"./dist/nodejs/path/index.js",require:"./dist/nodejs/path/index.cjs"},"./nodejs/storage":{types:"./dist/nodejs/storage/index.d.ts",import:"./dist/nodejs/storage/index.js",require:"./dist/nodejs/storage/index.cjs"},"./nodejs/ws":{types:"./dist/nodejs/ws/index.d.ts",import:"./dist/nodejs/ws/index.js",require:"./dist/nodejs/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/nodejs/cli/index.js"},files:["dist","public"],scripts:{build:"tsup",dev:"dotenv -e .env -- tsup --watch",lint:"dotenv -e .env -- tsx src/nodejs/cli/index.ts lint","lint:fix":"dotenv -e .env -- tsx src/nodejs/cli/index.ts lint:fix","lint:inspect":"dotenv -e .env -- tsx src/nodejs/cli/index.ts lint:inspect",reset:"dotenv -e .env -- tsx src/nodejs/cli/index.ts reset",setup:"dotenv -e .env -- tsx src/nodejs/cli/index.ts setup",inspect:"dotenv -e .env -- tsx src/nodejs/cli/index.ts inspect","test:unit":"dotenv -e .env -- tsx src/nodejs/cli/index.ts test:unit","test:e2e":"dotenv -e .env -- tsx src/nodejs/cli/index.ts test:e2e",commitlint:"dotenv -e .env -- tsx src/nodejs/cli/index.ts commitlint","lint-staged":"dotenv -e .env -- tsx src/nodejs/cli/index.ts lint-staged"},dependencies:{"@antfu/eslint-config":"4.12.0","@apollo/client":"3.13.8","@apollo/server":"4.12.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.5","@next/eslint-plugin-next":"15.3.1","@swc/core":"1.11.22","@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",chalk:"5.4.1",classnames:"2.5.1",compression:"1.8.0",consola:"3.4.2",cors:"2.8.5","crypto-js":"4.2.0","date-fns":"4.1.0",dotenv:"16.5.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-device":"0.4.2","express-session":"1.18.1","fs-extra":"11.3.0",globals:"16.0.0",graphql:"16.10.0","graphql-ws":"6.0.4",i18next:"25.0.1",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.0","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",ora:"8.2.0",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.3",typescript:"5.8.3",unorm:"1.6.0",uuid:"11.1.0",vite:"6.3.3",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","@eslint/config-inspector":"1.0.2","@types/compression":"1.7.5","@types/cors":"2.8.17","@types/crypto-js":"4.2.2","@types/express":"4.17.21","@types/express-session":"1.18.1","@types/fs-extra":"11.0.4","@types/migrate-mongo":"10.0.5","@types/mongoose-aggregate-paginate-v2":"1.0.12","@types/node-persist":"3.1.8","@types/react":"19.1.2","@types/react-dom":"19.1.2","@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 eg=function(e){return e.CLI="CLI",e.STRING="STRING",e.FUNCTION="FUNCTION",e}({});var em=require("child_process"),eh=K(require("process"),1),ev=K(require("util"),1);var eS={isCurrentProject:!1,installedPath:"",file:{},isUpToDate:!1};var ey=K(require("node-fetch"),1);var eO=K(require("fs-extra"),1),eC=require("path");var eI=eO.default,eR=eO.default,eA=eR.lstatSync,eT=eR.readdirSync,eN=eR.mkdirSync,eP=eR.readFileSync,eM=eR.writeFileSync,eG=eR.appendFileSync,eb=eR.unlinkSync,eL=eR.statSync,eD=eO.default.readJsonSync,ex=eO.default.writeJsonSync;function ew(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}return t.every(function(e){return eO.default.pathExistsSync(e)})}U(ew,"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){ew(e)&&eO.default.removeSync(e)})}U(ej,"removeSync");function eU(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};var r=n.extensions,s=y(n,["extensions"]);eO.default.copySync(e,t,h({filter:U(function(e){return eL(e).isDirectory()||!r||r.length===0?!0:r.includes((0,eC.extname)(e))},"filter")},s))}U(eU,"copySync");var ek=K(require("path"),1);var eq=ei(),eK=ek.default;function eF(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}return(0,ek.resolve).apply(this,[eq.CWD].concat(A(t)))}U(eF,"resolveWorkingPath");function eH(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}return(0,ek.resolve).apply(this,A(t))}U(eH,"resolve");function eY(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}return(0,ek.join).apply(this,A(t))}U(eY,"join");var eB=ei(),eW=eB.CWD,eV="@cyberskill/shared",eJ="node_modules",eQ="dist",e$="package.json",eX="package-lock.json",ez="tsconfig.json",eZ=".gitignore",e0=".simple-git-hooks.json",e1="pnpm-lock.yaml",e2=".git/hooks/",e4=".git/COMMIT_EDITMSG",e3=".migrate-mongo.config.js",e5=eY(eW,eJ,eV,eQ),e8="cyberskill",e6="src/nodejs/cli/index.ts",e7="eslint",e9="eslint",te="vitest",tt="playwright",tn="vitest",tr="@commitlint/cli",ts="commitlint",ti="lint-staged",to="lint-staged",tc="typescript",ta="tsc",tu="tsx",tl="git",td="pnpm",tf="pnpm exec",tE="simple-git-hooks",t_="simple-git-hooks",tp="@eslint/config-inspector",tg="eslint-config-inspector",tm="node-modules-inspector",th="node-modules-inspector",tv="migrate-mongo",tS="./node_modules/migrate-mongo/bin/migrate-mongo",ty={CYBERSKILL_DIRECTORY:e5,WORKING_DIRECTORY:eW,TS_CONFIG:eF(ez),GIT_IGNORE:eF(eZ),GIT_HOOK:eF(e2),GIT_COMMIT_MSG:eF(e4),SIMPLE_GIT_HOOKS_JSON:eF(e0),PACKAGE_JSON:eF(e$),PACKAGE_LOCK_JSON:eF(eX),PNPM_LOCK_YAML:eF(e1),NODE_MODULES:eF(eJ),MIGRATE_MONGO_CONFIG:eF(e3),LINT_STAGED_CONFIG:eF("".concat(e5,"/configs/lint-staged/base.js")),COMMITLINT_CONFIG:eF("".concat(e5,"/configs/commitlint/base.js")),UNIT_TEST_CONFIG:eF("".concat(e5,"/react/vitest/vitest.unit.js")),UNIT_TEST_SETUP_CONFIG:eF("".concat(e5,"/react/vitest/vitest.unit.setup.js")),E2E_TEST_CONFIG:eF("".concat(e5,"/react/vitest/vitest.e2e.js"))};function tO(e){var t=e.isCurrentProject;return h({"pre-commit":to,"commit-msg":ts},t&&{"pre-push":tB("".concat(tl," pull"))})}U(tO,"createGitHooksConfig");function tC(e,t,n){return /*#__PURE__*/i(function(){return M(this,function(r){switch(r.label){case 0:if(!t)throw new Error("'first' argument is undefined");switch(e){case eg.CLI:return[3,1];case eg.STRING:return[3,3]}return[3,4];case 1:return[4,tG(t.split(" "),{update:!0})];case 2:return[2,(r.sent(),tV(tB("".concat(tf," ").concat(n))))];case 3:return[2,tV(tB(t))];case 4:throw new Error("Unsupported command type");case 5:return[2]}})})()}U(tC,"buildCommand");function tI(e,t,n){return function(){return /*#__PURE__*/i(function(){return M(this,function(r){return[2,tC(e,t,n)]})})()}}U(tI,"commandFactory");var tR={simpleGitHooks:tI(eg.CLI,tE,t_),eslintInspect:tI(eg.CLI,tp,tg),nodeModulesInspect:tI(eg.CLI,tm,th),eslintCheck:tI(eg.CLI,e7,"".concat(e9," ").concat(ty.WORKING_DIRECTORY)),eslintFix:tI(eg.CLI,e7,"".concat(e9," ").concat(ty.WORKING_DIRECTORY," --fix")),typescriptCheck:tI(eg.CLI,tc,"".concat(ta," -p ").concat(ty.TS_CONFIG," --noEmit")),configureGitHook:tI(eg.STRING,"".concat(tl," config core.hooksPath ").concat(ty.GIT_HOOK)),testUnit:tI(eg.CLI,te,"".concat(tn," --config ").concat(ty.UNIT_TEST_CONFIG)),testE2e:tI(eg.CLI,"".concat(te," ").concat(tt),"".concat(tn," --config ").concat(ty.E2E_TEST_CONFIG)),mongoMigrateCreate:U(function(e){return tI(eg.CLI,tv,"".concat(tu," ").concat(tS," create ").concat(e," -f ").concat(ty.MIGRATE_MONGO_CONFIG))()},"mongoMigrateCreate"),mongoMigrateUp:tI(eg.CLI,tv,"".concat(tu," ").concat(tS," up -f ").concat(ty.MIGRATE_MONGO_CONFIG)),mongoMigrateDown:tI(eg.CLI,tv,"".concat(tu," ").concat(tS," down -f ").concat(ty.MIGRATE_MONGO_CONFIG)),commitLint:tI(eg.CLI,tr,"".concat(ts," --edit ").concat(ty.GIT_COMMIT_MSG," --config ").concat(ty.COMMITLINT_CONFIG)),lintStaged:tI(eg.CLI,ti,"".concat(to," --config ").concat(ty.LINT_STAGED_CONFIG)),stageBuildDirectory:tI(eg.STRING,"".concat(tl," add ").concat(eQ)),build:tI(eg.STRING,"".concat(td," run build")),pnpmInstallStandard:tI(eg.STRING,"".concat(td," install")),pnpmInstallLegacy:tI(eg.STRING,"".concat(td," install --legacy-peer-deps")),pnpmInstallForce:tI(eg.STRING,"".concat(td," install --force"))};var tA=ei();function tT(e){var t=eY(tA.CWD,e$);if(!ew(t))return!1;try{var n=eD(t),r=n.name,s=n.dependencies,i=s===void 0?{}:s,o=n.devDependencies,c=o===void 0?{}:o,a=r===e,u=e in i,l=e in c;return a||u||l?{path:t,file:n,isCurrentProject:a,isDepend:u,isDevDepend:l}:!1}catch(e){return el.warn("Failed to read package.json: ".concat(e.message)),!1}}U(tT,"getPackage");function tN(e){return /*#__PURE__*/i(function(){var t,n,r,s;return M(this,function(i){switch(i.label){case 0:i.trys.push([0,3,,4]);return[4,(0,ey.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 el.error('Failed to fetch version for "'.concat(e,'": ').concat(s.message)),s;case 4:return[2]}})})()}U(tN,"getLatestPackageVersion");function tP(e,t){return /*#__PURE__*/i(function(){var n,r,s,i,o,c,a,u,l,d,f,E,_,p,g,m,v,S,y,O,C;return M(this,function(I){switch(I.label){case 0:I.trys.push([0,4,,5]);n=tT(e);if(!n)return[2,h({},eS)];a=n.path,u=n.file,l=n.isCurrentProject,d=n.isDepend,f=n.isDevDepend,E=(r=u.dependencies)!==null&&r!==void 0?r:{},_=(s=u.devDependencies)!==null&&s!==void 0?s:{},p=l?(i=u.version)!==null&&i!==void 0?i:"0.0.0":d?(o=E[e])!==null&&o!==void 0?o:"0.0.0":f?(c=_[e])!==null&&c!==void 0?c:"0.0.0":"0.0.0";if(!l)return[3,1];v=p;return[3,3];case 1:return[4,tN(e)];case 2:v=I.sent();I.label=3;case 3:g=v,m=l||p===g;if(!m&&(t===null||t===void 0?void 0:t.update)){;y=d?"dependencies":f?"devDependencies":null;y&&((S=u[y])===null||S===void 0?void 0:S[e])!==g&&(u[y]=(O=u[y])!==null&&O!==void 0?O:{},u[y][e]=g,ex(a,u),el.info('Updated "'.concat(e,'" to version ').concat(g)))}return[2,{isCurrentProject:l,installedPath:a,file:u,isUpToDate:m}];case 4:C=I.sent();return[2,(el.error('Error checking package "'.concat(e,'": ').concat(C.message)),h({},eS))];case 5:return[2]}})})()}U(tP,"checkPackage");function tM(){return /*#__PURE__*/i(function(){var e,t,n,r,s,i,o,c,a,u,l,d;return M(this,function(f){switch(f.label){case 0:e=[{command:U(function(){return tR.pnpmInstallStandard()},"command"),message:"Installing dependencies (standard)"},{command:U(function(){return tR.pnpmInstallLegacy()},"command"),message:"Retrying with legacy peer dependencies"},{command:U(function(){return tR.pnpmInstallForce()},"command"),message:"Retrying with force install"}];t=true,n=false,r=undefined;f.label=1;case 1:f.trys.push([1,9,10,11]);s=e[Symbol.iterator]();f.label=2;case 2:if(!!(t=(i=s.next()).done))return[3,8];o=i.value,c=o.command,a=o.message;f.label=3;case 3:f.trys.push([3,6,,7]);return[4,c()];case 4:u=f.sent();return[4,tQ("".concat(a," using: ").concat(u),u)];case 5:f.sent();return[2];case 6:l=f.sent();el.warn("Installation attempt failed: ".concat(a)),el.error("Details: ".concat(l.message));return[3,7];case 7:t=true;return[3,2];case 8:return[3,11];case 9:d=f.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:throw new Error("All dependency installation strategies failed.")}})})()}U(tM,"installDependencies");function tG(e,t){return /*#__PURE__*/i(function(){var n,r,s,i,o,c,a,u,l,d,f;return M(this,function(E){switch(E.label){case 0:if(!ew(ty.PACKAGE_JSON)){el.error("package.json not found. Aborting setup.");return[2]}E.label=1;case 1:E.trys.push([1,13,,14]);n=A(new Set(e)).sort();return[4,Promise.all(n.map(function(e){return tP(e,h({},(t===null||t===void 0?void 0:t.update)&&{update:t.update}))}))];case 2:r=E.sent().every(function(e){return e.isUpToDate});if(r)return[3,4];return[4,tM()];case 3:r=E.sent();E.label=4;case 4:r;i=true,o=false,c=undefined;E.label=5;case 5:E.trys.push([5,10,11,12]);a=((s=t===null||t===void 0?void 0:t.postInstallActions)!==null&&s!==void 0?s:[])[Symbol.iterator]();E.label=6;case 6:if(!!(i=(u=a.next()).done))return[3,9];l=u.value;return[4,l()];case 7:E.sent();E.label=8;case 8:i=true;return[3,6];case 9:return[3,12];case 10:d=E.sent();o=true;c=d;return[3,12];case 11:try{if(!i&&a.return!=null){a.return()}}finally{if(o){throw c}}return[7];case 12:return[3,14];case 13:f=E.sent();throw el.error('Failed to setup "'.concat(e.join(", "),'": ').concat(f.message)),f;case 14:return[2]}})})()}U(tG,"setupPackages");var tb=K(require("node-persist"),1);var tL=ei();function tD(){return /*#__PURE__*/i(function(){var e;return M(this,function(t){switch(t.label){case 0:e=tb.default.defaultInstance;if(e)return[3,2];return[4,tb.default.init({dir:tL.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]}})})()}U(tD,"initNodePersist");var tx={get:function e(e){return /*#__PURE__*/i(function(){var t,n;return M(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,tD()];case 1:r.sent();return[4,tb.default.getItem(e)];case 2:return[2,(t=r.sent())!==null&&t!==void 0?t:null];case 3:n=r.sent();return[2,(el.error('[Storage:get] Error getting key "'.concat(e,'":'),n),null)];case 4:return[2]}})})()},set:function e(e,t){return /*#__PURE__*/i(function(){var n;return M(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,tD()];case 1:r.sent();return[4,tb.default.setItem(e,t)];case 2:r.sent();return[3,4];case 3:n=r.sent();el.error('[Storage:set] Error setting key "'.concat(e,'":'),n);return[3,4];case 4:return[2]}})})()},remove:function e(e){return /*#__PURE__*/i(function(){var t;return M(this,function(n){switch(n.label){case 0:n.trys.push([0,3,,4]);return[4,tD()];case 1:n.sent();return[4,tb.default.removeItem(e)];case 2:n.sent();return[3,4];case 3:t=n.sent();el.error('[Storage:remove] Error removing key "'.concat(e,'":'),t);return[3,4];case 4:return[2]}})})()},keys:function e(){return /*#__PURE__*/i(function(){var e,t;return M(this,function(n){switch(n.label){case 0:n.trys.push([0,3,,4]);return[4,tD()];case 1:n.sent();return[4,tb.default.keys()];case 2:e=n.sent();return[2,Array.isArray(e)?e:(el.warn("[Storage:keys] Invalid keys response:",e),[])];case 3:t=n.sent();return[2,(el.error("[Storage:keys] Error getting keys:",t),[])];case 4:return[2]}})})()},getLogLink:function e(e){return /*#__PURE__*/i(function(){return M(this,function(t){try{return[2,"".concat(tL.CYBERSKILL_STORAGE_DIRECTORY," (key: ").concat(e,")")]}catch(e){return[2,(el.error("[Storage:getLogLink] Error getting log link:",e),null)]}return[2]})})()}};var tw=ei(),tj=ev.promisify(em.exec);function tU(e){return"error_list:".concat(e)}U(tU,"getErrorListKey");function tk(e){return /*#__PURE__*/i(function(){var t,n,r;return M(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,tx.set(n,{errors:e,timestamp:t})];case 2:s.sent(),setTimeout(function(){return /*#__PURE__*/i(function(){var e;return M(this,function(t){switch(t.label){case 0:return[4,tx.getLogLink(n)];case 1:e=t.sent();e&&el.info("\uD83D\uDCC2 Open the error list manually: ".concat(e));return[2]}})})()},10);return[3,4];case 3:r=s.sent();el.error("Failed to save errors: ".concat(r.message));return[3,4];case 4:return[2]}})})()}U(tk,"saveErrorListToStorage");function tq(){return /*#__PURE__*/i(function(){var e,t,n;return M(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,tx.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 /*#__PURE__*/i(function(){var t;return M(this,function(n){switch(n.label){case 0:return[4,tx.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,(el.error("Failed to retrieve stored errors: ".concat(n.message)),[])];case 4:return[2]}})})()}U(tq,"getStoredErrorLists");function tK(){return /*#__PURE__*/i(function(){var e,t,n;return M(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,tx.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 tx.remove(e)}))];case 2:r.sent();return[3,4];case 3:n=r.sent();el.error("Failed to clear error lists: ".concat(n.message));return[3,4];case 4:return[2]}})})()}U(tK,"clearAllErrorLists");function tF(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 c,a,u,l,d;var f=s.exec(e)||[],E=i.exec(e)||[],_=o.exec(e)||[];var p,g,m,h,v,S;f.length&&r?t.push({file:r,position:"".concat(f[1],":").concat(f[2]),type:f[3]===Q.Error?Q.Error:Q.Warning,message:(p=f===null||f===void 0?void 0:(c=f[4])===null||c===void 0?void 0:c.trim())!==null&&p!==void 0?p:"",rule:(g=f===null||f===void 0?void 0:(a=f[5])===null||a===void 0?void 0:a.trim())!==null&&g!==void 0?g:""}):E.length?t.push({file:(m=E===null||E===void 0?void 0:E[1])!==null&&m!==void 0?m:"",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:""}):_.length?t.push({file:"commitlint",type:Q.Error,message:(v=_===null||_===void 0?void 0:(l=_[1])===null||l===void 0?void 0:l.trim())!==null&&v!==void 0?v:"",rule:(S=_===null||_===void 0?void 0:(d=_[2])===null||d===void 0?void 0:d.trim())!==null&&S!==void 0?S:""}):n.push(e.trim())}}),t.length&&tk(t),tw.DEBUG&&n.length&&(el.warn("Unmatched lines:"),n.forEach(function(e){return el.info(" ".concat(e))}))}U(tF,"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,c=e.message;n.push({type:r===2?Q.Error:Q.Warning,file:t,position:"".concat(s,":").concat(i),rule:o,message:c})})}),n.length&&tk(n)}catch(t){tF(e)}}U(tH,"parseCommandOutput");function tY(e){return /*#__PURE__*/i(function(e){var t,n,r,s,i,o,c,a,u;var l=arguments;return M(this,function(d){switch(d.label){case 0:t=l.length>1&&l[1]!==void 0?l[1]:tH;n=new AbortController;eh.default.on("SIGINT",function(){el.warn("Process interrupted. Terminating..."),n.abort(),eh.default.exit()});d.label=1;case 1:d.trys.push([1,4,,5]);if(!(typeof e=="string"))return[3,3];return[4,tj(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();c=o.stdout,a=o.stderr,u=o.message;[c,a].forEach(function(e){return e&&t(e)}),!a&&!c&&el.error("Command failed: ".concat(u));return[3,5];case 5:return[2]}})}).apply(this,arguments)}U(tY,"executeCommand");function tB(e){return{raw:!0,cmd:e}}U(tB,"rawCommand");function tW(e,t){return(t===null||t===void 0?void 0:t.isRemote)?"".concat(tf," ").concat(eV," ").concat(e):(t===null||t===void 0?void 0:t.isCurrentProject)?"".concat(tf," ").concat(tu," ").concat(e6," ").concat(e):"".concat(tf," ").concat(e8," ").concat(e)}U(tW,"formatCLI");function tV(e,t){return typeof e=="function"?tW(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"?tW(e,t):e}U(tV,"formatCommand");function tJ(e){return /*#__PURE__*/i(function(e){var t,n,r,s,i,o,c;var a=arguments;return M(this,function(u){switch(u.label){case 0:t=a.length>1&&a[1]!==void 0?a[1]:{};r=(n=t===null||t===void 0?void 0:t.isRemote)!==null&&n!==void 0?n:!1;if(!r)return[3,1];c=!1;return[3,3];case 1:return[4,tP(eV)];case 2:c=u.sent().isCurrentProject;u.label=3;case 3:s=c,i={isRemote:r,isCurrentProject:s},o=typeof e=="function"?e(i):e;return[2,Object.fromEntries(Object.entries(o).map(function(e){var t=R(e,2),n=t[0],r=t[1];return[n,tV(r,i)]}))]}})}).apply(this,arguments)}U(tJ,"resolveCommands");function tQ(e,t){return /*#__PURE__*/i(function(){var n;return M(this,function(r){switch(r.label){case 0:r.trys.push([0,2,,3]);el.start("".concat(e)),tw.DEBUG&&el.info("→ ".concat(t));return[4,tY(t)];case 1:r.sent(),el.success("".concat(e," done."));return[3,3];case 2:n=r.sent();throw el.error("".concat(e," failed: ").concat(n.message)),n;case 3:return[2]}})})()}U(tQ,"runCommand");function t$(){return /*#__PURE__*/i(function(){var e,t;return M(this,function(n){switch(n.label){case 0:if(!ew(ty.TS_CONFIG))return[3,3];t=["Performing TypeScript validation"];return[4,tR.typescriptCheck()];case 1:return[4,tQ.apply(void 0,t.concat([n.sent()]))];case 2:e=n.sent();return[3,4];case 3:e=el.warn("No TypeScript configuration found. Skipping type check.");n.label=4;case 4:e;return[2]}})})()}U(t$,"checkTypescript");function tX(){return /*#__PURE__*/i(function(){var e,t,n,r;var s=arguments;return M(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,tR.eslintFix()];case 1:return[4,tQ.apply(void 0,n.concat([i.sent()]))];case 2:t=i.sent();return[3,6];case 3:r=["Running ESLint check"];return[4,tR.eslintCheck()];case 4:return[4,tQ.apply(void 0,r.concat([i.sent()]))];case 5:t=i.sent();i.label=6;case 6:t;return[2]}})}).apply(this,arguments)}U(tX,"checkEslint");function tz(e,t){if(!t.length)return;var n=e==="Errors"?"red":"yellow";el.printBoxedLog(e==="Errors"?"✖ Errors":"⚠ Warnings",t,n)}U(tz,"printIssues");function tZ(){return /*#__PURE__*/i(function(){var e,t,n;return M(this,function(r){switch(r.label){case 0:return[4,tq()];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?el.printBoxedLog("✔ NO ISSUES FOUND",[],"green"):(tz("Warnings",n),tz("Errors",t),(t.length>0||n.length>0)&&ef.default.exit(1));return[2]}})})()}U(tZ,"showCheckResult");function t0(){return /*#__PURE__*/i(function(){var e,t,n,r,s,i;return M(this,function(o){switch(o.label){case 0:return[4,tK()];case 1:o.sent();return[4,tP(eV)];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(eV)];return[4,tR.build()];case 4:return[4,tQ.apply(void 0,n.concat([o.sent()]))];case 5:o.sent();r=["Staging build artifacts"];return[4,tR.stageBuildDirectory()];case 6:return[4,tQ.apply(void 0,r.concat([o.sent()]))];case 7:o.sent();return[3,9];case 8:s=o.sent();throw el.error("Error building and staging ".concat(eV,": ").concat(s.message)),s;case 9:i=["Executing lint-staged"];return[4,tR.lintStaged()];case 10:return[4,tQ.apply(void 0,i.concat([o.sent()]))];case 11:o.sent(),tZ();return[2]}})})()}U(t0,"lintStaged");function t1(){return /*#__PURE__*/i(function(){var e;return M(this,function(t){switch(t.label){case 0:e=["Inspecting ESLint configuration"];return[4,tR.eslintInspect()];case 1:return[4,tQ.apply(void 0,e.concat([t.sent()]))];case 2:t.sent();return[2]}})})()}U(t1,"inspectLint");function t2(){return /*#__PURE__*/i(function(){return M(this,function(e){switch(e.label){case 0:return[4,tK()];case 1:e.sent();return[4,Promise.all([t$(),tX()])];case 2:e.sent(),tZ();return[2]}})})()}U(t2,"lintCheck");function t4(){return /*#__PURE__*/i(function(){return M(this,function(e){switch(e.label){case 0:return[4,tK()];case 1:e.sent();return[4,Promise.all([t$(),tX(!0)])];case 2:e.sent(),tZ();return[2]}})})()}U(t4,"lintFix");function t3(){return /*#__PURE__*/i(function(){var e;return M(this,function(t){switch(t.label){case 0:return[4,tK()];case 1:t.sent();e=["Validating commit message"];return[4,tR.commitLint()];case 2:return[4,tQ.apply(void 0,e.concat([t.sent()]))];case 3:t.sent(),tZ();return[2]}})})()}U(t3,"commitLint");function t5(){return /*#__PURE__*/i(function(){var e,t,n,r;return M(this,function(s){switch(s.label){case 0:e=["Configuring Git hooks"];return[4,tR.configureGitHook()];case 1:return[4,tQ.apply(void 0,e.concat([s.sent()]))];case 2:s.sent(),ej(ty.GIT_HOOK);return[4,tJ(tO)];case 3:t=s.sent();ex(ty.SIMPLE_GIT_HOOKS_JSON,t);n="\n".concat(e0,"\n");ew(ty.GIT_IGNORE)?eP(ty.GIT_IGNORE,"utf-8").split("\n").includes(e0)||eG(ty.GIT_IGNORE,n,"utf-8"):eM(ty.GIT_IGNORE,n,"utf-8");r=["Setting up simple-git-hooks"];return[4,tR.simpleGitHooks()];case 4:return[4,tQ.apply(void 0,r.concat([s.sent()]))];case 5:s.sent();return[2]}})})()}U(t5,"setupGitHook");function t8(){return /*#__PURE__*/i(function(){return M(this,function(e){switch(e.label){case 0:return[4,tG([eV],{update:!0,postInstallActions:[t5]})];case 1:e.sent();return[2]}})})()}U(t8,"setup");function t6(){return /*#__PURE__*/i(function(){return M(this,function(e){switch(e.label){case 0:ej(ty.NODE_MODULES,ty.PNPM_LOCK_YAML);return[4,tM()];case 1:e.sent();return[4,t5()];case 2:e.sent();return[2]}})})()}U(t6,"reset");function t7(){return /*#__PURE__*/i(function(){var e;return M(this,function(t){switch(t.label){case 0:e=["Inspecting project dependencies"];return[4,tR.nodeModulesInspect()];case 1:return[4,tQ.apply(void 0,e.concat([t.sent()]))];case 2:t.sent();return[2]}})})()}U(t7,"inspect");function t9(){return /*#__PURE__*/i(function(){var e;return M(this,function(t){switch(t.label){case 0:e=["Running unit tests"];return[4,tR.testUnit()];case 1:return[4,tQ.apply(void 0,e.concat([t.sent()]))];case 2:t.sent();return[2]}})})()}U(t9,"testUnit");function ne(){return /*#__PURE__*/i(function(){var e;return M(this,function(t){switch(t.label){case 0:e=["Running end-to-end tests"];return[4,tR.testE2e()];case 1:return[4,tQ.apply(void 0,e.concat([t.sent()]))];case 2:t.sent();return[2]}})})()}U(ne,"testE2E");function nt(e){return /*#__PURE__*/i(function(){var t;return M(this,function(n){switch(n.label){case 0:t=["Creating MongoDB migration"];return[4,tR.mongoMigrateCreate(e)];case 1:return[4,tQ.apply(void 0,t.concat([n.sent()]))];case 2:n.sent();return[2]}})})()}U(nt,"mongoMigrateCreate");function nn(){return /*#__PURE__*/i(function(){var e;return M(this,function(t){switch(t.label){case 0:e=["Running MongoDB migrations"];return[4,tR.mongoMigrateUp()];case 1:return[4,tQ.apply(void 0,e.concat([t.sent()]))];case 2:t.sent();return[2]}})})()}U(nn,"mongoMigrateUp");function nr(){return /*#__PURE__*/i(function(){var e;return M(this,function(t){switch(t.label){case 0:e=["Rolling back MongoDB migration"];return[4,tR.mongoMigrateDown()];case 1:return[4,tQ.apply(void 0,e.concat([t.sent()]))];case 2:t.sent();return[2]}})})()}U(nr,"mongoMigrateDown");(function(){return /*#__PURE__*/i(function(){var e;return M(this,function(t){switch(t.label){case 0:t.trys.push([0,2,,3]);return[4,(0,e_.default)((0,eE.hideBin)(ef.default.argv)).scriptName(e8).usage("$0 <command> [options]").command("lint","Check code for linting issues",t2).command("lint:fix","Fix linting issues automatically",t4).command("lint:inspect","View active ESLint configuration",t1).command("lint-staged","Run lint checks on staged files",t0).command("commitlint","Validate commit message format",t3).command("setup","Initialize project setup and dependencies",t8).command("reset","Reset the project and reinstall dependencies",t6).command("inspect","Analyze installed project dependencies",t7).command("test:unit","Run unit test suite",t9).command("test:e2e","Run end-to-end test suite",ne).command("mongo:migrate:create <name>","Create a MongoDB migration",function(e){return e.positional("name",{describe:"Migration name",type:"string"})},function(e){return /*#__PURE__*/i(function(){return M(this,function(t){switch(t.label){case 0:if(!e.name){el.error("Migration name is required.");return[2]}return[4,nt(e.name)];case 1:t.sent();return[2]}})})()}).command("mongo:migrate:up","Apply all MongoDB migrations",nn).command("mongo:migrate:down","Rollback last MongoDB migration",nr).demandCommand(1,"Please specify a valid command.").strict().help().alias("h","help").alias("v","version").version(ep.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();el.error("Fatal: ".concat(e.message)),ef.default.exit(1);return[3,3];case 3:return[2]}})})()})();var ns=require("express");var ni=K(require("compression"),1),no=K(require("cors"),1),nc=K(require("express"),1),na=K(require("express-device"),1),nu=K(require("express-session"),1);function nl(e){return(0,no.default)({origin:U(function(t,n){var r;e.isDev||((r=e.whiteList)===null||r===void 0?void 0:r.includes(t!==null&&t!==void 0?t:""))?n(null,!0):n(null,!1)},"origin"),credentials:!0})}U(nl,"createCors");function nd(e){var t=(0,nc.default)();return t.set("trust proxy",1),t.use(nc.default.urlencoded({extended:!0})),t.use((0,ni.default)()),t.use(na.default.capture()),e.staticFolder&&t.use(nc.default.static(e.staticFolder)),e.sessionOptions&&t.use((0,nu.default)(e.sessionOptions)),t}U(nd,"createExpress");var nf="MONGO_MIGRATE_OPTIONS";var nE=require("mongodb"),n_=require("mongoose");var np=/*#__PURE__*/function(e){f(t,e);function t(){c(this,t);return o(this,t,arguments)}return t}(nE.Db);U(np,"C_Db");var ng=np,nm=/*#__PURE__*/function(e){f(t,e);function t(){c(this,t);return o(this,t,arguments)}return t}(n_.Document);U(nm,"C_Document");var nh=nm,nv=/*#__PURE__*/function(e){f(t,e);function t(){c(this,t);return o(this,t,arguments)}return t}(n_.Model);U(nv,"C_Model");var nS=nv,ny=/*#__PURE__*/function(e){f(t,e);function t(){c(this,t);return o(this,t,arguments)}return t}(nE.Collection);U(ny,"C_Collection");var nO=ny;var nC=require("date-fns"),nI=K(require("migrate-mongo"),1),nR=require("mongoose"),nA=K(require("mongoose-aggregate-paginate-v2"),1),nT=K(require("mongoose-paginate-v2"),1),nN=require("uuid");var nP=K(require("unorm"),1);var nM={a:["\xe0","\xe1","ạ","ả","\xe3","\xe2","ầ","ấ","ậ","ẩ","ẫ","ă","ằ","ắ","ặ","ẳ","ẵ"],e:["\xe8","\xe9","ẹ","ẻ","ẽ","\xea","ề","ế","ệ","ể","ễ"],i:["\xec","\xed","ị","ỉ","ĩ"],o:["\xf2","\xf3","ọ","ỏ","\xf5","\xf4","ồ","ố","ộ","ổ","ỗ","ơ","ờ","ớ","ợ","ở","ỡ"],u:["\xf9","\xfa","ụ","ủ","ũ","ư","ừ","ứ","ự","ử","ữ"],y:["ỳ","\xfd","ỵ","ỷ","ỹ"],d:["đ"]},nG=Object.entries(nM).reduce(function(e,t){var n=R(t,2),r=n[0],s=n[1];return e[r.toUpperCase()]=s.map(function(e){return e.toUpperCase()}),e},{});function nb(e){return(typeof e==="undefined"?"undefined":T(e))=="object"&&e!==null&&!Array.isArray(e)}U(nb,"isObject");var nL=require("buffer");var nD=K(require("crypto-js"),1),nx=K(require("slugify"),1);var nw=nx.default.default||nx.default;function nj(e,t){var n=U(function(e){var n,r;return nw(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(nb(e)){var r={};var s=true,i=false,o=undefined;try{for(var c=Object.entries(e)[Symbol.iterator](),a;!(s=(a=c.next()).done);s=true){var u=R(a.value,2),l=u[0],d=u[1];r[l]=n(d)}}catch(e){i=true;o=e}finally{try{if(!s&&c.return!=null){c.return()}}finally{if(i){throw o}}}return r}return n(e)}U(nj,"generateSlug");function nU(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:4;return nD.default.SHA256(e).toString(nD.default.enc.Hex).slice(0,t)}U(nU,"generateShortId");var nk={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 nq={getDateTime:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:new Date;return(0,nC.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"?nq.getDateTime():new Date;return{id:(0,nN.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:nN.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 c=new t.Schema(n,{strict:!0});return s.forEach(function(e){var t=e.name,n=e.options,r=e.get;var s=c.virtual(t,n);r&&s.get(r)}),o||c.add(nq.createGenericSchema(t)),c},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,c=o===void 0?!1:o,a=e.virtuals,u=a===void 0?[]:a,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=nq.createSchema({mongoose:t,schema:r,virtuals:u});return nq.applyPlugins(f,[i&&nT.default,c&&nA.default]),nq.applyMiddlewares(f,d),t.model(n,f)},validator:{isEmpty:function e(){return function(e){return /*#__PURE__*/i(function(){return M(this,function(t){return[2,!nk.isEmpty(e)]})})()}},isUnique:function e(e){return function(t){return /*#__PURE__*/i(function(){var n;return M(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 /*#__PURE__*/i(function(){return M(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:S(h({},nI.default),{setConfig:U(function(e){var t="// This file is automatically generated by the Cyberskill CLI.\nmodule.exports = ".concat(JSON.stringify(e,null,4));eM(ty.MIGRATE_MONGO_CONFIG,t);var n="\n".concat(e3,"\n");ew(ty.GIT_IGNORE)?eP(ty.GIT_IGNORE,"utf-8").split("\n").includes(e3)||eG(ty.GIT_IGNORE,n,"utf-8"):eM(ty.GIT_IGNORE,n,"utf-8")},"setConfig")})},nK=/*#__PURE__*/function(){function e(t,n){c(this,e);H(this,"collection");this.collection=t.collection(n)}u(e,[{key:"createOne",value:function e(e){return /*#__PURE__*/i(function(){var t,n,r;return M(this,function(s){switch(s.label){case 0:s.trys.push([0,2,,3]);t=h({},nq.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 /*#__PURE__*/i(function(){var t,n,r;return M(this,function(s){switch(s.label){case 0:s.trys.push([0,2,,3]);t=e.map(function(e){return h({},nq.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 /*#__PURE__*/i(function(){var t,n;return M(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 /*#__PURE__*/i(function(){var e,t,n;var r=arguments;return M(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 /*#__PURE__*/i(function(){var e,t,n;var r=arguments;return M(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 /*#__PURE__*/i(function(){var n,r;return M(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 /*#__PURE__*/i(function(){var n,r;return M(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 /*#__PURE__*/i(function(){var t,n;return M(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 /*#__PURE__*/i(function(){var t,n;return M(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}();U(nK,"MongoController");var nF=nK,nH=/*#__PURE__*/function(){function e(t){c(this,e);H(this,"model");this.model=t}u(e,[{key:"getModelName",value:function e(){return this.model.modelName}},{key:"findOne",value:function e(e){return /*#__PURE__*/i(function(){var e,t,n,r,s,i,o;var c=arguments;return M(this,function(a){switch(a.label){case 0:e=c.length>0&&c[0]!==void 0?c[0]:{},t=c.length>1&&c[1]!==void 0?c[1]:{},n=c.length>2&&c[2]!==void 0?c[2]:{},r=c.length>3?c[3]:void 0;a.label=1;case 1:a.trys.push([1,3,,4]);s=this.model.findOne(e,t,n);r&&s.populate(r);return[4,s.exec()];case 2:i=a.sent();return[2,i?{success:!0,result:i}:{success:!1,message:"No ".concat(this.getModelName()," found."),code:eo.NOT_FOUND.CODE}];case 3:o=a.sent();return[2,{success:!1,message:o.message,code:eo.INTERNAL_SERVER_ERROR.CODE}];case 4:return[2]}})}).apply(this,arguments)}},{key:"findAll",value:function e(e){return /*#__PURE__*/i(function(){var e,t,n,r,s,i,o;var c=arguments;return M(this,function(a){switch(a.label){case 0:e=c.length>0&&c[0]!==void 0?c[0]:{},t=c.length>1&&c[1]!==void 0?c[1]:{},n=c.length>2&&c[2]!==void 0?c[2]:{},r=c.length>3?c[3]:void 0;a.label=1;case 1:a.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=a.sent(),i)];case 3:o=a.sent();return[2,{success:!1,message:o.message,code:eo.INTERNAL_SERVER_ERROR.CODE}];case 4:return[2]}})}).apply(this,arguments)}},{key:"findPaging",value:function e(){return /*#__PURE__*/i(function(){var e,t,n,r;var s=arguments;return M(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:eo.INTERNAL_SERVER_ERROR.CODE}];case 4:return[2]}})}).apply(this,arguments)}},{key:"findPagingAggregate",value:function e(e){return /*#__PURE__*/i(function(e){var t,n,r;var s=arguments;return M(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:eo.INTERNAL_SERVER_ERROR.CODE}];case 4:return[2]}})}).apply(this,arguments)}},{key:"count",value:function e(){return /*#__PURE__*/i(function(){var e,t,n;var r=arguments;return M(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:eo.INTERNAL_SERVER_ERROR.CODE}];case 4:return[2]}})}).apply(this,arguments)}},{key:"createOne",value:function e(e){return /*#__PURE__*/i(function(){var t,n;return M(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:eo.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})}).call(this)}},{key:"createMany",value:function e(e){return /*#__PURE__*/i(function(e){var t,n,r;var s=arguments;return M(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,nR.Document)?e.toObject():null}).filter(function(e){return e!==null}),n)];case 3:r=i.sent();return[2,{success:!1,message:r.message,code:eo.INTERNAL_SERVER_ERROR.CODE}];case 4:return[2]}})}).apply(this,arguments)}},{key:"updateOne",value:function e(){return /*#__PURE__*/i(function(){var e,t,n,r,s;var i=arguments;return M(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:eo.NOT_FOUND.CODE}];case 3:s=o.sent();return[2,{success:!1,message:s.message,code:eo.INTERNAL_SERVER_ERROR.CODE}];case 4:return[2]}})}).apply(this,arguments)}},{key:"updateMany",value:function e(){return /*#__PURE__*/i(function(){var e,t,n,r,s;var i=arguments;return M(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:eo.INTERNAL_SERVER_ERROR.CODE}];case 4:return[2]}})}).apply(this,arguments)}},{key:"deleteOne",value:function e(){return /*#__PURE__*/i(function(){var e,t,n,r;var s=arguments;return M(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:eo.NOT_FOUND.CODE}];case 3:r=i.sent();return[2,{success:!1,message:r.message,code:eo.INTERNAL_SERVER_ERROR.CODE}];case 4:return[2]}})}).apply(this,arguments)}},{key:"deleteMany",value:function e(){return /*#__PURE__*/i(function(){var e,t,n,r;var s=arguments;return M(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:eo.NOT_FOUND.CODE}:{success:!0,result:n}];case 3:r=i.sent();return[2,{success:!1,message:r.message,code:eo.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 /*#__PURE__*/i(function(){var n,r,s,i;return M(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=nU(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:eo.INTERNAL_SERVER_ERROR.CODE}]}})}).call(this)}},{key:"createSlug",value:function e(e,t,n){return /*#__PURE__*/i(function(){var r,s,o,c,a,u,d,f,E,_;return M(this,function(p){switch(p.label){case 0:r=this;p.label=1;case 1:p.trys.push([1,5,,6]);s=t[e],o=nb(s),c=U(function(t){var r=h({},n!==null&&n!==void 0?n:{});return o?S(h({},r),{$or:[l({},"slug.".concat(e),t),{slugHistory:{$elemMatch:l({},"slug.".concat(e),t)}}]}):S(h({},r),{$or:[{slug:t},{slugHistory:t}]})},"generateSlugQuery"),a=U(function(e){return /*#__PURE__*/i(function(){var t,n;return M(this,function(r){switch(r.label){case 0:t=e,n=1;r.label=1;case 1:return[4,this.model.exists(c(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=R(e,2),n=t[0],r=t[1];return /*#__PURE__*/i(function(){var e,t;return M(this,function(s){switch(s.label){case 0:e=nj(r);t=[n];return[4,a(e)];case 1:return[2,t.concat([s.sent()])]}})})()}))];case 2:return[2,(u.result=d.apply(Object,[p.sent()]),u)];case 3:f=nj(s);E={success:!0};return[4,a(f)];case 4:return[2,(E.result=p.sent(),E)];case 5:_=p.sent();return[2,{success:!1,message:"Failed to create a unique slug: ".concat(_.message),code:eo.INTERNAL_SERVER_ERROR.CODE}];case 6:return[2]}})}).call(this)}},{key:"aggregate",value:function e(e){return /*#__PURE__*/i(function(){var t,n;return M(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:eo.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})}).call(this)}}]);return e}();U(nH,"MongooseController");var nY=nH;var nB=require("graphql-ws/use/ws"),nW=require("ws");function nV(e){return new nW.WebSocketServer({server:e.server,path:e.path})}U(nV,"createWSServer");function nJ(e){return(0,nB.useServer)({schema:e.schema},e.server)}U(nJ,"initGraphQLWS");0&&(module.exports={BUILD_DIRECTORY:BUILD_DIRECTORY,CHECK_PACKAGE_EMPTY_RESULT:CHECK_PACKAGE_EMPTY_RESULT,COMMIT_LINT_CLI:COMMIT_LINT_CLI,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,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,checkPackage:checkPackage,clearAllErrorLists:clearAllErrorLists,command:command,copySync:copySync,createApolloServer:createApolloServer,createCors:createCors,createExpress:createExpress,createGitHooksConfig:createGitHooksConfig,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,writeFileSync:writeFileSync,writeJsonSync:writeJsonSync});
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 c=e[i](o);var a=c.value}catch(e){n(e);return}if(c.done){t(a)}else{Promise.resolve(a).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 c(e){s(o,r,i,c,a,"next",e)}function a(e){s(o,r,i,c,a,"throw",e)}c(undefined)})}}function o(e,t,n){t=d(t);return C(e,P()?Reflect.construct(t,n||[],d(e).constructor):t.apply(e,n))}function c(e,t){if(!(e instanceof t)){throw new TypeError("Cannot call a class as a function")}}function a(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)a(e.prototype,t);if(n)a(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 _(e){if(typeof Symbol!=="undefined"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function p(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,c;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;c=e}finally{try{if(!s&&n["return"]!=null)n["return"]()}finally{if(i)throw c}}return r}function g(){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 m(){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 S(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 y(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 R(e,n){return t(e)||p(e,n)||N(e,n)||g()}function A(e){return n(e)||_(e)||N(e)||m()}function T(e){"@swc/helpers - typeof";return e&&typeof Symbol!=="undefined"&&e.constructor===Symbol?"symbol":typeof e}function N(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 P(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(P=function(){return!!e})()}function M(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=c(0),o["throw"]=c(1),o["return"]=c(2),typeof Symbol==="function"&&(o[Symbol.iterator]=function(){return this}),o;function c(e){return function(t){return a([e,t])}}function a(c){if(n)throw new TypeError("Generator is already executing.");while(o&&(o=0,c[0]&&(i=0)),i)try{if(n=1,r&&(s=c[0]&2?r["return"]:c[0]?r["throw"]||((s=r["return"])&&s.call(r),0):r.next)&&!(s=s.call(r,c[1])).done)return s;if(r=0,s)c=[c[0]&2,s.value];switch(c[0]){case 0:case 1:s=c;break;case 4:i.label++;return{value:c[1],done:false};case 5:i.label++;r=c[1];c=[0];continue;case 7:c=i.ops.pop();i.trys.pop();continue;default:if(!(s=i.trys,s=s.length>0&&s[s.length-1])&&(c[0]===6||c[0]===2)){i=0;continue}if(c[0]===3&&(!s||c[1]>s[0]&&c[1]<s[3])){i.label=c[1];break}if(c[0]===6&&i.label<s[1]){i.label=s[1];s=c;break}if(s&&i.label<s[2]){i.label=s[2];i.ops.push(c);break}if(s[2])i.ops.pop();i.trys.pop();continue}c=t.call(e,i)}catch(e){c=[6,e];r=0}finally{n=s=0}if(c[0]&5)throw c[1];return{value:c[0]?c[1]:void 0,done:true}}}var G=Object.create;var b=Object.defineProperty;var L=Object.getOwnPropertyDescriptor;var D=Object.getOwnPropertyNames;var x=Object.getPrototypeOf,w=Object.prototype.hasOwnProperty;var j=function(e,t,n){return t in e?b(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n};var U=function(e,t){return b(e,"name",{value:t,configurable:!0})};var k=function(e,t){for(var n in t)b(e,n,{get:t[n],enumerable:!0})},q=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 c=function(){var s=u.value;!w.call(e,s)&&s!==n&&b(e,s,{get:function(){return t[s]},enumerable:!(r=L(t,s))||r.enumerable})};for(var a=D(t)[Symbol.iterator](),u;!(s=(u=a.next()).done);s=true)c()}catch(e){i=true;o=e}finally{try{if(!s&&a.return!=null){a.return()}}finally{if(i){throw o}}}return e};var K=function(e,t,n){return n=e!=null?G(x(e)):{},q(t||!e||!e.__esModule?b(n,"default",{value:e,enumerable:!0}):n,e)},F=function(e){return q(b({},"__esModule",{value:!0}),e)};var H=function(e,t,n){return j(e,(typeof t==="undefined"?"undefined":T(t))!="symbol"?t+"":t,n)};var Y={};k(Y,{BUILD_DIRECTORY:function(){return eQ},CHECK_PACKAGE_EMPTY_RESULT:function(){return eS},COMMIT_LINT_CLI:function(){return ts},COMMIT_LINT_PACKAGE_NAME:function(){return tr},CYBERSKILL_CLI:function(){return e8},CYBERSKILL_CLI_PATH:function(){return e6},CYBERSKILL_DIRECTORY:function(){return e5},CYBERSKILL_PACKAGE_NAME:function(){return eV},C_Collection:function(){return nO},C_Db:function(){return ng},C_Document:function(){return nh},C_Model:function(){return nS},ESLINT_CLI:function(){return e9},ESLINT_INSPECT_CLI:function(){return tg},ESLINT_INSPECT_PACKAGE_NAME:function(){return tp},ESLINT_PACKAGE_NAME:function(){return e7},E_CommandType:function(){return eg},E_IssueType:function(){return Q},GIT_CLI:function(){return tl},GIT_COMMIT_EDITMSG:function(){return e4},GIT_HOOK:function(){return e2},GIT_IGNORE:function(){return eZ},LINT_STAGED_CLI:function(){return to},LINT_STAGED_PACKAGE_NAME:function(){return ti},MIGRATE_MONGO_CLI:function(){return tS},MIGRATE_MONGO_CONFIG:function(){return e3},MIGRATE_MONGO_PACKAGE_NAME:function(){return tv},MONGO_MIGRATE_OPTIONS:function(){return nf},MongoController:function(){return nF},MongooseController:function(){return nY},NODE_MODULES:function(){return eJ},NODE_MODULES_INSPECT_CLI:function(){return th},NODE_MODULES_INSPECT_PACKAGE_NAME:function(){return tm},PACKAGE_JSON:function(){return e$},PACKAGE_LOCK_JSON:function(){return eX},PATH:function(){return ty},PLAYWRIGHT_PACKAGE_NAME:function(){return tt},PNPM_CLI:function(){return td},PNPM_EXEC_CLI:function(){return tf},PNPM_LOCK_YAML:function(){return e1},Router:function(){return ns.Router},SIMPLE_GIT_HOOKS_PACKAGE_NAME:function(){return tE},SIMPLE_GIT_HOOK_CLI:function(){return t_},SIMPLE_GIT_HOOK_JSON:function(){return e0},TSCONFIG_JSON:function(){return ez},TSC_CLI:function(){return ta},TSC_PACKAGE_NAME:function(){return tc},TSX_CLI:function(){return tu},VITEST_CLI:function(){return tn},VITEST_PACKAGE_NAME:function(){return te},WORKING_DIRECTORY:function(){return eW},aggregatePaginate:function(){return nA.default},appendFileSync:function(){return eG},checkPackage:function(){return tP},clearAllErrorLists:function(){return tK},command:function(){return tR},copySync:function(){return eU},createApolloServer:function(){return ed},createCors:function(){return nl},createExpress:function(){return nd},createGitHooksConfig:function(){return tO},createWSServer:function(){return nV},express:function(){return nc.default},expressMiddleware:function(){return W.expressMiddleware},formatCommand:function(){return tV},fs:function(){return eI},getLatestPackageVersion:function(){return tN},getPackage:function(){return tT},getStoredErrorLists:function(){return tq},initGraphQLWS:function(){return nJ},installDependencies:function(){return tM},join:function(){return eY},logNodeJS:function(){return el},lstatSync:function(){return eA},mkdirSync:function(){return eN},mongo:function(){return nq},mongoosePaginate:function(){return nT.default},path:function(){return eK},pathExistsSync:function(){return ew},rawCommand:function(){return tB},readFileSync:function(){return eP},readJsonSync:function(){return eD},readdirSync:function(){return eT},removeSync:function(){return ej},resolve:function(){return eH},resolveCommands:function(){return tJ},resolveWorkingPath:function(){return eF},runCommand:function(){return tQ},setupPackages:function(){return tG},statSync:function(){return eL},storageNodeJS:function(){return tx},throwError:function(){return ea},unlinkSync:function(){return eb},writeFileSync:function(){return eM},writeJsonSync:function(){return ex}});module.exports=F(Y);var B=require("@apollo/server"),W=require("@apollo/server/express4"),V=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 $=K(require("chalk"),1),X=K(require("consola"),1),z=require("graphql");var Z=".cyberskill-storage";var ee=K(require("dotenv"),1),et=require("envalid"),en=K(require("os"),1),er=K(require("path"),1),es=K(require("process"),1);ee.default.config();function ei(){var e={DEBUG:es.default.env.DEBUG||!1,CWD:es.default.env.CWD||es.default.cwd(),CYBERSKILL_STORAGE_DIRECTORY:es.default.env.CYBERSKILL_STORAGE_DIRECTORY||er.default.join(en.default.homedir(),Z)};return(0,et.cleanEnv)(e,{DEBUG:(0,et.bool)(),CWD:(0,et.str)(),CYBERSKILL_STORAGE_DIRECTORY:(0,et.str)()})}U(ei,"getEnv");var eo={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 ec=ei();function ea(e){var t=e.message,n=e.status,r=n===void 0?eo.INTERNAL_SERVER_ERROR:n,s=e.type,i=s===void 0?"graphql":s;var o;var c=(o=t!==null&&t!==void 0?t:r.MESSAGE)!==null&&o!==void 0?o:"Internal server error";throw i==="graphql"?new z.GraphQLError(c,{extensions:{code:r.CODE}}):new Error(c)}U(ea,"throwError");ec.DEBUG||(X.default.level=4);function eu(e){var t=$.default[e];return typeof t=="function"?t:$.default.green}U(eu,"chalkKeyword");var el={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(eu(n)("Rule:")," ").concat(s)),X.default.log(" ".concat(eu(n)("Message:")," ").concat(i))}),X.default.box(eu(n)("".concat(e," : ").concat(t.length))),X.default.log($.default.gray("─".repeat(40)))}};function ed(e){return new B.ApolloServer(h({schema:e.schema,plugins:[e.isDev?(0,J.ApolloServerPluginLandingPageLocalDefault)():(0,J.ApolloServerPluginLandingPageProductionDefault)(),(0,V.ApolloServerPluginDrainHttpServer)({httpServer:e.server})].concat(A(e.drainServer?[{serverWillStart:function t(){return /*#__PURE__*/i(function(){return M(this,function(t){return[2,{drainServer:function t(){return /*#__PURE__*/i(function(){var t;return M(this,function(n){(t=e.drainServer)===null||t===void 0?void 0:t.call(e),el.info("Apollo Server drainServer hook called");return[2]})})()}}]})})()}}]:[]))},e.isDev&&{introspection:!0,includeStacktraceInErrorResponses:!0}))}U(ed,"createApolloServer");var ef=K(require("process"),1),eE=require("yargs/helpers"),e_=K(require("yargs/yargs"),1);var ep={name:"@cyberskill/shared",type:"module",version:"1.111.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/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"},"./nodejs":{types:"./dist/nodejs/index.d.ts",import:"./dist/nodejs/index.js",require:"./dist/nodejs/index.cjs"},"./nodejs/apollo-server":{types:"./dist/nodejs/apollo-server/index.d.ts",import:"./dist/nodejs/apollo-server/index.js",require:"./dist/nodejs/apollo-server/index.cjs"},"./nodejs/cli":{types:"./dist/nodejs/cli/index.d.ts",import:"./dist/nodejs/cli/index.js",require:"./dist/nodejs/cli/index.cjs"},"./nodejs/command":{types:"./dist/nodejs/command/index.d.ts",import:"./dist/nodejs/command/index.js",require:"./dist/nodejs/command/index.cjs"},"./nodejs/express":{types:"./dist/nodejs/express/index.d.ts",import:"./dist/nodejs/express/index.js",require:"./dist/nodejs/express/index.cjs"},"./nodejs/fs":{types:"./dist/nodejs/fs/index.d.ts",import:"./dist/nodejs/fs/index.js",require:"./dist/nodejs/fs/index.cjs"},"./nodejs/log":{types:"./dist/nodejs/log/index.d.ts",import:"./dist/nodejs/log/index.js",require:"./dist/nodejs/log/index.cjs"},"./nodejs/mongo":{types:"./dist/nodejs/mongo/index.d.ts",import:"./dist/nodejs/mongo/index.js",require:"./dist/nodejs/mongo/index.cjs"},"./nodejs/package":{types:"./dist/nodejs/package/index.d.ts",import:"./dist/nodejs/package/index.js",require:"./dist/nodejs/package/index.cjs"},"./nodejs/path":{types:"./dist/nodejs/path/index.d.ts",import:"./dist/nodejs/path/index.js",require:"./dist/nodejs/path/index.cjs"},"./nodejs/storage":{types:"./dist/nodejs/storage/index.d.ts",import:"./dist/nodejs/storage/index.js",require:"./dist/nodejs/storage/index.cjs"},"./nodejs/ws":{types:"./dist/nodejs/ws/index.d.ts",import:"./dist/nodejs/ws/index.js",require:"./dist/nodejs/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/nodejs/cli/index.js"},files:["dist","public"],scripts:{build:"tsup",dev:"dotenv -e .env -- tsup --watch",lint:"dotenv -e .env -- tsx src/nodejs/cli/index.ts lint","lint:fix":"dotenv -e .env -- tsx src/nodejs/cli/index.ts lint:fix","lint:inspect":"dotenv -e .env -- tsx src/nodejs/cli/index.ts lint:inspect",reset:"dotenv -e .env -- tsx src/nodejs/cli/index.ts reset",setup:"dotenv -e .env -- tsx src/nodejs/cli/index.ts setup",inspect:"dotenv -e .env -- tsx src/nodejs/cli/index.ts inspect","test:unit":"dotenv -e .env -- tsx src/nodejs/cli/index.ts test:unit","test:e2e":"dotenv -e .env -- tsx src/nodejs/cli/index.ts test:e2e",commitlint:"dotenv -e .env -- tsx src/nodejs/cli/index.ts commitlint","lint-staged":"dotenv -e .env -- tsx src/nodejs/cli/index.ts lint-staged"},dependencies:{"@antfu/eslint-config":"4.12.0","@apollo/client":"3.13.8","@apollo/server":"4.12.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.5","@next/eslint-plugin-next":"15.3.1","@swc/core":"1.11.22","@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",chalk:"5.4.1",classnames:"2.5.1",compression:"1.8.0",consola:"3.4.2",cors:"2.8.5","crypto-js":"4.2.0","date-fns":"4.1.0",dotenv:"16.5.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-device":"0.4.2","express-session":"1.18.1","fs-extra":"11.3.0",globals:"16.0.0",graphql:"16.10.0","graphql-ws":"6.0.4",i18next:"25.0.1",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.0","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",ora:"8.2.0",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.3",typescript:"5.8.3",unorm:"1.6.0",uuid:"11.1.0",vite:"6.3.3",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","@eslint/config-inspector":"1.0.2","@types/compression":"1.7.5","@types/cors":"2.8.17","@types/crypto-js":"4.2.2","@types/express":"4.17.21","@types/express-session":"1.18.1","@types/fs-extra":"11.0.4","@types/migrate-mongo":"10.0.5","@types/mongoose-aggregate-paginate-v2":"1.0.12","@types/node-persist":"3.1.8","@types/react":"19.1.2","@types/react-dom":"19.1.2","@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 eg=function(e){return e.CLI="CLI",e.STRING="STRING",e.FUNCTION="FUNCTION",e}({});var em=require("child_process"),eh=K(require("process"),1),ev=K(require("util"),1);var eS={isCurrentProject:!1,installedPath:"",file:{},isUpToDate:!1};var ey=K(require("node-fetch"),1);var eO=K(require("fs-extra"),1),eC=require("path");var eI=eO.default,eR=eO.default,eA=eR.lstatSync,eT=eR.readdirSync,eN=eR.mkdirSync,eP=eR.readFileSync,eM=eR.writeFileSync,eG=eR.appendFileSync,eb=eR.unlinkSync,eL=eR.statSync,eD=eO.default.readJsonSync,ex=eO.default.writeJsonSync;function ew(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}return t.every(function(e){return eO.default.pathExistsSync(e)})}U(ew,"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){ew(e)&&eO.default.removeSync(e)})}U(ej,"removeSync");function eU(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};var r=n.extensions,s=y(n,["extensions"]);eO.default.copySync(e,t,h({filter:U(function(e){return eL(e).isDirectory()||!r||r.length===0?!0:r.includes((0,eC.extname)(e))},"filter")},s))}U(eU,"copySync");var ek=K(require("path"),1);var eq=ei(),eK=ek.default;function eF(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}return(0,ek.resolve).apply(this,[eq.CWD].concat(A(t)))}U(eF,"resolveWorkingPath");function eH(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}return(0,ek.resolve).apply(this,A(t))}U(eH,"resolve");function eY(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}return(0,ek.join).apply(this,A(t))}U(eY,"join");var eB=ei(),eW=eB.CWD,eV="@cyberskill/shared",eJ="node_modules",eQ="dist",e$="package.json",eX="package-lock.json",ez="tsconfig.json",eZ=".gitignore",e0=".simple-git-hooks.json",e1="pnpm-lock.yaml",e2=".git/hooks/",e4=".git/COMMIT_EDITMSG",e3=".migrate-mongo.config.js",e5=eY(eW,eJ,eV,eQ),e8="cyberskill",e6="src/nodejs/cli/index.ts",e7="eslint",e9="eslint",te="vitest",tt="playwright",tn="vitest",tr="@commitlint/cli",ts="commitlint",ti="lint-staged",to="lint-staged",tc="typescript",ta="tsc",tu="tsx",tl="git",td="pnpm",tf="pnpm exec",tE="simple-git-hooks",t_="simple-git-hooks",tp="@eslint/config-inspector",tg="eslint-config-inspector",tm="node-modules-inspector",th="node-modules-inspector",tv="migrate-mongo",tS="./node_modules/migrate-mongo/bin/migrate-mongo",ty={CYBERSKILL_DIRECTORY:e5,WORKING_DIRECTORY:eW,TS_CONFIG:eF(ez),GIT_IGNORE:eF(eZ),GIT_HOOK:eF(e2),GIT_COMMIT_MSG:eF(e4),SIMPLE_GIT_HOOKS_JSON:eF(e0),PACKAGE_JSON:eF(e$),PACKAGE_LOCK_JSON:eF(eX),PNPM_LOCK_YAML:eF(e1),NODE_MODULES:eF(eJ),MIGRATE_MONGO_CONFIG:eF(e3),LINT_STAGED_CONFIG:eF("".concat(e5,"/configs/lint-staged/base.js")),COMMITLINT_CONFIG:eF("".concat(e5,"/configs/commitlint/base.js")),UNIT_TEST_CONFIG:eF("".concat(e5,"/react/vitest/vitest.unit.js")),UNIT_TEST_SETUP_CONFIG:eF("".concat(e5,"/react/vitest/vitest.unit.setup.js")),E2E_TEST_CONFIG:eF("".concat(e5,"/react/vitest/vitest.e2e.js"))};function tO(e){var t=e.isCurrentProject;return h({"pre-commit":to,"commit-msg":ts},t&&{"pre-push":tB("".concat(tl," pull"))})}U(tO,"createGitHooksConfig");function tC(e,t,n){return /*#__PURE__*/i(function(){return M(this,function(r){switch(r.label){case 0:if(!t)throw new Error("'first' argument is undefined");switch(e){case eg.CLI:return[3,1];case eg.STRING:return[3,3]}return[3,4];case 1:return[4,tG(t.split(" "),{update:!0})];case 2:return[2,(r.sent(),tV(tB("".concat(tf," ").concat(n))))];case 3:return[2,tV(tB(t))];case 4:throw new Error("Unsupported command type");case 5:return[2]}})})()}U(tC,"buildCommand");function tI(e,t,n){return function(){return /*#__PURE__*/i(function(){return M(this,function(r){return[2,tC(e,t,n)]})})()}}U(tI,"commandFactory");var tR={simpleGitHooks:tI(eg.CLI,tE,t_),eslintInspect:tI(eg.CLI,tp,tg),nodeModulesInspect:tI(eg.CLI,tm,th),eslintCheck:tI(eg.CLI,e7,"".concat(e9," ").concat(ty.WORKING_DIRECTORY)),eslintFix:tI(eg.CLI,e7,"".concat(e9," ").concat(ty.WORKING_DIRECTORY," --fix")),typescriptCheck:tI(eg.CLI,tc,"".concat(ta," -p ").concat(ty.TS_CONFIG," --noEmit")),configureGitHook:tI(eg.STRING,"".concat(tl," config core.hooksPath ").concat(ty.GIT_HOOK)),testUnit:tI(eg.CLI,te,"".concat(tn," --config ").concat(ty.UNIT_TEST_CONFIG)),testE2e:tI(eg.CLI,"".concat(te," ").concat(tt),"".concat(tn," --config ").concat(ty.E2E_TEST_CONFIG)),mongoMigrateCreate:U(function(e){return tI(eg.CLI,tv,"".concat(tu," ").concat(tS," create ").concat(e," -f ").concat(ty.MIGRATE_MONGO_CONFIG))()},"mongoMigrateCreate"),mongoMigrateUp:tI(eg.CLI,tv,"".concat(tu," ").concat(tS," up -f ").concat(ty.MIGRATE_MONGO_CONFIG)),mongoMigrateDown:tI(eg.CLI,tv,"".concat(tu," ").concat(tS," down -f ").concat(ty.MIGRATE_MONGO_CONFIG)),commitLint:tI(eg.CLI,tr,"".concat(ts," --edit ").concat(ty.GIT_COMMIT_MSG," --config ").concat(ty.COMMITLINT_CONFIG)),lintStaged:tI(eg.CLI,ti,"".concat(to," --config ").concat(ty.LINT_STAGED_CONFIG)),stageBuildDirectory:tI(eg.STRING,"".concat(tl," add ").concat(eQ)),build:tI(eg.STRING,"".concat(td," run build")),pnpmInstallStandard:tI(eg.STRING,"".concat(td," install")),pnpmInstallLegacy:tI(eg.STRING,"".concat(td," install --legacy-peer-deps")),pnpmInstallForce:tI(eg.STRING,"".concat(td," install --force"))};var tA=ei();function tT(e){var t=eY(tA.CWD,e$);if(!ew(t))return!1;try{var n=eD(t),r=n.name,s=n.dependencies,i=s===void 0?{}:s,o=n.devDependencies,c=o===void 0?{}:o,a=r===e,u=e in i,l=e in c;return a||u||l?{path:t,file:n,isCurrentProject:a,isDepend:u,isDevDepend:l}:!1}catch(e){return el.warn("Failed to read package.json: ".concat(e.message)),!1}}U(tT,"getPackage");function tN(e){return /*#__PURE__*/i(function(){var t,n,r,s;return M(this,function(i){switch(i.label){case 0:i.trys.push([0,3,,4]);return[4,(0,ey.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 el.error('Failed to fetch version for "'.concat(e,'": ').concat(s.message)),s;case 4:return[2]}})})()}U(tN,"getLatestPackageVersion");function tP(e,t){return /*#__PURE__*/i(function(){var n,r,s,i,o,c,a,u,l,d,f,E,_,p,g,m,v,S,y,O,C;return M(this,function(I){switch(I.label){case 0:I.trys.push([0,4,,5]);n=tT(e);if(!n)return[2,h({},eS)];a=n.path,u=n.file,l=n.isCurrentProject,d=n.isDepend,f=n.isDevDepend,E=(r=u.dependencies)!==null&&r!==void 0?r:{},_=(s=u.devDependencies)!==null&&s!==void 0?s:{},p=l?(i=u.version)!==null&&i!==void 0?i:"0.0.0":d?(o=E[e])!==null&&o!==void 0?o:"0.0.0":f?(c=_[e])!==null&&c!==void 0?c:"0.0.0":"0.0.0";if(!l)return[3,1];v=p;return[3,3];case 1:return[4,tN(e)];case 2:v=I.sent();I.label=3;case 3:g=v,m=l||p===g;if(!m&&(t===null||t===void 0?void 0:t.update)){;y=d?"dependencies":f?"devDependencies":null;y&&((S=u[y])===null||S===void 0?void 0:S[e])!==g&&(u[y]=(O=u[y])!==null&&O!==void 0?O:{},u[y][e]=g,ex(a,u),el.info('Updated "'.concat(e,'" to version ').concat(g)))}return[2,{isCurrentProject:l,installedPath:a,file:u,isUpToDate:m}];case 4:C=I.sent();return[2,(el.error('Error checking package "'.concat(e,'": ').concat(C.message)),h({},eS))];case 5:return[2]}})})()}U(tP,"checkPackage");function tM(){return /*#__PURE__*/i(function(){var e,t,n,r,s,i,o,c,a,u,l,d;return M(this,function(f){switch(f.label){case 0:e=[{command:U(function(){return tR.pnpmInstallStandard()},"command"),message:"Installing dependencies (standard)"},{command:U(function(){return tR.pnpmInstallLegacy()},"command"),message:"Retrying with legacy peer dependencies"},{command:U(function(){return tR.pnpmInstallForce()},"command"),message:"Retrying with force install"}];t=true,n=false,r=undefined;f.label=1;case 1:f.trys.push([1,9,10,11]);s=e[Symbol.iterator]();f.label=2;case 2:if(!!(t=(i=s.next()).done))return[3,8];o=i.value,c=o.command,a=o.message;f.label=3;case 3:f.trys.push([3,6,,7]);return[4,c()];case 4:u=f.sent();return[4,tQ("".concat(a," using: ").concat(u),u)];case 5:f.sent();return[2];case 6:l=f.sent();el.warn("Installation attempt failed: ".concat(a)),el.error("Details: ".concat(l.message));return[3,7];case 7:t=true;return[3,2];case 8:return[3,11];case 9:d=f.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:throw new Error("All dependency installation strategies failed.")}})})()}U(tM,"installDependencies");function tG(e,t){return /*#__PURE__*/i(function(){var n,r,s,i,o,c,a,u,l,d,f;return M(this,function(E){switch(E.label){case 0:if(!ew(ty.PACKAGE_JSON)){el.error("package.json not found. Aborting setup.");return[2]}E.label=1;case 1:E.trys.push([1,13,,14]);n=A(new Set(e)).sort();return[4,Promise.all(n.map(function(e){return tP(e,h({},(t===null||t===void 0?void 0:t.update)&&{update:t.update}))}))];case 2:r=E.sent().every(function(e){return e.isUpToDate});if(r)return[3,4];return[4,tM()];case 3:r=E.sent();E.label=4;case 4:r;i=true,o=false,c=undefined;E.label=5;case 5:E.trys.push([5,10,11,12]);a=((s=t===null||t===void 0?void 0:t.postInstallActions)!==null&&s!==void 0?s:[])[Symbol.iterator]();E.label=6;case 6:if(!!(i=(u=a.next()).done))return[3,9];l=u.value;return[4,l()];case 7:E.sent();E.label=8;case 8:i=true;return[3,6];case 9:return[3,12];case 10:d=E.sent();o=true;c=d;return[3,12];case 11:try{if(!i&&a.return!=null){a.return()}}finally{if(o){throw c}}return[7];case 12:return[3,14];case 13:f=E.sent();throw el.error('Failed to setup "'.concat(e.join(", "),'": ').concat(f.message)),f;case 14:return[2]}})})()}U(tG,"setupPackages");var tb=K(require("node-persist"),1);var tL=ei();function tD(){return /*#__PURE__*/i(function(){var e;return M(this,function(t){switch(t.label){case 0:e=tb.default.defaultInstance;if(e)return[3,2];return[4,tb.default.init({dir:tL.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]}})})()}U(tD,"initNodePersist");var tx={get:function e(e){return /*#__PURE__*/i(function(){var t,n;return M(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,tD()];case 1:r.sent();return[4,tb.default.getItem(e)];case 2:return[2,(t=r.sent())!==null&&t!==void 0?t:null];case 3:n=r.sent();return[2,(el.error('[Storage:get] Error getting key "'.concat(e,'":'),n),null)];case 4:return[2]}})})()},set:function e(e,t){return /*#__PURE__*/i(function(){var n;return M(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,tD()];case 1:r.sent();return[4,tb.default.setItem(e,t)];case 2:r.sent();return[3,4];case 3:n=r.sent();el.error('[Storage:set] Error setting key "'.concat(e,'":'),n);return[3,4];case 4:return[2]}})})()},remove:function e(e){return /*#__PURE__*/i(function(){var t;return M(this,function(n){switch(n.label){case 0:n.trys.push([0,3,,4]);return[4,tD()];case 1:n.sent();return[4,tb.default.removeItem(e)];case 2:n.sent();return[3,4];case 3:t=n.sent();el.error('[Storage:remove] Error removing key "'.concat(e,'":'),t);return[3,4];case 4:return[2]}})})()},keys:function e(){return /*#__PURE__*/i(function(){var e,t;return M(this,function(n){switch(n.label){case 0:n.trys.push([0,3,,4]);return[4,tD()];case 1:n.sent();return[4,tb.default.keys()];case 2:e=n.sent();return[2,Array.isArray(e)?e:(el.warn("[Storage:keys] Invalid keys response:",e),[])];case 3:t=n.sent();return[2,(el.error("[Storage:keys] Error getting keys:",t),[])];case 4:return[2]}})})()},getLogLink:function e(e){return /*#__PURE__*/i(function(){return M(this,function(t){try{return[2,"".concat(tL.CYBERSKILL_STORAGE_DIRECTORY," (key: ").concat(e,")")]}catch(e){return[2,(el.error("[Storage:getLogLink] Error getting log link:",e),null)]}return[2]})})()}};var tw=ei(),tj=ev.promisify(em.exec);function tU(e){return"error_list:".concat(e)}U(tU,"getErrorListKey");function tk(e){return /*#__PURE__*/i(function(){var t,n,r;return M(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,tx.set(n,{errors:e,timestamp:t})];case 2:s.sent(),setTimeout(function(){return /*#__PURE__*/i(function(){var e;return M(this,function(t){switch(t.label){case 0:return[4,tx.getLogLink(n)];case 1:e=t.sent();e&&el.info("\uD83D\uDCC2 Open the error list manually: ".concat(e));return[2]}})})()},10);return[3,4];case 3:r=s.sent();el.error("Failed to save errors: ".concat(r.message));return[3,4];case 4:return[2]}})})()}U(tk,"saveErrorListToStorage");function tq(){return /*#__PURE__*/i(function(){var e,t,n;return M(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,tx.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 /*#__PURE__*/i(function(){var t;return M(this,function(n){switch(n.label){case 0:return[4,tx.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,(el.error("Failed to retrieve stored errors: ".concat(n.message)),[])];case 4:return[2]}})})()}U(tq,"getStoredErrorLists");function tK(){return /*#__PURE__*/i(function(){var e,t,n;return M(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,tx.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 tx.remove(e)}))];case 2:r.sent();return[3,4];case 3:n=r.sent();el.error("Failed to clear error lists: ".concat(n.message));return[3,4];case 4:return[2]}})})()}U(tK,"clearAllErrorLists");function tF(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 c,a,u,l,d;var f=s.exec(e)||[],E=i.exec(e)||[],_=o.exec(e)||[];var p,g,m,h,v,S;f.length&&r?t.push({file:r,position:"".concat(f[1],":").concat(f[2]),type:f[3]===Q.Error?Q.Error:Q.Warning,message:(p=f===null||f===void 0?void 0:(c=f[4])===null||c===void 0?void 0:c.trim())!==null&&p!==void 0?p:"",rule:(g=f===null||f===void 0?void 0:(a=f[5])===null||a===void 0?void 0:a.trim())!==null&&g!==void 0?g:""}):E.length?t.push({file:(m=E===null||E===void 0?void 0:E[1])!==null&&m!==void 0?m:"",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:""}):_.length?t.push({file:"commitlint",type:Q.Error,message:(v=_===null||_===void 0?void 0:(l=_[1])===null||l===void 0?void 0:l.trim())!==null&&v!==void 0?v:"",rule:(S=_===null||_===void 0?void 0:(d=_[2])===null||d===void 0?void 0:d.trim())!==null&&S!==void 0?S:""}):n.push(e.trim())}}),t.length&&tk(t),tw.DEBUG&&n.length&&(el.warn("Unmatched lines:"),n.forEach(function(e){return el.info(" ".concat(e))}))}U(tF,"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,c=e.message;n.push({type:r===2?Q.Error:Q.Warning,file:t,position:"".concat(s,":").concat(i),rule:o,message:c})})}),n.length&&tk(n)}catch(t){tF(e)}}U(tH,"parseCommandOutput");function tY(e){return /*#__PURE__*/i(function(e){var t,n,r,s,i,o,c,a,u;var l=arguments;return M(this,function(d){switch(d.label){case 0:t=l.length>1&&l[1]!==void 0?l[1]:tH;n=new AbortController;eh.default.on("SIGINT",function(){el.warn("Process interrupted. Terminating..."),n.abort(),eh.default.exit()});d.label=1;case 1:d.trys.push([1,4,,5]);if(!(typeof e=="string"))return[3,3];return[4,tj(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();c=o.stdout,a=o.stderr,u=o.message;[c,a].forEach(function(e){return e&&t(e)}),!a&&!c&&el.error("Command failed: ".concat(u));return[3,5];case 5:return[2]}})}).apply(this,arguments)}U(tY,"executeCommand");function tB(e){return{raw:!0,cmd:e}}U(tB,"rawCommand");function tW(e,t){return(t===null||t===void 0?void 0:t.isRemote)?"".concat(tf," ").concat(eV," ").concat(e):(t===null||t===void 0?void 0:t.isCurrentProject)?"".concat(tf," ").concat(tu," ").concat(e6," ").concat(e):"".concat(tf," ").concat(e8," ").concat(e)}U(tW,"formatCLI");function tV(e,t){return typeof e=="function"?tW(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"?tW(e,t):e}U(tV,"formatCommand");function tJ(e){return /*#__PURE__*/i(function(e){var t,n,r,s,i,o,c;var a=arguments;return M(this,function(u){switch(u.label){case 0:t=a.length>1&&a[1]!==void 0?a[1]:{};r=(n=t===null||t===void 0?void 0:t.isRemote)!==null&&n!==void 0?n:!1;if(!r)return[3,1];c=!1;return[3,3];case 1:return[4,tP(eV)];case 2:c=u.sent().isCurrentProject;u.label=3;case 3:s=c,i={isRemote:r,isCurrentProject:s},o=typeof e=="function"?e(i):e;return[2,Object.fromEntries(Object.entries(o).map(function(e){var t=R(e,2),n=t[0],r=t[1];return[n,tV(r,i)]}))]}})}).apply(this,arguments)}U(tJ,"resolveCommands");function tQ(e,t){return /*#__PURE__*/i(function(){var n;return M(this,function(r){switch(r.label){case 0:r.trys.push([0,2,,3]);el.start("".concat(e)),tw.DEBUG&&el.info("→ ".concat(t));return[4,tY(t)];case 1:r.sent(),el.success("".concat(e," done."));return[3,3];case 2:n=r.sent();throw el.error("".concat(e," failed: ").concat(n.message)),n;case 3:return[2]}})})()}U(tQ,"runCommand");function t$(){return /*#__PURE__*/i(function(){var e,t;return M(this,function(n){switch(n.label){case 0:if(!ew(ty.TS_CONFIG))return[3,3];t=["Performing TypeScript validation"];return[4,tR.typescriptCheck()];case 1:return[4,tQ.apply(void 0,t.concat([n.sent()]))];case 2:e=n.sent();return[3,4];case 3:e=el.warn("No TypeScript configuration found. Skipping type check.");n.label=4;case 4:e;return[2]}})})()}U(t$,"checkTypescript");function tX(){return /*#__PURE__*/i(function(){var e,t,n,r;var s=arguments;return M(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,tR.eslintFix()];case 1:return[4,tQ.apply(void 0,n.concat([i.sent()]))];case 2:t=i.sent();return[3,6];case 3:r=["Running ESLint check"];return[4,tR.eslintCheck()];case 4:return[4,tQ.apply(void 0,r.concat([i.sent()]))];case 5:t=i.sent();i.label=6;case 6:t;return[2]}})}).apply(this,arguments)}U(tX,"checkEslint");function tz(e,t){if(!t.length)return;var n=e==="Errors"?"red":"yellow";el.printBoxedLog(e==="Errors"?"✖ Errors":"⚠ Warnings",t,n)}U(tz,"printIssues");function tZ(){return /*#__PURE__*/i(function(){var e,t,n;return M(this,function(r){switch(r.label){case 0:return[4,tq()];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?el.printBoxedLog("✔ NO ISSUES FOUND",[],"green"):(tz("Warnings",n),tz("Errors",t),(t.length>0||n.length>0)&&ef.default.exit(1));return[2]}})})()}U(tZ,"showCheckResult");function t0(){return /*#__PURE__*/i(function(){var e,t,n,r,s,i;return M(this,function(o){switch(o.label){case 0:return[4,tK()];case 1:o.sent();return[4,tP(eV)];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(eV)];return[4,tR.build()];case 4:return[4,tQ.apply(void 0,n.concat([o.sent()]))];case 5:o.sent();r=["Staging build artifacts"];return[4,tR.stageBuildDirectory()];case 6:return[4,tQ.apply(void 0,r.concat([o.sent()]))];case 7:o.sent();return[3,9];case 8:s=o.sent();throw el.error("Error building and staging ".concat(eV,": ").concat(s.message)),s;case 9:i=["Executing lint-staged"];return[4,tR.lintStaged()];case 10:return[4,tQ.apply(void 0,i.concat([o.sent()]))];case 11:o.sent(),tZ();return[2]}})})()}U(t0,"lintStaged");function t1(){return /*#__PURE__*/i(function(){var e;return M(this,function(t){switch(t.label){case 0:e=["Inspecting ESLint configuration"];return[4,tR.eslintInspect()];case 1:return[4,tQ.apply(void 0,e.concat([t.sent()]))];case 2:t.sent();return[2]}})})()}U(t1,"inspectLint");function t2(){return /*#__PURE__*/i(function(){return M(this,function(e){switch(e.label){case 0:return[4,tK()];case 1:e.sent();return[4,Promise.all([t$(),tX()])];case 2:e.sent(),tZ();return[2]}})})()}U(t2,"lintCheck");function t4(){return /*#__PURE__*/i(function(){return M(this,function(e){switch(e.label){case 0:return[4,tK()];case 1:e.sent();return[4,Promise.all([t$(),tX(!0)])];case 2:e.sent(),tZ();return[2]}})})()}U(t4,"lintFix");function t3(){return /*#__PURE__*/i(function(){var e;return M(this,function(t){switch(t.label){case 0:return[4,tK()];case 1:t.sent();e=["Validating commit message"];return[4,tR.commitLint()];case 2:return[4,tQ.apply(void 0,e.concat([t.sent()]))];case 3:t.sent(),tZ();return[2]}})})()}U(t3,"commitLint");function t5(){return /*#__PURE__*/i(function(){var e,t,n,r;return M(this,function(s){switch(s.label){case 0:e=["Configuring Git hooks"];return[4,tR.configureGitHook()];case 1:return[4,tQ.apply(void 0,e.concat([s.sent()]))];case 2:s.sent(),ej(ty.GIT_HOOK);return[4,tJ(tO)];case 3:t=s.sent();ex(ty.SIMPLE_GIT_HOOKS_JSON,t);n="\n".concat(e0,"\n");ew(ty.GIT_IGNORE)?eP(ty.GIT_IGNORE,"utf-8").split("\n").includes(e0)||eG(ty.GIT_IGNORE,n,"utf-8"):eM(ty.GIT_IGNORE,n,"utf-8");r=["Setting up simple-git-hooks"];return[4,tR.simpleGitHooks()];case 4:return[4,tQ.apply(void 0,r.concat([s.sent()]))];case 5:s.sent();return[2]}})})()}U(t5,"setupGitHook");function t8(){return /*#__PURE__*/i(function(){return M(this,function(e){switch(e.label){case 0:return[4,tG([eV],{update:!0,postInstallActions:[t5]})];case 1:e.sent();return[2]}})})()}U(t8,"setup");function t6(){return /*#__PURE__*/i(function(){return M(this,function(e){switch(e.label){case 0:ej(ty.NODE_MODULES,ty.PNPM_LOCK_YAML);return[4,tM()];case 1:e.sent();return[4,t5()];case 2:e.sent();return[2]}})})()}U(t6,"reset");function t7(){return /*#__PURE__*/i(function(){var e;return M(this,function(t){switch(t.label){case 0:e=["Inspecting project dependencies"];return[4,tR.nodeModulesInspect()];case 1:return[4,tQ.apply(void 0,e.concat([t.sent()]))];case 2:t.sent();return[2]}})})()}U(t7,"inspect");function t9(){return /*#__PURE__*/i(function(){var e;return M(this,function(t){switch(t.label){case 0:e=["Running unit tests"];return[4,tR.testUnit()];case 1:return[4,tQ.apply(void 0,e.concat([t.sent()]))];case 2:t.sent();return[2]}})})()}U(t9,"testUnit");function ne(){return /*#__PURE__*/i(function(){var e;return M(this,function(t){switch(t.label){case 0:e=["Running end-to-end tests"];return[4,tR.testE2e()];case 1:return[4,tQ.apply(void 0,e.concat([t.sent()]))];case 2:t.sent();return[2]}})})()}U(ne,"testE2E");function nt(e){return /*#__PURE__*/i(function(){var t;return M(this,function(n){switch(n.label){case 0:t=["Creating MongoDB migration"];return[4,tR.mongoMigrateCreate(e)];case 1:return[4,tQ.apply(void 0,t.concat([n.sent()]))];case 2:n.sent();return[2]}})})()}U(nt,"mongoMigrateCreate");function nn(){return /*#__PURE__*/i(function(){var e;return M(this,function(t){switch(t.label){case 0:e=["Running MongoDB migrations"];return[4,tR.mongoMigrateUp()];case 1:return[4,tQ.apply(void 0,e.concat([t.sent()]))];case 2:t.sent();return[2]}})})()}U(nn,"mongoMigrateUp");function nr(){return /*#__PURE__*/i(function(){var e;return M(this,function(t){switch(t.label){case 0:e=["Rolling back MongoDB migration"];return[4,tR.mongoMigrateDown()];case 1:return[4,tQ.apply(void 0,e.concat([t.sent()]))];case 2:t.sent();return[2]}})})()}U(nr,"mongoMigrateDown");(function(){return /*#__PURE__*/i(function(){var e;return M(this,function(t){switch(t.label){case 0:t.trys.push([0,2,,3]);return[4,(0,e_.default)((0,eE.hideBin)(ef.default.argv)).scriptName(e8).usage("$0 <command> [options]").command("lint","Check code for linting issues",t2).command("lint:fix","Fix linting issues automatically",t4).command("lint:inspect","View active ESLint configuration",t1).command("lint-staged","Run lint checks on staged files",t0).command("commitlint","Validate commit message format",t3).command("setup","Initialize project setup and dependencies",t8).command("reset","Reset the project and reinstall dependencies",t6).command("inspect","Analyze installed project dependencies",t7).command("test:unit","Run unit test suite",t9).command("test:e2e","Run end-to-end test suite",ne).command("mongo:migrate:create <name>","Create a MongoDB migration",function(e){return e.positional("name",{describe:"Migration name",type:"string"})},function(e){return /*#__PURE__*/i(function(){return M(this,function(t){switch(t.label){case 0:if(!e.name){el.error("Migration name is required.");return[2]}return[4,nt(e.name)];case 1:t.sent();return[2]}})})()}).command("mongo:migrate:up","Apply all MongoDB migrations",nn).command("mongo:migrate:down","Rollback last MongoDB migration",nr).demandCommand(1,"Please specify a valid command.").strict().help().alias("h","help").alias("v","version").version(ep.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();el.error("Fatal: ".concat(e.message)),ef.default.exit(1);return[3,3];case 3:return[2]}})})()})();var ns=require("express");var ni=K(require("compression"),1),no=K(require("cors"),1),nc=K(require("express"),1),na=K(require("express-device"),1),nu=K(require("express-session"),1);function nl(e){var t=e.isDev,n=e.whiteList,r=y(e,["isDev","whiteList"]);return(0,no.default)(h({origin:U(function(e,r){t||(n===null||n===void 0?void 0:n.includes(e!==null&&e!==void 0?e:""))?r(null,!0):r(null,!1)},"origin"),credentials:!0},r))}U(nl,"createCors");function nd(e){var t=(0,nc.default)();return t.set("trust proxy",1),t.use(nc.default.urlencoded({extended:!0})),t.use((0,ni.default)()),t.use(na.default.capture()),e.staticFolder&&t.use(nc.default.static(e.staticFolder)),e.sessionOptions&&t.use((0,nu.default)(e.sessionOptions)),t}U(nd,"createExpress");var nf="MONGO_MIGRATE_OPTIONS";var nE=require("mongodb"),n_=require("mongoose");var np=/*#__PURE__*/function(e){f(t,e);function t(){c(this,t);return o(this,t,arguments)}return t}(nE.Db);U(np,"C_Db");var ng=np,nm=/*#__PURE__*/function(e){f(t,e);function t(){c(this,t);return o(this,t,arguments)}return t}(n_.Document);U(nm,"C_Document");var nh=nm,nv=/*#__PURE__*/function(e){f(t,e);function t(){c(this,t);return o(this,t,arguments)}return t}(n_.Model);U(nv,"C_Model");var nS=nv,ny=/*#__PURE__*/function(e){f(t,e);function t(){c(this,t);return o(this,t,arguments)}return t}(nE.Collection);U(ny,"C_Collection");var nO=ny;var nC=require("date-fns"),nI=K(require("migrate-mongo"),1),nR=require("mongoose"),nA=K(require("mongoose-aggregate-paginate-v2"),1),nT=K(require("mongoose-paginate-v2"),1),nN=require("uuid");var nP=K(require("unorm"),1);var nM={a:["\xe0","\xe1","ạ","ả","\xe3","\xe2","ầ","ấ","ậ","ẩ","ẫ","ă","ằ","ắ","ặ","ẳ","ẵ"],e:["\xe8","\xe9","ẹ","ẻ","ẽ","\xea","ề","ế","ệ","ể","ễ"],i:["\xec","\xed","ị","ỉ","ĩ"],o:["\xf2","\xf3","ọ","ỏ","\xf5","\xf4","ồ","ố","ộ","ổ","ỗ","ơ","ờ","ớ","ợ","ở","ỡ"],u:["\xf9","\xfa","ụ","ủ","ũ","ư","ừ","ứ","ự","ử","ữ"],y:["ỳ","\xfd","ỵ","ỷ","ỹ"],d:["đ"]},nG=Object.entries(nM).reduce(function(e,t){var n=R(t,2),r=n[0],s=n[1];return e[r.toUpperCase()]=s.map(function(e){return e.toUpperCase()}),e},{});function nb(e){return(typeof e==="undefined"?"undefined":T(e))=="object"&&e!==null&&!Array.isArray(e)}U(nb,"isObject");var nL=require("buffer");var nD=K(require("crypto-js"),1),nx=K(require("slugify"),1);var nw=nx.default.default||nx.default;function nj(e,t){var n=U(function(e){var n,r;return nw(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(nb(e)){var r={};var s=true,i=false,o=undefined;try{for(var c=Object.entries(e)[Symbol.iterator](),a;!(s=(a=c.next()).done);s=true){var u=R(a.value,2),l=u[0],d=u[1];r[l]=n(d)}}catch(e){i=true;o=e}finally{try{if(!s&&c.return!=null){c.return()}}finally{if(i){throw o}}}return r}return n(e)}U(nj,"generateSlug");function nU(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:4;return nD.default.SHA256(e).toString(nD.default.enc.Hex).slice(0,t)}U(nU,"generateShortId");var nk={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 nq={getDateTime:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:new Date;return(0,nC.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"?nq.getDateTime():new Date;return{id:(0,nN.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:nN.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 c=new t.Schema(n,{strict:!0});return s.forEach(function(e){var t=e.name,n=e.options,r=e.get;var s=c.virtual(t,n);r&&s.get(r)}),o||c.add(nq.createGenericSchema(t)),c},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,c=o===void 0?!1:o,a=e.virtuals,u=a===void 0?[]:a,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=nq.createSchema({mongoose:t,schema:r,virtuals:u});return nq.applyPlugins(f,[i&&nT.default,c&&nA.default]),nq.applyMiddlewares(f,d),t.model(n,f)},validator:{isEmpty:function e(){return function(e){return /*#__PURE__*/i(function(){return M(this,function(t){return[2,!nk.isEmpty(e)]})})()}},isUnique:function e(e){return function(t){return /*#__PURE__*/i(function(){var n;return M(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 /*#__PURE__*/i(function(){return M(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:S(h({},nI.default),{setConfig:U(function(e){var t="// This file is automatically generated by the Cyberskill CLI.\nmodule.exports = ".concat(JSON.stringify(e,null,4));eM(ty.MIGRATE_MONGO_CONFIG,t);var n="\n".concat(e3,"\n");ew(ty.GIT_IGNORE)?eP(ty.GIT_IGNORE,"utf-8").split("\n").includes(e3)||eG(ty.GIT_IGNORE,n,"utf-8"):eM(ty.GIT_IGNORE,n,"utf-8")},"setConfig")})},nK=/*#__PURE__*/function(){function e(t,n){c(this,e);H(this,"collection");this.collection=t.collection(n)}u(e,[{key:"createOne",value:function e(e){return /*#__PURE__*/i(function(){var t,n,r;return M(this,function(s){switch(s.label){case 0:s.trys.push([0,2,,3]);t=h({},nq.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 /*#__PURE__*/i(function(){var t,n,r;return M(this,function(s){switch(s.label){case 0:s.trys.push([0,2,,3]);t=e.map(function(e){return h({},nq.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 /*#__PURE__*/i(function(){var t,n;return M(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 /*#__PURE__*/i(function(){var e,t,n;var r=arguments;return M(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 /*#__PURE__*/i(function(){var e,t,n;var r=arguments;return M(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 /*#__PURE__*/i(function(){var n,r;return M(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 /*#__PURE__*/i(function(){var n,r;return M(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 /*#__PURE__*/i(function(){var t,n;return M(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 /*#__PURE__*/i(function(){var t,n;return M(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}();U(nK,"MongoController");var nF=nK,nH=/*#__PURE__*/function(){function e(t){c(this,e);H(this,"model");this.model=t}u(e,[{key:"getModelName",value:function e(){return this.model.modelName}},{key:"findOne",value:function e(e){return /*#__PURE__*/i(function(){var e,t,n,r,s,i,o;var c=arguments;return M(this,function(a){switch(a.label){case 0:e=c.length>0&&c[0]!==void 0?c[0]:{},t=c.length>1&&c[1]!==void 0?c[1]:{},n=c.length>2&&c[2]!==void 0?c[2]:{},r=c.length>3?c[3]:void 0;a.label=1;case 1:a.trys.push([1,3,,4]);s=this.model.findOne(e,t,n);r&&s.populate(r);return[4,s.exec()];case 2:i=a.sent();return[2,i?{success:!0,result:i}:{success:!1,message:"No ".concat(this.getModelName()," found."),code:eo.NOT_FOUND.CODE}];case 3:o=a.sent();return[2,{success:!1,message:o.message,code:eo.INTERNAL_SERVER_ERROR.CODE}];case 4:return[2]}})}).apply(this,arguments)}},{key:"findAll",value:function e(e){return /*#__PURE__*/i(function(){var e,t,n,r,s,i,o;var c=arguments;return M(this,function(a){switch(a.label){case 0:e=c.length>0&&c[0]!==void 0?c[0]:{},t=c.length>1&&c[1]!==void 0?c[1]:{},n=c.length>2&&c[2]!==void 0?c[2]:{},r=c.length>3?c[3]:void 0;a.label=1;case 1:a.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=a.sent(),i)];case 3:o=a.sent();return[2,{success:!1,message:o.message,code:eo.INTERNAL_SERVER_ERROR.CODE}];case 4:return[2]}})}).apply(this,arguments)}},{key:"findPaging",value:function e(){return /*#__PURE__*/i(function(){var e,t,n,r;var s=arguments;return M(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:eo.INTERNAL_SERVER_ERROR.CODE}];case 4:return[2]}})}).apply(this,arguments)}},{key:"findPagingAggregate",value:function e(e){return /*#__PURE__*/i(function(e){var t,n,r;var s=arguments;return M(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:eo.INTERNAL_SERVER_ERROR.CODE}];case 4:return[2]}})}).apply(this,arguments)}},{key:"count",value:function e(){return /*#__PURE__*/i(function(){var e,t,n;var r=arguments;return M(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:eo.INTERNAL_SERVER_ERROR.CODE}];case 4:return[2]}})}).apply(this,arguments)}},{key:"createOne",value:function e(e){return /*#__PURE__*/i(function(){var t,n;return M(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:eo.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})}).call(this)}},{key:"createMany",value:function e(e){return /*#__PURE__*/i(function(e){var t,n,r;var s=arguments;return M(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,nR.Document)?e.toObject():null}).filter(function(e){return e!==null}),n)];case 3:r=i.sent();return[2,{success:!1,message:r.message,code:eo.INTERNAL_SERVER_ERROR.CODE}];case 4:return[2]}})}).apply(this,arguments)}},{key:"updateOne",value:function e(){return /*#__PURE__*/i(function(){var e,t,n,r,s;var i=arguments;return M(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:eo.NOT_FOUND.CODE}];case 3:s=o.sent();return[2,{success:!1,message:s.message,code:eo.INTERNAL_SERVER_ERROR.CODE}];case 4:return[2]}})}).apply(this,arguments)}},{key:"updateMany",value:function e(){return /*#__PURE__*/i(function(){var e,t,n,r,s;var i=arguments;return M(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:eo.INTERNAL_SERVER_ERROR.CODE}];case 4:return[2]}})}).apply(this,arguments)}},{key:"deleteOne",value:function e(){return /*#__PURE__*/i(function(){var e,t,n,r;var s=arguments;return M(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:eo.NOT_FOUND.CODE}];case 3:r=i.sent();return[2,{success:!1,message:r.message,code:eo.INTERNAL_SERVER_ERROR.CODE}];case 4:return[2]}})}).apply(this,arguments)}},{key:"deleteMany",value:function e(){return /*#__PURE__*/i(function(){var e,t,n,r;var s=arguments;return M(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:eo.NOT_FOUND.CODE}:{success:!0,result:n}];case 3:r=i.sent();return[2,{success:!1,message:r.message,code:eo.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 /*#__PURE__*/i(function(){var n,r,s,i;return M(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=nU(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:eo.INTERNAL_SERVER_ERROR.CODE}]}})}).call(this)}},{key:"createSlug",value:function e(e,t,n){return /*#__PURE__*/i(function(){var r,s,o,c,a,u,d,f,E,_;return M(this,function(p){switch(p.label){case 0:r=this;p.label=1;case 1:p.trys.push([1,5,,6]);s=t[e],o=nb(s),c=U(function(t){var r=h({},n!==null&&n!==void 0?n:{});return o?S(h({},r),{$or:[l({},"slug.".concat(e),t),{slugHistory:{$elemMatch:l({},"slug.".concat(e),t)}}]}):S(h({},r),{$or:[{slug:t},{slugHistory:t}]})},"generateSlugQuery"),a=U(function(e){return /*#__PURE__*/i(function(){var t,n;return M(this,function(r){switch(r.label){case 0:t=e,n=1;r.label=1;case 1:return[4,this.model.exists(c(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=R(e,2),n=t[0],r=t[1];return /*#__PURE__*/i(function(){var e,t;return M(this,function(s){switch(s.label){case 0:e=nj(r);t=[n];return[4,a(e)];case 1:return[2,t.concat([s.sent()])]}})})()}))];case 2:return[2,(u.result=d.apply(Object,[p.sent()]),u)];case 3:f=nj(s);E={success:!0};return[4,a(f)];case 4:return[2,(E.result=p.sent(),E)];case 5:_=p.sent();return[2,{success:!1,message:"Failed to create a unique slug: ".concat(_.message),code:eo.INTERNAL_SERVER_ERROR.CODE}];case 6:return[2]}})}).call(this)}},{key:"aggregate",value:function e(e){return /*#__PURE__*/i(function(){var t,n;return M(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:eo.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})}).call(this)}}]);return e}();U(nH,"MongooseController");var nY=nH;var nB=require("graphql-ws/use/ws"),nW=require("ws");function nV(e){return new nW.WebSocketServer({server:e.server,path:e.path})}U(nV,"createWSServer");function nJ(e){return(0,nB.useServer)({schema:e.schema},e.server)}U(nJ,"initGraphQLWS");0&&(module.exports={BUILD_DIRECTORY:BUILD_DIRECTORY,CHECK_PACKAGE_EMPTY_RESULT:CHECK_PACKAGE_EMPTY_RESULT,COMMIT_LINT_CLI:COMMIT_LINT_CLI,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,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,checkPackage:checkPackage,clearAllErrorLists:clearAllErrorLists,command:command,copySync:copySync,createApolloServer:createApolloServer,createCors:createCors,createExpress:createExpress,createGitHooksConfig:createGitHooksConfig,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,writeFileSync:writeFileSync,writeJsonSync:writeJsonSync});