@cyberskill/shared 1.21.0 → 1.23.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (75) hide show
  1. package/dist/commands.cjs +1 -1
  2. package/dist/commands.js +1 -1
  3. package/dist/configs/index.cjs +1 -1
  4. package/dist/configs/index.js +1 -1
  5. package/dist/controllers/index.cjs +1 -1
  6. package/dist/controllers/index.d.cts +1 -1
  7. package/dist/controllers/index.d.ts +1 -1
  8. package/dist/controllers/index.js +1 -1
  9. package/dist/controllers/mongo-migration.cjs +1 -0
  10. package/dist/controllers/mongo-migration.js +1 -0
  11. package/dist/controllers/mongoose.cjs +1 -1
  12. package/dist/controllers/mongoose.js +1 -1
  13. package/dist/hooks/react/index.cjs +1 -1
  14. package/dist/hooks/react/index.js +1 -1
  15. package/dist/hooks/react/use-storage.cjs +1 -1
  16. package/dist/hooks/react/use-storage.js +1 -1
  17. package/dist/index.cjs +1 -1
  18. package/dist/index.d.cts +9 -9
  19. package/dist/index.d.ts +9 -9
  20. package/dist/index.js +1 -1
  21. package/dist/typescript/command.cjs +1 -1
  22. package/dist/typescript/command.d.cts +8 -12
  23. package/dist/typescript/command.d.ts +8 -12
  24. package/dist/typescript/command.js +1 -1
  25. package/dist/typescript/index.cjs +1 -1
  26. package/dist/typescript/index.d.cts +1 -1
  27. package/dist/typescript/index.d.ts +1 -1
  28. package/dist/typescript/index.js +1 -1
  29. package/dist/typescript/mongoose.cjs +1 -1
  30. package/dist/typescript/mongoose.js +1 -1
  31. package/dist/utils/command.cjs +1 -1
  32. package/dist/utils/command.d.cts +14 -1
  33. package/dist/utils/command.d.ts +14 -1
  34. package/dist/utils/command.js +1 -1
  35. package/dist/utils/config.cjs +1 -0
  36. package/dist/utils/config.d.cts +5 -0
  37. package/dist/utils/config.d.ts +5 -0
  38. package/dist/utils/config.js +1 -0
  39. package/dist/utils/datetime.cjs +1 -0
  40. package/dist/utils/datetime.d.cts +3 -0
  41. package/dist/utils/datetime.d.ts +3 -0
  42. package/dist/utils/datetime.js +1 -0
  43. package/dist/utils/fs.cjs +1 -0
  44. package/dist/utils/fs.d.cts +3 -0
  45. package/dist/utils/fs.d.ts +3 -0
  46. package/dist/utils/fs.js +1 -0
  47. package/dist/utils/index.cjs +1 -1
  48. package/dist/utils/index.d.cts +8 -9
  49. package/dist/utils/index.d.ts +8 -9
  50. package/dist/utils/index.js +1 -1
  51. package/dist/utils/log.cjs +1 -1
  52. package/dist/utils/log.js +1 -1
  53. package/dist/utils/mongoose.cjs +1 -1
  54. package/dist/utils/mongoose.d.cts +7 -1
  55. package/dist/utils/mongoose.d.ts +7 -1
  56. package/dist/utils/mongoose.js +1 -1
  57. package/dist/utils/npm-package.cjs +1 -1
  58. package/dist/utils/npm-package.js +1 -1
  59. package/dist/utils/storage.cjs +1 -1
  60. package/dist/utils/storage.d.cts +2 -5
  61. package/dist/utils/storage.d.ts +2 -5
  62. package/dist/utils/storage.js +1 -1
  63. package/package.json +4 -3
  64. package/dist/controllers/migration.cjs +0 -1
  65. package/dist/controllers/migration.js +0 -1
  66. package/dist/utils/command-error.cjs +0 -1
  67. package/dist/utils/command-error.d.cts +0 -18
  68. package/dist/utils/command-error.d.ts +0 -18
  69. package/dist/utils/command-error.js +0 -1
  70. package/dist/utils/command-log.cjs +0 -1
  71. package/dist/utils/command-log.d.cts +0 -17
  72. package/dist/utils/command-log.d.ts +0 -17
  73. package/dist/utils/command-log.js +0 -1
  74. /package/dist/controllers/{migration.d.cts → mongo-migration.d.cts} +0 -0
  75. /package/dist/controllers/{migration.d.ts → mongo-migration.d.ts} +0 -0
package/dist/commands.cjs CHANGED
@@ -1,2 +1,2 @@
1
1
  #!/usr/bin/env node
2
- "use strict";function e(e,t){if(t==null||t>e.length)t=e.length;for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function t(t){if(Array.isArray(t))return e(t)}function n(e,t,n,r,s,c,o){try{var a=e[c](o);var i=a.value}catch(e){n(e);return}if(a.done){t(i)}else{Promise.resolve(i).then(r,s)}}function r(e){return function(){var t=this,r=arguments;return new Promise(function(s,c){var o=e.apply(t,r);function a(e){n(o,s,c,a,i,"next",e)}function i(e){n(o,s,c,a,i,"throw",e)}a(undefined)})}}function s(e,t,n){if(t in e){Object.defineProperty(e,t,{value:n,enumerable:true,configurable:true,writable:true})}else{e[t]=n}return e}function c(e){if(typeof Symbol!=="undefined"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function o(){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 a(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){s(e,t,n[t])})}return e}function i(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 u(e,t){t=t!=null?t:{};if(Object.getOwnPropertyDescriptors){Object.defineProperties(e,Object.getOwnPropertyDescriptors(t))}else{i(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}function l(e){return t(e)||c(e)||p(e)||o()}function f(e){"@swc/helpers - typeof";return e&&typeof Symbol!=="undefined"&&e.constructor===Symbol?"symbol":typeof e}function p(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 d(e,t){var n,r,s,c,o={label:0,sent:function(){if(s[0]&1)throw s[1];return s[1]},trys:[],ops:[]};return c={next:a(0),"throw":a(1),"return":a(2)},typeof Symbol==="function"&&(c[Symbol.iterator]=function(){return this}),c;function a(e){return function(t){return i([e,t])}}function i(c){if(n)throw new TypeError("Generator is already executing.");while(o)try{if(n=1,r&&(s=c[0]&2?r["return"]:c[0]?r["throw"]||((s=r["return"])&&s.call(r),0):r.next)&&!(s=s.call(r,c[1])).done)return s;if(r=0,s)c=[c[0]&2,s.value];switch(c[0]){case 0:case 1:s=c;break;case 4:o.label++;return{value:c[1],done:false};case 5:o.label++;r=c[1];c=[0];continue;case 7:c=o.ops.pop();o.trys.pop();continue;default:if(!(s=o.trys,s=s.length>0&&s[s.length-1])&&(c[0]===6||c[0]===2)){o=0;continue}if(c[0]===3&&(!s||c[1]>s[0]&&c[1]<s[3])){o.label=c[1];break}if(c[0]===6&&o.label<s[1]){o.label=s[1];s=c;break}if(s&&o.label<s[2]){o.label=s[2];o.ops.push(c);break}if(s[2])o.ops.pop();o.trys.pop();continue}c=t.call(e,o)}catch(e){c=[6,e];r=0}finally{n=s=0}if(c[0]&5)throw c[1];return{value:c[0]?c[1]:void 0,done:true}}}var h=Object.create;var g=Object.defineProperty;var y=Object.getOwnPropertyDescriptor;var v=Object.getOwnPropertyNames;var m=Object.getPrototypeOf,b=Object.prototype.hasOwnProperty;var S=function(e,t,n,r){var s=true,c=false,o=undefined;if(t&&(typeof t==="undefined"?"undefined":f(t))=="object"||typeof t=="function")try{var a=function(){var s=u.value;!b.call(e,s)&&s!==n&&g(e,s,{get:function(){return t[s]},enumerable:!(r=y(t,s))||r.enumerable})};for(var i=v(t)[Symbol.iterator](),u;!(s=(u=i.next()).done);s=true)a()}catch(e){c=true;o=e}finally{try{if(!s&&i.return!=null){i.return()}}finally{if(c){throw o}}}return e};var w=function(e,t,n){return n=e!=null?h(m(e)):{},S(t||!e||!e.__esModule?g(n,"default",{value:e,enumerable:!0}):n,e)};var _=function(){return(typeof document==="undefined"?"undefined":f(document))>"u"?new URL("file:".concat(__filename)).href:document.currentScript&&document.currentScript.src||new URL("main.js",document.baseURI).href},O=_();var T=w(require("fs"),1),I=w(require("path"),1),E=w(require("process"),1),k=require("yargs/helpers"),j=w(require("yargs/yargs"),1);var P=require("path"),A=w(require("process"),1),x=require("url"),N=(0,x.fileURLToPath)(O),C=(0,P.dirname)(N),G=A.default.env.INIT_CWD||A.default.cwd();var M=w(require("boxen"),1),R=w(require("chalk"),1);var F=R.default,H=F.green,L=F.yellow,q=F.red,U=F.gray,D=F.bold,K=F.blue,J={step:function(e,t,n){var r=new Date().toLocaleTimeString(),s=e!==null&&t!==null?"STEP [".concat(e,"/").concat(t,"]"):"STEP";console.log("".concat(H(s)," ").concat(U("[".concat(r,"]"))," ").concat(D(n)))},success:function(e){console.log("".concat(H("✔ SUCCESS")," ").concat(e))},error:function(e){console.log("".concat(q("✖ ERROR")," ").concat(e))},warning:function(e){console.log("".concat(L("⚠ WARNING")," ").concat(e))},info:function(e){console.log("".concat(U("ℹ INFO")," ").concat(e))},boxedResult:function(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:H;console.log((0,M.default)(D(n("".concat(e,"\n").concat(t))),{padding:1,margin:1,borderStyle:"round",borderColor:n===q?"red":n===L?"yellow":"green"}))},logResults:function(e,t,n,r){e.length&&(e.forEach(function(e){var r=e.file,s=e.position,c=e.rule,o=e.message;console.log("".concat(t("".concat(n," File:"))," ").concat(K("".concat(r).concat(s?":".concat(s):"")))),c&&console.log(" ".concat(t("Rule:")," ").concat(t(c))),console.log(" ".concat(t("Message:")," ").concat(t(o)))}),console.log((0,M.default)(D(t("".concat(n," Total ").concat(r,": ").concat(e.length))),{padding:1,margin:1,borderStyle:"round",borderColor:t===q?"red":t===L?"yellow":"green"})),console.log(U("─".repeat(40))))},displayResults:/*#__PURE__*/r(function(){var e,t,n;return d(this,function(r){switch(r.label){case 0:return[4,es()];case 1:e=r.sent(),t=e.filter(function(e){return e.type==="error"}),n=e.filter(function(e){return e.type==="warning"});!t.length&&!n.length?J.boxedResult("✔ NO ISSUES FOUND","",H):(J.logResults(n,L,"⚠","Warnings"),J.logResults(t,q,"✖","Errors"));return[2]}})})};var W=w(require("localforage"),1),B=w(require("node-persist"),1),Y=w(require("os"),1),$=w(require("path"),1),z=w(require("process"),1),Q=(typeof window==="undefined"?"undefined":f(window))<"u",V=z.default.env.CYBERSKILL_STORAGE_DIR||$.default.join(Y.default.homedir(),".cyberskill-storage");function X(){return Z.apply(this,arguments)}function Z(){Z=r(function(){var e;return d(this,function(t){switch(t.label){case 0:e=!Q&&!B.default.defaultInstance;if(!e)return[3,2];return[4,B.default.init({dir:V,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 Z.apply(this,arguments)}var ee={get:function e(e){return r(function(){var t,n,r;return d(this,function(s){switch(s.label){case 0:s.trys.push([0,6,,7]);if(!Q)return[3,2];return[4,W.default.getItem(e)];case 1:n=s.sent();return[3,5];case 2:return[4,X()];case 3:s.sent();return[4,B.default.getItem(e)];case 4:n=(t=s.sent())!==null&&t!==void 0?t:null;s.label=5;case 5:return[2,n];case 6:r=s.sent();return[2,(console.error('❌ [Storage:get] Error getting key "'.concat(e,'":'),r),null)];case 7:return[2]}})})()},set:function e(e,t){return r(function(){var n,r;return d(this,function(s){switch(s.label){case 0:s.trys.push([0,6,,7]);if(!Q)return[3,2];return[4,W.default.setItem(e,t)];case 1:n=s.sent();return[3,5];case 2:return[4,X()];case 3:s.sent();return[4,B.default.setItem(e,t)];case 4:n=s.sent();s.label=5;case 5:n;return[3,7];case 6:r=s.sent();console.error('❌ [Storage:set] Error setting key "'.concat(e,'":'),r);return[3,7];case 7:return[2]}})})()},remove:function e(e){return r(function(){var t,n;return d(this,function(r){switch(r.label){case 0:r.trys.push([0,6,,7]);if(!Q)return[3,2];return[4,W.default.removeItem(e)];case 1:t=r.sent();return[3,5];case 2:return[4,X()];case 3:r.sent();return[4,B.default.removeItem(e)];case 4:t=r.sent();r.label=5;case 5:t;return[3,7];case 6:n=r.sent();console.error('❌ [Storage:remove] Error removing key "'.concat(e,'":'),n);return[3,7];case 7:return[2]}})})()},keys:function e(){return r(function(){var e,t,n;return d(this,function(r){switch(r.label){case 0:r.trys.push([0,5,,6]);if(!Q)return[3,2];return[4,W.default.keys()];case 1:return[2,(e=r.sent())!==null&&e!==void 0?e:[]];case 2:return[4,X()];case 3:r.sent();return[4,B.default.keys()];case 4:t=r.sent();return[2,Array.isArray(t)?t:(console.warn("⚠️ [Storage:keys] Invalid keys response:",t),[])];case 5:n=r.sent();return[2,(console.error("❌ [Storage:keys] Error getting keys:",n),[])];case 6:return[2]}})})()},getLogLink:function e(e){return r(function(){return d(this,function(t){try{return[2,"".concat(V," (key: ").concat(e,")")]}catch(e){return[2,(console.error("❌ [Storage:getLogLink] Error getting log link:",e),null)]}return[2]})})()}};var et=function(e){return"error_list:".concat(e)};function en(e){return er.apply(this,arguments)}function er(){er=r(function(e){var t,n,s;return d(this,function(c){switch(c.label){case 0:if(!e.length)return[2];t=Date.now(),n=et(t);c.label=1;case 1:c.trys.push([1,3,,4]);return[4,ee.set(n,{errors:e,timestamp:t})];case 2:c.sent(),setTimeout(/*#__PURE__*/r(function(){var e;return d(this,function(t){switch(t.label){case 0:return[4,ee.getLogLink(n)];case 1:e=t.sent();e&&J.info("\uD83D\uDCC2 Open the error list manually: ".concat(e));return[2]}})}),10);return[3,4];case 3:s=c.sent();J.error("Failed to save errors: ".concat(s.message));return[3,4];case 4:return[2]}})});return er.apply(this,arguments)}function es(){return ec.apply(this,arguments)}function ec(){ec=r(function(){var e,t,n,r,s,c,o,a,i,u,f,p,h;return d(this,function(d){switch(d.label){case 0:d.trys.push([0,10,,11]);return[4,ee.keys()];case 1:e=d.sent();if(!Array.isArray(e))return[2,(J.warning("Invalid response from storage.keys(): ".concat(e)),[])];t=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:")}),n=[];r=true,s=false,c=undefined;d.label=2;case 2:d.trys.push([2,7,8,9]);o=t[Symbol.iterator]();d.label=3;case 3:if(!!(r=(a=o.next()).done))return[3,6];i=a.value;return[4,ee.get(i)];case 4:f=d.sent();f&&(u=n).push.apply(u,l(f.errors));d.label=5;case 5:r=true;return[3,3];case 6:return[3,9];case 7:p=d.sent();s=true;c=p;return[3,9];case 8:try{if(!r&&o.return!=null){o.return()}}finally{if(s){throw c}}return[7];case 9:return[2,n];case 10:h=d.sent();return[2,(J.error("Failed to retrieve stored errors: ".concat(h.message)),[])];case 11:return[2]}})});return ec.apply(this,arguments)}function eo(){return ea.apply(this,arguments)}function ea(){ea=r(function(){var e,t,n,r,s,c,o,a,i,u;return d(this,function(l){switch(l.label){case 0:l.trys.push([0,10,,11]);return[4,ee.keys()];case 1:e=l.sent();if(!Array.isArray(e)){J.warning("Invalid response from storage.keys(): ".concat(e));return[2]}t=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:")});n=true,r=false,s=undefined;l.label=2;case 2:l.trys.push([2,7,8,9]);c=t[Symbol.iterator]();l.label=3;case 3:if(!!(n=(o=c.next()).done))return[3,6];a=o.value;return[4,ee.remove(a)];case 4:l.sent();l.label=5;case 5:n=true;return[3,3];case 6:return[3,9];case 7:i=l.sent();r=true;s=i;return[3,9];case 8:try{if(!n&&c.return!=null){c.return()}}finally{if(r){throw s}}return[7];case 9:return[3,11];case 10:u=l.sent();J.error("Failed to clear error lists: ".concat(u.message));return[3,11];case 11:return[2]}})});return ea.apply(this,arguments)}var ei=require("child_process"),eu=w(require("process"),1),el=w(require("util"),1);var ef=el.promisify(ei.exec),ep=eu.default.env.DEBUG==="true",ed=/^\s*(\d+):(\d+)\s+(error|warning)\s+(.+?)\s+(\S+)$/,eh=/^(.+?)\((\d+),(\d+)\):\s+(error|warning)\s+TS\d+:\s+(\S.+)$/,eg=/^✖\s+(.*?)\s+\[(.*?)\]$/;function ey(e){var t=[],n=[],r="";e.split("\n").forEach(function(e){if(e.startsWith("/"))r=e.trim();else{var s=ed.exec(e)||[],c=eh.exec(e)||[],o=eg.exec(e)||[];s.length&&r?t.push({file:r,position:"".concat(s[1],":").concat(s[2]),type:s[3]==="error"?"error":"warning",message:s[4].trim(),rule:s[5].trim()}):c.length?t.push({file:c[1],position:"".concat(c[2],":").concat(c[3]),type:c[4]==="error"?"error":"warning",message:c[5].trim()}):o.length?t.push({file:"commitlint",type:"error",message:o[1].trim(),rule:o[2].trim()}):n.push(e.trim())}}),t.length&&en(t),n.length&&ep&&(J.warning("Unmatched lines:"),n.forEach(function(e){return console.log(" ".concat(e))}))}function ev(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,c=e.column,o=e.ruleId,a=e.message;n.push({type:r===2?"error":"warning",file:t,position:"".concat(s,":").concat(c),rule:o,message:a})})}),n.length&&en(n)}catch(t){ey(e)}}function em(e){return eb.apply(this,arguments)}function eb(){eb=r(function(e){var t,n,r,s,c,o,a,i,u;var l=arguments;return d(this,function(f){switch(f.label){case 0:t=l.length>1&&l[1]!==void 0?l[1]:ev;n=new AbortController;eu.default.on("SIGINT",function(){J.warning("Process interrupted. Terminating..."),n.abort(),eu.default.exit()});f.label=1;case 1:f.trys.push([1,3,,4]);return[4,ef(e,{maxBuffer:0x6400000,signal:n.signal})];case 2:r=f.sent(),s=r.stdout,c=r.stderr;[s,c].forEach(function(e){return e&&t(e)});return[3,4];case 3:o=f.sent();a=o.stdout,i=o.stderr,u=o.message;[a,i].forEach(function(e){return e&&t(e)}),!i&&!a&&J.error("Command failed: ".concat(u));return[3,4];case 4:return[2]}})});return eb.apply(this,arguments)}var eS=w(require("node-fetch"),1),ew=w(require("fs"),1),e_=w(require("path"),1);var eO=24*60*60*1e3;function eT(e){return e?e_.default.join(G,"node_modules",e,"package.json"):e_.default.join(G,"package.json")}function eI(e){return eE.apply(this,arguments)}function eE(){eE=r(function(e){var t,n,r,s,c,o,a,i,u,l;var f=arguments;return d(this,function(p){switch(p.label){case 0:t=f.length>1&&f[1]!==void 0?f[1]:!1;n="npm_version:".concat(e),r="npm_metadata:".concat(e);return[4,ee.get(n)];case 1:s=p.sent();return[4,ee.get(r)];case 2:c=p.sent(),o=s&&Date.now()-s.timestamp<eO;if(!t&&o)return[2,(J.info("Using cached version for ".concat(e,": ").concat(s.version)),s.version)];a={};(c===null||c===void 0?void 0:c.etag)&&(a["If-None-Match"]=c.etag),(c===null||c===void 0?void 0:c.lastModified)&&(a["If-Modified-Since"]=c.lastModified);p.label=3;case 3:p.trys.push([3,8,,9]);J.info("Fetching latest version for ".concat(e,"..."));return[4,(0,eS.default)("https://registry.npmjs.org/".concat(e,"/latest"),{headers:a})];case 4:i=p.sent();if(i.status===304&&s)return[2,(J.info("Cache is still valid for ".concat(e,": ").concat(s.version)),s.version)];if(!i.ok)throw new Error("Failed to fetch latest version: ".concat(i.statusText));return[4,i.json()];case 5:u=p.sent().version;return[4,ee.set(n,{version:u,timestamp:Date.now()})];case 6:p.sent();return[4,ee.set(r,{etag:i.headers.get("ETag")||void 0,lastModified:i.headers.get("Last-Modified")||void 0})];case 7:return[2,(p.sent(),J.success("Cached latest version for ".concat(e,": ").concat(u)),u)];case 8:l=p.sent();if(J.error("Error fetching latest version for ".concat(e,": ").concat(l.message)),s)return[2,(J.warning("Falling back to cached version for ".concat(e,": ").concat(s.version)),s.version)];throw l;case 9:return[2]}})});return eE.apply(this,arguments)}function ek(e){return ej.apply(this,arguments)}function ej(){ej=r(function(e){var t,n,r,s,c;var o=arguments;return d(this,function(a){switch(a.label){case 0:t=o.length>1&&o[1]!==void 0?o[1]:!0;a.label=1;case 1:a.trys.push([1,3,,4]);n=eT(e);if(!ew.default.existsSync(n))return[2,(J.info("".concat(e," is not installed.")),!0)];r=JSON.parse(ew.default.readFileSync(n,"utf-8")).version;return[4,eI(e,t)];case 2:s=a.sent();return[2,(J.info("Installed version of ".concat(e,": ").concat(r)),J.info("Latest version of ".concat(e,": ").concat(s)),r!==s)];case 3:c=a.sent();return[2,(J.warning("Failed to check version for ".concat(e,": ").concat(c.message)),!0)];case 4:return[2]}})});return ej.apply(this,arguments)}function eP(e){return eA.apply(this,arguments)}function eA(){eA=r(function(e){var t,n,r,c;return d(this,function(o){switch(o.label){case 0:o.trys.push([0,4,,5]);return[4,eI(e,!0)];case 1:t=o.sent(),n=eT();if(!ew.default.existsSync(n)){J.error("package.json not found. Cannot update ".concat(e));return[2]}r=JSON.parse(ew.default.readFileSync(n,"utf-8"));r.dependencies=u(a({},r.dependencies),s({},e,t)),ew.default.writeFileSync(n,JSON.stringify(r,null,2)),J.info("Updated ".concat(e," to version ").concat(t));return[4,em("npm i -f")];case 2:o.sent();return[4,em("npm run lint:fix")];case 3:o.sent(),J.success("".concat(e," updated successfully."));return[3,5];case 4:c=o.sent();throw J.error("Failed to update ".concat(e,": ").concat(c.message)),c;case 5:return[2]}})});return eA.apply(this,arguments)}function ex(e,t){try{var n=e_.default.join(e,"package.json");return ew.default.existsSync(n)?JSON.parse(ew.default.readFileSync(n,"utf-8")).name===t:!1}catch(e){return J.error("Error reading package.json: ".concat(e.message)),!1}}var eN={TS_CONFIG_PATH:I.join(G,"tsconfig.json"),HUSKY_PATH:I.join(G,".husky"),GIT_HOOK_PATH:I.join(G,".git","hooks"),GIT_COMMIT_MSG:I.join(G,".git","COMMIT_EDITMSG"),SIMPLE_GIT_HOOKS_PATH:I.join(G,".simple-git-hooks.json"),PACKAGE_NAME:"@cyberskill/shared",LINT_STAGED_CONFIG_PATH:I.resolve(C,"./configs/lint-staged/base.js"),COMMITLINT_CONFIG_PATH:I.resolve(C,"./configs/commitlint/base.js"),UNIT_TEST_CONFIG_PATH:I.resolve(C,"./configs/vitest/react/unit.js"),E2E_TEST_CONFIG_PATH:I.resolve(C,"./configs/vitest/react/e2e.js")},eC=function(e){return T.existsSync(e)},eG=0,eM=1;function eR(e){eM=Math.max(1,e),eG=0}function eF(e){eG=Math.min(eG+1,eM),J.step(eG,eM,e)}function eH(){return eL.apply(this,arguments)}function eL(){eL=r(function(){var e;return d(this,function(t){switch(t.label){case 0:eF("Starting TypeScript check");if(!eC(eN.TS_CONFIG_PATH))return[3,2];return[4,em("npx tsc -p ".concat(eN.TS_CONFIG_PATH," --noEmit"))];case 1:e=t.sent();return[3,3];case 2:e=J.warning("tsconfig.json file not found. Skipping TypeScript check.");t.label=3;case 3:e;return[2]}})});return eL.apply(this,arguments)}function eq(){return eU.apply(this,arguments)}function eU(){eU=r(function(){var e,t;var n=arguments;return d(this,function(r){switch(r.label){case 0:e=n.length>0&&n[0]!==void 0?n[0]:!1;eF("Starting ESLint ".concat(e?"fix":"check"));t="npx eslint ".concat(G).concat(e?" --fix":"");return[4,em(t)];case 1:r.sent();return[2]}})});return eU.apply(this,arguments)}function eD(){return eK.apply(this,arguments)}function eK(){eK=r(function(){return d(this,function(e){switch(e.label){case 0:eR(1),eF("Starting lint-staged process");return[4,em("npx lint-staged --config ".concat(eN.LINT_STAGED_CONFIG_PATH))];case 1:e.sent();return[2]}})});return eK.apply(this,arguments)}function eJ(){return eW.apply(this,arguments)}function eW(){eW=r(function(){return d(this,function(e){switch(e.label){case 0:eR(1),eF("Inspecting lint rules");return[4,em("npx @eslint/config-inspector")];case 1:e.sent();return[2]}})});return eW.apply(this,arguments)}function eB(){return eY.apply(this,arguments)}function eY(){eY=r(function(){return d(this,function(e){switch(e.label){case 0:eR(2);return[4,eo()];case 1:e.sent();return[4,eH()];case 2:e.sent();return[4,eq()];case 3:e.sent();return[4,J.displayResults()];case 4:e.sent();return[2]}})});return eY.apply(this,arguments)}function e$(){return ez.apply(this,arguments)}function ez(){ez=r(function(){return d(this,function(e){switch(e.label){case 0:eF("Running commit lint");return[4,em("npx --no -- commitlint --edit ".concat(eN.GIT_COMMIT_MSG," --config ").concat(eN.COMMITLINT_CONFIG_PATH))];case 1:e.sent();return[2]}})});return ez.apply(this,arguments)}function eQ(){return eV.apply(this,arguments)}function eV(){eV=r(function(){var e,t;return d(this,function(n){switch(n.label){case 0:eR(2),eF("Setting up Git hooks");e=eC(eN.HUSKY_PATH);if(!e)return[3,2];return[4,em("npx rimraf ".concat(eN.HUSKY_PATH," ").concat(eN.GIT_HOOK_PATH," && git config core.hooksPath ").concat(eN.GIT_HOOK_PATH))];case 1:e=n.sent();n.label=2;case 2:e;t={"pre-commit":ex(G,eN.PACKAGE_NAME)?'bash -c "npm run build && npx --yes cyberskill lint-staged"':"npx --yes cyberskill lint-staged","commit-msg":"npx --yes cyberskill commitlint"};T.writeFileSync(eN.SIMPLE_GIT_HOOKS_PATH,JSON.stringify(t,null,4));return[4,em("npx simple-git-hooks")];case 3:n.sent(),J.success("Git hooks configured successfully."),T.unlinkSync(eN.SIMPLE_GIT_HOOKS_PATH);return[2]}})});return eV.apply(this,arguments)}function eX(){return eZ.apply(this,arguments)}function eZ(){eZ=r(function(){var e,t,n,r,s,c,o;return d(this,function(a){switch(a.label){case 0:eR(2),eF("Starting project setup");e=I.join(G,"package.json");a.label=1;case 1:a.trys.push([1,10,,11]);if(!eC(e)){J.error("package.json not found. Setup aborted.");return[2]}n=JSON.parse(T.readFileSync(e,"utf-8"));if(!ex(G,eN.PACKAGE_NAME))return[3,2];r=J.success("Cyberskill is already installed.");return[3,8];case 2:c=!((t=n.dependencies)===null||t===void 0?void 0:t[eN.PACKAGE_NAME]);if(c)return[3,4];return[4,ek(eN.PACKAGE_NAME)];case 3:c=a.sent();a.label=4;case 4:if(!c)return[3,6];J.info("Updating Cyberskill package...");return[4,eP(eN.PACKAGE_NAME)];case 5:s=a.sent();return[3,7];case 6:s=J.success("Cyberskill is up to date.");a.label=7;case 7:r=s;a.label=8;case 8:r;return[4,eQ()];case 9:a.sent();return[3,11];case 10:o=a.sent();throw J.error("Error reading package.json: ".concat(o.message)),o;case 11:return[2]}})});return eZ.apply(this,arguments)}function e1(){return e0.apply(this,arguments)}function e0(){e0=r(function(){return d(this,function(e){switch(e.label){case 0:eR(1),eF("Running unit tests");return[4,em("npx vitest --config ".concat(eN.UNIT_TEST_CONFIG_PATH))];case 1:e.sent();return[2]}})});return e0.apply(this,arguments)}function e2(){return e4.apply(this,arguments)}function e4(){e4=r(function(){return d(this,function(e){switch(e.label){case 0:eR(1),eF("Running e2e tests");return[4,em("npx vitest --config ".concat(eN.E2E_TEST_CONFIG_PATH))];case 1:e.sent();return[2]}})});return e4.apply(this,arguments)}(0,j.default)((0,k.hideBin)(E.default.argv)).command("lint","Run linting checks",eB).command("lint:fix","Fix linting issues",function(){return eq(!0)}).command("lint:inspect","Inspect linting rules",eJ).command("lint-staged","Run lint-staged",eD).command("commitlint","Run commitlint",e$).command("setup","Run project setup",eX).command("reset","Reset project dependencies",/*#__PURE__*/r(function(){return d(this,function(e){switch(e.label){case 0:eR(1),eF("Starting project reset");return[4,em("npx rimraf ".concat(G,"/node_modules ").concat(G,"/package-lock.json"))];case 1:e.sent();return[4,em("npm i -f")];case 2:e.sent();return[4,eQ()];case 3:e.sent();return[2]}})})).command("test:unit","Run unit tests",e1).command("test:e2e","Run e2e tests",e2).help().parse();
2
+ "use strict";function e(e,t,n,r,s,c,i){try{var a=e[c](i);var o=a.value}catch(e){n(e);return}if(a.done){t(o)}else{Promise.resolve(o).then(r,s)}}function t(t){return function(){var n=this,r=arguments;return new Promise(function(s,c){var i=t.apply(n,r);function a(t){e(i,s,c,a,o,"next",t)}function o(t){e(i,s,c,a,o,"throw",t)}a(undefined)})}}function n(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 r(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};var s=Object.keys(r);if(typeof Object.getOwnPropertySymbols==="function"){s=s.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))}s.forEach(function(t){n(e,t,r[t])})}return e}function s(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 c(e,t){t=t!=null?t:{};if(Object.getOwnPropertyDescriptors){Object.defineProperties(e,Object.getOwnPropertyDescriptors(t))}else{s(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}function i(e){"@swc/helpers - typeof";return e&&typeof Symbol!=="undefined"&&e.constructor===Symbol?"symbol":typeof e}function a(e,t){var n,r,s,c,i={label:0,sent:function(){if(s[0]&1)throw s[1];return s[1]},trys:[],ops:[]};return c={next:a(0),"throw":a(1),"return":a(2)},typeof Symbol==="function"&&(c[Symbol.iterator]=function(){return this}),c;function a(e){return function(t){return o([e,t])}}function o(c){if(n)throw new TypeError("Generator is already executing.");while(i)try{if(n=1,r&&(s=c[0]&2?r["return"]:c[0]?r["throw"]||((s=r["return"])&&s.call(r),0):r.next)&&!(s=s.call(r,c[1])).done)return s;if(r=0,s)c=[c[0]&2,s.value];switch(c[0]){case 0:case 1:s=c;break;case 4:i.label++;return{value:c[1],done:false};case 5:i.label++;r=c[1];c=[0];continue;case 7:c=i.ops.pop();i.trys.pop();continue;default:if(!(s=i.trys,s=s.length>0&&s[s.length-1])&&(c[0]===6||c[0]===2)){i=0;continue}if(c[0]===3&&(!s||c[1]>s[0]&&c[1]<s[3])){i.label=c[1];break}if(c[0]===6&&i.label<s[1]){i.label=s[1];s=c;break}if(s&&i.label<s[2]){i.label=s[2];i.ops.push(c);break}if(s[2])i.ops.pop();i.trys.pop();continue}c=t.call(e,i)}catch(e){c=[6,e];r=0}finally{n=s=0}if(c[0]&5)throw c[1];return{value:c[0]?c[1]:void 0,done:true}}}var o=Object.create;var u=Object.defineProperty;var l=Object.getOwnPropertyDescriptor;var f=Object.getOwnPropertyNames;var p=Object.getPrototypeOf,d=Object.prototype.hasOwnProperty;var h=function(e,t,n,r){var s=true,c=false,a=undefined;if(t&&(typeof t==="undefined"?"undefined":i(t))=="object"||typeof t=="function")try{var o=function(){var s=h.value;!d.call(e,s)&&s!==n&&u(e,s,{get:function(){return t[s]},enumerable:!(r=l(t,s))||r.enumerable})};for(var p=f(t)[Symbol.iterator](),h;!(s=(h=p.next()).done);s=true)o()}catch(e){c=true;a=e}finally{try{if(!s&&p.return!=null){p.return()}}finally{if(c){throw a}}}return e};var g=function(e,t,n){return n=e!=null?o(p(e)):{},h(t||!e||!e.__esModule?u(n,"default",{value:e,enumerable:!0}):n,e)};var y=function(){return(typeof document==="undefined"?"undefined":i(document))>"u"?new URL("file:".concat(__filename)).href:document.currentScript&&document.currentScript.src||new URL("main.js",document.baseURI).href},m=y();var v=g(require("fs"),1),b=g(require("path"),1),w=g(require("process"),1),_=require("yargs/helpers"),S=g(require("yargs/yargs"),1);var O=require("path"),T=g(require("process"),1),A=require("url"),P=(0,A.fileURLToPath)(m),E=(0,O.dirname)(P),k=T.default.env.INIT_CWD||T.default.cwd();var I=g(require("boxen"),1),j=g(require("chalk"),1),C=require("child_process"),N=g(require("process"),1),G=g(require("util"),1);var x=g(require("localforage"),1),F=g(require("node-persist"),1),H=g(require("os"),1),L=g(require("path"),1),M=g(require("process"),1),R=(typeof window==="undefined"?"undefined":i(window))<"u",K=M.default.env.CYBERSKILL_STORAGE_DIR||L.default.join(H.default.homedir(),".cyberskill-storage");function q(){return U.apply(this,arguments)}function U(){U=t(function(){var e;return a(this,function(t){switch(t.label){case 0:e=!R&&!F.default.defaultInstance;if(!e)return[3,2];return[4,F.default.init({dir:K,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 U.apply(this,arguments)}var D={get:function e(e){return t(function(){var t,n,r;return a(this,function(s){switch(s.label){case 0:s.trys.push([0,6,,7]);if(!R)return[3,2];return[4,x.default.getItem(e)];case 1:n=s.sent();return[3,5];case 2:return[4,q()];case 3:s.sent();return[4,F.default.getItem(e)];case 4:n=(t=s.sent())!==null&&t!==void 0?t:null;s.label=5;case 5:return[2,n];case 6:r=s.sent();return[2,(console.error('❌ [Storage:get] Error getting key "'.concat(e,'":'),r),null)];case 7:return[2]}})})()},set:function e(e,n){return t(function(){var t,r;return a(this,function(s){switch(s.label){case 0:s.trys.push([0,6,,7]);if(!R)return[3,2];return[4,x.default.setItem(e,n)];case 1:t=s.sent();return[3,5];case 2:return[4,q()];case 3:s.sent();return[4,F.default.setItem(e,n)];case 4:t=s.sent();s.label=5;case 5:t;return[3,7];case 6:r=s.sent();console.error('❌ [Storage:set] Error setting key "'.concat(e,'":'),r);return[3,7];case 7:return[2]}})})()},remove:function e(e){return t(function(){var t,n;return a(this,function(r){switch(r.label){case 0:r.trys.push([0,6,,7]);if(!R)return[3,2];return[4,x.default.removeItem(e)];case 1:t=r.sent();return[3,5];case 2:return[4,q()];case 3:r.sent();return[4,F.default.removeItem(e)];case 4:t=r.sent();r.label=5;case 5:t;return[3,7];case 6:n=r.sent();console.error('❌ [Storage:remove] Error removing key "'.concat(e,'":'),n);return[3,7];case 7:return[2]}})})()},keys:function e(){return t(function(){var e,t,n;return a(this,function(r){switch(r.label){case 0:r.trys.push([0,5,,6]);if(!R)return[3,2];return[4,x.default.keys()];case 1:return[2,(e=r.sent())!==null&&e!==void 0?e:[]];case 2:return[4,q()];case 3:r.sent();return[4,F.default.keys()];case 4:t=r.sent();return[2,Array.isArray(t)?t:(console.warn("⚠️ [Storage:keys] Invalid keys response:",t),[])];case 5:n=r.sent();return[2,(console.error("❌ [Storage:keys] Error getting keys:",n),[])];case 6:return[2]}})})()},getLogLink:function e(e){return t(function(){return a(this,function(t){try{return[2,"".concat(K," (key: ").concat(e,")")]}catch(e){return[2,(console.error("❌ [Storage:getLogLink] Error getting log link:",e),null)]}return[2]})})()}};var J=N.default.env.DEBUG==="true",B=G.promisify(C.exec),W=j.default,Y=W.gray,$=W.blue,z=function(){return Y("[".concat(new Date().toLocaleTimeString(),"]"))};function Q(e){var t=j.default[e];return typeof t=="function"?t:j.default.green}function V(e,t,n,r){var s=Q(t);console.log("".concat(z()," ").concat(s("".concat(n," ").concat(e))," ").concat(r))}function X(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},r=n.color,s=r===void 0?"green":r,c=n.padding,i=c===void 0?1:c,a=n.margin,o=a===void 0?1:a,u=n.borderStyle,l=u===void 0?"round":u,f=n.titleColor,p=f===void 0?"bold":f;var d=Q(s),h=Q(p);if(typeof t=="string"){console.log((0,I.default)(h(d("".concat(e,"\n").concat(t))),{padding:i,margin:o,borderStyle:l,borderColor:s}));return}Array.isArray(t)&&t.length&&(t.forEach(function(e){var t=e.file,n=e.position,r=e.rule,s=e.message;console.log("".concat(z()," ").concat(d("File:")," ").concat($("".concat(t).concat(n?":".concat(n):"")))),r&&console.log(" ".concat(d("Rule:")," ").concat(d(r))),console.log(" ".concat(d("Message:")," ").concat(d(s)))}),console.log((0,I.default)(h(d("".concat(e,": ").concat(t.length))),{padding:i,margin:o,borderStyle:l,borderColor:s})),console.log(Y("─".repeat(40))))}var Z={success:function(e){return V("SUCCESS","green","✔",e)},error:function(e){return V("ERROR","red","✖",e)},warning:function(e){return V("WARNING","yellow","⚠",e)},info:function(e){return V("INFO","blue","ℹ",e)},printBoxedLog:X},ee=function(e){return"error_list:".concat(e)};function et(e){return en.apply(this,arguments)}function en(){en=t(function(e){var n,r,s;return a(this,function(c){switch(c.label){case 0:if(e.length===0)return[2];n=Date.now(),r=ee(n);c.label=1;case 1:c.trys.push([1,3,,4]);return[4,D.set(r,{errors:e,timestamp:n})];case 2:c.sent(),setTimeout(/*#__PURE__*/t(function(){var e;return a(this,function(t){switch(t.label){case 0:return[4,D.getLogLink(r)];case 1:e=t.sent();e&&Z.info("\uD83D\uDCC2 Open the error list manually: ".concat(e));return[2]}})}),10);return[3,4];case 3:s=c.sent();Z.error("Failed to save errors: ".concat(s.message));return[3,4];case 4:return[2]}})});return en.apply(this,arguments)}function er(){return es.apply(this,arguments)}function es(){es=t(function(){var e,n,r;return a(this,function(s){switch(s.label){case 0:s.trys.push([0,3,,4]);return[4,D.keys()];case 1:e=s.sent(),n=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(n.map(/*#__PURE__*/function(){var e=t(function(e){var t;return a(this,function(n){switch(n.label){case 0:return[4,D.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,s.sent().flat()];case 3:r=s.sent();return[2,(Z.error("Failed to retrieve stored errors: ".concat(r.message)),[])];case 4:return[2]}})});return es.apply(this,arguments)}function ec(){return ei.apply(this,arguments)}function ei(){ei=t(function(){var e,t,n;return a(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,D.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 D.remove(e)}))];case 2:r.sent();return[3,4];case 3:n=r.sent();Z.error("Failed to clear error lists: ".concat(n.message));return[3,4];case 4:return[2]}})});return ei.apply(this,arguments)}function ea(e){var t=[],n=[],r="",s=/^\s*(\d+):(\d+)\s+(error|warning)\s+(.+?)\s+(\S+)$/,c=/^(.+?)\((\d+),(\d+)\):\s+(error|warning)\s+TS\d+:\s+(\S.+)$/,i=/^✖\s+(.*?)\s+\[(.*?)\]$/;e.split("\n").forEach(function(e){if(e.startsWith("/"))r=e.trim();else{var a=s.exec(e)||[],o=c.exec(e)||[],u=i.exec(e)||[];a.length&&r?t.push({file:r,position:"".concat(a[1],":").concat(a[2]),type:a[3]==="error"?"error":"warning",message:a[4].trim(),rule:a[5].trim()}):o.length?t.push({file:o[1],position:"".concat(o[2],":").concat(o[3]),type:o[4]==="error"?"error":"warning",message:o[5].trim()}):u.length?t.push({file:"commitlint",type:"error",message:u[1].trim(),rule:u[2].trim()}):n.push(e.trim())}}),t.length&&et(t),n.length&&J&&(Z.warning("Unmatched lines:"),n.forEach(function(e){return console.log(" ".concat(e))}))}function eo(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,c=e.column,i=e.ruleId,a=e.message;n.push({type:r===2?"error":"warning",file:t,position:"".concat(s,":").concat(c),rule:i,message:a})})}),n.length&&et(n)}catch(t){ea(e)}}function eu(e){return el.apply(this,arguments)}function el(){el=t(function(e){var t,n,r,s,c,i,o,u,l;var f=arguments;return a(this,function(a){switch(a.label){case 0:t=f.length>1&&f[1]!==void 0?f[1]:eo;n=new AbortController;N.default.on("SIGINT",function(){Z.warning("Process interrupted. Terminating..."),n.abort(),N.default.exit()});a.label=1;case 1:a.trys.push([1,3,,4]);return[4,B(e,{maxBuffer:0x6400000,signal:n.signal})];case 2:r=a.sent(),s=r.stdout,c=r.stderr;[s,c].forEach(function(e){return e&&t(e)});return[3,4];case 3:i=a.sent();o=i.stdout,u=i.stderr,l=i.message;[o,u].forEach(function(e){return e&&t(e)}),!u&&!o&&Z.error("Command failed: ".concat(l));return[3,4];case 4:return[2]}})});return el.apply(this,arguments)}var ef=g(require("fs"),1),ep=function(e){return ef.existsSync(e)};var ed=g(require("node-fetch"),1),eh=g(require("fs"),1),eg=g(require("path"),1);var ey=24*60*60*1e3;function em(e){return e?eg.default.join(k,"node_modules",e,"package.json"):eg.default.join(k,"package.json")}function ev(e){return eb.apply(this,arguments)}function eb(){eb=t(function(e){var t,n,r,s,c,i,o,u,l,f;var p=arguments;return a(this,function(a){switch(a.label){case 0:t=p.length>1&&p[1]!==void 0?p[1]:!1;n="npm_version:".concat(e),r="npm_metadata:".concat(e);return[4,D.get(n)];case 1:s=a.sent();return[4,D.get(r)];case 2:c=a.sent(),i=s&&Date.now()-s.timestamp<ey;if(!t&&i)return[2,(Z.info("Using cached version for ".concat(e,": ").concat(s.version)),s.version)];o={};(c===null||c===void 0?void 0:c.etag)&&(o["If-None-Match"]=c.etag),(c===null||c===void 0?void 0:c.lastModified)&&(o["If-Modified-Since"]=c.lastModified);a.label=3;case 3:a.trys.push([3,8,,9]);Z.info("Fetching latest version for ".concat(e,"..."));return[4,(0,ed.default)("https://registry.npmjs.org/".concat(e,"/latest"),{headers:o})];case 4:u=a.sent();if(u.status===304&&s)return[2,(Z.info("Cache is still valid for ".concat(e,": ").concat(s.version)),s.version)];if(!u.ok)throw new Error("Failed to fetch latest version: ".concat(u.statusText));return[4,u.json()];case 5:l=a.sent().version;return[4,D.set(n,{version:l,timestamp:Date.now()})];case 6:a.sent();return[4,D.set(r,{etag:u.headers.get("ETag")||void 0,lastModified:u.headers.get("Last-Modified")||void 0})];case 7:return[2,(a.sent(),Z.success("Cached latest version for ".concat(e,": ").concat(l)),l)];case 8:f=a.sent();if(Z.error("Error fetching latest version for ".concat(e,": ").concat(f.message)),s)return[2,(Z.warning("Falling back to cached version for ".concat(e,": ").concat(s.version)),s.version)];throw f;case 9:return[2]}})});return eb.apply(this,arguments)}function ew(e){return e_.apply(this,arguments)}function e_(){e_=t(function(e){var t,n,r,s,c;var i=arguments;return a(this,function(a){switch(a.label){case 0:t=i.length>1&&i[1]!==void 0?i[1]:!0;a.label=1;case 1:a.trys.push([1,3,,4]);n=em(e);if(!eh.default.existsSync(n))return[2,(Z.info("".concat(e," is not installed.")),!0)];r=JSON.parse(eh.default.readFileSync(n,"utf-8")).version;return[4,ev(e,t)];case 2:s=a.sent();return[2,(Z.info("Installed version of ".concat(e,": ").concat(r)),Z.info("Latest version of ".concat(e,": ").concat(s)),r!==s)];case 3:c=a.sent();return[2,(Z.warning("Failed to check version for ".concat(e,": ").concat(c.message)),!0)];case 4:return[2]}})});return e_.apply(this,arguments)}function eS(e){return eO.apply(this,arguments)}function eO(){eO=t(function(e){var t,s,i,o;return a(this,function(a){switch(a.label){case 0:a.trys.push([0,4,,5]);return[4,ev(e,!0)];case 1:t=a.sent(),s=em();if(!eh.default.existsSync(s)){Z.error("package.json not found. Cannot update ".concat(e));return[2]}i=JSON.parse(eh.default.readFileSync(s,"utf-8"));i.dependencies=c(r({},i.dependencies),n({},e,t)),eh.default.writeFileSync(s,JSON.stringify(i,null,2)),Z.info("Updated ".concat(e," to version ").concat(t));return[4,eu("npm i -f")];case 2:a.sent();return[4,eu("npm run lint:fix")];case 3:a.sent(),Z.success("".concat(e," updated successfully."));return[3,5];case 4:o=a.sent();throw Z.error("Failed to update ".concat(e,": ").concat(o.message)),o;case 5:return[2]}})});return eO.apply(this,arguments)}function eT(e,t){try{var n=eg.default.join(e,"package.json");return eh.default.existsSync(n)?JSON.parse(eh.default.readFileSync(n,"utf-8")).name===t:!1}catch(e){return Z.error("Error reading package.json: ".concat(e.message)),!1}}var eA={TS_CONFIG_PATH:b.resolve(k,"tsconfig.json"),HUSKY_PATH:b.resolve(k,".husky"),GIT_HOOK_PATH:b.resolve(k,".git/hooks"),GIT_COMMIT_MSG:b.resolve(k,".git/COMMIT_EDITMSG"),SIMPLE_GIT_HOOKS_PATH:b.resolve(K,".simple-git-hooks.json"),PACKAGE_JSON_PATH:b.resolve(k,"package.json"),PACKAGE_LOCK_PATH:b.resolve(k,"package-lock.json"),PACKAGE_NAME:"@cyberskill/shared",LINT_STAGED_CONFIG_PATH:b.resolve(E,"./configs/lint-staged/base.js"),COMMITLINT_CONFIG_PATH:b.resolve(E,"./configs/commitlint/base.js"),UNIT_TEST_CONFIG_PATH:b.resolve(E,"./configs/vitest/react/unit.js"),E2E_TEST_CONFIG_PATH:b.resolve(E,"./configs/vitest/react/e2e.js"),HOOKS_CONFIG:{"pre-commit":"npx --yes cyberskill lint-staged","commit-msg":"npx --yes cyberskill commitlint"}};function eP(e,t){return eE.apply(this,arguments)}function eE(){eE=t(function(e,t){return a(this,function(n){switch(n.label){case 0:Z.info("➡️ ".concat(e,"..."));return[4,eu(t)];case 1:n.sent(),Z.success("✅ ".concat(e," completed."));return[2]}})});return eE.apply(this,arguments)}function ek(){return eI.apply(this,arguments)}function eI(){eI=t(function(){var e;return a(this,function(t){switch(t.label){case 0:if(!ep(eA.TS_CONFIG_PATH))return[3,2];return[4,eP("Running TypeScript check","npx tsc -p ".concat(eA.TS_CONFIG_PATH," --noEmit"))];case 1:e=t.sent();return[3,3];case 2:e=Z.warning("⚠️ TypeScript config not found. Skipping TypeScript check.");t.label=3;case 3:e;return[2]}})});return eI.apply(this,arguments)}function ej(){return eC.apply(this,arguments)}function eC(){eC=t(function(){var e;var t=arguments;return a(this,function(n){switch(n.label){case 0:e=t.length>0&&t[0]!==void 0?t[0]:!1;return[4,eP("Running ESLint ".concat(e?"(with fix)":"(without fix)"),"npx eslint ".concat(k).concat(e?" --fix":""))];case 1:n.sent();return[2]}})});return eC.apply(this,arguments)}function eN(){return eG.apply(this,arguments)}function eG(){eG=t(function(){var e;return a(this,function(t){switch(t.label){case 0:if(!eT(k,eA.PACKAGE_NAME))return[3,5];Z.info("➡️ @cyberskill/shared detected. Building before lint-staged...");t.label=1;case 1:t.trys.push([1,4,,5]);return[4,eP("Building @cyberskill/shared","npm run build")];case 2:t.sent();return[4,eu("git add dist")];case 3:t.sent(),Z.success("✅ Built and staged @cyberskill/shared");return[3,5];case 4:e=t.sent();throw Z.error("❌ Failed to build and stage @cyberskill/shared: ".concat(e.message)),e;case 5:return[4,eP("Running lint-staged","npx lint-staged --config ".concat(eA.LINT_STAGED_CONFIG_PATH))];case 6:t.sent();return[2]}})});return eG.apply(this,arguments)}function ex(){return eF.apply(this,arguments)}function eF(){eF=t(function(){return a(this,function(e){switch(e.label){case 0:return[4,eP("Inspecting ESLint rules","npx @eslint/config-inspector")];case 1:e.sent();return[2]}})});return eF.apply(this,arguments)}function eH(){return eL.apply(this,arguments)}function eL(){eL=t(function(){var e,t,n;return a(this,function(r){switch(r.label){case 0:return[4,ec()];case 1:r.sent();return[4,Promise.all([ek(),ej()])];case 2:r.sent();return[4,er()];case 3:e=r.sent(),t=e.filter(function(e){return e.type==="error"}),n=e.filter(function(e){return e.type==="warning"});!t.length&&!n.length?Z.printBoxedLog("✔ NO ISSUES FOUND","",{color:"green"}):(Z.printBoxedLog("⚠ Warnings",n,{color:"yellow"}),Z.printBoxedLog("✖ Errors",t,{color:"red"})),Z.success("✅ Lint check completed.");return[2]}})});return eL.apply(this,arguments)}function eM(){return eR.apply(this,arguments)}function eR(){eR=t(function(){return a(this,function(e){switch(e.label){case 0:return[4,eP("Running commit lint","npx commitlint --edit ".concat(eA.GIT_COMMIT_MSG," --config ").concat(eA.COMMITLINT_CONFIG_PATH))];case 1:e.sent();return[2]}})});return eR.apply(this,arguments)}function eK(){return eq.apply(this,arguments)}function eq(){eq=t(function(){var e,t,n,r,s,c;return a(this,function(i){switch(i.label){case 0:if(Z.info("➡️ Starting project setup..."),!ep(eA.PACKAGE_JSON_PATH)){Z.error("❌ package.json not found. Aborting setup.");return[2]}i.label=1;case 1:i.trys.push([1,9,,10]);t=JSON.parse(v.readFileSync(eA.PACKAGE_JSON_PATH,"utf-8"));r=eT(k,eA.PACKAGE_NAME);if(r)return[3,4];s=(e=t.dependencies)===null||e===void 0?void 0:e[eA.PACKAGE_NAME];if(!s)return[3,3];return[4,ew(eA.PACKAGE_NAME)];case 2:s=!i.sent();i.label=3;case 3:r=s;i.label=4;case 4:if(!r)return[3,5];n=Z.success("✅ Cyberskill package is already up to date.");return[3,7];case 5:Z.info("\uD83D\uDCE6 Updating Cyberskill package...");return[4,eS(eA.PACKAGE_NAME)];case 6:n=(i.sent(),Z.success("✅ Cyberskill package updated successfully."));i.label=7;case 7:n;return[4,eU()];case 8:i.sent(),Z.success("✅ Project setup completed.");return[3,10];case 9:c=i.sent();throw Z.error("❌ Failed to setup project: ".concat(c.message)),c;case 10:return[2]}})});return eq.apply(this,arguments)}function eU(){return eD.apply(this,arguments)}function eD(){eD=t(function(){var e;return a(this,function(t){switch(t.label){case 0:Z.info("➡️ Setting up Git hooks...");e=ep(eA.HUSKY_PATH);if(!e)return[3,3];return[4,eu("npx rimraf ".concat(eA.HUSKY_PATH," ").concat(eA.GIT_HOOK_PATH))];case 1:t.sent();return[4,eu("git config core.hooksPath ".concat(eA.GIT_HOOK_PATH))];case 2:e=t.sent();t.label=3;case 3:e,v.writeFileSync(eA.SIMPLE_GIT_HOOKS_PATH,JSON.stringify(eA.HOOKS_CONFIG,null,4));return[4,eu("npx simple-git-hooks")];case 4:t.sent(),Z.success("✅ Git hooks configured successfully.");return[2]}})});return eD.apply(this,arguments)}function eJ(){return eB.apply(this,arguments)}function eB(){eB=t(function(){var e,t,n,r,s,c,i,o,u,l,f;return a(this,function(a){switch(a.label){case 0:e=[{command:"npm install",message:"Standard installation"},{command:"npm install --legacy-peer-deps",message:"Attempting installation with --legacy-peer-deps"},{command:"npm install --force",message:"Attempting forced installation"}];t=true,n=false,r=undefined;a.label=1;case 1:a.trys.push([1,8,9,10]);s=e[Symbol.iterator]();a.label=2;case 2:if(!!(t=(c=s.next()).done))return[3,7];i=c.value,o=i.command,u=i.message;a.label=3;case 3:a.trys.push([3,5,,6]);Z.info("➡️ ".concat(u,"..."));return[4,eu(o)];case 4:a.sent(),Z.success("✅ Dependencies installed using: ".concat(o));return[2];case 5:l=a.sent();Z.warning("⚠️ Failed with: ".concat(o)),Z.error("❌ Error: ".concat(l.message));return[3,6];case 6:t=true;return[3,2];case 7:return[3,10];case 8:f=a.sent();n=true;r=f;return[3,10];case 9:try{if(!t&&s.return!=null){s.return()}}finally{if(n){throw r}}return[7];case 10:throw new Error("❌ Failed to install dependencies after multiple attempts.")}})});return eB.apply(this,arguments)}function eW(){return eY.apply(this,arguments)}function eY(){eY=t(function(){return a(this,function(e){switch(e.label){case 0:return[4,eP("Resetting project","npx rimraf ".concat(k,"/node_modules ").concat(eA.PACKAGE_LOCK_PATH))];case 1:e.sent();return[4,eJ()];case 2:e.sent();return[4,eU()];case 3:e.sent();return[2]}})});return eY.apply(this,arguments)}function e$(){return ez.apply(this,arguments)}function ez(){ez=t(function(){return a(this,function(e){switch(e.label){case 0:return[4,eP("Running unit tests","npx vitest --config ".concat(eA.UNIT_TEST_CONFIG_PATH))];case 1:e.sent();return[2]}})});return ez.apply(this,arguments)}function eQ(){return eV.apply(this,arguments)}function eV(){eV=t(function(){return a(this,function(e){switch(e.label){case 0:return[4,eP("Running E2E tests","npx vitest --config ".concat(eA.E2E_TEST_CONFIG_PATH))];case 1:e.sent();return[2]}})});return eV.apply(this,arguments)}(0,S.default)((0,_.hideBin)(w.default.argv)).command("lint","Run linting checks",eH).command("lint:fix","Fix linting issues",function(){return ej(!0)}).command("lint:inspect","Inspect linting rules",ex).command("lint-staged","Run lint-staged",eN).command("commitlint","Run commitlint",eM).command("setup","Run project setup",eK).command("reset","Reset project dependencies",eW).command("test:unit","Run unit tests",e$).command("test:e2e","Run e2e tests",eQ).help().parse();
package/dist/commands.js CHANGED
@@ -1,2 +1,2 @@
1
1
  #!/usr/bin/env node
2
- function e(e,t){if(t==null||t>e.length)t=e.length;for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function t(t){if(Array.isArray(t))return e(t)}function n(e,t,n,r,o,s,c){try{var i=e[s](c);var a=i.value}catch(e){n(e);return}if(i.done){t(a)}else{Promise.resolve(a).then(r,o)}}function r(e){return function(){var t=this,r=arguments;return new Promise(function(o,s){var c=e.apply(t,r);function i(e){n(c,o,s,i,a,"next",e)}function a(e){n(c,o,s,i,a,"throw",e)}i(undefined)})}}function o(e,t,n){if(t in e){Object.defineProperty(e,t,{value:n,enumerable:true,configurable:true,writable:true})}else{e[t]=n}return e}function s(e){if(typeof Symbol!=="undefined"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function c(){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 i(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};var r=Object.keys(n);if(typeof Object.getOwnPropertySymbols==="function"){r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))}r.forEach(function(t){o(e,t,n[t])})}return e}function a(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 u(e,t){t=t!=null?t:{};if(Object.getOwnPropertyDescriptors){Object.defineProperties(e,Object.getOwnPropertyDescriptors(t))}else{a(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}function l(e){return t(e)||s(e)||p(e)||c()}function f(e){"@swc/helpers - typeof";return e&&typeof Symbol!=="undefined"&&e.constructor===Symbol?"symbol":typeof e}function p(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 h(e,t){var n,r,o,s,c={label:0,sent:function(){if(o[0]&1)throw o[1];return o[1]},trys:[],ops:[]};return s={next:i(0),"throw":i(1),"return":i(2)},typeof Symbol==="function"&&(s[Symbol.iterator]=function(){return this}),s;function i(e){return function(t){return a([e,t])}}function a(s){if(n)throw new TypeError("Generator is already executing.");while(c)try{if(n=1,r&&(o=s[0]&2?r["return"]:s[0]?r["throw"]||((o=r["return"])&&o.call(r),0):r.next)&&!(o=o.call(r,s[1])).done)return o;if(r=0,o)s=[s[0]&2,o.value];switch(s[0]){case 0:case 1:o=s;break;case 4:c.label++;return{value:s[1],done:false};case 5:c.label++;r=s[1];s=[0];continue;case 7:s=c.ops.pop();c.trys.pop();continue;default:if(!(o=c.trys,o=o.length>0&&o[o.length-1])&&(s[0]===6||s[0]===2)){c=0;continue}if(s[0]===3&&(!o||s[1]>o[0]&&s[1]<o[3])){c.label=s[1];break}if(s[0]===6&&c.label<o[1]){c.label=o[1];o=s;break}if(o&&c.label<o[2]){c.label=o[2];c.ops.push(s);break}if(o[2])c.ops.pop();c.trys.pop();continue}s=t.call(e,c)}catch(e){s=[6,e];r=0}finally{n=o=0}if(s[0]&5)throw s[1];return{value:s[0]?s[1]:void 0,done:true}}}import*as g from"node:fs";import*as d from"node:path";import y from"node:process";import{hideBin as m}from"yargs/helpers";import v from"yargs/yargs";import{dirname as b}from"node:path";import S from"node:process";import{fileURLToPath as w}from"node:url";var _=w(import.meta.url),T=b(_),O=S.env.INIT_CWD||S.cwd();import E from"boxen";import I from"chalk";var k=I.green,A=I.yellow,P=I.red,j=I.gray,x=I.bold,N=I.blue,C={step:function(e,t,n){var r=new Date().toLocaleTimeString(),o=e!==null&&t!==null?"STEP [".concat(e,"/").concat(t,"]"):"STEP";console.log("".concat(k(o)," ").concat(j("[".concat(r,"]"))," ").concat(x(n)))},success:function(e){console.log("".concat(k("✔ SUCCESS")," ").concat(e))},error:function(e){console.log("".concat(P("✖ ERROR")," ").concat(e))},warning:function(e){console.log("".concat(A("⚠ WARNING")," ").concat(e))},info:function(e){console.log("".concat(j("ℹ INFO")," ").concat(e))},boxedResult:function(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:k;console.log(E(x(n("".concat(e,"\n").concat(t))),{padding:1,margin:1,borderStyle:"round",borderColor:n===P?"red":n===A?"yellow":"green"}))},logResults:function(e,t,n,r){e.length&&(e.forEach(function(e){var r=e.file,o=e.position,s=e.rule,c=e.message;console.log("".concat(t("".concat(n," File:"))," ").concat(N("".concat(r).concat(o?":".concat(o):"")))),s&&console.log(" ".concat(t("Rule:")," ").concat(t(s))),console.log(" ".concat(t("Message:")," ").concat(t(c)))}),console.log(E(x(t("".concat(n," Total ").concat(r,": ").concat(e.length))),{padding:1,margin:1,borderStyle:"round",borderColor:t===P?"red":t===A?"yellow":"green"})),console.log(j("─".repeat(40))))},displayResults:/*#__PURE__*/r(function(){var e,t,n;return h(this,function(r){switch(r.label){case 0:return[4,$()];case 1:e=r.sent(),t=e.filter(function(e){return e.type==="error"}),n=e.filter(function(e){return e.type==="warning"});!t.length&&!n.length?C.boxedResult("✔ NO ISSUES FOUND","",k):(C.logResults(n,A,"⚠","Warnings"),C.logResults(t,P,"✖","Errors"));return[2]}})})};import G from"localforage";import M from"node-persist";import F from"node:os";import H from"node:path";import R from"node:process";var L=(typeof window==="undefined"?"undefined":f(window))<"u",U=R.env.CYBERSKILL_STORAGE_DIR||H.join(F.homedir(),".cyberskill-storage");function D(){return K.apply(this,arguments)}function K(){K=r(function(){var e;return h(this,function(t){switch(t.label){case 0:e=!L&&!M.defaultInstance;if(!e)return[3,2];return[4,M.init({dir:U,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 K.apply(this,arguments)}var J={get:function e(e){return r(function(){var t,n,r;return h(this,function(o){switch(o.label){case 0:o.trys.push([0,6,,7]);if(!L)return[3,2];return[4,G.getItem(e)];case 1:n=o.sent();return[3,5];case 2:return[4,D()];case 3:o.sent();return[4,M.getItem(e)];case 4:n=(t=o.sent())!==null&&t!==void 0?t:null;o.label=5;case 5:return[2,n];case 6:r=o.sent();return[2,(console.error('❌ [Storage:get] Error getting key "'.concat(e,'":'),r),null)];case 7:return[2]}})})()},set:function e(e,t){return r(function(){var n,r;return h(this,function(o){switch(o.label){case 0:o.trys.push([0,6,,7]);if(!L)return[3,2];return[4,G.setItem(e,t)];case 1:n=o.sent();return[3,5];case 2:return[4,D()];case 3:o.sent();return[4,M.setItem(e,t)];case 4:n=o.sent();o.label=5;case 5:n;return[3,7];case 6:r=o.sent();console.error('❌ [Storage:set] Error setting key "'.concat(e,'":'),r);return[3,7];case 7:return[2]}})})()},remove:function e(e){return r(function(){var t,n;return h(this,function(r){switch(r.label){case 0:r.trys.push([0,6,,7]);if(!L)return[3,2];return[4,G.removeItem(e)];case 1:t=r.sent();return[3,5];case 2:return[4,D()];case 3:r.sent();return[4,M.removeItem(e)];case 4:t=r.sent();r.label=5;case 5:t;return[3,7];case 6:n=r.sent();console.error('❌ [Storage:remove] Error removing key "'.concat(e,'":'),n);return[3,7];case 7:return[2]}})})()},keys:function e(){return r(function(){var e,t,n;return h(this,function(r){switch(r.label){case 0:r.trys.push([0,5,,6]);if(!L)return[3,2];return[4,G.keys()];case 1:return[2,(e=r.sent())!==null&&e!==void 0?e:[]];case 2:return[4,D()];case 3:r.sent();return[4,M.keys()];case 4:t=r.sent();return[2,Array.isArray(t)?t:(console.warn("⚠️ [Storage:keys] Invalid keys response:",t),[])];case 5:n=r.sent();return[2,(console.error("❌ [Storage:keys] Error getting keys:",n),[])];case 6:return[2]}})})()},getLogLink:function e(e){return r(function(){return h(this,function(t){try{return[2,"".concat(U," (key: ").concat(e,")")]}catch(e){return[2,(console.error("❌ [Storage:getLogLink] Error getting log link:",e),null)]}return[2]})})()}};var W=function(e){return"error_list:".concat(e)};function B(e){return Y.apply(this,arguments)}function Y(){Y=r(function(e){var t,n,o;return h(this,function(s){switch(s.label){case 0:if(!e.length)return[2];t=Date.now(),n=W(t);s.label=1;case 1:s.trys.push([1,3,,4]);return[4,J.set(n,{errors:e,timestamp:t})];case 2:s.sent(),setTimeout(/*#__PURE__*/r(function(){var e;return h(this,function(t){switch(t.label){case 0:return[4,J.getLogLink(n)];case 1:e=t.sent();e&&C.info("\uD83D\uDCC2 Open the error list manually: ".concat(e));return[2]}})}),10);return[3,4];case 3:o=s.sent();C.error("Failed to save errors: ".concat(o.message));return[3,4];case 4:return[2]}})});return Y.apply(this,arguments)}function $(){return q.apply(this,arguments)}function q(){q=r(function(){var e,t,n,r,o,s,c,i,a,u,f,p,g;return h(this,function(h){switch(h.label){case 0:h.trys.push([0,10,,11]);return[4,J.keys()];case 1:e=h.sent();if(!Array.isArray(e))return[2,(C.warning("Invalid response from storage.keys(): ".concat(e)),[])];t=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:")}),n=[];r=true,o=false,s=undefined;h.label=2;case 2:h.trys.push([2,7,8,9]);c=t[Symbol.iterator]();h.label=3;case 3:if(!!(r=(i=c.next()).done))return[3,6];a=i.value;return[4,J.get(a)];case 4:f=h.sent();f&&(u=n).push.apply(u,l(f.errors));h.label=5;case 5:r=true;return[3,3];case 6:return[3,9];case 7:p=h.sent();o=true;s=p;return[3,9];case 8:try{if(!r&&c.return!=null){c.return()}}finally{if(o){throw s}}return[7];case 9:return[2,n];case 10:g=h.sent();return[2,(C.error("Failed to retrieve stored errors: ".concat(g.message)),[])];case 11:return[2]}})});return q.apply(this,arguments)}function z(){return Q.apply(this,arguments)}function Q(){Q=r(function(){var e,t,n,r,o,s,c,i,a,u;return h(this,function(l){switch(l.label){case 0:l.trys.push([0,10,,11]);return[4,J.keys()];case 1:e=l.sent();if(!Array.isArray(e)){C.warning("Invalid response from storage.keys(): ".concat(e));return[2]}t=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:")});n=true,r=false,o=undefined;l.label=2;case 2:l.trys.push([2,7,8,9]);s=t[Symbol.iterator]();l.label=3;case 3:if(!!(n=(c=s.next()).done))return[3,6];i=c.value;return[4,J.remove(i)];case 4:l.sent();l.label=5;case 5:n=true;return[3,3];case 6:return[3,9];case 7:a=l.sent();r=true;o=a;return[3,9];case 8:try{if(!n&&s.return!=null){s.return()}}finally{if(r){throw o}}return[7];case 9:return[3,11];case 10:u=l.sent();C.error("Failed to clear error lists: ".concat(u.message));return[3,11];case 11:return[2]}})});return Q.apply(this,arguments)}import{exec as V}from"node:child_process";import X from"node:process";import*as Z from"node:util";var ee=Z.promisify(V),et=X.env.DEBUG==="true",en=/^\s*(\d+):(\d+)\s+(error|warning)\s+(.+?)\s+(\S+)$/,er=/^(.+?)\((\d+),(\d+)\):\s+(error|warning)\s+TS\d+:\s+(\S.+)$/,eo=/^✖\s+(.*?)\s+\[(.*?)\]$/;function es(e){var t=[],n=[],r="";e.split("\n").forEach(function(e){if(e.startsWith("/"))r=e.trim();else{var o=en.exec(e)||[],s=er.exec(e)||[],c=eo.exec(e)||[];o.length&&r?t.push({file:r,position:"".concat(o[1],":").concat(o[2]),type:o[3]==="error"?"error":"warning",message:o[4].trim(),rule:o[5].trim()}):s.length?t.push({file:s[1],position:"".concat(s[2],":").concat(s[3]),type:s[4]==="error"?"error":"warning",message:s[5].trim()}):c.length?t.push({file:"commitlint",type:"error",message:c[1].trim(),rule:c[2].trim()}):n.push(e.trim())}}),t.length&&B(t),n.length&&et&&(C.warning("Unmatched lines:"),n.forEach(function(e){return console.log(" ".concat(e))}))}function ec(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,o=e.line,s=e.column,c=e.ruleId,i=e.message;n.push({type:r===2?"error":"warning",file:t,position:"".concat(o,":").concat(s),rule:c,message:i})})}),n.length&&B(n)}catch(t){es(e)}}function ei(e){return ea.apply(this,arguments)}function ea(){ea=r(function(e){var t,n,r,o,s,c,i,a,u;var l=arguments;return h(this,function(f){switch(f.label){case 0:t=l.length>1&&l[1]!==void 0?l[1]:ec;n=new AbortController;X.on("SIGINT",function(){C.warning("Process interrupted. Terminating..."),n.abort(),X.exit()});f.label=1;case 1:f.trys.push([1,3,,4]);return[4,ee(e,{maxBuffer:0x6400000,signal:n.signal})];case 2:r=f.sent(),o=r.stdout,s=r.stderr;[o,s].forEach(function(e){return e&&t(e)});return[3,4];case 3:c=f.sent();i=c.stdout,a=c.stderr,u=c.message;[i,a].forEach(function(e){return e&&t(e)}),!a&&!i&&C.error("Command failed: ".concat(u));return[3,4];case 4:return[2]}})});return ea.apply(this,arguments)}import eu from"node-fetch";import el from"node:fs";import ef from"node:path";var ep=24*60*60*1e3;function eh(e){return e?ef.join(O,"node_modules",e,"package.json"):ef.join(O,"package.json")}function eg(e){return ed.apply(this,arguments)}function ed(){ed=r(function(e){var t,n,r,o,s,c,i,a,u,l;var f=arguments;return h(this,function(p){switch(p.label){case 0:t=f.length>1&&f[1]!==void 0?f[1]:!1;n="npm_version:".concat(e),r="npm_metadata:".concat(e);return[4,J.get(n)];case 1:o=p.sent();return[4,J.get(r)];case 2:s=p.sent(),c=o&&Date.now()-o.timestamp<ep;if(!t&&c)return[2,(C.info("Using cached version for ".concat(e,": ").concat(o.version)),o.version)];i={};(s===null||s===void 0?void 0:s.etag)&&(i["If-None-Match"]=s.etag),(s===null||s===void 0?void 0:s.lastModified)&&(i["If-Modified-Since"]=s.lastModified);p.label=3;case 3:p.trys.push([3,8,,9]);C.info("Fetching latest version for ".concat(e,"..."));return[4,eu("https://registry.npmjs.org/".concat(e,"/latest"),{headers:i})];case 4:a=p.sent();if(a.status===304&&o)return[2,(C.info("Cache is still valid for ".concat(e,": ").concat(o.version)),o.version)];if(!a.ok)throw new Error("Failed to fetch latest version: ".concat(a.statusText));return[4,a.json()];case 5:u=p.sent().version;return[4,J.set(n,{version:u,timestamp:Date.now()})];case 6:p.sent();return[4,J.set(r,{etag:a.headers.get("ETag")||void 0,lastModified:a.headers.get("Last-Modified")||void 0})];case 7:return[2,(p.sent(),C.success("Cached latest version for ".concat(e,": ").concat(u)),u)];case 8:l=p.sent();if(C.error("Error fetching latest version for ".concat(e,": ").concat(l.message)),o)return[2,(C.warning("Falling back to cached version for ".concat(e,": ").concat(o.version)),o.version)];throw l;case 9:return[2]}})});return ed.apply(this,arguments)}function ey(e){return em.apply(this,arguments)}function em(){em=r(function(e){var t,n,r,o,s;var c=arguments;return h(this,function(i){switch(i.label){case 0:t=c.length>1&&c[1]!==void 0?c[1]:!0;i.label=1;case 1:i.trys.push([1,3,,4]);n=eh(e);if(!el.existsSync(n))return[2,(C.info("".concat(e," is not installed.")),!0)];r=JSON.parse(el.readFileSync(n,"utf-8")).version;return[4,eg(e,t)];case 2:o=i.sent();return[2,(C.info("Installed version of ".concat(e,": ").concat(r)),C.info("Latest version of ".concat(e,": ").concat(o)),r!==o)];case 3:s=i.sent();return[2,(C.warning("Failed to check version for ".concat(e,": ").concat(s.message)),!0)];case 4:return[2]}})});return em.apply(this,arguments)}function ev(e){return eb.apply(this,arguments)}function eb(){eb=r(function(e){var t,n,r,s;return h(this,function(c){switch(c.label){case 0:c.trys.push([0,4,,5]);return[4,eg(e,!0)];case 1:t=c.sent(),n=eh();if(!el.existsSync(n)){C.error("package.json not found. Cannot update ".concat(e));return[2]}r=JSON.parse(el.readFileSync(n,"utf-8"));r.dependencies=u(i({},r.dependencies),o({},e,t)),el.writeFileSync(n,JSON.stringify(r,null,2)),C.info("Updated ".concat(e," to version ").concat(t));return[4,ei("npm i -f")];case 2:c.sent();return[4,ei("npm run lint:fix")];case 3:c.sent(),C.success("".concat(e," updated successfully."));return[3,5];case 4:s=c.sent();throw C.error("Failed to update ".concat(e,": ").concat(s.message)),s;case 5:return[2]}})});return eb.apply(this,arguments)}function eS(e,t){try{var n=ef.join(e,"package.json");return el.existsSync(n)?JSON.parse(el.readFileSync(n,"utf-8")).name===t:!1}catch(e){return C.error("Error reading package.json: ".concat(e.message)),!1}}var ew={TS_CONFIG_PATH:d.join(O,"tsconfig.json"),HUSKY_PATH:d.join(O,".husky"),GIT_HOOK_PATH:d.join(O,".git","hooks"),GIT_COMMIT_MSG:d.join(O,".git","COMMIT_EDITMSG"),SIMPLE_GIT_HOOKS_PATH:d.join(O,".simple-git-hooks.json"),PACKAGE_NAME:"@cyberskill/shared",LINT_STAGED_CONFIG_PATH:d.resolve(T,"./configs/lint-staged/base.js"),COMMITLINT_CONFIG_PATH:d.resolve(T,"./configs/commitlint/base.js"),UNIT_TEST_CONFIG_PATH:d.resolve(T,"./configs/vitest/react/unit.js"),E2E_TEST_CONFIG_PATH:d.resolve(T,"./configs/vitest/react/e2e.js")},e_=function(e){return g.existsSync(e)},eT=0,eO=1;function eE(e){eO=Math.max(1,e),eT=0}function eI(e){eT=Math.min(eT+1,eO),C.step(eT,eO,e)}function ek(){return eA.apply(this,arguments)}function eA(){eA=r(function(){var e;return h(this,function(t){switch(t.label){case 0:eI("Starting TypeScript check");if(!e_(ew.TS_CONFIG_PATH))return[3,2];return[4,ei("npx tsc -p ".concat(ew.TS_CONFIG_PATH," --noEmit"))];case 1:e=t.sent();return[3,3];case 2:e=C.warning("tsconfig.json file not found. Skipping TypeScript check.");t.label=3;case 3:e;return[2]}})});return eA.apply(this,arguments)}function eP(){return ej.apply(this,arguments)}function ej(){ej=r(function(){var e,t;var n=arguments;return h(this,function(r){switch(r.label){case 0:e=n.length>0&&n[0]!==void 0?n[0]:!1;eI("Starting ESLint ".concat(e?"fix":"check"));t="npx eslint ".concat(O).concat(e?" --fix":"");return[4,ei(t)];case 1:r.sent();return[2]}})});return ej.apply(this,arguments)}function ex(){return eN.apply(this,arguments)}function eN(){eN=r(function(){return h(this,function(e){switch(e.label){case 0:eE(1),eI("Starting lint-staged process");return[4,ei("npx lint-staged --config ".concat(ew.LINT_STAGED_CONFIG_PATH))];case 1:e.sent();return[2]}})});return eN.apply(this,arguments)}function eC(){return eG.apply(this,arguments)}function eG(){eG=r(function(){return h(this,function(e){switch(e.label){case 0:eE(1),eI("Inspecting lint rules");return[4,ei("npx @eslint/config-inspector")];case 1:e.sent();return[2]}})});return eG.apply(this,arguments)}function eM(){return eF.apply(this,arguments)}function eF(){eF=r(function(){return h(this,function(e){switch(e.label){case 0:eE(2);return[4,z()];case 1:e.sent();return[4,ek()];case 2:e.sent();return[4,eP()];case 3:e.sent();return[4,C.displayResults()];case 4:e.sent();return[2]}})});return eF.apply(this,arguments)}function eH(){return eR.apply(this,arguments)}function eR(){eR=r(function(){return h(this,function(e){switch(e.label){case 0:eI("Running commit lint");return[4,ei("npx --no -- commitlint --edit ".concat(ew.GIT_COMMIT_MSG," --config ").concat(ew.COMMITLINT_CONFIG_PATH))];case 1:e.sent();return[2]}})});return eR.apply(this,arguments)}function eL(){return eU.apply(this,arguments)}function eU(){eU=r(function(){var e,t;return h(this,function(n){switch(n.label){case 0:eE(2),eI("Setting up Git hooks");e=e_(ew.HUSKY_PATH);if(!e)return[3,2];return[4,ei("npx rimraf ".concat(ew.HUSKY_PATH," ").concat(ew.GIT_HOOK_PATH," && git config core.hooksPath ").concat(ew.GIT_HOOK_PATH))];case 1:e=n.sent();n.label=2;case 2:e;t={"pre-commit":eS(O,ew.PACKAGE_NAME)?'bash -c "npm run build && npx --yes cyberskill lint-staged"':"npx --yes cyberskill lint-staged","commit-msg":"npx --yes cyberskill commitlint"};g.writeFileSync(ew.SIMPLE_GIT_HOOKS_PATH,JSON.stringify(t,null,4));return[4,ei("npx simple-git-hooks")];case 3:n.sent(),C.success("Git hooks configured successfully."),g.unlinkSync(ew.SIMPLE_GIT_HOOKS_PATH);return[2]}})});return eU.apply(this,arguments)}function eD(){return eK.apply(this,arguments)}function eK(){eK=r(function(){var e,t,n,r,o,s,c;return h(this,function(i){switch(i.label){case 0:eE(2),eI("Starting project setup");e=d.join(O,"package.json");i.label=1;case 1:i.trys.push([1,10,,11]);if(!e_(e)){C.error("package.json not found. Setup aborted.");return[2]}n=JSON.parse(g.readFileSync(e,"utf-8"));if(!eS(O,ew.PACKAGE_NAME))return[3,2];r=C.success("Cyberskill is already installed.");return[3,8];case 2:s=!((t=n.dependencies)===null||t===void 0?void 0:t[ew.PACKAGE_NAME]);if(s)return[3,4];return[4,ey(ew.PACKAGE_NAME)];case 3:s=i.sent();i.label=4;case 4:if(!s)return[3,6];C.info("Updating Cyberskill package...");return[4,ev(ew.PACKAGE_NAME)];case 5:o=i.sent();return[3,7];case 6:o=C.success("Cyberskill is up to date.");i.label=7;case 7:r=o;i.label=8;case 8:r;return[4,eL()];case 9:i.sent();return[3,11];case 10:c=i.sent();throw C.error("Error reading package.json: ".concat(c.message)),c;case 11:return[2]}})});return eK.apply(this,arguments)}function eJ(){return eW.apply(this,arguments)}function eW(){eW=r(function(){return h(this,function(e){switch(e.label){case 0:eE(1),eI("Running unit tests");return[4,ei("npx vitest --config ".concat(ew.UNIT_TEST_CONFIG_PATH))];case 1:e.sent();return[2]}})});return eW.apply(this,arguments)}function eB(){return eY.apply(this,arguments)}function eY(){eY=r(function(){return h(this,function(e){switch(e.label){case 0:eE(1),eI("Running e2e tests");return[4,ei("npx vitest --config ".concat(ew.E2E_TEST_CONFIG_PATH))];case 1:e.sent();return[2]}})});return eY.apply(this,arguments)}v(m(y.argv)).command("lint","Run linting checks",eM).command("lint:fix","Fix linting issues",function(){return eP(!0)}).command("lint:inspect","Inspect linting rules",eC).command("lint-staged","Run lint-staged",ex).command("commitlint","Run commitlint",eH).command("setup","Run project setup",eD).command("reset","Reset project dependencies",/*#__PURE__*/r(function(){return h(this,function(e){switch(e.label){case 0:eE(1),eI("Starting project reset");return[4,ei("npx rimraf ".concat(O,"/node_modules ").concat(O,"/package-lock.json"))];case 1:e.sent();return[4,ei("npm i -f")];case 2:e.sent();return[4,eL()];case 3:e.sent();return[2]}})})).command("test:unit","Run unit tests",eJ).command("test:e2e","Run e2e tests",eB).help().parse();
2
+ function e(e,t,n,r,s,o,c){try{var i=e[o](c);var a=i.value}catch(e){n(e);return}if(i.done){t(a)}else{Promise.resolve(a).then(r,s)}}function t(t){return function(){var n=this,r=arguments;return new Promise(function(s,o){var c=t.apply(n,r);function i(t){e(c,s,o,i,a,"next",t)}function a(t){e(c,s,o,i,a,"throw",t)}i(undefined)})}}function n(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 r(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};var s=Object.keys(r);if(typeof Object.getOwnPropertySymbols==="function"){s=s.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))}s.forEach(function(t){n(e,t,r[t])})}return e}function s(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 o(e,t){t=t!=null?t:{};if(Object.getOwnPropertyDescriptors){Object.defineProperties(e,Object.getOwnPropertyDescriptors(t))}else{s(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}function c(e){"@swc/helpers - typeof";return e&&typeof Symbol!=="undefined"&&e.constructor===Symbol?"symbol":typeof e}function i(e,t){var n,r,s,o,c={label:0,sent:function(){if(s[0]&1)throw s[1];return s[1]},trys:[],ops:[]};return o={next:i(0),"throw":i(1),"return":i(2)},typeof Symbol==="function"&&(o[Symbol.iterator]=function(){return this}),o;function i(e){return function(t){return a([e,t])}}function a(o){if(n)throw new TypeError("Generator is already executing.");while(c)try{if(n=1,r&&(s=o[0]&2?r["return"]:o[0]?r["throw"]||((s=r["return"])&&s.call(r),0):r.next)&&!(s=s.call(r,o[1])).done)return s;if(r=0,s)o=[o[0]&2,s.value];switch(o[0]){case 0:case 1:s=o;break;case 4:c.label++;return{value:o[1],done:false};case 5:c.label++;r=o[1];o=[0];continue;case 7:o=c.ops.pop();c.trys.pop();continue;default:if(!(s=c.trys,s=s.length>0&&s[s.length-1])&&(o[0]===6||o[0]===2)){c=0;continue}if(o[0]===3&&(!s||o[1]>s[0]&&o[1]<s[3])){c.label=o[1];break}if(o[0]===6&&c.label<s[1]){c.label=s[1];s=o;break}if(s&&c.label<s[2]){c.label=s[2];c.ops.push(o);break}if(s[2])c.ops.pop();c.trys.pop();continue}o=t.call(e,c)}catch(e){o=[6,e];r=0}finally{n=s=0}if(o[0]&5)throw o[1];return{value:o[0]?o[1]:void 0,done:true}}}import*as a from"node:fs";import*as u from"node:path";import l from"node:process";import{hideBin as f}from"yargs/helpers";import p from"yargs/yargs";import{dirname as d}from"node:path";import h from"node:process";import{fileURLToPath as g}from"node:url";var m=g(import.meta.url),y=d(m),v=h.env.INIT_CWD||h.cwd();import b from"boxen";import w from"chalk";import{exec as _}from"node:child_process";import S from"node:process";import*as O from"node:util";import T from"localforage";import A from"node-persist";import E from"node:os";import k from"node:path";import P from"node:process";var I=(typeof window==="undefined"?"undefined":c(window))<"u",C=P.env.CYBERSKILL_STORAGE_DIR||k.join(E.homedir(),".cyberskill-storage");function N(){return G.apply(this,arguments)}function G(){G=t(function(){var e;return i(this,function(t){switch(t.label){case 0:e=!I&&!A.defaultInstance;if(!e)return[3,2];return[4,A.init({dir:C,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 G.apply(this,arguments)}var j={get:function e(e){return t(function(){var t,n,r;return i(this,function(s){switch(s.label){case 0:s.trys.push([0,6,,7]);if(!I)return[3,2];return[4,T.getItem(e)];case 1:n=s.sent();return[3,5];case 2:return[4,N()];case 3:s.sent();return[4,A.getItem(e)];case 4:n=(t=s.sent())!==null&&t!==void 0?t:null;s.label=5;case 5:return[2,n];case 6:r=s.sent();return[2,(console.error('❌ [Storage:get] Error getting key "'.concat(e,'":'),r),null)];case 7:return[2]}})})()},set:function e(e,n){return t(function(){var t,r;return i(this,function(s){switch(s.label){case 0:s.trys.push([0,6,,7]);if(!I)return[3,2];return[4,T.setItem(e,n)];case 1:t=s.sent();return[3,5];case 2:return[4,N()];case 3:s.sent();return[4,A.setItem(e,n)];case 4:t=s.sent();s.label=5;case 5:t;return[3,7];case 6:r=s.sent();console.error('❌ [Storage:set] Error setting key "'.concat(e,'":'),r);return[3,7];case 7:return[2]}})})()},remove:function e(e){return t(function(){var t,n;return i(this,function(r){switch(r.label){case 0:r.trys.push([0,6,,7]);if(!I)return[3,2];return[4,T.removeItem(e)];case 1:t=r.sent();return[3,5];case 2:return[4,N()];case 3:r.sent();return[4,A.removeItem(e)];case 4:t=r.sent();r.label=5;case 5:t;return[3,7];case 6:n=r.sent();console.error('❌ [Storage:remove] Error removing key "'.concat(e,'":'),n);return[3,7];case 7:return[2]}})})()},keys:function e(){return t(function(){var e,t,n;return i(this,function(r){switch(r.label){case 0:r.trys.push([0,5,,6]);if(!I)return[3,2];return[4,T.keys()];case 1:return[2,(e=r.sent())!==null&&e!==void 0?e:[]];case 2:return[4,N()];case 3:r.sent();return[4,A.keys()];case 4:t=r.sent();return[2,Array.isArray(t)?t:(console.warn("⚠️ [Storage:keys] Invalid keys response:",t),[])];case 5:n=r.sent();return[2,(console.error("❌ [Storage:keys] Error getting keys:",n),[])];case 6:return[2]}})})()},getLogLink:function e(e){return t(function(){return i(this,function(t){try{return[2,"".concat(C," (key: ").concat(e,")")]}catch(e){return[2,(console.error("❌ [Storage:getLogLink] Error getting log link:",e),null)]}return[2]})})()}};var x=S.env.DEBUG==="true",F=O.promisify(_),H=w.gray,M=w.blue,L=function(){return H("[".concat(new Date().toLocaleTimeString(),"]"))};function R(e){var t=w[e];return typeof t=="function"?t:w.green}function K(e,t,n,r){var s=R(t);console.log("".concat(L()," ").concat(s("".concat(n," ").concat(e))," ").concat(r))}function D(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},r=n.color,s=r===void 0?"green":r,o=n.padding,c=o===void 0?1:o,i=n.margin,a=i===void 0?1:i,u=n.borderStyle,l=u===void 0?"round":u,f=n.titleColor,p=f===void 0?"bold":f;var d=R(s),h=R(p);if(typeof t=="string"){console.log(b(h(d("".concat(e,"\n").concat(t))),{padding:c,margin:a,borderStyle:l,borderColor:s}));return}Array.isArray(t)&&t.length&&(t.forEach(function(e){var t=e.file,n=e.position,r=e.rule,s=e.message;console.log("".concat(L()," ").concat(d("File:")," ").concat(M("".concat(t).concat(n?":".concat(n):"")))),r&&console.log(" ".concat(d("Rule:")," ").concat(d(r))),console.log(" ".concat(d("Message:")," ").concat(d(s)))}),console.log(b(h(d("".concat(e,": ").concat(t.length))),{padding:c,margin:a,borderStyle:l,borderColor:s})),console.log(H("─".repeat(40))))}var U={success:function(e){return K("SUCCESS","green","✔",e)},error:function(e){return K("ERROR","red","✖",e)},warning:function(e){return K("WARNING","yellow","⚠",e)},info:function(e){return K("INFO","blue","ℹ",e)},printBoxedLog:D},J=function(e){return"error_list:".concat(e)};function B(e){return W.apply(this,arguments)}function W(){W=t(function(e){var n,r,s;return i(this,function(o){switch(o.label){case 0:if(e.length===0)return[2];n=Date.now(),r=J(n);o.label=1;case 1:o.trys.push([1,3,,4]);return[4,j.set(r,{errors:e,timestamp:n})];case 2:o.sent(),setTimeout(/*#__PURE__*/t(function(){var e;return i(this,function(t){switch(t.label){case 0:return[4,j.getLogLink(r)];case 1:e=t.sent();e&&U.info("\uD83D\uDCC2 Open the error list manually: ".concat(e));return[2]}})}),10);return[3,4];case 3:s=o.sent();U.error("Failed to save errors: ".concat(s.message));return[3,4];case 4:return[2]}})});return W.apply(this,arguments)}function Y(){return $.apply(this,arguments)}function $(){$=t(function(){var e,n,r;return i(this,function(s){switch(s.label){case 0:s.trys.push([0,3,,4]);return[4,j.keys()];case 1:e=s.sent(),n=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(n.map(/*#__PURE__*/function(){var e=t(function(e){var t;return i(this,function(n){switch(n.label){case 0:return[4,j.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,s.sent().flat()];case 3:r=s.sent();return[2,(U.error("Failed to retrieve stored errors: ".concat(r.message)),[])];case 4:return[2]}})});return $.apply(this,arguments)}function q(){return z.apply(this,arguments)}function z(){z=t(function(){var e,t,n;return i(this,function(r){switch(r.label){case 0:r.trys.push([0,3,,4]);return[4,j.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 j.remove(e)}))];case 2:r.sent();return[3,4];case 3:n=r.sent();U.error("Failed to clear error lists: ".concat(n.message));return[3,4];case 4:return[2]}})});return z.apply(this,arguments)}function Q(e){var t=[],n=[],r="",s=/^\s*(\d+):(\d+)\s+(error|warning)\s+(.+?)\s+(\S+)$/,o=/^(.+?)\((\d+),(\d+)\):\s+(error|warning)\s+TS\d+:\s+(\S.+)$/,c=/^✖\s+(.*?)\s+\[(.*?)\]$/;e.split("\n").forEach(function(e){if(e.startsWith("/"))r=e.trim();else{var i=s.exec(e)||[],a=o.exec(e)||[],u=c.exec(e)||[];i.length&&r?t.push({file:r,position:"".concat(i[1],":").concat(i[2]),type:i[3]==="error"?"error":"warning",message:i[4].trim(),rule:i[5].trim()}):a.length?t.push({file:a[1],position:"".concat(a[2],":").concat(a[3]),type:a[4]==="error"?"error":"warning",message:a[5].trim()}):u.length?t.push({file:"commitlint",type:"error",message:u[1].trim(),rule:u[2].trim()}):n.push(e.trim())}}),t.length&&B(t),n.length&&x&&(U.warning("Unmatched lines:"),n.forEach(function(e){return console.log(" ".concat(e))}))}function V(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,o=e.column,c=e.ruleId,i=e.message;n.push({type:r===2?"error":"warning",file:t,position:"".concat(s,":").concat(o),rule:c,message:i})})}),n.length&&B(n)}catch(t){Q(e)}}function X(e){return Z.apply(this,arguments)}function Z(){Z=t(function(e){var t,n,r,s,o,c,a,u,l;var f=arguments;return i(this,function(i){switch(i.label){case 0:t=f.length>1&&f[1]!==void 0?f[1]:V;n=new AbortController;S.on("SIGINT",function(){U.warning("Process interrupted. Terminating..."),n.abort(),S.exit()});i.label=1;case 1:i.trys.push([1,3,,4]);return[4,F(e,{maxBuffer:0x6400000,signal:n.signal})];case 2:r=i.sent(),s=r.stdout,o=r.stderr;[s,o].forEach(function(e){return e&&t(e)});return[3,4];case 3:c=i.sent();a=c.stdout,u=c.stderr,l=c.message;[a,u].forEach(function(e){return e&&t(e)}),!u&&!a&&U.error("Command failed: ".concat(l));return[3,4];case 4:return[2]}})});return Z.apply(this,arguments)}import*as ee from"node:fs";var et=function(e){return ee.existsSync(e)};import en from"node-fetch";import er from"node:fs";import es from"node:path";var eo=24*60*60*1e3;function ec(e){return e?es.join(v,"node_modules",e,"package.json"):es.join(v,"package.json")}function ei(e){return ea.apply(this,arguments)}function ea(){ea=t(function(e){var t,n,r,s,o,c,a,u,l,f;var p=arguments;return i(this,function(i){switch(i.label){case 0:t=p.length>1&&p[1]!==void 0?p[1]:!1;n="npm_version:".concat(e),r="npm_metadata:".concat(e);return[4,j.get(n)];case 1:s=i.sent();return[4,j.get(r)];case 2:o=i.sent(),c=s&&Date.now()-s.timestamp<eo;if(!t&&c)return[2,(U.info("Using cached version for ".concat(e,": ").concat(s.version)),s.version)];a={};(o===null||o===void 0?void 0:o.etag)&&(a["If-None-Match"]=o.etag),(o===null||o===void 0?void 0:o.lastModified)&&(a["If-Modified-Since"]=o.lastModified);i.label=3;case 3:i.trys.push([3,8,,9]);U.info("Fetching latest version for ".concat(e,"..."));return[4,en("https://registry.npmjs.org/".concat(e,"/latest"),{headers:a})];case 4:u=i.sent();if(u.status===304&&s)return[2,(U.info("Cache is still valid for ".concat(e,": ").concat(s.version)),s.version)];if(!u.ok)throw new Error("Failed to fetch latest version: ".concat(u.statusText));return[4,u.json()];case 5:l=i.sent().version;return[4,j.set(n,{version:l,timestamp:Date.now()})];case 6:i.sent();return[4,j.set(r,{etag:u.headers.get("ETag")||void 0,lastModified:u.headers.get("Last-Modified")||void 0})];case 7:return[2,(i.sent(),U.success("Cached latest version for ".concat(e,": ").concat(l)),l)];case 8:f=i.sent();if(U.error("Error fetching latest version for ".concat(e,": ").concat(f.message)),s)return[2,(U.warning("Falling back to cached version for ".concat(e,": ").concat(s.version)),s.version)];throw f;case 9:return[2]}})});return ea.apply(this,arguments)}function eu(e){return el.apply(this,arguments)}function el(){el=t(function(e){var t,n,r,s,o;var c=arguments;return i(this,function(i){switch(i.label){case 0:t=c.length>1&&c[1]!==void 0?c[1]:!0;i.label=1;case 1:i.trys.push([1,3,,4]);n=ec(e);if(!er.existsSync(n))return[2,(U.info("".concat(e," is not installed.")),!0)];r=JSON.parse(er.readFileSync(n,"utf-8")).version;return[4,ei(e,t)];case 2:s=i.sent();return[2,(U.info("Installed version of ".concat(e,": ").concat(r)),U.info("Latest version of ".concat(e,": ").concat(s)),r!==s)];case 3:o=i.sent();return[2,(U.warning("Failed to check version for ".concat(e,": ").concat(o.message)),!0)];case 4:return[2]}})});return el.apply(this,arguments)}function ef(e){return ep.apply(this,arguments)}function ep(){ep=t(function(e){var t,s,c,a;return i(this,function(i){switch(i.label){case 0:i.trys.push([0,4,,5]);return[4,ei(e,!0)];case 1:t=i.sent(),s=ec();if(!er.existsSync(s)){U.error("package.json not found. Cannot update ".concat(e));return[2]}c=JSON.parse(er.readFileSync(s,"utf-8"));c.dependencies=o(r({},c.dependencies),n({},e,t)),er.writeFileSync(s,JSON.stringify(c,null,2)),U.info("Updated ".concat(e," to version ").concat(t));return[4,X("npm i -f")];case 2:i.sent();return[4,X("npm run lint:fix")];case 3:i.sent(),U.success("".concat(e," updated successfully."));return[3,5];case 4:a=i.sent();throw U.error("Failed to update ".concat(e,": ").concat(a.message)),a;case 5:return[2]}})});return ep.apply(this,arguments)}function ed(e,t){try{var n=es.join(e,"package.json");return er.existsSync(n)?JSON.parse(er.readFileSync(n,"utf-8")).name===t:!1}catch(e){return U.error("Error reading package.json: ".concat(e.message)),!1}}var eh={TS_CONFIG_PATH:u.resolve(v,"tsconfig.json"),HUSKY_PATH:u.resolve(v,".husky"),GIT_HOOK_PATH:u.resolve(v,".git/hooks"),GIT_COMMIT_MSG:u.resolve(v,".git/COMMIT_EDITMSG"),SIMPLE_GIT_HOOKS_PATH:u.resolve(C,".simple-git-hooks.json"),PACKAGE_JSON_PATH:u.resolve(v,"package.json"),PACKAGE_LOCK_PATH:u.resolve(v,"package-lock.json"),PACKAGE_NAME:"@cyberskill/shared",LINT_STAGED_CONFIG_PATH:u.resolve(y,"./configs/lint-staged/base.js"),COMMITLINT_CONFIG_PATH:u.resolve(y,"./configs/commitlint/base.js"),UNIT_TEST_CONFIG_PATH:u.resolve(y,"./configs/vitest/react/unit.js"),E2E_TEST_CONFIG_PATH:u.resolve(y,"./configs/vitest/react/e2e.js"),HOOKS_CONFIG:{"pre-commit":"npx --yes cyberskill lint-staged","commit-msg":"npx --yes cyberskill commitlint"}};function eg(e,t){return em.apply(this,arguments)}function em(){em=t(function(e,t){return i(this,function(n){switch(n.label){case 0:U.info("➡️ ".concat(e,"..."));return[4,X(t)];case 1:n.sent(),U.success("✅ ".concat(e," completed."));return[2]}})});return em.apply(this,arguments)}function ey(){return ev.apply(this,arguments)}function ev(){ev=t(function(){var e;return i(this,function(t){switch(t.label){case 0:if(!et(eh.TS_CONFIG_PATH))return[3,2];return[4,eg("Running TypeScript check","npx tsc -p ".concat(eh.TS_CONFIG_PATH," --noEmit"))];case 1:e=t.sent();return[3,3];case 2:e=U.warning("⚠️ TypeScript config not found. Skipping TypeScript check.");t.label=3;case 3:e;return[2]}})});return ev.apply(this,arguments)}function eb(){return ew.apply(this,arguments)}function ew(){ew=t(function(){var e;var t=arguments;return i(this,function(n){switch(n.label){case 0:e=t.length>0&&t[0]!==void 0?t[0]:!1;return[4,eg("Running ESLint ".concat(e?"(with fix)":"(without fix)"),"npx eslint ".concat(v).concat(e?" --fix":""))];case 1:n.sent();return[2]}})});return ew.apply(this,arguments)}function e_(){return eS.apply(this,arguments)}function eS(){eS=t(function(){var e;return i(this,function(t){switch(t.label){case 0:if(!ed(v,eh.PACKAGE_NAME))return[3,5];U.info("➡️ @cyberskill/shared detected. Building before lint-staged...");t.label=1;case 1:t.trys.push([1,4,,5]);return[4,eg("Building @cyberskill/shared","npm run build")];case 2:t.sent();return[4,X("git add dist")];case 3:t.sent(),U.success("✅ Built and staged @cyberskill/shared");return[3,5];case 4:e=t.sent();throw U.error("❌ Failed to build and stage @cyberskill/shared: ".concat(e.message)),e;case 5:return[4,eg("Running lint-staged","npx lint-staged --config ".concat(eh.LINT_STAGED_CONFIG_PATH))];case 6:t.sent();return[2]}})});return eS.apply(this,arguments)}function eO(){return eT.apply(this,arguments)}function eT(){eT=t(function(){return i(this,function(e){switch(e.label){case 0:return[4,eg("Inspecting ESLint rules","npx @eslint/config-inspector")];case 1:e.sent();return[2]}})});return eT.apply(this,arguments)}function eA(){return eE.apply(this,arguments)}function eE(){eE=t(function(){var e,t,n;return i(this,function(r){switch(r.label){case 0:return[4,q()];case 1:r.sent();return[4,Promise.all([ey(),eb()])];case 2:r.sent();return[4,Y()];case 3:e=r.sent(),t=e.filter(function(e){return e.type==="error"}),n=e.filter(function(e){return e.type==="warning"});!t.length&&!n.length?U.printBoxedLog("✔ NO ISSUES FOUND","",{color:"green"}):(U.printBoxedLog("⚠ Warnings",n,{color:"yellow"}),U.printBoxedLog("✖ Errors",t,{color:"red"})),U.success("✅ Lint check completed.");return[2]}})});return eE.apply(this,arguments)}function ek(){return eP.apply(this,arguments)}function eP(){eP=t(function(){return i(this,function(e){switch(e.label){case 0:return[4,eg("Running commit lint","npx commitlint --edit ".concat(eh.GIT_COMMIT_MSG," --config ").concat(eh.COMMITLINT_CONFIG_PATH))];case 1:e.sent();return[2]}})});return eP.apply(this,arguments)}function eI(){return eC.apply(this,arguments)}function eC(){eC=t(function(){var e,t,n,r,s,o;return i(this,function(c){switch(c.label){case 0:if(U.info("➡️ Starting project setup..."),!et(eh.PACKAGE_JSON_PATH)){U.error("❌ package.json not found. Aborting setup.");return[2]}c.label=1;case 1:c.trys.push([1,9,,10]);t=JSON.parse(a.readFileSync(eh.PACKAGE_JSON_PATH,"utf-8"));r=ed(v,eh.PACKAGE_NAME);if(r)return[3,4];s=(e=t.dependencies)===null||e===void 0?void 0:e[eh.PACKAGE_NAME];if(!s)return[3,3];return[4,eu(eh.PACKAGE_NAME)];case 2:s=!c.sent();c.label=3;case 3:r=s;c.label=4;case 4:if(!r)return[3,5];n=U.success("✅ Cyberskill package is already up to date.");return[3,7];case 5:U.info("\uD83D\uDCE6 Updating Cyberskill package...");return[4,ef(eh.PACKAGE_NAME)];case 6:n=(c.sent(),U.success("✅ Cyberskill package updated successfully."));c.label=7;case 7:n;return[4,eN()];case 8:c.sent(),U.success("✅ Project setup completed.");return[3,10];case 9:o=c.sent();throw U.error("❌ Failed to setup project: ".concat(o.message)),o;case 10:return[2]}})});return eC.apply(this,arguments)}function eN(){return eG.apply(this,arguments)}function eG(){eG=t(function(){var e;return i(this,function(t){switch(t.label){case 0:U.info("➡️ Setting up Git hooks...");e=et(eh.HUSKY_PATH);if(!e)return[3,3];return[4,X("npx rimraf ".concat(eh.HUSKY_PATH," ").concat(eh.GIT_HOOK_PATH))];case 1:t.sent();return[4,X("git config core.hooksPath ".concat(eh.GIT_HOOK_PATH))];case 2:e=t.sent();t.label=3;case 3:e,a.writeFileSync(eh.SIMPLE_GIT_HOOKS_PATH,JSON.stringify(eh.HOOKS_CONFIG,null,4));return[4,X("npx simple-git-hooks")];case 4:t.sent(),U.success("✅ Git hooks configured successfully.");return[2]}})});return eG.apply(this,arguments)}function ej(){return ex.apply(this,arguments)}function ex(){ex=t(function(){var e,t,n,r,s,o,c,a,u,l,f;return i(this,function(i){switch(i.label){case 0:e=[{command:"npm install",message:"Standard installation"},{command:"npm install --legacy-peer-deps",message:"Attempting installation with --legacy-peer-deps"},{command:"npm install --force",message:"Attempting forced installation"}];t=true,n=false,r=undefined;i.label=1;case 1:i.trys.push([1,8,9,10]);s=e[Symbol.iterator]();i.label=2;case 2:if(!!(t=(o=s.next()).done))return[3,7];c=o.value,a=c.command,u=c.message;i.label=3;case 3:i.trys.push([3,5,,6]);U.info("➡️ ".concat(u,"..."));return[4,X(a)];case 4:i.sent(),U.success("✅ Dependencies installed using: ".concat(a));return[2];case 5:l=i.sent();U.warning("⚠️ Failed with: ".concat(a)),U.error("❌ Error: ".concat(l.message));return[3,6];case 6:t=true;return[3,2];case 7:return[3,10];case 8:f=i.sent();n=true;r=f;return[3,10];case 9:try{if(!t&&s.return!=null){s.return()}}finally{if(n){throw r}}return[7];case 10:throw new Error("❌ Failed to install dependencies after multiple attempts.")}})});return ex.apply(this,arguments)}function eF(){return eH.apply(this,arguments)}function eH(){eH=t(function(){return i(this,function(e){switch(e.label){case 0:return[4,eg("Resetting project","npx rimraf ".concat(v,"/node_modules ").concat(eh.PACKAGE_LOCK_PATH))];case 1:e.sent();return[4,ej()];case 2:e.sent();return[4,eN()];case 3:e.sent();return[2]}})});return eH.apply(this,arguments)}function eM(){return eL.apply(this,arguments)}function eL(){eL=t(function(){return i(this,function(e){switch(e.label){case 0:return[4,eg("Running unit tests","npx vitest --config ".concat(eh.UNIT_TEST_CONFIG_PATH))];case 1:e.sent();return[2]}})});return eL.apply(this,arguments)}function eR(){return eK.apply(this,arguments)}function eK(){eK=t(function(){return i(this,function(e){switch(e.label){case 0:return[4,eg("Running E2E tests","npx vitest --config ".concat(eh.E2E_TEST_CONFIG_PATH))];case 1:e.sent();return[2]}})});return eK.apply(this,arguments)}p(f(l.argv)).command("lint","Run linting checks",eA).command("lint:fix","Fix linting issues",function(){return eb(!0)}).command("lint:inspect","Inspect linting rules",eO).command("lint-staged","Run lint-staged",e_).command("commitlint","Run commitlint",ek).command("setup","Run project setup",eI).command("reset","Reset project dependencies",eF).command("test:unit","Run unit tests",eM).command("test:e2e","Run e2e tests",eR).help().parse();
@@ -1 +1 @@
1
- "use strict";function r(r,e){if(e==null||e>r.length)e=r.length;for(var t=0,n=new Array(e);t<e;t++)n[t]=r[t];return n}function e(e){if(Array.isArray(e))return r(e)}function t(r){if(typeof Symbol!=="undefined"&&r[Symbol.iterator]!=null||r["@@iterator"]!=null)return Array.from(r)}function n(){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 u(r,e){if(r==null)return{};var t=o(r,e);var n,u;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(r);for(u=0;u<i.length;u++){n=i[u];if(e.indexOf(n)>=0)continue;if(!Object.prototype.propertyIsEnumerable.call(r,n))continue;t[n]=r[n]}}return t}function o(r,e){if(r==null)return{};var t={};var n=Object.keys(r);var u,o;for(o=0;o<n.length;o++){u=n[o];if(e.indexOf(u)>=0)continue;t[u]=r[u]}return t}function i(r){return e(r)||t(r)||f(r)||n()}function a(r){"@swc/helpers - typeof";return r&&typeof Symbol!=="undefined"&&r.constructor===Symbol?"symbol":typeof r}function f(e,t){if(!e)return;if(typeof e==="string")return r(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor)n=e.constructor.name;if(n==="Map"||n==="Set")return Array.from(n);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return r(e,t)}var l=void 0;var c=Object.create;var s=Object.defineProperty;var y=Object.getOwnPropertyDescriptor;var d=Object.getOwnPropertyNames;var v=Object.getPrototypeOf,p=Object.prototype.hasOwnProperty;var m=function(r,e){for(var t in e)s(r,t,{get:e[t],enumerable:!0})},b=function(r,e,t,n){var u=true,o=false,i=undefined;if(e&&(typeof e==="undefined"?"undefined":a(e))=="object"||typeof e=="function")try{var f=function(){var u=c.value;!p.call(r,u)&&u!==t&&s(r,u,{get:function(){return e[u]},enumerable:!(n=y(e,u))||n.enumerable})};for(var l=d(e)[Symbol.iterator](),c;!(u=(c=l.next()).done);u=true)f()}catch(r){o=true;i=r}finally{try{if(!u&&l.return!=null){l.return()}}finally{if(o){throw i}}}return r};var g=function(r,e,t){return t=r!=null?c(v(r)):{},b(e||!r||!r.__esModule?s(t,"default",{value:r,enumerable:!0}):t,r)},h=function(r){return b(s({},"__esModule",{value:!0}),r)};var q={};m(q,{default:function(){return rl}});module.exports=h(q);var A=function(){return(typeof document==="undefined"?"undefined":a(document))>"u"?new URL("file:".concat(__filename)).href:document.currentScript&&document.currentScript.src||new URL("main.js",document.baseURI).href},O=A();var w=g(require("@antfu/eslint-config"),1);var j=g(require("unorm"),1);var S=g(require("boxen"),1),_=g(require("chalk"),1);var I=_.default,P=I.green,E=I.yellow,R=I.red,U=I.gray,k=I.bold,x=I.blue;var L=g(require("localforage"),1),D=g(require("node-persist"),1),M=g(require("os"),1),T=g(require("path"),1),C=g(require("process"),1);var B=C.default.env.CYBERSKILL_STORAGE_DIR||T.default.join(M.default.homedir(),".cyberskill-storage");var G=require("child_process"),N=g(require("process"),1),K=g(require("util"),1);var W=K.promisify(G.exec),Y=N.default.env.DEBUG==="true";var $=require("graphql");var z=require("path"),F=g(require("process"),1),H=require("url"),J=(0,H.fileURLToPath)(O),Q=(0,z.dirname)(J),V=F.default.env.INIT_CWD||F.default.cwd();var X=g(require("crypto-js"),1),Z=g(require("mongoose-aggregate-paginate-v2"),1),rr=g(require("mongoose-paginate-v2"),1),re=g(require("slugify"),1),rt=require("uuid");var rn=re.default.default||re.default;var ru=g(require("node-fetch"),1),ro=g(require("fs"),1),ri=g(require("path"),1);var ra=24*60*60*1e3;function rf(){for(var r=arguments.length,e=new Array(r),t=0;t<r;t++){e[t]=arguments[t]}var n=function(r,e){return Object.keys(e).forEach(function(t){var u=e[t],o=r[t];Array.isArray(u)?r[t]=i(new Set(i(Array.isArray(o)?o:[]).concat(i(u)))):(typeof u==="undefined"?"undefined":a(u))=="object"&&u!==null&&!Array.isArray(u)?r[t]=n((typeof o==="undefined"?"undefined":a(o))=="object"&&!Array.isArray(o)?o:{},u):r[t]=u}),r};return e.flatMap(function(r){return Array.isArray(r)?r:[r]}).reduce(function(r,e){return n(r,e)},{})}var rl={merge:function(){var r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"eslint";for(var e=arguments.length,t=new Array(e>1?e-1:0),n=1;n<e;n++){t[n-1]=arguments[n]}var o=function(){return rf.apply(void 0,i(t))};if(r==="eslint"){var a=o(),f=a.ignores,c=u(a,["ignores"]),s=Array.isArray(f)?f.filter(function(r){return typeof r=="string"}):void 0,y=[c,s?{ignores:s}:null].filter(function(r){return!!r});return(0,w.default).apply(l,[{stylistic:{semi:!0,indent:4,quotes:"single"},yaml:!1,react:!0,formatters:{css:!0,html:!0,markdown:"prettier"}}].concat(i(y)))}if(r==="commitlint"||r==="lint-staged")return o();throw new Error("Unknown type: ".concat(r))}};
1
+ "use strict";function r(r,e){if(e==null||e>r.length)e=r.length;for(var t=0,n=new Array(e);t<e;t++)n[t]=r[t];return n}function e(r){if(Array.isArray(r))return r}function t(e){if(Array.isArray(e))return r(e)}function n(r){if(typeof Symbol!=="undefined"&&r[Symbol.iterator]!=null||r["@@iterator"]!=null)return Array.from(r)}function u(r,e){var t=r==null?null:typeof Symbol!=="undefined"&&r[Symbol.iterator]||r["@@iterator"];if(t==null)return;var n=[];var u=true;var a=false;var o,i;try{for(t=t.call(r);!(u=(o=t.next()).done);u=true){n.push(o.value);if(e&&n.length===e)break}}catch(r){a=true;i=r}finally{try{if(!u&&t["return"]!=null)t["return"]()}finally{if(a)throw i}}return n}function a(){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 o(){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 i(r,e){if(r==null)return{};var t=f(r,e);var n,u;if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(r);for(u=0;u<a.length;u++){n=a[u];if(e.indexOf(n)>=0)continue;if(!Object.prototype.propertyIsEnumerable.call(r,n))continue;t[n]=r[n]}}return t}function f(r,e){if(r==null)return{};var t={};var n=Object.keys(r);var u,a;for(a=0;a<n.length;a++){u=n[a];if(e.indexOf(u)>=0)continue;t[u]=r[u]}return t}function l(r,t){return e(r)||u(r,t)||y(r,t)||a()}function c(r){return t(r)||n(r)||y(r)||o()}function s(r){"@swc/helpers - typeof";return r&&typeof Symbol!=="undefined"&&r.constructor===Symbol?"symbol":typeof r}function y(e,t){if(!e)return;if(typeof e==="string")return r(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor)n=e.constructor.name;if(n==="Map"||n==="Set")return Array.from(n);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return r(e,t)}var d=void 0;var v=Object.create;var p=Object.defineProperty;var m=Object.getOwnPropertyDescriptor;var b=Object.getOwnPropertyNames;var g=Object.getPrototypeOf,h=Object.prototype.hasOwnProperty;var q=function(r,e){for(var t in e)p(r,t,{get:e[t],enumerable:!0})},A=function(r,e,t,n){var u=true,a=false,o=undefined;if(e&&(typeof e==="undefined"?"undefined":s(e))=="object"||typeof e=="function")try{var i=function(){var u=l.value;!h.call(r,u)&&u!==t&&p(r,u,{get:function(){return e[u]},enumerable:!(n=m(e,u))||n.enumerable})};for(var f=b(e)[Symbol.iterator](),l;!(u=(l=f.next()).done);u=true)i()}catch(r){a=true;o=r}finally{try{if(!u&&f.return!=null){f.return()}}finally{if(a){throw o}}}return r};var w=function(r,e,t){return t=r!=null?v(g(r)):{},A(e||!r||!r.__esModule?p(t,"default",{value:r,enumerable:!0}):t,r)},O=function(r){return A(p({},"__esModule",{value:!0}),r)};var j={};q(j,{default:function(){return rd}});module.exports=O(j);var S=function(){return(typeof document==="undefined"?"undefined":s(document))>"u"?new URL("file:".concat(__filename)).href:document.currentScript&&document.currentScript.src||new URL("main.js",document.baseURI).href},I=S();var _=w(require("@antfu/eslint-config"),1);var U=w(require("unorm"),1);var E=w(require("boxen"),1),P=w(require("chalk"),1),k=require("child_process"),x=w(require("process"),1),R=w(require("util"),1);var C=w(require("localforage"),1),L=w(require("node-persist"),1),T=w(require("os"),1),D=w(require("path"),1),M=w(require("process"),1);var B=M.default.env.CYBERSKILL_STORAGE_DIR||D.default.join(T.default.homedir(),".cyberskill-storage");var G=x.default.env.DEBUG==="true",N=R.promisify(k.exec),K=P.default,W=K.gray,Y=K.blue;function $(){for(var r=arguments.length,e=new Array(r),t=0;t<r;t++){e[t]=arguments[t]}var n=function(r,e){return Object.keys(e).forEach(function(t){var u=e[t],a=r[t];Array.isArray(u)?r[t]=c(new Set(c(Array.isArray(a)?a:[]).concat(c(u)))):(typeof u==="undefined"?"undefined":s(u))=="object"&&u!==null&&!Array.isArray(u)?r[t]=n((typeof a==="undefined"?"undefined":s(a))=="object"&&!Array.isArray(a)?a:{},u):r[t]=u}),r};return e.flatMap(function(r){return Array.isArray(r)?r:[r]}).reduce(function(r,e){return n(r,e)},{})}var z=require("date-fns");var F=w(require("fs"),1);var H=require("graphql");var J=w(require("crypto-js"),1),Q=w(require("mongoose-aggregate-paginate-v2"),1),V=w(require("mongoose-paginate-v2"),1),X=w(require("slugify"),1),Z=require("uuid");var rr=X.default.default||X.default;var re=w(require("node-fetch"),1),rt=w(require("fs"),1),rn=w(require("path"),1);var ru=require("path"),ra=w(require("process"),1),ro=require("url"),ri=(0,ro.fileURLToPath)(I),rf=(0,ru.dirname)(ri),rl=ra.default.env.INIT_CWD||ra.default.cwd();var rc=24*60*60*1e3;var rs={a:["\xe0","\xe1","ạ","ả","\xe3","\xe2","ầ","ấ","ậ","ẩ","ẫ","ă","ằ","ắ","ặ","ẳ","ẵ"],e:["\xe8","\xe9","ẹ","ẻ","ẽ","\xea","ề","ế","ệ","ể","ễ"],i:["\xec","\xed","ị","ỉ","ĩ"],o:["\xf2","\xf3","ọ","ỏ","\xf5","\xf4","ồ","ố","ộ","ổ","ỗ","ơ","ờ","ớ","ợ","ở","ỡ"],u:["\xf9","\xfa","ụ","ủ","ũ","ư","ừ","ứ","ự","ử","ữ"],y:["ỳ","\xfd","ỵ","ỷ","ỹ"],d:["đ"]},ry=Object.entries(rs).reduce(function(r,e){var t=l(e,2),n=t[0],u=t[1];return r[n.toUpperCase()]=u.map(function(r){return r.toUpperCase()}),r},{});var rd={merge:function(){var r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"eslint";for(var e=arguments.length,t=new Array(e>1?e-1:0),n=1;n<e;n++){t[n-1]=arguments[n]}var u=function(){return $.apply(void 0,c(t))};if(r==="eslint"){var a=u(),o=a.ignores,f=i(a,["ignores"]),l=Array.isArray(o)?o.filter(function(r){return typeof r=="string"}):void 0,s=[f,l?{ignores:l}:null].filter(function(r){return!!r});return(0,_.default).apply(d,[{stylistic:{semi:!0,indent:4,quotes:"single"},yaml:!1,react:!0,formatters:{css:!0,html:!0,markdown:"prettier"}}].concat(c(s)))}if(r==="commitlint"||r==="lint-staged")return u();throw new Error("Unknown type: ".concat(r))}};
@@ -1 +1 @@
1
- function r(r,t){if(t==null||t>r.length)t=r.length;for(var e=0,o=new Array(t);e<t;e++)o[e]=r[e];return o}function t(t){if(Array.isArray(t))return r(t)}function e(r){if(typeof Symbol!=="undefined"&&r[Symbol.iterator]!=null||r["@@iterator"]!=null)return Array.from(r)}function o(){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 n(r,t){if(r==null)return{};var e=i(r,t);var o,n;if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(r);for(n=0;n<a.length;n++){o=a[n];if(t.indexOf(o)>=0)continue;if(!Object.prototype.propertyIsEnumerable.call(r,o))continue;e[o]=r[o]}}return e}function i(r,t){if(r==null)return{};var e={};var o=Object.keys(r);var n,i;for(i=0;i<o.length;i++){n=o[i];if(t.indexOf(n)>=0)continue;e[n]=r[n]}return e}function a(r){return t(r)||e(r)||m(r)||o()}function f(r){"@swc/helpers - typeof";return r&&typeof Symbol!=="undefined"&&r.constructor===Symbol?"symbol":typeof r}function m(t,e){if(!t)return;if(typeof t==="string")return r(t,e);var o=Object.prototype.toString.call(t).slice(8,-1);if(o==="Object"&&t.constructor)o=t.constructor.name;if(o==="Map"||o==="Set")return Array.from(o);if(o==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(o))return r(t,e)}import u from"@antfu/eslint-config";import l from"unorm";import c from"boxen";import s from"chalk";var p=s.green,y=s.yellow,d=s.red,v=s.gray,g=s.bold,b=s.blue;import h from"localforage";import A from"node-persist";import w from"node:os";import O from"node:path";import j from"node:process";var S=j.env.CYBERSKILL_STORAGE_DIR||O.join(w.homedir(),".cyberskill-storage");import{exec as E}from"node:child_process";import I from"node:process";import*as k from"node:util";var x=k.promisify(E),L=I.env.DEBUG==="true";import{GraphQLError as R}from"graphql";import{dirname as T}from"node:path";import U from"node:process";import{fileURLToPath as _}from"node:url";var C=_(import.meta.url),D=T(C),G=U.env.INIT_CWD||U.cwd();import P from"crypto-js";import q from"mongoose-aggregate-paginate-v2";import B from"mongoose-paginate-v2";import M from"slugify";import{v4 as K}from"uuid";var N=M.default||M;import Q from"node-fetch";var W=24*60*60*1e3;function Y(){for(var r=arguments.length,t=new Array(r),e=0;e<r;e++){t[e]=arguments[e]}var o=function(r,t){return Object.keys(t).forEach(function(e){var n=t[e],i=r[e];Array.isArray(n)?r[e]=a(new Set(a(Array.isArray(i)?i:[]).concat(a(n)))):(typeof n==="undefined"?"undefined":f(n))=="object"&&n!==null&&!Array.isArray(n)?r[e]=o((typeof i==="undefined"?"undefined":f(i))=="object"&&!Array.isArray(i)?i:{},n):r[e]=n}),r};return t.flatMap(function(r){return Array.isArray(r)?r:[r]}).reduce(function(r,t){return o(r,t)},{})}var $={merge:function(){var r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"eslint";for(var t=arguments.length,e=new Array(t>1?t-1:0),o=1;o<t;o++){e[o-1]=arguments[o]}var i=function(){return Y.apply(void 0,a(e))};if(r==="eslint"){var f=i(),m=f.ignores,l=n(f,["ignores"]),c=Array.isArray(m)?m.filter(function(r){return typeof r=="string"}):void 0,s=[l,c?{ignores:c}:null].filter(function(r){return!!r});return u.apply(void 0,[{stylistic:{semi:!0,indent:4,quotes:"single"},yaml:!1,react:!0,formatters:{css:!0,html:!0,markdown:"prettier"}}].concat(a(s)))}if(r==="commitlint"||r==="lint-staged")return i();throw new Error("Unknown type: ".concat(r))}};export{$ as default};
1
+ function r(r,t){if(t==null||t>r.length)t=r.length;for(var e=0,n=new Array(t);e<t;e++)n[e]=r[e];return n}function t(r){if(Array.isArray(r))return r}function e(t){if(Array.isArray(t))return r(t)}function n(r){if(typeof Symbol!=="undefined"&&r[Symbol.iterator]!=null||r["@@iterator"]!=null)return Array.from(r)}function o(r,t){var e=r==null?null:typeof Symbol!=="undefined"&&r[Symbol.iterator]||r["@@iterator"];if(e==null)return;var n=[];var o=true;var i=false;var a,f;try{for(e=e.call(r);!(o=(a=e.next()).done);o=true){n.push(a.value);if(t&&n.length===t)break}}catch(r){i=true;f=r}finally{try{if(!o&&e["return"]!=null)e["return"]()}finally{if(i)throw f}}return n}function i(){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 a(){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 f(r,t){if(r==null)return{};var e=u(r,t);var n,o;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(r);for(o=0;o<i.length;o++){n=i[o];if(t.indexOf(n)>=0)continue;if(!Object.prototype.propertyIsEnumerable.call(r,n))continue;e[n]=r[n]}}return e}function u(r,t){if(r==null)return{};var e={};var n=Object.keys(r);var o,i;for(i=0;i<n.length;i++){o=n[i];if(t.indexOf(o)>=0)continue;e[o]=r[o]}return e}function l(r,e){return t(r)||o(r,e)||s(r,e)||i()}function m(r){return e(r)||n(r)||s(r)||a()}function c(r){"@swc/helpers - typeof";return r&&typeof Symbol!=="undefined"&&r.constructor===Symbol?"symbol":typeof r}function s(t,e){if(!t)return;if(typeof t==="string")return r(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);if(n==="Object"&&t.constructor)n=t.constructor.name;if(n==="Map"||n==="Set")return Array.from(n);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return r(t,e)}import p from"@antfu/eslint-config";import y from"unorm";import d from"boxen";import v from"chalk";import{exec as b}from"node:child_process";import g from"node:process";import*as h from"node:util";import A from"localforage";import w from"node-persist";import S from"node:os";import j from"node:path";import O from"node:process";var I=O.env.CYBERSKILL_STORAGE_DIR||j.join(S.homedir(),".cyberskill-storage");var E=g.env.DEBUG==="true",k=h.promisify(b),x=v.gray,U=v.blue;function C(){for(var r=arguments.length,t=new Array(r),e=0;e<r;e++){t[e]=arguments[e]}var n=function(r,t){return Object.keys(t).forEach(function(e){var o=t[e],i=r[e];Array.isArray(o)?r[e]=m(new Set(m(Array.isArray(i)?i:[]).concat(m(o)))):(typeof o==="undefined"?"undefined":c(o))=="object"&&o!==null&&!Array.isArray(o)?r[e]=n((typeof i==="undefined"?"undefined":c(i))=="object"&&!Array.isArray(i)?i:{},o):r[e]=o}),r};return t.flatMap(function(r){return Array.isArray(r)?r:[r]}).reduce(function(r,t){return n(r,t)},{})}import{format as T}from"date-fns";import{GraphQLError as L}from"graphql";import R from"crypto-js";import _ from"mongoose-aggregate-paginate-v2";import D from"mongoose-paginate-v2";import G from"slugify";import{v4 as P}from"uuid";var q=G.default||G;import B from"node-fetch";import{dirname as M}from"node:path";import K from"node:process";import{fileURLToPath as N}from"node:url";var Q=N(import.meta.url),W=M(Q),Y=K.env.INIT_CWD||K.cwd();var $=24*60*60*1e3;var z={a:["\xe0","\xe1","ạ","ả","\xe3","\xe2","ầ","ấ","ậ","ẩ","ẫ","ă","ằ","ắ","ặ","ẳ","ẵ"],e:["\xe8","\xe9","ẹ","ẻ","ẽ","\xea","ề","ế","ệ","ể","ễ"],i:["\xec","\xed","ị","ỉ","ĩ"],o:["\xf2","\xf3","ọ","ỏ","\xf5","\xf4","ồ","ố","ộ","ổ","ỗ","ơ","ờ","ớ","ợ","ở","ỡ"],u:["\xf9","\xfa","ụ","ủ","ũ","ư","ừ","ứ","ự","ử","ữ"],y:["ỳ","\xfd","ỵ","ỷ","ỹ"],d:["đ"]},F=Object.entries(z).reduce(function(r,t){var e=l(t,2),n=e[0],o=e[1];return r[n.toUpperCase()]=o.map(function(r){return r.toUpperCase()}),r},{});var H={merge:function(){var r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"eslint";for(var t=arguments.length,e=new Array(t>1?t-1:0),n=1;n<t;n++){e[n-1]=arguments[n]}var o=function(){return C.apply(void 0,m(e))};if(r==="eslint"){var i=o(),a=i.ignores,u=f(i,["ignores"]),l=Array.isArray(a)?a.filter(function(r){return typeof r=="string"}):void 0,c=[u,l?{ignores:l}:null].filter(function(r){return!!r});return p.apply(void 0,[{stylistic:{semi:!0,indent:4,quotes:"single"},yaml:!1,react:!0,formatters:{css:!0,html:!0,markdown:"prettier"}}].concat(m(c)))}if(r==="commitlint"||r==="lint-staged")return o();throw new Error("Unknown type: ".concat(r))}};export{H as default};
@@ -1 +1 @@
1
- "use strict";function e(e,t,r,n,s,u,a){try{var c=e[u](a);var o=c.value}catch(e){r(e);return}if(c.done){t(o)}else{Promise.resolve(o).then(n,s)}}function t(t){return function(){var r=this,n=arguments;return new Promise(function(s,u){var a=t.apply(r,n);function c(t){e(a,s,u,c,o,"next",t)}function o(t){e(a,s,u,c,o,"throw",t)}c(undefined)})}}function r(e,t){if(!(e instanceof t)){throw new TypeError("Cannot call a class as a function")}}function n(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||false;n.configurable=true;if("value"in n)n.writable=true;Object.defineProperty(e,n.key,n)}}function s(e,t,r){if(t)n(e.prototype,t);if(r)n(e,r);return e}function u(e,t,r){if(t in e){Object.defineProperty(e,t,{value:r,enumerable:true,configurable:true,writable:true})}else{e[t]=r}return e}function a(e,t){if(t!=null&&typeof Symbol!=="undefined"&&t[Symbol.hasInstance]){return!!t[Symbol.hasInstance](e)}else{return e instanceof t}}function c(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};var n=Object.keys(r);if(typeof Object.getOwnPropertySymbols==="function"){n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))}n.forEach(function(t){u(e,t,r[t])})}return e}function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);if(t){n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})}r.push.apply(r,n)}return r}function i(e,t){t=t!=null?t:{};if(Object.getOwnPropertyDescriptors){Object.defineProperties(e,Object.getOwnPropertyDescriptors(t))}else{o(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))})}return e}function l(e,t){if(e==null)return{};var r=E(e,t);var n,s;if(Object.getOwnPropertySymbols){var u=Object.getOwnPropertySymbols(e);for(s=0;s<u.length;s++){n=u[s];if(t.indexOf(n)>=0)continue;if(!Object.prototype.propertyIsEnumerable.call(e,n))continue;r[n]=e[n]}}return r}function E(e,t){if(e==null)return{};var r={};var n=Object.keys(e);var s,u;for(u=0;u<n.length;u++){s=n[u];if(t.indexOf(s)>=0)continue;r[s]=e[s]}return r}function d(e){"@swc/helpers - typeof";return e&&typeof Symbol!=="undefined"&&e.constructor===Symbol?"symbol":typeof e}function f(e,t){var r,n,s,u,a={label:0,sent:function(){if(s[0]&1)throw s[1];return s[1]},trys:[],ops:[]};return u={next:c(0),"throw":c(1),"return":c(2)},typeof Symbol==="function"&&(u[Symbol.iterator]=function(){return this}),u;function c(e){return function(t){return o([e,t])}}function o(u){if(r)throw new TypeError("Generator is already executing.");while(a)try{if(r=1,n&&(s=u[0]&2?n["return"]:u[0]?n["throw"]||((s=n["return"])&&s.call(n),0):n.next)&&!(s=s.call(n,u[1])).done)return s;if(n=0,s)u=[u[0]&2,s.value];switch(u[0]){case 0:case 1:s=u;break;case 4:a.label++;return{value:u[1],done:false};case 5:a.label++;n=u[1];u=[0];continue;case 7:u=a.ops.pop();a.trys.pop();continue;default:if(!(s=a.trys,s=s.length>0&&s[s.length-1])&&(u[0]===6||u[0]===2)){a=0;continue}if(u[0]===3&&(!s||u[1]>s[0]&&u[1]<s[3])){a.label=u[1];break}if(u[0]===6&&a.label<s[1]){a.label=s[1];s=u;break}if(s&&a.label<s[2]){a.label=s[2];a.ops.push(u);break}if(s[2])a.ops.pop();a.trys.pop();continue}u=t.call(e,a)}catch(e){u=[6,e];n=0}finally{r=s=0}if(u[0]&5)throw u[1];return{value:u[0]?u[1]:void 0,done:true}}}var O=Object.create;var h=Object.defineProperty;var S=Object.getOwnPropertyDescriptor;var v=Object.getOwnPropertyNames;var R=Object.getPrototypeOf,g=Object.prototype.hasOwnProperty;var m=function(e,t){for(var r in t)h(e,r,{get:t[r],enumerable:!0})},A=function(e,t,r,n){var s=true,u=false,a=undefined;if(t&&(typeof t==="undefined"?"undefined":d(t))=="object"||typeof t=="function")try{var c=function(){var s=i.value;!g.call(e,s)&&s!==r&&h(e,s,{get:function(){return t[s]},enumerable:!(n=S(t,s))||n.enumerable})};for(var o=v(t)[Symbol.iterator](),i;!(s=(i=o.next()).done);s=true)c()}catch(e){u=true;a=e}finally{try{if(!s&&o.return!=null){o.return()}}finally{if(u){throw a}}}return e};var D=function(e,t,r){return r=e!=null?O(R(e)):{},A(t||!e||!e.__esModule?h(r,"default",{value:e,enumerable:!0}):r,e)},y=function(e){return A(h({},"__esModule",{value:!0}),e)};var p={};m(p,{MigrationController:function(){return N},MongooseController:function(){return ev}});module.exports=y(p);var _=function(){return(typeof document==="undefined"?"undefined":d(document))>"u"?new URL("file:".concat(__filename)).href:document.currentScript&&document.currentScript.src||new URL("main.js",document.baseURI).href},T=_();var N=/*#__PURE__*/function(){function e(t,n){r(this,e);this.collection=t.collection(n)}s(e,[{key:"createOne",value:function e(e){var r=this;return t(function(){var t,n;return f(this,function(s){switch(s.label){case 0:s.trys.push([0,2,,3]);t={success:!0,message:"Document created successfully"};return[4,r.collection.insertOne(e)];case 1:return[2,(t.result=s.sent(),t)];case 2:n=s.sent();return[2,{success:!1,message:n.message}];case 3:return[2]}})})()}},{key:"createMany",value:function e(e){var r=this;return t(function(){var t,n;return f(this,function(s){switch(s.label){case 0:s.trys.push([0,2,,3]);return[4,r.collection.insertMany(e)];case 1:t=s.sent();return[2,t.insertedCount===0?{success:!1,message:"No documents were inserted"}:{success:!0,message:"".concat(t.insertedCount," documents created successfully"),result:t}];case 2:n=s.sent();return[2,{success:!1,message:n.message}];case 3:return[2]}})})()}},{key:"findOne",value:function e(e){var r=this;return t(function(){var t,n;return f(this,function(s){switch(s.label){case 0:s.trys.push([0,2,,3]);return[4,r.collection.findOne(e)];case 1:t=s.sent();return[2,t?{success:!0,message:"Document found",result:t}:{success:!1,message:"Document not found"}];case 2:n=s.sent();return[2,{success:!1,message:n.message}];case 3:return[2]}})})()}},{key:"findAll",value:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};var r=this;return t(function(){var t,n;return f(this,function(s){switch(s.label){case 0:s.trys.push([0,2,,3]);t={success:!0,message:"Documents retrieved successfully"};return[4,r.collection.find(e).toArray()];case 1:return[2,(t.result=s.sent(),t)];case 2:n=s.sent();return[2,{success:!1,message:n.message}];case 3:return[2]}})})()}},{key:"count",value:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};var r=this;return t(function(){var t,n;return f(this,function(s){switch(s.label){case 0:s.trys.push([0,2,,3]);t={success:!0,message:"Count retrieved successfully"};return[4,r.collection.countDocuments(e)];case 1:return[2,(t.result=s.sent(),t)];case 2:n=s.sent();return[2,{success:!1,message:n.message}];case 3:return[2]}})})()}},{key:"updateOne",value:function e(e,r){var n=this;return t(function(){var t,s;return f(this,function(u){switch(u.label){case 0:u.trys.push([0,2,,3]);return[4,n.collection.updateOne(e,{$set:r})];case 1:t=u.sent();return[2,t.matchedCount===0?{success:!1,message:"No documents matched the filter"}:{success:!0,message:"Document updated successfully",result:t}];case 2:s=u.sent();return[2,{success:!1,message:s.message}];case 3:return[2]}})})()}},{key:"updateMany",value:function e(e,r){var n=this;return t(function(){var t,s;return f(this,function(u){switch(u.label){case 0:u.trys.push([0,2,,3]);return[4,n.collection.updateMany(e,{$set:r})];case 1:t=u.sent();return[2,t.matchedCount===0?{success:!1,message:"No documents matched the filter"}:{success:!0,message:"Documents updated successfully",result:t}];case 2:s=u.sent();return[2,{success:!1,message:s.message}];case 3:return[2]}})})()}},{key:"deleteOne",value:function e(e){var r=this;return t(function(){var t,n;return f(this,function(s){switch(s.label){case 0:s.trys.push([0,2,,3]);return[4,r.collection.deleteOne(e)];case 1:t=s.sent();return[2,t.deletedCount===0?{success:!1,message:"No documents matched the filter"}:{success:!0,message:"Document deleted successfully",result:t}];case 2:n=s.sent();return[2,{success:!1,message:n.message}];case 3:return[2]}})})()}},{key:"deleteMany",value:function e(e){var r=this;return t(function(){var t,n;return f(this,function(s){switch(s.label){case 0:s.trys.push([0,2,,3]);return[4,r.collection.deleteMany(e)];case 1:t=s.sent();return[2,t.deletedCount===0?{success:!1,message:"No documents matched the filter"}:{success:!0,message:"Documents deleted successfully",result:t}];case 2:n=s.sent();return[2,{success:!1,message:n.message}];case 3:return[2]}})})()}}]);return e}();var C=require("mongoose");var M=require("path"),b=D(require("process"),1),I=require("url"),G=(0,I.fileURLToPath)(T),P=(0,M.dirname)(G),w=b.default.env.INIT_CWD||b.default.cwd();var L={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 U=D(require("unorm"),1);var q=D(require("boxen"),1),F=D(require("chalk"),1);var k=F.default,j=k.green,Q=k.yellow,x=k.red,V=k.gray,H=k.bold,Y=k.blue;var B=D(require("localforage"),1),W=D(require("node-persist"),1),K=D(require("os"),1),$=D(require("path"),1),X=D(require("process"),1);var z=X.default.env.CYBERSKILL_STORAGE_DIR||$.default.join(K.default.homedir(),".cyberskill-storage");var Z=require("child_process"),J=D(require("process"),1),ee=D(require("util"),1);var et=ee.promisify(Z.exec),er=J.default.env.DEBUG==="true";var en=require("graphql");var es=D(require("crypto-js"),1),eu=D(require("mongoose-aggregate-paginate-v2"),1),ea=D(require("mongoose-paginate-v2"),1),ec=D(require("slugify"),1),eo=require("uuid");var ei=ec.default.default||ec.default;function el(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"",t=arguments.length>1?arguments[1]:void 0;var r=t||{},n=r.lower,s=n===void 0?!0:n,u=r.locale,a=u===void 0?"vi":u,o=l(r,["lower","locale"]);return ei(e,c({lower:s,locale:a},o))}function eE(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:4;return es.default.SHA256(e).toString(es.default.enc.Hex).slice(0,t)}function ed(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=arguments.length>2?arguments[2]:void 0;return i(c({},t,r&&{id:{$ne:r}}),{$or:[{slug:e},{slugHistory:e}]})}var ef=D(require("node-fetch"),1),eO=D(require("fs"),1),eh=D(require("path"),1);var eS=24*60*60*1e3;var ev=/*#__PURE__*/function(){function e(t){r(this,e);this.model=t}s(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]:{},r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},s=arguments.length>3?arguments[3]:void 0;var u=this;return t(function(){var t,a,c;return f(this,function(o){switch(o.label){case 0:o.trys.push([0,2,,3]);t=u.model.findOne(e,r,n);s&&t.populate(s);return[4,t.exec()];case 1:a=o.sent();return[2,a?{success:!0,result:a}:{success:!1,message:"No ".concat(u.getModelName()," found."),code:L.NOT_FOUND.CODE}];case 2:c=o.sent();return[2,{success:!1,message:c.message,code:L.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})})()}},{key:"findAll",value:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},s=arguments.length>3?arguments[3]:void 0;var u=this;return t(function(){var t,a,c;return f(this,function(o){switch(o.label){case 0:o.trys.push([0,2,,3]);t=u.model.find(e,r,n);s&&t.populate(s);a={success:!0};return[4,t.exec()];case 1:return[2,(a.result=o.sent(),a)];case 2:c=o.sent();return[2,{success:!1,message:c.message,code:L.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})})()}},{key:"findPaging",value:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};var n=this;return t(function(){var t,s;return f(this,function(u){switch(u.label){case 0:u.trys.push([0,2,,3]);t={success:!0};return[4,n.model.paginate(e,r)];case 1:return[2,(t.result=u.sent(),t)];case 2:s=u.sent();return[2,{success:!1,message:s.message,code:L.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})})()}},{key:"findPagingAggregate",value:function e(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};var n=this;return t(function(){var t,s;return f(this,function(u){switch(u.label){case 0:u.trys.push([0,2,,3]);t={success:!0};return[4,n.model.aggregatePaginate(n.model.aggregate(e),r)];case 1:return[2,(t.result=u.sent(),t)];case 2:s=u.sent();return[2,{success:!1,message:s.message,code:L.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 r=this;return t(function(){var t,n;return f(this,function(s){switch(s.label){case 0:s.trys.push([0,2,,3]);t={success:!0};return[4,r.model.countDocuments(e)];case 1:return[2,(t.result=s.sent(),t)];case 2:n=s.sent();return[2,{success:!1,message:n.message,code:L.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})})()}},{key:"createOne",value:function e(e){var r=this;return t(function(){var t,n;return f(this,function(s){switch(s.label){case 0:s.trys.push([0,2,,3]);t={success:!0};return[4,r.model.create(e)];case 1:return[2,(t.result=s.sent(),t)];case 2:n=s.sent();return[2,{success:!1,message:n.message,code:L.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})})()}},{key:"createMany",value:function e(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};var n=this;return t(function(){var t,s;return f(this,function(u){switch(u.label){case 0:u.trys.push([0,2,,3]);t={success:!0};return[4,n.model.insertMany(e,r)];case 1:return[2,(t.result=u.sent().map(function(e){return a(e,C.Document)?e.toObject():null}).filter(function(e){return e!==null}),t)];case 2:s=u.sent();return[2,{success:!1,message:s.message,code:L.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})})()}},{key:"updateOne",value:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};var s=this;return t(function(){var t,u;return f(this,function(a){switch(a.label){case 0:a.trys.push([0,2,,3]);return[4,s.model.findOneAndUpdate(e,r,c({new:!0},n)).exec()];case 1:t=a.sent();return[2,t?{success:!0,result:t}:{success:!1,message:"Failed to update ".concat(s.getModelName(),"."),code:L.NOT_FOUND.CODE}];case 2:u=a.sent();return[2,{success:!1,message:u.message,code:L.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})})()}},{key:"updateMany",value:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};var s=this;return t(function(){var t,u;return f(this,function(a){switch(a.label){case 0:a.trys.push([0,2,,3]);t={success:!0};return[4,s.model.updateMany(e,r,n).exec()];case 1:return[2,(t.result=a.sent(),t)];case 2:u=a.sent();return[2,{success:!1,message:u.message,code:L.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})})()}},{key:"deleteOne",value:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};var n=this;return t(function(){var t,s;return f(this,function(u){switch(u.label){case 0:u.trys.push([0,2,,3]);return[4,n.model.findOneAndDelete(e,r).exec()];case 1:t=u.sent();return[2,t?{success:!0,result:t}:{success:!1,message:"No ".concat(n.getModelName()," found to delete."),code:L.NOT_FOUND.CODE}];case 2:s=u.sent();return[2,{success:!1,message:s.message,code:L.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})})()}},{key:"deleteMany",value:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};var n=this;return t(function(){var t,s;return f(this,function(u){switch(u.label){case 0:u.trys.push([0,2,,3]);return[4,n.model.deleteMany(e,r).exec()];case 1:t=u.sent();return[2,t.deletedCount===0?{success:!1,message:"No documents found to delete.",code:L.NOT_FOUND.CODE}:{success:!0,result:t}];case 2:s=u.sent();return[2,{success:!1,message:s.message,code:L.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})})()}},{key:"generateShortId",value:function e(e){var r=this;return t(function(){var t,n,s,u;return f(this,function(a){switch(a.label){case 0:t=new Set;n=0;a.label=1;case 1:if(!(n<10))return[3,5];s=eE(e,n+4);u=!t.has(s);if(!u)return[3,3];t.add(s);return[4,r.model.exists({shortId:s})];case 2:u=!a.sent();a.label=3;case 3:if(u)return[2,{success:!0,result:s}];a.label=4;case 4:n++;return[3,1];case 5:return[2,{success:!1,message:"Failed to generate a unique shortId",code:L.INTERNAL_SERVER_ERROR.CODE}]}})})()}},{key:"generateSlug",value:function e(e,r){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};var s=this;return t(function(){var t,u,a,c,o;return f(this,function(i){switch(i.label){case 0:i.trys.push([0,6,,7]);t=el(r[e]);return[4,s.model.findOne(ed(t,n,r.id))];case 1:u=i.sent();if(!u)return[2,{success:!0,result:t}];a=1;i.label=2;case 2:c="".concat(t,"-").concat(a);return[4,s.model.findOne(ed(c,n,r.id))];case 3:u=i.sent(),a++;i.label=4;case 4:if(u)return[3,2];i.label=5;case 5:return[2,{success:!0,result:c}];case 6:o=i.sent();return[2,{success:!1,message:"Failed to generate a unique slug: ".concat(o.message),code:L.INTERNAL_SERVER_ERROR.CODE}];case 7:return[2]}})})()}},{key:"aggregate",value:function e(e){var r=this;return t(function(){var t,n;return f(this,function(s){switch(s.label){case 0:s.trys.push([0,2,,3]);t={success:!0};return[4,r.model.aggregate(e)];case 1:return[2,(t.result=s.sent(),t)];case 2:n=s.sent();return[2,{success:!1,message:n.message,code:L.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})})()}}]);return e}();0&&(module.exports={MigrationController:MigrationController,MongooseController:MongooseController});
1
+ "use strict";function e(e,t){if(t==null||t>e.length)t=e.length;for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function t(e){if(Array.isArray(e))return e}function r(e,t,r,n,s,u,a){try{var c=e[u](a);var o=c.value}catch(e){r(e);return}if(c.done){t(o)}else{Promise.resolve(o).then(n,s)}}function n(e){return function(){var t=this,n=arguments;return new Promise(function(s,u){var a=e.apply(t,n);function c(e){r(a,s,u,c,o,"next",e)}function o(e){r(a,s,u,c,o,"throw",e)}c(undefined)})}}function s(e,t){if(!(e instanceof t)){throw new TypeError("Cannot call a class as a function")}}function u(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||false;n.configurable=true;if("value"in n)n.writable=true;Object.defineProperty(e,n.key,n)}}function a(e,t,r){if(t)u(e.prototype,t);if(r)u(e,r);return e}function c(e,t,r){if(t in e){Object.defineProperty(e,t,{value:r,enumerable:true,configurable:true,writable:true})}else{e[t]=r}return e}function o(e,t){if(t!=null&&typeof Symbol!=="undefined"&&t[Symbol.hasInstance]){return!!t[Symbol.hasInstance](e)}else{return e instanceof t}}function i(e,t){var r=e==null?null:typeof Symbol!=="undefined"&&e[Symbol.iterator]||e["@@iterator"];if(r==null)return;var n=[];var s=true;var u=false;var a,c;try{for(r=r.call(e);!(s=(a=r.next()).done);s=true){n.push(a.value);if(t&&n.length===t)break}}catch(e){u=true;c=e}finally{try{if(!s&&r["return"]!=null)r["return"]()}finally{if(u)throw c}}return n}function l(){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 E(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};var n=Object.keys(r);if(typeof Object.getOwnPropertySymbols==="function"){n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))}n.forEach(function(t){c(e,t,r[t])})}return e}function f(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);if(t){n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})}r.push.apply(r,n)}return r}function d(e,t){t=t!=null?t:{};if(Object.getOwnPropertyDescriptors){Object.defineProperties(e,Object.getOwnPropertyDescriptors(t))}else{f(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))})}return e}function O(e,t){if(e==null)return{};var r=h(e,t);var n,s;if(Object.getOwnPropertySymbols){var u=Object.getOwnPropertySymbols(e);for(s=0;s<u.length;s++){n=u[s];if(t.indexOf(n)>=0)continue;if(!Object.prototype.propertyIsEnumerable.call(e,n))continue;r[n]=e[n]}}return r}function h(e,t){if(e==null)return{};var r={};var n=Object.keys(e);var s,u;for(u=0;u<n.length;u++){s=n[u];if(t.indexOf(s)>=0)continue;r[s]=e[s]}return r}function S(e,r){return t(e)||i(e,r)||R(e,r)||l()}function v(e){"@swc/helpers - typeof";return e&&typeof Symbol!=="undefined"&&e.constructor===Symbol?"symbol":typeof e}function R(t,r){if(!t)return;if(typeof t==="string")return e(t,r);var n=Object.prototype.toString.call(t).slice(8,-1);if(n==="Object"&&t.constructor)n=t.constructor.name;if(n==="Map"||n==="Set")return Array.from(n);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return e(t,r)}function g(e,t){var r,n,s,u,a={label:0,sent:function(){if(s[0]&1)throw s[1];return s[1]},trys:[],ops:[]};return u={next:c(0),"throw":c(1),"return":c(2)},typeof Symbol==="function"&&(u[Symbol.iterator]=function(){return this}),u;function c(e){return function(t){return o([e,t])}}function o(u){if(r)throw new TypeError("Generator is already executing.");while(a)try{if(r=1,n&&(s=u[0]&2?n["return"]:u[0]?n["throw"]||((s=n["return"])&&s.call(n),0):n.next)&&!(s=s.call(n,u[1])).done)return s;if(n=0,s)u=[u[0]&2,s.value];switch(u[0]){case 0:case 1:s=u;break;case 4:a.label++;return{value:u[1],done:false};case 5:a.label++;n=u[1];u=[0];continue;case 7:u=a.ops.pop();a.trys.pop();continue;default:if(!(s=a.trys,s=s.length>0&&s[s.length-1])&&(u[0]===6||u[0]===2)){a=0;continue}if(u[0]===3&&(!s||u[1]>s[0]&&u[1]<s[3])){a.label=u[1];break}if(u[0]===6&&a.label<s[1]){a.label=s[1];s=u;break}if(s&&a.label<s[2]){a.label=s[2];a.ops.push(u);break}if(s[2])a.ops.pop();a.trys.pop();continue}u=t.call(e,a)}catch(e){u=[6,e];n=0}finally{r=s=0}if(u[0]&5)throw u[1];return{value:u[0]?u[1]:void 0,done:true}}}var m=Object.create;var y=Object.defineProperty;var A=Object.getOwnPropertyDescriptor;var p=Object.getOwnPropertyNames;var D=Object.getPrototypeOf,_=Object.prototype.hasOwnProperty;var T=function(e,t){for(var r in t)y(e,r,{get:t[r],enumerable:!0})},N=function(e,t,r,n){var s=true,u=false,a=undefined;if(t&&(typeof t==="undefined"?"undefined":v(t))=="object"||typeof t=="function")try{var c=function(){var s=i.value;!_.call(e,s)&&s!==r&&y(e,s,{get:function(){return t[s]},enumerable:!(n=A(t,s))||n.enumerable})};for(var o=p(t)[Symbol.iterator](),i;!(s=(i=o.next()).done);s=true)c()}catch(e){u=true;a=e}finally{try{if(!s&&o.return!=null){o.return()}}finally{if(u){throw a}}}return e};var C=function(e,t,r){return r=e!=null?m(D(e)):{},N(t||!e||!e.__esModule?y(r,"default",{value:e,enumerable:!0}):r,e)},b=function(e){return N(y({},"__esModule",{value:!0}),e)};var M={};T(M,{MigrationController:function(){return ep},MongooseController:function(){return e_}});module.exports=b(M);var I=function(){return(typeof document==="undefined"?"undefined":v(document))>"u"?new URL("file:".concat(__filename)).href:document.currentScript&&document.currentScript.src||new URL("main.js",document.baseURI).href},G=I();var P=C(require("unorm"),1);var w=C(require("boxen"),1),U=C(require("chalk"),1),L=require("child_process"),q=C(require("process"),1),F=C(require("util"),1);var k=C(require("localforage"),1),j=C(require("node-persist"),1),x=C(require("os"),1),Q=C(require("path"),1),V=C(require("process"),1);var H=V.default.env.CYBERSKILL_STORAGE_DIR||Q.default.join(x.default.homedir(),".cyberskill-storage");var Y=q.default.env.DEBUG==="true",B=F.promisify(L.exec),W=U.default,K=W.gray,$=W.blue;var X=require("date-fns");function z(){return(0,X.format)(new Date,"yyyy-MM-dd HH:mm:ss.SSS")}var Z=C(require("fs"),1);var J=require("graphql");var ee={GRAPHQL_PARSE_FAILED:{CODE:"GRAPHQL_PARSE_FAILED",MESSAGE:"The GraphQL operation string contains a syntax error."},GRAPHQL_VALIDATION_FAILED:{CODE:"GRAPHQL_VALIDATION_FAILED",MESSAGE:"The GraphQL operation is not valid against the server's schema."},BAD_USER_INPUT:{CODE:"BAD_USER_INPUT",MESSAGE:"The GraphQL operation includes an invalid value for a field argument."},PERSISTED_QUERY_NOT_FOUND:{CODE:"PERSISTED_QUERY_NOT_FOUND",MESSAGE:"A client sent the hash of a query string to execute via automatic persisted queries, but the query was not in the APQ cache."},PERSISTED_QUERY_NOT_SUPPORTED:{CODE:"PERSISTED_QUERY_NOT_SUPPORTED",MESSAGE:"A client sent the hash of a query string to execute via automatic persisted queries, but the server has disabled APQ."},OPERATION_RESOLUTION_FAILURE:{CODE:"OPERATION_RESOLUTION_FAILURE",MESSAGE:"The request was parsed successfully and is valid against the server's schema, but the server couldn't resolve which operation to run. This occurs when a request containing multiple named operations doesn't specify which operation to run (i.e.,operationName), or if the named operation isn't included in the request."},CONTINUE:{CODE:100,MESSAGE:"Continue"},SWITCHING_PROTOCOLS:{CODE:101,MESSAGE:"Switching Protocols"},PROCESSING:{CODE:102,MESSAGE:"Processing"},OK:{CODE:200,MESSAGE:"OK"},CREATED:{CODE:201,MESSAGE:"Created"},ACCEPTED:{CODE:202,MESSAGE:"Accepted"},NON_AUTHORITATIVE_INFORMATION:{CODE:203,MESSAGE:"Non Authoritative Information"},NO_CONTENT:{CODE:204,MESSAGE:"No Content"},RESET_CONTENT:{CODE:205,MESSAGE:"Reset Content"},PARTIAL_CONTENT:{CODE:206,MESSAGE:"Partial Content"},MULTI_STATUS:{CODE:207,MESSAGE:"Multi-Status"},MULTIPLE_CHOICES:{CODE:300,MESSAGE:"Multiple Choices"},MOVED_PERMANENTLY:{CODE:301,MESSAGE:"Moved Permanently"},MOVED_TEMPORARILY:{CODE:302,MESSAGE:"Moved Temporarily"},SEE_OTHER:{CODE:303,MESSAGE:"See Other"},NOT_MODIFIED:{CODE:304,MESSAGE:"Not Modified"},USE_PROXY:{CODE:305,MESSAGE:"Use Proxy"},TEMPORARY_REDIRECT:{CODE:307,MESSAGE:"Temporary Redirect"},PERMANENT_REDIRECT:{CODE:308,MESSAGE:"Permanent Redirect"},BAD_REQUEST:{CODE:400,MESSAGE:"Bad Request"},UNAUTHORIZED:{CODE:401,MESSAGE:"Unauthorized"},PAYMENT_REQUIRED:{CODE:402,MESSAGE:"Payment Required"},FORBIDDEN:{CODE:403,MESSAGE:"Forbidden"},NOT_FOUND:{CODE:404,MESSAGE:"Not Found"},METHOD_NOT_ALLOWED:{CODE:405,MESSAGE:"Method Not Allowed"},NOT_ACCEPTABLE:{CODE:406,MESSAGE:"Not Acceptable"},PROXY_AUTHENTICATION_REQUIRED:{CODE:407,MESSAGE:"Proxy Authentication Required"},REQUEST_TIMEOUT:{CODE:408,MESSAGE:"Request Timeout"},CONFLICT:{CODE:409,MESSAGE:"Conflict"},GONE:{CODE:410,MESSAGE:"Gone"},LENGTH_REQUIRED:{CODE:411,MESSAGE:"Length Required"},PRECONDITION_FAILED:{CODE:412,MESSAGE:"Precondition Failed"},REQUEST_TOO_LONG:{CODE:413,MESSAGE:"Request Entity Too Large"},REQUEST_URI_TOO_LONG:{CODE:414,MESSAGE:"Request-URI Too Long"},UNSUPPORTED_MEDIA_TYPE:{CODE:415,MESSAGE:"Unsupported Media Type"},REQUESTED_RANGE_NOT_SATISFIABLE:{CODE:416,MESSAGE:"Requested Range Not Satisfiable"},EXPECTATION_FAILED:{CODE:417,MESSAGE:"Expectation Failed"},IM_A_TEAPOT:{CODE:418,MESSAGE:"I'm a teapot"},INSUFFICIENT_SPACE_ON_RESOURCE:{CODE:419,MESSAGE:"Insufficient Space on Resource"},METHOD_FAILURE:{CODE:420,MESSAGE:"Method Failure"},MISDIRECTED_REQUEST:{CODE:421,MESSAGE:"Misdirected Request"},UNPROCESSABLE_ENTITY:{CODE:422,MESSAGE:"Unprocessable Entity"},LOCKED:{CODE:423,MESSAGE:"Locked"},FAILED_DEPENDENCY:{CODE:424,MESSAGE:"Failed Dependency"},PRECONDITION_REQUIRED:{CODE:428,MESSAGE:"Precondition Required"},TOO_MANY_REQUESTS:{CODE:429,MESSAGE:"Too Many Requests"},REQUEST_HEADER_FIELDS_TOO_LARGE:{CODE:431,MESSAGE:"Request Header Fields Too Large"},UNAVAILABLE_FOR_LEGAL_REASONS:{CODE:451,MESSAGE:"Unavailable For Legal Reasons"},INTERNAL_SERVER_ERROR:{CODE:500,MESSAGE:"Internal Server Error"},NOT_IMPLEMENTED:{CODE:501,MESSAGE:"Not Implemented"},BAD_GATEWAY:{CODE:502,MESSAGE:"Bad Gateway"},SERVICE_UNAVAILABLE:{CODE:503,MESSAGE:"Service Unavailable"},GATEWAY_TIMEOUT:{CODE:504,MESSAGE:"Gateway Timeout"},HTTP_VERSION_NOT_SUPPORTED:{CODE:505,MESSAGE:"HTTP Version Not Supported"},INSUFFICIENT_STORAGE:{CODE:507,MESSAGE:"Insufficient Storage"},NETWORK_AUTHENTICATION_REQUIRED:{CODE:511,MESSAGE:"Network Authentication Required"}};var et=C(require("crypto-js"),1),er=C(require("mongoose-aggregate-paginate-v2"),1),en=C(require("mongoose-paginate-v2"),1),es=C(require("slugify"),1),eu=require("uuid");var ea=es.default.default||es.default;function ec(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"",t=arguments.length>1?arguments[1]:void 0;var r=t||{},n=r.lower,s=n===void 0?!0:n,u=r.locale,a=u===void 0?"vi":u,c=O(r,["lower","locale"]);return ea(e,E({lower:s,locale:a},c))}function eo(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:4;return et.default.SHA256(e).toString(et.default.enc.Hex).slice(0,t)}function ei(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=arguments.length>2?arguments[2]:void 0;return d(E({},t,r&&{id:{$ne:r}}),{$or:[{slug:e},{slugHistory:e}]})}function el(){return{id:(0,eu.v4)(),isDel:!1,createdAt:z(),updatedAt:z()}}var eE=C(require("node-fetch"),1),ef=C(require("fs"),1),ed=C(require("path"),1);var eO=require("path"),eh=C(require("process"),1),eS=require("url"),ev=(0,eS.fileURLToPath)(G),eR=(0,eO.dirname)(ev),eg=eh.default.env.INIT_CWD||eh.default.cwd();var em=24*60*60*1e3;var ey={a:["\xe0","\xe1","ạ","ả","\xe3","\xe2","ầ","ấ","ậ","ẩ","ẫ","ă","ằ","ắ","ặ","ẳ","ẵ"],e:["\xe8","\xe9","ẹ","ẻ","ẽ","\xea","ề","ế","ệ","ể","ễ"],i:["\xec","\xed","ị","ỉ","ĩ"],o:["\xf2","\xf3","ọ","ỏ","\xf5","\xf4","ồ","ố","ộ","ổ","ỗ","ơ","ờ","ớ","ợ","ở","ỡ"],u:["\xf9","\xfa","ụ","ủ","ũ","ư","ừ","ứ","ự","ử","ữ"],y:["ỳ","\xfd","ỵ","ỷ","ỹ"],d:["đ"]},eA=Object.entries(ey).reduce(function(e,t){var r=S(t,2),n=r[0],s=r[1];return e[n.toUpperCase()]=s.map(function(e){return e.toUpperCase()}),e},{});var ep=/*#__PURE__*/function(){function e(t,r){s(this,e);this.collection=t.collection(r)}a(e,[{key:"createOne",value:function e(e){var t=this;return n(function(){var r,n,s;return g(this,function(u){switch(u.label){case 0:u.trys.push([0,2,,3]);r=E({},el(),e);n={success:!0,message:"Document created successfully"};return[4,t.collection.insertOne(r)];case 1:return[2,(n.result=u.sent(),n)];case 2:s=u.sent();return[2,{success:!1,message:s.message}];case 3:return[2]}})})()}},{key:"createMany",value:function e(e){var t=this;return n(function(){var r,n,s;return g(this,function(u){switch(u.label){case 0:u.trys.push([0,2,,3]);r=e.map(function(e){return E({},el(),e)});return[4,t.collection.insertMany(r)];case 1:n=u.sent();return[2,n.insertedCount===0?{success:!1,message:"No documents were inserted"}:{success:!0,message:"".concat(n.insertedCount," documents created successfully"),result:n}];case 2:s=u.sent();return[2,{success:!1,message:s.message}];case 3:return[2]}})})()}},{key:"findOne",value:function e(e){var t=this;return n(function(){var r,n;return g(this,function(s){switch(s.label){case 0:s.trys.push([0,2,,3]);return[4,t.collection.findOne(e)];case 1:r=s.sent();return[2,r?{success:!0,message:"Document found",result:r}:{success:!1,message:"Document not found"}];case 2:n=s.sent();return[2,{success:!1,message:n.message}];case 3:return[2]}})})()}},{key:"findAll",value:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};var t=this;return n(function(){var r,n;return g(this,function(s){switch(s.label){case 0:s.trys.push([0,2,,3]);r={success:!0,message:"Documents retrieved successfully"};return[4,t.collection.find(e).toArray()];case 1:return[2,(r.result=s.sent(),r)];case 2:n=s.sent();return[2,{success:!1,message:n.message}];case 3:return[2]}})})()}},{key:"count",value:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};var t=this;return n(function(){var r,n;return g(this,function(s){switch(s.label){case 0:s.trys.push([0,2,,3]);r={success:!0,message:"Count retrieved successfully"};return[4,t.collection.countDocuments(e)];case 1:return[2,(r.result=s.sent(),r)];case 2:n=s.sent();return[2,{success:!1,message:n.message}];case 3:return[2]}})})()}},{key:"updateOne",value:function e(e,t){var r=this;return n(function(){var n,s;return g(this,function(u){switch(u.label){case 0:u.trys.push([0,2,,3]);return[4,r.collection.updateOne(e,{$set:t})];case 1:n=u.sent();return[2,n.matchedCount===0?{success:!1,message:"No documents matched the filter"}:{success:!0,message:"Document updated successfully",result:n}];case 2:s=u.sent();return[2,{success:!1,message:s.message}];case 3:return[2]}})})()}},{key:"updateMany",value:function e(e,t){var r=this;return n(function(){var n,s;return g(this,function(u){switch(u.label){case 0:u.trys.push([0,2,,3]);return[4,r.collection.updateMany(e,{$set:t})];case 1:n=u.sent();return[2,n.matchedCount===0?{success:!1,message:"No documents matched the filter"}:{success:!0,message:"Documents updated successfully",result:n}];case 2:s=u.sent();return[2,{success:!1,message:s.message}];case 3:return[2]}})})()}},{key:"deleteOne",value:function e(e){var t=this;return n(function(){var r,n;return g(this,function(s){switch(s.label){case 0:s.trys.push([0,2,,3]);return[4,t.collection.deleteOne(e)];case 1:r=s.sent();return[2,r.deletedCount===0?{success:!1,message:"No documents matched the filter"}:{success:!0,message:"Document deleted successfully",result:r}];case 2:n=s.sent();return[2,{success:!1,message:n.message}];case 3:return[2]}})})()}},{key:"deleteMany",value:function e(e){var t=this;return n(function(){var r,n;return g(this,function(s){switch(s.label){case 0:s.trys.push([0,2,,3]);return[4,t.collection.deleteMany(e)];case 1:r=s.sent();return[2,r.deletedCount===0?{success:!1,message:"No documents matched the filter"}:{success:!0,message:"Documents deleted successfully",result:r}];case 2:n=s.sent();return[2,{success:!1,message:n.message}];case 3:return[2]}})})()}}]);return e}();var eD=require("mongoose");var e_=/*#__PURE__*/function(){function e(t){s(this,e);this.model=t}a(e,[{key:"getModelName",value:function e(){return this.model.modelName}},{key:"findOne",value:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},s=arguments.length>3?arguments[3]:void 0;var u=this;return n(function(){var n,a,c;return g(this,function(o){switch(o.label){case 0:o.trys.push([0,2,,3]);n=u.model.findOne(e,t,r);s&&n.populate(s);return[4,n.exec()];case 1:a=o.sent();return[2,a?{success:!0,result:a}:{success:!1,message:"No ".concat(u.getModelName()," found."),code:ee.NOT_FOUND.CODE}];case 2:c=o.sent();return[2,{success:!1,message:c.message,code:ee.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})})()}},{key:"findAll",value:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},s=arguments.length>3?arguments[3]:void 0;var u=this;return n(function(){var n,a,c;return g(this,function(o){switch(o.label){case 0:o.trys.push([0,2,,3]);n=u.model.find(e,t,r);s&&n.populate(s);a={success:!0};return[4,n.exec()];case 1:return[2,(a.result=o.sent(),a)];case 2:c=o.sent();return[2,{success:!1,message:c.message,code:ee.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})})()}},{key:"findPaging",value:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};var r=this;return n(function(){var n,s;return g(this,function(u){switch(u.label){case 0:u.trys.push([0,2,,3]);n={success:!0};return[4,r.model.paginate(e,t)];case 1:return[2,(n.result=u.sent(),n)];case 2:s=u.sent();return[2,{success:!1,message:s.message,code:ee.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})})()}},{key:"findPagingAggregate",value:function e(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};var r=this;return n(function(){var n,s;return g(this,function(u){switch(u.label){case 0:u.trys.push([0,2,,3]);n={success:!0};return[4,r.model.aggregatePaginate(r.model.aggregate(e),t)];case 1:return[2,(n.result=u.sent(),n)];case 2:s=u.sent();return[2,{success:!1,message:s.message,code:ee.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})})()}},{key:"count",value:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};var t=this;return n(function(){var r,n;return g(this,function(s){switch(s.label){case 0:s.trys.push([0,2,,3]);r={success:!0};return[4,t.model.countDocuments(e)];case 1:return[2,(r.result=s.sent(),r)];case 2:n=s.sent();return[2,{success:!1,message:n.message,code:ee.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})})()}},{key:"createOne",value:function e(e){var t=this;return n(function(){var r,n;return g(this,function(s){switch(s.label){case 0:s.trys.push([0,2,,3]);r={success:!0};return[4,t.model.create(e)];case 1:return[2,(r.result=s.sent(),r)];case 2:n=s.sent();return[2,{success:!1,message:n.message,code:ee.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})})()}},{key:"createMany",value:function e(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};var r=this;return n(function(){var n,s;return g(this,function(u){switch(u.label){case 0:u.trys.push([0,2,,3]);n={success:!0};return[4,r.model.insertMany(e,t)];case 1:return[2,(n.result=u.sent().map(function(e){return o(e,eD.Document)?e.toObject():null}).filter(function(e){return e!==null}),n)];case 2:s=u.sent();return[2,{success:!1,message:s.message,code:ee.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})})()}},{key:"updateOne",value:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};var s=this;return n(function(){var n,u;return g(this,function(a){switch(a.label){case 0:a.trys.push([0,2,,3]);return[4,s.model.findOneAndUpdate(e,t,E({new:!0},r)).exec()];case 1:n=a.sent();return[2,n?{success:!0,result:n}:{success:!1,message:"Failed to update ".concat(s.getModelName(),"."),code:ee.NOT_FOUND.CODE}];case 2:u=a.sent();return[2,{success:!1,message:u.message,code:ee.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})})()}},{key:"updateMany",value:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};var s=this;return n(function(){var n,u;return g(this,function(a){switch(a.label){case 0:a.trys.push([0,2,,3]);n={success:!0};return[4,s.model.updateMany(e,t,r).exec()];case 1:return[2,(n.result=a.sent(),n)];case 2:u=a.sent();return[2,{success:!1,message:u.message,code:ee.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})})()}},{key:"deleteOne",value:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};var r=this;return n(function(){var n,s;return g(this,function(u){switch(u.label){case 0:u.trys.push([0,2,,3]);return[4,r.model.findOneAndDelete(e,t).exec()];case 1:n=u.sent();return[2,n?{success:!0,result:n}:{success:!1,message:"No ".concat(r.getModelName()," found to delete."),code:ee.NOT_FOUND.CODE}];case 2:s=u.sent();return[2,{success:!1,message:s.message,code:ee.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})})()}},{key:"deleteMany",value:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};var r=this;return n(function(){var n,s;return g(this,function(u){switch(u.label){case 0:u.trys.push([0,2,,3]);return[4,r.model.deleteMany(e,t).exec()];case 1:n=u.sent();return[2,n.deletedCount===0?{success:!1,message:"No documents found to delete.",code:ee.NOT_FOUND.CODE}:{success:!0,result:n}];case 2:s=u.sent();return[2,{success:!1,message:s.message,code:ee.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})})()}},{key:"generateShortId",value:function e(e){var t=this;return n(function(){var r,n,s,u;return g(this,function(a){switch(a.label){case 0:r=new Set;n=0;a.label=1;case 1:if(!(n<10))return[3,5];s=eo(e,n+4);u=!r.has(s);if(!u)return[3,3];r.add(s);return[4,t.model.exists({shortId:s})];case 2:u=!a.sent();a.label=3;case 3:if(u)return[2,{success:!0,result:s}];a.label=4;case 4:n++;return[3,1];case 5:return[2,{success:!1,message:"Failed to generate a unique shortId",code:ee.INTERNAL_SERVER_ERROR.CODE}]}})})()}},{key:"generateSlug",value:function e(e,t){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};var s=this;return n(function(){var n,u,a,c,o;return g(this,function(i){switch(i.label){case 0:i.trys.push([0,6,,7]);n=ec(t[e]);return[4,s.model.findOne(ei(n,r,t.id))];case 1:u=i.sent();if(!u)return[2,{success:!0,result:n}];a=1;i.label=2;case 2:c="".concat(n,"-").concat(a);return[4,s.model.findOne(ei(c,r,t.id))];case 3:u=i.sent(),a++;i.label=4;case 4:if(u)return[3,2];i.label=5;case 5:return[2,{success:!0,result:c}];case 6:o=i.sent();return[2,{success:!1,message:"Failed to generate a unique slug: ".concat(o.message),code:ee.INTERNAL_SERVER_ERROR.CODE}];case 7:return[2]}})})()}},{key:"aggregate",value:function e(e){var t=this;return n(function(){var r,n;return g(this,function(s){switch(s.label){case 0:s.trys.push([0,2,,3]);r={success:!0};return[4,t.model.aggregate(e)];case 1:return[2,(r.result=s.sent(),r)];case 2:n=s.sent();return[2,{success:!1,message:n.message,code:ee.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})})()}}]);return e}();0&&(module.exports={MigrationController:MigrationController,MongooseController:MongooseController});
@@ -1,4 +1,4 @@
1
- export { MigrationController } from './migration.cjs';
1
+ export { MigrationController } from './mongo-migration.cjs';
2
2
  export { MongooseController } from './mongoose.cjs';
3
3
  import '../typescript/mongoose.cjs';
4
4
  import 'mongodb';
@@ -1,4 +1,4 @@
1
- export { MigrationController } from './migration.js';
1
+ export { MigrationController } from './mongo-migration.js';
2
2
  export { MongooseController } from './mongoose.js';
3
3
  import '../typescript/mongoose.js';
4
4
  import 'mongodb';
@@ -1 +1 @@
1
- function e(e,t,s,r,n,u,c){try{var a=e[u](c);var o=a.value}catch(e){s(e);return}if(a.done){t(o)}else{Promise.resolve(o).then(r,n)}}function t(t){return function(){var s=this,r=arguments;return new Promise(function(n,u){var c=t.apply(s,r);function a(t){e(c,n,u,a,o,"next",t)}function o(t){e(c,n,u,a,o,"throw",t)}a(undefined)})}}function s(e,t){if(!(e instanceof t)){throw new TypeError("Cannot call a class as a function")}}function r(e,t){for(var s=0;s<t.length;s++){var r=t[s];r.enumerable=r.enumerable||false;r.configurable=true;if("value"in r)r.writable=true;Object.defineProperty(e,r.key,r)}}function n(e,t,s){if(t)r(e.prototype,t);if(s)r(e,s);return e}function u(e,t,s){if(t in e){Object.defineProperty(e,t,{value:s,enumerable:true,configurable:true,writable:true})}else{e[t]=s}return e}function c(e,t){if(t!=null&&typeof Symbol!=="undefined"&&t[Symbol.hasInstance]){return!!t[Symbol.hasInstance](e)}else{return e instanceof t}}function a(e){for(var t=1;t<arguments.length;t++){var s=arguments[t]!=null?arguments[t]:{};var r=Object.keys(s);if(typeof Object.getOwnPropertySymbols==="function"){r=r.concat(Object.getOwnPropertySymbols(s).filter(function(e){return Object.getOwnPropertyDescriptor(s,e).enumerable}))}r.forEach(function(t){u(e,t,s[t])})}return e}function o(e,t){var s=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);if(t){r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})}s.push.apply(s,r)}return s}function i(e,t){t=t!=null?t:{};if(Object.getOwnPropertyDescriptors){Object.defineProperties(e,Object.getOwnPropertyDescriptors(t))}else{o(Object(t)).forEach(function(s){Object.defineProperty(e,s,Object.getOwnPropertyDescriptor(t,s))})}return e}function E(e,t){if(e==null)return{};var s=l(e,t);var r,n;if(Object.getOwnPropertySymbols){var u=Object.getOwnPropertySymbols(e);for(n=0;n<u.length;n++){r=u[n];if(t.indexOf(r)>=0)continue;if(!Object.prototype.propertyIsEnumerable.call(e,r))continue;s[r]=e[r]}}return s}function l(e,t){if(e==null)return{};var s={};var r=Object.keys(e);var n,u;for(u=0;u<r.length;u++){n=r[u];if(t.indexOf(n)>=0)continue;s[n]=e[n]}return s}function d(e,t){var s,r,n,u,c={label:0,sent:function(){if(n[0]&1)throw n[1];return n[1]},trys:[],ops:[]};return u={next:a(0),"throw":a(1),"return":a(2)},typeof Symbol==="function"&&(u[Symbol.iterator]=function(){return this}),u;function a(e){return function(t){return o([e,t])}}function o(u){if(s)throw new TypeError("Generator is already executing.");while(c)try{if(s=1,r&&(n=u[0]&2?r["return"]:u[0]?r["throw"]||((n=r["return"])&&n.call(r),0):r.next)&&!(n=n.call(r,u[1])).done)return n;if(r=0,n)u=[u[0]&2,n.value];switch(u[0]){case 0:case 1:n=u;break;case 4:c.label++;return{value:u[1],done:false};case 5:c.label++;r=u[1];u=[0];continue;case 7:u=c.ops.pop();c.trys.pop();continue;default:if(!(n=c.trys,n=n.length>0&&n[n.length-1])&&(u[0]===6||u[0]===2)){c=0;continue}if(u[0]===3&&(!n||u[1]>n[0]&&u[1]<n[3])){c.label=u[1];break}if(u[0]===6&&c.label<n[1]){c.label=n[1];n=u;break}if(n&&c.label<n[2]){c.label=n[2];c.ops.push(u);break}if(n[2])c.ops.pop();c.trys.pop();continue}u=t.call(e,c)}catch(e){u=[6,e];r=0}finally{s=n=0}if(u[0]&5)throw u[1];return{value:u[0]?u[1]:void 0,done:true}}}var O=/*#__PURE__*/function(){"use strict";function e(t,r){s(this,e);this.collection=t.collection(r)}n(e,[{key:"createOne",value:function e(e){var s=this;return t(function(){var t,r;return d(this,function(n){switch(n.label){case 0:n.trys.push([0,2,,3]);t={success:!0,message:"Document created successfully"};return[4,s.collection.insertOne(e)];case 1:return[2,(t.result=n.sent(),t)];case 2:r=n.sent();return[2,{success:!1,message:r.message}];case 3:return[2]}})})()}},{key:"createMany",value:function e(e){var s=this;return t(function(){var t,r;return d(this,function(n){switch(n.label){case 0:n.trys.push([0,2,,3]);return[4,s.collection.insertMany(e)];case 1:t=n.sent();return[2,t.insertedCount===0?{success:!1,message:"No documents were inserted"}:{success:!0,message:"".concat(t.insertedCount," documents created successfully"),result:t}];case 2:r=n.sent();return[2,{success:!1,message:r.message}];case 3:return[2]}})})()}},{key:"findOne",value:function e(e){var s=this;return t(function(){var t,r;return d(this,function(n){switch(n.label){case 0:n.trys.push([0,2,,3]);return[4,s.collection.findOne(e)];case 1:t=n.sent();return[2,t?{success:!0,message:"Document found",result:t}:{success:!1,message:"Document not found"}];case 2:r=n.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 s=this;return t(function(){var t,r;return d(this,function(n){switch(n.label){case 0:n.trys.push([0,2,,3]);t={success:!0,message:"Documents retrieved successfully"};return[4,s.collection.find(e).toArray()];case 1:return[2,(t.result=n.sent(),t)];case 2:r=n.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 s=this;return t(function(){var t,r;return d(this,function(n){switch(n.label){case 0:n.trys.push([0,2,,3]);t={success:!0,message:"Count retrieved successfully"};return[4,s.collection.countDocuments(e)];case 1:return[2,(t.result=n.sent(),t)];case 2:r=n.sent();return[2,{success:!1,message:r.message}];case 3:return[2]}})})()}},{key:"updateOne",value:function e(e,s){var r=this;return t(function(){var t,n;return d(this,function(u){switch(u.label){case 0:u.trys.push([0,2,,3]);return[4,r.collection.updateOne(e,{$set:s})];case 1:t=u.sent();return[2,t.matchedCount===0?{success:!1,message:"No documents matched the filter"}:{success:!0,message:"Document updated successfully",result:t}];case 2:n=u.sent();return[2,{success:!1,message:n.message}];case 3:return[2]}})})()}},{key:"updateMany",value:function e(e,s){var r=this;return t(function(){var t,n;return d(this,function(u){switch(u.label){case 0:u.trys.push([0,2,,3]);return[4,r.collection.updateMany(e,{$set:s})];case 1:t=u.sent();return[2,t.matchedCount===0?{success:!1,message:"No documents matched the filter"}:{success:!0,message:"Documents updated successfully",result:t}];case 2:n=u.sent();return[2,{success:!1,message:n.message}];case 3:return[2]}})})()}},{key:"deleteOne",value:function e(e){var s=this;return t(function(){var t,r;return d(this,function(n){switch(n.label){case 0:n.trys.push([0,2,,3]);return[4,s.collection.deleteOne(e)];case 1:t=n.sent();return[2,t.deletedCount===0?{success:!1,message:"No documents matched the filter"}:{success:!0,message:"Document deleted successfully",result:t}];case 2:r=n.sent();return[2,{success:!1,message:r.message}];case 3:return[2]}})})()}},{key:"deleteMany",value:function e(e){var s=this;return t(function(){var t,r;return d(this,function(n){switch(n.label){case 0:n.trys.push([0,2,,3]);return[4,s.collection.deleteMany(e)];case 1:t=n.sent();return[2,t.deletedCount===0?{success:!1,message:"No documents matched the filter"}:{success:!0,message:"Documents deleted successfully",result:t}];case 2:r=n.sent();return[2,{success:!1,message:r.message}];case 3:return[2]}})})()}}]);return e}();import{Document as f}from"mongoose";import{dirname as S}from"node:path";import h from"node:process";import{fileURLToPath as m}from"node:url";var R=m(import.meta.url),g=S(R),v=h.env.INIT_CWD||h.cwd();var A={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"}};import D from"unorm";import p from"boxen";import T from"chalk";var y=T.green,_=T.yellow,N=T.red,C=T.gray,I=T.bold,M=T.blue;import b from"localforage";import G from"node-persist";import P from"node:os";import L from"node:path";import U from"node:process";var w=U.env.CYBERSKILL_STORAGE_DIR||L.join(P.homedir(),".cyberskill-storage");import{exec as F}from"node:child_process";import k from"node:process";import*as Q from"node:util";var V=Q.promisify(F),q=k.env.DEBUG==="true";import{GraphQLError as j}from"graphql";import x from"crypto-js";import H from"mongoose-aggregate-paginate-v2";import Y from"mongoose-paginate-v2";import B from"slugify";import{v4 as W}from"uuid";var K=B.default||B;function $(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"",t=arguments.length>1?arguments[1]:void 0;var s=t||{},r=s.lower,n=r===void 0?!0:r,u=s.locale,c=u===void 0?"vi":u,o=E(s,["lower","locale"]);return K(e,a({lower:n,locale:c},o))}function X(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:4;return x.SHA256(e).toString(x.enc.Hex).slice(0,t)}function z(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},s=arguments.length>2?arguments[2]:void 0;return i(a({},t,s&&{id:{$ne:s}}),{$or:[{slug:e},{slugHistory:e}]})}import Z from"node-fetch";var J=24*60*60*1e3;var ee=/*#__PURE__*/function(){"use strict";function e(t){s(this,e);this.model=t}n(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]:{},s=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},n=arguments.length>3?arguments[3]:void 0;var u=this;return t(function(){var t,c,a;return d(this,function(o){switch(o.label){case 0:o.trys.push([0,2,,3]);t=u.model.findOne(e,s,r);n&&t.populate(n);return[4,t.exec()];case 1:c=o.sent();return[2,c?{success:!0,result:c}:{success:!1,message:"No ".concat(u.getModelName()," found."),code:A.NOT_FOUND.CODE}];case 2:a=o.sent();return[2,{success:!1,message:a.message,code:A.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})})()}},{key:"findAll",value:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},s=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},n=arguments.length>3?arguments[3]:void 0;var u=this;return t(function(){var t,c,a;return d(this,function(o){switch(o.label){case 0:o.trys.push([0,2,,3]);t=u.model.find(e,s,r);n&&t.populate(n);c={success:!0};return[4,t.exec()];case 1:return[2,(c.result=o.sent(),c)];case 2:a=o.sent();return[2,{success:!1,message:a.message,code:A.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})})()}},{key:"findPaging",value:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},s=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};var r=this;return t(function(){var t,n;return d(this,function(u){switch(u.label){case 0:u.trys.push([0,2,,3]);t={success:!0};return[4,r.model.paginate(e,s)];case 1:return[2,(t.result=u.sent(),t)];case 2:n=u.sent();return[2,{success:!1,message:n.message,code:A.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})})()}},{key:"findPagingAggregate",value:function e(e){var s=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};var r=this;return t(function(){var t,n;return d(this,function(u){switch(u.label){case 0:u.trys.push([0,2,,3]);t={success:!0};return[4,r.model.aggregatePaginate(r.model.aggregate(e),s)];case 1:return[2,(t.result=u.sent(),t)];case 2:n=u.sent();return[2,{success:!1,message:n.message,code:A.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 s=this;return t(function(){var t,r;return d(this,function(n){switch(n.label){case 0:n.trys.push([0,2,,3]);t={success:!0};return[4,s.model.countDocuments(e)];case 1:return[2,(t.result=n.sent(),t)];case 2:r=n.sent();return[2,{success:!1,message:r.message,code:A.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})})()}},{key:"createOne",value:function e(e){var s=this;return t(function(){var t,r;return d(this,function(n){switch(n.label){case 0:n.trys.push([0,2,,3]);t={success:!0};return[4,s.model.create(e)];case 1:return[2,(t.result=n.sent(),t)];case 2:r=n.sent();return[2,{success:!1,message:r.message,code:A.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})})()}},{key:"createMany",value:function e(e){var s=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};var r=this;return t(function(){var t,n;return d(this,function(u){switch(u.label){case 0:u.trys.push([0,2,,3]);t={success:!0};return[4,r.model.insertMany(e,s)];case 1:return[2,(t.result=u.sent().map(function(e){return c(e,f)?e.toObject():null}).filter(function(e){return e!==null}),t)];case 2:n=u.sent();return[2,{success:!1,message:n.message,code:A.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})})()}},{key:"updateOne",value:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},s=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};var n=this;return t(function(){var t,u;return d(this,function(c){switch(c.label){case 0:c.trys.push([0,2,,3]);return[4,n.model.findOneAndUpdate(e,s,a({new:!0},r)).exec()];case 1:t=c.sent();return[2,t?{success:!0,result:t}:{success:!1,message:"Failed to update ".concat(n.getModelName(),"."),code:A.NOT_FOUND.CODE}];case 2:u=c.sent();return[2,{success:!1,message:u.message,code:A.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})})()}},{key:"updateMany",value:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},s=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};var n=this;return t(function(){var t,u;return d(this,function(c){switch(c.label){case 0:c.trys.push([0,2,,3]);t={success:!0};return[4,n.model.updateMany(e,s,r).exec()];case 1:return[2,(t.result=c.sent(),t)];case 2:u=c.sent();return[2,{success:!1,message:u.message,code:A.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})})()}},{key:"deleteOne",value:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},s=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};var r=this;return t(function(){var t,n;return d(this,function(u){switch(u.label){case 0:u.trys.push([0,2,,3]);return[4,r.model.findOneAndDelete(e,s).exec()];case 1:t=u.sent();return[2,t?{success:!0,result:t}:{success:!1,message:"No ".concat(r.getModelName()," found to delete."),code:A.NOT_FOUND.CODE}];case 2:n=u.sent();return[2,{success:!1,message:n.message,code:A.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})})()}},{key:"deleteMany",value:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},s=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};var r=this;return t(function(){var t,n;return d(this,function(u){switch(u.label){case 0:u.trys.push([0,2,,3]);return[4,r.model.deleteMany(e,s).exec()];case 1:t=u.sent();return[2,t.deletedCount===0?{success:!1,message:"No documents found to delete.",code:A.NOT_FOUND.CODE}:{success:!0,result:t}];case 2:n=u.sent();return[2,{success:!1,message:n.message,code:A.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})})()}},{key:"generateShortId",value:function e(e){var s=this;return t(function(){var t,r,n,u;return d(this,function(c){switch(c.label){case 0:t=new Set;r=0;c.label=1;case 1:if(!(r<10))return[3,5];n=X(e,r+4);u=!t.has(n);if(!u)return[3,3];t.add(n);return[4,s.model.exists({shortId:n})];case 2:u=!c.sent();c.label=3;case 3:if(u)return[2,{success:!0,result:n}];c.label=4;case 4:r++;return[3,1];case 5:return[2,{success:!1,message:"Failed to generate a unique shortId",code:A.INTERNAL_SERVER_ERROR.CODE}]}})})()}},{key:"generateSlug",value:function e(e,s){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};var n=this;return t(function(){var t,u,c,a,o;return d(this,function(i){switch(i.label){case 0:i.trys.push([0,6,,7]);t=$(s[e]);return[4,n.model.findOne(z(t,r,s.id))];case 1:u=i.sent();if(!u)return[2,{success:!0,result:t}];c=1;i.label=2;case 2:a="".concat(t,"-").concat(c);return[4,n.model.findOne(z(a,r,s.id))];case 3:u=i.sent(),c++;i.label=4;case 4:if(u)return[3,2];i.label=5;case 5:return[2,{success:!0,result:a}];case 6:o=i.sent();return[2,{success:!1,message:"Failed to generate a unique slug: ".concat(o.message),code:A.INTERNAL_SERVER_ERROR.CODE}];case 7:return[2]}})})()}},{key:"aggregate",value:function e(e){var s=this;return t(function(){var t,r;return d(this,function(n){switch(n.label){case 0:n.trys.push([0,2,,3]);t={success:!0};return[4,s.model.aggregate(e)];case 1:return[2,(t.result=n.sent(),t)];case 2:r=n.sent();return[2,{success:!1,message:r.message,code:A.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})})()}}]);return e}();export{O as MigrationController,ee as MongooseController};
1
+ function e(e,t){if(t==null||t>e.length)t=e.length;for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function t(e){if(Array.isArray(e))return e}function r(e,t,r,n,s,u,a){try{var c=e[u](a);var o=c.value}catch(e){r(e);return}if(c.done){t(o)}else{Promise.resolve(o).then(n,s)}}function n(e){return function(){var t=this,n=arguments;return new Promise(function(s,u){var a=e.apply(t,n);function c(e){r(a,s,u,c,o,"next",e)}function o(e){r(a,s,u,c,o,"throw",e)}c(undefined)})}}function s(e,t){if(!(e instanceof t)){throw new TypeError("Cannot call a class as a function")}}function u(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||false;n.configurable=true;if("value"in n)n.writable=true;Object.defineProperty(e,n.key,n)}}function a(e,t,r){if(t)u(e.prototype,t);if(r)u(e,r);return e}function c(e,t,r){if(t in e){Object.defineProperty(e,t,{value:r,enumerable:true,configurable:true,writable:true})}else{e[t]=r}return e}function o(e,t){if(t!=null&&typeof Symbol!=="undefined"&&t[Symbol.hasInstance]){return!!t[Symbol.hasInstance](e)}else{return e instanceof t}}function i(e,t){var r=e==null?null:typeof Symbol!=="undefined"&&e[Symbol.iterator]||e["@@iterator"];if(r==null)return;var n=[];var s=true;var u=false;var a,c;try{for(r=r.call(e);!(s=(a=r.next()).done);s=true){n.push(a.value);if(t&&n.length===t)break}}catch(e){u=true;c=e}finally{try{if(!s&&r["return"]!=null)r["return"]()}finally{if(u)throw c}}return n}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 l(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};var n=Object.keys(r);if(typeof Object.getOwnPropertySymbols==="function"){n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))}n.forEach(function(t){c(e,t,r[t])})}return e}function f(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);if(t){n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})}r.push.apply(r,n)}return r}function d(e,t){t=t!=null?t:{};if(Object.getOwnPropertyDescriptors){Object.defineProperties(e,Object.getOwnPropertyDescriptors(t))}else{f(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))})}return e}function O(e,t){if(e==null)return{};var r=h(e,t);var n,s;if(Object.getOwnPropertySymbols){var u=Object.getOwnPropertySymbols(e);for(s=0;s<u.length;s++){n=u[s];if(t.indexOf(n)>=0)continue;if(!Object.prototype.propertyIsEnumerable.call(e,n))continue;r[n]=e[n]}}return r}function h(e,t){if(e==null)return{};var r={};var n=Object.keys(e);var s,u;for(u=0;u<n.length;u++){s=n[u];if(t.indexOf(s)>=0)continue;r[s]=e[s]}return r}function S(e,r){return t(e)||i(e,r)||m(e,r)||E()}function m(t,r){if(!t)return;if(typeof t==="string")return e(t,r);var n=Object.prototype.toString.call(t).slice(8,-1);if(n==="Object"&&t.constructor)n=t.constructor.name;if(n==="Map"||n==="Set")return Array.from(n);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return e(t,r)}function R(e,t){var r,n,s,u,a={label:0,sent:function(){if(s[0]&1)throw s[1];return s[1]},trys:[],ops:[]};return u={next:c(0),"throw":c(1),"return":c(2)},typeof Symbol==="function"&&(u[Symbol.iterator]=function(){return this}),u;function c(e){return function(t){return o([e,t])}}function o(u){if(r)throw new TypeError("Generator is already executing.");while(a)try{if(r=1,n&&(s=u[0]&2?n["return"]:u[0]?n["throw"]||((s=n["return"])&&s.call(n),0):n.next)&&!(s=s.call(n,u[1])).done)return s;if(n=0,s)u=[u[0]&2,s.value];switch(u[0]){case 0:case 1:s=u;break;case 4:a.label++;return{value:u[1],done:false};case 5:a.label++;n=u[1];u=[0];continue;case 7:u=a.ops.pop();a.trys.pop();continue;default:if(!(s=a.trys,s=s.length>0&&s[s.length-1])&&(u[0]===6||u[0]===2)){a=0;continue}if(u[0]===3&&(!s||u[1]>s[0]&&u[1]<s[3])){a.label=u[1];break}if(u[0]===6&&a.label<s[1]){a.label=s[1];s=u;break}if(s&&a.label<s[2]){a.label=s[2];a.ops.push(u);break}if(s[2])a.ops.pop();a.trys.pop();continue}u=t.call(e,a)}catch(e){u=[6,e];n=0}finally{r=s=0}if(u[0]&5)throw u[1];return{value:u[0]?u[1]:void 0,done:true}}}import v from"unorm";import g from"boxen";import A from"chalk";import{exec as p}from"node:child_process";import D from"node:process";import*as y from"node:util";import T from"localforage";import _ from"node-persist";import N from"node:os";import C from"node:path";import I from"node:process";var M=I.env.CYBERSKILL_STORAGE_DIR||C.join(N.homedir(),".cyberskill-storage");var b=D.env.DEBUG==="true",G=y.promisify(p),P=A.gray,L=A.blue;import{format as U}from"date-fns";function w(){return U(new Date,"yyyy-MM-dd HH:mm:ss.SSS")}import{GraphQLError as F}from"graphql";var k={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"}};import j from"crypto-js";import Q from"mongoose-aggregate-paginate-v2";import V from"mongoose-paginate-v2";import q from"slugify";import{v4 as x}from"uuid";var H=q.default||q;function Y(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"",t=arguments.length>1?arguments[1]:void 0;var r=t||{},n=r.lower,s=n===void 0?!0:n,u=r.locale,a=u===void 0?"vi":u,c=O(r,["lower","locale"]);return H(e,l({lower:s,locale:a},c))}function B(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:4;return j.SHA256(e).toString(j.enc.Hex).slice(0,t)}function W(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=arguments.length>2?arguments[2]:void 0;return d(l({},t,r&&{id:{$ne:r}}),{$or:[{slug:e},{slugHistory:e}]})}function K(){return{id:x(),isDel:!1,createdAt:w(),updatedAt:w()}}import $ from"node-fetch";import{dirname as X}from"node:path";import z from"node:process";import{fileURLToPath as Z}from"node:url";var J=Z(import.meta.url),ee=X(J),et=z.env.INIT_CWD||z.cwd();var er=24*60*60*1e3;var en={a:["\xe0","\xe1","ạ","ả","\xe3","\xe2","ầ","ấ","ậ","ẩ","ẫ","ă","ằ","ắ","ặ","ẳ","ẵ"],e:["\xe8","\xe9","ẹ","ẻ","ẽ","\xea","ề","ế","ệ","ể","ễ"],i:["\xec","\xed","ị","ỉ","ĩ"],o:["\xf2","\xf3","ọ","ỏ","\xf5","\xf4","ồ","ố","ộ","ổ","ỗ","ơ","ờ","ớ","ợ","ở","ỡ"],u:["\xf9","\xfa","ụ","ủ","ũ","ư","ừ","ứ","ự","ử","ữ"],y:["ỳ","\xfd","ỵ","ỷ","ỹ"],d:["đ"]},es=Object.entries(en).reduce(function(e,t){var r=S(t,2),n=r[0],s=r[1];return e[n.toUpperCase()]=s.map(function(e){return e.toUpperCase()}),e},{});var eu=/*#__PURE__*/function(){"use strict";function e(t,r){s(this,e);this.collection=t.collection(r)}a(e,[{key:"createOne",value:function e(e){var t=this;return n(function(){var r,n,s;return R(this,function(u){switch(u.label){case 0:u.trys.push([0,2,,3]);r=l({},K(),e);n={success:!0,message:"Document created successfully"};return[4,t.collection.insertOne(r)];case 1:return[2,(n.result=u.sent(),n)];case 2:s=u.sent();return[2,{success:!1,message:s.message}];case 3:return[2]}})})()}},{key:"createMany",value:function e(e){var t=this;return n(function(){var r,n,s;return R(this,function(u){switch(u.label){case 0:u.trys.push([0,2,,3]);r=e.map(function(e){return l({},K(),e)});return[4,t.collection.insertMany(r)];case 1:n=u.sent();return[2,n.insertedCount===0?{success:!1,message:"No documents were inserted"}:{success:!0,message:"".concat(n.insertedCount," documents created successfully"),result:n}];case 2:s=u.sent();return[2,{success:!1,message:s.message}];case 3:return[2]}})})()}},{key:"findOne",value:function e(e){var t=this;return n(function(){var r,n;return R(this,function(s){switch(s.label){case 0:s.trys.push([0,2,,3]);return[4,t.collection.findOne(e)];case 1:r=s.sent();return[2,r?{success:!0,message:"Document found",result:r}:{success:!1,message:"Document not found"}];case 2:n=s.sent();return[2,{success:!1,message:n.message}];case 3:return[2]}})})()}},{key:"findAll",value:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};var t=this;return n(function(){var r,n;return R(this,function(s){switch(s.label){case 0:s.trys.push([0,2,,3]);r={success:!0,message:"Documents retrieved successfully"};return[4,t.collection.find(e).toArray()];case 1:return[2,(r.result=s.sent(),r)];case 2:n=s.sent();return[2,{success:!1,message:n.message}];case 3:return[2]}})})()}},{key:"count",value:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};var t=this;return n(function(){var r,n;return R(this,function(s){switch(s.label){case 0:s.trys.push([0,2,,3]);r={success:!0,message:"Count retrieved successfully"};return[4,t.collection.countDocuments(e)];case 1:return[2,(r.result=s.sent(),r)];case 2:n=s.sent();return[2,{success:!1,message:n.message}];case 3:return[2]}})})()}},{key:"updateOne",value:function e(e,t){var r=this;return n(function(){var n,s;return R(this,function(u){switch(u.label){case 0:u.trys.push([0,2,,3]);return[4,r.collection.updateOne(e,{$set:t})];case 1:n=u.sent();return[2,n.matchedCount===0?{success:!1,message:"No documents matched the filter"}:{success:!0,message:"Document updated successfully",result:n}];case 2:s=u.sent();return[2,{success:!1,message:s.message}];case 3:return[2]}})})()}},{key:"updateMany",value:function e(e,t){var r=this;return n(function(){var n,s;return R(this,function(u){switch(u.label){case 0:u.trys.push([0,2,,3]);return[4,r.collection.updateMany(e,{$set:t})];case 1:n=u.sent();return[2,n.matchedCount===0?{success:!1,message:"No documents matched the filter"}:{success:!0,message:"Documents updated successfully",result:n}];case 2:s=u.sent();return[2,{success:!1,message:s.message}];case 3:return[2]}})})()}},{key:"deleteOne",value:function e(e){var t=this;return n(function(){var r,n;return R(this,function(s){switch(s.label){case 0:s.trys.push([0,2,,3]);return[4,t.collection.deleteOne(e)];case 1:r=s.sent();return[2,r.deletedCount===0?{success:!1,message:"No documents matched the filter"}:{success:!0,message:"Document deleted successfully",result:r}];case 2:n=s.sent();return[2,{success:!1,message:n.message}];case 3:return[2]}})})()}},{key:"deleteMany",value:function e(e){var t=this;return n(function(){var r,n;return R(this,function(s){switch(s.label){case 0:s.trys.push([0,2,,3]);return[4,t.collection.deleteMany(e)];case 1:r=s.sent();return[2,r.deletedCount===0?{success:!1,message:"No documents matched the filter"}:{success:!0,message:"Documents deleted successfully",result:r}];case 2:n=s.sent();return[2,{success:!1,message:n.message}];case 3:return[2]}})})()}}]);return e}();import{Document as ea}from"mongoose";var ec=/*#__PURE__*/function(){"use strict";function e(t){s(this,e);this.model=t}a(e,[{key:"getModelName",value:function e(){return this.model.modelName}},{key:"findOne",value:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},s=arguments.length>3?arguments[3]:void 0;var u=this;return n(function(){var n,a,c;return R(this,function(o){switch(o.label){case 0:o.trys.push([0,2,,3]);n=u.model.findOne(e,t,r);s&&n.populate(s);return[4,n.exec()];case 1:a=o.sent();return[2,a?{success:!0,result:a}:{success:!1,message:"No ".concat(u.getModelName()," found."),code:k.NOT_FOUND.CODE}];case 2:c=o.sent();return[2,{success:!1,message:c.message,code:k.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})})()}},{key:"findAll",value:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},s=arguments.length>3?arguments[3]:void 0;var u=this;return n(function(){var n,a,c;return R(this,function(o){switch(o.label){case 0:o.trys.push([0,2,,3]);n=u.model.find(e,t,r);s&&n.populate(s);a={success:!0};return[4,n.exec()];case 1:return[2,(a.result=o.sent(),a)];case 2:c=o.sent();return[2,{success:!1,message:c.message,code:k.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})})()}},{key:"findPaging",value:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};var r=this;return n(function(){var n,s;return R(this,function(u){switch(u.label){case 0:u.trys.push([0,2,,3]);n={success:!0};return[4,r.model.paginate(e,t)];case 1:return[2,(n.result=u.sent(),n)];case 2:s=u.sent();return[2,{success:!1,message:s.message,code:k.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})})()}},{key:"findPagingAggregate",value:function e(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};var r=this;return n(function(){var n,s;return R(this,function(u){switch(u.label){case 0:u.trys.push([0,2,,3]);n={success:!0};return[4,r.model.aggregatePaginate(r.model.aggregate(e),t)];case 1:return[2,(n.result=u.sent(),n)];case 2:s=u.sent();return[2,{success:!1,message:s.message,code:k.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})})()}},{key:"count",value:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};var t=this;return n(function(){var r,n;return R(this,function(s){switch(s.label){case 0:s.trys.push([0,2,,3]);r={success:!0};return[4,t.model.countDocuments(e)];case 1:return[2,(r.result=s.sent(),r)];case 2:n=s.sent();return[2,{success:!1,message:n.message,code:k.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})})()}},{key:"createOne",value:function e(e){var t=this;return n(function(){var r,n;return R(this,function(s){switch(s.label){case 0:s.trys.push([0,2,,3]);r={success:!0};return[4,t.model.create(e)];case 1:return[2,(r.result=s.sent(),r)];case 2:n=s.sent();return[2,{success:!1,message:n.message,code:k.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})})()}},{key:"createMany",value:function e(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};var r=this;return n(function(){var n,s;return R(this,function(u){switch(u.label){case 0:u.trys.push([0,2,,3]);n={success:!0};return[4,r.model.insertMany(e,t)];case 1:return[2,(n.result=u.sent().map(function(e){return o(e,ea)?e.toObject():null}).filter(function(e){return e!==null}),n)];case 2:s=u.sent();return[2,{success:!1,message:s.message,code:k.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})})()}},{key:"updateOne",value:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};var s=this;return n(function(){var n,u;return R(this,function(a){switch(a.label){case 0:a.trys.push([0,2,,3]);return[4,s.model.findOneAndUpdate(e,t,l({new:!0},r)).exec()];case 1:n=a.sent();return[2,n?{success:!0,result:n}:{success:!1,message:"Failed to update ".concat(s.getModelName(),"."),code:k.NOT_FOUND.CODE}];case 2:u=a.sent();return[2,{success:!1,message:u.message,code:k.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})})()}},{key:"updateMany",value:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};var s=this;return n(function(){var n,u;return R(this,function(a){switch(a.label){case 0:a.trys.push([0,2,,3]);n={success:!0};return[4,s.model.updateMany(e,t,r).exec()];case 1:return[2,(n.result=a.sent(),n)];case 2:u=a.sent();return[2,{success:!1,message:u.message,code:k.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})})()}},{key:"deleteOne",value:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};var r=this;return n(function(){var n,s;return R(this,function(u){switch(u.label){case 0:u.trys.push([0,2,,3]);return[4,r.model.findOneAndDelete(e,t).exec()];case 1:n=u.sent();return[2,n?{success:!0,result:n}:{success:!1,message:"No ".concat(r.getModelName()," found to delete."),code:k.NOT_FOUND.CODE}];case 2:s=u.sent();return[2,{success:!1,message:s.message,code:k.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})})()}},{key:"deleteMany",value:function e(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};var r=this;return n(function(){var n,s;return R(this,function(u){switch(u.label){case 0:u.trys.push([0,2,,3]);return[4,r.model.deleteMany(e,t).exec()];case 1:n=u.sent();return[2,n.deletedCount===0?{success:!1,message:"No documents found to delete.",code:k.NOT_FOUND.CODE}:{success:!0,result:n}];case 2:s=u.sent();return[2,{success:!1,message:s.message,code:k.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})})()}},{key:"generateShortId",value:function e(e){var t=this;return n(function(){var r,n,s,u;return R(this,function(a){switch(a.label){case 0:r=new Set;n=0;a.label=1;case 1:if(!(n<10))return[3,5];s=B(e,n+4);u=!r.has(s);if(!u)return[3,3];r.add(s);return[4,t.model.exists({shortId:s})];case 2:u=!a.sent();a.label=3;case 3:if(u)return[2,{success:!0,result:s}];a.label=4;case 4:n++;return[3,1];case 5:return[2,{success:!1,message:"Failed to generate a unique shortId",code:k.INTERNAL_SERVER_ERROR.CODE}]}})})()}},{key:"generateSlug",value:function e(e,t){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};var s=this;return n(function(){var n,u,a,c,o;return R(this,function(i){switch(i.label){case 0:i.trys.push([0,6,,7]);n=Y(t[e]);return[4,s.model.findOne(W(n,r,t.id))];case 1:u=i.sent();if(!u)return[2,{success:!0,result:n}];a=1;i.label=2;case 2:c="".concat(n,"-").concat(a);return[4,s.model.findOne(W(c,r,t.id))];case 3:u=i.sent(),a++;i.label=4;case 4:if(u)return[3,2];i.label=5;case 5:return[2,{success:!0,result:c}];case 6:o=i.sent();return[2,{success:!1,message:"Failed to generate a unique slug: ".concat(o.message),code:k.INTERNAL_SERVER_ERROR.CODE}];case 7:return[2]}})})()}},{key:"aggregate",value:function e(e){var t=this;return n(function(){var r,n;return R(this,function(s){switch(s.label){case 0:s.trys.push([0,2,,3]);r={success:!0};return[4,t.model.aggregate(e)];case 1:return[2,(r.result=s.sent(),r)];case 2:n=s.sent();return[2,{success:!1,message:n.message,code:k.INTERNAL_SERVER_ERROR.CODE}];case 3:return[2]}})})()}}]);return e}();export{eu as MigrationController,ec as MongooseController};