@cyberskill/shared 1.103.0 → 1.104.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- 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
+ 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.103.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};
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cyberskill/shared",
3
3
  "type": "module",
4
- "version": "1.103.0",
4
+ "version": "1.104.0",
5
5
  "description": "CyberSkill Shared",
6
6
  "author": "Stephen Cheng",
7
7
  "license": "MIT",