@cyberskill/shared 1.102.0 → 1.103.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 (49) hide show
  1. package/dist/_tsup-dts-rollup.d.cts +50 -51
  2. package/dist/_tsup-dts-rollup.d.ts +50 -51
  3. package/dist/configs/config.util.cjs +1 -1
  4. package/dist/configs/config.util.js +1 -1
  5. package/dist/configs/index.cjs +1 -1
  6. package/dist/configs/index.js +1 -1
  7. package/dist/index.cjs +1 -1
  8. package/dist/index.d.cts +2 -2
  9. package/dist/index.d.ts +2 -2
  10. package/dist/index.js +1 -1
  11. package/dist/nodejs/cli/cli.util.cjs +1 -1
  12. package/dist/nodejs/cli/cli.util.js +1 -1
  13. package/dist/nodejs/cli/index.cjs +1 -1
  14. package/dist/nodejs/cli/index.js +1 -1
  15. package/dist/nodejs/command/command.util.cjs +1 -1
  16. package/dist/nodejs/command/command.util.js +1 -1
  17. package/dist/nodejs/command/index.cjs +1 -1
  18. package/dist/nodejs/command/index.js +1 -1
  19. package/dist/nodejs/index.cjs +1 -1
  20. package/dist/nodejs/index.d.cts +2 -2
  21. package/dist/nodejs/index.d.ts +2 -2
  22. package/dist/nodejs/index.js +1 -1
  23. package/dist/nodejs/mongo/index.cjs +1 -1
  24. package/dist/nodejs/mongo/index.d.cts +0 -1
  25. package/dist/nodejs/mongo/index.d.ts +0 -1
  26. package/dist/nodejs/mongo/index.js +1 -1
  27. package/dist/nodejs/mongo/mongo.type.d.cts +0 -1
  28. package/dist/nodejs/mongo/mongo.type.d.ts +0 -1
  29. package/dist/nodejs/mongo/mongo.util.cjs +1 -1
  30. package/dist/nodejs/mongo/mongo.util.js +1 -1
  31. package/dist/nodejs/package/index.cjs +1 -1
  32. package/dist/nodejs/package/index.js +1 -1
  33. package/dist/nodejs/package/package.util.cjs +1 -1
  34. package/dist/nodejs/package/package.util.js +1 -1
  35. package/dist/nodejs/path/index.cjs +1 -1
  36. package/dist/nodejs/path/index.d.cts +2 -1
  37. package/dist/nodejs/path/index.d.ts +2 -1
  38. package/dist/nodejs/path/index.js +1 -1
  39. package/dist/nodejs/path/path.constant.cjs +1 -1
  40. package/dist/nodejs/path/path.constant.d.cts +2 -1
  41. package/dist/nodejs/path/path.constant.d.ts +2 -1
  42. package/dist/nodejs/path/path.constant.js +1 -1
  43. package/dist/react/index.cjs +1 -1
  44. package/dist/react/index.js +1 -1
  45. package/dist/react/vitest/index.cjs +1 -1
  46. package/dist/react/vitest/index.js +1 -1
  47. package/dist/react/vitest/vitest.unit.cjs +1 -1
  48. package/dist/react/vitest/vitest.unit.js +1 -1
  49. package/package.json +7 -8
@@ -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,N()?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 g(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 E(){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 v(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 S(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 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 R(e,t){if(t&&(A(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 I(e,n){return t(e)||m(e,n)||b(e,n)||E()}function T(e){return n(e)||g(e)||b(e)||h()}function A(e){"@swc/helpers - typeof";return e&&typeof Symbol!=="undefined"&&e.constructor===Symbol?"symbol":typeof e}function b(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 N(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(N=function(){return!!e})()}function D(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 w=Object.defineProperty;var x=function(e,t,n){return t in e?w(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n};var j=function(e,t){return w(e,"name",{value:t,configurable:!0})};var M=function(e,t,n){return x(e,(typeof t==="undefined"?"undefined":A(t))!="symbol"?t+"":t,n)};import{ApolloServer as G}from"@apollo/server";import{expressMiddleware as P}from"@apollo/server/express4";import{ApolloServerPluginDrainHttpServer as L}from"@apollo/server/plugin/drainHttpServer";import{ApolloServerPluginLandingPageLocalDefault as U,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 K from"consola";import{GraphQLError as B}from"graphql";var H=".cyberskill-storage";import Y from"dotenv";import{bool as V,cleanEnv as W,str as Q}from"envalid";import J from"node:os";import $ from"node:path";import X from"node:process";Y.config();function z(){var e={DEBUG:X.env.DEBUG||!1,CWD:X.env.CWD||X.cwd(),CYBERSKILL_STORAGE_DIRECTORY:X.env.CYBERSKILL_STORAGE_DIRECTORY||$.join(J.homedir(),H)};return W(e,{DEBUG:V(),CWD:Q(),CYBERSKILL_STORAGE_DIRECTORY:Q()})}j(z,"getEnv");var Z={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 ee=z();function et(e){var t=e.message,n=e.status,r=n===void 0?Z.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 B(a,{extensions:{code:r.CODE}}):new Error(a)}j(et,"throwError");ee.DEBUG||(K.level=4);function en(e){var t=q[e];return typeof t=="function"?t:q.green}j(en,"chalkKeyword");var er={silent:K.silent,level:K.level,fatal:K.fatal,error:K.error,warn:K.warn,log:K.log,info:K.info,success:K.success,ready:K.ready,start:K.start,box:K.box,debug:K.debug,trace:K.trace,verbose:K.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)){K.box(q.green(e));return}t.forEach(function(e){var t=e.file,r=e.position,s=e.rule,i=e.message;K.log("".concat(q.gray("File:")," ").concat(q.blue("".concat(t).concat(r?":".concat(r):"")))),s&&K.log(" ".concat(en(n)("Rule:")," ").concat(s)),K.log(" ".concat(en(n)("Message:")," ").concat(i))}),K.box(en(n)("".concat(e," : ").concat(t.length))),K.log(q.gray("─".repeat(40)))}};function es(e){return new G(v({schema:e.schema,plugins:[e.isDev?U():k(),L({httpServer:e.server})].concat(T(e.drainServer?[{serverWillStart:function t(){return i(function(){return D(this,function(t){return[2,{drainServer:function t(){return i(function(){var t;return D(this,function(n){(t=e.drainServer)===null||t===void 0?void 0:t.call(e),er.info("Apollo Server drainServer hook called");return[2]})})()}}]})})()}}]:[]))},e.isDev&&{introspection:!0,includeStacktraceInErrorResponses:!0}))}j(es,"createApolloServer");import ei from"node:process";import{hideBin as eo}from"yargs/helpers";import ea from"yargs/yargs";var ec={name:"@cyberskill/shared",type:"module",version:"1.101.0",description:"CyberSkill Shared",author:"Stephen Cheng",license:"MIT",homepage:"https://github.com/cyberskill-world/shared#readme",repository:{type:"git",url:"git+https://github.com/cyberskill-world/shared.git"},bugs:{url:"https://github.com/cyberskill-world/shared/issues"},exports:{".":{types:"./dist/index.d.ts",import:"./dist/index.js",require:"./dist/index.cjs"},"./configs":{types:"./dist/configs/index.d.ts",import:"./dist/configs/index.js",require:"./dist/configs/index.cjs"},"./configs/commitlint":{types:"./dist/configs/commitlint/index.d.ts",import:"./dist/configs/commitlint/index.js",require:"./dist/configs/commitlint/index.cjs"},"./configs/eslint":{types:"./dist/configs/eslint/index.d.ts",import:"./dist/configs/eslint/index.js",require:"./dist/configs/eslint/index.cjs"},"./configs/graphql-codegen":{types:"./dist/configs/graphql-codegen/index.d.ts",import:"./dist/configs/graphql-codegen/index.js",require:"./dist/configs/graphql-codegen/index.cjs"},"./configs/lint-staged":{types:"./dist/configs/lint-staged/index.d.ts",import:"./dist/configs/lint-staged/index.js",require:"./dist/configs/lint-staged/index.cjs"},"./constants":{types:"./dist/constants/index.d.ts",import:"./dist/constants/index.js",require:"./dist/constants/index.cjs"},"./nodejs":{types:"./dist/nodejs/index.d.ts",import:"./dist/nodejs/index.js",require:"./dist/nodejs/index.cjs"},"./nodejs/apollo-server":{types:"./dist/nodejs/apollo-server/index.d.ts",import:"./dist/nodejs/apollo-server/index.js",require:"./dist/nodejs/apollo-server/index.cjs"},"./nodejs/cli":{types:"./dist/nodejs/cli/index.d.ts",import:"./dist/nodejs/cli/index.js",require:"./dist/nodejs/cli/index.cjs"},"./nodejs/command":{types:"./dist/nodejs/command/index.d.ts",import:"./dist/nodejs/command/index.js",require:"./dist/nodejs/command/index.cjs"},"./nodejs/express":{types:"./dist/nodejs/express/index.d.ts",import:"./dist/nodejs/express/index.js",require:"./dist/nodejs/express/index.cjs"},"./nodejs/fs":{types:"./dist/nodejs/fs/index.d.ts",import:"./dist/nodejs/fs/index.js",require:"./dist/nodejs/fs/index.cjs"},"./nodejs/log":{types:"./dist/nodejs/log/index.d.ts",import:"./dist/nodejs/log/index.js",require:"./dist/nodejs/log/index.cjs"},"./nodejs/mongo":{types:"./dist/nodejs/mongo/index.d.ts",import:"./dist/nodejs/mongo/index.js",require:"./dist/nodejs/mongo/index.cjs"},"./nodejs/package":{types:"./dist/nodejs/package/index.d.ts",import:"./dist/nodejs/package/index.js",require:"./dist/nodejs/package/index.cjs"},"./nodejs/path":{types:"./dist/nodejs/path/index.d.ts",import:"./dist/nodejs/path/index.js",require:"./dist/nodejs/path/index.cjs"},"./nodejs/storage":{types:"./dist/nodejs/storage/index.d.ts",import:"./dist/nodejs/storage/index.js",require:"./dist/nodejs/storage/index.cjs"},"./nodejs/ws":{types:"./dist/nodejs/ws/index.d.ts",import:"./dist/nodejs/ws/index.js",require:"./dist/nodejs/ws/index.cjs"},"./react":{types:"./dist/react/index.d.ts",import:"./dist/react/index.js",require:"./dist/react/index.cjs"},"./react/apollo-client":{types:"./dist/react/apollo-client/index.d.ts",import:"./dist/react/apollo-client/index.js",require:"./dist/react/apollo-client/index.cjs"},"./react/apollo-error":{types:"./dist/react/apollo-error/index.d.ts",import:"./dist/react/apollo-error/index.js",require:"./dist/react/apollo-error/index.cjs"},"./react/i18next":{types:"./dist/react/i18next/index.d.ts",import:"./dist/react/i18next/index.js",require:"./dist/react/i18next/index.cjs"},"./react/loading":{types:"./dist/react/loading/index.d.ts",import:"./dist/react/loading/index.js",require:"./dist/react/loading/index.cjs"},"./react/log":{types:"./dist/react/log/index.d.ts",import:"./dist/react/log/index.js",require:"./dist/react/log/index.cjs"},"./react/next-intl":{types:"./dist/react/next-intl/index.d.ts",import:"./dist/react/next-intl/index.js",require:"./dist/react/next-intl/index.cjs"},"./react/storage":{types:"./dist/react/storage/index.d.ts",import:"./dist/react/storage/index.js",require:"./dist/react/storage/index.cjs"},"./react/toast":{types:"./dist/react/toast/index.d.ts",import:"./dist/react/toast/index.js",require:"./dist/react/toast/index.cjs"},"./react/vitest":{types:"./dist/react/vitest/index.d.ts",import:"./dist/react/vitest/index.js",require:"./dist/react/vitest/index.cjs"},"./styles/reset.css":{import:"./dist/styles/reset.css",require:"./dist/styles/reset.css"},"./typescript":{types:"./dist/typescript/index.d.ts",import:"./dist/typescript/index.js",require:"./dist/typescript/index.cjs"},"./utils":{types:"./dist/utils/index.d.ts",import:"./dist/utils/index.js",require:"./dist/utils/index.cjs"}},main:"./dist/index.cjs",module:"./dist/index.js",types:"./dist/index.d.ts",bin:{cyberskill:"./dist/nodejs/cli/index.js"},files:["dist","public"],scripts:{build:"tsup",dev:"dotenv -e .env -- tsup --watch",lint:"dotenv -e .env -- tsx src/nodejs/cli/index.ts lint","lint:fix":"dotenv -e .env -- tsx src/nodejs/cli/index.ts lint:fix","lint:inspect":"dotenv -e .env -- tsx src/nodejs/cli/index.ts lint:inspect",reset:"dotenv -e .env -- tsx src/nodejs/cli/index.ts reset",setup:"dotenv -e .env -- tsx src/nodejs/cli/index.ts setup",inspect:"dotenv -e .env -- tsx src/nodejs/cli/index.ts inspect","test:unit":"dotenv -e .env -- tsx src/nodejs/cli/index.ts test:unit","test:e2e":"dotenv -e .env -- tsx src/nodejs/cli/index.ts test:e2e",commitlint:"dotenv -e .env -- tsx src/nodejs/cli/index.ts commitlint","lint-staged":"dotenv -e .env -- tsx src/nodejs/cli/index.ts lint-staged"},dependencies:{"@antfu/eslint-config":"4.12.0","@apollo/client":"3.13.8","@apollo/server":"4.12.0","@eddeee888/gcg-typescript-resolver-files":"0.12.0","@eslint-react/eslint-plugin":"1.48.4","@graphql-codegen/cli":"5.0.5","@graphql-codegen/client-preset":"4.8.0","@microsoft/api-extractor":"7.52.4","@next/eslint-plugin-next":"15.3.1","@swc/core":"1.11.21","@testing-library/jest-dom":"6.6.3","@testing-library/react":"16.3.0","@vitejs/plugin-react-swc":"3.9.0","@vitest/browser":"3.1.2",chalk:"5.4.1",classnames:"2.5.1",compression:"1.8.0",consola:"3.4.2",cors:"2.8.5","crypto-js":"4.2.0","date-fns":"4.1.0",dotenv:"16.5.0","dotenv-cli":"8.0.0",envalid:"8.0.0","eslint-config-next":"15.3.1","eslint-plugin-format":"1.0.1","eslint-plugin-react-hooks":"5.2.0","eslint-plugin-react-refresh":"0.4.19",express:"4.21.2","express-device":"0.4.2","express-session":"1.18.1","fs-extra":"11.3.0",globals:"16.0.0",graphql:"16.10.0","graphql-ws":"6.0.4",i18next:"25.0.1",jsdom:"26.1.0",localforage:"1.10.0","migrate-mongo":"12.1.3","modern-normalize":"3.0.1",mongodb:"6.15.0",mongoose:"8.13.2","mongoose-aggregate-paginate-v2":"1.1.4","mongoose-paginate-v2":"1.9.0","next-intl":"4.0.2","node-fetch":"3.3.2","node-persist":"4.0.4",ora:"8.2.0",playwright:"1.52.0","postcss-modules":"6.0.1",qs:"6.14.0",react:"19.1.0","react-dom":"19.1.0","react-hot-toast":"2.5.2","react-i18next":"15.4.1","react-icons":"5.5.0",sass:"1.86.3",slugify:"1.6.6","ts-node":"10.9.2",tsup:"8.4.0",tsx:"4.19.3",typescript:"5.8.3",unorm:"1.6.0",uuid:"11.1.0",vite:"6.3.2",vitest:"3.1.2","vitest-browser-react":"0.1.1",ws:"8.18.1",yargs:"17.7.2"},publishConfig:{access:"public",registry:"https://registry.npmjs.org/"},devDependencies:{"@commitlint/cli":"19.8.0","@eslint/config-inspector":"1.0.2","@types/compression":"1.7.5","@types/cors":"2.8.17","@types/crypto-js":"4.2.2","@types/express":"4.17.21","@types/express-session":"1.18.1","@types/fs-extra":"11.0.4","@types/migrate-mongo":"10.0.5","@types/mongoose-aggregate-paginate-v2":"1.0.12","@types/node-persist":"3.1.8","@types/react":"19.1.2","@types/react-dom":"19.1.2","@types/unorm":"1.3.31","@types/uuid":"10.0.0","@types/ws":"8.18.1","@types/yargs":"17.0.33",eslint:"9.25.0","lint-staged":"15.5.1","node-modules-inspector":"0.6.6","simple-git-hooks":"2.12.1"}};var eu=function(e){return e.CLI="CLI",e.STRING="STRING",e.FUNCTION="FUNCTION",e}({});import{exec as el}from"node:child_process";import ed from"node:process";import*as ep from"node:util";var ef={isCurrentProject:!1,installedPath:"",file:{},isUpToDate:!1};import eg from"node-fetch";import em from"fs-extra";import{extname as eE}from"node:path";var eh=em.readFileSync,ev=em.writeFileSync,ey=em.pathExistsSync,eS=em.appendFileSync,eO=em.copySync,e_=em.removeSync,eR=em.statSync,eC=em.readJsonSync,eI=em.writeJsonSync;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 ey(e)})}j(eT,"existsSync");function eA(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}t.forEach(function(e){ey(e)&&e_(e)})}j(eA,"removeSync");function eb(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};var r=n.extensions,s=O(n,["extensions"]);eO(e,t,v({filter:j(function(e){return eR(e).isDirectory()||!r||r.length===0?!0:r.includes(eE(e))},"filter")},s))}j(eb,"copySync");var eN="MONGO_MIGRATE_OPTIONS";import{Collection as eD,Db as ew}from"mongodb";import{Document as ex,Model as ej}from"mongoose";var eM=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){a(this,t);return o(this,t,arguments)}return t}(ew);j(eM,"C_Db");var eG=eM,eP=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){a(this,t);return o(this,t,arguments)}return t}(ex);j(eP,"C_Document");var eL=eP,eU=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){a(this,t);return o(this,t,arguments)}return t}(ej);j(eU,"C_Model");var ek=eU,eF=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){a(this,t);return o(this,t,arguments)}return t}(eD);j(eF,"C_Collection");var eq=eF;import{format as eK}from"date-fns";import eB from"migrate-mongo";import{Document as eH}from"mongoose";import eY from"mongoose-aggregate-paginate-v2";import eV from"mongoose-paginate-v2";import{v4 as eW}from"uuid";import eQ from"node-persist";var eJ=z();function e$(){return eX.apply(this,arguments)}function eX(){eX=i(function(){var e;return D(this,function(t){switch(t.label){case 0:e=eQ.defaultInstance;if(e)return[3,2];return[4,eQ.init({dir:eJ.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]}})});return eX.apply(this,arguments)}j(e$,"initNodePersist");var ez={get:function e(e){return i(function(){var t,n;return D(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,e$()];case 1:r.sent();return[4,eQ.getItem(e)];case 2:return[2,(t=r.sent())!==null&&t!==void 0?t:null];case 3:n=r.sent();return[2,(er.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 D(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,e$()];case 1:r.sent();return[4,eQ.setItem(e,t)];case 2:r.sent();return[3,4];case 3:n=r.sent();er.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 D(this,function(n){switch(n.label){case 0:n.trys.push([0,3,,4]);return[4,e$()];case 1:n.sent();return[4,eQ.removeItem(e)];case 2:n.sent();return[3,4];case 3:t=n.sent();er.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 D(this,function(n){switch(n.label){case 0:n.trys.push([0,3,,4]);return[4,e$()];case 1:n.sent();return[4,eQ.keys()];case 2:e=n.sent();return[2,Array.isArray(e)?e:(er.warn("[Storage:keys] Invalid keys response:",e),[])];case 3:t=n.sent();return[2,(er.error("[Storage:keys] Error getting keys:",t),[])];case 4:return[2]}})})()},getLogLink:function e(e){return i(function(){return D(this,function(t){try{return[2,"".concat(eJ.CYBERSKILL_STORAGE_DIRECTORY," (key: ").concat(e,")")]}catch(e){return[2,(er.error("[Storage:getLogLink] Error getting log link:",e),null)]}return[2]})})()}};import eZ from"crypto-js";import e0 from"slugify";var e1=e0.default||e0;function e2(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"",t=arguments.length>1?arguments[1]:void 0;var n=t||{},r=n.lower,s=r===void 0?!0:r,i=n.locale,o=i===void 0?"vi":i,a=O(n,["lower","locale"]);return e1(e,v({lower:s,locale:o},a))}j(e2,"generateSlug");function e4(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:4;return eZ.SHA256(e).toString(eZ.enc.Hex).slice(0,t)}j(e4,"generateShortId");var e3={isEmpty:function e(e){return e==null?!0:Array.isArray(e)?e.length===0:(typeof e==="undefined"?"undefined":A(e))=="object"?f(e,Date)?!1:Object.keys(e).length===0:typeof e=="string"?e.trim().length===0:!1}};var e5={getDateTime:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:new Date;return eK(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"?e5.getDateTime():new Date;return{id:eW(),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:eW,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(e5.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=e5.createSchema({mongoose:t,schema:r,virtuals:u});return e5.applyPlugins(p,[i&&eV,a&&eY]),e5.applyMiddlewares(p,d),t.model(n,p)},createSlugQuery:function e(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=arguments.length>2?arguments[2]:void 0;return S(v({},t,n&&{id:{$ne:n}}),{$or:[{slug:e},{slugHistory:e}]})},validator:{isEmpty:function e(){return /*#__PURE__*/function(){var e=i(function(e){return D(this,function(t){return[2,!e3.isEmpty(e)]})});return function(t){return e.apply(this,arguments)}}()},isUnique:function e(e){return /*#__PURE__*/function(){var t=i(function(t){var n;return D(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.findOne(n)];case 1:return[2,!r.sent()]}})});return function(e){return t.apply(this,arguments)}}()},matchesRegex:function e(e){return /*#__PURE__*/function(){var t=i(function(t){return D(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)})]})});return function(e){return t.apply(this,arguments)}}()}},migrate:{withConfig:j(/*#__PURE__*/function(){var e=i(function(e,t){var n,r,s,i;return D(this,function(o){switch(o.label){case 0:return[4,ez.get(eN)];case 1:n=o.sent();if(!n)throw new Error("Missing migrate config");if(eB.config.set(n),!t)return[2,e(void 0)];return[4,eB.database.connect()];case 2:r=o.sent(),s=r.db,i=r.client;o.label=3;case 3:o.trys.push([3,,5,7]);return[4,e({db:s,client:i})];case 4:return[2,o.sent()];case 5:return[4,i.close()];case 6:o.sent();return[7];case 7:return[2]}})});return function(t,n){return e.apply(this,arguments)}}(),"withConfig"),init:j(/*#__PURE__*/i(function(){return D(this,function(e){switch(e.label){case 0:return[4,eB.init()];case 1:e.sent();return[2]}})}),"init"),create:j(/*#__PURE__*/function(){var e=i(function(e){return D(this,function(t){switch(t.label){case 0:return[4,e5.migrate.withConfig(function(){return eB.create(e)})];case 1:t.sent();return[2]}})});return function(t){return e.apply(this,arguments)}}(),"create"),up:j(/*#__PURE__*/i(function(){return D(this,function(e){switch(e.label){case 0:return[4,import("ts-node").then(function(e){return e.register({transpileOnly:!0})})];case 1:e.sent();return[4,e5.migrate.withConfig(/*#__PURE__*/function(){var e=i(function(e){var t,n;return D(this,function(r){switch(r.label){case 0:t=e.db,n=e.client;return[4,eB.up(t,n)];case 1:r.sent();return[2]}})});return function(t){return e.apply(this,arguments)}}(),!0)];case 2:e.sent();return[2]}})}),"up"),down:j(/*#__PURE__*/i(function(){return D(this,function(e){switch(e.label){case 0:return[4,import("ts-node").then(function(e){return e.register({transpileOnly:!0})})];case 1:e.sent();return[4,e5.migrate.withConfig(/*#__PURE__*/function(){var e=i(function(e){var t,n;return D(this,function(r){switch(r.label){case 0:t=e.db,n=e.client;return[4,eB.down(t,n)];case 1:r.sent();return[2]}})});return function(t){return e.apply(this,arguments)}}(),!0)];case 2:e.sent();return[2]}})}),"down"),status:j(/*#__PURE__*/i(function(){return D(this,function(e){switch(e.label){case 0:return[4,e5.migrate.withConfig(/*#__PURE__*/function(){var e=i(function(e){var t;return D(this,function(n){switch(n.label){case 0:t=e.db;return[4,eB.status(t)];case 1:n.sent();return[2]}})});return function(t){return e.apply(this,arguments)}}(),!0)];case 1:e.sent();return[2]}})}),"status"),config:j(function(e){ez.set(eN,e)},"config")}},e8=/*#__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){var t=this;return i(function(){var n,r,s;return D(this,function(i){switch(i.label){case 0:i.trys.push([0,2,,3]);n=v({},e5.createGenericFields(),e);r={success:!0,message:"Document created successfully"};return[4,t.collection.insertOne(n)];case 1:return[2,(r.result=i.sent(),r)];case 2:s=i.sent();return[2,{success:!1,message:s.message}];case 3:return[2]}})})()}},{key:"createMany",value:function e(e){var t=this;return i(function(){var n,r,s;return D(this,function(i){switch(i.label){case 0:i.trys.push([0,2,,3]);n=e.map(function(e){return v({},e5.createGenericFields(),e)});return[4,t.collection.insertMany(n)];case 1:r=i.sent();return[2,r.insertedCount===0?{success:!1,message:"No documents were inserted"}:{success:!0,message:"".concat(r.insertedCount," documents created successfully"),result:r}];case 2:s=i.sent();return[2,{success:!1,message:s.message}];case 3:return[2]}})})()}},{key:"findOne",value:function e(e){var t=this;return i(function(){var n,r;return D(this,function(s){switch(s.label){case 0:s.trys.push([0,2,,3]);return[4,t.collection.findOne(e)];case 1:n=s.sent();return[2,n?{success:!0,message:"Document found",result:n}:{success:!1,message:"Document not found"}];case 2:r=s.sent();return[2,{success:!1,message:r.message}];case 3:return[2]}})})()}},{key:"findAll",value:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};var t=this;return i(function(){var n,r;return D(this,function(s){switch(s.label){case 0:s.trys.push([0,2,,3]);n={success:!0,message:"Documents retrieved successfully"};return[4,t.collection.find(e).toArray()];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]}})})()}},{key:"count",value:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};var t=this;return i(function(){var n,r;return D(this,function(s){switch(s.label){case 0:s.trys.push([0,2,,3]);n={success:!0,message:"Count retrieved successfully"};return[4,t.collection.countDocuments(e)];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]}})})()}},{key:"updateOne",value:function e(e,t){var n=this;return i(function(){var r,s;return D(this,function(i){switch(i.label){case 0:i.trys.push([0,2,,3]);return[4,n.collection.updateOne(e,{$set:t})];case 1:r=i.sent();return[2,r.matchedCount===0?{success:!1,message:"No documents matched the filter"}:{success:!0,message:"Document updated successfully",result:r}];case 2:s=i.sent();return[2,{success:!1,message:s.message}];case 3:return[2]}})})()}},{key:"updateMany",value:function e(e,t){var n=this;return i(function(){var r,s;return D(this,function(i){switch(i.label){case 0:i.trys.push([0,2,,3]);return[4,n.collection.updateMany(e,{$set:t})];case 1:r=i.sent();return[2,r.matchedCount===0?{success:!1,message:"No documents matched the filter"}:{success:!0,message:"Documents updated successfully",result:r}];case 2:s=i.sent();return[2,{success:!1,message:s.message}];case 3:return[2]}})})()}},{key:"deleteOne",value:function e(e){var t=this;return i(function(){var n,r;return D(this,function(s){switch(s.label){case 0:s.trys.push([0,2,,3]);return[4,t.collection.deleteOne(e)];case 1:n=s.sent();return[2,n.deletedCount===0?{success:!1,message:"No documents matched the filter"}:{success:!0,message:"Document deleted successfully",result:n}];case 2:r=s.sent();return[2,{success:!1,message:r.message}];case 3:return[2]}})})()}},{key:"deleteMany",value:function e(e){var t=this;return i(function(){var n,r;return D(this,function(s){switch(s.label){case 0:s.trys.push([0,2,,3]);return[4,t.collection.deleteMany(e)];case 1:n=s.sent();return[2,n.deletedCount===0?{success:!1,message:"No documents matched the filter"}:{success:!0,message:"Documents deleted successfully",result:n}];case 2:r=s.sent();return[2,{success:!1,message:r.message}];case 3:return[2]}})})()}}]);return e}();j(e8,"MongoController");var e6=e8,e7=/*#__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(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},r=arguments.length>3?arguments[3]:void 0;var s=this;return i(function(){var i,o,a;return D(this,function(c){switch(c.label){case 0:c.trys.push([0,2,,3]);i=s.model.findOne(e,t,n);r&&i.populate(r);return[4,i.exec()];case 1:o=c.sent();return[2,o?{success:!0,result:o}:{success:!1,message:"No ".concat(s.getModelName()," found."),code:Z.NOT_FOUND.CODE}];case 2:a=c.sent();return[2,{success:!1,message:a.message,code:Z.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})})()}},{key:"findAll",value:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},r=arguments.length>3?arguments[3]:void 0;var s=this;return i(function(){var i,o,a;return D(this,function(c){switch(c.label){case 0:c.trys.push([0,2,,3]);i=s.model.find(e,t,n);r&&i.populate(r);o={success:!0};return[4,i.exec()];case 1:return[2,(o.result=c.sent(),o)];case 2:a=c.sent();return[2,{success:!1,message:a.message,code:Z.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})})()}},{key:"findPaging",value:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};var n=this;return i(function(){var r,s;return D(this,function(i){switch(i.label){case 0:i.trys.push([0,2,,3]);r={success:!0};return[4,n.model.paginate(e,t)];case 1:return[2,(r.result=i.sent(),r)];case 2:s=i.sent();return[2,{success:!1,message:s.message,code:Z.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})})()}},{key:"findPagingAggregate",value:function e(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};var n=this;return i(function(){var r,s;return D(this,function(i){switch(i.label){case 0:i.trys.push([0,2,,3]);r={success:!0};return[4,n.model.aggregatePaginate(n.model.aggregate(e),t)];case 1:return[2,(r.result=i.sent(),r)];case 2:s=i.sent();return[2,{success:!1,message:s.message,code:Z.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})})()}},{key:"count",value:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};var t=this;return i(function(){var n,r;return D(this,function(s){switch(s.label){case 0:s.trys.push([0,2,,3]);n={success:!0};return[4,t.model.countDocuments(e)];case 1:return[2,(n.result=s.sent(),n)];case 2:r=s.sent();return[2,{success:!1,message:r.message,code:Z.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})})()}},{key:"createOne",value:function e(e){var t=this;return i(function(){var n,r;return D(this,function(s){switch(s.label){case 0:s.trys.push([0,2,,3]);n={success:!0};return[4,t.model.create(e)];case 1:return[2,(n.result=s.sent(),n)];case 2:r=s.sent();return[2,{success:!1,message:r.message,code:Z.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})})()}},{key:"createMany",value:function e(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};var n=this;return i(function(){var r,s;return D(this,function(i){switch(i.label){case 0:i.trys.push([0,2,,3]);r={success:!0};return[4,n.model.insertMany(e,t)];case 1:return[2,(r.result=i.sent().map(function(e){return f(e,eH)?e.toObject():null}).filter(function(e){return e!==null}),r)];case 2:s=i.sent();return[2,{success:!1,message:s.message,code:Z.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})})()}},{key:"updateOne",value:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};var r=this;return i(function(){var s,i;return D(this,function(o){switch(o.label){case 0:o.trys.push([0,2,,3]);return[4,r.model.findOneAndUpdate(e,t,v({new:!0},n)).exec()];case 1:s=o.sent();return[2,s?{success:!0,result:s}:{success:!1,message:"Failed to update ".concat(r.getModelName(),"."),code:Z.NOT_FOUND.CODE}];case 2:i=o.sent();return[2,{success:!1,message:i.message,code:Z.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})})()}},{key:"updateMany",value:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};var r=this;return i(function(){var s,i;return D(this,function(o){switch(o.label){case 0:o.trys.push([0,2,,3]);s={success:!0};return[4,r.model.updateMany(e,t,n).exec()];case 1:return[2,(s.result=o.sent(),s)];case 2:i=o.sent();return[2,{success:!1,message:i.message,code:Z.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})})()}},{key:"deleteOne",value:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};var n=this;return i(function(){var r,s;return D(this,function(i){switch(i.label){case 0:i.trys.push([0,2,,3]);return[4,n.model.findOneAndDelete(e,t).exec()];case 1:r=i.sent();return[2,r?{success:!0,result:r}:{success:!1,message:"No ".concat(n.getModelName()," found to delete."),code:Z.NOT_FOUND.CODE}];case 2:s=i.sent();return[2,{success:!1,message:s.message,code:Z.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})})()}},{key:"deleteMany",value:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};var n=this;return i(function(){var r,s;return D(this,function(i){switch(i.label){case 0:i.trys.push([0,2,,3]);return[4,n.model.deleteMany(e,t).exec()];case 1:r=i.sent();return[2,r.deletedCount===0?{success:!1,message:"No documents found to delete.",code:Z.NOT_FOUND.CODE}:{success:!0,result:r}];case 2:s=i.sent();return[2,{success:!1,message:s.message,code:Z.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})})()}},{key:"createShortId",value:function e(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:4;var n=this;return i(function(){var r,s,i,o;return D(this,function(a){switch(a.label){case 0:r=new Set;s=0;a.label=1;case 1:if(!(s<10))return[3,5];i=e4(e,s+t);o=!r.has(i);if(!o)return[3,3];r.add(i);return[4,n.model.exists({shortId:i})];case 2:o=!a.sent();a.label=3;case 3:if(o)return[2,{success:!0,result:i}];a.label=4;case 4:s++;return[3,1];case 5:return[2,{success:!1,message:"Failed to create a unique shortId",code:Z.INTERNAL_SERVER_ERROR.CODE}]}})})()}},{key:"createSlug",value:function e(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};var r=this;return i(function(){var s,o,a,c,u,l,d,p,f,g,m;return D(this,function(E){switch(E.label){case 0:E.trys.push([0,8,,9]);s=t[e],o=j(/*#__PURE__*/function(){var e=i(function(e){var s,i,o;return D(this,function(a){switch(a.label){case 0:return[4,r.model.findOne(e5.createSlugQuery(e,n,t.id))];case 1:s=a.sent();if(!s)return[2,e];i=1;a.label=2;case 2:o="".concat(e,"-").concat(i);return[4,r.model.findOne(e5.createSlugQuery(o,n,t.id))];case 3:s=a.sent(),i++;a.label=4;case 4:if(s)return[3,2];a.label=5;case 5:return[2,o]}})});return function(t){return e.apply(this,arguments)}}(),"createUniqueSlug");if(!((typeof s==="undefined"?"undefined":A(s))=="object"))return[3,5];a={};c=[];for(u in s)c.push(u);l=0;E.label=1;case 1:if(!(l<c.length))return[3,4];d=c[l];p=e2(s[d]);return[4,o(p)];case 2:a[d]=E.sent();E.label=3;case 3:l++;return[3,1];case 4:return[2,{success:!0,result:a}];case 5:f=e2(s);g={success:!0};return[4,o(f)];case 6:return[2,(g.result=E.sent(),g)];case 7:return[3,9];case 8:m=E.sent();return[2,{success:!1,message:"Failed to create a unique slug: ".concat(m.message),code:Z.INTERNAL_SERVER_ERROR.CODE}];case 9:return[2]}})})()}},{key:"aggregate",value:function e(e){var t=this;return i(function(){var n,r;return D(this,function(s){switch(s.label){case 0:s.trys.push([0,2,,3]);n={success:!0};return[4,t.model.aggregate(e)];case 1:return[2,(n.result=s.sent(),n)];case 2:r=s.sent();return[2,{success:!1,message:r.message,code:Z.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})})()}}]);return e}();j(e7,"MongooseController");var e9=e7;import{join as te,resolve as tt}from"node:path";var tn=z();function tr(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}return tt.apply(void 0,[tn.CWD].concat(T(t)))}j(tr,"resolveWorkingPath");function ts(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}return tt.apply(void 0,T(t))}j(ts,"resolve");function ti(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}return te.apply(void 0,T(t))}j(ti,"join");var to=z(),ta=to.CWD,tc="@cyberskill/shared",tu="node_modules",tl="dist",td="package.json",tp="package-lock.json",tf="tsconfig.json",tg=".gitignore",tm=".simple-git-hooks.json",tE="pnpm-lock.yaml",th=".git/hooks/",tv=".git/COMMIT_EDITMSG",ty=ti(ta,tu,tc,tl),tS="cyberskill",tO="src/nodejs/cli/index.ts",t_="eslint",tR="eslint",tC="vitest",tI="playwright",tT="vitest",tA="@commitlint/cli",tb="commitlint",tN="lint-staged",tD="lint-staged",tw="typescript",tx="tsc",tj="tsx",tM="git",tG="pnpm",tP="pnpm exec",tL="simple-git-hooks",tU="simple-git-hooks",tk="@eslint/config-inspector",tF="eslint-config-inspector",tq="node-modules-inspector",tK="node-modules-inspector",tB="migrate-mongo",tH="migrate-mongo",tY={CYBERSKILL_DIRECTORY:ty,WORKING_DIRECTORY:ta,TS_CONFIG:tr(tf),GIT_IGNORE:tr(tg),GIT_HOOK:tr(th),GIT_COMMIT_MSG:tr(tv),SIMPLE_GIT_HOOKS_JSON:tr(tm),PACKAGE_JSON:tr(td),PACKAGE_LOCK_JSON:tr(tp),PNPM_LOCK_YAML:tr(tE),NODE_MODULES:tr(tu),LINT_STAGED_CONFIG:tr("".concat(ty,"/configs/lint-staged/base.js")),COMMITLINT_CONFIG:tr("".concat(ty,"/configs/commitlint/base.js")),UNIT_TEST_CONFIG:tr("".concat(ty,"/react/vitest/vitest.unit.js")),UNIT_TEST_SETUP_CONFIG:tr("".concat(ty,"/react/vitest/vitest.unit.setup.js")),E2E_TEST_CONFIG:tr("".concat(ty,"/react/vitest/vitest.e2e.js"))};function tV(e){var t=e.isCurrentProject;return v({"pre-commit":tD,"commit-msg":tb},t&&{"pre-push":nl("".concat(tM," pull"))})}j(tV,"HOOK");function tW(e,t,n){return tQ.apply(this,arguments)}function tQ(){tQ=i(function(e,t,n){return D(this,function(r){switch(r.label){case 0:if(!t)throw new Error("'first' argument is undefined");switch(e){case eu.CLI:return[3,1];case eu.STRING:return[3,3];case eu.FUNCTION:return[3,4]}return[3,6];case 1:return[4,t5(t.split(" "),{update:!0})];case 2:return[2,(r.sent(),np(nl("".concat(tP," ").concat(n))))];case 3:return[2,np(nl(t))];case 4:return[4,t5(t.split(" "),{update:!0})];case 5:if(r.sent(),typeof n=="function")return[2,n()];throw new Error("'second' argument is not a callable function");case 6:throw new Error("Unsupported command type");case 7:return[2]}})});return tQ.apply(this,arguments)}j(tW,"buildCommand");function tJ(e,t,n){return /*#__PURE__*/i(function(){return D(this,function(r){return[2,tW(e,t,n)]})})}j(tJ,"commandFactory");var t$={simpleGitHooks:tJ(eu.CLI,tL,tU),eslintInspect:tJ(eu.CLI,tk,tF),nodeModulesInspect:tJ(eu.CLI,tq,tK),eslintCheck:tJ(eu.CLI,t_,"".concat(tR," ").concat(tY.WORKING_DIRECTORY)),eslintFix:tJ(eu.CLI,t_,"".concat(tR," ").concat(tY.WORKING_DIRECTORY," --fix")),typescriptCheck:tJ(eu.CLI,tw,"".concat(tx," -p ").concat(tY.TS_CONFIG," --noEmit")),configureGitHook:tJ(eu.STRING,"".concat(tM," config core.hooksPath ").concat(tY.GIT_HOOK)),testUnit:tJ(eu.CLI,tC,"".concat(tT," --config ").concat(tY.UNIT_TEST_CONFIG)),testE2e:tJ(eu.CLI,"".concat(tC," ").concat(tI),"".concat(tT," --config ").concat(tY.E2E_TEST_CONFIG)),mongoMigrateCreate:j(function(e){return tJ(eu.FUNCTION,"".concat(tB),function(){return e5.migrate.create(e)})()},"mongoMigrateCreate"),mongoMigrateUp:tJ(eu.FUNCTION,"".concat(tB),e5.migrate.up),mongoMigrateDown:tJ(eu.FUNCTION,"".concat(tB),e5.migrate.down),commitLint:tJ(eu.CLI,tA,"".concat(tb," --edit ").concat(tY.GIT_COMMIT_MSG," --config ").concat(tY.COMMITLINT_CONFIG)),lintStaged:tJ(eu.CLI,tN,"".concat(tD," --config ").concat(tY.LINT_STAGED_CONFIG)),stageBuildDirectory:tJ(eu.STRING,"".concat(tM," add ").concat(tl)),build:tJ(eu.STRING,"".concat(tG," run build")),pnpmInstallStandard:tJ(eu.STRING,"".concat(tG," install")),pnpmInstallLegacy:tJ(eu.STRING,"".concat(tG," install --legacy-peer-deps")),pnpmInstallForce:tJ(eu.STRING,"".concat(tG," install --force"))};var tX=z();function tz(e){var t=ti(tX.CWD,td);if(!eT(t))return!1;try{var n=eC(t),r=n.name,s=n.dependencies,i=s===void 0?{}:s,o=n.devDependencies,a=o===void 0?{}:o,c=r===e,u=e in i,l=e in a;return c||u||l?{path:t,file:n,isCurrentProject:c,isDepend:u,isDevDepend:l}:!1}catch(e){return er.warn("Failed to read package.json: ".concat(e.message)),!1}}j(tz,"getPackage");function tZ(e){return t0.apply(this,arguments)}function t0(){t0=i(function(e){var t,n,r,s;return D(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 er.error('Failed to fetch version for "'.concat(e,'": ').concat(s.message)),s;case 4:return[2]}})});return t0.apply(this,arguments)}j(tZ,"getLatestPackageVersion");function t1(e,t){return t2.apply(this,arguments)}function t2(){t2=i(function(e,t){var n,r,s,i,o,a,c,u,l,d,p,f,g,m,E,h,y,S,O,_,R;return D(this,function(C){switch(C.label){case 0:C.trys.push([0,4,,5]);n=tz(e);if(!n)return[2,v({},ef)];c=n.path,u=n.file,l=n.isCurrentProject,d=n.isDepend,p=n.isDevDepend,f=(r=u.dependencies)!==null&&r!==void 0?r:{},g=(s=u.devDependencies)!==null&&s!==void 0?s:{},m=l?(i=u.version)!==null&&i!==void 0?i:"0.0.0":d?(o=f[e])!==null&&o!==void 0?o:"0.0.0":p?(a=g[e])!==null&&a!==void 0?a:"0.0.0":"0.0.0";if(!l)return[3,1];y=m;return[3,3];case 1:return[4,tZ(e)];case 2:y=C.sent();C.label=3;case 3:E=y,h=l||m===E;if(!h&&(t===null||t===void 0?void 0:t.update)){;O=d?"dependencies":p?"devDependencies":null;O&&((S=u[O])===null||S===void 0?void 0:S[e])!==E&&(u[O]=(_=u[O])!==null&&_!==void 0?_:{},u[O][e]=E,eI(c,u),er.info('Updated "'.concat(e,'" to version ').concat(E)))}return[2,{isCurrentProject:l,installedPath:c,file:u,isUpToDate:h}];case 4:R=C.sent();return[2,(er.error('Error checking package "'.concat(e,'": ').concat(R.message)),v({},ef))];case 5:return[2]}})});return t2.apply(this,arguments)}j(t1,"checkPackage");function t4(){return t3.apply(this,arguments)}function t3(){t3=i(function(){var e,t,n,r,s,i,o,a,c,u,l,d;return D(this,function(p){switch(p.label){case 0:e=[{command:j(function(){return t$.pnpmInstallStandard()},"command"),message:"Installing dependencies (standard)"},{command:j(function(){return t$.pnpmInstallLegacy()},"command"),message:"Retrying with legacy peer dependencies"},{command:j(function(){return t$.pnpmInstallForce()},"command"),message:"Retrying with force install"}];t=true,n=false,r=undefined;p.label=1;case 1:p.trys.push([1,9,10,11]);s=e[Symbol.iterator]();p.label=2;case 2:if(!!(t=(i=s.next()).done))return[3,8];o=i.value,a=o.command,c=o.message;p.label=3;case 3:p.trys.push([3,6,,7]);return[4,a()];case 4:u=p.sent();return[4,nm("".concat(c," using: ").concat(u),u)];case 5:p.sent();return[2];case 6:l=p.sent();er.warn("Installation attempt failed: ".concat(c)),er.error("Details: ".concat(l.message));return[3,7];case 7:t=true;return[3,2];case 8:return[3,11];case 9:d=p.sent();n=true;r=d;return[3,11];case 10:try{if(!t&&s.return!=null){s.return()}}finally{if(n){throw r}}return[7];case 11:throw new Error("All dependency installation strategies failed.")}})});return t3.apply(this,arguments)}j(t4,"installDependencies");function t5(e,t){return t8.apply(this,arguments)}function t8(){t8=i(function(e,t){var n,r,s,i,o,a,c,u,l,d,p;return D(this,function(f){switch(f.label){case 0:if(!eT(tY.PACKAGE_JSON)){er.error("package.json not found. Aborting setup.");return[2]}f.label=1;case 1:f.trys.push([1,13,,14]);n=T(new Set(e)).sort();return[4,Promise.all(n.map(function(e){return t1(e,v({},(t===null||t===void 0?void 0:t.update)&&{update:t.update}))}))];case 2:r=f.sent().every(function(e){return e.isUpToDate});if(r)return[3,4];return[4,t4()];case 3:r=f.sent();f.label=4;case 4:r;i=true,o=false,a=undefined;f.label=5;case 5:f.trys.push([5,10,11,12]);c=((s=t===null||t===void 0?void 0:t.postInstallActions)!==null&&s!==void 0?s:[])[Symbol.iterator]();f.label=6;case 6:if(!!(i=(u=c.next()).done))return[3,9];l=u.value;return[4,l()];case 7:f.sent();f.label=8;case 8:i=true;return[3,6];case 9:return[3,12];case 10:d=f.sent();o=true;a=d;return[3,12];case 11:try{if(!i&&c.return!=null){c.return()}}finally{if(o){throw a}}return[7];case 12:return[3,14];case 13:p=f.sent();throw er.error('Failed to setup "'.concat(e.join(", "),'": ').concat(p.message)),p;case 14:return[2]}})});return t8.apply(this,arguments)}j(t5,"setupPackages");var t6=z(),t7=ep.promisify(el);function t9(e){return"error_list:".concat(e)}j(t9,"getErrorListKey");function ne(e){return nt.apply(this,arguments)}function nt(){nt=i(function(e){var t,n,r;return D(this,function(s){switch(s.label){case 0:if(e.length===0)return[2];t=Date.now(),n=t9(t);s.label=1;case 1:s.trys.push([1,3,,4]);return[4,ez.set(n,{errors:e,timestamp:t})];case 2:s.sent(),setTimeout(/*#__PURE__*/i(function(){var e;return D(this,function(t){switch(t.label){case 0:return[4,ez.getLogLink(n)];case 1:e=t.sent();e&&er.info("\uD83D\uDCC2 Open the error list manually: ".concat(e));return[2]}})}),10);return[3,4];case 3:r=s.sent();er.error("Failed to save errors: ".concat(r.message));return[3,4];case 4:return[2]}})});return nt.apply(this,arguments)}j(ne,"saveErrorListToStorage");function nn(){return nr.apply(this,arguments)}function nr(){nr=i(function(){var e,t,n;return D(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,ez.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(/*#__PURE__*/function(){var e=i(function(e){var t;return D(this,function(n){switch(n.label){case 0:return[4,ez.get(e)];case 1:return[2,((t=n.sent())===null||t===void 0?void 0:t.errors)||[]]}})});return function(t){return e.apply(this,arguments)}}()))];case 2:return[2,r.sent().flat()];case 3:n=r.sent();return[2,(er.error("Failed to retrieve stored errors: ".concat(n.message)),[])];case 4:return[2]}})});return nr.apply(this,arguments)}j(nn,"getStoredErrorLists");function ns(){return ni.apply(this,arguments)}function ni(){ni=i(function(){var e,t,n;return D(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,ez.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 ez.remove(e)}))];case 2:r.sent();return[3,4];case 3:n=r.sent();er.error("Failed to clear error lists: ".concat(n.message));return[3,4];case 4:return[2]}})});return ni.apply(this,arguments)}j(ns,"clearAllErrorLists");function no(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)||[],g=o.exec(e)||[];var m,E,h,v,y,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:(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:(E=p===null||p===void 0?void 0:(c=p[5])===null||c===void 0?void 0:c.trim())!==null&&E!==void 0?E:""}):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:(v=f===null||f===void 0?void 0:(u=f[5])===null||u===void 0?void 0:u.trim())!==null&&v!==void 0?v:""}):g.length?t.push({file:"commitlint",type:F.Error,message:(y=g===null||g===void 0?void 0:(l=g[1])===null||l===void 0?void 0:l.trim())!==null&&y!==void 0?y:"",rule:(S=g===null||g===void 0?void 0:(d=g[2])===null||d===void 0?void 0:d.trim())!==null&&S!==void 0?S:""}):n.push(e.trim())}}),t.length&&ne(t),t6.DEBUG&&n.length&&(er.warn("Unmatched lines:"),n.forEach(function(e){return er.info(" ".concat(e))}))}j(no,"parseTextErrors");function na(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&&ne(n)}catch(t){no(e)}}j(na,"parseCommandOutput");function nc(e){return nu.apply(this,arguments)}function nu(){nu=i(function(e){var t,n,r,s,i,o,a,c,u;var l=arguments;return D(this,function(d){switch(d.label){case 0:t=l.length>1&&l[1]!==void 0?l[1]:na;n=new AbortController;ed.on("SIGINT",function(){er.warn("Process interrupted. Terminating..."),n.abort(),ed.exit()});d.label=1;case 1:d.trys.push([1,4,,5]);if(!(typeof e=="string"))return[3,3];return[4,t7(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&&er.error("Command failed: ".concat(u));return[3,5];case 5:return[2]}})});return nu.apply(this,arguments)}j(nc,"executeCommand");function nl(e){return{raw:!0,cmd:e}}j(nl,"rawCommand");function nd(e,t){return(t===null||t===void 0?void 0:t.isRemote)?"".concat(tP," ").concat(tc," ").concat(e):(t===null||t===void 0?void 0:t.isCurrentProject)?"".concat(tP," ").concat(tj," ").concat(tO," ").concat(e):"".concat(tP," ").concat(tS," ").concat(e)}j(nd,"formatCLI");function np(e,t){return typeof e=="function"?nd(e(t),t):(typeof e==="undefined"?"undefined":A(e))=="object"&&(e===null||e===void 0?void 0:e.raw)===!0?e.cmd:typeof e=="string"?nd(e,t):e}j(np,"formatCommand");function nf(e){return ng.apply(this,arguments)}function ng(){ng=i(function(e){var t,n,r,s,i,o,a;var c=arguments;return D(this,function(u){switch(u.label){case 0:t=c.length>1&&c[1]!==void 0?c[1]:{};r=(n=t===null||t===void 0?void 0:t.isRemote)!==null&&n!==void 0?n:!1;if(!r)return[3,1];a=!1;return[3,3];case 1:return[4,t1(tc)];case 2:a=u.sent().isCurrentProject;u.label=3;case 3:s=a,i={isRemote:r,isCurrentProject:s},o=typeof e=="function"?e(i):e;return[2,Object.fromEntries(Object.entries(o).map(function(e){var t=I(e,2),n=t[0],r=t[1];return[n,np(r,i)]}))]}})});return ng.apply(this,arguments)}j(nf,"resolveCommands");function nm(e,t){return nE.apply(this,arguments)}function nE(){nE=i(function(e,t){var n;return D(this,function(r){switch(r.label){case 0:r.trys.push([0,2,,3]);er.start("".concat(e)),t6.DEBUG&&er.info("→ ".concat(t));return[4,nc(t)];case 1:r.sent(),er.success("".concat(e," done."));return[3,3];case 2:n=r.sent();throw er.error("".concat(e," failed: ").concat(n.message)),n;case 3:return[2]}})});return nE.apply(this,arguments)}j(nm,"runCommand");function nh(){return nv.apply(this,arguments)}function nv(){nv=i(function(){var e,t;return D(this,function(n){switch(n.label){case 0:if(!eT(tY.TS_CONFIG))return[3,3];t=["Performing TypeScript validation"];return[4,t$.typescriptCheck()];case 1:return[4,nm.apply(void 0,t.concat([n.sent()]))];case 2:e=n.sent();return[3,4];case 3:e=er.warn("No TypeScript configuration found. Skipping type check.");n.label=4;case 4:e;return[2]}})});return nv.apply(this,arguments)}j(nh,"checkTypescript");function ny(){return nS.apply(this,arguments)}function nS(){nS=i(function(){var e,t,n,r;var s=arguments;return D(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,t$.eslintFix()];case 1:return[4,nm.apply(void 0,n.concat([i.sent()]))];case 2:t=i.sent();return[3,6];case 3:r=["Running ESLint check"];return[4,t$.eslintCheck()];case 4:return[4,nm.apply(void 0,r.concat([i.sent()]))];case 5:t=i.sent();i.label=6;case 6:t;return[2]}})});return nS.apply(this,arguments)}j(ny,"checkEslint");function nO(e,t){if(!t.length)return;var n=e==="Errors"?"red":"yellow";er.printBoxedLog(e==="Errors"?"✖ Errors":"⚠ Warnings",t,n)}j(nO,"printIssues");function n_(){return nR.apply(this,arguments)}function nR(){nR=i(function(){var e,t,n;return D(this,function(r){switch(r.label){case 0:return[4,nn()];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?er.printBoxedLog("✔ NO ISSUES FOUND",[],"green"):(nO("Warnings",n),nO("Errors",t),(t.length>0||n.length>0)&&ei.exit(1));return[2]}})});return nR.apply(this,arguments)}j(n_,"showCheckResult");function nC(){return nI.apply(this,arguments)}function nI(){nI=i(function(){var e,t,n,r,s,i;return D(this,function(o){switch(o.label){case 0:return[4,ns()];case 1:o.sent();return[4,t1(tc)];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(tc)];return[4,t$.build()];case 4:return[4,nm.apply(void 0,n.concat([o.sent()]))];case 5:o.sent();r=["Staging build artifacts"];return[4,t$.stageBuildDirectory()];case 6:return[4,nm.apply(void 0,r.concat([o.sent()]))];case 7:o.sent();return[3,9];case 8:s=o.sent();throw er.error("Error building and staging ".concat(tc,": ").concat(s.message)),s;case 9:i=["Executing lint-staged"];return[4,t$.lintStaged()];case 10:return[4,nm.apply(void 0,i.concat([o.sent()]))];case 11:o.sent(),n_();return[2]}})});return nI.apply(this,arguments)}j(nC,"lintStaged");function nT(){return nA.apply(this,arguments)}function nA(){nA=i(function(){var e;return D(this,function(t){switch(t.label){case 0:e=["Inspecting ESLint configuration"];return[4,t$.eslintInspect()];case 1:return[4,nm.apply(void 0,e.concat([t.sent()]))];case 2:t.sent();return[2]}})});return nA.apply(this,arguments)}j(nT,"inspectLint");function nb(){return nN.apply(this,arguments)}function nN(){nN=i(function(){return D(this,function(e){switch(e.label){case 0:return[4,ns()];case 1:e.sent();return[4,Promise.all([nh(),ny()])];case 2:e.sent(),n_();return[2]}})});return nN.apply(this,arguments)}j(nb,"lintCheck");function nD(){return nw.apply(this,arguments)}function nw(){nw=i(function(){return D(this,function(e){switch(e.label){case 0:return[4,ns()];case 1:e.sent();return[4,Promise.all([nh(),ny(!0)])];case 2:e.sent(),n_();return[2]}})});return nw.apply(this,arguments)}j(nD,"lintFix");function nx(){return nj.apply(this,arguments)}function nj(){nj=i(function(){var e;return D(this,function(t){switch(t.label){case 0:return[4,ns()];case 1:t.sent();e=["Validating commit message"];return[4,t$.commitLint()];case 2:return[4,nm.apply(void 0,e.concat([t.sent()]))];case 3:t.sent(),n_();return[2]}})});return nj.apply(this,arguments)}j(nx,"commitLint");function nM(){return nG.apply(this,arguments)}function nG(){nG=i(function(){var e,t,n,r;return D(this,function(s){switch(s.label){case 0:e=["Configuring Git hooks"];return[4,t$.configureGitHook()];case 1:return[4,nm.apply(void 0,e.concat([s.sent()]))];case 2:s.sent(),eA(tY.GIT_HOOK);return[4,nf(tV)];case 3:t=s.sent();eI(tY.SIMPLE_GIT_HOOKS_JSON,t);n="\n".concat(tm,"\n");eT(tY.GIT_IGNORE)?eh(tY.GIT_IGNORE,"utf-8").split("\n").includes(tm)||eS(tY.GIT_IGNORE,n,"utf-8"):ev(tY.GIT_IGNORE,n,"utf-8");r=["Setting up simple-git-hooks"];return[4,t$.simpleGitHooks()];case 4:return[4,nm.apply(void 0,r.concat([s.sent()]))];case 5:s.sent();return[2]}})});return nG.apply(this,arguments)}j(nM,"setupGitHook");function nP(){return nL.apply(this,arguments)}function nL(){nL=i(function(){return D(this,function(e){switch(e.label){case 0:return[4,t5([tc],{update:!0,postInstallActions:[nM]})];case 1:e.sent();return[2]}})});return nL.apply(this,arguments)}j(nP,"setup");function nU(){return nk.apply(this,arguments)}function nk(){nk=i(function(){return D(this,function(e){switch(e.label){case 0:eA(tY.NODE_MODULES,tY.PNPM_LOCK_YAML);return[4,t4()];case 1:e.sent();return[4,nM()];case 2:e.sent();return[2]}})});return nk.apply(this,arguments)}j(nU,"reset");function nF(){return nq.apply(this,arguments)}function nq(){nq=i(function(){var e;return D(this,function(t){switch(t.label){case 0:e=["Inspecting project dependencies"];return[4,t$.nodeModulesInspect()];case 1:return[4,nm.apply(void 0,e.concat([t.sent()]))];case 2:t.sent();return[2]}})});return nq.apply(this,arguments)}j(nF,"inspect");function nK(){return nB.apply(this,arguments)}function nB(){nB=i(function(){var e;return D(this,function(t){switch(t.label){case 0:e=["Running unit tests"];return[4,t$.testUnit()];case 1:return[4,nm.apply(void 0,e.concat([t.sent()]))];case 2:t.sent();return[2]}})});return nB.apply(this,arguments)}j(nK,"testUnit");function nH(){return nY.apply(this,arguments)}function nY(){nY=i(function(){var e;return D(this,function(t){switch(t.label){case 0:e=["Running end-to-end tests"];return[4,t$.testE2e()];case 1:return[4,nm.apply(void 0,e.concat([t.sent()]))];case 2:t.sent();return[2]}})});return nY.apply(this,arguments)}j(nH,"testE2E");function nV(e){return nW.apply(this,arguments)}function nW(){nW=i(function(e){var t;return D(this,function(n){switch(n.label){case 0:t=["Creating MongoDB migration"];return[4,t$.mongoMigrateCreate(e)];case 1:return[4,nm.apply(void 0,t.concat([n.sent()]))];case 2:n.sent();return[2]}})});return nW.apply(this,arguments)}j(nV,"mongoMigrateCreate");function nQ(){return nJ.apply(this,arguments)}function nJ(){nJ=i(function(){var e;return D(this,function(t){switch(t.label){case 0:e=["Running MongoDB migrations"];return[4,t$.mongoMigrateUp()];case 1:return[4,nm.apply(void 0,e.concat([t.sent()]))];case 2:t.sent();return[2]}})});return nJ.apply(this,arguments)}j(nQ,"mongoMigrateUp");function n$(){return nX.apply(this,arguments)}function nX(){nX=i(function(){var e;return D(this,function(t){switch(t.label){case 0:e=["Rolling back MongoDB migration"];return[4,t$.mongoMigrateDown()];case 1:return[4,nm.apply(void 0,e.concat([t.sent()]))];case 2:t.sent();return[2]}})});return nX.apply(this,arguments)}j(n$,"mongoMigrateDown");i(function(){var e;return D(this,function(t){switch(t.label){case 0:t.trys.push([0,2,,3]);return[4,ea(eo(ei.argv)).scriptName(tS).usage("$0 <command> [options]").command("lint","Check code for linting issues",nb).command("lint:fix","Fix linting issues automatically",nD).command("lint:inspect","View active ESLint configuration",nT).command("lint-staged","Run lint checks on staged files",nC).command("commitlint","Validate commit message format",nx).command("setup","Initialize project setup and dependencies",nP).command("reset","Reset the project and reinstall dependencies",nU).command("inspect","Analyze installed project dependencies",nF).command("test:unit","Run unit test suite",nK).command("test:e2e","Run end-to-end test suite",nH).command("mongo:migrate:create <name>","Create a MongoDB migration",function(e){return e.positional("name",{describe:"Migration name",type:"string"})},/*#__PURE__*/function(){var e=i(function(e){return D(this,function(t){switch(t.label){case 0:if(!e.name){er.error("Migration name is required.");return[2]}return[4,nV(e.name)];case 1:t.sent();return[2]}})});return function(t){return e.apply(this,arguments)}}()).command("mongo:migrate:up","Apply all MongoDB migrations",nQ).command("mongo:migrate:down","Rollback last MongoDB migration",n$).demandCommand(1,"Please specify a valid command.").strict().help().alias("h","help").alias("v","version").version(ec.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();er.error("Fatal: ".concat(e.message)),ei.exit(1);return[3,3];case 3:return[2]}})})();import{Router as nz}from"express";import nZ from"compression";import n0 from"cors";import n1 from"express";import n2 from"express-device";import n4 from"express-session";function n3(e){return n0({origin:j(function(t,n){var r;e.isDev||((r=e.whiteList)===null||r===void 0?void 0:r.includes(t!==null&&t!==void 0?t:""))?n(null,!0):n(null,!1)},"origin"),credentials:!0})}j(n3,"createCors");function n5(e){var t=n1();return t.set("trust proxy",1),t.use(n1.urlencoded({extended:!0})),t.use(nZ()),t.use(n2.capture()),e.staticFolder&&t.use(n1.static(e.staticFolder)),e.sessionOptions&&t.use(n4(e.sessionOptions)),t}j(n5,"createExpress");import{useServer as n8}from"graphql-ws/use/ws";import{WebSocketServer as n6}from"ws";function n7(e){return new n6({server:e.server,path:e.path})}j(n7,"createWSServer");function n9(e){return n8({schema:e.schema},e.server)}j(n9,"initGraphQLWS");export{tl as BUILD_DIRECTORY,ef as CHECK_PACKAGE_EMPTY_RESULT,tb as COMMIT_LINT_CLI,tA as COMMIT_LINT_PACKAGE_NAME,tS as CYBERSKILL_CLI,tO as CYBERSKILL_CLI_PATH,ty as CYBERSKILL_DIRECTORY,tc as CYBERSKILL_PACKAGE_NAME,eq as C_Collection,eG as C_Db,eL as C_Document,ek as C_Model,tR as ESLINT_CLI,tF as ESLINT_INSPECT_CLI,tk as ESLINT_INSPECT_PACKAGE_NAME,t_ as ESLINT_PACKAGE_NAME,eu as E_CommandType,F as E_IssueType,tM as GIT_CLI,tv as GIT_COMMIT_EDITMSG,th as GIT_HOOK,tg as GIT_IGNORE,tV as HOOK,tD as LINT_STAGED_CLI,tN as LINT_STAGED_PACKAGE_NAME,tH as MIGRATE_MONGO_CLI,tB as MIGRATE_MONGO_PACKAGE_NAME,eN as MONGO_MIGRATE_OPTIONS,e6 as MongoController,e9 as MongooseController,tu as NODE_MODULES,tK as NODE_MODULES_INSPECT_CLI,tq as NODE_MODULES_INSPECT_PACKAGE_NAME,td as PACKAGE_JSON,tp as PACKAGE_LOCK_JSON,tY as PATH,tI as PLAYWRIGHT_PACKAGE_NAME,tG as PNPM_CLI,tP as PNPM_EXEC_CLI,tE as PNPM_LOCK_YAML,nz as Router,tL as SIMPLE_GIT_HOOKS_PACKAGE_NAME,tU as SIMPLE_GIT_HOOK_CLI,tm as SIMPLE_GIT_HOOK_JSON,tf as TSCONFIG_JSON,tx as TSC_CLI,tw as TSC_PACKAGE_NAME,tj as TSX_CLI,tT as VITEST_CLI,tC as VITEST_PACKAGE_NAME,ta as WORKING_DIRECTORY,eY as aggregatePaginate,eS as appendFileSync,t1 as checkPackage,ns as clearAllErrorLists,t$ as command,eb as copySync,eO as copySyncE,es as createApolloServer,n3 as createCors,n5 as createExpress,n7 as createWSServer,eT as existsSync,n1 as express,P as expressMiddleware,np as formatCommand,tZ as getLatestPackageVersion,tz as getPackage,nn as getStoredErrorLists,n9 as initGraphQLWS,t4 as installDependencies,ti as join,er as logNodeJS,e5 as mongo,eV as mongoosePaginate,ey as pathExistsSync,nl as rawCommand,eh as readFileSync,eC as readJsonSync,eA as removeSync,e_ as removeSyncE,ts as resolve,nf as resolveCommands,tr as resolveWorkingPath,nm as runCommand,t5 as setupPackages,eR as statSync,ez as storageNodeJS,et as throwError,ev as writeFileSync,eI as writeJsonSync};
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 I(e,b()?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 g(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 E(){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 v(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 S(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 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 I(e,t){if(t&&(A(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 R(e,n){return t(e)||m(e,n)||N(e,n)||E()}function T(e){return n(e)||g(e)||N(e)||h()}function A(e){"@swc/helpers - typeof";return e&&typeof Symbol!=="undefined"&&e.constructor===Symbol?"symbol":typeof e}function N(t,n){if(!t)return;if(typeof t==="string")return e(t,n);var r=Object.prototype.toString.call(t).slice(8,-1);if(r==="Object"&&t.constructor)r=t.constructor.name;if(r==="Map"||r==="Set")return Array.from(r);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return e(t,n)}function b(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(b=function(){return!!e})()}function D(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 w=function(e,t,n){return G(e,(typeof t==="undefined"?"undefined":A(t))!="symbol"?t+"":t,n)};import{ApolloServer as j}from"@apollo/server";import{expressMiddleware as L}from"@apollo/server/express4";import{ApolloServerPluginDrainHttpServer as P}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 K from"consola";import{GraphQLError as B}from"graphql";var H=".cyberskill-storage";import Y from"dotenv";import{bool as V,cleanEnv as W,str as Q}from"envalid";import J from"node:os";import $ from"node:path";import X from"node:process";Y.config();function z(){var e={DEBUG:X.env.DEBUG||!1,CWD:X.env.CWD||X.cwd(),CYBERSKILL_STORAGE_DIRECTORY:X.env.CYBERSKILL_STORAGE_DIRECTORY||$.join(J.homedir(),H)};return W(e,{DEBUG:V(),CWD:Q(),CYBERSKILL_STORAGE_DIRECTORY:Q()})}M(z,"getEnv");var Z={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 ee=z();function et(e){var t=e.message,n=e.status,r=n===void 0?Z.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 B(a,{extensions:{code:r.CODE}}):new Error(a)}M(et,"throwError");ee.DEBUG||(K.level=4);function en(e){var t=q[e];return typeof t=="function"?t:q.green}M(en,"chalkKeyword");var er={silent:K.silent,level:K.level,fatal:K.fatal,error:K.error,warn:K.warn,log:K.log,info:K.info,success:K.success,ready:K.ready,start:K.start,box:K.box,debug:K.debug,trace:K.trace,verbose:K.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)){K.box(q.green(e));return}t.forEach(function(e){var t=e.file,r=e.position,s=e.rule,i=e.message;K.log("".concat(q.gray("File:")," ").concat(q.blue("".concat(t).concat(r?":".concat(r):"")))),s&&K.log(" ".concat(en(n)("Rule:")," ").concat(s)),K.log(" ".concat(en(n)("Message:")," ").concat(i))}),K.box(en(n)("".concat(e," : ").concat(t.length))),K.log(q.gray("─".repeat(40)))}};function es(e){return new j(v({schema:e.schema,plugins:[e.isDev?k():U(),P({httpServer:e.server})].concat(T(e.drainServer?[{serverWillStart:function t(){return i(function(){return D(this,function(t){return[2,{drainServer:function t(){return i(function(){var t;return D(this,function(n){(t=e.drainServer)===null||t===void 0?void 0:t.call(e),er.info("Apollo Server drainServer hook called");return[2]})})()}}]})})()}}]:[]))},e.isDev&&{introspection:!0,includeStacktraceInErrorResponses:!0}))}M(es,"createApolloServer");import ei from"node:process";import{hideBin as eo}from"yargs/helpers";import ea from"yargs/yargs";var ec={name:"@cyberskill/shared",type:"module",version:"1.102.0",description:"CyberSkill Shared",author:"Stephen Cheng",license:"MIT",homepage:"https://github.com/cyberskill-world/shared#readme",repository:{type:"git",url:"git+https://github.com/cyberskill-world/shared.git"},bugs:{url:"https://github.com/cyberskill-world/shared/issues"},exports:{".":{types:"./dist/index.d.ts",import:"./dist/index.js",require:"./dist/index.cjs"},"./configs":{types:"./dist/configs/index.d.ts",import:"./dist/configs/index.js",require:"./dist/configs/index.cjs"},"./configs/commitlint":{types:"./dist/configs/commitlint/index.d.ts",import:"./dist/configs/commitlint/index.js",require:"./dist/configs/commitlint/index.cjs"},"./configs/eslint":{types:"./dist/configs/eslint/index.d.ts",import:"./dist/configs/eslint/index.js",require:"./dist/configs/eslint/index.cjs"},"./configs/graphql-codegen":{types:"./dist/configs/graphql-codegen/index.d.ts",import:"./dist/configs/graphql-codegen/index.js",require:"./dist/configs/graphql-codegen/index.cjs"},"./configs/lint-staged":{types:"./dist/configs/lint-staged/index.d.ts",import:"./dist/configs/lint-staged/index.js",require:"./dist/configs/lint-staged/index.cjs"},"./constants":{types:"./dist/constants/index.d.ts",import:"./dist/constants/index.js",require:"./dist/constants/index.cjs"},"./nodejs":{types:"./dist/nodejs/index.d.ts",import:"./dist/nodejs/index.js",require:"./dist/nodejs/index.cjs"},"./nodejs/apollo-server":{types:"./dist/nodejs/apollo-server/index.d.ts",import:"./dist/nodejs/apollo-server/index.js",require:"./dist/nodejs/apollo-server/index.cjs"},"./nodejs/cli":{types:"./dist/nodejs/cli/index.d.ts",import:"./dist/nodejs/cli/index.js",require:"./dist/nodejs/cli/index.cjs"},"./nodejs/command":{types:"./dist/nodejs/command/index.d.ts",import:"./dist/nodejs/command/index.js",require:"./dist/nodejs/command/index.cjs"},"./nodejs/express":{types:"./dist/nodejs/express/index.d.ts",import:"./dist/nodejs/express/index.js",require:"./dist/nodejs/express/index.cjs"},"./nodejs/fs":{types:"./dist/nodejs/fs/index.d.ts",import:"./dist/nodejs/fs/index.js",require:"./dist/nodejs/fs/index.cjs"},"./nodejs/log":{types:"./dist/nodejs/log/index.d.ts",import:"./dist/nodejs/log/index.js",require:"./dist/nodejs/log/index.cjs"},"./nodejs/mongo":{types:"./dist/nodejs/mongo/index.d.ts",import:"./dist/nodejs/mongo/index.js",require:"./dist/nodejs/mongo/index.cjs"},"./nodejs/package":{types:"./dist/nodejs/package/index.d.ts",import:"./dist/nodejs/package/index.js",require:"./dist/nodejs/package/index.cjs"},"./nodejs/path":{types:"./dist/nodejs/path/index.d.ts",import:"./dist/nodejs/path/index.js",require:"./dist/nodejs/path/index.cjs"},"./nodejs/storage":{types:"./dist/nodejs/storage/index.d.ts",import:"./dist/nodejs/storage/index.js",require:"./dist/nodejs/storage/index.cjs"},"./nodejs/ws":{types:"./dist/nodejs/ws/index.d.ts",import:"./dist/nodejs/ws/index.js",require:"./dist/nodejs/ws/index.cjs"},"./react":{types:"./dist/react/index.d.ts",import:"./dist/react/index.js",require:"./dist/react/index.cjs"},"./react/apollo-client":{types:"./dist/react/apollo-client/index.d.ts",import:"./dist/react/apollo-client/index.js",require:"./dist/react/apollo-client/index.cjs"},"./react/apollo-error":{types:"./dist/react/apollo-error/index.d.ts",import:"./dist/react/apollo-error/index.js",require:"./dist/react/apollo-error/index.cjs"},"./react/i18next":{types:"./dist/react/i18next/index.d.ts",import:"./dist/react/i18next/index.js",require:"./dist/react/i18next/index.cjs"},"./react/loading":{types:"./dist/react/loading/index.d.ts",import:"./dist/react/loading/index.js",require:"./dist/react/loading/index.cjs"},"./react/log":{types:"./dist/react/log/index.d.ts",import:"./dist/react/log/index.js",require:"./dist/react/log/index.cjs"},"./react/next-intl":{types:"./dist/react/next-intl/index.d.ts",import:"./dist/react/next-intl/index.js",require:"./dist/react/next-intl/index.cjs"},"./react/storage":{types:"./dist/react/storage/index.d.ts",import:"./dist/react/storage/index.js",require:"./dist/react/storage/index.cjs"},"./react/toast":{types:"./dist/react/toast/index.d.ts",import:"./dist/react/toast/index.js",require:"./dist/react/toast/index.cjs"},"./react/vitest":{types:"./dist/react/vitest/index.d.ts",import:"./dist/react/vitest/index.js",require:"./dist/react/vitest/index.cjs"},"./styles/reset.css":{import:"./dist/styles/reset.css",require:"./dist/styles/reset.css"},"./typescript":{types:"./dist/typescript/index.d.ts",import:"./dist/typescript/index.js",require:"./dist/typescript/index.cjs"},"./utils":{types:"./dist/utils/index.d.ts",import:"./dist/utils/index.js",require:"./dist/utils/index.cjs"}},main:"./dist/index.cjs",module:"./dist/index.js",types:"./dist/index.d.ts",bin:{cyberskill:"./dist/nodejs/cli/index.js"},files:["dist","public"],scripts:{build:"tsup",dev:"dotenv -e .env -- tsup --watch",lint:"dotenv -e .env -- tsx src/nodejs/cli/index.ts lint","lint:fix":"dotenv -e .env -- tsx src/nodejs/cli/index.ts lint:fix","lint:inspect":"dotenv -e .env -- tsx src/nodejs/cli/index.ts lint:inspect",reset:"dotenv -e .env -- tsx src/nodejs/cli/index.ts reset",setup:"dotenv -e .env -- tsx src/nodejs/cli/index.ts setup",inspect:"dotenv -e .env -- tsx src/nodejs/cli/index.ts inspect","test:unit":"dotenv -e .env -- tsx src/nodejs/cli/index.ts test:unit","test:e2e":"dotenv -e .env -- tsx src/nodejs/cli/index.ts test:e2e",commitlint:"dotenv -e .env -- tsx src/nodejs/cli/index.ts commitlint","lint-staged":"dotenv -e .env -- tsx src/nodejs/cli/index.ts lint-staged"},dependencies:{"@antfu/eslint-config":"4.12.0","@apollo/client":"3.13.8","@apollo/server":"4.12.0","@eddeee888/gcg-typescript-resolver-files":"0.12.0","@eslint-react/eslint-plugin":"1.48.4","@graphql-codegen/cli":"5.0.5","@graphql-codegen/client-preset":"4.8.0","@microsoft/api-extractor":"7.52.5","@next/eslint-plugin-next":"15.3.1","@swc/core":"1.11.21","@testing-library/jest-dom":"6.6.3","@testing-library/react":"16.3.0","@vitejs/plugin-react-swc":"3.9.0","@vitest/browser":"3.1.2",chalk:"5.4.1",classnames:"2.5.1",compression:"1.8.0",consola:"3.4.2",cors:"2.8.5","crypto-js":"4.2.0","date-fns":"4.1.0",dotenv:"16.5.0","dotenv-cli":"8.0.0",envalid:"8.0.0","eslint-config-next":"15.3.1","eslint-plugin-format":"1.0.1","eslint-plugin-react-hooks":"5.2.0","eslint-plugin-react-refresh":"0.4.20",express:"4.21.2","express-device":"0.4.2","express-session":"1.18.1","fs-extra":"11.3.0",globals:"16.0.0",graphql:"16.10.0","graphql-ws":"6.0.4",i18next:"25.0.1",jsdom:"26.1.0",localforage:"1.10.0","migrate-mongo":"12.1.3","modern-normalize":"3.0.1",mongodb:"6.16.0",mongoose:"8.13.2","mongoose-aggregate-paginate-v2":"1.1.4","mongoose-paginate-v2":"1.9.0","next-intl":"4.0.3","node-fetch":"3.3.2","node-persist":"4.0.4",ora:"8.2.0",playwright:"1.52.0","postcss-modules":"6.0.1",qs:"6.14.0",react:"19.1.0","react-dom":"19.1.0","react-hot-toast":"2.5.2","react-i18next":"15.4.1","react-icons":"5.5.0",sass:"1.87.0",slugify:"1.6.6",tsup:"8.4.0",tsx:"4.19.3",typescript:"5.8.3",unorm:"1.6.0",uuid:"11.1.0",vite:"6.3.2",vitest:"3.1.2","vitest-browser-react":"0.1.1",ws:"8.18.1",yargs:"17.7.2"},publishConfig:{access:"public",registry:"https://registry.npmjs.org/"},devDependencies:{"@commitlint/cli":"19.8.0","@eslint/config-inspector":"1.0.2","@types/compression":"1.7.5","@types/cors":"2.8.17","@types/crypto-js":"4.2.2","@types/express":"4.17.21","@types/express-session":"1.18.1","@types/fs-extra":"11.0.4","@types/migrate-mongo":"10.0.5","@types/mongoose-aggregate-paginate-v2":"1.0.12","@types/node-persist":"3.1.8","@types/react":"19.1.2","@types/react-dom":"19.1.2","@types/unorm":"1.3.31","@types/uuid":"10.0.0","@types/ws":"8.18.1","@types/yargs":"17.0.33",eslint:"9.25.1","lint-staged":"15.5.1","node-modules-inspector":"0.6.6","simple-git-hooks":"2.12.1"}};var eu=function(e){return e.CLI="CLI",e.STRING="STRING",e.FUNCTION="FUNCTION",e}({});import{exec as el}from"node:child_process";import ed from"node:process";import*as ep from"node:util";var ef={isCurrentProject:!1,installedPath:"",file:{},isUpToDate:!1};import eg from"node-fetch";import em from"fs-extra";import{extname as eE}from"node:path";var eh=em.readFileSync,ev=em.writeFileSync,ey=em.pathExistsSync,eS=em.appendFileSync,eO=em.copySync,e_=em.removeSync,eI=em.statSync,eC=em.readJsonSync,eR=em.writeJsonSync;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 ey(e)})}M(eT,"existsSync");function eA(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}t.forEach(function(e){ey(e)&&e_(e)})}M(eA,"removeSync");function eN(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};var r=n.extensions,s=O(n,["extensions"]);eO(e,t,v({filter:M(function(e){return eI(e).isDirectory()||!r||r.length===0?!0:r.includes(eE(e))},"filter")},s))}M(eN,"copySync");import{join as eb,resolve as eD}from"node:path";var ex=z();function eG(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}return eD.apply(void 0,[ex.CWD].concat(T(t)))}M(eG,"resolveWorkingPath");function eM(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}return eD.apply(void 0,T(t))}M(eM,"resolve");function ew(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}return eb.apply(void 0,T(t))}M(ew,"join");var ej=z(),eL=ej.CWD,eP="@cyberskill/shared",ek="node_modules",eU="dist",eF="package.json",eq="package-lock.json",eK="tsconfig.json",eB=".gitignore",eH=".simple-git-hooks.json",eY="pnpm-lock.yaml",eV=".git/hooks/",eW=".git/COMMIT_EDITMSG",eQ=".migrate-mongo.config.js",eJ=ew(eL,ek,eP,eU),e$="cyberskill",eX="src/nodejs/cli/index.ts",ez="eslint",eZ="eslint",e0="vitest",e1="playwright",e2="vitest",e4="@commitlint/cli",e3="commitlint",e5="lint-staged",e8="lint-staged",e6="typescript",e9="tsc",e7="tsx",te="git",tt="pnpm",tn="pnpm exec",tr="simple-git-hooks",ts="simple-git-hooks",ti="@eslint/config-inspector",to="eslint-config-inspector",ta="node-modules-inspector",tc="node-modules-inspector",tu="migrate-mongo",tl="./node_modules/migrate-mongo/bin/migrate-mongo",td={CYBERSKILL_DIRECTORY:eJ,WORKING_DIRECTORY:eL,TS_CONFIG:eG(eK),GIT_IGNORE:eG(eB),GIT_HOOK:eG(eV),GIT_COMMIT_MSG:eG(eW),SIMPLE_GIT_HOOKS_JSON:eG(eH),PACKAGE_JSON:eG(eF),PACKAGE_LOCK_JSON:eG(eq),PNPM_LOCK_YAML:eG(eY),NODE_MODULES:eG(ek),MIGRATE_MONGO_CONFIG:eG(eQ),LINT_STAGED_CONFIG:eG("".concat(eJ,"/configs/lint-staged/base.js")),COMMITLINT_CONFIG:eG("".concat(eJ,"/configs/commitlint/base.js")),UNIT_TEST_CONFIG:eG("".concat(eJ,"/react/vitest/vitest.unit.js")),UNIT_TEST_SETUP_CONFIG:eG("".concat(eJ,"/react/vitest/vitest.unit.setup.js")),E2E_TEST_CONFIG:eG("".concat(eJ,"/react/vitest/vitest.e2e.js"))};function tp(e){var t=e.isCurrentProject;return v({"pre-commit":e8,"commit-msg":e3},t&&{"pre-push":tY("".concat(te," pull"))})}M(tp,"createGitHooksConfig");function tf(e,t,n){return tg.apply(this,arguments)}function tg(){tg=i(function(e,t,n){return D(this,function(r){switch(r.label){case 0:if(!t)throw new Error("'first' argument is undefined");switch(e){case eu.CLI:return[3,1];case eu.STRING:return[3,3]}return[3,4];case 1:return[4,tR(t.split(" "),{update:!0})];case 2:return[2,(r.sent(),tW(tY("".concat(tn," ").concat(n))))];case 3:return[2,tW(tY(t))];case 4:throw new Error("Unsupported command type");case 5:return[2]}})});return tg.apply(this,arguments)}M(tf,"buildCommand");function tm(e,t,n){return /*#__PURE__*/i(function(){return D(this,function(r){return[2,tf(e,t,n)]})})}M(tm,"commandFactory");var tE={simpleGitHooks:tm(eu.CLI,tr,ts),eslintInspect:tm(eu.CLI,ti,to),nodeModulesInspect:tm(eu.CLI,ta,tc),eslintCheck:tm(eu.CLI,ez,"".concat(eZ," ").concat(td.WORKING_DIRECTORY)),eslintFix:tm(eu.CLI,ez,"".concat(eZ," ").concat(td.WORKING_DIRECTORY," --fix")),typescriptCheck:tm(eu.CLI,e6,"".concat(e9," -p ").concat(td.TS_CONFIG," --noEmit")),configureGitHook:tm(eu.STRING,"".concat(te," config core.hooksPath ").concat(td.GIT_HOOK)),testUnit:tm(eu.CLI,e0,"".concat(e2," --config ").concat(td.UNIT_TEST_CONFIG)),testE2e:tm(eu.CLI,"".concat(e0," ").concat(e1),"".concat(e2," --config ").concat(td.E2E_TEST_CONFIG)),mongoMigrateCreate:M(function(e){return tm(eu.CLI,tu,"".concat(e7," ").concat(tl," create ").concat(e," -f ").concat(td.MIGRATE_MONGO_CONFIG))()},"mongoMigrateCreate"),mongoMigrateUp:tm(eu.CLI,tu,"".concat(e7," ").concat(tl," up -f ").concat(td.MIGRATE_MONGO_CONFIG)),mongoMigrateDown:tm(eu.CLI,tu,"".concat(e7," ").concat(tl," down -f ").concat(td.MIGRATE_MONGO_CONFIG)),mongoMigrateStatus:tm(eu.CLI,tu,"".concat(e7," ").concat(tl," status -f ").concat(td.MIGRATE_MONGO_CONFIG)),commitLint:tm(eu.CLI,e4,"".concat(e3," --edit ").concat(td.GIT_COMMIT_MSG," --config ").concat(td.COMMITLINT_CONFIG)),lintStaged:tm(eu.CLI,e5,"".concat(e8," --config ").concat(td.LINT_STAGED_CONFIG)),stageBuildDirectory:tm(eu.STRING,"".concat(te," add ").concat(eU)),build:tm(eu.STRING,"".concat(tt," run build")),pnpmInstallStandard:tm(eu.STRING,"".concat(tt," install")),pnpmInstallLegacy:tm(eu.STRING,"".concat(tt," install --legacy-peer-deps")),pnpmInstallForce:tm(eu.STRING,"".concat(tt," install --force"))};var th=z();function tv(e){var t=ew(th.CWD,eF);if(!eT(t))return!1;try{var n=eC(t),r=n.name,s=n.dependencies,i=s===void 0?{}:s,o=n.devDependencies,a=o===void 0?{}:o,c=r===e,u=e in i,l=e in a;return c||u||l?{path:t,file:n,isCurrentProject:c,isDepend:u,isDevDepend:l}:!1}catch(e){return er.warn("Failed to read package.json: ".concat(e.message)),!1}}M(tv,"getPackage");function ty(e){return tS.apply(this,arguments)}function tS(){tS=i(function(e){var t,n,r,s;return D(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 er.error('Failed to fetch version for "'.concat(e,'": ').concat(s.message)),s;case 4:return[2]}})});return tS.apply(this,arguments)}M(ty,"getLatestPackageVersion");function tO(e,t){return t_.apply(this,arguments)}function t_(){t_=i(function(e,t){var n,r,s,i,o,a,c,u,l,d,p,f,g,m,E,h,y,S,O,_,I;return D(this,function(C){switch(C.label){case 0:C.trys.push([0,4,,5]);n=tv(e);if(!n)return[2,v({},ef)];c=n.path,u=n.file,l=n.isCurrentProject,d=n.isDepend,p=n.isDevDepend,f=(r=u.dependencies)!==null&&r!==void 0?r:{},g=(s=u.devDependencies)!==null&&s!==void 0?s:{},m=l?(i=u.version)!==null&&i!==void 0?i:"0.0.0":d?(o=f[e])!==null&&o!==void 0?o:"0.0.0":p?(a=g[e])!==null&&a!==void 0?a:"0.0.0":"0.0.0";if(!l)return[3,1];y=m;return[3,3];case 1:return[4,ty(e)];case 2:y=C.sent();C.label=3;case 3:E=y,h=l||m===E;if(!h&&(t===null||t===void 0?void 0:t.update)){;O=d?"dependencies":p?"devDependencies":null;O&&((S=u[O])===null||S===void 0?void 0:S[e])!==E&&(u[O]=(_=u[O])!==null&&_!==void 0?_:{},u[O][e]=E,eR(c,u),er.info('Updated "'.concat(e,'" to version ').concat(E)))}return[2,{isCurrentProject:l,installedPath:c,file:u,isUpToDate:h}];case 4:I=C.sent();return[2,(er.error('Error checking package "'.concat(e,'": ').concat(I.message)),v({},ef))];case 5:return[2]}})});return t_.apply(this,arguments)}M(tO,"checkPackage");function tI(){return tC.apply(this,arguments)}function tC(){tC=i(function(){var e,t,n,r,s,i,o,a,c,u,l,d;return D(this,function(p){switch(p.label){case 0:e=[{command:M(function(){return tE.pnpmInstallStandard()},"command"),message:"Installing dependencies (standard)"},{command:M(function(){return tE.pnpmInstallLegacy()},"command"),message:"Retrying with legacy peer dependencies"},{command:M(function(){return tE.pnpmInstallForce()},"command"),message:"Retrying with force install"}];t=true,n=false,r=undefined;p.label=1;case 1:p.trys.push([1,9,10,11]);s=e[Symbol.iterator]();p.label=2;case 2:if(!!(t=(i=s.next()).done))return[3,8];o=i.value,a=o.command,c=o.message;p.label=3;case 3:p.trys.push([3,6,,7]);return[4,a()];case 4:u=p.sent();return[4,t$("".concat(c," using: ").concat(u),u)];case 5:p.sent();return[2];case 6:l=p.sent();er.warn("Installation attempt failed: ".concat(c)),er.error("Details: ".concat(l.message));return[3,7];case 7:t=true;return[3,2];case 8:return[3,11];case 9:d=p.sent();n=true;r=d;return[3,11];case 10:try{if(!t&&s.return!=null){s.return()}}finally{if(n){throw r}}return[7];case 11:throw new Error("All dependency installation strategies failed.")}})});return tC.apply(this,arguments)}M(tI,"installDependencies");function tR(e,t){return tT.apply(this,arguments)}function tT(){tT=i(function(e,t){var n,r,s,i,o,a,c,u,l,d,p;return D(this,function(f){switch(f.label){case 0:if(!eT(td.PACKAGE_JSON)){er.error("package.json not found. Aborting setup.");return[2]}f.label=1;case 1:f.trys.push([1,13,,14]);n=T(new Set(e)).sort();return[4,Promise.all(n.map(function(e){return tO(e,v({},(t===null||t===void 0?void 0:t.update)&&{update:t.update}))}))];case 2:r=f.sent().every(function(e){return e.isUpToDate});if(r)return[3,4];return[4,tI()];case 3:r=f.sent();f.label=4;case 4:r;i=true,o=false,a=undefined;f.label=5;case 5:f.trys.push([5,10,11,12]);c=((s=t===null||t===void 0?void 0:t.postInstallActions)!==null&&s!==void 0?s:[])[Symbol.iterator]();f.label=6;case 6:if(!!(i=(u=c.next()).done))return[3,9];l=u.value;return[4,l()];case 7:f.sent();f.label=8;case 8:i=true;return[3,6];case 9:return[3,12];case 10:d=f.sent();o=true;a=d;return[3,12];case 11:try{if(!i&&c.return!=null){c.return()}}finally{if(o){throw a}}return[7];case 12:return[3,14];case 13:p=f.sent();throw er.error('Failed to setup "'.concat(e.join(", "),'": ').concat(p.message)),p;case 14:return[2]}})});return tT.apply(this,arguments)}M(tR,"setupPackages");import tA from"node-persist";var tN=z();function tb(){return tD.apply(this,arguments)}function tD(){tD=i(function(){var e;return D(this,function(t){switch(t.label){case 0:e=tA.defaultInstance;if(e)return[3,2];return[4,tA.init({dir:tN.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]}})});return tD.apply(this,arguments)}M(tb,"initNodePersist");var tx={get:function e(e){return i(function(){var t,n;return D(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,tb()];case 1:r.sent();return[4,tA.getItem(e)];case 2:return[2,(t=r.sent())!==null&&t!==void 0?t:null];case 3:n=r.sent();return[2,(er.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 D(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,tb()];case 1:r.sent();return[4,tA.setItem(e,t)];case 2:r.sent();return[3,4];case 3:n=r.sent();er.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 D(this,function(n){switch(n.label){case 0:n.trys.push([0,3,,4]);return[4,tb()];case 1:n.sent();return[4,tA.removeItem(e)];case 2:n.sent();return[3,4];case 3:t=n.sent();er.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 D(this,function(n){switch(n.label){case 0:n.trys.push([0,3,,4]);return[4,tb()];case 1:n.sent();return[4,tA.keys()];case 2:e=n.sent();return[2,Array.isArray(e)?e:(er.warn("[Storage:keys] Invalid keys response:",e),[])];case 3:t=n.sent();return[2,(er.error("[Storage:keys] Error getting keys:",t),[])];case 4:return[2]}})})()},getLogLink:function e(e){return i(function(){return D(this,function(t){try{return[2,"".concat(tN.CYBERSKILL_STORAGE_DIRECTORY," (key: ").concat(e,")")]}catch(e){return[2,(er.error("[Storage:getLogLink] Error getting log link:",e),null)]}return[2]})})()}};var tG=z(),tM=ep.promisify(el);function tw(e){return"error_list:".concat(e)}M(tw,"getErrorListKey");function tj(e){return tL.apply(this,arguments)}function tL(){tL=i(function(e){var t,n,r;return D(this,function(s){switch(s.label){case 0:if(e.length===0)return[2];t=Date.now(),n=tw(t);s.label=1;case 1:s.trys.push([1,3,,4]);return[4,tx.set(n,{errors:e,timestamp:t})];case 2:s.sent(),setTimeout(/*#__PURE__*/i(function(){var e;return D(this,function(t){switch(t.label){case 0:return[4,tx.getLogLink(n)];case 1:e=t.sent();e&&er.info("\uD83D\uDCC2 Open the error list manually: ".concat(e));return[2]}})}),10);return[3,4];case 3:r=s.sent();er.error("Failed to save errors: ".concat(r.message));return[3,4];case 4:return[2]}})});return tL.apply(this,arguments)}M(tj,"saveErrorListToStorage");function tP(){return tk.apply(this,arguments)}function tk(){tk=i(function(){var e,t,n;return D(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,tx.keys()];case 1:e=r.sent(),t=Array.isArray(e)?e.filter(function(e){var t;return e===null||e===void 0?void 0:(t=e.startsWith)===null||t===void 0?void 0:t.call(e,"error_list:")}):[];return[4,Promise.all(t.map(/*#__PURE__*/function(){var e=i(function(e){var t;return D(this,function(n){switch(n.label){case 0:return[4,tx.get(e)];case 1:return[2,((t=n.sent())===null||t===void 0?void 0:t.errors)||[]]}})});return function(t){return e.apply(this,arguments)}}()))];case 2:return[2,r.sent().flat()];case 3:n=r.sent();return[2,(er.error("Failed to retrieve stored errors: ".concat(n.message)),[])];case 4:return[2]}})});return tk.apply(this,arguments)}M(tP,"getStoredErrorLists");function tU(){return tF.apply(this,arguments)}function tF(){tF=i(function(){var e,t,n;return D(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,tx.keys()];case 1:e=r.sent(),t=Array.isArray(e)?e.filter(function(e){var t;return e===null||e===void 0?void 0:(t=e.startsWith)===null||t===void 0?void 0:t.call(e,"error_list:")}):[];return[4,Promise.all(t.map(function(e){return tx.remove(e)}))];case 2:r.sent();return[3,4];case 3:n=r.sent();er.error("Failed to clear error lists: ".concat(n.message));return[3,4];case 4:return[2]}})});return tF.apply(this,arguments)}M(tU,"clearAllErrorLists");function tq(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)||[],g=o.exec(e)||[];var m,E,h,v,y,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:(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:(E=p===null||p===void 0?void 0:(c=p[5])===null||c===void 0?void 0:c.trim())!==null&&E!==void 0?E:""}):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:(v=f===null||f===void 0?void 0:(u=f[5])===null||u===void 0?void 0:u.trim())!==null&&v!==void 0?v:""}):g.length?t.push({file:"commitlint",type:F.Error,message:(y=g===null||g===void 0?void 0:(l=g[1])===null||l===void 0?void 0:l.trim())!==null&&y!==void 0?y:"",rule:(S=g===null||g===void 0?void 0:(d=g[2])===null||d===void 0?void 0:d.trim())!==null&&S!==void 0?S:""}):n.push(e.trim())}}),t.length&&tj(t),tG.DEBUG&&n.length&&(er.warn("Unmatched lines:"),n.forEach(function(e){return er.info(" ".concat(e))}))}M(tq,"parseTextErrors");function tK(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&&tj(n)}catch(t){tq(e)}}M(tK,"parseCommandOutput");function tB(e){return tH.apply(this,arguments)}function tH(){tH=i(function(e){var t,n,r,s,i,o,a,c,u;var l=arguments;return D(this,function(d){switch(d.label){case 0:t=l.length>1&&l[1]!==void 0?l[1]:tK;n=new AbortController;ed.on("SIGINT",function(){er.warn("Process interrupted. Terminating..."),n.abort(),ed.exit()});d.label=1;case 1:d.trys.push([1,4,,5]);if(!(typeof e=="string"))return[3,3];return[4,tM(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&&er.error("Command failed: ".concat(u));return[3,5];case 5:return[2]}})});return tH.apply(this,arguments)}M(tB,"executeCommand");function tY(e){return{raw:!0,cmd:e}}M(tY,"rawCommand");function tV(e,t){return(t===null||t===void 0?void 0:t.isRemote)?"".concat(tn," ").concat(eP," ").concat(e):(t===null||t===void 0?void 0:t.isCurrentProject)?"".concat(tn," ").concat(e7," ").concat(eX," ").concat(e):"".concat(tn," ").concat(e$," ").concat(e)}M(tV,"formatCLI");function tW(e,t){return typeof e=="function"?tV(e(t),t):(typeof e==="undefined"?"undefined":A(e))=="object"&&(e===null||e===void 0?void 0:e.raw)===!0?e.cmd:typeof e=="string"?tV(e,t):e}M(tW,"formatCommand");function tQ(e){return tJ.apply(this,arguments)}function tJ(){tJ=i(function(e){var t,n,r,s,i,o,a;var c=arguments;return D(this,function(u){switch(u.label){case 0:t=c.length>1&&c[1]!==void 0?c[1]:{};r=(n=t===null||t===void 0?void 0:t.isRemote)!==null&&n!==void 0?n:!1;if(!r)return[3,1];a=!1;return[3,3];case 1:return[4,tO(eP)];case 2:a=u.sent().isCurrentProject;u.label=3;case 3:s=a,i={isRemote:r,isCurrentProject:s},o=typeof e=="function"?e(i):e;return[2,Object.fromEntries(Object.entries(o).map(function(e){var t=R(e,2),n=t[0],r=t[1];return[n,tW(r,i)]}))]}})});return tJ.apply(this,arguments)}M(tQ,"resolveCommands");function t$(e,t){return tX.apply(this,arguments)}function tX(){tX=i(function(e,t){var n;return D(this,function(r){switch(r.label){case 0:r.trys.push([0,2,,3]);er.start("".concat(e)),tG.DEBUG&&er.info("→ ".concat(t));return[4,tB(t)];case 1:r.sent(),er.success("".concat(e," done."));return[3,3];case 2:n=r.sent();throw er.error("".concat(e," failed: ").concat(n.message)),n;case 3:return[2]}})});return tX.apply(this,arguments)}M(t$,"runCommand");function tz(){return tZ.apply(this,arguments)}function tZ(){tZ=i(function(){var e,t;return D(this,function(n){switch(n.label){case 0:if(!eT(td.TS_CONFIG))return[3,3];t=["Performing TypeScript validation"];return[4,tE.typescriptCheck()];case 1:return[4,t$.apply(void 0,t.concat([n.sent()]))];case 2:e=n.sent();return[3,4];case 3:e=er.warn("No TypeScript configuration found. Skipping type check.");n.label=4;case 4:e;return[2]}})});return tZ.apply(this,arguments)}M(tz,"checkTypescript");function t0(){return t1.apply(this,arguments)}function t1(){t1=i(function(){var e,t,n,r;var s=arguments;return D(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,tE.eslintFix()];case 1:return[4,t$.apply(void 0,n.concat([i.sent()]))];case 2:t=i.sent();return[3,6];case 3:r=["Running ESLint check"];return[4,tE.eslintCheck()];case 4:return[4,t$.apply(void 0,r.concat([i.sent()]))];case 5:t=i.sent();i.label=6;case 6:t;return[2]}})});return t1.apply(this,arguments)}M(t0,"checkEslint");function t2(e,t){if(!t.length)return;var n=e==="Errors"?"red":"yellow";er.printBoxedLog(e==="Errors"?"✖ Errors":"⚠ Warnings",t,n)}M(t2,"printIssues");function t4(){return t3.apply(this,arguments)}function t3(){t3=i(function(){var e,t,n;return D(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?er.printBoxedLog("✔ NO ISSUES FOUND",[],"green"):(t2("Warnings",n),t2("Errors",t),(t.length>0||n.length>0)&&ei.exit(1));return[2]}})});return t3.apply(this,arguments)}M(t4,"showCheckResult");function t5(){return t8.apply(this,arguments)}function t8(){t8=i(function(){var e,t,n,r,s,i;return D(this,function(o){switch(o.label){case 0:return[4,tU()];case 1:o.sent();return[4,tO(eP)];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(eP)];return[4,tE.build()];case 4:return[4,t$.apply(void 0,n.concat([o.sent()]))];case 5:o.sent();r=["Staging build artifacts"];return[4,tE.stageBuildDirectory()];case 6:return[4,t$.apply(void 0,r.concat([o.sent()]))];case 7:o.sent();return[3,9];case 8:s=o.sent();throw er.error("Error building and staging ".concat(eP,": ").concat(s.message)),s;case 9:i=["Executing lint-staged"];return[4,tE.lintStaged()];case 10:return[4,t$.apply(void 0,i.concat([o.sent()]))];case 11:o.sent(),t4();return[2]}})});return t8.apply(this,arguments)}M(t5,"lintStaged");function t6(){return t9.apply(this,arguments)}function t9(){t9=i(function(){var e;return D(this,function(t){switch(t.label){case 0:e=["Inspecting ESLint configuration"];return[4,tE.eslintInspect()];case 1:return[4,t$.apply(void 0,e.concat([t.sent()]))];case 2:t.sent();return[2]}})});return t9.apply(this,arguments)}M(t6,"inspectLint");function t7(){return ne.apply(this,arguments)}function ne(){ne=i(function(){return D(this,function(e){switch(e.label){case 0:return[4,tU()];case 1:e.sent();return[4,Promise.all([tz(),t0()])];case 2:e.sent(),t4();return[2]}})});return ne.apply(this,arguments)}M(t7,"lintCheck");function nt(){return nn.apply(this,arguments)}function nn(){nn=i(function(){return D(this,function(e){switch(e.label){case 0:return[4,tU()];case 1:e.sent();return[4,Promise.all([tz(),t0(!0)])];case 2:e.sent(),t4();return[2]}})});return nn.apply(this,arguments)}M(nt,"lintFix");function nr(){return ns.apply(this,arguments)}function ns(){ns=i(function(){var e;return D(this,function(t){switch(t.label){case 0:return[4,tU()];case 1:t.sent();e=["Validating commit message"];return[4,tE.commitLint()];case 2:return[4,t$.apply(void 0,e.concat([t.sent()]))];case 3:t.sent(),t4();return[2]}})});return ns.apply(this,arguments)}M(nr,"commitLint");function ni(){return no.apply(this,arguments)}function no(){no=i(function(){var e,t,n,r;return D(this,function(s){switch(s.label){case 0:e=["Configuring Git hooks"];return[4,tE.configureGitHook()];case 1:return[4,t$.apply(void 0,e.concat([s.sent()]))];case 2:s.sent(),eA(td.GIT_HOOK);return[4,tQ(tp)];case 3:t=s.sent();eR(td.SIMPLE_GIT_HOOKS_JSON,t);n="\n".concat(eH,"\n");eT(td.GIT_IGNORE)?eh(td.GIT_IGNORE,"utf-8").split("\n").includes(eH)||eS(td.GIT_IGNORE,n,"utf-8"):ev(td.GIT_IGNORE,n,"utf-8");r=["Setting up simple-git-hooks"];return[4,tE.simpleGitHooks()];case 4:return[4,t$.apply(void 0,r.concat([s.sent()]))];case 5:s.sent();return[2]}})});return no.apply(this,arguments)}M(ni,"setupGitHook");function na(){return nc.apply(this,arguments)}function nc(){nc=i(function(){return D(this,function(e){switch(e.label){case 0:return[4,tR([eP],{update:!0,postInstallActions:[ni]})];case 1:e.sent();return[2]}})});return nc.apply(this,arguments)}M(na,"setup");function nu(){return nl.apply(this,arguments)}function nl(){nl=i(function(){return D(this,function(e){switch(e.label){case 0:eA(td.NODE_MODULES,td.PNPM_LOCK_YAML);return[4,tI()];case 1:e.sent();return[4,ni()];case 2:e.sent();return[2]}})});return nl.apply(this,arguments)}M(nu,"reset");function nd(){return np.apply(this,arguments)}function np(){np=i(function(){var e;return D(this,function(t){switch(t.label){case 0:e=["Inspecting project dependencies"];return[4,tE.nodeModulesInspect()];case 1:return[4,t$.apply(void 0,e.concat([t.sent()]))];case 2:t.sent();return[2]}})});return np.apply(this,arguments)}M(nd,"inspect");function nf(){return ng.apply(this,arguments)}function ng(){ng=i(function(){var e;return D(this,function(t){switch(t.label){case 0:e=["Running unit tests"];return[4,tE.testUnit()];case 1:return[4,t$.apply(void 0,e.concat([t.sent()]))];case 2:t.sent();return[2]}})});return ng.apply(this,arguments)}M(nf,"testUnit");function nm(){return nE.apply(this,arguments)}function nE(){nE=i(function(){var e;return D(this,function(t){switch(t.label){case 0:e=["Running end-to-end tests"];return[4,tE.testE2e()];case 1:return[4,t$.apply(void 0,e.concat([t.sent()]))];case 2:t.sent();return[2]}})});return nE.apply(this,arguments)}M(nm,"testE2E");function nh(e){return nv.apply(this,arguments)}function nv(){nv=i(function(e){var t;return D(this,function(n){switch(n.label){case 0:t=["Creating MongoDB migration"];return[4,tE.mongoMigrateCreate(e)];case 1:return[4,t$.apply(void 0,t.concat([n.sent()]))];case 2:n.sent();return[2]}})});return nv.apply(this,arguments)}M(nh,"mongoMigrateCreate");function ny(){return nS.apply(this,arguments)}function nS(){nS=i(function(){var e;return D(this,function(t){switch(t.label){case 0:e=["Running MongoDB migrations"];return[4,tE.mongoMigrateUp()];case 1:return[4,t$.apply(void 0,e.concat([t.sent()]))];case 2:t.sent();return[2]}})});return nS.apply(this,arguments)}M(ny,"mongoMigrateUp");function nO(){return n_.apply(this,arguments)}function n_(){n_=i(function(){var e;return D(this,function(t){switch(t.label){case 0:e=["Rolling back MongoDB migration"];return[4,tE.mongoMigrateDown()];case 1:return[4,t$.apply(void 0,e.concat([t.sent()]))];case 2:t.sent();return[2]}})});return n_.apply(this,arguments)}M(nO,"mongoMigrateDown");function nI(){return nC.apply(this,arguments)}function nC(){nC=i(function(){var e;return D(this,function(t){switch(t.label){case 0:e=["Checking MongoDB migration status"];return[4,tE.mongoMigrateStatus()];case 1:return[4,t$.apply(void 0,e.concat([t.sent()]))];case 2:t.sent();return[2]}})});return nC.apply(this,arguments)}M(nI,"mongoMigrateStatus");i(function(){var e;return D(this,function(t){switch(t.label){case 0:t.trys.push([0,2,,3]);return[4,ea(eo(ei.argv)).scriptName(e$).usage("$0 <command> [options]").command("lint","Check code for linting issues",t7).command("lint:fix","Fix linting issues automatically",nt).command("lint:inspect","View active ESLint configuration",t6).command("lint-staged","Run lint checks on staged files",t5).command("commitlint","Validate commit message format",nr).command("setup","Initialize project setup and dependencies",na).command("reset","Reset the project and reinstall dependencies",nu).command("inspect","Analyze installed project dependencies",nd).command("test:unit","Run unit test suite",nf).command("test:e2e","Run end-to-end test suite",nm).command("mongo:migrate:create <name>","Create a MongoDB migration",function(e){return e.positional("name",{describe:"Migration name",type:"string"})},/*#__PURE__*/function(){var e=i(function(e){return D(this,function(t){switch(t.label){case 0:if(!e.name){er.error("Migration name is required.");return[2]}return[4,nh(e.name)];case 1:t.sent();return[2]}})});return function(t){return e.apply(this,arguments)}}()).command("mongo:migrate:up","Apply all MongoDB migrations",ny).command("mongo:migrate:down","Rollback last MongoDB migration",nO).command("mongo:migrate:status","Check MongoDB migration status",nI).demandCommand(1,"Please specify a valid command.").strict().help().alias("h","help").alias("v","version").version(ec.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();er.error("Fatal: ".concat(e.message)),ei.exit(1);return[3,3];case 3:return[2]}})})();import{Router as nR}from"express";import nT from"compression";import nA from"cors";import nN from"express";import nb from"express-device";import nD from"express-session";function nx(e){return nA({origin:M(function(t,n){var r;e.isDev||((r=e.whiteList)===null||r===void 0?void 0:r.includes(t!==null&&t!==void 0?t:""))?n(null,!0):n(null,!1)},"origin"),credentials:!0})}M(nx,"createCors");function nG(e){var t=nN();return t.set("trust proxy",1),t.use(nN.urlencoded({extended:!0})),t.use(nT()),t.use(nb.capture()),e.staticFolder&&t.use(nN.static(e.staticFolder)),e.sessionOptions&&t.use(nD(e.sessionOptions)),t}M(nG,"createExpress");var nM="MONGO_MIGRATE_OPTIONS";import{Collection as nw,Db as nj}from"mongodb";import{Document as nL,Model as nP}from"mongoose";var nk=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){a(this,t);return o(this,t,arguments)}return t}(nj);M(nk,"C_Db");var nU=nk,nF=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){a(this,t);return o(this,t,arguments)}return t}(nL);M(nF,"C_Document");var nq=nF,nK=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){a(this,t);return o(this,t,arguments)}return t}(nP);M(nK,"C_Model");var nB=nK,nH=/*#__PURE__*/function(e){"use strict";p(t,e);function t(){a(this,t);return o(this,t,arguments)}return t}(nw);M(nH,"C_Collection");var nY=nH;import{format as nV}from"date-fns";import nW from"migrate-mongo";import{Document as nQ}from"mongoose";import nJ from"mongoose-aggregate-paginate-v2";import n$ from"mongoose-paginate-v2";import{v4 as nX}from"uuid";import nz from"crypto-js";import nZ from"slugify";var n0=nZ.default||nZ;function n1(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"",t=arguments.length>1?arguments[1]:void 0;var n=t||{},r=n.lower,s=r===void 0?!0:r,i=n.locale,o=i===void 0?"vi":i,a=O(n,["lower","locale"]);return n0(e,v({lower:s,locale:o},a))}M(n1,"generateSlug");function n2(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:4;return nz.SHA256(e).toString(nz.enc.Hex).slice(0,t)}M(n2,"generateShortId");var n4={isEmpty:function e(e){return e==null?!0:Array.isArray(e)?e.length===0:(typeof e==="undefined"?"undefined":A(e))=="object"?f(e,Date)?!1:Object.keys(e).length===0:typeof e=="string"?e.trim().length===0:!1}};var n3={getDateTime:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:new Date;return nV(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"?n3.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(n3.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=n3.createSchema({mongoose:t,schema:r,virtuals:u});return n3.applyPlugins(p,[i&&n$,a&&nJ]),n3.applyMiddlewares(p,d),t.model(n,p)},createSlugQuery:function e(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=arguments.length>2?arguments[2]:void 0;return S(v({},t,n&&{id:{$ne:n}}),{$or:[{slug:e},{slugHistory:e}]})},validator:{isEmpty:function e(){return /*#__PURE__*/function(){var e=i(function(e){return D(this,function(t){return[2,!n4.isEmpty(e)]})});return function(t){return e.apply(this,arguments)}}()},isUnique:function e(e){return /*#__PURE__*/function(){var t=i(function(t){var n;return D(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.findOne(n)];case 1:return[2,!r.sent()]}})});return function(e){return t.apply(this,arguments)}}()},matchesRegex:function e(e){return /*#__PURE__*/function(){var t=i(function(t){return D(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)})]})});return function(e){return t.apply(this,arguments)}}()}},migrate:S(v({},nW),{setConfig:M(function(e){var t="// This file is automatically generated by the Cyberskill CLI.\nmodule.exports = ".concat(JSON.stringify(e,null,4));ev(td.MIGRATE_MONGO_CONFIG,t);var n="\n".concat(eQ,"\n");eT(td.GIT_IGNORE)?eh(td.GIT_IGNORE,"utf-8").split("\n").includes(eQ)||eS(td.GIT_IGNORE,n,"utf-8"):ev(td.GIT_IGNORE,n,"utf-8")},"setConfig")})},n5=/*#__PURE__*/function(){"use strict";function e(t,n){a(this,e);w(this,"collection");this.collection=t.collection(n)}u(e,[{key:"createOne",value:function e(e){var t=this;return i(function(){var n,r,s;return D(this,function(i){switch(i.label){case 0:i.trys.push([0,2,,3]);n=v({},n3.createGenericFields(),e);r={success:!0,message:"Document created successfully"};return[4,t.collection.insertOne(n)];case 1:return[2,(r.result=i.sent(),r)];case 2:s=i.sent();return[2,{success:!1,message:s.message}];case 3:return[2]}})})()}},{key:"createMany",value:function e(e){var t=this;return i(function(){var n,r,s;return D(this,function(i){switch(i.label){case 0:i.trys.push([0,2,,3]);n=e.map(function(e){return v({},n3.createGenericFields(),e)});return[4,t.collection.insertMany(n)];case 1:r=i.sent();return[2,r.insertedCount===0?{success:!1,message:"No documents were inserted"}:{success:!0,message:"".concat(r.insertedCount," documents created successfully"),result:r}];case 2:s=i.sent();return[2,{success:!1,message:s.message}];case 3:return[2]}})})()}},{key:"findOne",value:function e(e){var t=this;return i(function(){var n,r;return D(this,function(s){switch(s.label){case 0:s.trys.push([0,2,,3]);return[4,t.collection.findOne(e)];case 1:n=s.sent();return[2,n?{success:!0,message:"Document found",result:n}:{success:!1,message:"Document not found"}];case 2:r=s.sent();return[2,{success:!1,message:r.message}];case 3:return[2]}})})()}},{key:"findAll",value:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};var t=this;return i(function(){var n,r;return D(this,function(s){switch(s.label){case 0:s.trys.push([0,2,,3]);n={success:!0,message:"Documents retrieved successfully"};return[4,t.collection.find(e).toArray()];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]}})})()}},{key:"count",value:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};var t=this;return i(function(){var n,r;return D(this,function(s){switch(s.label){case 0:s.trys.push([0,2,,3]);n={success:!0,message:"Count retrieved successfully"};return[4,t.collection.countDocuments(e)];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]}})})()}},{key:"updateOne",value:function e(e,t){var n=this;return i(function(){var r,s;return D(this,function(i){switch(i.label){case 0:i.trys.push([0,2,,3]);return[4,n.collection.updateOne(e,{$set:t})];case 1:r=i.sent();return[2,r.matchedCount===0?{success:!1,message:"No documents matched the filter"}:{success:!0,message:"Document updated successfully",result:r}];case 2:s=i.sent();return[2,{success:!1,message:s.message}];case 3:return[2]}})})()}},{key:"updateMany",value:function e(e,t){var n=this;return i(function(){var r,s;return D(this,function(i){switch(i.label){case 0:i.trys.push([0,2,,3]);return[4,n.collection.updateMany(e,{$set:t})];case 1:r=i.sent();return[2,r.matchedCount===0?{success:!1,message:"No documents matched the filter"}:{success:!0,message:"Documents updated successfully",result:r}];case 2:s=i.sent();return[2,{success:!1,message:s.message}];case 3:return[2]}})})()}},{key:"deleteOne",value:function e(e){var t=this;return i(function(){var n,r;return D(this,function(s){switch(s.label){case 0:s.trys.push([0,2,,3]);return[4,t.collection.deleteOne(e)];case 1:n=s.sent();return[2,n.deletedCount===0?{success:!1,message:"No documents matched the filter"}:{success:!0,message:"Document deleted successfully",result:n}];case 2:r=s.sent();return[2,{success:!1,message:r.message}];case 3:return[2]}})})()}},{key:"deleteMany",value:function e(e){var t=this;return i(function(){var n,r;return D(this,function(s){switch(s.label){case 0:s.trys.push([0,2,,3]);return[4,t.collection.deleteMany(e)];case 1:n=s.sent();return[2,n.deletedCount===0?{success:!1,message:"No documents matched the filter"}:{success:!0,message:"Documents deleted successfully",result:n}];case 2:r=s.sent();return[2,{success:!1,message:r.message}];case 3:return[2]}})})()}}]);return e}();M(n5,"MongoController");var n8=n5,n6=/*#__PURE__*/function(){"use strict";function e(t){a(this,e);w(this,"model");this.model=t}u(e,[{key:"getModelName",value:function e(){return this.model.modelName}},{key:"findOne",value:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},r=arguments.length>3?arguments[3]:void 0;var s=this;return i(function(){var i,o,a;return D(this,function(c){switch(c.label){case 0:c.trys.push([0,2,,3]);i=s.model.findOne(e,t,n);r&&i.populate(r);return[4,i.exec()];case 1:o=c.sent();return[2,o?{success:!0,result:o}:{success:!1,message:"No ".concat(s.getModelName()," found."),code:Z.NOT_FOUND.CODE}];case 2:a=c.sent();return[2,{success:!1,message:a.message,code:Z.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})})()}},{key:"findAll",value:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},r=arguments.length>3?arguments[3]:void 0;var s=this;return i(function(){var i,o,a;return D(this,function(c){switch(c.label){case 0:c.trys.push([0,2,,3]);i=s.model.find(e,t,n);r&&i.populate(r);o={success:!0};return[4,i.exec()];case 1:return[2,(o.result=c.sent(),o)];case 2:a=c.sent();return[2,{success:!1,message:a.message,code:Z.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})})()}},{key:"findPaging",value:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};var n=this;return i(function(){var r,s;return D(this,function(i){switch(i.label){case 0:i.trys.push([0,2,,3]);r={success:!0};return[4,n.model.paginate(e,t)];case 1:return[2,(r.result=i.sent(),r)];case 2:s=i.sent();return[2,{success:!1,message:s.message,code:Z.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})})()}},{key:"findPagingAggregate",value:function e(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};var n=this;return i(function(){var r,s;return D(this,function(i){switch(i.label){case 0:i.trys.push([0,2,,3]);r={success:!0};return[4,n.model.aggregatePaginate(n.model.aggregate(e),t)];case 1:return[2,(r.result=i.sent(),r)];case 2:s=i.sent();return[2,{success:!1,message:s.message,code:Z.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})})()}},{key:"count",value:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};var t=this;return i(function(){var n,r;return D(this,function(s){switch(s.label){case 0:s.trys.push([0,2,,3]);n={success:!0};return[4,t.model.countDocuments(e)];case 1:return[2,(n.result=s.sent(),n)];case 2:r=s.sent();return[2,{success:!1,message:r.message,code:Z.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})})()}},{key:"createOne",value:function e(e){var t=this;return i(function(){var n,r;return D(this,function(s){switch(s.label){case 0:s.trys.push([0,2,,3]);n={success:!0};return[4,t.model.create(e)];case 1:return[2,(n.result=s.sent(),n)];case 2:r=s.sent();return[2,{success:!1,message:r.message,code:Z.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})})()}},{key:"createMany",value:function e(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};var n=this;return i(function(){var r,s;return D(this,function(i){switch(i.label){case 0:i.trys.push([0,2,,3]);r={success:!0};return[4,n.model.insertMany(e,t)];case 1:return[2,(r.result=i.sent().map(function(e){return f(e,nQ)?e.toObject():null}).filter(function(e){return e!==null}),r)];case 2:s=i.sent();return[2,{success:!1,message:s.message,code:Z.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})})()}},{key:"updateOne",value:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};var r=this;return i(function(){var s,i;return D(this,function(o){switch(o.label){case 0:o.trys.push([0,2,,3]);return[4,r.model.findOneAndUpdate(e,t,v({new:!0},n)).exec()];case 1:s=o.sent();return[2,s?{success:!0,result:s}:{success:!1,message:"Failed to update ".concat(r.getModelName(),"."),code:Z.NOT_FOUND.CODE}];case 2:i=o.sent();return[2,{success:!1,message:i.message,code:Z.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})})()}},{key:"updateMany",value:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};var r=this;return i(function(){var s,i;return D(this,function(o){switch(o.label){case 0:o.trys.push([0,2,,3]);s={success:!0};return[4,r.model.updateMany(e,t,n).exec()];case 1:return[2,(s.result=o.sent(),s)];case 2:i=o.sent();return[2,{success:!1,message:i.message,code:Z.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})})()}},{key:"deleteOne",value:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};var n=this;return i(function(){var r,s;return D(this,function(i){switch(i.label){case 0:i.trys.push([0,2,,3]);return[4,n.model.findOneAndDelete(e,t).exec()];case 1:r=i.sent();return[2,r?{success:!0,result:r}:{success:!1,message:"No ".concat(n.getModelName()," found to delete."),code:Z.NOT_FOUND.CODE}];case 2:s=i.sent();return[2,{success:!1,message:s.message,code:Z.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})})()}},{key:"deleteMany",value:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};var n=this;return i(function(){var r,s;return D(this,function(i){switch(i.label){case 0:i.trys.push([0,2,,3]);return[4,n.model.deleteMany(e,t).exec()];case 1:r=i.sent();return[2,r.deletedCount===0?{success:!1,message:"No documents found to delete.",code:Z.NOT_FOUND.CODE}:{success:!0,result:r}];case 2:s=i.sent();return[2,{success:!1,message:s.message,code:Z.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})})()}},{key:"createShortId",value:function e(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:4;var n=this;return i(function(){var r,s,i,o;return D(this,function(a){switch(a.label){case 0:r=new Set;s=0;a.label=1;case 1:if(!(s<10))return[3,5];i=n2(e,s+t);o=!r.has(i);if(!o)return[3,3];r.add(i);return[4,n.model.exists({shortId:i})];case 2:o=!a.sent();a.label=3;case 3:if(o)return[2,{success:!0,result:i}];a.label=4;case 4:s++;return[3,1];case 5:return[2,{success:!1,message:"Failed to create a unique shortId",code:Z.INTERNAL_SERVER_ERROR.CODE}]}})})()}},{key:"createSlug",value:function e(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};var r=this;return i(function(){var s,o,a,c,u,l,d,p,f,g,m;return D(this,function(E){switch(E.label){case 0:E.trys.push([0,8,,9]);s=t[e],o=M(/*#__PURE__*/function(){var e=i(function(e){var s,i,o;return D(this,function(a){switch(a.label){case 0:return[4,r.model.findOne(n3.createSlugQuery(e,n,t.id))];case 1:s=a.sent();if(!s)return[2,e];i=1;a.label=2;case 2:o="".concat(e,"-").concat(i);return[4,r.model.findOne(n3.createSlugQuery(o,n,t.id))];case 3:s=a.sent(),i++;a.label=4;case 4:if(s)return[3,2];a.label=5;case 5:return[2,o]}})});return function(t){return e.apply(this,arguments)}}(),"createUniqueSlug");if(!((typeof s==="undefined"?"undefined":A(s))=="object"))return[3,5];a={};c=[];for(u in s)c.push(u);l=0;E.label=1;case 1:if(!(l<c.length))return[3,4];d=c[l];p=n1(s[d]);return[4,o(p)];case 2:a[d]=E.sent();E.label=3;case 3:l++;return[3,1];case 4:return[2,{success:!0,result:a}];case 5:f=n1(s);g={success:!0};return[4,o(f)];case 6:return[2,(g.result=E.sent(),g)];case 7:return[3,9];case 8:m=E.sent();return[2,{success:!1,message:"Failed to create a unique slug: ".concat(m.message),code:Z.INTERNAL_SERVER_ERROR.CODE}];case 9:return[2]}})})()}},{key:"aggregate",value:function e(e){var t=this;return i(function(){var n,r;return D(this,function(s){switch(s.label){case 0:s.trys.push([0,2,,3]);n={success:!0};return[4,t.model.aggregate(e)];case 1:return[2,(n.result=s.sent(),n)];case 2:r=s.sent();return[2,{success:!1,message:r.message,code:Z.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})})()}}]);return e}();M(n6,"MongooseController");var n9=n6;import{useServer as n7}from"graphql-ws/use/ws";import{WebSocketServer as re}from"ws";function rt(e){return new re({server:e.server,path:e.path})}M(rt,"createWSServer");function rn(e){return n7({schema:e.schema},e.server)}M(rn,"initGraphQLWS");export{eU as BUILD_DIRECTORY,ef as CHECK_PACKAGE_EMPTY_RESULT,e3 as COMMIT_LINT_CLI,e4 as COMMIT_LINT_PACKAGE_NAME,e$ as CYBERSKILL_CLI,eX as CYBERSKILL_CLI_PATH,eJ as CYBERSKILL_DIRECTORY,eP as CYBERSKILL_PACKAGE_NAME,nY as C_Collection,nU as C_Db,nq as C_Document,nB as C_Model,eZ as ESLINT_CLI,to as ESLINT_INSPECT_CLI,ti as ESLINT_INSPECT_PACKAGE_NAME,ez as ESLINT_PACKAGE_NAME,eu as E_CommandType,F as E_IssueType,te as GIT_CLI,eW as GIT_COMMIT_EDITMSG,eV as GIT_HOOK,eB as GIT_IGNORE,e8 as LINT_STAGED_CLI,e5 as LINT_STAGED_PACKAGE_NAME,tl as MIGRATE_MONGO_CLI,eQ as MIGRATE_MONGO_CONFIG,tu as MIGRATE_MONGO_PACKAGE_NAME,nM as MONGO_MIGRATE_OPTIONS,n8 as MongoController,n9 as MongooseController,ek as NODE_MODULES,tc as NODE_MODULES_INSPECT_CLI,ta as NODE_MODULES_INSPECT_PACKAGE_NAME,eF as PACKAGE_JSON,eq as PACKAGE_LOCK_JSON,td as PATH,e1 as PLAYWRIGHT_PACKAGE_NAME,tt as PNPM_CLI,tn as PNPM_EXEC_CLI,eY as PNPM_LOCK_YAML,nR as Router,tr as SIMPLE_GIT_HOOKS_PACKAGE_NAME,ts as SIMPLE_GIT_HOOK_CLI,eH as SIMPLE_GIT_HOOK_JSON,eK as TSCONFIG_JSON,e9 as TSC_CLI,e6 as TSC_PACKAGE_NAME,e7 as TSX_CLI,e2 as VITEST_CLI,e0 as VITEST_PACKAGE_NAME,eL as WORKING_DIRECTORY,nJ as aggregatePaginate,eS as appendFileSync,tO as checkPackage,tU as clearAllErrorLists,tE as command,eN as copySync,eO as copySyncE,es as createApolloServer,nx as createCors,nG as createExpress,tp as createGitHooksConfig,rt as createWSServer,eT as existsSync,nN as express,L as expressMiddleware,tW as formatCommand,ty as getLatestPackageVersion,tv as getPackage,tP as getStoredErrorLists,rn as initGraphQLWS,tI as installDependencies,ew as join,er as logNodeJS,n3 as mongo,n$ as mongoosePaginate,ey as pathExistsSync,tY as rawCommand,eh as readFileSync,eC as readJsonSync,eA as removeSync,e_ as removeSyncE,eM as resolve,tQ as resolveCommands,eG as resolveWorkingPath,t$ as runCommand,tR as setupPackages,eI as statSync,tx as storageNodeJS,et as throwError,ev as writeFileSync,eR as writeJsonSync};
@@ -1 +1 @@
1
- "use strict";function e(e){if(e===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return e}function t(e,t,n,r,s,u,a){try{var o=e[u](a);var c=o.value}catch(e){n(e);return}if(o.done){t(c)}else{Promise.resolve(c).then(r,s)}}function n(e){return function(){var n=this,r=arguments;return new Promise(function(s,u){var a=e.apply(n,r);function o(e){t(a,s,u,o,c,"next",e)}function c(e){t(a,s,u,o,c,"throw",e)}o(undefined)})}}function r(e,t,n){t=c(t);return _(e,y()?Reflect.construct(t,n||[],c(e).constructor):t.apply(e,n))}function s(e,t){if(!(e instanceof t)){throw new TypeError("Cannot call a class as a function")}}function u(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 a(e,t,n){if(t)u(e.prototype,t);if(n)u(e,n);return e}function o(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 c(e){c=Object.setPrototypeOf?Object.getPrototypeOf:function e(e){return e.__proto__||Object.getPrototypeOf(e)};return c(e)}function i(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)S(e,t)}function l(e,t){if(t!=null&&typeof Symbol!=="undefined"&&t[Symbol.hasInstance]){return!!t[Symbol.hasInstance](e)}else{return e instanceof t}}function f(e){if(typeof WeakMap!=="function")return null;var t=new WeakMap;var n=new WeakMap;return(f=function(e){return e?n:t})(e)}function E(e,t){if(!t&&e&&e.__esModule){return e}if(e===null||typeof e!=="object"&&typeof e!=="function"){return{default:e}}var n=f(t);if(n&&n.has(e)){return n.get(e)}var r={__proto__:null};var s=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var u in e){if(u!=="default"&&Object.prototype.hasOwnProperty.call(e,u)){var a=s?Object.getOwnPropertyDescriptor(e,u):null;if(a&&(a.get||a.set)){Object.defineProperty(r,u,a)}else{r[u]=e[u]}}}r.default=e;if(n){n.set(e,r)}return r}function d(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){o(e,t,n[t])})}return e}function h(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 g(e,t){t=t!=null?t:{};if(Object.getOwnPropertyDescriptors){Object.defineProperties(e,Object.getOwnPropertyDescriptors(t))}else{h(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=v(e,t);var r,s;if(Object.getOwnPropertySymbols){var u=Object.getOwnPropertySymbols(e);for(s=0;s<u.length;s++){r=u[s];if(t.indexOf(r)>=0)continue;if(!Object.prototype.propertyIsEnumerable.call(e,r))continue;n[r]=e[r]}}return n}function v(e,t){if(e==null)return{};var n={};var r=Object.keys(e);var s,u;for(u=0;u<r.length;u++){s=r[u];if(t.indexOf(s)>=0)continue;n[s]=e[s]}return n}function _(t,n){if(n&&(p(n)==="object"||typeof n==="function")){return n}return e(t)}function S(e,t){S=Object.setPrototypeOf||function e(e,t){e.__proto__=t;return e};return S(e,t)}function p(e){"@swc/helpers - typeof";return e&&typeof Symbol!=="undefined"&&e.constructor===Symbol?"symbol":typeof e}function y(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(y=function(){return!!e})()}function R(e,t){var n,r,s,u={label:0,sent:function(){if(s[0]&1)throw s[1];return s[1]},trys:[],ops:[]},a=Object.create((typeof Iterator==="function"?Iterator:Object).prototype);return a.next=o(0),a["throw"]=o(1),a["return"]=o(2),typeof Symbol==="function"&&(a[Symbol.iterator]=function(){return this}),a;function o(e){return function(t){return c([e,t])}}function c(o){if(n)throw new TypeError("Generator is already executing.");while(a&&(a=0,o[0]&&(u=0)),u)try{if(n=1,r&&(s=o[0]&2?r["return"]:o[0]?r["throw"]||((s=r["return"])&&s.call(r),0):r.next)&&!(s=s.call(r,o[1])).done)return s;if(r=0,s)o=[o[0]&2,s.value];switch(o[0]){case 0:case 1:s=o;break;case 4:u.label++;return{value:o[1],done:false};case 5:u.label++;r=o[1];o=[0];continue;case 7:o=u.ops.pop();u.trys.pop();continue;default:if(!(s=u.trys,s=s.length>0&&s[s.length-1])&&(o[0]===6||o[0]===2)){u=0;continue}if(o[0]===3&&(!s||o[1]>s[0]&&o[1]<s[3])){u.label=o[1];break}if(o[0]===6&&u.label<s[1]){u.label=s[1];s=o;break}if(s&&u.label<s[2]){u.label=s[2];u.ops.push(o);break}if(s[2])u.ops.pop();u.trys.pop();continue}o=t.call(e,u)}catch(e){o=[6,e];r=0}finally{n=s=0}if(o[0]&5)throw o[1];return{value:o[0]?o[1]:void 0,done:true}}}var m=Object.create;var D=Object.defineProperty;var A=Object.getOwnPropertyDescriptor;var b=Object.getOwnPropertyNames;var C=Object.getPrototypeOf,T=Object.prototype.hasOwnProperty;var N=function(e,t,n){return t in e?D(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n};var M=function(e,t){return D(e,"name",{value:t,configurable:!0})};var I=function(e,t){for(var n in t)D(e,n,{get:t[n],enumerable:!0})},P=function(e,t,n,r){var s=true,u=false,a=undefined;if(t&&(typeof t==="undefined"?"undefined":p(t))=="object"||typeof t=="function")try{var o=function(){var s=i.value;!T.call(e,s)&&s!==n&&D(e,s,{get:function(){return t[s]},enumerable:!(r=A(t,s))||r.enumerable})};for(var c=b(t)[Symbol.iterator](),i;!(s=(i=c.next()).done);s=true)o()}catch(e){u=true;a=e}finally{try{if(!s&&c.return!=null){c.return()}}finally{if(u){throw a}}}return e};var w=function(e,t,n){return n=e!=null?m(C(e)):{},P(t||!e||!e.__esModule?D(n,"default",{value:e,enumerable:!0}):n,e)},G=function(e){return P(D({},"__esModule",{value:!0}),e)};var U=function(e,t,n){return N(e,(typeof t==="undefined"?"undefined":p(t))!="symbol"?t+"":t,n)};var L={};I(L,{C_Collection:function(){return W},C_Db:function(){return x},C_Document:function(){return Y},C_Model:function(){return V},MONGO_MIGRATE_OPTIONS:function(){return k},MongoController:function(){return eC},MongooseController:function(){return eN},aggregatePaginate:function(){return J.default},mongo:function(){return eA},mongoosePaginate:function(){return z.default}});module.exports=G(L);var k="MONGO_MIGRATE_OPTIONS";var q=require("mongodb"),j=require("mongoose");var F=/*#__PURE__*/function(e){i(t,e);function t(){s(this,t);return r(this,t,arguments)}return t}(q.Db);M(F,"C_Db");var x=F,Q=/*#__PURE__*/function(e){i(t,e);function t(){s(this,t);return r(this,t,arguments)}return t}(j.Document);M(Q,"C_Document");var Y=Q,B=/*#__PURE__*/function(e){i(t,e);function t(){s(this,t);return r(this,t,arguments)}return t}(j.Model);M(B,"C_Model");var V=B,H=/*#__PURE__*/function(e){i(t,e);function t(){s(this,t);return r(this,t,arguments)}return t}(q.Collection);M(H,"C_Collection");var W=H;var K=require("date-fns"),$=w(require("migrate-mongo"),1),X=require("mongoose"),J=w(require("mongoose-aggregate-paginate-v2"),1),z=w(require("mongoose-paginate-v2"),1),Z=require("uuid");var ee={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 et=w(require("node-persist"),1);var en=".cyberskill-storage";var er=w(require("dotenv"),1),es=require("envalid"),eu=w(require("os"),1),ea=w(require("path"),1),eo=w(require("process"),1);er.default.config();function ec(){var e={DEBUG:eo.default.env.DEBUG||!1,CWD:eo.default.env.CWD||eo.default.cwd(),CYBERSKILL_STORAGE_DIRECTORY:eo.default.env.CYBERSKILL_STORAGE_DIRECTORY||ea.default.join(eu.default.homedir(),en)};return(0,es.cleanEnv)(e,{DEBUG:(0,es.bool)(),CWD:(0,es.str)(),CYBERSKILL_STORAGE_DIRECTORY:(0,es.str)()})}M(ec,"getEnv");var ei=w(require("chalk"),1),el=w(require("consola"),1),ef=require("graphql");var eE=ec();eE.DEBUG||(el.default.level=4);function ed(e){var t=ei.default[e];return typeof t=="function"?t:ei.default.green}M(ed,"chalkKeyword");var eh={silent:el.default.silent,level:el.default.level,fatal:el.default.fatal,error:el.default.error,warn:el.default.warn,log:el.default.log,info:el.default.info,success:el.default.success,ready:el.default.ready,start:el.default.start,box:el.default.box,debug:el.default.debug,trace:el.default.trace,verbose:el.default.verbose,printBoxedLog:function e(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"red";if(!(t===null||t===void 0?void 0:t.length)){el.default.box(ei.default.green(e));return}t.forEach(function(e){var t=e.file,r=e.position,s=e.rule,u=e.message;el.default.log("".concat(ei.default.gray("File:")," ").concat(ei.default.blue("".concat(t).concat(r?":".concat(r):"")))),s&&el.default.log(" ".concat(ed(n)("Rule:")," ").concat(s)),el.default.log(" ".concat(ed(n)("Message:")," ").concat(u))}),el.default.box(ed(n)("".concat(e," : ").concat(t.length))),el.default.log(ei.default.gray("─".repeat(40)))}};var eg=ec();function eO(){return ev.apply(this,arguments)}function ev(){ev=n(function(){var e;return R(this,function(t){switch(t.label){case 0:e=et.default.defaultInstance;if(e)return[3,2];return[4,et.default.init({dir:eg.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]}})});return ev.apply(this,arguments)}M(eO,"initNodePersist");var e_={get:function e(e){return n(function(){var t,n;return R(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,eO()];case 1:r.sent();return[4,et.default.getItem(e)];case 2:return[2,(t=r.sent())!==null&&t!==void 0?t:null];case 3:n=r.sent();return[2,(eh.error('[Storage:get] Error getting key "'.concat(e,'":'),n),null)];case 4:return[2]}})})()},set:function e(e,t){return n(function(){var n;return R(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,eO()];case 1:r.sent();return[4,et.default.setItem(e,t)];case 2:r.sent();return[3,4];case 3:n=r.sent();eh.error('[Storage:set] Error setting key "'.concat(e,'":'),n);return[3,4];case 4:return[2]}})})()},remove:function e(e){return n(function(){var t;return R(this,function(n){switch(n.label){case 0:n.trys.push([0,3,,4]);return[4,eO()];case 1:n.sent();return[4,et.default.removeItem(e)];case 2:n.sent();return[3,4];case 3:t=n.sent();eh.error('[Storage:remove] Error removing key "'.concat(e,'":'),t);return[3,4];case 4:return[2]}})})()},keys:function e(){return n(function(){var e,t;return R(this,function(n){switch(n.label){case 0:n.trys.push([0,3,,4]);return[4,eO()];case 1:n.sent();return[4,et.default.keys()];case 2:e=n.sent();return[2,Array.isArray(e)?e:(eh.warn("[Storage:keys] Invalid keys response:",e),[])];case 3:t=n.sent();return[2,(eh.error("[Storage:keys] Error getting keys:",t),[])];case 4:return[2]}})})()},getLogLink:function e(e){return n(function(){return R(this,function(t){try{return[2,"".concat(eg.CYBERSKILL_STORAGE_DIRECTORY," (key: ").concat(e,")")]}catch(e){return[2,(eh.error("[Storage:getLogLink] Error getting log link:",e),null)]}return[2]})})()}};var eS=w(require("crypto-js"),1),ep=w(require("slugify"),1);var ey=ep.default.default||ep.default;function eR(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"",t=arguments.length>1?arguments[1]:void 0;var n=t||{},r=n.lower,s=r===void 0?!0:r,u=n.locale,a=u===void 0?"vi":u,o=O(n,["lower","locale"]);return ey(e,d({lower:s,locale:a},o))}M(eR,"generateSlug");function em(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:4;return eS.default.SHA256(e).toString(eS.default.enc.Hex).slice(0,t)}M(em,"generateShortId");var eD={isEmpty:function e(e){return e==null?!0:Array.isArray(e)?e.length===0:(typeof e==="undefined"?"undefined":p(e))=="object"?l(e,Date)?!1:Object.keys(e).length===0:typeof e=="string"?e.trim().length===0:!1}};var eA={getDateTime:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:new Date;return(0,K.format)(e,"yyyy-MM-dd HH:mm:ss.SSS")},createGenericFields:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=e.returnDateAs,n=t===void 0?"string":t;var r=n==="string"?eA.getDateTime():new Date;return{id:(0,Z.v4)(),isDel:!1,createdAt:r,updatedAt:r}},applyPlugins:function e(e,t){t.filter(function(e){return typeof e=="function"}).forEach(function(t){return e.plugin(t)})},applyMiddlewares:function e(e,t){t.forEach(function(t){var n=t.method,r=t.pre,s=t.post;n&&r&&e.pre(n,r),n&&s&&e.post(n,s)})},createGenericSchema:function e(e){return new e.Schema({id:{type:String,default:Z.v4,required:!0,unique:!0},isDel:{type:Boolean,default:!1,required:!0}},{timestamps:!0})},createSchema:function e(e){var t=e.mongoose,n=e.schema,r=e.virtuals,s=r===void 0?[]:r,u=e.standalone,a=u===void 0?!1:u;var o=new t.Schema(n,{strict:!0});return s.forEach(function(e){var t=e.name,n=e.options,r=e.get;var s=o.virtual(t,n);r&&s.get(r)}),a||o.add(eA.createGenericSchema(t)),o},createModel:function e(e){var t=e.mongoose,n=e.name,r=e.schema,s=e.pagination,u=s===void 0?!1:s,a=e.aggregate,o=a===void 0?!1:a,c=e.virtuals,i=c===void 0?[]:c,l=e.middlewares,f=l===void 0?[]:l;if(!n)throw new Error("Model name is required.");if(t.models[n])return t.models[n];var E=eA.createSchema({mongoose:t,schema:r,virtuals:i});return eA.applyPlugins(E,[u&&z.default,o&&J.default]),eA.applyMiddlewares(E,f),t.model(n,E)},createSlugQuery:function e(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=arguments.length>2?arguments[2]:void 0;return g(d({},t,n&&{id:{$ne:n}}),{$or:[{slug:e},{slugHistory:e}]})},validator:{isEmpty:function e(){return /*#__PURE__*/function(){var e=n(function(e){return R(this,function(t){return[2,!eD.isEmpty(e)]})});return function(t){return e.apply(this,arguments)}}()},isUnique:function e(e){return /*#__PURE__*/function(){var t=n(function(t){var n;return R(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 o({},e,t)})};return[4,this.constructor.findOne(n)];case 1:return[2,!r.sent()]}})});return function(e){return t.apply(this,arguments)}}()},matchesRegex:function e(e){return /*#__PURE__*/function(){var t=n(function(t){return R(this,function(n){if(!Array.isArray(e)||e.some(function(e){return!l(e,RegExp)}))throw new Error("regexArray must be an array of valid RegExp objects.");return[2,e.every(function(e){return e.test(t)})]})});return function(e){return t.apply(this,arguments)}}()}},migrate:{withConfig:M(/*#__PURE__*/function(){var e=n(function(e,t){var n,r,s,u;return R(this,function(a){switch(a.label){case 0:return[4,e_.get(k)];case 1:n=a.sent();if(!n)throw new Error("Missing migrate config");if($.default.config.set(n),!t)return[2,e(void 0)];return[4,$.default.database.connect()];case 2:r=a.sent(),s=r.db,u=r.client;a.label=3;case 3:a.trys.push([3,,5,7]);return[4,e({db:s,client:u})];case 4:return[2,a.sent()];case 5:return[4,u.close()];case 6:a.sent();return[7];case 7:return[2]}})});return function(t,n){return e.apply(this,arguments)}}(),"withConfig"),init:M(/*#__PURE__*/n(function(){return R(this,function(e){switch(e.label){case 0:return[4,$.default.init()];case 1:e.sent();return[2]}})}),"init"),create:M(/*#__PURE__*/function(){var e=n(function(e){return R(this,function(t){switch(t.label){case 0:return[4,eA.migrate.withConfig(function(){return $.default.create(e)})];case 1:t.sent();return[2]}})});return function(t){return e.apply(this,arguments)}}(),"create"),up:M(/*#__PURE__*/n(function(){return R(this,function(e){switch(e.label){case 0:return[4,Promise.resolve().then(function(){return /*#__PURE__*/E(require("ts-node"))}).then(function(e){return e.register({transpileOnly:!0})})];case 1:e.sent();return[4,eA.migrate.withConfig(/*#__PURE__*/function(){var e=n(function(e){var t,n;return R(this,function(r){switch(r.label){case 0:t=e.db,n=e.client;return[4,$.default.up(t,n)];case 1:r.sent();return[2]}})});return function(t){return e.apply(this,arguments)}}(),!0)];case 2:e.sent();return[2]}})}),"up"),down:M(/*#__PURE__*/n(function(){return R(this,function(e){switch(e.label){case 0:return[4,Promise.resolve().then(function(){return /*#__PURE__*/E(require("ts-node"))}).then(function(e){return e.register({transpileOnly:!0})})];case 1:e.sent();return[4,eA.migrate.withConfig(/*#__PURE__*/function(){var e=n(function(e){var t,n;return R(this,function(r){switch(r.label){case 0:t=e.db,n=e.client;return[4,$.default.down(t,n)];case 1:r.sent();return[2]}})});return function(t){return e.apply(this,arguments)}}(),!0)];case 2:e.sent();return[2]}})}),"down"),status:M(/*#__PURE__*/n(function(){return R(this,function(e){switch(e.label){case 0:return[4,eA.migrate.withConfig(/*#__PURE__*/function(){var e=n(function(e){var t;return R(this,function(n){switch(n.label){case 0:t=e.db;return[4,$.default.status(t)];case 1:n.sent();return[2]}})});return function(t){return e.apply(this,arguments)}}(),!0)];case 1:e.sent();return[2]}})}),"status"),config:M(function(e){e_.set(k,e)},"config")}},eb=/*#__PURE__*/function(){function e(t,n){s(this,e);U(this,"collection");this.collection=t.collection(n)}a(e,[{key:"createOne",value:function e(e){var t=this;return n(function(){var n,r,s;return R(this,function(u){switch(u.label){case 0:u.trys.push([0,2,,3]);n=d({},eA.createGenericFields(),e);r={success:!0,message:"Document created successfully"};return[4,t.collection.insertOne(n)];case 1:return[2,(r.result=u.sent(),r)];case 2:s=u.sent();return[2,{success:!1,message:s.message}];case 3:return[2]}})})()}},{key:"createMany",value:function e(e){var t=this;return n(function(){var n,r,s;return R(this,function(u){switch(u.label){case 0:u.trys.push([0,2,,3]);n=e.map(function(e){return d({},eA.createGenericFields(),e)});return[4,t.collection.insertMany(n)];case 1:r=u.sent();return[2,r.insertedCount===0?{success:!1,message:"No documents were inserted"}:{success:!0,message:"".concat(r.insertedCount," documents created successfully"),result:r}];case 2:s=u.sent();return[2,{success:!1,message:s.message}];case 3:return[2]}})})()}},{key:"findOne",value:function e(e){var t=this;return n(function(){var n,r;return R(this,function(s){switch(s.label){case 0:s.trys.push([0,2,,3]);return[4,t.collection.findOne(e)];case 1:n=s.sent();return[2,n?{success:!0,message:"Document found",result:n}:{success:!1,message:"Document not found"}];case 2:r=s.sent();return[2,{success:!1,message:r.message}];case 3:return[2]}})})()}},{key:"findAll",value:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};var t=this;return n(function(){var n,r;return R(this,function(s){switch(s.label){case 0:s.trys.push([0,2,,3]);n={success:!0,message:"Documents retrieved successfully"};return[4,t.collection.find(e).toArray()];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]}})})()}},{key:"count",value:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};var t=this;return n(function(){var n,r;return R(this,function(s){switch(s.label){case 0:s.trys.push([0,2,,3]);n={success:!0,message:"Count retrieved successfully"};return[4,t.collection.countDocuments(e)];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]}})})()}},{key:"updateOne",value:function e(e,t){var r=this;return n(function(){var n,s;return R(this,function(u){switch(u.label){case 0:u.trys.push([0,2,,3]);return[4,r.collection.updateOne(e,{$set:t})];case 1:n=u.sent();return[2,n.matchedCount===0?{success:!1,message:"No documents matched the filter"}:{success:!0,message:"Document updated successfully",result:n}];case 2:s=u.sent();return[2,{success:!1,message:s.message}];case 3:return[2]}})})()}},{key:"updateMany",value:function e(e,t){var r=this;return n(function(){var n,s;return R(this,function(u){switch(u.label){case 0:u.trys.push([0,2,,3]);return[4,r.collection.updateMany(e,{$set:t})];case 1:n=u.sent();return[2,n.matchedCount===0?{success:!1,message:"No documents matched the filter"}:{success:!0,message:"Documents updated successfully",result:n}];case 2:s=u.sent();return[2,{success:!1,message:s.message}];case 3:return[2]}})})()}},{key:"deleteOne",value:function e(e){var t=this;return n(function(){var n,r;return R(this,function(s){switch(s.label){case 0:s.trys.push([0,2,,3]);return[4,t.collection.deleteOne(e)];case 1:n=s.sent();return[2,n.deletedCount===0?{success:!1,message:"No documents matched the filter"}:{success:!0,message:"Document deleted successfully",result:n}];case 2:r=s.sent();return[2,{success:!1,message:r.message}];case 3:return[2]}})})()}},{key:"deleteMany",value:function e(e){var t=this;return n(function(){var n,r;return R(this,function(s){switch(s.label){case 0:s.trys.push([0,2,,3]);return[4,t.collection.deleteMany(e)];case 1:n=s.sent();return[2,n.deletedCount===0?{success:!1,message:"No documents matched the filter"}:{success:!0,message:"Documents deleted successfully",result:n}];case 2:r=s.sent();return[2,{success:!1,message:r.message}];case 3:return[2]}})})()}}]);return e}();M(eb,"MongoController");var eC=eb,eT=/*#__PURE__*/function(){function e(t){s(this,e);U(this,"model");this.model=t}a(e,[{key:"getModelName",value:function e(){return this.model.modelName}},{key:"findOne",value:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},s=arguments.length>3?arguments[3]:void 0;var u=this;return n(function(){var n,a,o;return R(this,function(c){switch(c.label){case 0:c.trys.push([0,2,,3]);n=u.model.findOne(e,t,r);s&&n.populate(s);return[4,n.exec()];case 1:a=c.sent();return[2,a?{success:!0,result:a}:{success:!1,message:"No ".concat(u.getModelName()," found."),code:ee.NOT_FOUND.CODE}];case 2:o=c.sent();return[2,{success:!1,message:o.message,code:ee.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})})()}},{key:"findAll",value:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},s=arguments.length>3?arguments[3]:void 0;var u=this;return n(function(){var n,a,o;return R(this,function(c){switch(c.label){case 0:c.trys.push([0,2,,3]);n=u.model.find(e,t,r);s&&n.populate(s);a={success:!0};return[4,n.exec()];case 1:return[2,(a.result=c.sent(),a)];case 2:o=c.sent();return[2,{success:!1,message:o.message,code:ee.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})})()}},{key:"findPaging",value:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};var r=this;return n(function(){var n,s;return R(this,function(u){switch(u.label){case 0:u.trys.push([0,2,,3]);n={success:!0};return[4,r.model.paginate(e,t)];case 1:return[2,(n.result=u.sent(),n)];case 2:s=u.sent();return[2,{success:!1,message:s.message,code:ee.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})})()}},{key:"findPagingAggregate",value:function e(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};var r=this;return n(function(){var n,s;return R(this,function(u){switch(u.label){case 0:u.trys.push([0,2,,3]);n={success:!0};return[4,r.model.aggregatePaginate(r.model.aggregate(e),t)];case 1:return[2,(n.result=u.sent(),n)];case 2:s=u.sent();return[2,{success:!1,message:s.message,code:ee.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})})()}},{key:"count",value:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};var t=this;return n(function(){var n,r;return R(this,function(s){switch(s.label){case 0:s.trys.push([0,2,,3]);n={success:!0};return[4,t.model.countDocuments(e)];case 1:return[2,(n.result=s.sent(),n)];case 2:r=s.sent();return[2,{success:!1,message:r.message,code:ee.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})})()}},{key:"createOne",value:function e(e){var t=this;return n(function(){var n,r;return R(this,function(s){switch(s.label){case 0:s.trys.push([0,2,,3]);n={success:!0};return[4,t.model.create(e)];case 1:return[2,(n.result=s.sent(),n)];case 2:r=s.sent();return[2,{success:!1,message:r.message,code:ee.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})})()}},{key:"createMany",value:function e(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};var r=this;return n(function(){var n,s;return R(this,function(u){switch(u.label){case 0:u.trys.push([0,2,,3]);n={success:!0};return[4,r.model.insertMany(e,t)];case 1:return[2,(n.result=u.sent().map(function(e){return l(e,X.Document)?e.toObject():null}).filter(function(e){return e!==null}),n)];case 2:s=u.sent();return[2,{success:!1,message:s.message,code:ee.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})})()}},{key:"updateOne",value:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};var s=this;return n(function(){var n,u;return R(this,function(a){switch(a.label){case 0:a.trys.push([0,2,,3]);return[4,s.model.findOneAndUpdate(e,t,d({new:!0},r)).exec()];case 1:n=a.sent();return[2,n?{success:!0,result:n}:{success:!1,message:"Failed to update ".concat(s.getModelName(),"."),code:ee.NOT_FOUND.CODE}];case 2:u=a.sent();return[2,{success:!1,message:u.message,code:ee.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})})()}},{key:"updateMany",value:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};var s=this;return n(function(){var n,u;return R(this,function(a){switch(a.label){case 0:a.trys.push([0,2,,3]);n={success:!0};return[4,s.model.updateMany(e,t,r).exec()];case 1:return[2,(n.result=a.sent(),n)];case 2:u=a.sent();return[2,{success:!1,message:u.message,code:ee.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})})()}},{key:"deleteOne",value:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};var r=this;return n(function(){var n,s;return R(this,function(u){switch(u.label){case 0:u.trys.push([0,2,,3]);return[4,r.model.findOneAndDelete(e,t).exec()];case 1:n=u.sent();return[2,n?{success:!0,result:n}:{success:!1,message:"No ".concat(r.getModelName()," found to delete."),code:ee.NOT_FOUND.CODE}];case 2:s=u.sent();return[2,{success:!1,message:s.message,code:ee.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})})()}},{key:"deleteMany",value:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};var r=this;return n(function(){var n,s;return R(this,function(u){switch(u.label){case 0:u.trys.push([0,2,,3]);return[4,r.model.deleteMany(e,t).exec()];case 1:n=u.sent();return[2,n.deletedCount===0?{success:!1,message:"No documents found to delete.",code:ee.NOT_FOUND.CODE}:{success:!0,result:n}];case 2:s=u.sent();return[2,{success:!1,message:s.message,code:ee.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})})()}},{key:"createShortId",value:function e(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:4;var r=this;return n(function(){var n,s,u,a;return R(this,function(o){switch(o.label){case 0:n=new Set;s=0;o.label=1;case 1:if(!(s<10))return[3,5];u=em(e,s+t);a=!n.has(u);if(!a)return[3,3];n.add(u);return[4,r.model.exists({shortId:u})];case 2:a=!o.sent();o.label=3;case 3:if(a)return[2,{success:!0,result:u}];o.label=4;case 4:s++;return[3,1];case 5:return[2,{success:!1,message:"Failed to create a unique shortId",code:ee.INTERNAL_SERVER_ERROR.CODE}]}})})()}},{key:"createSlug",value:function e(e,t){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};var s=this;return n(function(){var u,a,o,c,i,l,f,E,d,h,g;return R(this,function(O){switch(O.label){case 0:O.trys.push([0,8,,9]);u=t[e],a=M(/*#__PURE__*/function(){var e=n(function(e){var n,u,a;return R(this,function(o){switch(o.label){case 0:return[4,s.model.findOne(eA.createSlugQuery(e,r,t.id))];case 1:n=o.sent();if(!n)return[2,e];u=1;o.label=2;case 2:a="".concat(e,"-").concat(u);return[4,s.model.findOne(eA.createSlugQuery(a,r,t.id))];case 3:n=o.sent(),u++;o.label=4;case 4:if(n)return[3,2];o.label=5;case 5:return[2,a]}})});return function(t){return e.apply(this,arguments)}}(),"createUniqueSlug");if(!((typeof u==="undefined"?"undefined":p(u))=="object"))return[3,5];o={};c=[];for(i in u)c.push(i);l=0;O.label=1;case 1:if(!(l<c.length))return[3,4];f=c[l];E=eR(u[f]);return[4,a(E)];case 2:o[f]=O.sent();O.label=3;case 3:l++;return[3,1];case 4:return[2,{success:!0,result:o}];case 5:d=eR(u);h={success:!0};return[4,a(d)];case 6:return[2,(h.result=O.sent(),h)];case 7:return[3,9];case 8:g=O.sent();return[2,{success:!1,message:"Failed to create a unique slug: ".concat(g.message),code:ee.INTERNAL_SERVER_ERROR.CODE}];case 9:return[2]}})})()}},{key:"aggregate",value:function e(e){var t=this;return n(function(){var n,r;return R(this,function(s){switch(s.label){case 0:s.trys.push([0,2,,3]);n={success:!0};return[4,t.model.aggregate(e)];case 1:return[2,(n.result=s.sent(),n)];case 2:r=s.sent();return[2,{success:!1,message:r.message,code:ee.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})})()}}]);return e}();M(eT,"MongooseController");var eN=eT;0&&(module.exports={C_Collection:C_Collection,C_Db:C_Db,C_Document:C_Document,C_Model:C_Model,MONGO_MIGRATE_OPTIONS:MONGO_MIGRATE_OPTIONS,MongoController:MongoController,MongooseController:MongooseController,aggregatePaginate:aggregatePaginate,mongo:mongo,mongoosePaginate:mongoosePaginate});
1
+ "use strict";function e(e,t){if(t==null||t>e.length)t=e.length;for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function t(t){if(Array.isArray(t))return e(t)}function n(e){if(e===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return e}function r(e,t,n,r,s,a,o){try{var c=e[a](o);var u=c.value}catch(e){n(e);return}if(c.done){t(u)}else{Promise.resolve(u).then(r,s)}}function s(e){return function(){var t=this,n=arguments;return new Promise(function(s,a){var o=e.apply(t,n);function c(e){r(o,s,a,c,u,"next",e)}function u(e){r(o,s,a,c,u,"throw",e)}c(undefined)})}}function a(e,t,n){t=l(t);return y(e,I()?Reflect.construct(t,n||[],l(e).constructor):t.apply(e,n))}function o(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 i(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 l(e){l=Object.setPrototypeOf?Object.getPrototypeOf:function e(e){return e.__proto__||Object.getPrototypeOf(e)};return l(e)}function f(e,t){if(typeof t!=="function"&&t!==null){throw new TypeError("Super expression must either be null or a function")}e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:true,configurable:true}});if(t)S(e,t)}function d(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 g(){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){i(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 p(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 m(e,t){if(e==null)return{};var n=O(e,t);var r,s;if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(s=0;s<a.length;s++){r=a[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,a;for(a=0;a<r.length;a++){s=r[a];if(t.indexOf(s)>=0)continue;n[s]=e[s]}return n}function y(e,t){if(t&&(R(t)==="object"||typeof t==="function")){return t}return n(e)}function S(e,t){S=Object.setPrototypeOf||function e(e,t){e.__proto__=t;return e};return S(e,t)}function _(e){return t(e)||E(e)||C(e)||g()}function R(e){"@swc/helpers - typeof";return e&&typeof Symbol!=="undefined"&&e.constructor===Symbol?"symbol":typeof e}function C(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 I(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(I=function(){return!!e})()}function T(e,t){var n,r,s,a={label:0,sent:function(){if(s[0]&1)throw s[1];return s[1]},trys:[],ops:[]},o=Object.create((typeof Iterator==="function"?Iterator:Object).prototype);return o.next=c(0),o["throw"]=c(1),o["return"]=c(2),typeof Symbol==="function"&&(o[Symbol.iterator]=function(){return this}),o;function c(e){return function(t){return u([e,t])}}function u(c){if(n)throw new TypeError("Generator is already executing.");while(o&&(o=0,c[0]&&(a=0)),a)try{if(n=1,r&&(s=c[0]&2?r["return"]:c[0]?r["throw"]||((s=r["return"])&&s.call(r),0):r.next)&&!(s=s.call(r,c[1])).done)return s;if(r=0,s)c=[c[0]&2,s.value];switch(c[0]){case 0:case 1:s=c;break;case 4:a.label++;return{value:c[1],done:false};case 5:a.label++;r=c[1];c=[0];continue;case 7:c=a.ops.pop();a.trys.pop();continue;default:if(!(s=a.trys,s=s.length>0&&s[s.length-1])&&(c[0]===6||c[0]===2)){a=0;continue}if(c[0]===3&&(!s||c[1]>s[0]&&c[1]<s[3])){a.label=c[1];break}if(c[0]===6&&a.label<s[1]){a.label=s[1];s=c;break}if(s&&a.label<s[2]){a.label=s[2];a.ops.push(c);break}if(s[2])a.ops.pop();a.trys.pop();continue}c=t.call(e,a)}catch(e){c=[6,e];r=0}finally{n=s=0}if(c[0]&5)throw c[1];return{value:c[0]?c[1]:void 0,done:true}}}var D=Object.create;var A=Object.defineProperty;var N=Object.getOwnPropertyDescriptor;var b=Object.getOwnPropertyNames;var G=Object.getPrototypeOf,M=Object.prototype.hasOwnProperty;var w=function(e,t,n){return t in e?A(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n};var P=function(e,t){return A(e,"name",{value:t,configurable:!0})};var L=function(e,t){for(var n in t)A(e,n,{get:t[n],enumerable:!0})},U=function(e,t,n,r){var s=true,a=false,o=undefined;if(t&&(typeof t==="undefined"?"undefined":R(t))=="object"||typeof t=="function")try{var c=function(){var s=i.value;!M.call(e,s)&&s!==n&&A(e,s,{get:function(){return t[s]},enumerable:!(r=N(t,s))||r.enumerable})};for(var u=b(t)[Symbol.iterator](),i;!(s=(i=u.next()).done);s=true)c()}catch(e){a=true;o=e}finally{try{if(!s&&u.return!=null){u.return()}}finally{if(a){throw o}}}return e};var k=function(e,t,n){return n=e!=null?D(G(e)):{},U(t||!e||!e.__esModule?A(n,"default",{value:e,enumerable:!0}):n,e)},F=function(e){return U(A({},"__esModule",{value:!0}),e)};var j=function(e,t,n){return w(e,(typeof t==="undefined"?"undefined":R(t))!="symbol"?t+"":t,n)};var q={};L(q,{C_Collection:function(){return X},C_Db:function(){return H},C_Document:function(){return K},C_Model:function(){return J},MONGO_MIGRATE_OPTIONS:function(){return x},MongoController:function(){return t8},MongooseController:function(){return t7},aggregatePaginate:function(){return et.default},mongo:function(){return t4},mongoosePaginate:function(){return en.default}});module.exports=F(q);var x="MONGO_MIGRATE_OPTIONS";var Y=require("mongodb"),B=require("mongoose");var Q=/*#__PURE__*/function(e){f(t,e);function t(){o(this,t);return a(this,t,arguments)}return t}(Y.Db);P(Q,"C_Db");var H=Q,V=/*#__PURE__*/function(e){f(t,e);function t(){o(this,t);return a(this,t,arguments)}return t}(B.Document);P(V,"C_Document");var K=V,W=/*#__PURE__*/function(e){f(t,e);function t(){o(this,t);return a(this,t,arguments)}return t}(B.Model);P(W,"C_Model");var J=W,$=/*#__PURE__*/function(e){f(t,e);function t(){o(this,t);return a(this,t,arguments)}return t}(Y.Collection);P($,"C_Collection");var X=$;var z=require("date-fns"),Z=k(require("migrate-mongo"),1),ee=require("mongoose"),et=k(require("mongoose-aggregate-paginate-v2"),1),en=k(require("mongoose-paginate-v2"),1),er=require("uuid");var es={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 ea=k(require("crypto-js"),1),eo=k(require("slugify"),1);var ec=eo.default.default||eo.default;function eu(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"",t=arguments.length>1?arguments[1]:void 0;var n=t||{},r=n.lower,s=r===void 0?!0:r,a=n.locale,o=a===void 0?"vi":a,c=m(n,["lower","locale"]);return ec(e,h({lower:s,locale:o},c))}P(eu,"generateSlug");function ei(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:4;return ea.default.SHA256(e).toString(ea.default.enc.Hex).slice(0,t)}P(ei,"generateShortId");var el={isEmpty:function e(e){return e==null?!0:Array.isArray(e)?e.length===0:(typeof e==="undefined"?"undefined":R(e))=="object"?d(e,Date)?!1:Object.keys(e).length===0:typeof e=="string"?e.trim().length===0:!1}};var ef=k(require("fs-extra"),1),ed=require("path");var eE=ef.default,eg=eE.readFileSync,eh=eE.writeFileSync,ev=eE.pathExistsSync,ep=eE.appendFileSync,em=eE.copySync,eO=eE.removeSync,ey=eE.statSync,eS=ef.default.readJsonSync,e_=ef.default.writeJsonSync;function eR(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}return t.every(function(e){return ev(e)})}P(eR,"existsSync");var eC=".cyberskill-storage";var eI=k(require("dotenv"),1),eT=require("envalid"),eD=k(require("os"),1),eA=k(require("path"),1),eN=k(require("process"),1);eI.default.config();function eb(){var e={DEBUG:eN.default.env.DEBUG||!1,CWD:eN.default.env.CWD||eN.default.cwd(),CYBERSKILL_STORAGE_DIRECTORY:eN.default.env.CYBERSKILL_STORAGE_DIRECTORY||eA.default.join(eD.default.homedir(),eC)};return(0,eT.cleanEnv)(e,{DEBUG:(0,eT.bool)(),CWD:(0,eT.str)(),CYBERSKILL_STORAGE_DIRECTORY:(0,eT.str)()})}P(eb,"getEnv");var eG=function(e){return e.CLI="CLI",e.STRING="STRING",e.FUNCTION="FUNCTION",e}({});var eM=require("child_process"),ew=k(require("process"),1),eP=k(require("util"),1);var eL=function(e){return e.Error="error",e.Warning="warning",e}({});var eU=k(require("chalk"),1),ek=k(require("consola"),1),eF=require("graphql");var ej=eb();ej.DEBUG||(ek.default.level=4);function eq(e){var t=eU.default[e];return typeof t=="function"?t:eU.default.green}P(eq,"chalkKeyword");var ex={silent:ek.default.silent,level:ek.default.level,fatal:ek.default.fatal,error:ek.default.error,warn:ek.default.warn,log:ek.default.log,info:ek.default.info,success:ek.default.success,ready:ek.default.ready,start:ek.default.start,box:ek.default.box,debug:ek.default.debug,trace:ek.default.trace,verbose:ek.default.verbose,printBoxedLog:function e(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"red";if(!(t===null||t===void 0?void 0:t.length)){ek.default.box(eU.default.green(e));return}t.forEach(function(e){var t=e.file,r=e.position,s=e.rule,a=e.message;ek.default.log("".concat(eU.default.gray("File:")," ").concat(eU.default.blue("".concat(t).concat(r?":".concat(r):"")))),s&&ek.default.log(" ".concat(eq(n)("Rule:")," ").concat(s)),ek.default.log(" ".concat(eq(n)("Message:")," ").concat(a))}),ek.default.box(eq(n)("".concat(e," : ").concat(t.length))),ek.default.log(eU.default.gray("─".repeat(40)))}};var eY={isCurrentProject:!1,installedPath:"",file:{},isUpToDate:!1};var eB=k(require("node-fetch"),1);var eQ=eb();function eH(e){var t=td(eQ.CWD,tm);if(!eR(t))return!1;try{var n=eS(t),r=n.name,s=n.dependencies,a=s===void 0?{}:s,o=n.devDependencies,c=o===void 0?{}:o,u=r===e,i=e in a,l=e in c;return u||i||l?{path:t,file:n,isCurrentProject:u,isDepend:i,isDevDepend:l}:!1}catch(e){return ex.warn("Failed to read package.json: ".concat(e.message)),!1}}P(eH,"getPackage");function eV(e){return eK.apply(this,arguments)}function eK(){eK=s(function(e){var t,n,r,s;return T(this,function(a){switch(a.label){case 0:a.trys.push([0,3,,4]);return[4,(0,eB.default)("https://registry.npmjs.org/".concat(e,"/latest"))];case 1:t=a.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=a.sent(),r=n.version;return[2,r];case 3:s=a.sent();throw ex.error('Failed to fetch version for "'.concat(e,'": ').concat(s.message)),s;case 4:return[2]}})});return eK.apply(this,arguments)}P(eV,"getLatestPackageVersion");function eW(e,t){return eJ.apply(this,arguments)}function eJ(){eJ=s(function(e,t){var n,r,s,a,o,c,u,i,l,f,d,E,g,v,p,m,O,y,S,_,R;return T(this,function(C){switch(C.label){case 0:C.trys.push([0,4,,5]);n=eH(e);if(!n)return[2,h({},eY)];u=n.path,i=n.file,l=n.isCurrentProject,f=n.isDepend,d=n.isDevDepend,E=(r=i.dependencies)!==null&&r!==void 0?r:{},g=(s=i.devDependencies)!==null&&s!==void 0?s:{},v=l?(a=i.version)!==null&&a!==void 0?a:"0.0.0":f?(o=E[e])!==null&&o!==void 0?o:"0.0.0":d?(c=g[e])!==null&&c!==void 0?c:"0.0.0":"0.0.0";if(!l)return[3,1];O=v;return[3,3];case 1:return[4,eV(e)];case 2:O=C.sent();C.label=3;case 3:p=O,m=l||v===p;if(!m&&(t===null||t===void 0?void 0:t.update)){;S=f?"dependencies":d?"devDependencies":null;S&&((y=i[S])===null||y===void 0?void 0:y[e])!==p&&(i[S]=(_=i[S])!==null&&_!==void 0?_:{},i[S][e]=p,e_(u,i),ex.info('Updated "'.concat(e,'" to version ').concat(p)))}return[2,{isCurrentProject:l,installedPath:u,file:i,isUpToDate:m}];case 4:R=C.sent();return[2,(ex.error('Error checking package "'.concat(e,'": ').concat(R.message)),h({},eY))];case 5:return[2]}})});return eJ.apply(this,arguments)}P(eW,"checkPackage");function e$(){return eX.apply(this,arguments)}function eX(){eX=s(function(){var e,t,n,r,s,a,o,c,u,i,l,f;return T(this,function(d){switch(d.label){case 0:e=[{command:P(function(){return t3.pnpmInstallStandard()},"command"),message:"Installing dependencies (standard)"},{command:P(function(){return t3.pnpmInstallLegacy()},"command"),message:"Retrying with legacy peer dependencies"},{command:P(function(){return t3.pnpmInstallForce()},"command"),message:"Retrying with force install"}];t=true,n=false,r=undefined;d.label=1;case 1:d.trys.push([1,9,10,11]);s=e[Symbol.iterator]();d.label=2;case 2:if(!!(t=(a=s.next()).done))return[3,8];o=a.value,c=o.command,u=o.message;d.label=3;case 3:d.trys.push([3,6,,7]);return[4,c()];case 4:i=d.sent();return[4,tc("".concat(u," using: ").concat(i),i)];case 5:d.sent();return[2];case 6:l=d.sent();ex.warn("Installation attempt failed: ".concat(u)),ex.error("Details: ".concat(l.message));return[3,7];case 7:t=true;return[3,2];case 8:return[3,11];case 9:f=d.sent();n=true;r=f;return[3,11];case 10:try{if(!t&&s.return!=null){s.return()}}finally{if(n){throw r}}return[7];case 11:throw new Error("All dependency installation strategies failed.")}})});return eX.apply(this,arguments)}P(e$,"installDependencies");function ez(e,t){return eZ.apply(this,arguments)}function eZ(){eZ=s(function(e,t){var n,r,s,a,o,c,u,i,l,f,d;return T(this,function(E){switch(E.label){case 0:if(!eR(tZ.PACKAGE_JSON)){ex.error("package.json not found. Aborting setup.");return[2]}E.label=1;case 1:E.trys.push([1,13,,14]);n=_(new Set(e)).sort();return[4,Promise.all(n.map(function(e){return eW(e,h({},(t===null||t===void 0?void 0:t.update)&&{update:t.update}))}))];case 2:r=E.sent().every(function(e){return e.isUpToDate});if(r)return[3,4];return[4,e$()];case 3:r=E.sent();E.label=4;case 4:r;a=true,o=false,c=undefined;E.label=5;case 5:E.trys.push([5,10,11,12]);u=((s=t===null||t===void 0?void 0:t.postInstallActions)!==null&&s!==void 0?s:[])[Symbol.iterator]();E.label=6;case 6:if(!!(a=(i=u.next()).done))return[3,9];l=i.value;return[4,l()];case 7:E.sent();E.label=8;case 8:a=true;return[3,6];case 9:return[3,12];case 10:f=E.sent();o=true;c=f;return[3,12];case 11:try{if(!a&&u.return!=null){u.return()}}finally{if(o){throw c}}return[7];case 12:return[3,14];case 13:d=E.sent();throw ex.error('Failed to setup "'.concat(e.join(", "),'": ').concat(d.message)),d;case 14:return[2]}})});return eZ.apply(this,arguments)}P(ez,"setupPackages");var e0=k(require("node-persist"),1);var e2=eb();function e1(){return e3.apply(this,arguments)}function e3(){e3=s(function(){var e;return T(this,function(t){switch(t.label){case 0:e=e0.default.defaultInstance;if(e)return[3,2];return[4,e0.default.init({dir:e2.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]}})});return e3.apply(this,arguments)}P(e1,"initNodePersist");var e4={get:function e(e){return s(function(){var t,n;return T(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,e1()];case 1:r.sent();return[4,e0.default.getItem(e)];case 2:return[2,(t=r.sent())!==null&&t!==void 0?t:null];case 3:n=r.sent();return[2,(ex.error('[Storage:get] Error getting key "'.concat(e,'":'),n),null)];case 4:return[2]}})})()},set:function e(e,t){return s(function(){var n;return T(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,e1()];case 1:r.sent();return[4,e0.default.setItem(e,t)];case 2:r.sent();return[3,4];case 3:n=r.sent();ex.error('[Storage:set] Error setting key "'.concat(e,'":'),n);return[3,4];case 4:return[2]}})})()},remove:function e(e){return s(function(){var t;return T(this,function(n){switch(n.label){case 0:n.trys.push([0,3,,4]);return[4,e1()];case 1:n.sent();return[4,e0.default.removeItem(e)];case 2:n.sent();return[3,4];case 3:t=n.sent();ex.error('[Storage:remove] Error removing key "'.concat(e,'":'),t);return[3,4];case 4:return[2]}})})()},keys:function e(){return s(function(){var e,t;return T(this,function(n){switch(n.label){case 0:n.trys.push([0,3,,4]);return[4,e1()];case 1:n.sent();return[4,e0.default.keys()];case 2:e=n.sent();return[2,Array.isArray(e)?e:(ex.warn("[Storage:keys] Invalid keys response:",e),[])];case 3:t=n.sent();return[2,(ex.error("[Storage:keys] Error getting keys:",t),[])];case 4:return[2]}})})()},getLogLink:function e(e){return s(function(){return T(this,function(t){try{return[2,"".concat(e2.CYBERSKILL_STORAGE_DIRECTORY," (key: ").concat(e,")")]}catch(e){return[2,(ex.error("[Storage:getLogLink] Error getting log link:",e),null)]}return[2]})})()}};var e5=eb(),e8=eP.promisify(eM.exec);function e6(e){return"error_list:".concat(e)}P(e6,"getErrorListKey");function e7(e){return e9.apply(this,arguments)}function e9(){e9=s(function(e){var t,n,r;return T(this,function(a){switch(a.label){case 0:if(e.length===0)return[2];t=Date.now(),n=e6(t);a.label=1;case 1:a.trys.push([1,3,,4]);return[4,e4.set(n,{errors:e,timestamp:t})];case 2:a.sent(),setTimeout(/*#__PURE__*/s(function(){var e;return T(this,function(t){switch(t.label){case 0:return[4,e4.getLogLink(n)];case 1:e=t.sent();e&&ex.info("\uD83D\uDCC2 Open the error list manually: ".concat(e));return[2]}})}),10);return[3,4];case 3:r=a.sent();ex.error("Failed to save errors: ".concat(r.message));return[3,4];case 4:return[2]}})});return e9.apply(this,arguments)}P(e7,"saveErrorListToStorage");function te(e){var t=[],n=[],r="",s=/^\s*(\d+):(\d+)\s+(error|warning)\s+(.+?)\s+(\S+)$/,a=/^(.+?)\((\d+),(\d+)\):\s+(error|warning)\s+TS\d+:\s+(\S.+)$/,o=/^✖\s+(.*?)\s+\[(.*?)\]$/;e.split("\n").forEach(function(e){if(e.startsWith("/"))r=e.trim();else{var c,u,i,l,f;var d=s.exec(e)||[],E=a.exec(e)||[],g=o.exec(e)||[];var h,v,p,m,O,y;d.length&&r?t.push({file:r,position:"".concat(d[1],":").concat(d[2]),type:d[3]===eL.Error?eL.Error:eL.Warning,message:(h=d===null||d===void 0?void 0:(c=d[4])===null||c===void 0?void 0:c.trim())!==null&&h!==void 0?h:"",rule:(v=d===null||d===void 0?void 0:(u=d[5])===null||u===void 0?void 0:u.trim())!==null&&v!==void 0?v:""}):E.length?t.push({file:(p=E===null||E===void 0?void 0:E[1])!==null&&p!==void 0?p:"",position:"".concat(E[2],":").concat(E[3]),type:E[4]===eL.Error?eL.Error:eL.Warning,message:(m=E===null||E===void 0?void 0:(i=E[5])===null||i===void 0?void 0:i.trim())!==null&&m!==void 0?m:""}):g.length?t.push({file:"commitlint",type:eL.Error,message:(O=g===null||g===void 0?void 0:(l=g[1])===null||l===void 0?void 0:l.trim())!==null&&O!==void 0?O:"",rule:(y=g===null||g===void 0?void 0:(f=g[2])===null||f===void 0?void 0:f.trim())!==null&&y!==void 0?y:""}):n.push(e.trim())}}),t.length&&e7(t),e5.DEBUG&&n.length&&(ex.warn("Unmatched lines:"),n.forEach(function(e){return ex.info(" ".concat(e))}))}P(te,"parseTextErrors");function tt(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,a=e.column,o=e.ruleId,c=e.message;n.push({type:r===2?eL.Error:eL.Warning,file:t,position:"".concat(s,":").concat(a),rule:o,message:c})})}),n.length&&e7(n)}catch(t){te(e)}}P(tt,"parseCommandOutput");function tn(e){return tr.apply(this,arguments)}function tr(){tr=s(function(e){var t,n,r,s,a,o,c,u,i;var l=arguments;return T(this,function(f){switch(f.label){case 0:t=l.length>1&&l[1]!==void 0?l[1]:tt;n=new AbortController;ew.default.on("SIGINT",function(){ex.warn("Process interrupted. Terminating..."),n.abort(),ew.default.exit()});f.label=1;case 1:f.trys.push([1,4,,5]);if(!(typeof e=="string"))return[3,3];return[4,e8(e,{maxBuffer:0x6400000,signal:n.signal})];case 2:r=f.sent(),s=r.stdout,a=r.stderr;[s,a].forEach(function(e){return e&&t(e)});f.label=3;case 3:return[3,5];case 4:o=f.sent();c=o.stdout,u=o.stderr,i=o.message;[c,u].forEach(function(e){return e&&t(e)}),!u&&!c&&ex.error("Command failed: ".concat(i));return[3,5];case 5:return[2]}})});return tr.apply(this,arguments)}P(tn,"executeCommand");function ts(e){return{raw:!0,cmd:e}}P(ts,"rawCommand");function ta(e,t){return(t===null||t===void 0?void 0:t.isRemote)?"".concat(tQ," ").concat(th," ").concat(e):(t===null||t===void 0?void 0:t.isCurrentProject)?"".concat(tQ," ").concat(tx," ").concat(tN," ").concat(e):"".concat(tQ," ").concat(tA," ").concat(e)}P(ta,"formatCLI");function to(e,t){return typeof e=="function"?ta(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"?ta(e,t):e}P(to,"formatCommand");function tc(e,t){return tu.apply(this,arguments)}function tu(){tu=s(function(e,t){var n;return T(this,function(r){switch(r.label){case 0:r.trys.push([0,2,,3]);ex.start("".concat(e)),e5.DEBUG&&ex.info("→ ".concat(t));return[4,tn(t)];case 1:r.sent(),ex.success("".concat(e," done."));return[3,3];case 2:n=r.sent();throw ex.error("".concat(e," failed: ").concat(n.message)),n;case 3:return[2]}})});return tu.apply(this,arguments)}P(tc,"runCommand");var ti=require("path");var tl=eb();function tf(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}return(0,ti.resolve).apply(this,[tl.CWD].concat(_(t)))}P(tf,"resolveWorkingPath");function td(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++){t[n]=arguments[n]}return(0,ti.join).apply(this,_(t))}P(td,"join");var tE=eb(),tg=tE.CWD,th="@cyberskill/shared",tv="node_modules",tp="dist",tm="package.json",tO="package-lock.json",ty="tsconfig.json",tS=".gitignore",t_=".simple-git-hooks.json",tR="pnpm-lock.yaml",tC=".git/hooks/",tI=".git/COMMIT_EDITMSG",tT=".migrate-mongo.config.js",tD=td(tg,tv,th,tp),tA="cyberskill",tN="src/nodejs/cli/index.ts",tb="eslint",tG="eslint",tM="vitest",tw="playwright",tP="vitest",tL="@commitlint/cli",tU="commitlint",tk="lint-staged",tF="lint-staged",tj="typescript",tq="tsc",tx="tsx",tY="git",tB="pnpm",tQ="pnpm exec",tH="simple-git-hooks",tV="simple-git-hooks",tK="@eslint/config-inspector",tW="eslint-config-inspector",tJ="node-modules-inspector",t$="node-modules-inspector",tX="migrate-mongo",tz="./node_modules/migrate-mongo/bin/migrate-mongo",tZ={CYBERSKILL_DIRECTORY:tD,WORKING_DIRECTORY:tg,TS_CONFIG:tf(ty),GIT_IGNORE:tf(tS),GIT_HOOK:tf(tC),GIT_COMMIT_MSG:tf(tI),SIMPLE_GIT_HOOKS_JSON:tf(t_),PACKAGE_JSON:tf(tm),PACKAGE_LOCK_JSON:tf(tO),PNPM_LOCK_YAML:tf(tR),NODE_MODULES:tf(tv),MIGRATE_MONGO_CONFIG:tf(tT),LINT_STAGED_CONFIG:tf("".concat(tD,"/configs/lint-staged/base.js")),COMMITLINT_CONFIG:tf("".concat(tD,"/configs/commitlint/base.js")),UNIT_TEST_CONFIG:tf("".concat(tD,"/react/vitest/vitest.unit.js")),UNIT_TEST_SETUP_CONFIG:tf("".concat(tD,"/react/vitest/vitest.unit.setup.js")),E2E_TEST_CONFIG:tf("".concat(tD,"/react/vitest/vitest.e2e.js"))};function t0(e,t,n){return t2.apply(this,arguments)}function t2(){t2=s(function(e,t,n){return T(this,function(r){switch(r.label){case 0:if(!t)throw new Error("'first' argument is undefined");switch(e){case eG.CLI:return[3,1];case eG.STRING:return[3,3]}return[3,4];case 1:return[4,ez(t.split(" "),{update:!0})];case 2:return[2,(r.sent(),to(ts("".concat(tQ," ").concat(n))))];case 3:return[2,to(ts(t))];case 4:throw new Error("Unsupported command type");case 5:return[2]}})});return t2.apply(this,arguments)}P(t0,"buildCommand");function t1(e,t,n){return /*#__PURE__*/s(function(){return T(this,function(r){return[2,t0(e,t,n)]})})}P(t1,"commandFactory");var t3={simpleGitHooks:t1(eG.CLI,tH,tV),eslintInspect:t1(eG.CLI,tK,tW),nodeModulesInspect:t1(eG.CLI,tJ,t$),eslintCheck:t1(eG.CLI,tb,"".concat(tG," ").concat(tZ.WORKING_DIRECTORY)),eslintFix:t1(eG.CLI,tb,"".concat(tG," ").concat(tZ.WORKING_DIRECTORY," --fix")),typescriptCheck:t1(eG.CLI,tj,"".concat(tq," -p ").concat(tZ.TS_CONFIG," --noEmit")),configureGitHook:t1(eG.STRING,"".concat(tY," config core.hooksPath ").concat(tZ.GIT_HOOK)),testUnit:t1(eG.CLI,tM,"".concat(tP," --config ").concat(tZ.UNIT_TEST_CONFIG)),testE2e:t1(eG.CLI,"".concat(tM," ").concat(tw),"".concat(tP," --config ").concat(tZ.E2E_TEST_CONFIG)),mongoMigrateCreate:P(function(e){return t1(eG.CLI,tX,"".concat(tx," ").concat(tz," create ").concat(e," -f ").concat(tZ.MIGRATE_MONGO_CONFIG))()},"mongoMigrateCreate"),mongoMigrateUp:t1(eG.CLI,tX,"".concat(tx," ").concat(tz," up -f ").concat(tZ.MIGRATE_MONGO_CONFIG)),mongoMigrateDown:t1(eG.CLI,tX,"".concat(tx," ").concat(tz," down -f ").concat(tZ.MIGRATE_MONGO_CONFIG)),mongoMigrateStatus:t1(eG.CLI,tX,"".concat(tx," ").concat(tz," status -f ").concat(tZ.MIGRATE_MONGO_CONFIG)),commitLint:t1(eG.CLI,tL,"".concat(tU," --edit ").concat(tZ.GIT_COMMIT_MSG," --config ").concat(tZ.COMMITLINT_CONFIG)),lintStaged:t1(eG.CLI,tk,"".concat(tF," --config ").concat(tZ.LINT_STAGED_CONFIG)),stageBuildDirectory:t1(eG.STRING,"".concat(tY," add ").concat(tp)),build:t1(eG.STRING,"".concat(tB," run build")),pnpmInstallStandard:t1(eG.STRING,"".concat(tB," install")),pnpmInstallLegacy:t1(eG.STRING,"".concat(tB," install --legacy-peer-deps")),pnpmInstallForce:t1(eG.STRING,"".concat(tB," install --force"))};var t4={getDateTime:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:new Date;return(0,z.format)(e,"yyyy-MM-dd HH:mm:ss.SSS")},createGenericFields:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=e.returnDateAs,n=t===void 0?"string":t;var r=n==="string"?t4.getDateTime():new Date;return{id:(0,er.v4)(),isDel:!1,createdAt:r,updatedAt:r}},applyPlugins:function e(e,t){t.filter(function(e){return typeof e=="function"}).forEach(function(t){return e.plugin(t)})},applyMiddlewares:function e(e,t){t.forEach(function(t){var n=t.method,r=t.pre,s=t.post;n&&r&&e.pre(n,r),n&&s&&e.post(n,s)})},createGenericSchema:function e(e){return new e.Schema({id:{type:String,default:er.v4,required:!0,unique:!0},isDel:{type:Boolean,default:!1,required:!0}},{timestamps:!0})},createSchema:function e(e){var t=e.mongoose,n=e.schema,r=e.virtuals,s=r===void 0?[]:r,a=e.standalone,o=a===void 0?!1:a;var c=new t.Schema(n,{strict:!0});return s.forEach(function(e){var t=e.name,n=e.options,r=e.get;var s=c.virtual(t,n);r&&s.get(r)}),o||c.add(t4.createGenericSchema(t)),c},createModel:function e(e){var t=e.mongoose,n=e.name,r=e.schema,s=e.pagination,a=s===void 0?!1:s,o=e.aggregate,c=o===void 0?!1:o,u=e.virtuals,i=u===void 0?[]:u,l=e.middlewares,f=l===void 0?[]:l;if(!n)throw new Error("Model name is required.");if(t.models[n])return t.models[n];var d=t4.createSchema({mongoose:t,schema:r,virtuals:i});return t4.applyPlugins(d,[a&&en.default,c&&et.default]),t4.applyMiddlewares(d,f),t.model(n,d)},createSlugQuery:function e(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=arguments.length>2?arguments[2]:void 0;return p(h({},t,n&&{id:{$ne:n}}),{$or:[{slug:e},{slugHistory:e}]})},validator:{isEmpty:function e(){return /*#__PURE__*/function(){var e=s(function(e){return T(this,function(t){return[2,!el.isEmpty(e)]})});return function(t){return e.apply(this,arguments)}}()},isUnique:function e(e){return /*#__PURE__*/function(){var t=s(function(t){var n;return T(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 i({},e,t)})};return[4,this.constructor.findOne(n)];case 1:return[2,!r.sent()]}})});return function(e){return t.apply(this,arguments)}}()},matchesRegex:function e(e){return /*#__PURE__*/function(){var t=s(function(t){return T(this,function(n){if(!Array.isArray(e)||e.some(function(e){return!d(e,RegExp)}))throw new Error("regexArray must be an array of valid RegExp objects.");return[2,e.every(function(e){return e.test(t)})]})});return function(e){return t.apply(this,arguments)}}()}},migrate:p(h({},Z.default),{setConfig:P(function(e){var t="// This file is automatically generated by the Cyberskill CLI.\nmodule.exports = ".concat(JSON.stringify(e,null,4));eh(tZ.MIGRATE_MONGO_CONFIG,t);var n="\n".concat(tT,"\n");eR(tZ.GIT_IGNORE)?eg(tZ.GIT_IGNORE,"utf-8").split("\n").includes(tT)||ep(tZ.GIT_IGNORE,n,"utf-8"):eh(tZ.GIT_IGNORE,n,"utf-8")},"setConfig")})},t5=/*#__PURE__*/function(){function e(t,n){o(this,e);j(this,"collection");this.collection=t.collection(n)}u(e,[{key:"createOne",value:function e(e){var t=this;return s(function(){var n,r,s;return T(this,function(a){switch(a.label){case 0:a.trys.push([0,2,,3]);n=h({},t4.createGenericFields(),e);r={success:!0,message:"Document created successfully"};return[4,t.collection.insertOne(n)];case 1:return[2,(r.result=a.sent(),r)];case 2:s=a.sent();return[2,{success:!1,message:s.message}];case 3:return[2]}})})()}},{key:"createMany",value:function e(e){var t=this;return s(function(){var n,r,s;return T(this,function(a){switch(a.label){case 0:a.trys.push([0,2,,3]);n=e.map(function(e){return h({},t4.createGenericFields(),e)});return[4,t.collection.insertMany(n)];case 1:r=a.sent();return[2,r.insertedCount===0?{success:!1,message:"No documents were inserted"}:{success:!0,message:"".concat(r.insertedCount," documents created successfully"),result:r}];case 2:s=a.sent();return[2,{success:!1,message:s.message}];case 3:return[2]}})})()}},{key:"findOne",value:function e(e){var t=this;return s(function(){var n,r;return T(this,function(s){switch(s.label){case 0:s.trys.push([0,2,,3]);return[4,t.collection.findOne(e)];case 1:n=s.sent();return[2,n?{success:!0,message:"Document found",result:n}:{success:!1,message:"Document not found"}];case 2:r=s.sent();return[2,{success:!1,message:r.message}];case 3:return[2]}})})()}},{key:"findAll",value:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};var t=this;return s(function(){var n,r;return T(this,function(s){switch(s.label){case 0:s.trys.push([0,2,,3]);n={success:!0,message:"Documents retrieved successfully"};return[4,t.collection.find(e).toArray()];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]}})})()}},{key:"count",value:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};var t=this;return s(function(){var n,r;return T(this,function(s){switch(s.label){case 0:s.trys.push([0,2,,3]);n={success:!0,message:"Count retrieved successfully"};return[4,t.collection.countDocuments(e)];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]}})})()}},{key:"updateOne",value:function e(e,t){var n=this;return s(function(){var r,s;return T(this,function(a){switch(a.label){case 0:a.trys.push([0,2,,3]);return[4,n.collection.updateOne(e,{$set:t})];case 1:r=a.sent();return[2,r.matchedCount===0?{success:!1,message:"No documents matched the filter"}:{success:!0,message:"Document updated successfully",result:r}];case 2:s=a.sent();return[2,{success:!1,message:s.message}];case 3:return[2]}})})()}},{key:"updateMany",value:function e(e,t){var n=this;return s(function(){var r,s;return T(this,function(a){switch(a.label){case 0:a.trys.push([0,2,,3]);return[4,n.collection.updateMany(e,{$set:t})];case 1:r=a.sent();return[2,r.matchedCount===0?{success:!1,message:"No documents matched the filter"}:{success:!0,message:"Documents updated successfully",result:r}];case 2:s=a.sent();return[2,{success:!1,message:s.message}];case 3:return[2]}})})()}},{key:"deleteOne",value:function e(e){var t=this;return s(function(){var n,r;return T(this,function(s){switch(s.label){case 0:s.trys.push([0,2,,3]);return[4,t.collection.deleteOne(e)];case 1:n=s.sent();return[2,n.deletedCount===0?{success:!1,message:"No documents matched the filter"}:{success:!0,message:"Document deleted successfully",result:n}];case 2:r=s.sent();return[2,{success:!1,message:r.message}];case 3:return[2]}})})()}},{key:"deleteMany",value:function e(e){var t=this;return s(function(){var n,r;return T(this,function(s){switch(s.label){case 0:s.trys.push([0,2,,3]);return[4,t.collection.deleteMany(e)];case 1:n=s.sent();return[2,n.deletedCount===0?{success:!1,message:"No documents matched the filter"}:{success:!0,message:"Documents deleted successfully",result:n}];case 2:r=s.sent();return[2,{success:!1,message:r.message}];case 3:return[2]}})})()}}]);return e}();P(t5,"MongoController");var t8=t5,t6=/*#__PURE__*/function(){function e(t){o(this,e);j(this,"model");this.model=t}u(e,[{key:"getModelName",value:function e(){return this.model.modelName}},{key:"findOne",value:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},r=arguments.length>3?arguments[3]:void 0;var a=this;return s(function(){var s,o,c;return T(this,function(u){switch(u.label){case 0:u.trys.push([0,2,,3]);s=a.model.findOne(e,t,n);r&&s.populate(r);return[4,s.exec()];case 1:o=u.sent();return[2,o?{success:!0,result:o}:{success:!1,message:"No ".concat(a.getModelName()," found."),code:es.NOT_FOUND.CODE}];case 2:c=u.sent();return[2,{success:!1,message:c.message,code:es.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})})()}},{key:"findAll",value:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},r=arguments.length>3?arguments[3]:void 0;var a=this;return s(function(){var s,o,c;return T(this,function(u){switch(u.label){case 0:u.trys.push([0,2,,3]);s=a.model.find(e,t,n);r&&s.populate(r);o={success:!0};return[4,s.exec()];case 1:return[2,(o.result=u.sent(),o)];case 2:c=u.sent();return[2,{success:!1,message:c.message,code:es.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})})()}},{key:"findPaging",value:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};var n=this;return s(function(){var r,s;return T(this,function(a){switch(a.label){case 0:a.trys.push([0,2,,3]);r={success:!0};return[4,n.model.paginate(e,t)];case 1:return[2,(r.result=a.sent(),r)];case 2:s=a.sent();return[2,{success:!1,message:s.message,code:es.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})})()}},{key:"findPagingAggregate",value:function e(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};var n=this;return s(function(){var r,s;return T(this,function(a){switch(a.label){case 0:a.trys.push([0,2,,3]);r={success:!0};return[4,n.model.aggregatePaginate(n.model.aggregate(e),t)];case 1:return[2,(r.result=a.sent(),r)];case 2:s=a.sent();return[2,{success:!1,message:s.message,code:es.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})})()}},{key:"count",value:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};var t=this;return s(function(){var n,r;return T(this,function(s){switch(s.label){case 0:s.trys.push([0,2,,3]);n={success:!0};return[4,t.model.countDocuments(e)];case 1:return[2,(n.result=s.sent(),n)];case 2:r=s.sent();return[2,{success:!1,message:r.message,code:es.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})})()}},{key:"createOne",value:function e(e){var t=this;return s(function(){var n,r;return T(this,function(s){switch(s.label){case 0:s.trys.push([0,2,,3]);n={success:!0};return[4,t.model.create(e)];case 1:return[2,(n.result=s.sent(),n)];case 2:r=s.sent();return[2,{success:!1,message:r.message,code:es.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})})()}},{key:"createMany",value:function e(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};var n=this;return s(function(){var r,s;return T(this,function(a){switch(a.label){case 0:a.trys.push([0,2,,3]);r={success:!0};return[4,n.model.insertMany(e,t)];case 1:return[2,(r.result=a.sent().map(function(e){return d(e,ee.Document)?e.toObject():null}).filter(function(e){return e!==null}),r)];case 2:s=a.sent();return[2,{success:!1,message:s.message,code:es.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})})()}},{key:"updateOne",value:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};var r=this;return s(function(){var s,a;return T(this,function(o){switch(o.label){case 0:o.trys.push([0,2,,3]);return[4,r.model.findOneAndUpdate(e,t,h({new:!0},n)).exec()];case 1:s=o.sent();return[2,s?{success:!0,result:s}:{success:!1,message:"Failed to update ".concat(r.getModelName(),"."),code:es.NOT_FOUND.CODE}];case 2:a=o.sent();return[2,{success:!1,message:a.message,code:es.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})})()}},{key:"updateMany",value:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};var r=this;return s(function(){var s,a;return T(this,function(o){switch(o.label){case 0:o.trys.push([0,2,,3]);s={success:!0};return[4,r.model.updateMany(e,t,n).exec()];case 1:return[2,(s.result=o.sent(),s)];case 2:a=o.sent();return[2,{success:!1,message:a.message,code:es.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})})()}},{key:"deleteOne",value:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};var n=this;return s(function(){var r,s;return T(this,function(a){switch(a.label){case 0:a.trys.push([0,2,,3]);return[4,n.model.findOneAndDelete(e,t).exec()];case 1:r=a.sent();return[2,r?{success:!0,result:r}:{success:!1,message:"No ".concat(n.getModelName()," found to delete."),code:es.NOT_FOUND.CODE}];case 2:s=a.sent();return[2,{success:!1,message:s.message,code:es.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})})()}},{key:"deleteMany",value:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};var n=this;return s(function(){var r,s;return T(this,function(a){switch(a.label){case 0:a.trys.push([0,2,,3]);return[4,n.model.deleteMany(e,t).exec()];case 1:r=a.sent();return[2,r.deletedCount===0?{success:!1,message:"No documents found to delete.",code:es.NOT_FOUND.CODE}:{success:!0,result:r}];case 2:s=a.sent();return[2,{success:!1,message:s.message,code:es.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})})()}},{key:"createShortId",value:function e(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:4;var n=this;return s(function(){var r,s,a,o;return T(this,function(c){switch(c.label){case 0:r=new Set;s=0;c.label=1;case 1:if(!(s<10))return[3,5];a=ei(e,s+t);o=!r.has(a);if(!o)return[3,3];r.add(a);return[4,n.model.exists({shortId:a})];case 2:o=!c.sent();c.label=3;case 3:if(o)return[2,{success:!0,result:a}];c.label=4;case 4:s++;return[3,1];case 5:return[2,{success:!1,message:"Failed to create a unique shortId",code:es.INTERNAL_SERVER_ERROR.CODE}]}})})()}},{key:"createSlug",value:function e(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};var r=this;return s(function(){var a,o,c,u,i,l,f,d,E,g,h;return T(this,function(v){switch(v.label){case 0:v.trys.push([0,8,,9]);a=t[e],o=P(/*#__PURE__*/function(){var e=s(function(e){var s,a,o;return T(this,function(c){switch(c.label){case 0:return[4,r.model.findOne(t4.createSlugQuery(e,n,t.id))];case 1:s=c.sent();if(!s)return[2,e];a=1;c.label=2;case 2:o="".concat(e,"-").concat(a);return[4,r.model.findOne(t4.createSlugQuery(o,n,t.id))];case 3:s=c.sent(),a++;c.label=4;case 4:if(s)return[3,2];c.label=5;case 5:return[2,o]}})});return function(t){return e.apply(this,arguments)}}(),"createUniqueSlug");if(!((typeof a==="undefined"?"undefined":R(a))=="object"))return[3,5];c={};u=[];for(i in a)u.push(i);l=0;v.label=1;case 1:if(!(l<u.length))return[3,4];f=u[l];d=eu(a[f]);return[4,o(d)];case 2:c[f]=v.sent();v.label=3;case 3:l++;return[3,1];case 4:return[2,{success:!0,result:c}];case 5:E=eu(a);g={success:!0};return[4,o(E)];case 6:return[2,(g.result=v.sent(),g)];case 7:return[3,9];case 8:h=v.sent();return[2,{success:!1,message:"Failed to create a unique slug: ".concat(h.message),code:es.INTERNAL_SERVER_ERROR.CODE}];case 9:return[2]}})})()}},{key:"aggregate",value:function e(e){var t=this;return s(function(){var n,r;return T(this,function(s){switch(s.label){case 0:s.trys.push([0,2,,3]);n={success:!0};return[4,t.model.aggregate(e)];case 1:return[2,(n.result=s.sent(),n)];case 2:r=s.sent();return[2,{success:!1,message:r.message,code:es.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})})()}}]);return e}();P(t6,"MongooseController");var t7=t6;0&&(module.exports={C_Collection:C_Collection,C_Db:C_Db,C_Document:C_Document,C_Model:C_Model,MONGO_MIGRATE_OPTIONS:MONGO_MIGRATE_OPTIONS,MongoController:MongoController,MongooseController:MongooseController,aggregatePaginate:aggregatePaginate,mongo:mongo,mongoosePaginate:mongoosePaginate});
@@ -58,7 +58,6 @@ export { I_Input_DeleteMany_alias_2 as I_Input_DeleteMany } from '../../_tsup-dt
58
58
  export { I_ReturnSuccess_alias_2 as I_ReturnSuccess } from '../../_tsup-dts-rollup.cjs';
59
59
  export { I_ReturnFailure_alias_2 as I_ReturnFailure } from '../../_tsup-dts-rollup.cjs';
60
60
  export { I_Return_alias_2 as I_Return } from '../../_tsup-dts-rollup.cjs';
61
- export { T_MongoMigrateContext_alias_2 as T_MongoMigrateContext } from '../../_tsup-dts-rollup.cjs';
62
61
  export { aggregatePaginate_alias_2 as aggregatePaginate } from '../../_tsup-dts-rollup.cjs';
63
62
  export { mongoosePaginate_alias_2 as mongoosePaginate } from '../../_tsup-dts-rollup.cjs';
64
63
  export { mongo_alias_2 as mongo } from '../../_tsup-dts-rollup.cjs';