@cyberskill/shared 1.117.0 → 1.119.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.
Files changed (71) hide show
  1. package/dist/_tsup-dts-rollup.d.cts +7 -1
  2. package/dist/_tsup-dts-rollup.d.ts +7 -1
  3. package/dist/configs/config.util.cjs +1 -1
  4. package/dist/configs/config.util.js +1 -1
  5. package/dist/configs/env/env.util.cjs +1 -1
  6. package/dist/configs/env/env.util.d.cts +1 -0
  7. package/dist/configs/env/env.util.d.ts +1 -0
  8. package/dist/configs/env/env.util.js +1 -1
  9. package/dist/configs/env/index.cjs +1 -1
  10. package/dist/configs/env/index.d.cts +1 -0
  11. package/dist/configs/env/index.d.ts +1 -0
  12. package/dist/configs/env/index.js +1 -1
  13. package/dist/configs/graphql-codegen/graphql-codegen.util.cjs +1 -1
  14. package/dist/configs/graphql-codegen/graphql-codegen.util.js +1 -1
  15. package/dist/configs/graphql-codegen/index.cjs +1 -1
  16. package/dist/configs/graphql-codegen/index.js +1 -1
  17. package/dist/configs/index.cjs +1 -1
  18. package/dist/configs/index.d.cts +1 -0
  19. package/dist/configs/index.d.ts +1 -0
  20. package/dist/configs/index.js +1 -1
  21. package/dist/index.cjs +1 -1
  22. package/dist/index.d.cts +1 -0
  23. package/dist/index.d.ts +1 -0
  24. package/dist/index.js +1 -1
  25. package/dist/nodejs/apollo-server/apollo-server.util.cjs +1 -1
  26. package/dist/nodejs/apollo-server/apollo-server.util.js +1 -1
  27. package/dist/nodejs/apollo-server/index.cjs +1 -1
  28. package/dist/nodejs/apollo-server/index.js +1 -1
  29. package/dist/nodejs/cli/cli.util.cjs +1 -1
  30. package/dist/nodejs/cli/cli.util.js +1 -1
  31. package/dist/nodejs/cli/index.cjs +1 -1
  32. package/dist/nodejs/cli/index.js +1 -1
  33. package/dist/nodejs/command/command.util.cjs +1 -1
  34. package/dist/nodejs/command/command.util.js +1 -1
  35. package/dist/nodejs/command/index.cjs +1 -1
  36. package/dist/nodejs/command/index.js +1 -1
  37. package/dist/nodejs/index.cjs +1 -1
  38. package/dist/nodejs/index.js +1 -1
  39. package/dist/nodejs/log/index.cjs +1 -1
  40. package/dist/nodejs/log/index.js +1 -1
  41. package/dist/nodejs/log/log.util.cjs +1 -1
  42. package/dist/nodejs/log/log.util.js +1 -1
  43. package/dist/nodejs/mongo/index.cjs +1 -1
  44. package/dist/nodejs/mongo/index.js +1 -1
  45. package/dist/nodejs/mongo/mongo.util.cjs +1 -1
  46. package/dist/nodejs/mongo/mongo.util.js +1 -1
  47. package/dist/nodejs/package/index.cjs +1 -1
  48. package/dist/nodejs/package/index.js +1 -1
  49. package/dist/nodejs/package/package.util.cjs +1 -1
  50. package/dist/nodejs/package/package.util.js +1 -1
  51. package/dist/nodejs/path/index.cjs +1 -1
  52. package/dist/nodejs/path/index.js +1 -1
  53. package/dist/nodejs/path/path.constant.cjs +1 -1
  54. package/dist/nodejs/path/path.constant.js +1 -1
  55. package/dist/nodejs/path/path.util.cjs +1 -1
  56. package/dist/nodejs/path/path.util.js +1 -1
  57. package/dist/nodejs/storage/index.cjs +1 -1
  58. package/dist/nodejs/storage/index.js +1 -1
  59. package/dist/nodejs/storage/storage.util.cjs +1 -1
  60. package/dist/nodejs/storage/storage.util.js +1 -1
  61. package/dist/react/index.cjs +1 -1
  62. package/dist/react/index.js +1 -1
  63. package/dist/react/vitest/index.cjs +1 -1
  64. package/dist/react/vitest/index.js +1 -1
  65. package/dist/react/vitest/vitest.unit.cjs +1 -1
  66. package/dist/react/vitest/vitest.unit.js +1 -1
  67. package/package.json +17 -12
  68. package/dist/configs/env/env.d.cjs +0 -1
  69. package/dist/configs/env/env.d.d.cts +0 -1
  70. package/dist/configs/env/env.d.d.ts +0 -1
  71. package/dist/configs/env/env.d.js +0 -0
@@ -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 y(e,t){t=t!=null?t:{};if(Object.getOwnPropertyDescriptors){Object.defineProperties(e,Object.getOwnPropertyDescriptors(t))}else{v(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}function S(e,t){if(e==null)return{};var n=O(e,t);var r,s;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(s=0;s<i.length;s++){r=i[s];if(t.indexOf(r)>=0)continue;if(!Object.prototype.propertyIsEnumerable.call(e,r))continue;n[r]=e[r]}}return n}function O(e,t){if(e==null)return{};var n={};var r=Object.keys(e);var s,i;for(i=0;i<r.length;i++){s=r[i];if(t.indexOf(s)>=0)continue;n[s]=e[s]}return n}function C(e,t){if(t&&(T(t)==="object"||typeof t==="function")){return t}return r(e)}function I(e,t){I=Object.setPrototypeOf||function e(e,t){e.__proto__=t;return e};return I(e,t)}function 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 G(e,t){var n,r,s,i={label:0,sent:function(){if(s[0]&1)throw s[1];return s[1]},trys:[],ops:[]},o=Object.create((typeof Iterator==="function"?Iterator:Object).prototype);return o.next=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 M=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?M(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 ey},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 nN},C_Db:function(){return nO},C_Document:function(){return nI},C_Model:function(){return nA},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 ty},MIGRATE_MONGO_CONFIG:function(){return e3},MIGRATE_MONGO_PACKAGE_NAME:function(){return tv},MONGO_MIGRATE_OPTIONS:function(){return nh},MongoController:function(){return nV},MongooseController:function(){return nQ},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 tS},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 nb.default},appendFileSync:function(){return eM},bodyParser:function(){return no.default},checkPackage:function(){return tP},clearAllErrorLists:function(){return tK},command:function(){return tR},copySync:function(){return eU},createApolloServer:function(){return ed},createCors:function(){return n_},createCorsOptions:function(){return nE},createExpress:function(){return ng},createGitHooksConfig:function(){return tO},createNest:function(){return nm},createSession:function(){return np},createWSServer:function(){return nz},express:function(){return nl.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 nZ},installDependencies:function(){return tG},join:function(){return eY},logNodeJS:function(){return el},lstatSync:function(){return eA},mkdirSync:function(){return eN},mongo:function(){return nB},mongoosePaginate:function(){return nL.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 tM},statSync:function(){return eL},storageNodeJS:function(){return tx},throwError:function(){return ea},unlinkSync:function(){return eb},writeFileSync:function(){return eG},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("@dotenvx/dotenvx"),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 G(this,function(t){return[2,{drainServer:function t(){return /*#__PURE__*/i(function(){var t;return G(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.116.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:"dotenvx run -- tsup --watch",lint:"dotenvx run -- tsx src/nodejs/cli/index.ts lint","lint:fix":"dotenvx run -- tsx src/nodejs/cli/index.ts lint:fix","lint:inspect":"dotenvx run -- tsx src/nodejs/cli/index.ts lint:inspect",reset:"dotenvx run -- tsx src/nodejs/cli/index.ts reset",setup:"dotenvx run -- tsx src/nodejs/cli/index.ts setup",inspect:"dotenvx run -- tsx src/nodejs/cli/index.ts inspect","test:unit":"dotenvx run -- tsx src/nodejs/cli/index.ts test:unit","test:e2e":"dotenvx run -- tsx src/nodejs/cli/index.ts test:e2e",commitlint:"dotenvx run -- tsx src/nodejs/cli/index.ts commitlint","lint-staged":"dotenvx run -- 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","@dotenvx/dotenvx":"1.41.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","@nestjs/common":"11.1.0","@nestjs/core":"11.1.0","@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","body-parser":"2.2.0",chalk:"5.4.1",classnames:"2.5.1",compression:"1.8.0",consola:"3.4.2","cookie-parser":"1.4.7",cors:"2.8.5","crypto-js":"4.2.0","date-fns":"4.1.0","dotenv-cli":"8.0.0",envalid:"8.0.0","eslint-config-next":"15.3.1","eslint-plugin-format":"1.0.1","eslint-plugin-react-hooks":"5.2.0","eslint-plugin-react-refresh":"0.4.20",express:"4.21.2","express-device":"0.4.2","express-session":"1.18.1","fs-extra":"11.3.0",globals:"16.0.0",graphql:"16.11.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",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/cookie-parser":"1.4.8","@types/cors":"2.8.17","@types/crypto-js":"4.2.2","@types/express":"4.17.21","@types/express-session":"1.18.1","@types/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 ey={isCurrentProject:!1,installedPath:"",file:{},isUpToDate:!1};var eS=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,eG=eR.writeFileSync,eM=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=S(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",ty="./node_modules/migrate-mongo/bin/migrate-mongo",tS={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 G(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,tM(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 G(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(tS.WORKING_DIRECTORY)),eslintFix:tI(eg.CLI,e7,"".concat(e9," ").concat(tS.WORKING_DIRECTORY," --fix")),typescriptCheck:tI(eg.CLI,tc,"".concat(ta," -p ").concat(tS.TS_CONFIG," --noEmit")),configureGitHook:tI(eg.STRING,"".concat(tl," config core.hooksPath ").concat(tS.GIT_HOOK)),testUnit:tI(eg.CLI,te,"".concat(tn," --config ").concat(tS.UNIT_TEST_CONFIG)),testE2e:tI(eg.CLI,"".concat(te," ").concat(tt),"".concat(tn," --config ").concat(tS.E2E_TEST_CONFIG)),mongoMigrateCreate:U(function(e){return tI(eg.CLI,tv,"".concat(tu," ").concat(ty," create ").concat(e," -f ").concat(tS.MIGRATE_MONGO_CONFIG))()},"mongoMigrateCreate"),mongoMigrateUp:tI(eg.CLI,tv,"".concat(tu," ").concat(ty," up -f ").concat(tS.MIGRATE_MONGO_CONFIG)),mongoMigrateDown:tI(eg.CLI,tv,"".concat(tu," ").concat(ty," down -f ").concat(tS.MIGRATE_MONGO_CONFIG)),commitLint:tI(eg.CLI,tr,"".concat(ts," --edit ").concat(tS.GIT_COMMIT_MSG," --config ").concat(tS.COMMITLINT_CONFIG)),lintStaged:tI(eg.CLI,ti,"".concat(to," --config ").concat(tS.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 G(this,function(i){switch(i.label){case 0:i.trys.push([0,3,,4]);return[4,(0,eS.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,y,S,O,C;return G(this,function(I){switch(I.label){case 0:I.trys.push([0,4,,5]);n=tT(e);if(!n)return[2,h({},ey)];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)){;S=d?"dependencies":f?"devDependencies":null;S&&((y=u[S])===null||y===void 0?void 0:y[e])!==g&&(u[S]=(O=u[S])!==null&&O!==void 0?O:{},u[S][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({},ey))];case 5:return[2]}})})()}U(tP,"checkPackage");function tG(){return /*#__PURE__*/i(function(){var e,t,n,r,s,i,o,c,a,u,l,d;return G(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(tG,"installDependencies");function tM(e,t){return /*#__PURE__*/i(function(){var n,r,s,i,o,c,a,u,l,d,f;return G(this,function(E){switch(E.label){case 0:if(!ew(tS.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,tG()];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(tM,"setupPackages");var tb=K(require("node-persist"),1);var tL=ei();function tD(){return /*#__PURE__*/i(function(){var e;return G(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 G(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 G(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 G(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 G(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 G(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 G(this,function(s){switch(s.label){case 0:if(e.length===0)return[2];t=Date.now(),n=tU(t);s.label=1;case 1:s.trys.push([1,3,,4]);return[4,tx.set(n,{errors:e,timestamp:t})];case 2:s.sent(),setTimeout(function(){return /*#__PURE__*/i(function(){var e;return G(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 G(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 G(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 G(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,y;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:(y=_===null||_===void 0?void 0:(d=_[2])===null||d===void 0?void 0:d.trim())!==null&&y!==void 0?y:""}):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 G(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 G(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 G(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 G(this,function(n){switch(n.label){case 0:if(!ew(tS.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 G(this,function(i){switch(i.label){case 0:e=s.length>0&&s[0]!==void 0?s[0]:!1;if(!e)return[3,3];n=["Running ESLint with auto-fix"];return[4,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 G(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 G(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 G(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 G(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 G(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 G(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 G(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(tS.GIT_HOOK);return[4,tJ(tO)];case 3:t=s.sent();ex(tS.SIMPLE_GIT_HOOKS_JSON,t);n="\n".concat(e0,"\n");ew(tS.GIT_IGNORE)?eP(tS.GIT_IGNORE,"utf-8").split("\n").includes(e0)||eM(tS.GIT_IGNORE,n,"utf-8"):eG(tS.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 G(this,function(e){switch(e.label){case 0:return[4,tM([eV],{update:!0,postInstallActions:[t5]})];case 1:e.sent();return[2]}})})()}U(t8,"setup");function t6(){return /*#__PURE__*/i(function(){return G(this,function(e){switch(e.label){case 0:ej(tS.NODE_MODULES,tS.PNPM_LOCK_YAML);return[4,tG()];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 G(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 G(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 G(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 G(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 G(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 G(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 G(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 G(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=require("@nestjs/core"),no=K(require("body-parser"),1),nc=K(require("compression"),1),na=K(require("cookie-parser"),1),nu=K(require("cors"),1),nl=K(require("express"),1),nd=K(require("express-device"),1),nf=K(require("express-session"),1);function nE(e){var t=e.isDev,n=e.whiteList,r=S(e,["isDev","whiteList"]);return 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(new Error("Not allowed by CORS"),!1)},"origin"),credentials:!0},r)}U(nE,"createCorsOptions");function n_(e){return(0,nu.default)(nE(e))}U(n_,"createCors");function np(e){return(0,nf.default)(e)}U(np,"createSession");function ng(e){var t=(0,nl.default)();return t.set("trust proxy",1),t.use((0,na.default)()),t.use(nl.default.urlencoded({extended:!0})),t.use((0,nc.default)()),t.use(nd.default.capture()),(e===null||e===void 0?void 0:e.staticFolder)&&t.use(nl.default.static(e.staticFolder)),t}U(ng,"createExpress");function nm(e){return /*#__PURE__*/i(function(){var t,n,r;return G(this,function(s){switch(s.label){case 0:return[4,ni.NestFactory.create(e.module)];case 1:r=s.sent();return[2,(r.getHttpAdapter().getInstance().set("trust proxy",1),r.use(nl.default.urlencoded({extended:!0})),r.use((0,na.default)()),r.use((0,nc.default)()),r.use(nd.default.capture()),e.staticFolder&&r.use(nl.default.static(e.staticFolder)),e.filters&&(t=r).useGlobalFilters.apply(t,A(e.filters)),e.pipes&&(n=r).useGlobalPipes.apply(n,A(e.pipes)),r)]}})})()}U(nm,"createNest");var nh="MONGO_MIGRATE_OPTIONS";var nv=require("mongodb"),ny=require("mongoose");var nS=/*#__PURE__*/function(e){f(t,e);function t(){c(this,t);return o(this,t,arguments)}return t}(nv.Db);U(nS,"C_Db");var nO=nS,nC=/*#__PURE__*/function(e){f(t,e);function t(){c(this,t);return o(this,t,arguments)}return t}(ny.Document);U(nC,"C_Document");var nI=nC,nR=/*#__PURE__*/function(e){f(t,e);function t(){c(this,t);return o(this,t,arguments)}return t}(ny.Model);U(nR,"C_Model");var nA=nR,nT=/*#__PURE__*/function(e){f(t,e);function t(){c(this,t);return o(this,t,arguments)}return t}(nv.Collection);U(nT,"C_Collection");var nN=nT;var nP=require("date-fns"),nG=K(require("migrate-mongo"),1),nM=require("mongoose"),nb=K(require("mongoose-aggregate-paginate-v2"),1),nL=K(require("mongoose-paginate-v2"),1),nD=require("uuid");var nx=K(require("unorm"),1);var nw={a:["\xe0","\xe1","ạ","ả","\xe3","\xe2","ầ","ấ","ậ","ẩ","ẫ","ă","ằ","ắ","ặ","ẳ","ẵ"],e:["\xe8","\xe9","ẹ","ẻ","ẽ","\xea","ề","ế","ệ","ể","ễ"],i:["\xec","\xed","ị","ỉ","ĩ"],o:["\xf2","\xf3","ọ","ỏ","\xf5","\xf4","ồ","ố","ộ","ổ","ỗ","ơ","ờ","ớ","ợ","ở","ỡ"],u:["\xf9","\xfa","ụ","ủ","ũ","ư","ừ","ứ","ự","ử","ữ"],y:["ỳ","\xfd","ỵ","ỷ","ỹ"],d:["đ"]},nj=Object.entries(nw).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 nU(e){return(typeof e==="undefined"?"undefined":T(e))=="object"&&e!==null&&!Array.isArray(e)}U(nU,"isObject");var nk=K(require("crypto-js"),1),nq=K(require("slugify"),1);var nK=nq.default.default||nq.default;function nF(e,t){var n=U(function(e){var n,r;return nK(e!==null&&e!==void 0?e:"",h({lower:(n=t===null||t===void 0?void 0:t.lower)!==null&&n!==void 0?n:!0,locale:(r=t===null||t===void 0?void 0:t.locale)!==null&&r!==void 0?r:"vi"},t))},"slugifyWithOptions");if(nU(e)){var r={};var s=true,i=false,o=undefined;try{for(var 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(nF,"generateSlug");function nH(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:4;return nk.default.SHA256(e).toString(nk.default.enc.Hex).slice(0,t)}U(nH,"generateShortId");var nY={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 nB={getDateTime:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:new Date;return(0,nP.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"?nB.getDateTime():new Date;return{id:(0,nD.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:nD.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(nB.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=nB.createSchema({mongoose:t,schema:r,virtuals:u});return nB.applyPlugins(f,[i&&nL.default,c&&nb.default]),nB.applyMiddlewares(f,d),t.model(n,f)},validator:{isEmpty:function e(){return function(e){return /*#__PURE__*/i(function(){return G(this,function(t){return[2,!nY.isEmpty(e)]})})()}},isUnique:function e(e){return function(t){return /*#__PURE__*/i(function(){var n;return G(this,function(r){switch(r.label){case 0:if(!Array.isArray(e)||e.length===0)throw new Error("Fields must be a non-empty array of strings.");n={$or:e.map(function(e){return l({},e,t)})};return[4,this.constructor.exists(n)];case 1:return[2,!r.sent()]}})}).call(this)}},matchesRegex:function e(e){return function(t){return /*#__PURE__*/i(function(){return G(this,function(n){if(!Array.isArray(e)||e.some(function(e){return!E(e,RegExp)}))throw new Error("regexArray must be an array of valid RegExp objects.");return[2,e.every(function(e){return e.test(t)})]})})()}}},migrate:y(h({},nG.default),{setConfig:U(function(e){var t="// This file is automatically generated by the Cyberskill CLI.\nmodule.exports = ".concat(JSON.stringify(e,null,4));eG(tS.MIGRATE_MONGO_CONFIG,t);var n="\n".concat(e3,"\n");ew(tS.GIT_IGNORE)?eP(tS.GIT_IGNORE,"utf-8").split("\n").includes(e3)||eM(tS.GIT_IGNORE,n,"utf-8"):eG(tS.GIT_IGNORE,n,"utf-8")},"setConfig")})},nW=/*#__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 G(this,function(s){switch(s.label){case 0:s.trys.push([0,2,,3]);t=h({},nB.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 G(this,function(s){switch(s.label){case 0:s.trys.push([0,2,,3]);t=e.map(function(e){return h({},nB.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 G(this,function(r){switch(r.label){case 0:r.trys.push([0,2,,3]);return[4,this.collection.findOne(e)];case 1:t=r.sent();return[2,t?{success:!0,message:"Document found",result:t}:{success:!1,message:"Document not found"}];case 2:n=r.sent();return[2,{success:!1,message:n.message}];case 3:return[2]}})}).call(this)}},{key:"findAll",value:function e(){return /*#__PURE__*/i(function(){var e,t,n;var r=arguments;return G(this,function(s){switch(s.label){case 0:e=r.length>0&&r[0]!==void 0?r[0]:{};s.label=1;case 1:s.trys.push([1,3,,4]);t={success:!0,message:"Documents retrieved successfully"};return[4,this.collection.find(e).toArray()];case 2:return[2,(t.result=s.sent(),t)];case 3:n=s.sent();return[2,{success:!1,message:n.message}];case 4:return[2]}})}).apply(this,arguments)}},{key:"count",value:function e(){return /*#__PURE__*/i(function(){var e,t,n;var r=arguments;return G(this,function(s){switch(s.label){case 0:e=r.length>0&&r[0]!==void 0?r[0]:{};s.label=1;case 1:s.trys.push([1,3,,4]);t={success:!0,message:"Count retrieved successfully"};return[4,this.collection.countDocuments(e)];case 2:return[2,(t.result=s.sent(),t)];case 3:n=s.sent();return[2,{success:!1,message:n.message}];case 4:return[2]}})}).apply(this,arguments)}},{key:"updateOne",value:function e(e,t){return /*#__PURE__*/i(function(){var n,r;return G(this,function(s){switch(s.label){case 0:s.trys.push([0,2,,3]);return[4,this.collection.updateOne(e,{$set:t})];case 1:n=s.sent();return[2,n.matchedCount===0?{success:!1,message:"No documents matched the filter"}:{success:!0,message:"Document updated successfully",result:n}];case 2:r=s.sent();return[2,{success:!1,message:r.message}];case 3:return[2]}})}).call(this)}},{key:"updateMany",value:function e(e,t){return /*#__PURE__*/i(function(){var n,r;return G(this,function(s){switch(s.label){case 0:s.trys.push([0,2,,3]);return[4,this.collection.updateMany(e,{$set:t})];case 1:n=s.sent();return[2,n.matchedCount===0?{success:!1,message:"No documents matched the filter"}:{success:!0,message:"Documents updated successfully",result:n}];case 2:r=s.sent();return[2,{success:!1,message:r.message}];case 3:return[2]}})}).call(this)}},{key:"deleteOne",value:function e(e){return /*#__PURE__*/i(function(){var t,n;return G(this,function(r){switch(r.label){case 0:r.trys.push([0,2,,3]);return[4,this.collection.deleteOne(e)];case 1:t=r.sent();return[2,t.deletedCount===0?{success:!1,message:"No documents matched the filter"}:{success:!0,message:"Document deleted successfully",result:t}];case 2:n=r.sent();return[2,{success:!1,message:n.message}];case 3:return[2]}})}).call(this)}},{key:"deleteMany",value:function e(e){return /*#__PURE__*/i(function(){var t,n;return G(this,function(r){switch(r.label){case 0:r.trys.push([0,2,,3]);return[4,this.collection.deleteMany(e)];case 1:t=r.sent();return[2,t.deletedCount===0?{success:!1,message:"No documents matched the filter"}:{success:!0,message:"Documents deleted successfully",result:t}];case 2:n=r.sent();return[2,{success:!1,message:n.message}];case 3:return[2]}})}).call(this)}}]);return e}();U(nW,"MongoController");var nV=nW,nJ=/*#__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 G(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 G(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 G(this,function(i){switch(i.label){case 0:e=s.length>0&&s[0]!==void 0?s[0]:{},t=s.length>1&&s[1]!==void 0?s[1]:{};i.label=1;case 1:i.trys.push([1,3,,4]);n={success:!0};return[4,this.model.paginate(e,t)];case 2:return[2,(n.result=i.sent(),n)];case 3:r=i.sent();return[2,{success:!1,message:r.message,code: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 G(this,function(i){switch(i.label){case 0:t=s.length>1&&s[1]!==void 0?s[1]:{};i.label=1;case 1:i.trys.push([1,3,,4]);n={success:!0};return[4,this.model.aggregatePaginate(this.model.aggregate(e),t)];case 2:return[2,(n.result=i.sent(),n)];case 3:r=i.sent();return[2,{success:!1,message:r.message,code: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 G(this,function(s){switch(s.label){case 0:e=r.length>0&&r[0]!==void 0?r[0]:{};s.label=1;case 1:s.trys.push([1,3,,4]);t={success:!0};return[4,this.model.countDocuments(e)];case 2:return[2,(t.result=s.sent(),t)];case 3:n=s.sent();return[2,{success:!1,message:n.message,code: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 G(this,function(r){switch(r.label){case 0:r.trys.push([0,2,,3]);t={success:!0};return[4,this.model.create(e)];case 1:return[2,(t.result=r.sent(),t)];case 2:n=r.sent();return[2,{success:!1,message:n.message,code: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 G(this,function(i){switch(i.label){case 0:t=s.length>1&&s[1]!==void 0?s[1]:{};i.label=1;case 1:i.trys.push([1,3,,4]);n={success:!0};return[4,this.model.insertMany(e,t)];case 2:return[2,(n.result=i.sent().map(function(e){return E(e,nM.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 G(this,function(o){switch(o.label){case 0:e=i.length>0&&i[0]!==void 0?i[0]:{},t=i.length>1&&i[1]!==void 0?i[1]:{},n=i.length>2&&i[2]!==void 0?i[2]:{};o.label=1;case 1:o.trys.push([1,3,,4]);return[4,this.model.findOneAndUpdate(e,t,h({new:!0},n)).exec()];case 2:r=o.sent();return[2,r?{success:!0,result:r}:{success:!1,message:"Failed to update ".concat(this.getModelName(),"."),code: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 G(this,function(o){switch(o.label){case 0:e=i.length>0&&i[0]!==void 0?i[0]:{},t=i.length>1&&i[1]!==void 0?i[1]:{},n=i.length>2&&i[2]!==void 0?i[2]:{};o.label=1;case 1:o.trys.push([1,3,,4]);r={success:!0};return[4,this.model.updateMany(e,t,n).exec()];case 2:return[2,(r.result=o.sent(),r)];case 3:s=o.sent();return[2,{success:!1,message:s.message,code: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 G(this,function(i){switch(i.label){case 0:e=s.length>0&&s[0]!==void 0?s[0]:{},t=s.length>1&&s[1]!==void 0?s[1]:{};i.label=1;case 1:i.trys.push([1,3,,4]);return[4,this.model.findOneAndDelete(e,t).exec()];case 2:n=i.sent();return[2,n?{success:!0,result:n}:{success:!1,message:"No ".concat(this.getModelName()," found to delete."),code: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 G(this,function(i){switch(i.label){case 0:e=s.length>0&&s[0]!==void 0?s[0]:{},t=s.length>1&&s[1]!==void 0?s[1]:{};i.label=1;case 1:i.trys.push([1,3,,4]);return[4,this.model.deleteMany(e,t).exec()];case 2:n=i.sent();return[2,n.deletedCount===0?{success:!1,message:"No documents found to delete.",code: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 G(this,function(o){switch(o.label){case 0:n=new Set;r=0;o.label=1;case 1:if(!(r<10))return[3,5];s=nH(e,r+t);i=!n.has(s);if(!i)return[3,3];n.add(s);return[4,this.model.exists({shortId:s})];case 2:i=!o.sent();o.label=3;case 3:if(i)return[2,{success:!0,result:s}];o.label=4;case 4:r++;return[3,1];case 5:return[2,{success:!1,message:"Failed to create a unique shortId",code: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 G(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=nU(s),c=U(function(t){var r=h({},n!==null&&n!==void 0?n:{});return o?y(h({},r),{$or:[l({},"slug.".concat(e),t),{slugHistory:{$elemMatch:l({},"slug.".concat(e),t)}}]}):y(h({},r),{$or:[{slug:t},{slugHistory:t}]})},"generateSlugQuery"),a=U(function(e){return /*#__PURE__*/i(function(){var t,n;return G(this,function(r){switch(r.label){case 0:t=e,n=1;r.label=1;case 1:return[4,this.model.exists(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 G(this,function(s){switch(s.label){case 0:e=nF(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=nF(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 G(this,function(r){switch(r.label){case 0:r.trys.push([0,2,,3]);t={success:!0};return[4,this.model.aggregate(e)];case 1:return[2,(t.result=r.sent(),t)];case 2:n=r.sent();return[2,{success:!1,message:n.message,code:eo.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})}).call(this)}}]);return e}();U(nJ,"MongooseController");var nQ=nJ;var n$=require("graphql-ws/use/ws"),nX=require("ws");function nz(e){return new nX.WebSocketServer({server:e.server,path:e.path})}U(nz,"createWSServer");function nZ(e){return(0,n$.useServer)({schema:e.schema},e.server)}U(nZ,"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,bodyParser:bodyParser,checkPackage:checkPackage,clearAllErrorLists:clearAllErrorLists,command:command,copySync:copySync,createApolloServer:createApolloServer,createCors:createCors,createCorsOptions:createCorsOptions,createExpress:createExpress,createGitHooksConfig:createGitHooksConfig,createNest:createNest,createSession:createSession,createWSServer:createWSServer,express:express,expressMiddleware:expressMiddleware,formatCommand:formatCommand,fs:fs,getLatestPackageVersion:getLatestPackageVersion,getPackage:getPackage,getStoredErrorLists:getStoredErrorLists,initGraphQLWS:initGraphQLWS,installDependencies:installDependencies,join:join,logNodeJS:logNodeJS,lstatSync:lstatSync,mkdirSync:mkdirSync,mongo:mongo,mongoosePaginate:mongoosePaginate,path:path,pathExistsSync:pathExistsSync,rawCommand:rawCommand,readFileSync:readFileSync,readJsonSync:readJsonSync,readdirSync:readdirSync,removeSync:removeSync,resolve:resolve,resolveCommands:resolveCommands,resolveWorkingPath:resolveWorkingPath,runCommand:runCommand,setupPackages:setupPackages,statSync:statSync,storageNodeJS:storageNodeJS,throwError:throwError,unlinkSync:unlinkSync,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 y(e,t){t=t!=null?t:{};if(Object.getOwnPropertyDescriptors){Object.defineProperties(e,Object.getOwnPropertyDescriptors(t))}else{v(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}function S(e,t){if(e==null)return{};var n=O(e,t);var r,s;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(s=0;s<i.length;s++){r=i[s];if(t.indexOf(r)>=0)continue;if(!Object.prototype.propertyIsEnumerable.call(e,r))continue;n[r]=e[r]}}return n}function O(e,t){if(e==null)return{};var n={};var r=Object.keys(e);var s,i;for(i=0;i<r.length;i++){s=r[i];if(t.indexOf(s)>=0)continue;n[s]=e[s]}return n}function C(e,t){if(t&&(T(t)==="object"||typeof t==="function")){return t}return r(e)}function I(e,t){I=Object.setPrototypeOf||function e(e,t){e.__proto__=t;return e};return I(e,t)}function 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 G(e,t){var n,r,s,i={label:0,sent:function(){if(s[0]&1)throw s[1];return s[1]},trys:[],ops:[]},o=Object.create((typeof Iterator==="function"?Iterator:Object).prototype);return o.next=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 M=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 F=function(e,t,n){return n=e!=null?M(x(e)):{},q(t||!e||!e.__esModule?b(n,"default",{value:e,enumerable:!0}):n,e)},K=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 eX},CHECK_PACKAGE_EMPTY_RESULT:function(){return eO},COMMIT_LINT_CLI:function(){return to},COMMIT_LINT_PACKAGE_NAME:function(){return ti},CYBERSKILL_CLI:function(){return e7},CYBERSKILL_CLI_PATH:function(){return e9},CYBERSKILL_DIRECTORY:function(){return e6},CYBERSKILL_PACKAGE_NAME:function(){return eQ},C_Collection:function(){return nG},C_Db:function(){return nI},C_Document:function(){return nA},C_Model:function(){return nN},ESLINT_CLI:function(){return tt},ESLINT_INSPECT_CLI:function(){return th},ESLINT_INSPECT_PACKAGE_NAME:function(){return tm},ESLINT_PACKAGE_NAME:function(){return te},E_CommandType:function(){return eh},E_IssueType:function(){return Q},GIT_CLI:function(){return tf},GIT_COMMIT_EDITMSG:function(){return e5},GIT_HOOK:function(){return e3},GIT_IGNORE:function(){return e1},LINT_STAGED_CLI:function(){return ta},LINT_STAGED_PACKAGE_NAME:function(){return tc},MIGRATE_MONGO_CLI:function(){return tO},MIGRATE_MONGO_CONFIG:function(){return e8},MIGRATE_MONGO_PACKAGE_NAME:function(){return tS},MONGO_MIGRATE_OPTIONS:function(){return ny},MongoController:function(){return nQ},MongooseController:function(){return nX},NODE_MODULES:function(){return e$},NODE_MODULES_INSPECT_CLI:function(){return ty},NODE_MODULES_INSPECT_PACKAGE_NAME:function(){return tv},PACKAGE_JSON:function(){return ez},PACKAGE_LOCK_JSON:function(){return eZ},PATH:function(){return tC},PLAYWRIGHT_PACKAGE_NAME:function(){return tr},PNPM_CLI:function(){return tE},PNPM_EXEC_CLI:function(){return t_},PNPM_LOCK_YAML:function(){return e4},Router:function(){return no.Router},SIMPLE_GIT_HOOKS_PACKAGE_NAME:function(){return tp},SIMPLE_GIT_HOOK_CLI:function(){return tg},SIMPLE_GIT_HOOK_JSON:function(){return e2},TSCONFIG_JSON:function(){return e0},TSC_CLI:function(){return tl},TSC_PACKAGE_NAME:function(){return tu},TSX_CLI:function(){return td},VITEST_CLI:function(){return ts},VITEST_PACKAGE_NAME:function(){return tn},WORKING_DIRECTORY:function(){return eJ},aggregatePaginate:function(){return nD.default},appendFileSync:function(){return eL},bodyParser:function(){return na.default},checkPackage:function(){return tM},clearAllErrorLists:function(){return tH},command:function(){return tT},copySync:function(){return eq},createApolloServer:function(){return eE},createCors:function(){return ng},createCorsOptions:function(){return np},createExpress:function(){return nh},createGitHooksConfig:function(){return tI},createNest:function(){return nv},createSession:function(){return nm},createWSServer:function(){return n0},express:function(){return nf.default},expressMiddleware:function(){return W.expressMiddleware},formatCommand:function(){return tQ},fs:function(){return eA},getLatestPackageVersion:function(){return tG},getPackage:function(){return tP},getStoredErrorLists:function(){return tK},initGraphQLWS:function(){return n1},installDependencies:function(){return tb},join:function(){return eW},logNodeJS:function(){return ef},lstatSync:function(){return eN},mkdirSync:function(){return eG},mongo:function(){return nV},mongoosePaginate:function(){return nx.default},path:function(){return eH},pathExistsSync:function(){return eU},rawCommand:function(){return tV},readFileSync:function(){return eM},readJsonSync:function(){return ew},readdirSync:function(){return eP},removeSync:function(){return ek},resolve:function(){return eB},resolveCommands:function(){return t$},resolveWorkingPath:function(){return eY},runCommand:function(){return tX},setupPackages:function(){return tL},statSync:function(){return ex},storageNodeJS:function(){return tj},throwError:function(){return el},unlinkSync:function(){return eD},writeFileSync:function(){return eb},writeJsonSync:function(){return ej}});module.exports=K(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 $=F(require("chalk"),1),X=F(require("consola"),1),z=require("graphql");var Z=".cyberskill-storage";var ee=F(require("@dotenvx/dotenvx"),1),et=require("envalid"),en=F(require("os"),1),er=F(require("path"),1),es=F(require("process"),1);var ei=!1;function eo(){ei||(ee.default.config(),ei=!0)}U(eo,"loadEnvFile");function ec(){eo();var e=(0,et.cleanEnv)(es.default.env,{CWD:(0,et.str)({default:es.default.cwd()}),DEBUG:(0,et.bool)({default:!1}),CYBERSKILL_STORAGE_DIRECTORY:(0,et.str)({default:er.default.join(en.default.homedir(),Z)})});return{CWD:e.CWD,DEBUG:e.DEBUG,CYBERSKILL_STORAGE_DIRECTORY:e.CYBERSKILL_STORAGE_DIRECTORY}}U(ec,"getEnv");var ea={GRAPHQL_PARSE_FAILED:{CODE:"GRAPHQL_PARSE_FAILED",MESSAGE:"The GraphQL operation string contains a syntax error."},GRAPHQL_VALIDATION_FAILED:{CODE:"GRAPHQL_VALIDATION_FAILED",MESSAGE:"The GraphQL operation is not valid against the server's schema."},BAD_USER_INPUT:{CODE:"BAD_USER_INPUT",MESSAGE:"The GraphQL operation includes an invalid value for a field argument."},PERSISTED_QUERY_NOT_FOUND:{CODE:"PERSISTED_QUERY_NOT_FOUND",MESSAGE:"A client sent the hash of a query string to execute via automatic persisted queries, but the query was not in the APQ cache."},PERSISTED_QUERY_NOT_SUPPORTED:{CODE:"PERSISTED_QUERY_NOT_SUPPORTED",MESSAGE:"A client sent the hash of a query string to execute via automatic persisted queries, but the server has disabled APQ."},OPERATION_RESOLUTION_FAILURE:{CODE:"OPERATION_RESOLUTION_FAILURE",MESSAGE:"The request was parsed successfully and is valid against the server's schema, but the server couldn't resolve which operation to run. This occurs when a request containing multiple named operations doesn't specify which operation to run (i.e.,operationName), or if the named operation isn't included in the request."},CONTINUE:{CODE:100,MESSAGE:"Continue"},SWITCHING_PROTOCOLS:{CODE:101,MESSAGE:"Switching Protocols"},PROCESSING:{CODE:102,MESSAGE:"Processing"},OK:{CODE:200,MESSAGE:"OK"},CREATED:{CODE:201,MESSAGE:"Created"},ACCEPTED:{CODE:202,MESSAGE:"Accepted"},NON_AUTHORITATIVE_INFORMATION:{CODE:203,MESSAGE:"Non Authoritative Information"},NO_CONTENT:{CODE:204,MESSAGE:"No Content"},RESET_CONTENT:{CODE:205,MESSAGE:"Reset Content"},PARTIAL_CONTENT:{CODE:206,MESSAGE:"Partial Content"},MULTI_STATUS:{CODE:207,MESSAGE:"Multi-Status"},MULTIPLE_CHOICES:{CODE:300,MESSAGE:"Multiple Choices"},MOVED_PERMANENTLY:{CODE:301,MESSAGE:"Moved Permanently"},MOVED_TEMPORARILY:{CODE:302,MESSAGE:"Moved Temporarily"},SEE_OTHER:{CODE:303,MESSAGE:"See Other"},NOT_MODIFIED:{CODE:304,MESSAGE:"Not Modified"},USE_PROXY:{CODE:305,MESSAGE:"Use Proxy"},TEMPORARY_REDIRECT:{CODE:307,MESSAGE:"Temporary Redirect"},PERMANENT_REDIRECT:{CODE:308,MESSAGE:"Permanent Redirect"},BAD_REQUEST:{CODE:400,MESSAGE:"Bad Request"},UNAUTHORIZED:{CODE:401,MESSAGE:"Unauthorized"},PAYMENT_REQUIRED:{CODE:402,MESSAGE:"Payment Required"},FORBIDDEN:{CODE:403,MESSAGE:"Forbidden"},NOT_FOUND:{CODE:404,MESSAGE:"Not Found"},METHOD_NOT_ALLOWED:{CODE:405,MESSAGE:"Method Not Allowed"},NOT_ACCEPTABLE:{CODE:406,MESSAGE:"Not Acceptable"},PROXY_AUTHENTICATION_REQUIRED:{CODE:407,MESSAGE:"Proxy Authentication Required"},REQUEST_TIMEOUT:{CODE:408,MESSAGE:"Request Timeout"},CONFLICT:{CODE:409,MESSAGE:"Conflict"},GONE:{CODE:410,MESSAGE:"Gone"},LENGTH_REQUIRED:{CODE:411,MESSAGE:"Length Required"},PRECONDITION_FAILED:{CODE:412,MESSAGE:"Precondition Failed"},REQUEST_TOO_LONG:{CODE:413,MESSAGE:"Request Entity Too Large"},REQUEST_URI_TOO_LONG:{CODE:414,MESSAGE:"Request-URI Too Long"},UNSUPPORTED_MEDIA_TYPE:{CODE:415,MESSAGE:"Unsupported Media Type"},REQUESTED_RANGE_NOT_SATISFIABLE:{CODE:416,MESSAGE:"Requested Range Not Satisfiable"},EXPECTATION_FAILED:{CODE:417,MESSAGE:"Expectation Failed"},IM_A_TEAPOT:{CODE:418,MESSAGE:"I'm a teapot"},INSUFFICIENT_SPACE_ON_RESOURCE:{CODE:419,MESSAGE:"Insufficient Space on Resource"},METHOD_FAILURE:{CODE:420,MESSAGE:"Method Failure"},MISDIRECTED_REQUEST:{CODE:421,MESSAGE:"Misdirected Request"},UNPROCESSABLE_ENTITY:{CODE:422,MESSAGE:"Unprocessable Entity"},LOCKED:{CODE:423,MESSAGE:"Locked"},FAILED_DEPENDENCY:{CODE:424,MESSAGE:"Failed Dependency"},PRECONDITION_REQUIRED:{CODE:428,MESSAGE:"Precondition Required"},TOO_MANY_REQUESTS:{CODE:429,MESSAGE:"Too Many Requests"},REQUEST_HEADER_FIELDS_TOO_LARGE:{CODE:431,MESSAGE:"Request Header Fields Too Large"},UNAVAILABLE_FOR_LEGAL_REASONS:{CODE:451,MESSAGE:"Unavailable For Legal Reasons"},INTERNAL_SERVER_ERROR:{CODE:500,MESSAGE:"Internal Server Error"},NOT_IMPLEMENTED:{CODE:501,MESSAGE:"Not Implemented"},BAD_GATEWAY:{CODE:502,MESSAGE:"Bad Gateway"},SERVICE_UNAVAILABLE:{CODE:503,MESSAGE:"Service Unavailable"},GATEWAY_TIMEOUT:{CODE:504,MESSAGE:"Gateway Timeout"},HTTP_VERSION_NOT_SUPPORTED:{CODE:505,MESSAGE:"HTTP Version Not Supported"},INSUFFICIENT_STORAGE:{CODE:507,MESSAGE:"Insufficient Storage"},NETWORK_AUTHENTICATION_REQUIRED:{CODE:511,MESSAGE:"Network Authentication Required"}};var eu=ec();function el(e){var t=e.message,n=e.status,r=n===void 0?ea.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(el,"throwError");eu.DEBUG||(X.default.level=4);function ed(e){var t=$.default[e];return typeof t=="function"?t:$.default.green}U(ed,"chalkKeyword");var ef={silent:X.default.silent,level:X.default.level,fatal:X.default.fatal,error:X.default.error,warn:X.default.warn,log:X.default.log,info:X.default.info,success:X.default.success,ready:X.default.ready,start:X.default.start,box:X.default.box,debug:X.default.debug,trace:X.default.trace,verbose:X.default.verbose,printBoxedLog:function e(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"red";if(!(t===null||t===void 0?void 0:t.length)){X.default.box($.default.green(e));return}t.forEach(function(e){var t=e.file,r=e.position,s=e.rule,i=e.message;X.default.log("".concat($.default.gray("File:")," ").concat($.default.blue("".concat(t).concat(r?":".concat(r):"")))),s&&X.default.log(" ".concat(ed(n)("Rule:")," ").concat(s)),X.default.log(" ".concat(ed(n)("Message:")," ").concat(i))}),X.default.box(ed(n)("".concat(e," : ").concat(t.length))),X.default.log($.default.gray("─".repeat(40)))}};function eE(e){return new 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 G(this,function(t){return[2,{drainServer:function t(){return /*#__PURE__*/i(function(){var t;return G(this,function(n){(t=e.drainServer)===null||t===void 0?void 0:t.call(e),ef.info("Apollo Server drainServer hook called");return[2]})})()}}]})})()}}]:[]))},e.isDev&&{introspection:!0,includeStacktraceInErrorResponses:!0}))}U(eE,"createApolloServer");var e_=F(require("process"),1),ep=require("yargs/helpers"),eg=F(require("yargs/yargs"),1);var em={name:"@cyberskill/shared",type:"module",version:"1.118.0",description:"CyberSkill Shared",author:"Stephen Cheng",license:"MIT",homepage:"https://github.com/cyberskill-world/shared#readme",repository:{type:"git",url:"git+https://github.com/cyberskill-world/shared.git"},bugs:{url:"https://github.com/cyberskill-world/shared/issues"},exports:{".":{types:"./dist/index.d.ts",import:"./dist/index.js",require:"./dist/index.cjs"},"./configs":{types:"./dist/configs/index.d.ts",import:"./dist/configs/index.js",require:"./dist/configs/index.cjs"},"./configs/commitlint":{types:"./dist/configs/commitlint/index.d.ts",import:"./dist/configs/commitlint/index.js",require:"./dist/configs/commitlint/index.cjs"},"./configs/env":{types:"./dist/configs/env/index.d.ts",import:"./dist/configs/env/index.js",require:"./dist/configs/env/index.cjs"},"./configs/eslint":{types:"./dist/configs/eslint/index.d.ts",import:"./dist/configs/eslint/index.js",require:"./dist/configs/eslint/index.cjs"},"./configs/graphql-codegen":{types:"./dist/configs/graphql-codegen/index.d.ts",import:"./dist/configs/graphql-codegen/index.js",require:"./dist/configs/graphql-codegen/index.cjs"},"./configs/lint-staged":{types:"./dist/configs/lint-staged/index.d.ts",import:"./dist/configs/lint-staged/index.js",require:"./dist/configs/lint-staged/index.cjs"},"./constants":{types:"./dist/constants/index.d.ts",import:"./dist/constants/index.js",require:"./dist/constants/index.cjs"},"./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:"tsup --watch",lint:"tsx src/nodejs/cli/index.ts lint","lint:fix":"tsx src/nodejs/cli/index.ts lint:fix","lint:inspect":"tsx src/nodejs/cli/index.ts lint:inspect",reset:"tsx src/nodejs/cli/index.ts reset",setup:"tsx src/nodejs/cli/index.ts setup",inspect:"tsx src/nodejs/cli/index.ts inspect","test:unit":"tsx src/nodejs/cli/index.ts test:unit","test:e2e":"tsx src/nodejs/cli/index.ts test:e2e",commitlint:"tsx src/nodejs/cli/index.ts commitlint","lint-staged":"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","@dotenvx/dotenvx":"1.41.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","@nestjs/common":"11.1.0","@nestjs/core":"11.1.0","@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","body-parser":"2.2.0",chalk:"5.4.1",classnames:"2.5.1",compression:"1.8.0",consola:"3.4.2","cookie-parser":"1.4.7",cors:"2.8.5","crypto-js":"4.2.0","date-fns":"4.1.0","dotenv-cli":"8.0.0",envalid:"8.0.0","eslint-config-next":"15.3.1","eslint-plugin-format":"1.0.1","eslint-plugin-react-hooks":"5.2.0","eslint-plugin-react-refresh":"0.4.20",express:"4.21.2","express-device":"0.4.2","express-session":"1.18.1","fs-extra":"11.3.0",globals:"16.0.0",graphql:"16.11.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",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/cookie-parser":"1.4.8","@types/cors":"2.8.17","@types/crypto-js":"4.2.2","@types/express":"4.17.21","@types/express-session":"1.18.1","@types/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 eh=function(e){return e.CLI="CLI",e.STRING="STRING",e.FUNCTION="FUNCTION",e}({});var ev=require("child_process"),ey=F(require("process"),1),eS=F(require("util"),1);var eO={isCurrentProject:!1,installedPath:"",file:{},isUpToDate:!1};var eC=F(require("node-fetch"),1);var eI=F(require("fs-extra"),1),eR=require("path");var eA=eI.default,eT=eI.default,eN=eT.lstatSync,eP=eT.readdirSync,eG=eT.mkdirSync,eM=eT.readFileSync,eb=eT.writeFileSync,eL=eT.appendFileSync,eD=eT.unlinkSync,ex=eT.statSync,ew=eI.default.readJsonSync,ej=eI.default.writeJsonSync;function eU(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}return t.every(function(e){return eI.default.pathExistsSync(e)})}U(eU,"pathExistsSync");function ek(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}t.forEach(function(e){eU(e)&&eI.default.removeSync(e)})}U(ek,"removeSync");function eq(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};var r=n.extensions,s=S(n,["extensions"]);eI.default.copySync(e,t,h({filter:U(function(e){return ex(e).isDirectory()||!r||r.length===0?!0:r.includes((0,eR.extname)(e))},"filter")},s))}U(eq,"copySync");var eF=F(require("path"),1);var eK=ec(),eH=eF.default;function eY(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}return(0,eF.resolve).apply(this,[eK.CWD].concat(A(t)))}U(eY,"resolveWorkingPath");function eB(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}return(0,eF.resolve).apply(this,A(t))}U(eB,"resolve");function eW(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}return(0,eF.join).apply(this,A(t))}U(eW,"join");var eV=ec(),eJ=eV.CWD,eQ="@cyberskill/shared",e$="node_modules",eX="dist",ez="package.json",eZ="package-lock.json",e0="tsconfig.json",e1=".gitignore",e2=".simple-git-hooks.json",e4="pnpm-lock.yaml",e3=".git/hooks/",e5=".git/COMMIT_EDITMSG",e8=".migrate-mongo.config.js",e6=eW(eJ,e$,eQ,eX),e7="cyberskill",e9="src/nodejs/cli/index.ts",te="eslint",tt="eslint",tn="vitest",tr="playwright",ts="vitest",ti="@commitlint/cli",to="commitlint",tc="lint-staged",ta="lint-staged",tu="typescript",tl="tsc",td="tsx",tf="git",tE="pnpm",t_="pnpm exec",tp="simple-git-hooks",tg="simple-git-hooks",tm="@eslint/config-inspector",th="eslint-config-inspector",tv="node-modules-inspector",ty="node-modules-inspector",tS="migrate-mongo",tO="./node_modules/migrate-mongo/bin/migrate-mongo",tC={CYBERSKILL_DIRECTORY:e6,WORKING_DIRECTORY:eJ,TS_CONFIG:eY(e0),GIT_IGNORE:eY(e1),GIT_HOOK:eY(e3),GIT_COMMIT_MSG:eY(e5),SIMPLE_GIT_HOOKS_JSON:eY(e2),PACKAGE_JSON:eY(ez),PACKAGE_LOCK_JSON:eY(eZ),PNPM_LOCK_YAML:eY(e4),NODE_MODULES:eY(e$),MIGRATE_MONGO_CONFIG:eY(e8),LINT_STAGED_CONFIG:eY("".concat(e6,"/configs/lint-staged/base.js")),COMMITLINT_CONFIG:eY("".concat(e6,"/configs/commitlint/base.js")),UNIT_TEST_CONFIG:eY("".concat(e6,"/react/vitest/vitest.unit.js")),UNIT_TEST_SETUP_CONFIG:eY("".concat(e6,"/react/vitest/vitest.unit.setup.js")),E2E_TEST_CONFIG:eY("".concat(e6,"/react/vitest/vitest.e2e.js"))};function tI(e){var t=e.isCurrentProject;return h({"pre-commit":ta,"commit-msg":to},t&&{"pre-push":tV("".concat(tf," pull"))})}U(tI,"createGitHooksConfig");function tR(e,t,n){return /*#__PURE__*/i(function(){return G(this,function(r){switch(r.label){case 0:if(!t)throw new Error("'first' argument is undefined");switch(e){case eh.CLI:return[3,1];case eh.STRING:return[3,3]}return[3,4];case 1:return[4,tL(t.split(" "),{update:!0})];case 2:return[2,(r.sent(),tQ(tV("".concat(t_," ").concat(n))))];case 3:return[2,tQ(tV(t))];case 4:throw new Error("Unsupported command type");case 5:return[2]}})})()}U(tR,"buildCommand");function tA(e,t,n){return function(){return /*#__PURE__*/i(function(){return G(this,function(r){return[2,tR(e,t,n)]})})()}}U(tA,"commandFactory");var tT={simpleGitHooks:tA(eh.CLI,tp,tg),eslintInspect:tA(eh.CLI,tm,th),nodeModulesInspect:tA(eh.CLI,tv,ty),eslintCheck:tA(eh.CLI,te,"".concat(tt," ").concat(tC.WORKING_DIRECTORY)),eslintFix:tA(eh.CLI,te,"".concat(tt," ").concat(tC.WORKING_DIRECTORY," --fix")),typescriptCheck:tA(eh.CLI,tu,"".concat(tl," -p ").concat(tC.TS_CONFIG," --noEmit")),configureGitHook:tA(eh.STRING,"".concat(tf," config core.hooksPath ").concat(tC.GIT_HOOK)),testUnit:tA(eh.CLI,tn,"".concat(ts," --config ").concat(tC.UNIT_TEST_CONFIG)),testE2e:tA(eh.CLI,"".concat(tn," ").concat(tr),"".concat(ts," --config ").concat(tC.E2E_TEST_CONFIG)),mongoMigrateCreate:U(function(e){return tA(eh.CLI,tS,"".concat(td," ").concat(tO," create ").concat(e," -f ").concat(tC.MIGRATE_MONGO_CONFIG))()},"mongoMigrateCreate"),mongoMigrateUp:tA(eh.CLI,tS,"".concat(td," ").concat(tO," up -f ").concat(tC.MIGRATE_MONGO_CONFIG)),mongoMigrateDown:tA(eh.CLI,tS,"".concat(td," ").concat(tO," down -f ").concat(tC.MIGRATE_MONGO_CONFIG)),commitLint:tA(eh.CLI,ti,"".concat(to," --edit ").concat(tC.GIT_COMMIT_MSG," --config ").concat(tC.COMMITLINT_CONFIG)),lintStaged:tA(eh.CLI,tc,"".concat(ta," --config ").concat(tC.LINT_STAGED_CONFIG)),stageBuildDirectory:tA(eh.STRING,"".concat(tf," add ").concat(eX)),build:tA(eh.STRING,"".concat(tE," run build")),pnpmInstallStandard:tA(eh.STRING,"".concat(tE," install")),pnpmInstallLegacy:tA(eh.STRING,"".concat(tE," install --legacy-peer-deps")),pnpmInstallForce:tA(eh.STRING,"".concat(tE," install --force"))};var tN=ec();function tP(e){var t=eW(tN.CWD,ez);if(!eU(t))return!1;try{var n=ew(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 ef.warn("Failed to read package.json: ".concat(e.message)),!1}}U(tP,"getPackage");function tG(e){return /*#__PURE__*/i(function(){var t,n,r,s;return G(this,function(i){switch(i.label){case 0:i.trys.push([0,3,,4]);return[4,(0,eC.default)("https://registry.npmjs.org/".concat(e,"/latest"))];case 1:t=i.sent();if(!t.ok)throw new Error("Failed to fetch latest version: ".concat(t.status," ").concat(t.statusText));return[4,t.json()];case 2:n=i.sent(),r=n.version;return[2,r];case 3:s=i.sent();throw ef.error('Failed to fetch version for "'.concat(e,'": ').concat(s.message)),s;case 4:return[2]}})})()}U(tG,"getLatestPackageVersion");function tM(e,t){return /*#__PURE__*/i(function(){var n,r,s,i,o,c,a,u,l,d,f,E,_,p,g,m,v,y,S,O,C;return G(this,function(I){switch(I.label){case 0:I.trys.push([0,4,,5]);n=tP(e);if(!n)return[2,h({},eO)];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,tG(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)){;S=d?"dependencies":f?"devDependencies":null;S&&((y=u[S])===null||y===void 0?void 0:y[e])!==g&&(u[S]=(O=u[S])!==null&&O!==void 0?O:{},u[S][e]=g,ej(a,u),ef.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,(ef.error('Error checking package "'.concat(e,'": ').concat(C.message)),h({},eO))];case 5:return[2]}})})()}U(tM,"checkPackage");function tb(){return /*#__PURE__*/i(function(){var e,t,n,r,s,i,o,c,a,u,l,d;return G(this,function(f){switch(f.label){case 0:e=[{command:U(function(){return tT.pnpmInstallStandard()},"command"),message:"Installing dependencies (standard)"},{command:U(function(){return tT.pnpmInstallLegacy()},"command"),message:"Retrying with legacy peer dependencies"},{command:U(function(){return tT.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,tX("".concat(a," using: ").concat(u),u)];case 5:f.sent();return[2];case 6:l=f.sent();ef.warn("Installation attempt failed: ".concat(a)),ef.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(tb,"installDependencies");function tL(e,t){return /*#__PURE__*/i(function(){var n,r,s,i,o,c,a,u,l,d,f;return G(this,function(E){switch(E.label){case 0:if(!eU(tC.PACKAGE_JSON)){ef.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 tM(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,tb()];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 ef.error('Failed to setup "'.concat(e.join(", "),'": ').concat(f.message)),f;case 14:return[2]}})})()}U(tL,"setupPackages");var tD=F(require("node-persist"),1);var tx=ec();function tw(){return /*#__PURE__*/i(function(){var e;return G(this,function(t){switch(t.label){case 0:e=tD.default.defaultInstance;if(e)return[3,2];return[4,tD.default.init({dir:tx.CYBERSKILL_STORAGE_DIRECTORY,stringify:JSON.stringify,parse:JSON.parse,encoding:"utf8",logging:!1,forgiveParseErrors:!0})];case 1:e=t.sent();t.label=2;case 2:e;return[2]}})})()}U(tw,"initNodePersist");var tj={get:function e(e){return /*#__PURE__*/i(function(){var t,n;return G(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,tw()];case 1:r.sent();return[4,tD.default.getItem(e)];case 2:return[2,(t=r.sent())!==null&&t!==void 0?t:null];case 3:n=r.sent();return[2,(ef.error('[Storage:get] Error getting key "'.concat(e,'":'),n),null)];case 4:return[2]}})})()},set:function e(e,t){return /*#__PURE__*/i(function(){var n;return G(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,tw()];case 1:r.sent();return[4,tD.default.setItem(e,t)];case 2:r.sent();return[3,4];case 3:n=r.sent();ef.error('[Storage:set] Error setting key "'.concat(e,'":'),n);return[3,4];case 4:return[2]}})})()},remove:function e(e){return /*#__PURE__*/i(function(){var t;return G(this,function(n){switch(n.label){case 0:n.trys.push([0,3,,4]);return[4,tw()];case 1:n.sent();return[4,tD.default.removeItem(e)];case 2:n.sent();return[3,4];case 3:t=n.sent();ef.error('[Storage:remove] Error removing key "'.concat(e,'":'),t);return[3,4];case 4:return[2]}})})()},keys:function e(){return /*#__PURE__*/i(function(){var e,t;return G(this,function(n){switch(n.label){case 0:n.trys.push([0,3,,4]);return[4,tw()];case 1:n.sent();return[4,tD.default.keys()];case 2:e=n.sent();return[2,Array.isArray(e)?e:(ef.warn("[Storage:keys] Invalid keys response:",e),[])];case 3:t=n.sent();return[2,(ef.error("[Storage:keys] Error getting keys:",t),[])];case 4:return[2]}})})()},getLogLink:function e(e){return /*#__PURE__*/i(function(){return G(this,function(t){try{return[2,"".concat(tx.CYBERSKILL_STORAGE_DIRECTORY," (key: ").concat(e,")")]}catch(e){return[2,(ef.error("[Storage:getLogLink] Error getting log link:",e),null)]}return[2]})})()}};var tU=ec(),tk=eS.promisify(ev.exec);function tq(e){return"error_list:".concat(e)}U(tq,"getErrorListKey");function tF(e){return /*#__PURE__*/i(function(){var t,n,r;return G(this,function(s){switch(s.label){case 0:if(e.length===0)return[2];t=Date.now(),n=tq(t);s.label=1;case 1:s.trys.push([1,3,,4]);return[4,tj.set(n,{errors:e,timestamp:t})];case 2:s.sent(),setTimeout(function(){return /*#__PURE__*/i(function(){var e;return G(this,function(t){switch(t.label){case 0:return[4,tj.getLogLink(n)];case 1:e=t.sent();e&&ef.info("\uD83D\uDCC2 Open the error list manually: ".concat(e));return[2]}})})()},10);return[3,4];case 3:r=s.sent();ef.error("Failed to save errors: ".concat(r.message));return[3,4];case 4:return[2]}})})()}U(tF,"saveErrorListToStorage");function tK(){return /*#__PURE__*/i(function(){var e,t,n;return G(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,tj.keys()];case 1:e=r.sent(),t=Array.isArray(e)?e.filter(function(e){var t;return e===null||e===void 0?void 0:(t=e.startsWith)===null||t===void 0?void 0:t.call(e,"error_list:")}):[];return[4,Promise.all(t.map(function(e){return /*#__PURE__*/i(function(){var t;return G(this,function(n){switch(n.label){case 0:return[4,tj.get(e)];case 1:return[2,((t=n.sent())===null||t===void 0?void 0:t.errors)||[]]}})})()}))];case 2:return[2,r.sent().flat()];case 3:n=r.sent();return[2,(ef.error("Failed to retrieve stored errors: ".concat(n.message)),[])];case 4:return[2]}})})()}U(tK,"getStoredErrorLists");function tH(){return /*#__PURE__*/i(function(){var e,t,n;return G(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,tj.keys()];case 1:e=r.sent(),t=Array.isArray(e)?e.filter(function(e){var t;return e===null||e===void 0?void 0:(t=e.startsWith)===null||t===void 0?void 0:t.call(e,"error_list:")}):[];return[4,Promise.all(t.map(function(e){return tj.remove(e)}))];case 2:r.sent();return[3,4];case 3:n=r.sent();ef.error("Failed to clear error lists: ".concat(n.message));return[3,4];case 4:return[2]}})})()}U(tH,"clearAllErrorLists");function tY(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,y;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:(y=_===null||_===void 0?void 0:(d=_[2])===null||d===void 0?void 0:d.trim())!==null&&y!==void 0?y:""}):n.push(e.trim())}}),t.length&&tF(t),tU.DEBUG&&n.length&&(ef.warn("Unmatched lines:"),n.forEach(function(e){return ef.info(" ".concat(e))}))}U(tY,"parseTextErrors");function tB(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&&tF(n)}catch(t){tY(e)}}U(tB,"parseCommandOutput");function tW(e){return /*#__PURE__*/i(function(e){var t,n,r,s,i,o,c,a,u;var l=arguments;return G(this,function(d){switch(d.label){case 0:t=l.length>1&&l[1]!==void 0?l[1]:tB;n=new AbortController;ey.default.on("SIGINT",function(){ef.warn("Process interrupted. Terminating..."),n.abort(),ey.default.exit()});d.label=1;case 1:d.trys.push([1,4,,5]);if(!(typeof e=="string"))return[3,3];return[4,tk(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&&ef.error("Command failed: ".concat(u));return[3,5];case 5:return[2]}})}).apply(this,arguments)}U(tW,"executeCommand");function tV(e){return{raw:!0,cmd:e}}U(tV,"rawCommand");function tJ(e,t){return(t===null||t===void 0?void 0:t.isRemote)?"".concat(t_," ").concat(eQ," ").concat(e):(t===null||t===void 0?void 0:t.isCurrentProject)?"".concat(t_," ").concat(td," ").concat(e9," ").concat(e):"".concat(t_," ").concat(e7," ").concat(e)}U(tJ,"formatCLI");function tQ(e,t){return typeof e=="function"?tJ(e(t),t):(typeof e==="undefined"?"undefined":T(e))=="object"&&(e===null||e===void 0?void 0:e.raw)===!0?e.cmd:typeof e=="string"?tJ(e,t):e}U(tQ,"formatCommand");function t$(e){return /*#__PURE__*/i(function(e){var t,n,r,s,i,o,c;var a=arguments;return G(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,tM(eQ)];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,tQ(r,i)]}))]}})}).apply(this,arguments)}U(t$,"resolveCommands");function tX(e,t){return /*#__PURE__*/i(function(){var n;return G(this,function(r){switch(r.label){case 0:r.trys.push([0,2,,3]);ef.start("".concat(e)),tU.DEBUG&&ef.info("→ ".concat(t));return[4,tW(t)];case 1:r.sent(),ef.success("".concat(e," done."));return[3,3];case 2:n=r.sent();throw ef.error("".concat(e," failed: ").concat(n.message)),n;case 3:return[2]}})})()}U(tX,"runCommand");function tz(){return /*#__PURE__*/i(function(){var e,t;return G(this,function(n){switch(n.label){case 0:if(!eU(tC.TS_CONFIG))return[3,3];t=["Performing TypeScript validation"];return[4,tT.typescriptCheck()];case 1:return[4,tX.apply(void 0,t.concat([n.sent()]))];case 2:e=n.sent();return[3,4];case 3:e=ef.warn("No TypeScript configuration found. Skipping type check.");n.label=4;case 4:e;return[2]}})})()}U(tz,"checkTypescript");function tZ(){return /*#__PURE__*/i(function(){var e,t,n,r;var s=arguments;return G(this,function(i){switch(i.label){case 0:e=s.length>0&&s[0]!==void 0?s[0]:!1;if(!e)return[3,3];n=["Running ESLint with auto-fix"];return[4,tT.eslintFix()];case 1:return[4,tX.apply(void 0,n.concat([i.sent()]))];case 2:t=i.sent();return[3,6];case 3:r=["Running ESLint check"];return[4,tT.eslintCheck()];case 4:return[4,tX.apply(void 0,r.concat([i.sent()]))];case 5:t=i.sent();i.label=6;case 6:t;return[2]}})}).apply(this,arguments)}U(tZ,"checkEslint");function t0(e,t){if(!t.length)return;var n=e==="Errors"?"red":"yellow";ef.printBoxedLog(e==="Errors"?"✖ Errors":"⚠ Warnings",t,n)}U(t0,"printIssues");function t1(){return /*#__PURE__*/i(function(){var e,t,n;return G(this,function(r){switch(r.label){case 0:return[4,tK()];case 1:e=r.sent(),t=e.filter(function(e){return e.type===Q.Error}),n=e.filter(function(e){return e.type===Q.Warning});!t.length&&!n.length?ef.printBoxedLog("✔ NO ISSUES FOUND",[],"green"):(t0("Warnings",n),t0("Errors",t),(t.length>0||n.length>0)&&e_.default.exit(1));return[2]}})})()}U(t1,"showCheckResult");function t2(){return /*#__PURE__*/i(function(){var e,t,n,r,s,i;return G(this,function(o){switch(o.label){case 0:return[4,tH()];case 1:o.sent();return[4,tM(eQ)];case 2:e=o.sent(),t=e.isCurrentProject;if(!t)return[3,9];o.label=3;case 3:o.trys.push([3,8,,9]);n=["Building package: ".concat(eQ)];return[4,tT.build()];case 4:return[4,tX.apply(void 0,n.concat([o.sent()]))];case 5:o.sent();r=["Staging build artifacts"];return[4,tT.stageBuildDirectory()];case 6:return[4,tX.apply(void 0,r.concat([o.sent()]))];case 7:o.sent();return[3,9];case 8:s=o.sent();throw ef.error("Error building and staging ".concat(eQ,": ").concat(s.message)),s;case 9:i=["Executing lint-staged"];return[4,tT.lintStaged()];case 10:return[4,tX.apply(void 0,i.concat([o.sent()]))];case 11:o.sent(),t1();return[2]}})})()}U(t2,"lintStaged");function t4(){return /*#__PURE__*/i(function(){var e;return G(this,function(t){switch(t.label){case 0:e=["Inspecting ESLint configuration"];return[4,tT.eslintInspect()];case 1:return[4,tX.apply(void 0,e.concat([t.sent()]))];case 2:t.sent();return[2]}})})()}U(t4,"inspectLint");function t3(){return /*#__PURE__*/i(function(){return G(this,function(e){switch(e.label){case 0:return[4,tH()];case 1:e.sent();return[4,Promise.all([tz(),tZ()])];case 2:e.sent(),t1();return[2]}})})()}U(t3,"lintCheck");function t5(){return /*#__PURE__*/i(function(){return G(this,function(e){switch(e.label){case 0:return[4,tH()];case 1:e.sent();return[4,Promise.all([tz(),tZ(!0)])];case 2:e.sent(),t1();return[2]}})})()}U(t5,"lintFix");function t8(){return /*#__PURE__*/i(function(){var e;return G(this,function(t){switch(t.label){case 0:return[4,tH()];case 1:t.sent();e=["Validating commit message"];return[4,tT.commitLint()];case 2:return[4,tX.apply(void 0,e.concat([t.sent()]))];case 3:t.sent(),t1();return[2]}})})()}U(t8,"commitLint");function t6(){return /*#__PURE__*/i(function(){var e,t,n,r;return G(this,function(s){switch(s.label){case 0:e=["Configuring Git hooks"];return[4,tT.configureGitHook()];case 1:return[4,tX.apply(void 0,e.concat([s.sent()]))];case 2:s.sent(),ek(tC.GIT_HOOK);return[4,t$(tI)];case 3:t=s.sent();ej(tC.SIMPLE_GIT_HOOKS_JSON,t);n="\n".concat(e2,"\n");eU(tC.GIT_IGNORE)?eM(tC.GIT_IGNORE,"utf-8").split("\n").includes(e2)||eL(tC.GIT_IGNORE,n,"utf-8"):eb(tC.GIT_IGNORE,n,"utf-8");r=["Setting up simple-git-hooks"];return[4,tT.simpleGitHooks()];case 4:return[4,tX.apply(void 0,r.concat([s.sent()]))];case 5:s.sent();return[2]}})})()}U(t6,"setupGitHook");function t7(){return /*#__PURE__*/i(function(){return G(this,function(e){switch(e.label){case 0:return[4,tL([eQ],{update:!0,postInstallActions:[t6]})];case 1:e.sent();return[2]}})})()}U(t7,"setup");function t9(){return /*#__PURE__*/i(function(){return G(this,function(e){switch(e.label){case 0:ek(tC.NODE_MODULES,tC.PNPM_LOCK_YAML);return[4,tb()];case 1:e.sent();return[4,t6()];case 2:e.sent();return[2]}})})()}U(t9,"reset");function ne(){return /*#__PURE__*/i(function(){var e;return G(this,function(t){switch(t.label){case 0:e=["Inspecting project dependencies"];return[4,tT.nodeModulesInspect()];case 1:return[4,tX.apply(void 0,e.concat([t.sent()]))];case 2:t.sent();return[2]}})})()}U(ne,"inspect");function nt(){return /*#__PURE__*/i(function(){var e;return G(this,function(t){switch(t.label){case 0:e=["Running unit tests"];return[4,tT.testUnit()];case 1:return[4,tX.apply(void 0,e.concat([t.sent()]))];case 2:t.sent();return[2]}})})()}U(nt,"testUnit");function nn(){return /*#__PURE__*/i(function(){var e;return G(this,function(t){switch(t.label){case 0:e=["Running end-to-end tests"];return[4,tT.testE2e()];case 1:return[4,tX.apply(void 0,e.concat([t.sent()]))];case 2:t.sent();return[2]}})})()}U(nn,"testE2E");function nr(e){return /*#__PURE__*/i(function(){var t;return G(this,function(n){switch(n.label){case 0:t=["Creating MongoDB migration"];return[4,tT.mongoMigrateCreate(e)];case 1:return[4,tX.apply(void 0,t.concat([n.sent()]))];case 2:n.sent();return[2]}})})()}U(nr,"mongoMigrateCreate");function ns(){return /*#__PURE__*/i(function(){var e;return G(this,function(t){switch(t.label){case 0:e=["Running MongoDB migrations"];return[4,tT.mongoMigrateUp()];case 1:return[4,tX.apply(void 0,e.concat([t.sent()]))];case 2:t.sent();return[2]}})})()}U(ns,"mongoMigrateUp");function ni(){return /*#__PURE__*/i(function(){var e;return G(this,function(t){switch(t.label){case 0:e=["Rolling back MongoDB migration"];return[4,tT.mongoMigrateDown()];case 1:return[4,tX.apply(void 0,e.concat([t.sent()]))];case 2:t.sent();return[2]}})})()}U(ni,"mongoMigrateDown");(function(){return /*#__PURE__*/i(function(){var e;return G(this,function(t){switch(t.label){case 0:t.trys.push([0,2,,3]);return[4,(0,eg.default)((0,ep.hideBin)(e_.default.argv)).scriptName(e7).usage("$0 <command> [options]").command("lint","Check code for linting issues",t3).command("lint:fix","Fix linting issues automatically",t5).command("lint:inspect","View active ESLint configuration",t4).command("lint-staged","Run lint checks on staged files",t2).command("commitlint","Validate commit message format",t8).command("setup","Initialize project setup and dependencies",t7).command("reset","Reset the project and reinstall dependencies",t9).command("inspect","Analyze installed project dependencies",ne).command("test:unit","Run unit test suite",nt).command("test:e2e","Run end-to-end test suite",nn).command("mongo:migrate:create <name>","Create a MongoDB migration",function(e){return e.positional("name",{describe:"Migration name",type:"string"})},function(e){return /*#__PURE__*/i(function(){return G(this,function(t){switch(t.label){case 0:if(!e.name){ef.error("Migration name is required.");return[2]}return[4,nr(e.name)];case 1:t.sent();return[2]}})})()}).command("mongo:migrate:up","Apply all MongoDB migrations",ns).command("mongo:migrate:down","Rollback last MongoDB migration",ni).demandCommand(1,"Please specify a valid command.").strict().help().alias("h","help").alias("v","version").version(em.version).epilog('\uD83D\uDCA1 Tip: Use "--help" with any command to see options\n').parse()];case 1:t.sent();return[3,3];case 2:e=t.sent();ef.error("Fatal: ".concat(e.message)),e_.default.exit(1);return[3,3];case 3:return[2]}})})()})();var no=require("express");var nc=require("@nestjs/core"),na=F(require("body-parser"),1),nu=F(require("compression"),1),nl=F(require("cookie-parser"),1),nd=F(require("cors"),1),nf=F(require("express"),1),nE=F(require("express-device"),1),n_=F(require("express-session"),1);function np(e){var t=e.isDev,n=e.whiteList,r=S(e,["isDev","whiteList"]);return 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(new Error("Not allowed by CORS"),!1)},"origin"),credentials:!0},r)}U(np,"createCorsOptions");function ng(e){return(0,nd.default)(np(e))}U(ng,"createCors");function nm(e){return(0,n_.default)(e)}U(nm,"createSession");function nh(e){var t=(0,nf.default)();return t.set("trust proxy",1),t.use((0,nl.default)()),t.use(nf.default.urlencoded({extended:!0})),t.use((0,nu.default)()),t.use(nE.default.capture()),(e===null||e===void 0?void 0:e.staticFolder)&&t.use(nf.default.static(e.staticFolder)),t}U(nh,"createExpress");function nv(e){return /*#__PURE__*/i(function(){var t,n,r;return G(this,function(s){switch(s.label){case 0:return[4,nc.NestFactory.create(e.module)];case 1:r=s.sent();return[2,(r.getHttpAdapter().getInstance().set("trust proxy",1),r.use(nf.default.urlencoded({extended:!0})),r.use((0,nl.default)()),r.use((0,nu.default)()),r.use(nE.default.capture()),e.staticFolder&&r.use(nf.default.static(e.staticFolder)),e.filters&&(t=r).useGlobalFilters.apply(t,A(e.filters)),e.pipes&&(n=r).useGlobalPipes.apply(n,A(e.pipes)),r)]}})})()}U(nv,"createNest");var ny="MONGO_MIGRATE_OPTIONS";var nS=require("mongodb"),nO=require("mongoose");var nC=/*#__PURE__*/function(e){f(t,e);function t(){c(this,t);return o(this,t,arguments)}return t}(nS.Db);U(nC,"C_Db");var nI=nC,nR=/*#__PURE__*/function(e){f(t,e);function t(){c(this,t);return o(this,t,arguments)}return t}(nO.Document);U(nR,"C_Document");var nA=nR,nT=/*#__PURE__*/function(e){f(t,e);function t(){c(this,t);return o(this,t,arguments)}return t}(nO.Model);U(nT,"C_Model");var nN=nT,nP=/*#__PURE__*/function(e){f(t,e);function t(){c(this,t);return o(this,t,arguments)}return t}(nS.Collection);U(nP,"C_Collection");var nG=nP;var nM=require("date-fns"),nb=F(require("migrate-mongo"),1),nL=require("mongoose"),nD=F(require("mongoose-aggregate-paginate-v2"),1),nx=F(require("mongoose-paginate-v2"),1),nw=require("uuid");var nj=F(require("unorm"),1);var nU={a:["\xe0","\xe1","ạ","ả","\xe3","\xe2","ầ","ấ","ậ","ẩ","ẫ","ă","ằ","ắ","ặ","ẳ","ẵ"],e:["\xe8","\xe9","ẹ","ẻ","ẽ","\xea","ề","ế","ệ","ể","ễ"],i:["\xec","\xed","ị","ỉ","ĩ"],o:["\xf2","\xf3","ọ","ỏ","\xf5","\xf4","ồ","ố","ộ","ổ","ỗ","ơ","ờ","ớ","ợ","ở","ỡ"],u:["\xf9","\xfa","ụ","ủ","ũ","ư","ừ","ứ","ự","ử","ữ"],y:["ỳ","\xfd","ỵ","ỷ","ỹ"],d:["đ"]},nk=Object.entries(nU).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 nq(e){return(typeof e==="undefined"?"undefined":T(e))=="object"&&e!==null&&!Array.isArray(e)}U(nq,"isObject");var nF=F(require("crypto-js"),1),nK=F(require("slugify"),1);var nH=nK.default.default||nK.default;function nY(e,t){var n=U(function(e){var n,r;return nH(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(nq(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(nY,"generateSlug");function nB(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:4;return nF.default.SHA256(e).toString(nF.default.enc.Hex).slice(0,t)}U(nB,"generateShortId");var nW={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 nV={getDateTime:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:new Date;return(0,nM.format)(e,"yyyy-MM-dd HH:mm:ss.SSS")},createGenericFields:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=e.returnDateAs,n=t===void 0?"string":t;var r=n==="string"?nV.getDateTime():new Date;return{id:(0,nw.v4)(),isDel:!1,createdAt:r,updatedAt:r}},applyPlugins:function e(e,t){t.filter(function(e){return typeof e=="function"}).forEach(function(t){return e.plugin(t)})},applyMiddlewares:function e(e,t){t.forEach(function(t){var n=t.method,r=t.pre,s=t.post;n&&r&&e.pre(n,r),n&&s&&e.post(n,s)})},createGenericSchema:function e(e){return new e.Schema({id:{type:String,default:nw.v4,required:!0,unique:!0},isDel:{type:Boolean,default:!1,required:!0}},{timestamps:!0})},createSchema:function e(e){var t=e.mongoose,n=e.schema,r=e.virtuals,s=r===void 0?[]:r,i=e.standalone,o=i===void 0?!1:i;var 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(nV.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=nV.createSchema({mongoose:t,schema:r,virtuals:u});return nV.applyPlugins(f,[i&&nx.default,c&&nD.default]),nV.applyMiddlewares(f,d),t.model(n,f)},validator:{isEmpty:function e(){return function(e){return /*#__PURE__*/i(function(){return G(this,function(t){return[2,!nW.isEmpty(e)]})})()}},isUnique:function e(e){return function(t){return /*#__PURE__*/i(function(){var n;return G(this,function(r){switch(r.label){case 0:if(!Array.isArray(e)||e.length===0)throw new Error("Fields must be a non-empty array of strings.");n={$or:e.map(function(e){return l({},e,t)})};return[4,this.constructor.exists(n)];case 1:return[2,!r.sent()]}})}).call(this)}},matchesRegex:function e(e){return function(t){return /*#__PURE__*/i(function(){return G(this,function(n){if(!Array.isArray(e)||e.some(function(e){return!E(e,RegExp)}))throw new Error("regexArray must be an array of valid RegExp objects.");return[2,e.every(function(e){return e.test(t)})]})})()}}},migrate:y(h({},nb.default),{setConfig:U(function(e){var t="// This file is automatically generated by the Cyberskill CLI.\nmodule.exports = ".concat(JSON.stringify(e,null,4));eb(tC.MIGRATE_MONGO_CONFIG,t);var n="\n".concat(e8,"\n");eU(tC.GIT_IGNORE)?eM(tC.GIT_IGNORE,"utf-8").split("\n").includes(e8)||eL(tC.GIT_IGNORE,n,"utf-8"):eb(tC.GIT_IGNORE,n,"utf-8")},"setConfig")})},nJ=/*#__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 G(this,function(s){switch(s.label){case 0:s.trys.push([0,2,,3]);t=h({},nV.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 G(this,function(s){switch(s.label){case 0:s.trys.push([0,2,,3]);t=e.map(function(e){return h({},nV.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 G(this,function(r){switch(r.label){case 0:r.trys.push([0,2,,3]);return[4,this.collection.findOne(e)];case 1:t=r.sent();return[2,t?{success:!0,message:"Document found",result:t}:{success:!1,message:"Document not found"}];case 2:n=r.sent();return[2,{success:!1,message:n.message}];case 3:return[2]}})}).call(this)}},{key:"findAll",value:function e(){return /*#__PURE__*/i(function(){var e,t,n;var r=arguments;return G(this,function(s){switch(s.label){case 0:e=r.length>0&&r[0]!==void 0?r[0]:{};s.label=1;case 1:s.trys.push([1,3,,4]);t={success:!0,message:"Documents retrieved successfully"};return[4,this.collection.find(e).toArray()];case 2:return[2,(t.result=s.sent(),t)];case 3:n=s.sent();return[2,{success:!1,message:n.message}];case 4:return[2]}})}).apply(this,arguments)}},{key:"count",value:function e(){return /*#__PURE__*/i(function(){var e,t,n;var r=arguments;return G(this,function(s){switch(s.label){case 0:e=r.length>0&&r[0]!==void 0?r[0]:{};s.label=1;case 1:s.trys.push([1,3,,4]);t={success:!0,message:"Count retrieved successfully"};return[4,this.collection.countDocuments(e)];case 2:return[2,(t.result=s.sent(),t)];case 3:n=s.sent();return[2,{success:!1,message:n.message}];case 4:return[2]}})}).apply(this,arguments)}},{key:"updateOne",value:function e(e,t){return /*#__PURE__*/i(function(){var n,r;return G(this,function(s){switch(s.label){case 0:s.trys.push([0,2,,3]);return[4,this.collection.updateOne(e,{$set:t})];case 1:n=s.sent();return[2,n.matchedCount===0?{success:!1,message:"No documents matched the filter"}:{success:!0,message:"Document updated successfully",result:n}];case 2:r=s.sent();return[2,{success:!1,message:r.message}];case 3:return[2]}})}).call(this)}},{key:"updateMany",value:function e(e,t){return /*#__PURE__*/i(function(){var n,r;return G(this,function(s){switch(s.label){case 0:s.trys.push([0,2,,3]);return[4,this.collection.updateMany(e,{$set:t})];case 1:n=s.sent();return[2,n.matchedCount===0?{success:!1,message:"No documents matched the filter"}:{success:!0,message:"Documents updated successfully",result:n}];case 2:r=s.sent();return[2,{success:!1,message:r.message}];case 3:return[2]}})}).call(this)}},{key:"deleteOne",value:function e(e){return /*#__PURE__*/i(function(){var t,n;return G(this,function(r){switch(r.label){case 0:r.trys.push([0,2,,3]);return[4,this.collection.deleteOne(e)];case 1:t=r.sent();return[2,t.deletedCount===0?{success:!1,message:"No documents matched the filter"}:{success:!0,message:"Document deleted successfully",result:t}];case 2:n=r.sent();return[2,{success:!1,message:n.message}];case 3:return[2]}})}).call(this)}},{key:"deleteMany",value:function e(e){return /*#__PURE__*/i(function(){var t,n;return G(this,function(r){switch(r.label){case 0:r.trys.push([0,2,,3]);return[4,this.collection.deleteMany(e)];case 1:t=r.sent();return[2,t.deletedCount===0?{success:!1,message:"No documents matched the filter"}:{success:!0,message:"Documents deleted successfully",result:t}];case 2:n=r.sent();return[2,{success:!1,message:n.message}];case 3:return[2]}})}).call(this)}}]);return e}();U(nJ,"MongoController");var nQ=nJ,n$=/*#__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 G(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:ea.NOT_FOUND.CODE}];case 3:o=a.sent();return[2,{success:!1,message:o.message,code:ea.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 G(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:ea.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 G(this,function(i){switch(i.label){case 0:e=s.length>0&&s[0]!==void 0?s[0]:{},t=s.length>1&&s[1]!==void 0?s[1]:{};i.label=1;case 1:i.trys.push([1,3,,4]);n={success:!0};return[4,this.model.paginate(e,t)];case 2:return[2,(n.result=i.sent(),n)];case 3:r=i.sent();return[2,{success:!1,message:r.message,code:ea.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 G(this,function(i){switch(i.label){case 0:t=s.length>1&&s[1]!==void 0?s[1]:{};i.label=1;case 1:i.trys.push([1,3,,4]);n={success:!0};return[4,this.model.aggregatePaginate(this.model.aggregate(e),t)];case 2:return[2,(n.result=i.sent(),n)];case 3:r=i.sent();return[2,{success:!1,message:r.message,code:ea.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 G(this,function(s){switch(s.label){case 0:e=r.length>0&&r[0]!==void 0?r[0]:{};s.label=1;case 1:s.trys.push([1,3,,4]);t={success:!0};return[4,this.model.countDocuments(e)];case 2:return[2,(t.result=s.sent(),t)];case 3:n=s.sent();return[2,{success:!1,message:n.message,code:ea.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 G(this,function(r){switch(r.label){case 0:r.trys.push([0,2,,3]);t={success:!0};return[4,this.model.create(e)];case 1:return[2,(t.result=r.sent(),t)];case 2:n=r.sent();return[2,{success:!1,message:n.message,code:ea.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 G(this,function(i){switch(i.label){case 0:t=s.length>1&&s[1]!==void 0?s[1]:{};i.label=1;case 1:i.trys.push([1,3,,4]);n={success:!0};return[4,this.model.insertMany(e,t)];case 2:return[2,(n.result=i.sent().map(function(e){return E(e,nL.Document)?e.toObject():null}).filter(function(e){return e!==null}),n)];case 3:r=i.sent();return[2,{success:!1,message:r.message,code:ea.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 G(this,function(o){switch(o.label){case 0:e=i.length>0&&i[0]!==void 0?i[0]:{},t=i.length>1&&i[1]!==void 0?i[1]:{},n=i.length>2&&i[2]!==void 0?i[2]:{};o.label=1;case 1:o.trys.push([1,3,,4]);return[4,this.model.findOneAndUpdate(e,t,h({new:!0},n)).exec()];case 2:r=o.sent();return[2,r?{success:!0,result:r}:{success:!1,message:"Failed to update ".concat(this.getModelName(),"."),code:ea.NOT_FOUND.CODE}];case 3:s=o.sent();return[2,{success:!1,message:s.message,code:ea.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 G(this,function(o){switch(o.label){case 0:e=i.length>0&&i[0]!==void 0?i[0]:{},t=i.length>1&&i[1]!==void 0?i[1]:{},n=i.length>2&&i[2]!==void 0?i[2]:{};o.label=1;case 1:o.trys.push([1,3,,4]);r={success:!0};return[4,this.model.updateMany(e,t,n).exec()];case 2:return[2,(r.result=o.sent(),r)];case 3:s=o.sent();return[2,{success:!1,message:s.message,code:ea.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 G(this,function(i){switch(i.label){case 0:e=s.length>0&&s[0]!==void 0?s[0]:{},t=s.length>1&&s[1]!==void 0?s[1]:{};i.label=1;case 1:i.trys.push([1,3,,4]);return[4,this.model.findOneAndDelete(e,t).exec()];case 2:n=i.sent();return[2,n?{success:!0,result:n}:{success:!1,message:"No ".concat(this.getModelName()," found to delete."),code:ea.NOT_FOUND.CODE}];case 3:r=i.sent();return[2,{success:!1,message:r.message,code:ea.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 G(this,function(i){switch(i.label){case 0:e=s.length>0&&s[0]!==void 0?s[0]:{},t=s.length>1&&s[1]!==void 0?s[1]:{};i.label=1;case 1:i.trys.push([1,3,,4]);return[4,this.model.deleteMany(e,t).exec()];case 2:n=i.sent();return[2,n.deletedCount===0?{success:!1,message:"No documents found to delete.",code:ea.NOT_FOUND.CODE}:{success:!0,result:n}];case 3:r=i.sent();return[2,{success:!1,message:r.message,code:ea.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 G(this,function(o){switch(o.label){case 0:n=new Set;r=0;o.label=1;case 1:if(!(r<10))return[3,5];s=nB(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:ea.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 G(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=nq(s),c=U(function(t){var r=h({},n!==null&&n!==void 0?n:{});return o?y(h({},r),{$or:[l({},"slug.".concat(e),t),{slugHistory:{$elemMatch:l({},"slug.".concat(e),t)}}]}):y(h({},r),{$or:[{slug:t},{slugHistory:t}]})},"generateSlugQuery"),a=U(function(e){return /*#__PURE__*/i(function(){var t,n;return G(this,function(r){switch(r.label){case 0:t=e,n=1;r.label=1;case 1:return[4,this.model.exists(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 G(this,function(s){switch(s.label){case 0:e=nY(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=nY(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:ea.INTERNAL_SERVER_ERROR.CODE}];case 6:return[2]}})}).call(this)}},{key:"aggregate",value:function e(e){return /*#__PURE__*/i(function(){var t,n;return G(this,function(r){switch(r.label){case 0:r.trys.push([0,2,,3]);t={success:!0};return[4,this.model.aggregate(e)];case 1:return[2,(t.result=r.sent(),t)];case 2:n=r.sent();return[2,{success:!1,message:n.message,code:ea.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})}).call(this)}}]);return e}();U(n$,"MongooseController");var nX=n$;var nz=require("graphql-ws/use/ws"),nZ=require("ws");function n0(e){return new nZ.WebSocketServer({server:e.server,path:e.path})}U(n0,"createWSServer");function n1(e){return(0,nz.useServer)({schema:e.schema},e.server)}U(n1,"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,bodyParser:bodyParser,checkPackage:checkPackage,clearAllErrorLists:clearAllErrorLists,command:command,copySync:copySync,createApolloServer:createApolloServer,createCors:createCors,createCorsOptions:createCorsOptions,createExpress:createExpress,createGitHooksConfig:createGitHooksConfig,createNest:createNest,createSession:createSession,createWSServer:createWSServer,express:express,expressMiddleware:expressMiddleware,formatCommand:formatCommand,fs:fs,getLatestPackageVersion:getLatestPackageVersion,getPackage:getPackage,getStoredErrorLists:getStoredErrorLists,initGraphQLWS:initGraphQLWS,installDependencies:installDependencies,join:join,logNodeJS:logNodeJS,lstatSync:lstatSync,mkdirSync:mkdirSync,mongo:mongo,mongoosePaginate:mongoosePaginate,path:path,pathExistsSync:pathExistsSync,rawCommand:rawCommand,readFileSync:readFileSync,readJsonSync:readJsonSync,readdirSync:readdirSync,removeSync:removeSync,resolve:resolve,resolveCommands:resolveCommands,resolveWorkingPath:resolveWorkingPath,runCommand:runCommand,setupPackages:setupPackages,statSync:statSync,storageNodeJS:storageNodeJS,throwError:throwError,unlinkSync:unlinkSync,writeFileSync:writeFileSync,writeJsonSync:writeJsonSync});