@cyberskill/shared 1.128.0 → 1.130.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 (74) hide show
  1. package/dist/_tsup-dts-rollup.d.cts +7 -0
  2. package/dist/_tsup-dts-rollup.d.ts +7 -0
  3. package/dist/configs/commitlint/index.cjs +1 -1
  4. package/dist/configs/commitlint/index.js +1 -1
  5. package/dist/configs/config.util.cjs +1 -1
  6. package/dist/configs/config.util.js +1 -1
  7. package/dist/configs/index.cjs +1 -1
  8. package/dist/configs/index.js +1 -1
  9. package/dist/index.cjs +1 -1
  10. package/dist/index.d.cts +1 -0
  11. package/dist/index.d.ts +1 -0
  12. package/dist/index.js +1 -1
  13. package/dist/node/apollo-server/apollo-server.util.cjs +1 -1
  14. package/dist/node/apollo-server/apollo-server.util.js +1 -1
  15. package/dist/node/apollo-server/index.cjs +1 -1
  16. package/dist/node/apollo-server/index.js +1 -1
  17. package/dist/node/cli/cli.util.cjs +1 -1
  18. package/dist/node/cli/cli.util.js +1 -1
  19. package/dist/node/cli/index.cjs +1 -1
  20. package/dist/node/cli/index.js +1 -1
  21. package/dist/node/command/command.util.cjs +1 -1
  22. package/dist/node/command/command.util.js +1 -1
  23. package/dist/node/command/index.cjs +1 -1
  24. package/dist/node/command/index.js +1 -1
  25. package/dist/node/express/express.util.cjs +1 -1
  26. package/dist/node/express/express.util.js +1 -1
  27. package/dist/node/express/index.cjs +1 -1
  28. package/dist/node/express/index.js +1 -1
  29. package/dist/node/fs/fs.util.cjs +1 -1
  30. package/dist/node/fs/fs.util.js +1 -1
  31. package/dist/node/fs/index.cjs +1 -1
  32. package/dist/node/fs/index.js +1 -1
  33. package/dist/node/index.cjs +1 -1
  34. package/dist/node/index.d.cts +1 -0
  35. package/dist/node/index.d.ts +1 -0
  36. package/dist/node/index.js +1 -1
  37. package/dist/node/mongo/index.cjs +1 -1
  38. package/dist/node/mongo/index.js +1 -1
  39. package/dist/node/mongo/mongo.util.cjs +1 -1
  40. package/dist/node/mongo/mongo.util.js +1 -1
  41. package/dist/node/package/index.cjs +1 -1
  42. package/dist/node/package/index.js +1 -1
  43. package/dist/node/package/package.util.cjs +1 -1
  44. package/dist/node/package/package.util.js +1 -1
  45. package/dist/node/path/index.cjs +1 -1
  46. package/dist/node/path/index.d.cts +1 -0
  47. package/dist/node/path/index.d.ts +1 -0
  48. package/dist/node/path/index.js +1 -1
  49. package/dist/node/path/path.constant.cjs +1 -1
  50. package/dist/node/path/path.constant.d.cts +1 -0
  51. package/dist/node/path/path.constant.d.ts +1 -0
  52. package/dist/node/path/path.constant.js +1 -1
  53. package/dist/node/storage/index.cjs +1 -1
  54. package/dist/node/storage/index.js +1 -1
  55. package/dist/node/storage/storage.util.cjs +1 -1
  56. package/dist/node/storage/storage.util.js +1 -1
  57. package/dist/react/index.cjs +1 -1
  58. package/dist/react/index.js +1 -1
  59. package/dist/react/next-intl/index.cjs +1 -1
  60. package/dist/react/next-intl/index.js +1 -1
  61. package/dist/react/next-intl/next-intl.provider.cjs +1 -1
  62. package/dist/react/next-intl/next-intl.provider.js +1 -1
  63. package/dist/react/storage/index.cjs +1 -1
  64. package/dist/react/storage/index.js +1 -1
  65. package/dist/react/storage/storage.hook.cjs +1 -1
  66. package/dist/react/storage/storage.hook.js +1 -1
  67. package/dist/react/storage/storage.util.cjs +1 -1
  68. package/dist/react/storage/storage.util.js +1 -1
  69. package/dist/react/vitest/index.cjs +1 -1
  70. package/dist/react/vitest/index.js +1 -1
  71. package/dist/react/vitest/vitest.unit.cjs +1 -1
  72. package/dist/react/vitest/vitest.unit.js +1 -1
  73. package/package.json +3 -2
  74. package/public/wiki/convention.md +3 -3
@@ -1 +1 @@
1
- function e(e,t){if(t==null||t>e.length)t=e.length;for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function t(e){if(Array.isArray(e))return e}function n(t){if(Array.isArray(t))return e(t)}function r(e){if(e===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return e}function s(e,t,n,r,s,i,o){try{var a=e[i](o);var c=a.value}catch(e){n(e);return}if(a.done){t(c)}else{Promise.resolve(c).then(r,s)}}function i(e){return function(){var t=this,n=arguments;return new Promise(function(r,i){var o=e.apply(t,n);function a(e){s(o,r,i,a,c,"next",e)}function c(e){s(o,r,i,a,c,"throw",e)}a(undefined)})}}function o(e,t,n){t=d(t);return R(e,T()?Reflect.construct(t,n||[],d(e).constructor):t.apply(e,n))}function a(e,t){if(!(e instanceof t)){throw new TypeError("Cannot call a class as a function")}}function c(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||false;r.configurable=true;if("value"in r)r.writable=true;Object.defineProperty(e,r.key,r)}}function u(e,t,n){if(t)c(e.prototype,t);if(n)c(e,n);return e}function l(e,t,n){if(t in e){Object.defineProperty(e,t,{value:n,enumerable:true,configurable:true,writable:true})}else{e[t]=n}return e}function d(e){d=Object.setPrototypeOf?Object.getPrototypeOf:function e(e){return e.__proto__||Object.getPrototypeOf(e)};return d(e)}function p(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)C(e,t)}function f(e,t){if(t!=null&&typeof Symbol!=="undefined"&&t[Symbol.hasInstance]){return!!t[Symbol.hasInstance](e)}else{return e instanceof t}}function E(e){if(typeof Symbol!=="undefined"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function m(e,t){var n=e==null?null:typeof Symbol!=="undefined"&&e[Symbol.iterator]||e["@@iterator"];if(n==null)return;var r=[];var s=true;var i=false;var o,a;try{for(n=n.call(e);!(s=(o=n.next()).done);s=true){r.push(o.value);if(t&&r.length===t)break}}catch(e){i=true;a=e}finally{try{if(!s&&n["return"]!=null)n["return"]()}finally{if(i)throw a}}return r}function 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 _(){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 y(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 v(e,t){t=t!=null?t:{};if(Object.getOwnPropertyDescriptors){Object.defineProperties(e,Object.getOwnPropertyDescriptors(t))}else{y(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 R(e,t){if(t&&(N(t)==="object"||typeof t==="function")){return t}return r(e)}function C(e,t){C=Object.setPrototypeOf||function e(e,t){e.__proto__=t;return e};return C(e,t)}function D(e,n){return t(e)||m(e,n)||A(e,n)||g()}function I(e){return n(e)||E(e)||A(e)||_()}function N(e){"@swc/helpers - typeof";return e&&typeof Symbol!=="undefined"&&e.constructor===Symbol?"symbol":typeof e}function A(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 T(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(T=function(){return!!e})()}function P(e,t){var n,r,s,i={label:0,sent:function(){if(s[0]&1)throw s[1];return s[1]},trys:[],ops:[]},o=Object.create((typeof Iterator==="function"?Iterator:Object).prototype);return o.next=a(0),o["throw"]=a(1),o["return"]=a(2),typeof Symbol==="function"&&(o[Symbol.iterator]=function(){return this}),o;function a(e){return function(t){return c([e,t])}}function c(a){if(n)throw new TypeError("Generator is already executing.");while(o&&(o=0,a[0]&&(i=0)),i)try{if(n=1,r&&(s=a[0]&2?r["return"]:a[0]?r["throw"]||((s=r["return"])&&s.call(r),0):r.next)&&!(s=s.call(r,a[1])).done)return s;if(r=0,s)a=[a[0]&2,s.value];switch(a[0]){case 0:case 1:s=a;break;case 4:i.label++;return{value:a[1],done:false};case 5:i.label++;r=a[1];a=[0];continue;case 7:a=i.ops.pop();i.trys.pop();continue;default:if(!(s=i.trys,s=s.length>0&&s[s.length-1])&&(a[0]===6||a[0]===2)){i=0;continue}if(a[0]===3&&(!s||a[1]>s[0]&&a[1]<s[3])){i.label=a[1];break}if(a[0]===6&&i.label<s[1]){i.label=s[1];s=a;break}if(s&&i.label<s[2]){i.label=s[2];i.ops.push(a);break}if(s[2])i.ops.pop();i.trys.pop();continue}a=t.call(e,i)}catch(e){a=[6,e];r=0}finally{n=s=0}if(a[0]&5)throw a[1];return{value:a[0]?a[1]:void 0,done:true}}}var b=Object.defineProperty;var x=function(e,t,n){return t in e?b(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n};var G=function(e,t){return b(e,"name",{value:t,configurable:!0})};var M=function(e,t,n){return x(e,(typeof t==="undefined"?"undefined":N(t))!="symbol"?t+"":t,n)};import{ApolloServer as w}from"@apollo/server";import{expressMiddleware as L}from"@apollo/server/express4";import{ApolloServerPluginDrainHttpServer as U}from"@apollo/server/plugin/drainHttpServer";import{ApolloServerPluginLandingPageLocalDefault as j,ApolloServerPluginLandingPageProductionDefault as k}from"@apollo/server/plugin/landingPage/default";var F=function(e){return e.Error="error",e.Warning="warning",e}({});import q from"chalk";import Y from"consola";import{GraphQLError as V}from"graphql";var K=".cyberskill-storage";import B from"@dotenvx/dotenvx";import{bool as H,cleanEnv as W,str as Q}from"envalid";import J from"node:os";import $ from"node:path";import z from"node:process";var X=!1;function Z(){X||(B.config(),X=!0)}G(Z,"loadEnvFile");function ee(){Z();var e=W(z.env,{CWD:Q({default:z.cwd()}),DEBUG:H({default:!1}),CYBERSKILL_STORAGE_DIRECTORY:Q({default:$.join(J.homedir(),K)})});return{CWD:e.CWD,DEBUG:e.DEBUG,CYBERSKILL_STORAGE_DIRECTORY:e.CYBERSKILL_STORAGE_DIRECTORY}}G(ee,"getEnv");var et={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 en=ee();function er(e){var t=e.message,n=e.status,r=n===void 0?et.INTERNAL_SERVER_ERROR:n,s=e.type,i=s===void 0?"graphql":s;var o;var a=(o=t!==null&&t!==void 0?t:r.MESSAGE)!==null&&o!==void 0?o:"Internal server error";throw i==="graphql"?new V(a,{extensions:{code:r.CODE}}):new Error(a)}G(er,"throwError");en.DEBUG||(Y.level=4);function es(e){var t=q[e];return typeof t=="function"?t:q.green}G(es,"chalkKeyword");var ei={silent:Y.silent,level:Y.level,fatal:Y.fatal,error:Y.error,warn:Y.warn,log:Y.log,info:Y.info,success:Y.success,ready:Y.ready,start:Y.start,box:Y.box,debug:Y.debug,trace:Y.trace,verbose:Y.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)){Y.box(q.green(e));return}t.forEach(function(e){var t=e.file,r=e.position,s=e.rule,i=e.message;Y.log("".concat(q.gray("File:")," ").concat(q.blue("".concat(t).concat(r?":".concat(r):"")))),s&&Y.log(" ".concat(es(n)("Rule:")," ").concat(s)),Y.log(" ".concat(es(n)("Message:")," ").concat(i))}),Y.box(es(n)("".concat(e," : ").concat(t.length))),Y.log(q.gray("─".repeat(40)))}};function eo(e){return new w(h({schema:e.schema,plugins:[e.isDev?j():k(),U({httpServer:e.server})].concat(I(e.drainServer?[{serverWillStart:function t(){return /*#__PURE__*/i(function(){return P(this,function(t){return[2,{drainServer:function t(){return /*#__PURE__*/i(function(){var t;return P(this,function(n){(t=e.drainServer)===null||t===void 0?void 0:t.call(e),ei.info("Apollo Server drainServer hook called");return[2]})})()}}]})})()}}]:[]))},e.isDev&&{introspection:!0,includeStacktraceInErrorResponses:!0}))}G(eo,"createApolloServer");import ea from"node:process";import{hideBin as ec}from"yargs/helpers";import eu from"yargs/yargs";var el={name:"@cyberskill/shared",type:"module",version:"1.128.0",description:"CyberSkill Shared",author:"Stephen Cheng",license:"MIT",homepage:"https://github.com/cyberskill-world/shared#readme",repository:{type:"git",url:"git+https://github.com/cyberskill-world/shared.git"},bugs:{url:"https://github.com/cyberskill-world/shared/issues"},exports:{".":{types:"./dist/index.d.ts",import:"./dist/index.js",require:"./dist/index.cjs"},"./configs":{types:"./dist/configs/index.d.ts",import:"./dist/configs/index.js",require:"./dist/configs/index.cjs"},"./configs/commitlint":{types:"./dist/configs/commitlint/index.d.ts",import:"./dist/configs/commitlint/index.js",require:"./dist/configs/commitlint/index.cjs"},"./configs/env":{types:"./dist/configs/env/index.d.ts",import:"./dist/configs/env/index.js",require:"./dist/configs/env/index.cjs"},"./configs/eslint":{types:"./dist/configs/eslint/index.d.ts",import:"./dist/configs/eslint/index.js",require:"./dist/configs/eslint/index.cjs"},"./configs/graphql-codegen":{types:"./dist/configs/graphql-codegen/index.d.ts",import:"./dist/configs/graphql-codegen/index.js",require:"./dist/configs/graphql-codegen/index.cjs"},"./configs/lint-staged":{types:"./dist/configs/lint-staged/index.d.ts",import:"./dist/configs/lint-staged/index.js",require:"./dist/configs/lint-staged/index.cjs"},"./constants":{types:"./dist/constants/index.d.ts",import:"./dist/constants/index.js",require:"./dist/constants/index.cjs"},"./node":{types:"./dist/node/index.d.ts",import:"./dist/node/index.js",require:"./dist/node/index.cjs"},"./node/apollo-server":{types:"./dist/node/apollo-server/index.d.ts",import:"./dist/node/apollo-server/index.js",require:"./dist/node/apollo-server/index.cjs"},"./node/cli":{types:"./dist/node/cli/index.d.ts",import:"./dist/node/cli/index.js",require:"./dist/node/cli/index.cjs"},"./node/command":{types:"./dist/node/command/index.d.ts",import:"./dist/node/command/index.js",require:"./dist/node/command/index.cjs"},"./node/express":{types:"./dist/node/express/index.d.ts",import:"./dist/node/express/index.js",require:"./dist/node/express/index.cjs"},"./node/fs":{types:"./dist/node/fs/index.d.ts",import:"./dist/node/fs/index.js",require:"./dist/node/fs/index.cjs"},"./node/log":{types:"./dist/node/log/index.d.ts",import:"./dist/node/log/index.js",require:"./dist/node/log/index.cjs"},"./node/mongo":{types:"./dist/node/mongo/index.d.ts",import:"./dist/node/mongo/index.js",require:"./dist/node/mongo/index.cjs"},"./node/package":{types:"./dist/node/package/index.d.ts",import:"./dist/node/package/index.js",require:"./dist/node/package/index.cjs"},"./node/path":{types:"./dist/node/path/index.d.ts",import:"./dist/node/path/index.js",require:"./dist/node/path/index.cjs"},"./node/storage":{types:"./dist/node/storage/index.d.ts",import:"./dist/node/storage/index.js",require:"./dist/node/storage/index.cjs"},"./node/ws":{types:"./dist/node/ws/index.d.ts",import:"./dist/node/ws/index.js",require:"./dist/node/ws/index.cjs"},"./react":{types:"./dist/react/index.d.ts",import:"./dist/react/index.js",require:"./dist/react/index.cjs"},"./react/apollo-client":{types:"./dist/react/apollo-client/index.d.ts",import:"./dist/react/apollo-client/index.js",require:"./dist/react/apollo-client/index.cjs"},"./react/apollo-error":{types:"./dist/react/apollo-error/index.d.ts",import:"./dist/react/apollo-error/index.js",require:"./dist/react/apollo-error/index.cjs"},"./react/i18next":{types:"./dist/react/i18next/index.d.ts",import:"./dist/react/i18next/index.js",require:"./dist/react/i18next/index.cjs"},"./react/loading":{types:"./dist/react/loading/index.d.ts",import:"./dist/react/loading/index.js",require:"./dist/react/loading/index.cjs"},"./react/log":{types:"./dist/react/log/index.d.ts",import:"./dist/react/log/index.js",require:"./dist/react/log/index.cjs"},"./react/next-intl":{types:"./dist/react/next-intl/index.d.ts",import:"./dist/react/next-intl/index.js",require:"./dist/react/next-intl/index.cjs"},"./react/storage":{types:"./dist/react/storage/index.d.ts",import:"./dist/react/storage/index.js",require:"./dist/react/storage/index.cjs"},"./react/toast":{types:"./dist/react/toast/index.d.ts",import:"./dist/react/toast/index.js",require:"./dist/react/toast/index.cjs"},"./react/vitest":{types:"./dist/react/vitest/index.d.ts",import:"./dist/react/vitest/index.js",require:"./dist/react/vitest/index.cjs"},"./styles/reset.css":{import:"./dist/styles/reset.css",require:"./dist/styles/reset.css"},"./typescript":{types:"./dist/typescript/index.d.ts",import:"./dist/typescript/index.js",require:"./dist/typescript/index.cjs"},"./utils":{types:"./dist/utils/index.d.ts",import:"./dist/utils/index.js",require:"./dist/utils/index.cjs"}},main:"./dist/index.cjs",module:"./dist/index.js",types:"./dist/index.d.ts",bin:{cyberskill:"./dist/node/cli/index.js"},files:["dist","public"],scripts:{build:"tsup",dev:"tsup --watch",lint:"tsx src/node/cli/index.ts lint","lint:fix":"tsx src/node/cli/index.ts lint:fix","lint:inspect":"tsx src/node/cli/index.ts lint:inspect",reset:"tsx src/node/cli/index.ts reset",prepare:"tsx src/node/cli/index.ts prepare",inspect:"tsx src/node/cli/index.ts inspect","test:unit":"tsx src/node/cli/index.ts test:unit","test:e2e":"tsx src/node/cli/index.ts test:e2e",commitlint:"tsx src/node/cli/index.ts commitlint","lint-staged":"tsx src/node/cli/index.ts lint-staged"},dependencies:{"@antfu/eslint-config":"4.12.0","@apollo/client":"3.13.8","@apollo/server":"4.12.0","@dotenvx/dotenvx":"1.42.0","@eddeee888/gcg-typescript-resolver-files":"0.12.0","@eslint-react/eslint-plugin":"1.48.5","@graphql-codegen/cli":"5.0.5","@graphql-codegen/client-preset":"4.8.0","@microsoft/api-extractor":"7.52.5","@nestjs/common":"11.1.0","@nestjs/core":"11.1.0","@next/eslint-plugin-next":"15.3.1","@testing-library/jest-dom":"6.6.3","@testing-library/react":"16.3.0","@vitejs/plugin-react-swc":"3.9.0","@vitest/browser":"3.1.2","body-parser":"2.2.0",chalk:"5.4.1",classnames:"2.5.1",compression:"1.8.0",consola:"3.4.2","cookie-parser":"1.4.7",cors:"2.8.5","crypto-js":"4.2.0","date-fns":"4.1.0","dotenv-cli":"8.0.0",envalid:"8.0.0","eslint-config-next":"15.3.1","eslint-plugin-format":"1.0.1","eslint-plugin-react-hooks":"5.2.0","eslint-plugin-react-refresh":"0.4.20",express:"4.21.2","express-session":"1.18.1","express-useragent":"1.0.15","fs-extra":"11.3.0",globals:"16.0.0",graphql:"16.11.0","graphql-ws":"6.0.4",i18next:"25.0.2",jsdom:"26.1.0",localforage:"1.10.0","migrate-mongo":"12.1.3","modern-normalize":"3.0.1",mongodb:"6.16.0",mongoose:"8.14.1","mongoose-aggregate-paginate-v2":"1.1.4","mongoose-paginate-v2":"1.9.0","next-intl":"4.1.0","node-fetch":"3.3.2","node-persist":"4.0.4",playwright:"1.52.0","postcss-modules":"6.0.1",qs:"6.14.0",react:"19.1.0","react-dom":"19.1.0","react-hot-toast":"2.5.2","react-i18next":"15.5.1","react-icons":"5.5.0",sass:"1.87.0",slugify:"1.6.6",tsup:"8.4.0",tsx:"4.19.4",typescript:"5.8.3",unorm:"1.6.0",uuid:"11.1.0",vite:"6.3.4",vitest:"3.1.2","vitest-browser-react":"0.1.1",ws:"8.18.1",yargs:"17.7.2"},publishConfig:{access:"public",registry:"https://registry.npmjs.org/"},devDependencies:{"@commitlint/cli":"19.8.0","@eslint/config-inspector":"1.0.2","@types/body-parser":"1.19.5","@types/compression":"1.7.5","@types/cookie-parser":"1.4.8","@types/cors":"2.8.17","@types/crypto-js":"4.2.2","@types/express":"4.17.21","@types/express-session":"1.18.1","@types/express-useragent":"1.0.5","@types/fs-extra":"11.0.4","@types/migrate-mongo":"10.0.5","@types/mongoose-aggregate-paginate-v2":"1.0.12","@types/node":"22.15.3","@types/node-persist":"3.1.8","@types/react":"19.1.2","@types/react-dom":"19.1.3","@types/unorm":"1.3.31","@types/uuid":"10.0.0","@types/ws":"8.18.1","@types/yargs":"17.0.33",eslint:"9.25.1","lint-staged":"15.5.1","node-modules-inspector":"0.6.7","simple-git-hooks":"2.13.0"}};var ed=function(e){return e.CLI="CLI",e.STRING="STRING",e.FUNCTION="FUNCTION",e}({});import{exec as ep}from"node:child_process";import ef from"node:process";import*as eE from"node:util";var em=function(e){return e.DEPENDENCY="dependencies",e.DEV_DEPENDENCY="devDependencies",e.PEER_DEPENDENCY="peerDependencies",e.BUNDLE_DEPENDENCY="bundleDependencies",e.OPTIONAL_DEPENDENCY="optionalDependencies",e}({});import eg from"node-fetch";import e_ from"fs-extra";import eh from"node:path";var ey=ee(),ev=eh;function eS(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}var r;return(r=ev).resolve.apply(r,[ey.CWD].concat(I(t)))}G(eS,"resolveWorkingPath");function eO(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}var r;return(r=ev).resolve.apply(r,I(t))}G(eO,"resolve");function eR(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}var r;return(r=ev).join.apply(r,I(t))}G(eR,"join");var eC=ee(),eD=eC.CWD,eI="@cyberskill/shared",eN="node_modules",eA="dist",eT="package.json",eP="package-lock.json",eb="tsconfig.json",ex=".gitignore",eG=".simple-git-hooks.json",eM="pnpm-lock.yaml",ew=".git/hooks/",eL=".git/COMMIT_EDITMSG",eU=".migrate-mongo.config.js",ej=eR(eD,eN,eI,eA),ek="cyberskill",eF="src/node/cli/index.ts",eq="eslint",eY="eslint",eV="vitest",eK="playwright",eB="vitest",eH="@commitlint/cli",eW="commitlint",eQ="lint-staged",eJ="lint-staged",e$="typescript",ez="tsc",eX="tsx",eZ="git",e0="pnpm",e1="pnpm exec",e2="simple-git-hooks",e4="simple-git-hooks",e3="@eslint/config-inspector",e5="eslint-config-inspector",e8="node-modules-inspector",e6="node-modules-inspector",e7="migrate-mongo",e9="./node_modules/migrate-mongo/bin/migrate-mongo",te={CYBERSKILL_DIRECTORY:ej,WORKING_DIRECTORY:eD,TS_CONFIG:eS(eb),GIT_IGNORE:eS(ex),GIT_HOOK:eS(ew),GIT_COMMIT_MSG:eS(eL),SIMPLE_GIT_HOOKS_JSON:eS(eG),PACKAGE_JSON:eS(eT),PACKAGE_LOCK_JSON:eS(eP),PNPM_LOCK_YAML:eS(eM),NODE_MODULES:eS(eN),MIGRATE_MONGO_CONFIG:eS(eU),LINT_STAGED_CONFIG:eS("".concat(ej,"/configs/lint-staged/index.js")),COMMITLINT_CONFIG:eS("".concat(ej,"/configs/commitlint/index.js")),UNIT_TEST_CONFIG:eS("".concat(ej,"/react/vitest/vitest.unit.js")),UNIT_TEST_SETUP_CONFIG:eS("".concat(ej,"/react/vitest/vitest.unit.setup.js")),E2E_TEST_CONFIG:eS("".concat(ej,"/react/vitest/vitest.e2e.js"))};function tt(e){var t=e.isCurrentProject;return h({"pre-commit":eJ,"commit-msg":eW},t&&{"pre-push":tL("".concat(eZ," pull"))})}G(tt,"createGitHooksConfig");function tn(e){var t=e.type,n=e.packages,r=e.command;var s=n===null||n===void 0?void 0:n.reduce(function(e,t){return e.some(function(e){return e.name===t.name})||e.push(t),e},[]);return function(){return /*#__PURE__*/i(function(){var e;return P(this,function(n){switch(n.label){case 0:switch(t){case ed.CLI:return[3,1];case ed.STRING:return[3,4]}return[3,5];case 1:e=s===null||s===void 0?void 0:s.length;if(!e)return[3,3];return[4,tO(s,{update:!0})];case 2:e=n.sent();n.label=3;case 3:return[2,(e,tj(tL("".concat(e1," ").concat(r))))];case 4:return[2,tj(tL(r))];case 5:throw new Error("Unsupported command type");case 6:return[2]}})})()}}G(tn,"buildCommand");var tr={simpleGitHooks:tn({type:ed.CLI,packages:[{name:e2,type:em.DEV_DEPENDENCY}],command:e4}),eslintInspect:tn({type:ed.CLI,packages:[{name:e3,type:em.DEV_DEPENDENCY}],command:e5}),nodeModulesInspect:tn({type:ed.CLI,packages:[{name:e8,type:em.DEV_DEPENDENCY}],command:e6}),eslintCheck:tn({type:ed.CLI,packages:[{name:eq,type:em.DEV_DEPENDENCY}],command:"".concat(eY," ").concat(te.WORKING_DIRECTORY," --no-cache")}),eslintFix:tn({type:ed.CLI,packages:[{name:eq,type:em.DEV_DEPENDENCY}],command:"".concat(eY," ").concat(te.WORKING_DIRECTORY," --fix --no-cache")}),typescriptCheck:tn({type:ed.CLI,packages:[{name:e$,type:em.DEPENDENCY}],command:"".concat(ez," -p ").concat(te.TS_CONFIG," --noEmit")}),testUnit:tn({type:ed.CLI,packages:[{name:eV,type:em.DEV_DEPENDENCY}],command:"".concat(eB," --config ").concat(te.UNIT_TEST_CONFIG)}),testE2e:tn({type:ed.CLI,packages:[{name:eV,type:em.DEV_DEPENDENCY}],command:"".concat(eB," --config ").concat(te.E2E_TEST_CONFIG)}),mongoMigrateCreate:G(function(e){return tn({type:ed.CLI,packages:[{name:e7,type:em.DEPENDENCY}],command:"".concat(eX," ").concat(e9," create ").concat(e," -f ").concat(te.MIGRATE_MONGO_CONFIG)})()},"mongoMigrateCreate"),mongoMigrateUp:tn({type:ed.CLI,packages:[{name:e7,type:em.DEPENDENCY}],command:"".concat(eX," ").concat(e9," up -f ").concat(te.MIGRATE_MONGO_CONFIG)}),mongoMigrateDown:tn({type:ed.CLI,packages:[{name:e7,type:em.DEPENDENCY}],command:"".concat(eX," ").concat(e9," down -f ").concat(te.MIGRATE_MONGO_CONFIG)}),commitLint:tn({type:ed.CLI,packages:[{name:eH,type:em.DEV_DEPENDENCY}],command:"".concat(eW," --edit ").concat(te.GIT_COMMIT_MSG," --config ").concat(te.COMMITLINT_CONFIG)}),lintStaged:tn({type:ed.CLI,packages:[{name:eQ,type:em.DEV_DEPENDENCY}],command:"".concat(eJ," --config ").concat(te.LINT_STAGED_CONFIG)}),configureGitHook:tn({type:ed.STRING,command:"".concat(eZ," config core.hooksPath ").concat(te.GIT_HOOK)}),stageBuildDirectory:tn({type:ed.STRING,command:"".concat(eZ," add ").concat(eA)}),build:tn({type:ed.STRING,command:"".concat(e0," run build")}),pnpmInstallStandard:tn({type:ed.STRING,command:"".concat(e0," install")}),pnpmInstallLegacy:tn({type:ed.STRING,command:"".concat(e0," install --legacy-peer-deps")}),pnpmInstallForce:tn({type:ed.STRING,command:"".concat(e0," install --force")})};var ts=e_,ti=e_.lstatSync,to=e_.readdirSync,ta=e_.mkdirSync,tc=e_.readFileSync,tu=e_.unlinkSync,tl=e_.statSync,td=e_.readJsonSync;function tp(e,t,n){e_.writeFileSync(e,t,n!==null&&n!==void 0?n:"utf-8")}G(tp,"writeFileSync");function tf(e,t,n){e_.appendFileSync(e,t,n!==null&&n!==void 0?n:"utf-8")}G(tf,"appendFileSync");function tE(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}return t.every(function(e){return e_.pathExistsSync(e)})}G(tE,"pathExistsSync");function tm(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}t.forEach(function(e){tE(e)&&e_.removeSync(e)})}G(tm,"removeSync");function tg(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};var r=n.extensions,s=S(n,["extensions"]);e_.copySync(e,t,h({filter:G(function(e){return tl(e).isDirectory()||!r||r.length===0?!0:r.includes(ev.extname(e))},"filter")},s))}G(tg,"copySync");var t_=ee();function th(e){return /*#__PURE__*/i(function(){var t,n,r,s;return P(this,function(i){switch(i.label){case 0:i.trys.push([0,3,,4]);return[4,eg("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 ei.error('Failed to fetch version for "'.concat(e,'": ').concat(s.message)),s;case 4:return[2]}})})()}G(th,"getLatestPackageVersion");function ty(e){return /*#__PURE__*/i(function(){var t,n,r,s,i,o,a,c,u,l,d,p,f,E,m,g,_,h,y;return P(this,function(v){switch(v.label){case 0:v.trys.push([0,2,,3]);if(!tE(te.PACKAGE_JSON))return[2,{name:e.name,currentVersion:"",latestVersion:"",isCurrentProject:!1,isInstalled:!1,isUpToDate:!1,isDependency:e.type===em.DEPENDENCY,isDevDependency:e.type===em.DEV_DEPENDENCY,installedPath:"",file:{}}];t=td(te.PACKAGE_JSON),n=t.name,r=t.version,s=r===void 0?"":r,i=t.dependencies,o=i===void 0?{}:i,a=t.devDependencies,c=a===void 0?{}:a;if(e.name===n)return[2,{name:n,currentVersion:s,latestVersion:s,isCurrentProject:!0,isInstalled:!0,isUpToDate:!0,isDependency:e.type===em.DEPENDENCY,isDevDependency:e.type===em.DEV_DEPENDENCY,installedPath:te.PACKAGE_JSON,file:t}];u=e.name in o,l=e.name in c;return[4,th(e.name)];case 1:d=v.sent();if(!u&&!l)return[2,{name:e.name,currentVersion:"",latestVersion:d,isCurrentProject:!1,isInstalled:!1,isUpToDate:!1,isDependency:e.type===em.DEPENDENCY,isDevDependency:e.type===em.DEV_DEPENDENCY,installedPath:"",file:{}}];E=(f=(p=o[e.name])!==null&&p!==void 0?p:c[e.name])!==null&&f!==void 0?f:"",m=eR(t_.CWD,eN,e.name,eT);if(!tE(m))return[2,{name:e.name,currentVersion:"",latestVersion:d,isCurrentProject:!1,isInstalled:!1,isUpToDate:!1,isDependency:u,isDevDependency:l,installedPath:"",file:{}}];g=td(m),_=g.version,h=_===void 0?"":_;return[2,E!==h?{name:e.name,currentVersion:h||E,latestVersion:d,isCurrentProject:!1,isInstalled:!0,isUpToDate:!1,isDependency:u,isDevDependency:l,installedPath:m,file:g}:{name:e.name,currentVersion:E,latestVersion:d,isCurrentProject:!1,isInstalled:!0,isUpToDate:E===d,isDependency:u,isDevDependency:l,installedPath:m,file:g}];case 2:y=v.sent();throw ei.error('Error getting package "'.concat(e.name,'": ').concat(y.message)),y;case 3:return[2]}})})()}G(ty,"getPackage");function tv(e){return /*#__PURE__*/i(function(){var t,n,r,s,i;return P(this,function(o){try{;r=td(te.PACKAGE_JSON),s=(t=r.dependencies)!==null&&t!==void 0?t:{},i=(n=r.devDependencies)!==null&&n!==void 0?n:{};e.isDependency?s[e.name]=e.latestVersion:e.isDevDependency&&(i[e.name]=e.latestVersion),tp(te.PACKAGE_JSON,JSON.stringify(r,null,4)),ei.info('Updated "'.concat(e.name,'" to version ').concat(e.latestVersion))}catch(t){throw ei.error('Error updating package "'.concat(e.name,'": ').concat(t.message)),t}return[2]})})()}G(tv,"updatePackage");function tS(){return /*#__PURE__*/i(function(){var e,t,n,r,s,i,o,a,c,u,l,d,p;return P(this,function(f){switch(f.label){case 0:f.trys.push([0,12,,13]);e=[{command:G(function(){return tr.pnpmInstallStandard()},"command"),message:"Installing dependencies (standard)"},{command:G(function(){return tr.pnpmInstallLegacy()},"command"),message:"Retrying with legacy peer dependencies"},{command:G(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,a=o.command,c=o.message;f.label=3;case 3:f.trys.push([3,6,,7]);return[4,a()];case 4:u=f.sent();return[4,tF("".concat(c," using: ").concat(u),u)];case 5:f.sent();return[2];case 6:l=f.sent();ei.warn("Installation attempt failed: ".concat(c)),ei.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:return[3,13];case 12:p=f.sent();throw ei.error("Failed to install dependencies: ".concat(p.message)),p;case 13:return[2]}})})()}G(tS,"installDependencies");function tO(e,t){return /*#__PURE__*/i(function(){var n,r,s,i,o,a,c,u,l,d,p;return P(this,function(f){switch(f.label){case 0:if(!tE(te.PACKAGE_JSON)){ei.error("package.json not found. Aborting setup.");return[2]}f.label=1;case 1:f.trys.push([1,14,,15]);return[4,Promise.all(e.map(ty))];case 2:n=f.sent().filter(function(e){return!e.isCurrentProject&&(!e.isInstalled||!e.isUpToDate)});r=n.length>0;if(!r)return[3,5];return[4,Promise.all(n.map(tv))];case 3:f.sent();return[4,tS()];case 4:r=f.sent();f.label=5;case 5:r;i=true,o=false,a=undefined;f.label=6;case 6:f.trys.push([6,11,12,13]);c=((s=t===null||t===void 0?void 0:t.postInstallActions)!==null&&s!==void 0?s:[])[Symbol.iterator]();f.label=7;case 7:if(!!(i=(u=c.next()).done))return[3,10];l=u.value;return[4,l()];case 8:f.sent();f.label=9;case 9:i=true;return[3,7];case 10:return[3,13];case 11:d=f.sent();o=true;a=d;return[3,13];case 12:try{if(!i&&c.return!=null){c.return()}}finally{if(o){throw a}}return[7];case 13:return[3,15];case 14:p=f.sent();throw ei.error('Failed to setup "'.concat(e.map(function(e){return e.name}).join(", "),'": ').concat(p.message)),p;case 15:return[2]}})})()}G(tO,"setupPackages");import tR from"node-persist";var tC=ee();function tD(){return /*#__PURE__*/i(function(){var e;return P(this,function(t){switch(t.label){case 0:e=tR.defaultInstance;if(e)return[3,2];return[4,tR.init({dir:tC.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]}})})()}G(tD,"initNodePersist");var tI={get:function e(e){return /*#__PURE__*/i(function(){var t,n;return P(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,tD()];case 1:r.sent();return[4,tR.getItem(e)];case 2:return[2,(t=r.sent())!==null&&t!==void 0?t:null];case 3:n=r.sent();return[2,(ei.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 P(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,tD()];case 1:r.sent();return[4,tR.setItem(e,t)];case 2:r.sent();return[3,4];case 3:n=r.sent();ei.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 P(this,function(n){switch(n.label){case 0:n.trys.push([0,3,,4]);return[4,tD()];case 1:n.sent();return[4,tR.removeItem(e)];case 2:n.sent();return[3,4];case 3:t=n.sent();ei.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 P(this,function(n){switch(n.label){case 0:n.trys.push([0,3,,4]);return[4,tD()];case 1:n.sent();return[4,tR.keys()];case 2:e=n.sent();return[2,Array.isArray(e)?e:(ei.warn("[Storage:keys] Invalid keys response:",e),[])];case 3:t=n.sent();return[2,(ei.error("[Storage:keys] Error getting keys:",t),[])];case 4:return[2]}})})()},getLogLink:function e(e){return /*#__PURE__*/i(function(){return P(this,function(t){try{return[2,"".concat(tC.CYBERSKILL_STORAGE_DIRECTORY," (key: ").concat(e,")")]}catch(e){return[2,(ei.error("[Storage:getLogLink] Error getting log link:",e),null)]}return[2]})})()}};var tN=ee(),tA=eE.promisify(ep);function tT(e){return"error_list:".concat(e)}G(tT,"getErrorListKey");function tP(e){return /*#__PURE__*/i(function(){var t,n,r;return P(this,function(s){switch(s.label){case 0:if(e.length===0)return[2];t=Date.now(),n=tT(t);s.label=1;case 1:s.trys.push([1,3,,4]);return[4,tI.set(n,{errors:e,timestamp:t})];case 2:s.sent(),setTimeout(function(){return /*#__PURE__*/i(function(){var e;return P(this,function(t){switch(t.label){case 0:return[4,tI.getLogLink(n)];case 1:e=t.sent();e&&ei.info("\uD83D\uDCC2 Open the error list manually: ".concat(e));return[2]}})})()},10);return[3,4];case 3:r=s.sent();ei.error("Failed to save errors: ".concat(r.message));return[3,4];case 4:return[2]}})})()}G(tP,"saveErrorListToStorage");function tb(){return /*#__PURE__*/i(function(){var e,t,n;return P(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,tI.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 P(this,function(n){switch(n.label){case 0:return[4,tI.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,(ei.error("Failed to retrieve stored errors: ".concat(n.message)),[])];case 4:return[2]}})})()}G(tb,"getStoredErrorLists");function tx(){return /*#__PURE__*/i(function(){var e,t,n;return P(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,tI.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 tI.remove(e)}))];case 2:r.sent();return[3,4];case 3:n=r.sent();ei.error("Failed to clear error lists: ".concat(n.message));return[3,4];case 4:return[2]}})})()}G(tx,"clearAllErrorLists");function tG(e){var t=[],n=[],r="",s=/^\s*(\d+):(\d+)\s+(error|warning)\s+(.+?)\s+(\S+)$/,i=/^(.+?)\((\d+),(\d+)\):\s+(error|warning)\s+TS\d+:\s+(\S.+)$/,o=/^✖\s+(.*?)\s+\[(.*?)\]$/;e.split("\n").forEach(function(e){if(e.startsWith("/"))r=e.trim();else{var a,c,u,l,d;var p=s.exec(e)||[],f=i.exec(e)||[],E=o.exec(e)||[];var m,g,_,h,y,v;p.length&&r?t.push({file:r,position:"".concat(p[1],":").concat(p[2]),type:p[3]===F.Error?F.Error:F.Warning,message:(m=p===null||p===void 0?void 0:(a=p[4])===null||a===void 0?void 0:a.trim())!==null&&m!==void 0?m:"",rule:(g=p===null||p===void 0?void 0:(c=p[5])===null||c===void 0?void 0:c.trim())!==null&&g!==void 0?g:""}):f.length?t.push({file:(_=f===null||f===void 0?void 0:f[1])!==null&&_!==void 0?_:"",position:"".concat(f[2],":").concat(f[3]),type:f[4]===F.Error?F.Error:F.Warning,message:(h=f===null||f===void 0?void 0:(u=f[5])===null||u===void 0?void 0:u.trim())!==null&&h!==void 0?h:""}):E.length?t.push({file:"commitlint",type:F.Error,message:(y=E===null||E===void 0?void 0:(l=E[1])===null||l===void 0?void 0:l.trim())!==null&&y!==void 0?y:"",rule:(v=E===null||E===void 0?void 0:(d=E[2])===null||d===void 0?void 0:d.trim())!==null&&v!==void 0?v:""}):n.push(e.trim())}}),t.length&&tP(t),tN.DEBUG&&n.length&&(ei.warn("Unmatched lines:"),n.forEach(function(e){return ei.info(" ".concat(e))}))}G(tG,"parseTextErrors");function tM(e){try{var t=JSON.parse(e),n=[];t.forEach(function(e){var t=e.filePath,r=e.messages;r.forEach(function(e){var r=e.severity,s=e.line,i=e.column,o=e.ruleId,a=e.message;n.push({type:r===2?F.Error:F.Warning,file:t,position:"".concat(s,":").concat(i),rule:o,message:a})})}),n.length&&tP(n)}catch(t){tG(e)}}G(tM,"parseCommandOutput");function tw(e){return /*#__PURE__*/i(function(e){var t,n,r,s,i,o,a,c,u;var l=arguments;return P(this,function(d){switch(d.label){case 0:t=l.length>1&&l[1]!==void 0?l[1]:tM;n=new AbortController;ef.on("SIGINT",function(){ei.warn("Process interrupted. Terminating..."),n.abort(),ef.exit()});d.label=1;case 1:d.trys.push([1,4,,5]);if(!(typeof e=="string"))return[3,3];return[4,tA(e,{maxBuffer:0x6400000,signal:n.signal})];case 2:r=d.sent(),s=r.stdout,i=r.stderr;[s,i].forEach(function(e){return e&&t(e)});d.label=3;case 3:return[3,5];case 4:o=d.sent();a=o.stdout,c=o.stderr,u=o.message;[a,c].forEach(function(e){return e&&t(e)}),!c&&!a&&ei.error("Command failed: ".concat(u));return[3,5];case 5:return[2]}})}).apply(this,arguments)}G(tw,"executeCommand");function tL(e){return{raw:!0,cmd:e}}G(tL,"rawCommand");function tU(e,t){return(t===null||t===void 0?void 0:t.isCurrentProject)?"".concat(e1," ").concat(eX," ").concat(eF," ").concat(e):"".concat(e1," ").concat(ek," ").concat(e)}G(tU,"formatCLI");function tj(e,t){return typeof e=="function"?tU(e(t),t):(typeof e==="undefined"?"undefined":N(e))=="object"&&(e===null||e===void 0?void 0:e.raw)===!0?e.cmd:typeof e=="string"?tU(e,t):e}G(tj,"formatCommand");function tk(e){return /*#__PURE__*/i(function(){var t,n,r,s;return P(this,function(i){switch(i.label){case 0:return[4,ty({name:eI})];case 1:t=i.sent(),n=t.isCurrentProject,r={isCurrentProject:n},s=typeof e=="function"?e(r):e;return[2,Object.fromEntries(Object.entries(s).map(function(e){var t=D(e,2),n=t[0],s=t[1];return[n,tj(s,r)]}))]}})})()}G(tk,"resolveCommands");function tF(e,t){return /*#__PURE__*/i(function(){var n;return P(this,function(r){switch(r.label){case 0:r.trys.push([0,2,,3]);ei.start("".concat(e)),tN.DEBUG&&ei.info("→ ".concat(t));return[4,tw(t)];case 1:r.sent(),ei.success("".concat(e," done."));return[3,3];case 2:n=r.sent();throw ei.error("".concat(e," failed: ").concat(n.message)),n;case 3:return[2]}})})()}G(tF,"runCommand");function tq(){return /*#__PURE__*/i(function(){var e,t;return P(this,function(n){switch(n.label){case 0:if(!tE(te.TS_CONFIG))return[3,3];t=["Performing TypeScript validation"];return[4,tr.typescriptCheck()];case 1:return[4,tF.apply(void 0,t.concat([n.sent()]))];case 2:e=n.sent();return[3,4];case 3:e=ei.warn("No TypeScript configuration found. Skipping type check.");n.label=4;case 4:e;return[2]}})})()}G(tq,"checkTypescript");function tY(){return /*#__PURE__*/i(function(){var e,t,n,r;var s=arguments;return P(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,tF.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,tF.apply(void 0,r.concat([i.sent()]))];case 5:t=i.sent();i.label=6;case 6:t;return[2]}})}).apply(this,arguments)}G(tY,"checkEslint");function tV(e,t){if(!t.length)return;var n=e==="Errors"?"red":"yellow";ei.printBoxedLog(e==="Errors"?"✖ Errors":"⚠ Warnings",t,n)}G(tV,"printIssues");function tK(){return /*#__PURE__*/i(function(){var e,t,n;return P(this,function(r){switch(r.label){case 0:return[4,tb()];case 1:e=r.sent(),t=e.filter(function(e){return e.type===F.Error}),n=e.filter(function(e){return e.type===F.Warning});!t.length&&!n.length?ei.printBoxedLog("✔ NO ISSUES FOUND",[],"green"):(tV("Warnings",n),tV("Errors",t),(t.length>0||n.length>0)&&ea.exit(1));return[2]}})})()}G(tK,"showCheckResult");function tB(){return /*#__PURE__*/i(function(){var e,t,n,r,s,i;return P(this,function(o){switch(o.label){case 0:return[4,tx()];case 1:o.sent();return[4,ty({name:eI})];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(eI)];return[4,tr.build()];case 4:return[4,tF.apply(void 0,n.concat([o.sent()]))];case 5:o.sent();r=["Staging build artifacts"];return[4,tr.stageBuildDirectory()];case 6:return[4,tF.apply(void 0,r.concat([o.sent()]))];case 7:o.sent();return[3,9];case 8:s=o.sent();throw ei.error("Error building and staging ".concat(eI,": ").concat(s.message)),s;case 9:i=["Executing lint-staged"];return[4,tr.lintStaged()];case 10:return[4,tF.apply(void 0,i.concat([o.sent()]))];case 11:o.sent(),tK();return[2]}})})()}G(tB,"lintStaged");function tH(){return /*#__PURE__*/i(function(){var e;return P(this,function(t){switch(t.label){case 0:e=["Inspecting ESLint configuration"];return[4,tr.eslintInspect()];case 1:return[4,tF.apply(void 0,e.concat([t.sent()]))];case 2:t.sent();return[2]}})})()}G(tH,"inspectLint");function tW(){return /*#__PURE__*/i(function(){return P(this,function(e){switch(e.label){case 0:return[4,tx()];case 1:e.sent();return[4,Promise.all([tq(),tY()])];case 2:e.sent(),tK();return[2]}})})()}G(tW,"lintCheck");function tQ(){return /*#__PURE__*/i(function(){return P(this,function(e){switch(e.label){case 0:return[4,tx()];case 1:e.sent();return[4,Promise.all([tq(),tY(!0)])];case 2:e.sent(),tK();return[2]}})})()}G(tQ,"lintFix");function tJ(){return /*#__PURE__*/i(function(){var e;return P(this,function(t){switch(t.label){case 0:return[4,tx()];case 1:t.sent();e=["Validating commit message"];return[4,tr.commitLint()];case 2:return[4,tF.apply(void 0,e.concat([t.sent()]))];case 3:t.sent(),tK();return[2]}})})()}G(tJ,"commitLint");function t$(){return /*#__PURE__*/i(function(){var e,t,n,r;return P(this,function(s){switch(s.label){case 0:e=["Configuring Git hooks"];return[4,tr.configureGitHook()];case 1:return[4,tF.apply(void 0,e.concat([s.sent()]))];case 2:s.sent(),tm(te.GIT_HOOK);return[4,tk(tt)];case 3:t=s.sent();tp(te.SIMPLE_GIT_HOOKS_JSON,JSON.stringify(t,null,4));n="\n".concat(eG,"\n");tE(te.GIT_IGNORE)?tc(te.GIT_IGNORE,"utf-8").split("\n").includes(eG)||tf(te.GIT_IGNORE,n):tp(te.GIT_IGNORE,n);r=["Setting up simple-git-hooks"];return[4,tr.simpleGitHooks()];case 4:return[4,tF.apply(void 0,r.concat([s.sent()]))];case 5:s.sent();return[2]}})})()}G(t$,"setupGitHook");function tz(){return /*#__PURE__*/i(function(){return P(this,function(e){switch(e.label){case 0:return[4,tO([{name:eI,type:em.DEPENDENCY}],{update:!0,postInstallActions:[t$]})];case 1:e.sent();return[2]}})})()}G(tz,"prepare");function tX(){return /*#__PURE__*/i(function(){return P(this,function(e){switch(e.label){case 0:tm(te.NODE_MODULES,te.PNPM_LOCK_YAML);return[4,tS()];case 1:e.sent();return[4,t$()];case 2:e.sent();return[2]}})})()}G(tX,"reset");function tZ(){return /*#__PURE__*/i(function(){var e;return P(this,function(t){switch(t.label){case 0:e=["Inspecting project dependencies"];return[4,tr.nodeModulesInspect()];case 1:return[4,tF.apply(void 0,e.concat([t.sent()]))];case 2:t.sent();return[2]}})})()}G(tZ,"inspect");function t0(){return /*#__PURE__*/i(function(){var e;return P(this,function(t){switch(t.label){case 0:e=["Running unit tests"];return[4,tr.testUnit()];case 1:return[4,tF.apply(void 0,e.concat([t.sent()]))];case 2:t.sent();return[2]}})})()}G(t0,"testUnit");function t1(){return /*#__PURE__*/i(function(){var e;return P(this,function(t){switch(t.label){case 0:e=["Running end-to-end tests"];return[4,tr.testE2e()];case 1:return[4,tF.apply(void 0,e.concat([t.sent()]))];case 2:t.sent();return[2]}})})()}G(t1,"testE2E");function t2(e){return /*#__PURE__*/i(function(){var t;return P(this,function(n){switch(n.label){case 0:t=["Creating MongoDB migration"];return[4,tr.mongoMigrateCreate(e)];case 1:return[4,tF.apply(void 0,t.concat([n.sent()]))];case 2:n.sent();return[2]}})})()}G(t2,"mongoMigrateCreate");function t4(){return /*#__PURE__*/i(function(){var e;return P(this,function(t){switch(t.label){case 0:e=["Running MongoDB migrations"];return[4,tr.mongoMigrateUp()];case 1:return[4,tF.apply(void 0,e.concat([t.sent()]))];case 2:t.sent();return[2]}})})()}G(t4,"mongoMigrateUp");function t3(){return /*#__PURE__*/i(function(){var e;return P(this,function(t){switch(t.label){case 0:e=["Rolling back MongoDB migration"];return[4,tr.mongoMigrateDown()];case 1:return[4,tF.apply(void 0,e.concat([t.sent()]))];case 2:t.sent();return[2]}})})()}G(t3,"mongoMigrateDown");(function(){return /*#__PURE__*/i(function(){var e;return P(this,function(t){switch(t.label){case 0:t.trys.push([0,2,,3]);return[4,eu(ec(ea.argv)).scriptName(ek).usage("$0 <command> [options]").command("lint","Check code for linting issues",tW).command("lint:fix","Fix linting issues automatically",tQ).command("lint:inspect","View active ESLint configuration",tH).command("lint-staged","Run lint checks on staged files",tB).command("commitlint","Validate commit message format",tJ).command("prepare","Initialize project and dependencies",tz).command("reset","Reset the project and reinstall dependencies",tX).command("inspect","Analyze installed project dependencies",tZ).command("test:unit","Run unit test suite",t0).command("test:e2e","Run end-to-end test suite",t1).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 P(this,function(t){switch(t.label){case 0:if(!e.name){ei.error("Migration name is required.");return[2]}return[4,t2(e.name)];case 1:t.sent();return[2]}})})()}).command("mongo:migrate:up","Apply all MongoDB migrations",t4).command("mongo:migrate:down","Rollback last MongoDB migration",t3).demandCommand(1,"Please specify a valid command.").strict().help().alias("h","help").alias("v","version").version(el.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();ei.error("Fatal: ".concat(e.message)),ea.exit(1);return[3,3];case 3:return[2]}})})()})();import{Router as t5}from"express";import{NestFactory as t8}from"@nestjs/core";import t6 from"body-parser";import t7 from"compression";import t9 from"cookie-parser";import ne from"cors";import nt from"express";import nn from"express-session";import nr from"express-useragent";function ns(e){var t=e.isDev,n=e.whiteList,r=S(e,["isDev","whiteList"]);return h({origin:G(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)}G(ns,"createCorsOptions");function ni(e){return ne(ns(e))}G(ni,"createCors");function no(e){return nn(e)}G(no,"createSession");function na(e){var t=nt();return t.set("trust proxy",1),t.use(t9()),t.use(nt.urlencoded({extended:!0})),t.use(t7()),t.use(nr.express()),(e===null||e===void 0?void 0:e.staticFolder)&&t.use(nt.static(e.staticFolder)),t}G(na,"createExpress");function nc(e){return /*#__PURE__*/i(function(){var t,n,r;return P(this,function(s){switch(s.label){case 0:return[4,t8.create(e.module)];case 1:r=s.sent();return[2,(r.getHttpAdapter().getInstance().set("trust proxy",1),r.use(nt.urlencoded({extended:!0})),r.use(t9()),r.use(t7()),r.use(nr.express()),e.staticFolder&&r.use(nt.static(e.staticFolder)),e.filters&&(t=r).useGlobalFilters.apply(t,I(e.filters)),e.pipes&&(n=r).useGlobalPipes.apply(n,I(e.pipes)),r)]}})})()}G(nc,"createNest");var nu="MONGO_MIGRATE_OPTIONS";import{Collection as nl,Db as nd}from"mongodb";import{Document as np,Model as nf}from"mongoose";var nE=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){a(this,t);return o(this,t,arguments)}return t}(nd);G(nE,"C_Db");var nm=nE,ng=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){a(this,t);return o(this,t,arguments)}return t}(np);G(ng,"C_Document");var n_=ng,nh=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){a(this,t);return o(this,t,arguments)}return t}(nf);G(nh,"C_Model");var ny=nh,nv=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){a(this,t);return o(this,t,arguments)}return t}(nl);G(nv,"C_Collection");var nS=nv;import{format as nO}from"date-fns";import nR from"migrate-mongo";import{Document as nC}from"mongoose";import nD from"mongoose-aggregate-paginate-v2";import nI from"mongoose-paginate-v2";import{v4 as nN}from"uuid";import nA from"unorm";var nT={a:["\xe0","\xe1","ạ","ả","\xe3","\xe2","ầ","ấ","ậ","ẩ","ẫ","ă","ằ","ắ","ặ","ẳ","ẵ"],e:["\xe8","\xe9","ẹ","ẻ","ẽ","\xea","ề","ế","ệ","ể","ễ"],i:["\xec","\xed","ị","ỉ","ĩ"],o:["\xf2","\xf3","ọ","ỏ","\xf5","\xf4","ồ","ố","ộ","ổ","ỗ","ơ","ờ","ớ","ợ","ở","ỡ"],u:["\xf9","\xfa","ụ","ủ","ũ","ư","ừ","ứ","ự","ử","ữ"],y:["ỳ","\xfd","ỵ","ỷ","ỹ"],d:["đ"]},nP=Object.entries(nT).reduce(function(e,t){var n=D(t,2),r=n[0],s=n[1];return e[r.toUpperCase()]=s.map(function(e){return e.toUpperCase()}),e},{});function nb(e){return(typeof e==="undefined"?"undefined":N(e))=="object"&&e!==null&&!Array.isArray(e)}G(nb,"isObject");import nx from"crypto-js";import nG from"slugify";var nM=nG.default||nG;function nw(e,t){var n=G(function(e){var n,r;return nM(e!==null&&e!==void 0?e:"",h({lower:(n=t===null||t===void 0?void 0:t.lower)!==null&&n!==void 0?n:!0,locale:(r=t===null||t===void 0?void 0:t.locale)!==null&&r!==void 0?r:"vi"},t))},"slugifyWithOptions");if(nb(e)){var r={};var s=true,i=false,o=undefined;try{for(var a=Object.entries(e)[Symbol.iterator](),c;!(s=(c=a.next()).done);s=true){var u=D(c.value,2),l=u[0],d=u[1];r[l]=n(d)}}catch(e){i=true;o=e}finally{try{if(!s&&a.return!=null){a.return()}}finally{if(i){throw o}}}return r}return n(e)}G(nw,"generateSlug");function nL(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:4;return nx.SHA256(e).toString(nx.enc.Hex).slice(0,t)}G(nL,"generateShortId");var nU={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":N(e))=="object"?f(e,Date)?!1:f(e,Map)||f(e,Set)?e.size===0:f(e,WeakMap)||f(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 nj={getDateTime:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:new Date;return nO(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"?nj.getDateTime():new Date;return{id:nN(),isDel:!1,createdAt:r,updatedAt:r}},applyPlugins:function e(e,t){t.filter(function(e){return typeof e=="function"}).forEach(function(t){return e.plugin(t)})},applyMiddlewares:function e(e,t){t.forEach(function(t){var n=t.method,r=t.pre,s=t.post;n&&r&&e.pre(n,r),n&&s&&e.post(n,s)})},createGenericSchema:function e(e){return new e.Schema({id:{type:String,default:nN,required:!0,unique:!0},isDel:{type:Boolean,default:!1,required:!0}},{timestamps:!0})},createSchema:function e(e){var t=e.mongoose,n=e.schema,r=e.virtuals,s=r===void 0?[]:r,i=e.standalone,o=i===void 0?!1:i;var a=new t.Schema(n,{strict:!0});return s.forEach(function(e){var t=e.name,n=e.options,r=e.get;var s=a.virtual(t,n);r&&s.get(r)}),o||a.add(nj.createGenericSchema(t)),a},createModel:function e(e){var t=e.mongoose,n=e.name,r=e.schema,s=e.pagination,i=s===void 0?!1:s,o=e.aggregate,a=o===void 0?!1:o,c=e.virtuals,u=c===void 0?[]:c,l=e.middlewares,d=l===void 0?[]:l;if(!n)throw new Error("Model name is required.");if(t.models[n])return t.models[n];var p=nj.createSchema({mongoose:t,schema:r,virtuals:u});return nj.applyPlugins(p,[i&&nI,a&&nD]),nj.applyMiddlewares(p,d),t.model(n,p)},validator:{isEmpty:function e(){return function(e){return /*#__PURE__*/i(function(){return P(this,function(t){return[2,!nU.isEmpty(e)]})})()}},isUnique:function e(e){return function(t){return /*#__PURE__*/i(function(){var n;return P(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 P(this,function(n){if(!Array.isArray(e)||e.some(function(e){return!f(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:v(h({},nR),{setConfig:G(function(e){var t="// This file is automatically generated by the Cyberskill CLI.\nmodule.exports = ".concat(JSON.stringify(e,null,4));tp(te.MIGRATE_MONGO_CONFIG,t);var n="\n".concat(eU,"\n");tE(te.GIT_IGNORE)?tc(te.GIT_IGNORE,"utf-8").split("\n").includes(eU)||tf(te.GIT_IGNORE,n):tp(te.GIT_IGNORE,n)},"setConfig")})},nk=/*#__PURE__*/function(){"use strict";function e(t,n){a(this,e);M(this,"collection");this.collection=t.collection(n)}u(e,[{key:"createOne",value:function e(e){return /*#__PURE__*/i(function(){var t,n,r;return P(this,function(s){switch(s.label){case 0:s.trys.push([0,2,,3]);t=h({},nj.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 P(this,function(s){switch(s.label){case 0:s.trys.push([0,2,,3]);t=e.map(function(e){return h({},nj.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 P(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 P(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 P(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 P(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 P(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 P(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 P(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}();G(nk,"MongoController");var nF=nk,nq=/*#__PURE__*/function(){"use strict";function e(t){a(this,e);M(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 a=arguments;return P(this,function(c){switch(c.label){case 0:e=a.length>0&&a[0]!==void 0?a[0]:{},t=a.length>1&&a[1]!==void 0?a[1]:{},n=a.length>2&&a[2]!==void 0?a[2]:{},r=a.length>3?a[3]:void 0;c.label=1;case 1:c.trys.push([1,3,,4]);s=this.model.findOne(e,t,n);r&&s.populate(r);return[4,s.exec()];case 2:i=c.sent();return[2,i?{success:!0,result:i}:{success:!1,message:"No ".concat(this.getModelName()," found."),code:et.NOT_FOUND.CODE}];case 3:o=c.sent();return[2,{success:!1,message:o.message,code:et.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 a=arguments;return P(this,function(c){switch(c.label){case 0:e=a.length>0&&a[0]!==void 0?a[0]:{},t=a.length>1&&a[1]!==void 0?a[1]:{},n=a.length>2&&a[2]!==void 0?a[2]:{},r=a.length>3?a[3]:void 0;c.label=1;case 1:c.trys.push([1,3,,4]);s=this.model.find(e,t,n);r&&s.populate(r);i={success:!0};return[4,s.exec()];case 2:return[2,(i.result=c.sent(),i)];case 3:o=c.sent();return[2,{success:!1,message:o.message,code:et.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 P(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:et.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 P(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:et.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 P(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:et.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 P(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:et.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 P(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 f(e,nC)?e.toObject():null}).filter(function(e){return e!==null}),n)];case 3:r=i.sent();return[2,{success:!1,message:r.message,code:et.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 P(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:et.NOT_FOUND.CODE}];case 3:s=o.sent();return[2,{success:!1,message:s.message,code:et.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 P(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:et.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 P(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:et.NOT_FOUND.CODE}];case 3:r=i.sent();return[2,{success:!1,message:r.message,code:et.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 P(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:et.NOT_FOUND.CODE}:{success:!0,result:n}];case 3:r=i.sent();return[2,{success:!1,message:r.message,code:et.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 P(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=nL(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:et.INTERNAL_SERVER_ERROR.CODE}]}})}).call(this)}},{key:"createSlug",value:function e(e,t,n){return /*#__PURE__*/i(function(){var r,s,o,a,c,u,d,p,f,E;return P(this,function(m){switch(m.label){case 0:r=this;m.label=1;case 1:m.trys.push([1,5,,6]);s=t[e],o=nb(s),a=G(function(t){var r=h({},n!==null&&n!==void 0?n:{});return o?v(h({},r),{$or:[l({},"slug.".concat(e),t),{slugHistory:{$elemMatch:l({},"slug.".concat(e),t)}}]}):v(h({},r),{$or:[{slug:t},{slugHistory:t}]})},"generateSlugQuery"),c=G(function(e){return /*#__PURE__*/i(function(){var t,n;return P(this,function(r){switch(r.label){case 0:t=e,n=1;r.label=1;case 1:return[4,this.model.exists(a(t))];case 2:if(!r.sent())return[3,4];t="".concat(e,"-").concat(n++);r.label=3;case 3:return[3,1];case 4:return[2,t]}})}).call(r)},"generateUniqueSlug");if(!o)return[3,3];u={success:!0};d=Object.fromEntries;return[4,Promise.all(Object.entries(s).map(function(e){var t=D(e,2),n=t[0],r=t[1];return /*#__PURE__*/i(function(){var e,t;return P(this,function(s){switch(s.label){case 0:e=nw(r);t=[n];return[4,c(e)];case 1:return[2,t.concat([s.sent()])]}})})()}))];case 2:return[2,(u.result=d.apply(Object,[m.sent()]),u)];case 3:p=nw(s);f={success:!0};return[4,c(p)];case 4:return[2,(f.result=m.sent(),f)];case 5:E=m.sent();return[2,{success:!1,message:"Failed to create a unique slug: ".concat(E.message),code:et.INTERNAL_SERVER_ERROR.CODE}];case 6:return[2]}})}).call(this)}},{key:"aggregate",value:function e(e){return /*#__PURE__*/i(function(){var t,n;return P(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:et.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})}).call(this)}}]);return e}();G(nq,"MongooseController");var nY=nq;import{useServer as nV}from"graphql-ws/use/ws";import{WebSocketServer as nK}from"ws";function nB(e){return new nK({server:e.server,path:e.path})}G(nB,"createWSServer");function nH(e){return nV({schema:e.schema},e.server)}G(nH,"initGraphQLWS");export{eA as BUILD_DIRECTORY,eW as COMMIT_LINT_CLI,eH as COMMIT_LINT_PACKAGE_NAME,ek as CYBERSKILL_CLI,eF as CYBERSKILL_CLI_PATH,ej as CYBERSKILL_DIRECTORY,eI as CYBERSKILL_PACKAGE_NAME,nS as C_Collection,nm as C_Db,n_ as C_Document,ny as C_Model,eY as ESLINT_CLI,e5 as ESLINT_INSPECT_CLI,e3 as ESLINT_INSPECT_PACKAGE_NAME,eq as ESLINT_PACKAGE_NAME,ed as E_CommandType,F as E_IssueType,em as E_PackageType,eZ as GIT_CLI,eL as GIT_COMMIT_EDITMSG,ew as GIT_HOOK,ex as GIT_IGNORE,eJ as LINT_STAGED_CLI,eQ as LINT_STAGED_PACKAGE_NAME,e9 as MIGRATE_MONGO_CLI,eU as MIGRATE_MONGO_CONFIG,e7 as MIGRATE_MONGO_PACKAGE_NAME,nu as MONGO_MIGRATE_OPTIONS,nF as MongoController,nY as MongooseController,eN as NODE_MODULES,e6 as NODE_MODULES_INSPECT_CLI,e8 as NODE_MODULES_INSPECT_PACKAGE_NAME,eT as PACKAGE_JSON,eP as PACKAGE_LOCK_JSON,te as PATH,eK as PLAYWRIGHT_PACKAGE_NAME,e0 as PNPM_CLI,e1 as PNPM_EXEC_CLI,eM as PNPM_LOCK_YAML,t5 as Router,e2 as SIMPLE_GIT_HOOKS_PACKAGE_NAME,e4 as SIMPLE_GIT_HOOK_CLI,eG as SIMPLE_GIT_HOOK_JSON,eb as TSCONFIG_JSON,ez as TSC_CLI,e$ as TSC_PACKAGE_NAME,eX as TSX_CLI,eB as VITEST_CLI,eV as VITEST_PACKAGE_NAME,eD as WORKING_DIRECTORY,nD as aggregatePaginate,tf as appendFileSync,t6 as bodyParser,tx as clearAllErrorLists,tr as command,tg as copySync,eo as createApolloServer,ni as createCors,ns as createCorsOptions,na as createExpress,tt as createGitHooksConfig,nc as createNest,no as createSession,nB as createWSServer,nt as express,L as expressMiddleware,tj as formatCommand,ts as fs,th as getLatestPackageVersion,ty as getPackage,tb as getStoredErrorLists,nH as initGraphQLWS,tS as installDependencies,eR as join,ei as logNodeJS,ti as lstatSync,ta as mkdirSync,nj as mongo,nI as mongoosePaginate,ev as path,tE as pathExistsSync,tL as rawCommand,tc as readFileSync,td as readJsonSync,to as readdirSync,tm as removeSync,eO as resolve,tk as resolveCommands,eS as resolveWorkingPath,tF as runCommand,tO as setupPackages,tl as statSync,tI as storageNodeJS,er as throwError,tu as unlinkSync,tv as updatePackage,tp as writeFileSync};
1
+ function e(e,t){if(t==null||t>e.length)t=e.length;for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function t(e){if(Array.isArray(e))return e}function n(t){if(Array.isArray(t))return e(t)}function r(e){if(e===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return e}function s(e,t,n,r,s,i,o){try{var a=e[i](o);var c=a.value}catch(e){n(e);return}if(a.done){t(c)}else{Promise.resolve(c).then(r,s)}}function i(e){return function(){var t=this,n=arguments;return new Promise(function(r,i){var o=e.apply(t,n);function a(e){s(o,r,i,a,c,"next",e)}function c(e){s(o,r,i,a,c,"throw",e)}a(undefined)})}}function o(e,t,n){t=d(t);return C(e,T()?Reflect.construct(t,n||[],d(e).constructor):t.apply(e,n))}function a(e,t){if(!(e instanceof t)){throw new TypeError("Cannot call a class as a function")}}function c(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||false;r.configurable=true;if("value"in r)r.writable=true;Object.defineProperty(e,r.key,r)}}function u(e,t,n){if(t)c(e.prototype,t);if(n)c(e,n);return e}function l(e,t,n){if(t in e){Object.defineProperty(e,t,{value:n,enumerable:true,configurable:true,writable:true})}else{e[t]=n}return e}function d(e){d=Object.setPrototypeOf?Object.getPrototypeOf:function e(e){return e.__proto__||Object.getPrototypeOf(e)};return d(e)}function p(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)D(e,t)}function f(e,t){if(t!=null&&typeof Symbol!=="undefined"&&t[Symbol.hasInstance]){return!!t[Symbol.hasInstance](e)}else{return e instanceof t}}function m(e){if(typeof Symbol!=="undefined"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function E(e,t){var n=e==null?null:typeof Symbol!=="undefined"&&e[Symbol.iterator]||e["@@iterator"];if(n==null)return;var r=[];var s=true;var i=false;var o,a;try{for(n=n.call(e);!(s=(o=n.next()).done);s=true){r.push(o.value);if(t&&r.length===t)break}}catch(e){i=true;a=e}finally{try{if(!s&&n["return"]!=null)n["return"]()}finally{if(i)throw a}}return r}function 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 h(){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 y(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};var r=Object.keys(n);if(typeof Object.getOwnPropertySymbols==="function"){r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))}r.forEach(function(t){l(e,t,n[t])})}return e}function v(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);if(t){r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})}n.push.apply(n,r)}return n}function S(e,t){t=t!=null?t:{};if(Object.getOwnPropertyDescriptors){Object.defineProperties(e,Object.getOwnPropertyDescriptors(t))}else{v(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}function O(e,t){if(e==null)return{};var n=_(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 _(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&&(R(t)==="object"||typeof t==="function")){return t}return r(e)}function D(e,t){D=Object.setPrototypeOf||function e(e,t){e.__proto__=t;return e};return D(e,t)}function I(e,n){return t(e)||E(e,n)||A(e,n)||g()}function N(e){return n(e)||m(e)||A(e)||h()}function R(e){"@swc/helpers - typeof";return e&&typeof Symbol!=="undefined"&&e.constructor===Symbol?"symbol":typeof e}function A(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 T(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(T=function(){return!!e})()}function b(e,t){var n,r,s,i={label:0,sent:function(){if(s[0]&1)throw s[1];return s[1]},trys:[],ops:[]},o=Object.create((typeof Iterator==="function"?Iterator:Object).prototype);return o.next=a(0),o["throw"]=a(1),o["return"]=a(2),typeof Symbol==="function"&&(o[Symbol.iterator]=function(){return this}),o;function a(e){return function(t){return c([e,t])}}function c(a){if(n)throw new TypeError("Generator is already executing.");while(o&&(o=0,a[0]&&(i=0)),i)try{if(n=1,r&&(s=a[0]&2?r["return"]:a[0]?r["throw"]||((s=r["return"])&&s.call(r),0):r.next)&&!(s=s.call(r,a[1])).done)return s;if(r=0,s)a=[a[0]&2,s.value];switch(a[0]){case 0:case 1:s=a;break;case 4:i.label++;return{value:a[1],done:false};case 5:i.label++;r=a[1];a=[0];continue;case 7:a=i.ops.pop();i.trys.pop();continue;default:if(!(s=i.trys,s=s.length>0&&s[s.length-1])&&(a[0]===6||a[0]===2)){i=0;continue}if(a[0]===3&&(!s||a[1]>s[0]&&a[1]<s[3])){i.label=a[1];break}if(a[0]===6&&i.label<s[1]){i.label=s[1];s=a;break}if(s&&i.label<s[2]){i.label=s[2];i.ops.push(a);break}if(s[2])i.ops.pop();i.trys.pop();continue}a=t.call(e,i)}catch(e){a=[6,e];r=0}finally{n=s=0}if(a[0]&5)throw a[1];return{value:a[0]?a[1]:void 0,done:true}}}var x=Object.defineProperty;var G=function(e,t,n){return t in e?x(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n};var M=function(e,t){return x(e,"name",{value:t,configurable:!0})};var P=function(e,t,n){return G(e,(typeof t==="undefined"?"undefined":R(t))!="symbol"?t+"":t,n)};import{ApolloServer as w}from"@apollo/server";import{expressMiddleware as L}from"@apollo/server/express4";import{ApolloServerPluginDrainHttpServer as j}from"@apollo/server/plugin/drainHttpServer";import{ApolloServerPluginLandingPageLocalDefault as k,ApolloServerPluginLandingPageProductionDefault as U}from"@apollo/server/plugin/landingPage/default";var F=function(e){return e.Error="error",e.Warning="warning",e}({});import q from"chalk";import Y from"consola";import{GraphQLError as V}from"graphql";var K=".cyberskill-storage";import B from"@dotenvx/dotenvx";import{bool as H,cleanEnv as W,str as Q}from"envalid";import J from"node:os";import $ from"node:path";import z from"node:process";var X=!1;function Z(){X||(B.config(),X=!0)}M(Z,"loadEnvFile");function ee(){Z();var e=W(z.env,{CWD:Q({default:z.cwd()}),DEBUG:H({default:!1}),CYBERSKILL_STORAGE_DIRECTORY:Q({default:$.join(J.homedir(),K)})});return{CWD:e.CWD,DEBUG:e.DEBUG,CYBERSKILL_STORAGE_DIRECTORY:e.CYBERSKILL_STORAGE_DIRECTORY}}M(ee,"getEnv");var et={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 en=ee();function er(e){var t=e.message,n=e.status,r=n===void 0?et.INTERNAL_SERVER_ERROR:n,s=e.type,i=s===void 0?"graphql":s;var o;var a=(o=t!==null&&t!==void 0?t:r.MESSAGE)!==null&&o!==void 0?o:"Internal server error";throw i==="graphql"?new V(a,{extensions:{code:r.CODE}}):new Error(a)}M(er,"throwError");en.DEBUG||(Y.level=4);function es(e){var t=q[e];return typeof t=="function"?t:q.green}M(es,"chalkKeyword");var ei={silent:Y.silent,level:Y.level,fatal:Y.fatal,error:Y.error,warn:Y.warn,log:Y.log,info:Y.info,success:Y.success,ready:Y.ready,start:Y.start,box:Y.box,debug:Y.debug,trace:Y.trace,verbose:Y.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)){Y.box(q.green(e));return}t.forEach(function(e){var t=e.file,r=e.position,s=e.rule,i=e.message;Y.log("".concat(q.gray("File:")," ").concat(q.blue("".concat(t).concat(r?":".concat(r):"")))),s&&Y.log(" ".concat(es(n)("Rule:")," ").concat(s)),Y.log(" ".concat(es(n)("Message:")," ").concat(i))}),Y.box(es(n)("".concat(e," : ").concat(t.length))),Y.log(q.gray("─".repeat(40)))}};function eo(e){return new w(y({schema:e.schema,plugins:[e.isDev?k():U(),j({httpServer:e.server})].concat(N(e.drainServer?[{serverWillStart:function t(){return i(function(){return b(this,function(t){return[2,{drainServer:function t(){return i(function(){var t;return b(this,function(n){(t=e.drainServer)===null||t===void 0?void 0:t.call(e),ei.info("Apollo Server drainServer hook called");return[2]})})()}}]})})()}}]:[]))},e.isDev&&{introspection:!0,includeStacktraceInErrorResponses:!0}))}M(eo,"createApolloServer");import ea from"node:process";import{hideBin as ec}from"yargs/helpers";import eu from"yargs/yargs";var el={name:"@cyberskill/shared",type:"module",version:"1.129.0",description:"CyberSkill Shared",author:"Stephen Cheng",license:"MIT",homepage:"https://github.com/cyberskill-world/shared#readme",repository:{type:"git",url:"git+https://github.com/cyberskill-world/shared.git"},bugs:{url:"https://github.com/cyberskill-world/shared/issues"},exports:{".":{types:"./dist/index.d.ts",import:"./dist/index.js",require:"./dist/index.cjs"},"./configs":{types:"./dist/configs/index.d.ts",import:"./dist/configs/index.js",require:"./dist/configs/index.cjs"},"./configs/commitlint":{types:"./dist/configs/commitlint/index.d.ts",import:"./dist/configs/commitlint/index.js",require:"./dist/configs/commitlint/index.cjs"},"./configs/env":{types:"./dist/configs/env/index.d.ts",import:"./dist/configs/env/index.js",require:"./dist/configs/env/index.cjs"},"./configs/eslint":{types:"./dist/configs/eslint/index.d.ts",import:"./dist/configs/eslint/index.js",require:"./dist/configs/eslint/index.cjs"},"./configs/graphql-codegen":{types:"./dist/configs/graphql-codegen/index.d.ts",import:"./dist/configs/graphql-codegen/index.js",require:"./dist/configs/graphql-codegen/index.cjs"},"./configs/lint-staged":{types:"./dist/configs/lint-staged/index.d.ts",import:"./dist/configs/lint-staged/index.js",require:"./dist/configs/lint-staged/index.cjs"},"./constants":{types:"./dist/constants/index.d.ts",import:"./dist/constants/index.js",require:"./dist/constants/index.cjs"},"./node":{types:"./dist/node/index.d.ts",import:"./dist/node/index.js",require:"./dist/node/index.cjs"},"./node/apollo-server":{types:"./dist/node/apollo-server/index.d.ts",import:"./dist/node/apollo-server/index.js",require:"./dist/node/apollo-server/index.cjs"},"./node/cli":{types:"./dist/node/cli/index.d.ts",import:"./dist/node/cli/index.js",require:"./dist/node/cli/index.cjs"},"./node/command":{types:"./dist/node/command/index.d.ts",import:"./dist/node/command/index.js",require:"./dist/node/command/index.cjs"},"./node/express":{types:"./dist/node/express/index.d.ts",import:"./dist/node/express/index.js",require:"./dist/node/express/index.cjs"},"./node/fs":{types:"./dist/node/fs/index.d.ts",import:"./dist/node/fs/index.js",require:"./dist/node/fs/index.cjs"},"./node/log":{types:"./dist/node/log/index.d.ts",import:"./dist/node/log/index.js",require:"./dist/node/log/index.cjs"},"./node/mongo":{types:"./dist/node/mongo/index.d.ts",import:"./dist/node/mongo/index.js",require:"./dist/node/mongo/index.cjs"},"./node/package":{types:"./dist/node/package/index.d.ts",import:"./dist/node/package/index.js",require:"./dist/node/package/index.cjs"},"./node/path":{types:"./dist/node/path/index.d.ts",import:"./dist/node/path/index.js",require:"./dist/node/path/index.cjs"},"./node/storage":{types:"./dist/node/storage/index.d.ts",import:"./dist/node/storage/index.js",require:"./dist/node/storage/index.cjs"},"./node/ws":{types:"./dist/node/ws/index.d.ts",import:"./dist/node/ws/index.js",require:"./dist/node/ws/index.cjs"},"./react":{types:"./dist/react/index.d.ts",import:"./dist/react/index.js",require:"./dist/react/index.cjs"},"./react/apollo-client":{types:"./dist/react/apollo-client/index.d.ts",import:"./dist/react/apollo-client/index.js",require:"./dist/react/apollo-client/index.cjs"},"./react/apollo-error":{types:"./dist/react/apollo-error/index.d.ts",import:"./dist/react/apollo-error/index.js",require:"./dist/react/apollo-error/index.cjs"},"./react/i18next":{types:"./dist/react/i18next/index.d.ts",import:"./dist/react/i18next/index.js",require:"./dist/react/i18next/index.cjs"},"./react/loading":{types:"./dist/react/loading/index.d.ts",import:"./dist/react/loading/index.js",require:"./dist/react/loading/index.cjs"},"./react/log":{types:"./dist/react/log/index.d.ts",import:"./dist/react/log/index.js",require:"./dist/react/log/index.cjs"},"./react/next-intl":{types:"./dist/react/next-intl/index.d.ts",import:"./dist/react/next-intl/index.js",require:"./dist/react/next-intl/index.cjs"},"./react/storage":{types:"./dist/react/storage/index.d.ts",import:"./dist/react/storage/index.js",require:"./dist/react/storage/index.cjs"},"./react/toast":{types:"./dist/react/toast/index.d.ts",import:"./dist/react/toast/index.js",require:"./dist/react/toast/index.cjs"},"./react/vitest":{types:"./dist/react/vitest/index.d.ts",import:"./dist/react/vitest/index.js",require:"./dist/react/vitest/index.cjs"},"./styles/reset.css":{import:"./dist/styles/reset.css",require:"./dist/styles/reset.css"},"./typescript":{types:"./dist/typescript/index.d.ts",import:"./dist/typescript/index.js",require:"./dist/typescript/index.cjs"},"./utils":{types:"./dist/utils/index.d.ts",import:"./dist/utils/index.js",require:"./dist/utils/index.cjs"}},main:"./dist/index.cjs",module:"./dist/index.js",types:"./dist/index.d.ts",bin:{cyberskill:"./dist/node/cli/index.js"},files:["dist","public"],scripts:{build:"tsup",dev:"tsup --watch",lint:"tsx src/node/cli/index.ts lint","lint:fix":"tsx src/node/cli/index.ts lint:fix","lint:inspect":"tsx src/node/cli/index.ts lint:inspect",reset:"tsx src/node/cli/index.ts reset",prepare:"tsx src/node/cli/index.ts prepare",inspect:"tsx src/node/cli/index.ts inspect","test:unit":"tsx src/node/cli/index.ts test:unit","test:e2e":"tsx src/node/cli/index.ts test:e2e",commitlint:"tsx src/node/cli/index.ts commitlint","lint-staged":"tsx src/node/cli/index.ts lint-staged"},dependencies:{"@antfu/eslint-config":"4.12.0","@apollo/client":"3.13.8","@apollo/server":"4.12.0","@dotenvx/dotenvx":"1.42.0","@eddeee888/gcg-typescript-resolver-files":"0.12.0","@eslint-react/eslint-plugin":"1.48.5","@graphql-codegen/cli":"5.0.5","@graphql-codegen/client-preset":"4.8.0","@microsoft/api-extractor":"7.52.6","@nestjs/common":"11.1.0","@nestjs/core":"11.1.0","@next/eslint-plugin-next":"15.3.1","@testing-library/jest-dom":"6.6.3","@testing-library/react":"16.3.0","@vitejs/plugin-react-swc":"3.9.0","@vitest/browser":"3.1.2","body-parser":"2.2.0",chalk:"5.4.1",classnames:"2.5.1",compression:"1.8.0",consola:"3.4.2","cookie-parser":"1.4.7",cors:"2.8.5","crypto-js":"4.2.0","date-fns":"4.1.0","dotenv-cli":"8.0.0",envalid:"8.0.0","eslint-config-next":"15.3.1","eslint-plugin-format":"1.0.1","eslint-plugin-react-hooks":"5.2.0","eslint-plugin-react-refresh":"0.4.20",express:"4.21.2","express-session":"1.18.1","express-useragent":"1.0.15","fs-extra":"11.3.0",globals:"16.0.0",graphql:"16.11.0","graphql-ws":"6.0.4",i18next:"25.0.2",jsdom:"26.1.0",localforage:"1.10.0","migrate-mongo":"12.1.3","modern-normalize":"3.0.1",mongodb:"6.16.0",mongoose:"8.14.1","mongoose-aggregate-paginate-v2":"1.1.4","mongoose-paginate-v2":"1.9.0","next-intl":"4.1.0","node-fetch":"3.3.2","node-persist":"4.0.4",playwright:"1.52.0","postcss-modules":"6.0.1",qs:"6.14.0",react:"19.1.0","react-dom":"19.1.0","react-hot-toast":"2.5.2","react-i18next":"15.5.1","react-icons":"5.5.0",sass:"1.87.0",slugify:"1.6.6",tsup:"8.4.0",tsx:"4.19.4",typescript:"5.8.3",unorm:"1.6.0",uuid:"11.1.0",vite:"6.3.4",vitest:"3.1.2","vitest-browser-react":"0.1.1",ws:"8.18.1",yargs:"17.7.2"},publishConfig:{access:"public",registry:"https://registry.npmjs.org/"},devDependencies:{"@commitlint/cli":"19.8.0","@commitlint/config-conventional":"19.8.0","@eslint/config-inspector":"1.0.2","@types/body-parser":"1.19.5","@types/compression":"1.7.5","@types/cookie-parser":"1.4.8","@types/cors":"2.8.17","@types/crypto-js":"4.2.2","@types/express":"4.17.21","@types/express-session":"1.18.1","@types/express-useragent":"1.0.5","@types/fs-extra":"11.0.4","@types/migrate-mongo":"10.0.5","@types/mongoose-aggregate-paginate-v2":"1.0.12","@types/node":"22.15.3","@types/node-persist":"3.1.8","@types/react":"19.1.2","@types/react-dom":"19.1.3","@types/unorm":"1.3.31","@types/uuid":"10.0.0","@types/ws":"8.18.1","@types/yargs":"17.0.33",eslint:"9.25.1","lint-staged":"15.5.1","node-modules-inspector":"0.6.7","simple-git-hooks":"2.13.0"}};var ed=function(e){return e.CLI="CLI",e.STRING="STRING",e.FUNCTION="FUNCTION",e}({});import{exec as ep}from"node:child_process";import ef from"node:process";import*as em from"node:util";var eE=function(e){return e.DEPENDENCY="dependencies",e.DEV_DEPENDENCY="devDependencies",e.PEER_DEPENDENCY="peerDependencies",e.BUNDLE_DEPENDENCY="bundleDependencies",e.OPTIONAL_DEPENDENCY="optionalDependencies",e}({});import eg from"node-fetch";import eh from"fs-extra";import ey from"node:path";var ev=eh,eS=eh.lstatSync,eO=eh.readdirSync,e_=eh.mkdirSync,eC=eh.readFileSync,eD=eh.unlinkSync,eI=eh.statSync,eN=eh.readJsonSync;function eR(e,t,n){eh.writeFileSync(e,t,n!==null&&n!==void 0?n:"utf-8")}M(eR,"writeFileSync");function eA(e,t,n){eh.appendFileSync(e,t,n!==null&&n!==void 0?n:"utf-8")}M(eA,"appendFileSync");function eT(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}return t.every(function(e){return eh.pathExistsSync(e)})}M(eT,"pathExistsSync");function eb(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}t.forEach(function(e){eT(e)&&eh.removeSync(e)})}M(eb,"removeSync");function ex(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};var r=n.extensions,s=O(n,["extensions"]);eh.copySync(e,t,y({filter:M(function(e){return eI(e).isDirectory()||!r||r.length===0?!0:r.includes(ey.extname(e))},"filter")},s))}M(ex,"copySync");import eG from"fs-extra";import eM from"node:path";var eP=ee(),ew=eM;function eL(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}var r;return(r=ew).resolve.apply(r,[eP.CWD].concat(N(t)))}M(eL,"resolveWorkingPath");function ej(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}var r;return(r=ew).resolve.apply(r,N(t))}M(ej,"resolve");function ek(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}var r;return(r=ew).join.apply(r,N(t))}M(ek,"join");var eU=ee(),eF=eU.CWD,eq="@cyberskill/shared",eY="node_modules",eV="dist",eK="package.json",eB="package-lock.json",eH="tsconfig.json",eW=".gitignore",eQ=".simple-git-hooks.json",eJ="pnpm-lock.yaml",e$=".git/hooks/",ez=".git/COMMIT_EDITMSG",eX=".migrate-mongo.config.js",eZ=function(){var e=eG.readJsonSync(eL(eK)).name===eq?eF:ek(eF,eY,eq);return ek(e,eV)}(),e0="cyberskill",e1="src/node/cli/index.ts",e2="eslint",e4="eslint",e3="vitest",e5="playwright",e8="vitest",e6="@commitlint/cli",e7="@commitlint/config-conventional",e9="commitlint",te="lint-staged",tt="lint-staged",tn="typescript",tr="tsc",ts="tsx",ti="git",to="pnpm",ta="pnpm exec",tc="simple-git-hooks",tu="simple-git-hooks",tl="@eslint/config-inspector",td="eslint-config-inspector",tp="node-modules-inspector",tf="node-modules-inspector",tm="migrate-mongo",tE="./node_modules/migrate-mongo/bin/migrate-mongo",tg={CYBERSKILL_DIRECTORY:eZ,WORKING_DIRECTORY:eF,TS_CONFIG:eL(eH),GIT_IGNORE:eL(eW),GIT_HOOK:eL(e$),GIT_COMMIT_MSG:eL(ez),SIMPLE_GIT_HOOKS_JSON:eL(eQ),PACKAGE_JSON:eL(eK),PACKAGE_LOCK_JSON:eL(eB),PNPM_LOCK_YAML:eL(eJ),NODE_MODULES:eL(eY),MIGRATE_MONGO_CONFIG:eL(eX),LINT_STAGED_CONFIG:eL("".concat(eZ,"/configs/lint-staged/index.js")),COMMITLINT_CONFIG:eL("".concat(eZ,"/configs/commitlint/index.js")),UNIT_TEST_CONFIG:eL("".concat(eZ,"/react/vitest/vitest.unit.js")),UNIT_TEST_SETUP_CONFIG:eL("".concat(eZ,"/react/vitest/vitest.unit.setup.js")),E2E_TEST_CONFIG:eL("".concat(eZ,"/react/vitest/vitest.e2e.js"))};function th(e){var t=e.isCurrentProject;return y({"pre-commit":tt,"commit-msg":e9},t&&{"pre-push":tU("".concat(ti," pull"))})}M(th,"createGitHooksConfig");function ty(e){var t=e.type,n=e.packages,r=e.command;var s=n===null||n===void 0?void 0:n.reduce(function(e,t){return e.some(function(e){return e.name===t.name})||e.push(t),e},[]);return function(){return i(function(){var e;return b(this,function(n){switch(n.label){case 0:switch(t){case ed.CLI:return[3,1];case ed.STRING:return[3,4]}return[3,5];case 1:e=s===null||s===void 0?void 0:s.length;if(!e)return[3,3];return[4,tI(s,{update:!0})];case 2:e=n.sent();n.label=3;case 3:return[2,(e,tq(tU("".concat(ta," ").concat(r))))];case 4:return[2,tq(tU(r))];case 5:throw new Error("Unsupported command type");case 6:return[2]}})})()}}M(ty,"buildCommand");var tv={simpleGitHooks:ty({type:ed.CLI,packages:[{name:tc,type:eE.DEV_DEPENDENCY}],command:tu}),eslintInspect:ty({type:ed.CLI,packages:[{name:tl,type:eE.DEV_DEPENDENCY}],command:td}),nodeModulesInspect:ty({type:ed.CLI,packages:[{name:tp,type:eE.DEV_DEPENDENCY}],command:tf}),eslintCheck:ty({type:ed.CLI,packages:[{name:e2,type:eE.DEV_DEPENDENCY}],command:"".concat(e4," ").concat(tg.WORKING_DIRECTORY," --no-cache")}),eslintFix:ty({type:ed.CLI,packages:[{name:e2,type:eE.DEV_DEPENDENCY}],command:"".concat(e4," ").concat(tg.WORKING_DIRECTORY," --fix --no-cache")}),typescriptCheck:ty({type:ed.CLI,packages:[{name:tn,type:eE.DEPENDENCY}],command:"".concat(tr," -p ").concat(tg.TS_CONFIG," --noEmit")}),testUnit:ty({type:ed.CLI,packages:[{name:e3,type:eE.DEV_DEPENDENCY}],command:"".concat(e8," --config ").concat(tg.UNIT_TEST_CONFIG)}),testE2e:ty({type:ed.CLI,packages:[{name:e3,type:eE.DEV_DEPENDENCY}],command:"".concat(e8," --config ").concat(tg.E2E_TEST_CONFIG)}),mongoMigrateCreate:M(function(e){return ty({type:ed.CLI,packages:[{name:tm,type:eE.DEPENDENCY}],command:"".concat(ts," ").concat(tE," create ").concat(e," -f ").concat(tg.MIGRATE_MONGO_CONFIG)})()},"mongoMigrateCreate"),mongoMigrateUp:ty({type:ed.CLI,packages:[{name:tm,type:eE.DEPENDENCY}],command:"".concat(ts," ").concat(tE," up -f ").concat(tg.MIGRATE_MONGO_CONFIG)}),mongoMigrateDown:ty({type:ed.CLI,packages:[{name:tm,type:eE.DEPENDENCY}],command:"".concat(ts," ").concat(tE," down -f ").concat(tg.MIGRATE_MONGO_CONFIG)}),commitLint:ty({type:ed.CLI,packages:[{name:e6,type:eE.DEV_DEPENDENCY},{name:e7,type:eE.DEV_DEPENDENCY}],command:"".concat(e9," --edit ").concat(tg.GIT_COMMIT_MSG," --config ").concat(tg.COMMITLINT_CONFIG)}),lintStaged:ty({type:ed.CLI,packages:[{name:te,type:eE.DEV_DEPENDENCY}],command:"".concat(tt," --config ").concat(tg.LINT_STAGED_CONFIG)}),configureGitHook:ty({type:ed.STRING,command:"".concat(ti," config core.hooksPath ").concat(tg.GIT_HOOK)}),stageBuildDirectory:ty({type:ed.STRING,command:"".concat(ti," add ").concat(eV)}),build:ty({type:ed.STRING,command:'echo "Don\'t forget to build your project!"'}),pnpmInstallStandard:ty({type:ed.STRING,command:"".concat(to," install")}),pnpmInstallLegacy:ty({type:ed.STRING,command:"".concat(to," install --legacy-peer-deps")}),pnpmInstallForce:ty({type:ed.STRING,command:"".concat(to," install --force")})};var tS=ee();function tO(e){return i(function(){var t,n,r,s;return b(this,function(i){switch(i.label){case 0:i.trys.push([0,3,,4]);return[4,eg("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 ei.error('Failed to fetch version for "'.concat(e,'": ').concat(s.message)),s;case 4:return[2]}})})()}M(tO,"getLatestPackageVersion");function t_(e){return i(function(){var t,n,r,s,i,o,a,c,u,l,d,p,f,m,E,g,h,y,v;return b(this,function(S){switch(S.label){case 0:S.trys.push([0,2,,3]);if(!eT(tg.PACKAGE_JSON))return[2,{name:e.name,currentVersion:"",latestVersion:"",isCurrentProject:!1,isInstalled:!1,isUpToDate:!1,isDependency:e.type===eE.DEPENDENCY,isDevDependency:e.type===eE.DEV_DEPENDENCY,installedPath:"",file:{}}];t=eN(tg.PACKAGE_JSON),n=t.name,r=t.version,s=r===void 0?"":r,i=t.dependencies,o=i===void 0?{}:i,a=t.devDependencies,c=a===void 0?{}:a;if(e.name===n)return[2,{name:n,currentVersion:s,latestVersion:s,isCurrentProject:!0,isInstalled:!0,isUpToDate:!0,isDependency:e.type===eE.DEPENDENCY,isDevDependency:e.type===eE.DEV_DEPENDENCY,installedPath:tg.PACKAGE_JSON,file:t}];u=e.name in o,l=e.name in c;return[4,tO(e.name)];case 1:d=S.sent();if(!u&&!l)return[2,{name:e.name,currentVersion:"",latestVersion:d,isCurrentProject:!1,isInstalled:!1,isUpToDate:!1,isDependency:e.type===eE.DEPENDENCY,isDevDependency:e.type===eE.DEV_DEPENDENCY,installedPath:"",file:{}}];m=(f=(p=o[e.name])!==null&&p!==void 0?p:c[e.name])!==null&&f!==void 0?f:"",E=ek(tS.CWD,eY,e.name,eK);if(!eT(E))return[2,{name:e.name,currentVersion:"",latestVersion:d,isCurrentProject:!1,isInstalled:!1,isUpToDate:!1,isDependency:u,isDevDependency:l,installedPath:"",file:{}}];g=eN(E),h=g.version,y=h===void 0?"":h;return[2,m!==y?{name:e.name,currentVersion:y||m,latestVersion:d,isCurrentProject:!1,isInstalled:!0,isUpToDate:!1,isDependency:u,isDevDependency:l,installedPath:E,file:g}:{name:e.name,currentVersion:m,latestVersion:d,isCurrentProject:!1,isInstalled:!0,isUpToDate:m===d,isDependency:u,isDevDependency:l,installedPath:E,file:g}];case 2:v=S.sent();throw ei.error('Error getting package "'.concat(e.name,'": ').concat(v.message)),v;case 3:return[2]}})})()}M(t_,"getPackage");function tC(e){return i(function(){var t,n,r,s,i;return b(this,function(o){try{;r=eN(tg.PACKAGE_JSON),s=(t=r.dependencies)!==null&&t!==void 0?t:{},i=(n=r.devDependencies)!==null&&n!==void 0?n:{};e.isDependency?s[e.name]=e.latestVersion:e.isDevDependency&&(i[e.name]=e.latestVersion),eR(tg.PACKAGE_JSON,JSON.stringify(r,null,4)),ei.info('Updated "'.concat(e.name,'" to version ').concat(e.latestVersion))}catch(t){throw ei.error('Error updating package "'.concat(e.name,'": ').concat(t.message)),t}return[2]})})()}M(tC,"updatePackage");function tD(){return i(function(){var e,t,n,r,s,i,o,a,c,u,l,d,p;return b(this,function(f){switch(f.label){case 0:f.trys.push([0,12,,13]);e=[{command:M(function(){return tv.pnpmInstallStandard()},"command"),message:"Installing dependencies (standard)"},{command:M(function(){return tv.pnpmInstallLegacy()},"command"),message:"Retrying with legacy peer dependencies"},{command:M(function(){return tv.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,a=o.command,c=o.message;f.label=3;case 3:f.trys.push([3,6,,7]);return[4,a()];case 4:u=f.sent();return[4,tV("".concat(c," using: ").concat(u),u)];case 5:f.sent();return[2];case 6:l=f.sent();ei.warn("Installation attempt failed: ".concat(c)),ei.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:return[3,13];case 12:p=f.sent();throw ei.error("Failed to install dependencies: ".concat(p.message)),p;case 13:return[2]}})})()}M(tD,"installDependencies");function tI(e,t){return i(function(){var n,r,s,i,o,a,c,u,l,d,p;return b(this,function(f){switch(f.label){case 0:if(!eT(tg.PACKAGE_JSON)){ei.error("package.json not found. Aborting setup.");return[2]}f.label=1;case 1:f.trys.push([1,14,,15]);return[4,Promise.all(e.map(t_))];case 2:n=f.sent().filter(function(e){return!e.isCurrentProject&&(!e.isInstalled||!e.isUpToDate)});r=n.length>0;if(!r)return[3,5];return[4,Promise.all(n.map(tC))];case 3:f.sent();return[4,tD()];case 4:r=f.sent();f.label=5;case 5:r;i=true,o=false,a=undefined;f.label=6;case 6:f.trys.push([6,11,12,13]);c=((s=t===null||t===void 0?void 0:t.postInstallActions)!==null&&s!==void 0?s:[])[Symbol.iterator]();f.label=7;case 7:if(!!(i=(u=c.next()).done))return[3,10];l=u.value;return[4,l()];case 8:f.sent();f.label=9;case 9:i=true;return[3,7];case 10:return[3,13];case 11:d=f.sent();o=true;a=d;return[3,13];case 12:try{if(!i&&c.return!=null){c.return()}}finally{if(o){throw a}}return[7];case 13:return[3,15];case 14:p=f.sent();throw ei.error('Failed to setup "'.concat(e.map(function(e){return e.name}).join(", "),'": ').concat(p.message)),p;case 15:return[2]}})})()}M(tI,"setupPackages");import tN from"node-persist";var tR=ee();function tA(){return i(function(){var e;return b(this,function(t){switch(t.label){case 0:e=tN.defaultInstance;if(e)return[3,2];return[4,tN.init({dir:tR.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]}})})()}M(tA,"initNodePersist");var tT={get:function e(e){return i(function(){var t,n;return b(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,tA()];case 1:r.sent();return[4,tN.getItem(e)];case 2:return[2,(t=r.sent())!==null&&t!==void 0?t:null];case 3:n=r.sent();return[2,(ei.error('[Storage:get] Error getting key "'.concat(e,'":'),n),null)];case 4:return[2]}})})()},set:function e(e,t){return i(function(){var n;return b(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,tA()];case 1:r.sent();return[4,tN.setItem(e,t)];case 2:r.sent();return[3,4];case 3:n=r.sent();ei.error('[Storage:set] Error setting key "'.concat(e,'":'),n);return[3,4];case 4:return[2]}})})()},remove:function e(e){return i(function(){var t;return b(this,function(n){switch(n.label){case 0:n.trys.push([0,3,,4]);return[4,tA()];case 1:n.sent();return[4,tN.removeItem(e)];case 2:n.sent();return[3,4];case 3:t=n.sent();ei.error('[Storage:remove] Error removing key "'.concat(e,'":'),t);return[3,4];case 4:return[2]}})})()},keys:function e(){return i(function(){var e,t;return b(this,function(n){switch(n.label){case 0:n.trys.push([0,3,,4]);return[4,tA()];case 1:n.sent();return[4,tN.keys()];case 2:e=n.sent();return[2,Array.isArray(e)?e:(ei.warn("[Storage:keys] Invalid keys response:",e),[])];case 3:t=n.sent();return[2,(ei.error("[Storage:keys] Error getting keys:",t),[])];case 4:return[2]}})})()},getLogLink:function e(e){return i(function(){return b(this,function(t){try{return[2,"".concat(tR.CYBERSKILL_STORAGE_DIRECTORY," (key: ").concat(e,")")]}catch(e){return[2,(ei.error("[Storage:getLogLink] Error getting log link:",e),null)]}return[2]})})()}};var tb=ee(),tx=em.promisify(ep);function tG(e){return"error_list:".concat(e)}M(tG,"getErrorListKey");function tM(e){return i(function(){var t,n,r;return b(this,function(s){switch(s.label){case 0:if(e.length===0)return[2];t=Date.now(),n=tG(t);s.label=1;case 1:s.trys.push([1,3,,4]);return[4,tT.set(n,{errors:e,timestamp:t})];case 2:s.sent(),setTimeout(function(){return i(function(){var e;return b(this,function(t){switch(t.label){case 0:return[4,tT.getLogLink(n)];case 1:e=t.sent();e&&ei.info("\uD83D\uDCC2 Open the error list manually: ".concat(e));return[2]}})})()},10);return[3,4];case 3:r=s.sent();ei.error("Failed to save errors: ".concat(r.message));return[3,4];case 4:return[2]}})})()}M(tM,"saveErrorListToStorage");function tP(){return i(function(){var e,t,n;return b(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,tT.keys()];case 1:e=r.sent(),t=Array.isArray(e)?e.filter(function(e){var t;return e===null||e===void 0?void 0:(t=e.startsWith)===null||t===void 0?void 0:t.call(e,"error_list:")}):[];return[4,Promise.all(t.map(function(e){return i(function(){var t;return b(this,function(n){switch(n.label){case 0:return[4,tT.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,(ei.error("Failed to retrieve stored errors: ".concat(n.message)),[])];case 4:return[2]}})})()}M(tP,"getStoredErrorLists");function tw(){return i(function(){var e,t,n;return b(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,tT.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 tT.remove(e)}))];case 2:r.sent();return[3,4];case 3:n=r.sent();ei.error("Failed to clear error lists: ".concat(n.message));return[3,4];case 4:return[2]}})})()}M(tw,"clearAllErrorLists");function tL(e){var t=[],n=[],r="",s=/^\s*(\d+):(\d+)\s+(error|warning)\s+(.+?)\s+(\S+)$/,i=/^(.+?)\((\d+),(\d+)\):\s+(error|warning)\s+TS\d+:\s+(\S.+)$/,o=/^✖\s+(.*?)\s+\[(.*?)\]$/;e.split("\n").forEach(function(e){if(e.startsWith("/"))r=e.trim();else{var a,c,u,l,d;var p=s.exec(e)||[],f=i.exec(e)||[],m=o.exec(e)||[];var E,g,h,y,v,S;p.length&&r?t.push({file:r,position:"".concat(p[1],":").concat(p[2]),type:p[3]===F.Error?F.Error:F.Warning,message:(E=p===null||p===void 0?void 0:(a=p[4])===null||a===void 0?void 0:a.trim())!==null&&E!==void 0?E:"",rule:(g=p===null||p===void 0?void 0:(c=p[5])===null||c===void 0?void 0:c.trim())!==null&&g!==void 0?g:""}):f.length?t.push({file:(h=f===null||f===void 0?void 0:f[1])!==null&&h!==void 0?h:"",position:"".concat(f[2],":").concat(f[3]),type:f[4]===F.Error?F.Error:F.Warning,message:(y=f===null||f===void 0?void 0:(u=f[5])===null||u===void 0?void 0:u.trim())!==null&&y!==void 0?y:""}):m.length?t.push({file:"commitlint",type:F.Error,message:(v=m===null||m===void 0?void 0:(l=m[1])===null||l===void 0?void 0:l.trim())!==null&&v!==void 0?v:"",rule:(S=m===null||m===void 0?void 0:(d=m[2])===null||d===void 0?void 0:d.trim())!==null&&S!==void 0?S:""}):n.push(e.trim())}}),t.length&&tM(t),tb.DEBUG&&n.length&&(ei.warn("Unmatched lines:"),n.forEach(function(e){return ei.info(" ".concat(e))}))}M(tL,"parseTextErrors");function tj(e){try{var t=JSON.parse(e),n=[];t.forEach(function(e){var t=e.filePath,r=e.messages;r.forEach(function(e){var r=e.severity,s=e.line,i=e.column,o=e.ruleId,a=e.message;n.push({type:r===2?F.Error:F.Warning,file:t,position:"".concat(s,":").concat(i),rule:o,message:a})})}),n.length&&tM(n)}catch(t){tL(e)}}M(tj,"parseCommandOutput");function tk(e){return i(function(e){var t,n,r,s,i,o,a,c,u;var l=arguments;return b(this,function(d){switch(d.label){case 0:t=l.length>1&&l[1]!==void 0?l[1]:tj;n=new AbortController;ef.on("SIGINT",function(){ei.warn("Process interrupted. Terminating..."),n.abort(),ef.exit()});d.label=1;case 1:d.trys.push([1,4,,5]);if(!(typeof e=="string"))return[3,3];return[4,tx(e,{maxBuffer:0x6400000,signal:n.signal})];case 2:r=d.sent(),s=r.stdout,i=r.stderr;[s,i].forEach(function(e){return e&&t(e)});d.label=3;case 3:return[3,5];case 4:o=d.sent();a=o.stdout,c=o.stderr,u=o.message;[a,c].forEach(function(e){return e&&t(e)}),!c&&!a&&ei.error("Command failed: ".concat(u));return[3,5];case 5:return[2]}})}).apply(this,arguments)}M(tk,"executeCommand");function tU(e){return{raw:!0,cmd:e}}M(tU,"rawCommand");function tF(e,t){return(t===null||t===void 0?void 0:t.isCurrentProject)?"".concat(ta," ").concat(ts," ").concat(e1," ").concat(e):"".concat(ta," ").concat(e0," ").concat(e)}M(tF,"formatCLI");function tq(e,t){return typeof e=="function"?tF(e(t),t):(typeof e==="undefined"?"undefined":R(e))=="object"&&(e===null||e===void 0?void 0:e.raw)===!0?e.cmd:typeof e=="string"?tF(e,t):e}M(tq,"formatCommand");function tY(e){return i(function(){var t,n,r,s;return b(this,function(i){switch(i.label){case 0:return[4,t_({name:eq})];case 1:t=i.sent(),n=t.isCurrentProject,r={isCurrentProject:n},s=typeof e=="function"?e(r):e;return[2,Object.fromEntries(Object.entries(s).map(function(e){var t=I(e,2),n=t[0],s=t[1];return[n,tq(s,r)]}))]}})})()}M(tY,"resolveCommands");function tV(e,t){return i(function(){var n;return b(this,function(r){switch(r.label){case 0:r.trys.push([0,2,,3]);ei.start("".concat(e)),tb.DEBUG&&ei.info("→ ".concat(t));return[4,tk(t)];case 1:r.sent(),ei.success("".concat(e," done."));return[3,3];case 2:n=r.sent();throw ei.error("".concat(e," failed: ").concat(n.message)),n;case 3:return[2]}})})()}M(tV,"runCommand");function tK(){return i(function(){var e,t;return b(this,function(n){switch(n.label){case 0:if(!eT(tg.TS_CONFIG))return[3,3];t=["Performing TypeScript validation"];return[4,tv.typescriptCheck()];case 1:return[4,tV.apply(void 0,t.concat([n.sent()]))];case 2:e=n.sent();return[3,4];case 3:e=ei.warn("No TypeScript configuration found. Skipping type check.");n.label=4;case 4:e;return[2]}})})()}M(tK,"checkTypescript");function tB(){return i(function(){var e,t,n,r;var s=arguments;return b(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,tv.eslintFix()];case 1:return[4,tV.apply(void 0,n.concat([i.sent()]))];case 2:t=i.sent();return[3,6];case 3:r=["Running ESLint check"];return[4,tv.eslintCheck()];case 4:return[4,tV.apply(void 0,r.concat([i.sent()]))];case 5:t=i.sent();i.label=6;case 6:t;return[2]}})}).apply(this,arguments)}M(tB,"checkEslint");function tH(e,t){if(!t.length)return;var n=e==="Errors"?"red":"yellow";ei.printBoxedLog(e==="Errors"?"✖ Errors":"⚠ Warnings",t,n)}M(tH,"printIssues");function tW(){return i(function(){var e,t,n;return b(this,function(r){switch(r.label){case 0:return[4,tP()];case 1:e=r.sent(),t=e.filter(function(e){return e.type===F.Error}),n=e.filter(function(e){return e.type===F.Warning});!t.length&&!n.length?ei.printBoxedLog("✔ NO ISSUES FOUND",[],"green"):(tH("Warnings",n),tH("Errors",t),(t.length>0||n.length>0)&&ea.exit(1));return[2]}})})()}M(tW,"showCheckResult");function tQ(){return i(function(){var e,t,n,r,s,i;return b(this,function(o){switch(o.label){case 0:return[4,tw()];case 1:o.sent();return[4,t_({name:eq})];case 2:e=o.sent(),t=e.isCurrentProject;if(!t)return[3,9];o.label=3;case 3:o.trys.push([3,8,,9]);n=["Building package: ".concat(eq)];return[4,tv.build()];case 4:return[4,tV.apply(void 0,n.concat([o.sent()]))];case 5:o.sent();r=["Staging build artifacts"];return[4,tv.stageBuildDirectory()];case 6:return[4,tV.apply(void 0,r.concat([o.sent()]))];case 7:o.sent();return[3,9];case 8:s=o.sent();throw ei.error("Error building and staging ".concat(eq,": ").concat(s.message)),s;case 9:i=["Executing lint-staged"];return[4,tv.lintStaged()];case 10:return[4,tV.apply(void 0,i.concat([o.sent()]))];case 11:o.sent(),tW();return[2]}})})()}M(tQ,"lintStaged");function tJ(){return i(function(){var e;return b(this,function(t){switch(t.label){case 0:e=["Inspecting ESLint configuration"];return[4,tv.eslintInspect()];case 1:return[4,tV.apply(void 0,e.concat([t.sent()]))];case 2:t.sent();return[2]}})})()}M(tJ,"inspectLint");function t$(){return i(function(){return b(this,function(e){switch(e.label){case 0:return[4,tw()];case 1:e.sent();return[4,Promise.all([tK(),tB()])];case 2:e.sent(),tW();return[2]}})})()}M(t$,"lintCheck");function tz(){return i(function(){return b(this,function(e){switch(e.label){case 0:return[4,tw()];case 1:e.sent();return[4,Promise.all([tK(),tB(!0)])];case 2:e.sent(),tW();return[2]}})})()}M(tz,"lintFix");function tX(){return i(function(){var e;return b(this,function(t){switch(t.label){case 0:return[4,tw()];case 1:t.sent();e=["Validating commit message"];return[4,tv.commitLint()];case 2:return[4,tV.apply(void 0,e.concat([t.sent()]))];case 3:t.sent(),tW();return[2]}})})()}M(tX,"commitLint");function tZ(){return i(function(){var e,t,n,r;return b(this,function(s){switch(s.label){case 0:e=["Configuring Git hooks"];return[4,tv.configureGitHook()];case 1:return[4,tV.apply(void 0,e.concat([s.sent()]))];case 2:s.sent(),eb(tg.GIT_HOOK);return[4,tY(th)];case 3:t=s.sent();eR(tg.SIMPLE_GIT_HOOKS_JSON,JSON.stringify(t,null,4));n="\n".concat(eQ,"\n");eT(tg.GIT_IGNORE)?eC(tg.GIT_IGNORE,"utf-8").split("\n").includes(eQ)||eA(tg.GIT_IGNORE,n):eR(tg.GIT_IGNORE,n);r=["Setting up simple-git-hooks"];return[4,tv.simpleGitHooks()];case 4:return[4,tV.apply(void 0,r.concat([s.sent()]))];case 5:s.sent();return[2]}})})()}M(tZ,"setupGitHook");function t0(){return i(function(){return b(this,function(e){switch(e.label){case 0:return[4,tI([{name:eq,type:eE.DEPENDENCY}],{update:!0,postInstallActions:[tZ]})];case 1:e.sent();return[2]}})})()}M(t0,"prepare");function t1(){return i(function(){return b(this,function(e){switch(e.label){case 0:eb(tg.NODE_MODULES,tg.PNPM_LOCK_YAML);return[4,tD()];case 1:e.sent();return[4,tZ()];case 2:e.sent();return[2]}})})()}M(t1,"reset");function t2(){return i(function(){var e;return b(this,function(t){switch(t.label){case 0:e=["Inspecting project dependencies"];return[4,tv.nodeModulesInspect()];case 1:return[4,tV.apply(void 0,e.concat([t.sent()]))];case 2:t.sent();return[2]}})})()}M(t2,"inspect");function t4(){return i(function(){var e;return b(this,function(t){switch(t.label){case 0:e=["Running unit tests"];return[4,tv.testUnit()];case 1:return[4,tV.apply(void 0,e.concat([t.sent()]))];case 2:t.sent();return[2]}})})()}M(t4,"testUnit");function t3(){return i(function(){var e;return b(this,function(t){switch(t.label){case 0:e=["Running end-to-end tests"];return[4,tv.testE2e()];case 1:return[4,tV.apply(void 0,e.concat([t.sent()]))];case 2:t.sent();return[2]}})})()}M(t3,"testE2E");function t5(e){return i(function(){var t;return b(this,function(n){switch(n.label){case 0:t=["Creating MongoDB migration"];return[4,tv.mongoMigrateCreate(e)];case 1:return[4,tV.apply(void 0,t.concat([n.sent()]))];case 2:n.sent();return[2]}})})()}M(t5,"mongoMigrateCreate");function t8(){return i(function(){var e;return b(this,function(t){switch(t.label){case 0:e=["Running MongoDB migrations"];return[4,tv.mongoMigrateUp()];case 1:return[4,tV.apply(void 0,e.concat([t.sent()]))];case 2:t.sent();return[2]}})})()}M(t8,"mongoMigrateUp");function t6(){return i(function(){var e;return b(this,function(t){switch(t.label){case 0:e=["Rolling back MongoDB migration"];return[4,tv.mongoMigrateDown()];case 1:return[4,tV.apply(void 0,e.concat([t.sent()]))];case 2:t.sent();return[2]}})})()}M(t6,"mongoMigrateDown");function t7(){return i(function(){var e;return b(this,function(t){switch(t.label){case 0:e=["Building project"];return[4,tv.build()];case 1:return[4,tV.apply(void 0,e.concat([t.sent()]))];case 2:t.sent();return[2]}})})()}M(t7,"build");(function(){return i(function(){var e;return b(this,function(t){switch(t.label){case 0:t.trys.push([0,2,,3]);return[4,eu(ec(ea.argv)).scriptName(e0).usage("$0 <command> [options]").command("lint","Check code for linting issues",t$).command("lint:fix","Fix linting issues automatically",tz).command("lint:inspect","View active ESLint configuration",tJ).command("lint-staged","Run lint checks on staged files",tQ).command("commitlint","Validate commit message format",tX).command("prepare","Initialize project and dependencies",t0).command("reset","Reset the project and reinstall dependencies",t1).command("inspect","Analyze installed project dependencies",t2).command("test:unit","Run unit test suite",t4).command("test:e2e","Run end-to-end test suite",t3).command("mongo:migrate:create <name>","Create a MongoDB migration",function(e){return e.positional("name",{describe:"Migration name",type:"string"})},function(e){return i(function(){return b(this,function(t){switch(t.label){case 0:if(!e.name){ei.error("Migration name is required.");return[2]}return[4,t5(e.name)];case 1:t.sent();return[2]}})})()}).command("mongo:migrate:up","Apply all MongoDB migrations",t8).command("mongo:migrate:down","Rollback last MongoDB migration",t6).command("build","Build the project",t7).demandCommand(1,"Please specify a valid command.").strict().help().alias("h","help").alias("v","version").version(el.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();ei.error("Fatal: ".concat(e.message)),ea.exit(1);return[3,3];case 3:return[2]}})})()})();import{Router as t9}from"express";import{NestFactory as ne}from"@nestjs/core";import nt from"body-parser";import nn from"compression";import nr from"cookie-parser";import ns from"cors";import ni from"express";import no from"express-session";import na from"express-useragent";function nc(e){var t=e.isDev,n=e.whiteList,r=O(e,["isDev","whiteList"]);return y({origin:M(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)}M(nc,"createCorsOptions");function nu(e){return ns(nc(e))}M(nu,"createCors");function nl(e){return no(e)}M(nl,"createSession");function nd(e){var t=ni();return t.set("trust proxy",1),t.use(nr()),t.use(ni.urlencoded({extended:!0})),t.use(nn()),t.use(na.express()),(e===null||e===void 0?void 0:e.staticFolder)&&t.use(ni.static(e.staticFolder)),t}M(nd,"createExpress");function np(e){return i(function(){var t,n,r;return b(this,function(s){switch(s.label){case 0:return[4,ne.create(e.module)];case 1:r=s.sent();return[2,(r.getHttpAdapter().getInstance().set("trust proxy",1),r.use(ni.urlencoded({extended:!0})),r.use(nr()),r.use(nn()),r.use(na.express()),e.staticFolder&&r.use(ni.static(e.staticFolder)),e.filters&&(t=r).useGlobalFilters.apply(t,N(e.filters)),e.pipes&&(n=r).useGlobalPipes.apply(n,N(e.pipes)),r)]}})})()}M(np,"createNest");var nf="MONGO_MIGRATE_OPTIONS";import{Collection as nm,Db as nE}from"mongodb";import{Document as ng,Model as nh}from"mongoose";var ny=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){a(this,t);return o(this,t,arguments)}return t}(nE);M(ny,"C_Db");var nv=ny,nS=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){a(this,t);return o(this,t,arguments)}return t}(ng);M(nS,"C_Document");var nO=nS,n_=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){a(this,t);return o(this,t,arguments)}return t}(nh);M(n_,"C_Model");var nC=n_,nD=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){a(this,t);return o(this,t,arguments)}return t}(nm);M(nD,"C_Collection");var nI=nD;import{format as nN}from"date-fns";import nR from"migrate-mongo";import{Document as nA}from"mongoose";import nT from"mongoose-aggregate-paginate-v2";import nb from"mongoose-paginate-v2";import{v4 as nx}from"uuid";import nG from"unorm";var nM={a:["\xe0","\xe1","ạ","ả","\xe3","\xe2","ầ","ấ","ậ","ẩ","ẫ","ă","ằ","ắ","ặ","ẳ","ẵ"],e:["\xe8","\xe9","ẹ","ẻ","ẽ","\xea","ề","ế","ệ","ể","ễ"],i:["\xec","\xed","ị","ỉ","ĩ"],o:["\xf2","\xf3","ọ","ỏ","\xf5","\xf4","ồ","ố","ộ","ổ","ỗ","ơ","ờ","ớ","ợ","ở","ỡ"],u:["\xf9","\xfa","ụ","ủ","ũ","ư","ừ","ứ","ự","ử","ữ"],y:["ỳ","\xfd","ỵ","ỷ","ỹ"],d:["đ"]},nP=Object.entries(nM).reduce(function(e,t){var n=I(t,2),r=n[0],s=n[1];return e[r.toUpperCase()]=s.map(function(e){return e.toUpperCase()}),e},{});function nw(e){return(typeof e==="undefined"?"undefined":R(e))=="object"&&e!==null&&!Array.isArray(e)}M(nw,"isObject");import nL from"crypto-js";import nj from"slugify";var nk=nj.default||nj;function nU(e,t){var n=M(function(e){var n,r;return nk(e!==null&&e!==void 0?e:"",y({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(nw(e)){var r={};var s=true,i=false,o=undefined;try{for(var a=Object.entries(e)[Symbol.iterator](),c;!(s=(c=a.next()).done);s=true){var u=I(c.value,2),l=u[0],d=u[1];r[l]=n(d)}}catch(e){i=true;o=e}finally{try{if(!s&&a.return!=null){a.return()}}finally{if(i){throw o}}}return r}return n(e)}M(nU,"generateSlug");function nF(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:4;return nL.SHA256(e).toString(nL.enc.Hex).slice(0,t)}M(nF,"generateShortId");var nq={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":R(e))=="object"?f(e,Date)?!1:f(e,Map)||f(e,Set)?e.size===0:f(e,WeakMap)||f(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 nY={getDateTime:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:new Date;return nN(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"?nY.getDateTime():new Date;return{id:nx(),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:nx,required:!0,unique:!0},isDel:{type:Boolean,default:!1,required:!0}},{timestamps:!0})},createSchema:function e(e){var t=e.mongoose,n=e.schema,r=e.virtuals,s=r===void 0?[]:r,i=e.standalone,o=i===void 0?!1:i;var a=new t.Schema(n,{strict:!0});return s.forEach(function(e){var t=e.name,n=e.options,r=e.get;var s=a.virtual(t,n);r&&s.get(r)}),o||a.add(nY.createGenericSchema(t)),a},createModel:function e(e){var t=e.mongoose,n=e.name,r=e.schema,s=e.pagination,i=s===void 0?!1:s,o=e.aggregate,a=o===void 0?!1:o,c=e.virtuals,u=c===void 0?[]:c,l=e.middlewares,d=l===void 0?[]:l;if(!n)throw new Error("Model name is required.");if(t.models[n])return t.models[n];var p=nY.createSchema({mongoose:t,schema:r,virtuals:u});return nY.applyPlugins(p,[i&&nb,a&&nT]),nY.applyMiddlewares(p,d),t.model(n,p)},validator:{isEmpty:function e(){return function(e){return i(function(){return b(this,function(t){return[2,!nq.isEmpty(e)]})})()}},isUnique:function e(e){return function(t){return i(function(){var n;return b(this,function(r){switch(r.label){case 0:if(!Array.isArray(e)||e.length===0)throw new Error("Fields must be a non-empty array of strings.");n={$or:e.map(function(e){return l({},e,t)})};return[4,this.constructor.exists(n)];case 1:return[2,!r.sent()]}})}).call(this)}},matchesRegex:function e(e){return function(t){return i(function(){return b(this,function(n){if(!Array.isArray(e)||e.some(function(e){return!f(e,RegExp)}))throw new Error("regexArray must be an array of valid RegExp objects.");return[2,e.every(function(e){return e.test(t)})]})})()}}},migrate:S(y({},nR),{setConfig:M(function(e){var t="// This file is automatically generated by the Cyberskill CLI.\nmodule.exports = ".concat(JSON.stringify(e,null,4));eR(tg.MIGRATE_MONGO_CONFIG,t);var n="\n".concat(eX,"\n");eT(tg.GIT_IGNORE)?eC(tg.GIT_IGNORE,"utf-8").split("\n").includes(eX)||eA(tg.GIT_IGNORE,n):eR(tg.GIT_IGNORE,n)},"setConfig")})},nV=/*#__PURE__*/function(){"use strict";function e(t,n){a(this,e);P(this,"collection");this.collection=t.collection(n)}u(e,[{key:"createOne",value:function e(e){return i(function(){var t,n,r;return b(this,function(s){switch(s.label){case 0:s.trys.push([0,2,,3]);t=y({},nY.createGenericFields(),e);n={success:!0,message:"Document created successfully"};return[4,this.collection.insertOne(t)];case 1:return[2,(n.result=s.sent(),n)];case 2:r=s.sent();return[2,{success:!1,message:r.message}];case 3:return[2]}})}).call(this)}},{key:"createMany",value:function e(e){return i(function(){var t,n,r;return b(this,function(s){switch(s.label){case 0:s.trys.push([0,2,,3]);t=e.map(function(e){return y({},nY.createGenericFields(),e)});return[4,this.collection.insertMany(t)];case 1:n=s.sent();return[2,n.insertedCount===0?{success:!1,message:"No documents were inserted"}:{success:!0,message:"".concat(n.insertedCount," documents created successfully"),result:n}];case 2:r=s.sent();return[2,{success:!1,message:r.message}];case 3:return[2]}})}).call(this)}},{key:"findOne",value:function e(e){return i(function(){var t,n;return b(this,function(r){switch(r.label){case 0:r.trys.push([0,2,,3]);return[4,this.collection.findOne(e)];case 1:t=r.sent();return[2,t?{success:!0,message:"Document found",result:t}:{success:!1,message:"Document not found"}];case 2:n=r.sent();return[2,{success:!1,message:n.message}];case 3:return[2]}})}).call(this)}},{key:"findAll",value:function e(){return i(function(){var e,t,n;var r=arguments;return b(this,function(s){switch(s.label){case 0:e=r.length>0&&r[0]!==void 0?r[0]:{};s.label=1;case 1:s.trys.push([1,3,,4]);t={success:!0,message:"Documents retrieved successfully"};return[4,this.collection.find(e).toArray()];case 2:return[2,(t.result=s.sent(),t)];case 3:n=s.sent();return[2,{success:!1,message:n.message}];case 4:return[2]}})}).apply(this,arguments)}},{key:"count",value:function e(){return i(function(){var e,t,n;var r=arguments;return b(this,function(s){switch(s.label){case 0:e=r.length>0&&r[0]!==void 0?r[0]:{};s.label=1;case 1:s.trys.push([1,3,,4]);t={success:!0,message:"Count retrieved successfully"};return[4,this.collection.countDocuments(e)];case 2:return[2,(t.result=s.sent(),t)];case 3:n=s.sent();return[2,{success:!1,message:n.message}];case 4:return[2]}})}).apply(this,arguments)}},{key:"updateOne",value:function e(e,t){return i(function(){var n,r;return b(this,function(s){switch(s.label){case 0:s.trys.push([0,2,,3]);return[4,this.collection.updateOne(e,{$set:t})];case 1:n=s.sent();return[2,n.matchedCount===0?{success:!1,message:"No documents matched the filter"}:{success:!0,message:"Document updated successfully",result:n}];case 2:r=s.sent();return[2,{success:!1,message:r.message}];case 3:return[2]}})}).call(this)}},{key:"updateMany",value:function e(e,t){return i(function(){var n,r;return b(this,function(s){switch(s.label){case 0:s.trys.push([0,2,,3]);return[4,this.collection.updateMany(e,{$set:t})];case 1:n=s.sent();return[2,n.matchedCount===0?{success:!1,message:"No documents matched the filter"}:{success:!0,message:"Documents updated successfully",result:n}];case 2:r=s.sent();return[2,{success:!1,message:r.message}];case 3:return[2]}})}).call(this)}},{key:"deleteOne",value:function e(e){return i(function(){var t,n;return b(this,function(r){switch(r.label){case 0:r.trys.push([0,2,,3]);return[4,this.collection.deleteOne(e)];case 1:t=r.sent();return[2,t.deletedCount===0?{success:!1,message:"No documents matched the filter"}:{success:!0,message:"Document deleted successfully",result:t}];case 2:n=r.sent();return[2,{success:!1,message:n.message}];case 3:return[2]}})}).call(this)}},{key:"deleteMany",value:function e(e){return i(function(){var t,n;return b(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}();M(nV,"MongoController");var nK=nV,nB=/*#__PURE__*/function(){"use strict";function e(t){a(this,e);P(this,"model");this.model=t}u(e,[{key:"getModelName",value:function e(){return this.model.modelName}},{key:"findOne",value:function e(e){return i(function(){var e,t,n,r,s,i,o;var a=arguments;return b(this,function(c){switch(c.label){case 0:e=a.length>0&&a[0]!==void 0?a[0]:{},t=a.length>1&&a[1]!==void 0?a[1]:{},n=a.length>2&&a[2]!==void 0?a[2]:{},r=a.length>3?a[3]:void 0;c.label=1;case 1:c.trys.push([1,3,,4]);s=this.model.findOne(e,t,n);r&&s.populate(r);return[4,s.exec()];case 2:i=c.sent();return[2,i?{success:!0,result:i}:{success:!1,message:"No ".concat(this.getModelName()," found."),code:et.NOT_FOUND.CODE}];case 3:o=c.sent();return[2,{success:!1,message:o.message,code:et.INTERNAL_SERVER_ERROR.CODE}];case 4:return[2]}})}).apply(this,arguments)}},{key:"findAll",value:function e(e){return i(function(){var e,t,n,r,s,i,o;var a=arguments;return b(this,function(c){switch(c.label){case 0:e=a.length>0&&a[0]!==void 0?a[0]:{},t=a.length>1&&a[1]!==void 0?a[1]:{},n=a.length>2&&a[2]!==void 0?a[2]:{},r=a.length>3?a[3]:void 0;c.label=1;case 1:c.trys.push([1,3,,4]);s=this.model.find(e,t,n);r&&s.populate(r);i={success:!0};return[4,s.exec()];case 2:return[2,(i.result=c.sent(),i)];case 3:o=c.sent();return[2,{success:!1,message:o.message,code:et.INTERNAL_SERVER_ERROR.CODE}];case 4:return[2]}})}).apply(this,arguments)}},{key:"findPaging",value:function e(){return i(function(){var e,t,n,r;var s=arguments;return b(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:et.INTERNAL_SERVER_ERROR.CODE}];case 4:return[2]}})}).apply(this,arguments)}},{key:"findPagingAggregate",value:function e(e){return i(function(e){var t,n,r;var s=arguments;return b(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:et.INTERNAL_SERVER_ERROR.CODE}];case 4:return[2]}})}).apply(this,arguments)}},{key:"count",value:function e(){return i(function(){var e,t,n;var r=arguments;return b(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:et.INTERNAL_SERVER_ERROR.CODE}];case 4:return[2]}})}).apply(this,arguments)}},{key:"createOne",value:function e(e){return i(function(){var t,n;return b(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:et.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})}).call(this)}},{key:"createMany",value:function e(e){return i(function(e){var t,n,r;var s=arguments;return b(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 f(e,nA)?e.toObject():null}).filter(function(e){return e!==null}),n)];case 3:r=i.sent();return[2,{success:!1,message:r.message,code:et.INTERNAL_SERVER_ERROR.CODE}];case 4:return[2]}})}).apply(this,arguments)}},{key:"updateOne",value:function e(){return i(function(){var e,t,n,r,s;var i=arguments;return b(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,y({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:et.NOT_FOUND.CODE}];case 3:s=o.sent();return[2,{success:!1,message:s.message,code:et.INTERNAL_SERVER_ERROR.CODE}];case 4:return[2]}})}).apply(this,arguments)}},{key:"updateMany",value:function e(){return i(function(){var e,t,n,r,s;var i=arguments;return b(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:et.INTERNAL_SERVER_ERROR.CODE}];case 4:return[2]}})}).apply(this,arguments)}},{key:"deleteOne",value:function e(){return i(function(){var e,t,n,r;var s=arguments;return b(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:et.NOT_FOUND.CODE}];case 3:r=i.sent();return[2,{success:!1,message:r.message,code:et.INTERNAL_SERVER_ERROR.CODE}];case 4:return[2]}})}).apply(this,arguments)}},{key:"deleteMany",value:function e(){return i(function(){var e,t,n,r;var s=arguments;return b(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:et.NOT_FOUND.CODE}:{success:!0,result:n}];case 3:r=i.sent();return[2,{success:!1,message:r.message,code:et.INTERNAL_SERVER_ERROR.CODE}];case 4:return[2]}})}).apply(this,arguments)}},{key:"createShortId",value:function e(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:4;return i(function(){var n,r,s,i;return b(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=nF(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:et.INTERNAL_SERVER_ERROR.CODE}]}})}).call(this)}},{key:"createSlug",value:function e(e,t,n){return i(function(){var r,s,o,a,c,u,d,p,f,m;return b(this,function(E){switch(E.label){case 0:r=this;E.label=1;case 1:E.trys.push([1,5,,6]);s=t[e],o=nw(s),a=M(function(t){var r=y({},n!==null&&n!==void 0?n:{});return o?S(y({},r),{$or:[l({},"slug.".concat(e),t),{slugHistory:{$elemMatch:l({},"slug.".concat(e),t)}}]}):S(y({},r),{$or:[{slug:t},{slugHistory:t}]})},"generateSlugQuery"),c=M(function(e){return i(function(){var t,n;return b(this,function(r){switch(r.label){case 0:t=e,n=1;r.label=1;case 1:return[4,this.model.exists(a(t))];case 2:if(!r.sent())return[3,4];t="".concat(e,"-").concat(n++);r.label=3;case 3:return[3,1];case 4:return[2,t]}})}).call(r)},"generateUniqueSlug");if(!o)return[3,3];u={success:!0};d=Object.fromEntries;return[4,Promise.all(Object.entries(s).map(function(e){var t=I(e,2),n=t[0],r=t[1];return i(function(){var e,t;return b(this,function(s){switch(s.label){case 0:e=nU(r);t=[n];return[4,c(e)];case 1:return[2,t.concat([s.sent()])]}})})()}))];case 2:return[2,(u.result=d.apply(Object,[E.sent()]),u)];case 3:p=nU(s);f={success:!0};return[4,c(p)];case 4:return[2,(f.result=E.sent(),f)];case 5:m=E.sent();return[2,{success:!1,message:"Failed to create a unique slug: ".concat(m.message),code:et.INTERNAL_SERVER_ERROR.CODE}];case 6:return[2]}})}).call(this)}},{key:"aggregate",value:function e(e){return i(function(){var t,n;return b(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:et.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})}).call(this)}}]);return e}();M(nB,"MongooseController");var nH=nB;import{useServer as nW}from"graphql-ws/use/ws";import{WebSocketServer as nQ}from"ws";function nJ(e){return new nQ({server:e.server,path:e.path})}M(nJ,"createWSServer");function n$(e){return nW({schema:e.schema},e.server)}M(n$,"initGraphQLWS");export{eV as BUILD_DIRECTORY,e9 as COMMIT_LINT_CLI,e7 as COMMIT_LINT_CONVENTIONAL_CONFIG_PACKAGE_NAME,e6 as COMMIT_LINT_PACKAGE_NAME,e0 as CYBERSKILL_CLI,e1 as CYBERSKILL_CLI_PATH,eZ as CYBERSKILL_DIRECTORY,eq as CYBERSKILL_PACKAGE_NAME,nI as C_Collection,nv as C_Db,nO as C_Document,nC as C_Model,e4 as ESLINT_CLI,td as ESLINT_INSPECT_CLI,tl as ESLINT_INSPECT_PACKAGE_NAME,e2 as ESLINT_PACKAGE_NAME,ed as E_CommandType,F as E_IssueType,eE as E_PackageType,ti as GIT_CLI,ez as GIT_COMMIT_EDITMSG,e$ as GIT_HOOK,eW as GIT_IGNORE,tt as LINT_STAGED_CLI,te as LINT_STAGED_PACKAGE_NAME,tE as MIGRATE_MONGO_CLI,eX as MIGRATE_MONGO_CONFIG,tm as MIGRATE_MONGO_PACKAGE_NAME,nf as MONGO_MIGRATE_OPTIONS,nK as MongoController,nH as MongooseController,eY as NODE_MODULES,tf as NODE_MODULES_INSPECT_CLI,tp as NODE_MODULES_INSPECT_PACKAGE_NAME,eK as PACKAGE_JSON,eB as PACKAGE_LOCK_JSON,tg as PATH,e5 as PLAYWRIGHT_PACKAGE_NAME,to as PNPM_CLI,ta as PNPM_EXEC_CLI,eJ as PNPM_LOCK_YAML,t9 as Router,tc as SIMPLE_GIT_HOOKS_PACKAGE_NAME,tu as SIMPLE_GIT_HOOK_CLI,eQ as SIMPLE_GIT_HOOK_JSON,eH as TSCONFIG_JSON,tr as TSC_CLI,tn as TSC_PACKAGE_NAME,ts as TSX_CLI,e8 as VITEST_CLI,e3 as VITEST_PACKAGE_NAME,eF as WORKING_DIRECTORY,nT as aggregatePaginate,eA as appendFileSync,nt as bodyParser,tw as clearAllErrorLists,tv as command,ex as copySync,eo as createApolloServer,nu as createCors,nc as createCorsOptions,nd as createExpress,th as createGitHooksConfig,np as createNest,nl as createSession,nJ as createWSServer,ni as express,L as expressMiddleware,tq as formatCommand,ev as fs,tO as getLatestPackageVersion,t_ as getPackage,tP as getStoredErrorLists,n$ as initGraphQLWS,tD as installDependencies,ek as join,ei as logNodeJS,eS as lstatSync,e_ as mkdirSync,nY as mongo,nb as mongoosePaginate,ew as path,eT as pathExistsSync,tU as rawCommand,eC as readFileSync,eN as readJsonSync,eO as readdirSync,eb as removeSync,ej as resolve,tY as resolveCommands,eL as resolveWorkingPath,tV as runCommand,tI as setupPackages,eI as statSync,tT as storageNodeJS,er as throwError,eD as unlinkSync,tC as updatePackage,eR as writeFileSync};