1
0
mirror of https://github.com/toast-ts/Daggerbot-TS.git synced 2024-11-18 04:40:59 -05:00

Compare commits

...

18 Commits

Author SHA1 Message Date
Toast
01f0141f0f
Merge e841712456 into 3d82a47d07 2024-02-28 09:21:40 +00:00
toast-ts
e841712456 Merge branch 'master' into sequelize-v7 2024-02-28 20:21:36 +11:00
toast-ts
3d82a47d07 Update Yarn config and handle macOS paths properly 2024-02-28 20:16:11 +11:00
toast-ts
6dd2563a9a *giggles* Experiment complete~! 2024-02-28 18:41:01 +11:00
toast-ts
21c2b1031e Refactor calculator.ts 2024-02-28 18:18:28 +11:00
toast-ts
8e367e4c80 Merge branch 'master' into sequelize-v7 2024-02-26 13:49:25 +11:00
toast-ts
14077381ac Merge branch 'master' into sequelize-v7 2024-02-25 20:42:26 +11:00
toast-ts
424de10a8c Optimize functions in punishment model 2024-02-25 20:39:32 +11:00
toast-ts
cd40816e8f Log transaction failed const to console instead of nowhere 2024-02-25 20:19:27 +11:00
toast-ts
afc04047eb Update @types/pg 2024-02-25 20:17:14 +11:00
toast-ts
54d0db19b6 Merge branch 'master' into sequelize-v7 2024-02-25 20:15:08 +11:00
toast-ts
7ca33f1de8 Clean up some of the stuff 2024-02-25 20:14:17 +11:00
toast-ts
e42b4ed857 Merge branch 'master' into sequelize-v7 2024-02-24 16:45:15 +11:00
toast-ts
890aa5292d Merge branch 'master' into sequelize-v7 2024-02-22 08:05:10 +11:00
toast-ts
827881c136 Merge branch 'master' into sequelize-v7 2024-02-20 07:57:45 +11:00
toast-ts
aaf746db5e Merge branch 'master' into sequelize-v7 2024-02-18 09:00:56 +11:00
toast-ts
8b541cbed3 Merge branch 'master' into sequelize-v7 2024-02-13 08:29:25 +11:00
toast-ts
4fb097fa70 Sync Sequelize v7 changes from Canary repository 2024-02-12 19:55:45 +11:00
18 changed files with 1015 additions and 516 deletions

627
.pnp.cjs generated
View File

@ -26,24 +26,25 @@ const RAW_RUNTIME_STATE =
[null, {\ [null, {\
"packageLocation": "./",\ "packageLocation": "./",\
"packageDependencies": [\ "packageDependencies": [\
["@napi-rs/canvas", "npm:0.1.49"],\ ["@napi-rs/canvas", "npm:0.1.50"],\
["@octokit/rest", "npm:20.0.2"],\ ["@octokit/rest", "npm:20.0.2"],\
["@sequelize/core", "virtual:20c353e2d6536e37339997f03975c6a660f4d296e664d291bd43620c6162cca8eb5ef90b0998dc9db75ff6862e5da587d0530bae26805f5fadc8f17aaa4ff794#npm:7.0.0-alpha.37"],\
["@toast/tokenservice-client", "npm:1.0.12::__archiveUrl=https%3A%2F%2Fgit.toast-server.net%2Fapi%2Fpackages%2Ftoast%2Fnpm%2F%2540toast%252Ftokenservice-client%2F-%2F1.0.12%2Ftokenservice-client-1.0.12.tgz"],\ ["@toast/tokenservice-client", "npm:1.0.12::__archiveUrl=https%3A%2F%2Fgit.toast-server.net%2Fapi%2Fpackages%2Ftoast%2Fnpm%2F%2540toast%252Ftokenservice-client%2F-%2F1.0.12%2Ftokenservice-client-1.0.12.tgz"],\
["@types/ms", "npm:0.7.34"],\ ["@types/ms", "npm:0.7.34"],\
["@types/node", "npm:20.11.20"],\ ["@types/node", "npm:20.11.21"],\
["@types/node-cron", "npm:3.0.11"],\ ["@types/node-cron", "npm:3.0.11"],\
["@types/pg", "npm:8.11.1"],\ ["@types/pg", "npm:8.11.2"],\
["@types/sequelize", "npm:4.28.20"],\
["ansi-colors", "npm:4.1.3"],\ ["ansi-colors", "npm:4.1.3"],\
["dayjs", "npm:1.11.10"],\ ["dayjs", "npm:1.11.10"],\
["discord.js", "npm:14.14.1"],\ ["discord.js", "npm:14.14.1"],\
["fast-xml-parser", "npm:4.3.5"],\ ["fast-xml-parser", "npm:4.3.5"],\
["mathjs", "npm:12.4.0"],\
["ms", "npm:2.1.3"],\ ["ms", "npm:2.1.3"],\
["node-cron", "npm:3.0.3"],\ ["node-cron", "npm:3.0.3"],\
["pg", "virtual:20c353e2d6536e37339997f03975c6a660f4d296e664d291bd43620c6162cca8eb5ef90b0998dc9db75ff6862e5da587d0530bae26805f5fadc8f17aaa4ff794#npm:8.11.3"],\ ["pg", "virtual:20c353e2d6536e37339997f03975c6a660f4d296e664d291bd43620c6162cca8eb5ef90b0998dc9db75ff6862e5da587d0530bae26805f5fadc8f17aaa4ff794#npm:8.11.3"],\
["pg-hstore", "npm:2.3.4"],\ ["pg-hstore", "npm:2.3.4"],\
["postgres-array", "npm:3.0.2"],\
["redis", "npm:4.6.13"],\ ["redis", "npm:4.6.13"],\
["sequelize", "virtual:20c353e2d6536e37339997f03975c6a660f4d296e664d291bd43620c6162cca8eb5ef90b0998dc9db75ff6862e5da587d0530bae26805f5fadc8f17aaa4ff794#npm:6.37.1"],\
["simple-git", "npm:3.22.0"],\ ["simple-git", "npm:3.22.0"],\
["systeminformation", "npm:5.22.0"],\ ["systeminformation", "npm:5.22.0"],\
["typescript", "patch:typescript@npm%3A5.3.3#optional!builtin<compat/typescript>::version=5.3.3&hash=e012d7"],\ ["typescript", "patch:typescript@npm%3A5.3.3#optional!builtin<compat/typescript>::version=5.3.3&hash=e012d7"],\
@ -52,6 +53,16 @@ const RAW_RUNTIME_STATE =
"linkType": "SOFT"\ "linkType": "SOFT"\
}]\ }]\
]],\ ]],\
["@babel/runtime", [\
["npm:7.23.9", {\
"packageLocation": "./.yarn/cache/@babel-runtime-npm-7.23.9-3b96e23cc2-9a520fe1bf.zip/node_modules/@babel/runtime/",\
"packageDependencies": [\
["@babel/runtime", "npm:7.23.9"],\
["regenerator-runtime", "npm:0.14.1"]\
],\
"linkType": "HARD"\
}]\
]],\
["@discordjs/builders", [\ ["@discordjs/builders", [\
["npm:1.7.0", {\ ["npm:1.7.0", {\
"packageLocation": "./.yarn/cache/@discordjs-builders-npm-1.7.0-8875363a52-1152d8989e.zip/node_modules/@discordjs/builders/",\ "packageLocation": "./.yarn/cache/@discordjs-builders-npm-1.7.0-8875363a52-1152d8989e.zip/node_modules/@discordjs/builders/",\
@ -168,100 +179,131 @@ const RAW_RUNTIME_STATE =
}]\ }]\
]],\ ]],\
["@napi-rs/canvas", [\ ["@napi-rs/canvas", [\
["npm:0.1.49", {\ ["npm:0.1.50", {\
"packageLocation": "./.yarn/cache/@napi-rs-canvas-npm-0.1.49-5033cd9984-78a7e229a0.zip/node_modules/@napi-rs/canvas/",\ "packageLocation": "./.yarn/cache/@napi-rs-canvas-npm-0.1.50-6d57a400a9-c9ed3ecdaa.zip/node_modules/@napi-rs/canvas/",\
"packageDependencies": [\ "packageDependencies": [\
["@napi-rs/canvas", "npm:0.1.49"],\ ["@napi-rs/canvas", "npm:0.1.50"],\
["@napi-rs/canvas-android-arm64", "npm:0.1.49"],\ ["@napi-rs/canvas-android-arm64", "npm:0.1.50"],\
["@napi-rs/canvas-darwin-arm64", "npm:0.1.49"],\ ["@napi-rs/canvas-darwin-arm64", "npm:0.1.50"],\
["@napi-rs/canvas-darwin-x64", "npm:0.1.49"],\ ["@napi-rs/canvas-darwin-x64", "npm:0.1.50"],\
["@napi-rs/canvas-linux-arm-gnueabihf", "npm:0.1.49"],\ ["@napi-rs/canvas-linux-arm-gnueabihf", "npm:0.1.50"],\
["@napi-rs/canvas-linux-arm64-gnu", "npm:0.1.49"],\ ["@napi-rs/canvas-linux-arm64-gnu", "npm:0.1.50"],\
["@napi-rs/canvas-linux-arm64-musl", "npm:0.1.49"],\ ["@napi-rs/canvas-linux-arm64-musl", "npm:0.1.50"],\
["@napi-rs/canvas-linux-x64-gnu", "npm:0.1.49"],\ ["@napi-rs/canvas-linux-x64-gnu", "npm:0.1.50"],\
["@napi-rs/canvas-linux-x64-musl", "npm:0.1.49"],\ ["@napi-rs/canvas-linux-x64-musl", "npm:0.1.50"],\
["@napi-rs/canvas-win32-x64-msvc", "npm:0.1.49"]\ ["@napi-rs/canvas-win32-x64-msvc", "npm:0.1.50"]\
],\ ],\
"linkType": "HARD"\ "linkType": "HARD"\
}]\ }]\
]],\ ]],\
["@napi-rs/canvas-android-arm64", [\ ["@napi-rs/canvas-android-arm64", [\
["npm:0.1.49", {\ ["npm:0.1.50", {\
"packageLocation": "./.yarn/unplugged/@napi-rs-canvas-android-arm64-npm-0.1.49-f6ac0932e5/node_modules/@napi-rs/canvas-android-arm64/",\ "packageLocation": "./.yarn/unplugged/@napi-rs-canvas-android-arm64-npm-0.1.50-11d6135d75/node_modules/@napi-rs/canvas-android-arm64/",\
"packageDependencies": [\ "packageDependencies": [\
["@napi-rs/canvas-android-arm64", "npm:0.1.49"]\ ["@napi-rs/canvas-android-arm64", "npm:0.1.50"]\
],\ ],\
"linkType": "HARD"\ "linkType": "HARD"\
}]\ }]\
]],\ ]],\
["@napi-rs/canvas-darwin-arm64", [\ ["@napi-rs/canvas-darwin-arm64", [\
["npm:0.1.49", {\ ["npm:0.1.50", {\
"packageLocation": "./.yarn/unplugged/@napi-rs-canvas-darwin-arm64-npm-0.1.49-870a2d8366/node_modules/@napi-rs/canvas-darwin-arm64/",\ "packageLocation": "./.yarn/unplugged/@napi-rs-canvas-darwin-arm64-npm-0.1.50-6b2d108329/node_modules/@napi-rs/canvas-darwin-arm64/",\
"packageDependencies": [\ "packageDependencies": [\
["@napi-rs/canvas-darwin-arm64", "npm:0.1.49"]\ ["@napi-rs/canvas-darwin-arm64", "npm:0.1.50"]\
],\ ],\
"linkType": "HARD"\ "linkType": "HARD"\
}]\ }]\
]],\ ]],\
["@napi-rs/canvas-darwin-x64", [\ ["@napi-rs/canvas-darwin-x64", [\
["npm:0.1.49", {\ ["npm:0.1.50", {\
"packageLocation": "./.yarn/unplugged/@napi-rs-canvas-darwin-x64-npm-0.1.49-8cca987002/node_modules/@napi-rs/canvas-darwin-x64/",\ "packageLocation": "./.yarn/unplugged/@napi-rs-canvas-darwin-x64-npm-0.1.50-b670722e63/node_modules/@napi-rs/canvas-darwin-x64/",\
"packageDependencies": [\ "packageDependencies": [\
["@napi-rs/canvas-darwin-x64", "npm:0.1.49"]\ ["@napi-rs/canvas-darwin-x64", "npm:0.1.50"]\
],\ ],\
"linkType": "HARD"\ "linkType": "HARD"\
}]\ }]\
]],\ ]],\
["@napi-rs/canvas-linux-arm-gnueabihf", [\ ["@napi-rs/canvas-linux-arm-gnueabihf", [\
["npm:0.1.49", {\ ["npm:0.1.50", {\
"packageLocation": "./.yarn/unplugged/@napi-rs-canvas-linux-arm-gnueabihf-npm-0.1.49-6435ff3882/node_modules/@napi-rs/canvas-linux-arm-gnueabihf/",\ "packageLocation": "./.yarn/unplugged/@napi-rs-canvas-linux-arm-gnueabihf-npm-0.1.50-74ef8d8007/node_modules/@napi-rs/canvas-linux-arm-gnueabihf/",\
"packageDependencies": [\ "packageDependencies": [\
["@napi-rs/canvas-linux-arm-gnueabihf", "npm:0.1.49"]\ ["@napi-rs/canvas-linux-arm-gnueabihf", "npm:0.1.50"]\
],\ ],\
"linkType": "HARD"\ "linkType": "HARD"\
}]\ }]\
]],\ ]],\
["@napi-rs/canvas-linux-arm64-gnu", [\ ["@napi-rs/canvas-linux-arm64-gnu", [\
["npm:0.1.49", {\ ["npm:0.1.50", {\
"packageLocation": "./.yarn/unplugged/@napi-rs-canvas-linux-arm64-gnu-npm-0.1.49-4e56c60c25/node_modules/@napi-rs/canvas-linux-arm64-gnu/",\ "packageLocation": "./.yarn/unplugged/@napi-rs-canvas-linux-arm64-gnu-npm-0.1.50-c8c1e133bc/node_modules/@napi-rs/canvas-linux-arm64-gnu/",\
"packageDependencies": [\ "packageDependencies": [\
["@napi-rs/canvas-linux-arm64-gnu", "npm:0.1.49"]\ ["@napi-rs/canvas-linux-arm64-gnu", "npm:0.1.50"]\
],\ ],\
"linkType": "HARD"\ "linkType": "HARD"\
}]\ }]\
]],\ ]],\
["@napi-rs/canvas-linux-arm64-musl", [\ ["@napi-rs/canvas-linux-arm64-musl", [\
["npm:0.1.49", {\ ["npm:0.1.50", {\
"packageLocation": "./.yarn/unplugged/@napi-rs-canvas-linux-arm64-musl-npm-0.1.49-165f000427/node_modules/@napi-rs/canvas-linux-arm64-musl/",\ "packageLocation": "./.yarn/unplugged/@napi-rs-canvas-linux-arm64-musl-npm-0.1.50-c675999c51/node_modules/@napi-rs/canvas-linux-arm64-musl/",\
"packageDependencies": [\ "packageDependencies": [\
["@napi-rs/canvas-linux-arm64-musl", "npm:0.1.49"]\ ["@napi-rs/canvas-linux-arm64-musl", "npm:0.1.50"]\
],\ ],\
"linkType": "HARD"\ "linkType": "HARD"\
}]\ }]\
]],\ ]],\
["@napi-rs/canvas-linux-x64-gnu", [\ ["@napi-rs/canvas-linux-x64-gnu", [\
["npm:0.1.49", {\ ["npm:0.1.50", {\
"packageLocation": "./.yarn/unplugged/@napi-rs-canvas-linux-x64-gnu-npm-0.1.49-2a16f20d9a/node_modules/@napi-rs/canvas-linux-x64-gnu/",\ "packageLocation": "./.yarn/unplugged/@napi-rs-canvas-linux-x64-gnu-npm-0.1.50-a8ca0545bd/node_modules/@napi-rs/canvas-linux-x64-gnu/",\
"packageDependencies": [\ "packageDependencies": [\
["@napi-rs/canvas-linux-x64-gnu", "npm:0.1.49"]\ ["@napi-rs/canvas-linux-x64-gnu", "npm:0.1.50"]\
],\ ],\
"linkType": "HARD"\ "linkType": "HARD"\
}]\ }]\
]],\ ]],\
["@napi-rs/canvas-linux-x64-musl", [\ ["@napi-rs/canvas-linux-x64-musl", [\
["npm:0.1.49", {\ ["npm:0.1.50", {\
"packageLocation": "./.yarn/unplugged/@napi-rs-canvas-linux-x64-musl-npm-0.1.49-9155bc1080/node_modules/@napi-rs/canvas-linux-x64-musl/",\ "packageLocation": "./.yarn/unplugged/@napi-rs-canvas-linux-x64-musl-npm-0.1.50-65f7471d30/node_modules/@napi-rs/canvas-linux-x64-musl/",\
"packageDependencies": [\ "packageDependencies": [\
["@napi-rs/canvas-linux-x64-musl", "npm:0.1.49"]\ ["@napi-rs/canvas-linux-x64-musl", "npm:0.1.50"]\
],\ ],\
"linkType": "HARD"\ "linkType": "HARD"\
}]\ }]\
]],\ ]],\
["@napi-rs/canvas-win32-x64-msvc", [\ ["@napi-rs/canvas-win32-x64-msvc", [\
["npm:0.1.49", {\ ["npm:0.1.50", {\
"packageLocation": "./.yarn/unplugged/@napi-rs-canvas-win32-x64-msvc-npm-0.1.49-39187e36a2/node_modules/@napi-rs/canvas-win32-x64-msvc/",\ "packageLocation": "./.yarn/unplugged/@napi-rs-canvas-win32-x64-msvc-npm-0.1.50-52fd2a856e/node_modules/@napi-rs/canvas-win32-x64-msvc/",\
"packageDependencies": [\ "packageDependencies": [\
["@napi-rs/canvas-win32-x64-msvc", "npm:0.1.49"]\ ["@napi-rs/canvas-win32-x64-msvc", "npm:0.1.50"]\
],\
"linkType": "HARD"\
}]\
]],\
["@nodelib/fs.scandir", [\
["npm:2.1.5", {\
"packageLocation": "./.yarn/cache/@nodelib-fs.scandir-npm-2.1.5-89c67370dd-6ab2a9b8a1.zip/node_modules/@nodelib/fs.scandir/",\
"packageDependencies": [\
["@nodelib/fs.scandir", "npm:2.1.5"],\
["@nodelib/fs.stat", "npm:2.0.5"],\
["run-parallel", "npm:1.2.0"]\
],\
"linkType": "HARD"\
}]\
]],\
["@nodelib/fs.stat", [\
["npm:2.0.5", {\
"packageLocation": "./.yarn/cache/@nodelib-fs.stat-npm-2.0.5-01f4dd3030-012480b5ca.zip/node_modules/@nodelib/fs.stat/",\
"packageDependencies": [\
["@nodelib/fs.stat", "npm:2.0.5"]\
],\
"linkType": "HARD"\
}]\
]],\
["@nodelib/fs.walk", [\
["npm:1.2.8", {\
"packageLocation": "./.yarn/cache/@nodelib-fs.walk-npm-1.2.8-b4a89da548-40033e33e9.zip/node_modules/@nodelib/fs.walk/",\
"packageDependencies": [\
["@nodelib/fs.walk", "npm:1.2.8"],\
["@nodelib/fs.scandir", "npm:2.1.5"],\
["fastq", "npm:1.17.1"]\
],\ ],\
"linkType": "HARD"\ "linkType": "HARD"\
}]\ }]\
@ -597,6 +639,75 @@ const RAW_RUNTIME_STATE =
"linkType": "HARD"\ "linkType": "HARD"\
}]\ }]\
]],\ ]],\
["@sequelize/core", [\
["npm:7.0.0-alpha.37", {\
"packageLocation": "./.yarn/cache/@sequelize-core-npm-7.0.0-alpha.37-1b326b1eb8-dcaadb079b.zip/node_modules/@sequelize/core/",\
"packageDependencies": [\
["@sequelize/core", "npm:7.0.0-alpha.37"]\
],\
"linkType": "SOFT"\
}],\
["virtual:20c353e2d6536e37339997f03975c6a660f4d296e664d291bd43620c6162cca8eb5ef90b0998dc9db75ff6862e5da587d0530bae26805f5fadc8f17aaa4ff794#npm:7.0.0-alpha.37", {\
"packageLocation": "./.yarn/__virtual__/@sequelize-core-virtual-e750a028ee/0/cache/@sequelize-core-npm-7.0.0-alpha.37-1b326b1eb8-dcaadb079b.zip/node_modules/@sequelize/core/",\
"packageDependencies": [\
["@sequelize/core", "virtual:20c353e2d6536e37339997f03975c6a660f4d296e664d291bd43620c6162cca8eb5ef90b0998dc9db75ff6862e5da587d0530bae26805f5fadc8f17aaa4ff794#npm:7.0.0-alpha.37"],\
["@types/debug", "npm:4.1.12"],\
["@types/ibm_db", null],\
["@types/mariadb", null],\
["@types/mysql2", null],\
["@types/odbc", null],\
["@types/pg", "npm:8.11.2"],\
["@types/snowflake-sdk", null],\
["@types/sqlite3", null],\
["@types/tedious", null],\
["@types/validator", "npm:13.11.9"],\
["bnf-parser", "npm:3.1.6"],\
["dayjs", "npm:1.11.10"],\
["debug", "virtual:8dde907e274d6cda4b3be6cd808e5a16421eab0e2ce2f6110b97323dbadda969b2dab36e690fd106d5bd3c87e0525cade2b2ba6fb4fb0c0e439212e4cf5c851b#npm:4.3.4"],\
["dottie", "npm:2.0.6"],\
["fast-glob", "npm:3.3.2"],\
["ibm_db", null],\
["inflection", "npm:3.0.0"],\
["lodash", "npm:4.17.21"],\
["mariadb", null],\
["mysql2", null],\
["odbc", null],\
["pg", "virtual:20c353e2d6536e37339997f03975c6a660f4d296e664d291bd43620c6162cca8eb5ef90b0998dc9db75ff6862e5da587d0530bae26805f5fadc8f17aaa4ff794#npm:8.11.3"],\
["pg-connection-string", "npm:2.6.2"],\
["pg-hstore", "npm:2.3.4"],\
["retry-as-promised", "npm:7.0.4"],\
["semver", "npm:7.6.0"],\
["sequelize-pool", "npm:8.0.0"],\
["snowflake-sdk", null],\
["sqlite3", null],\
["tedious", null],\
["toposort-class", "npm:1.0.1"],\
["type-fest", "npm:3.13.1"],\
["uuid", "npm:9.0.1"],\
["validator", "npm:13.11.0"],\
["wkx", "npm:0.5.0"]\
],\
"packagePeers": [\
"@types/ibm_db",\
"@types/mariadb",\
"@types/mysql2",\
"@types/odbc",\
"@types/pg",\
"@types/snowflake-sdk",\
"@types/sqlite3",\
"@types/tedious",\
"ibm_db",\
"mariadb",\
"mysql2",\
"odbc",\
"pg",\
"snowflake-sdk",\
"sqlite3",\
"tedious"\
],\
"linkType": "HARD"\
}]\
]],\
["@toast/tokenservice-client", [\ ["@toast/tokenservice-client", [\
["npm:1.0.12::__archiveUrl=https%3A%2F%2Fgit.toast-server.net%2Fapi%2Fpackages%2Ftoast%2Fnpm%2F%2540toast%252Ftokenservice-client%2F-%2F1.0.12%2Ftokenservice-client-1.0.12.tgz", {\ ["npm:1.0.12::__archiveUrl=https%3A%2F%2Fgit.toast-server.net%2Fapi%2Fpackages%2Ftoast%2Fnpm%2F%2540toast%252Ftokenservice-client%2F-%2F1.0.12%2Ftokenservice-client-1.0.12.tgz", {\
"packageLocation": "./.yarn/cache/@toast-tokenservice-client-npm-1.0.12-11df688697-64112744b4.zip/node_modules/@toast/tokenservice-client/",\ "packageLocation": "./.yarn/cache/@toast-tokenservice-client-npm-1.0.12-11df688697-64112744b4.zip/node_modules/@toast/tokenservice-client/",\
@ -607,25 +718,6 @@ const RAW_RUNTIME_STATE =
"linkType": "HARD"\ "linkType": "HARD"\
}]\ }]\
]],\ ]],\
["@types/bluebird", [\
["npm:3.5.42", {\
"packageLocation": "./.yarn/cache/@types-bluebird-npm-3.5.42-15f353048c-09ad60b083.zip/node_modules/@types/bluebird/",\
"packageDependencies": [\
["@types/bluebird", "npm:3.5.42"]\
],\
"linkType": "HARD"\
}]\
]],\
["@types/continuation-local-storage", [\
["npm:3.2.7", {\
"packageLocation": "./.yarn/cache/@types-continuation-local-storage-npm-3.2.7-763e4dc12b-1f272b53bc.zip/node_modules/@types/continuation-local-storage/",\
"packageDependencies": [\
["@types/continuation-local-storage", "npm:3.2.7"],\
["@types/node", "npm:20.11.20"]\
],\
"linkType": "HARD"\
}]\
]],\
["@types/debug", [\ ["@types/debug", [\
["npm:4.1.12", {\ ["npm:4.1.12", {\
"packageLocation": "./.yarn/cache/@types-debug-npm-4.1.12-82a3fc4905-47876a852d.zip/node_modules/@types/debug/",\ "packageLocation": "./.yarn/cache/@types-debug-npm-4.1.12-82a3fc4905-47876a852d.zip/node_modules/@types/debug/",\
@ -636,15 +728,6 @@ const RAW_RUNTIME_STATE =
"linkType": "HARD"\ "linkType": "HARD"\
}]\ }]\
]],\ ]],\
["@types/lodash", [\
["npm:4.14.202", {\
"packageLocation": "./.yarn/cache/@types-lodash-npm-4.14.202-76de3e302b-1bb9760a5b.zip/node_modules/@types/lodash/",\
"packageDependencies": [\
["@types/lodash", "npm:4.14.202"]\
],\
"linkType": "HARD"\
}]\
]],\
["@types/ms", [\ ["@types/ms", [\
["npm:0.7.34", {\ ["npm:0.7.34", {\
"packageLocation": "./.yarn/cache/@types-ms-npm-0.7.34-46f5141bfd-f38d36e7b6.zip/node_modules/@types/ms/",\ "packageLocation": "./.yarn/cache/@types-ms-npm-0.7.34-46f5141bfd-f38d36e7b6.zip/node_modules/@types/ms/",\
@ -655,10 +738,10 @@ const RAW_RUNTIME_STATE =
}]\ }]\
]],\ ]],\
["@types/node", [\ ["@types/node", [\
["npm:20.11.20", {\ ["npm:20.11.21", {\
"packageLocation": "./.yarn/cache/@types-node-npm-20.11.20-0036cdf1c0-ff449bdc94.zip/node_modules/@types/node/",\ "packageLocation": "./.yarn/cache/@types-node-npm-20.11.21-0adac022b0-a31ecc6a3c.zip/node_modules/@types/node/",\
"packageDependencies": [\ "packageDependencies": [\
["@types/node", "npm:20.11.20"],\ ["@types/node", "npm:20.11.21"],\
["undici-types", "npm:5.26.5"]\ ["undici-types", "npm:5.26.5"]\
],\ ],\
"linkType": "HARD"\ "linkType": "HARD"\
@ -674,30 +757,17 @@ const RAW_RUNTIME_STATE =
}]\ }]\
]],\ ]],\
["@types/pg", [\ ["@types/pg", [\
["npm:8.11.1", {\ ["npm:8.11.2", {\
"packageLocation": "./.yarn/cache/@types-pg-npm-8.11.1-5d06a4b9df-2fdcb0dc33.zip/node_modules/@types/pg/",\ "packageLocation": "./.yarn/cache/@types-pg-npm-8.11.2-bdf321bea4-7c05cf63be.zip/node_modules/@types/pg/",\
"packageDependencies": [\ "packageDependencies": [\
["@types/pg", "npm:8.11.1"],\ ["@types/pg", "npm:8.11.2"],\
["@types/node", "npm:20.11.20"],\ ["@types/node", "npm:20.11.21"],\
["pg-protocol", "npm:1.6.0"],\ ["pg-protocol", "npm:1.6.0"],\
["pg-types", "npm:4.0.2"]\ ["pg-types", "npm:4.0.2"]\
],\ ],\
"linkType": "HARD"\ "linkType": "HARD"\
}]\ }]\
]],\ ]],\
["@types/sequelize", [\
["npm:4.28.20", {\
"packageLocation": "./.yarn/cache/@types-sequelize-npm-4.28.20-a712a5ea90-8b3faec2e6.zip/node_modules/@types/sequelize/",\
"packageDependencies": [\
["@types/sequelize", "npm:4.28.20"],\
["@types/bluebird", "npm:3.5.42"],\
["@types/continuation-local-storage", "npm:3.2.7"],\
["@types/lodash", "npm:4.14.202"],\
["@types/validator", "npm:13.11.9"]\
],\
"linkType": "HARD"\
}]\
]],\
["@types/validator", [\ ["@types/validator", [\
["npm:13.11.9", {\ ["npm:13.11.9", {\
"packageLocation": "./.yarn/cache/@types-validator-npm-13.11.9-ac3f0e748e-2d397c6929.zip/node_modules/@types/validator/",\ "packageLocation": "./.yarn/cache/@types-validator-npm-13.11.9-ac3f0e748e-2d397c6929.zip/node_modules/@types/validator/",\
@ -712,7 +782,7 @@ const RAW_RUNTIME_STATE =
"packageLocation": "./.yarn/cache/@types-ws-npm-8.5.10-a877a38f71-9b414dc5e0.zip/node_modules/@types/ws/",\ "packageLocation": "./.yarn/cache/@types-ws-npm-8.5.10-a877a38f71-9b414dc5e0.zip/node_modules/@types/ws/",\
"packageDependencies": [\ "packageDependencies": [\
["@types/ws", "npm:8.5.10"],\ ["@types/ws", "npm:8.5.10"],\
["@types/node", "npm:20.11.20"]\ ["@types/node", "npm:20.11.21"]\
],\ ],\
"linkType": "HARD"\ "linkType": "HARD"\
}],\ }],\
@ -720,7 +790,7 @@ const RAW_RUNTIME_STATE =
"packageLocation": "./.yarn/cache/@types-ws-npm-8.5.9-91d1b2ab07-7cf66383b8.zip/node_modules/@types/ws/",\ "packageLocation": "./.yarn/cache/@types-ws-npm-8.5.9-91d1b2ab07-7cf66383b8.zip/node_modules/@types/ws/",\
"packageDependencies": [\ "packageDependencies": [\
["@types/ws", "npm:8.5.9"],\ ["@types/ws", "npm:8.5.9"],\
["@types/node", "npm:20.11.20"]\ ["@types/node", "npm:20.11.21"]\
],\ ],\
"linkType": "HARD"\ "linkType": "HARD"\
}]\ }]\
@ -752,6 +822,25 @@ const RAW_RUNTIME_STATE =
"linkType": "HARD"\ "linkType": "HARD"\
}]\ }]\
]],\ ]],\
["bnf-parser", [\
["npm:3.1.6", {\
"packageLocation": "./.yarn/cache/bnf-parser-npm-3.1.6-40bea7c0c7-caaf7078e2.zip/node_modules/bnf-parser/",\
"packageDependencies": [\
["bnf-parser", "npm:3.1.6"]\
],\
"linkType": "HARD"\
}]\
]],\
["braces", [\
["npm:3.0.2", {\
"packageLocation": "./.yarn/cache/braces-npm-3.0.2-782240b28a-966b1fb48d.zip/node_modules/braces/",\
"packageDependencies": [\
["braces", "npm:3.0.2"],\
["fill-range", "npm:7.0.1"]\
],\
"linkType": "HARD"\
}]\
]],\
["buffer-writer", [\ ["buffer-writer", [\
["npm:2.0.0", {\ ["npm:2.0.0", {\
"packageLocation": "./.yarn/cache/buffer-writer-npm-2.0.0-5cd2ef55bc-fdca8e28c5.zip/node_modules/buffer-writer/",\ "packageLocation": "./.yarn/cache/buffer-writer-npm-2.0.0-5cd2ef55bc-fdca8e28c5.zip/node_modules/buffer-writer/",\
@ -770,29 +859,39 @@ const RAW_RUNTIME_STATE =
"linkType": "HARD"\ "linkType": "HARD"\
}]\ }]\
]],\ ]],\
["complex.js", [\
["npm:2.1.1", {\
"packageLocation": "./.yarn/cache/complex.js-npm-2.1.1-2beaccef20-1905d5204d.zip/node_modules/complex.js/",\
"packageDependencies": [\
["complex.js", "npm:2.1.1"]\
],\
"linkType": "HARD"\
}]\
]],\
["daggerbot-ts", [\ ["daggerbot-ts", [\
["workspace:.", {\ ["workspace:.", {\
"packageLocation": "./",\ "packageLocation": "./",\
"packageDependencies": [\ "packageDependencies": [\
["daggerbot-ts", "workspace:."],\ ["daggerbot-ts", "workspace:."],\
["@napi-rs/canvas", "npm:0.1.49"],\ ["@napi-rs/canvas", "npm:0.1.50"],\
["@octokit/rest", "npm:20.0.2"],\ ["@octokit/rest", "npm:20.0.2"],\
["@sequelize/core", "virtual:20c353e2d6536e37339997f03975c6a660f4d296e664d291bd43620c6162cca8eb5ef90b0998dc9db75ff6862e5da587d0530bae26805f5fadc8f17aaa4ff794#npm:7.0.0-alpha.37"],\
["@toast/tokenservice-client", "npm:1.0.12::__archiveUrl=https%3A%2F%2Fgit.toast-server.net%2Fapi%2Fpackages%2Ftoast%2Fnpm%2F%2540toast%252Ftokenservice-client%2F-%2F1.0.12%2Ftokenservice-client-1.0.12.tgz"],\ ["@toast/tokenservice-client", "npm:1.0.12::__archiveUrl=https%3A%2F%2Fgit.toast-server.net%2Fapi%2Fpackages%2Ftoast%2Fnpm%2F%2540toast%252Ftokenservice-client%2F-%2F1.0.12%2Ftokenservice-client-1.0.12.tgz"],\
["@types/ms", "npm:0.7.34"],\ ["@types/ms", "npm:0.7.34"],\
["@types/node", "npm:20.11.20"],\ ["@types/node", "npm:20.11.21"],\
["@types/node-cron", "npm:3.0.11"],\ ["@types/node-cron", "npm:3.0.11"],\
["@types/pg", "npm:8.11.1"],\ ["@types/pg", "npm:8.11.2"],\
["@types/sequelize", "npm:4.28.20"],\
["ansi-colors", "npm:4.1.3"],\ ["ansi-colors", "npm:4.1.3"],\
["dayjs", "npm:1.11.10"],\ ["dayjs", "npm:1.11.10"],\
["discord.js", "npm:14.14.1"],\ ["discord.js", "npm:14.14.1"],\
["fast-xml-parser", "npm:4.3.5"],\ ["fast-xml-parser", "npm:4.3.5"],\
["mathjs", "npm:12.4.0"],\
["ms", "npm:2.1.3"],\ ["ms", "npm:2.1.3"],\
["node-cron", "npm:3.0.3"],\ ["node-cron", "npm:3.0.3"],\
["pg", "virtual:20c353e2d6536e37339997f03975c6a660f4d296e664d291bd43620c6162cca8eb5ef90b0998dc9db75ff6862e5da587d0530bae26805f5fadc8f17aaa4ff794#npm:8.11.3"],\ ["pg", "virtual:20c353e2d6536e37339997f03975c6a660f4d296e664d291bd43620c6162cca8eb5ef90b0998dc9db75ff6862e5da587d0530bae26805f5fadc8f17aaa4ff794#npm:8.11.3"],\
["pg-hstore", "npm:2.3.4"],\ ["pg-hstore", "npm:2.3.4"],\
["postgres-array", "npm:3.0.2"],\
["redis", "npm:4.6.13"],\ ["redis", "npm:4.6.13"],\
["sequelize", "virtual:20c353e2d6536e37339997f03975c6a660f4d296e664d291bd43620c6162cca8eb5ef90b0998dc9db75ff6862e5da587d0530bae26805f5fadc8f17aaa4ff794#npm:6.37.1"],\
["simple-git", "npm:3.22.0"],\ ["simple-git", "npm:3.22.0"],\
["systeminformation", "npm:5.22.0"],\ ["systeminformation", "npm:5.22.0"],\
["typescript", "patch:typescript@npm%3A5.3.3#optional!builtin<compat/typescript>::version=5.3.3&hash=e012d7"],\ ["typescript", "patch:typescript@npm%3A5.3.3#optional!builtin<compat/typescript>::version=5.3.3&hash=e012d7"],\
@ -833,6 +932,15 @@ const RAW_RUNTIME_STATE =
"linkType": "HARD"\ "linkType": "HARD"\
}]\ }]\
]],\ ]],\
["decimal.js", [\
["npm:10.4.3", {\
"packageLocation": "./.yarn/cache/decimal.js-npm-10.4.3-e7d483387c-de663a7bc4.zip/node_modules/decimal.js/",\
"packageDependencies": [\
["decimal.js", "npm:10.4.3"]\
],\
"linkType": "HARD"\
}]\
]],\
["deprecation", [\ ["deprecation", [\
["npm:2.3.1", {\ ["npm:2.3.1", {\
"packageLocation": "./.yarn/cache/deprecation-npm-2.3.1-e19c92d6e7-f56a05e182.zip/node_modules/deprecation/",\ "packageLocation": "./.yarn/cache/deprecation-npm-2.3.1-e19c92d6e7-f56a05e182.zip/node_modules/deprecation/",\
@ -883,6 +991,15 @@ const RAW_RUNTIME_STATE =
"linkType": "HARD"\ "linkType": "HARD"\
}]\ }]\
]],\ ]],\
["escape-latex", [\
["npm:1.2.0", {\
"packageLocation": "./.yarn/cache/escape-latex-npm-1.2.0-1481ca81a7-73a787319f.zip/node_modules/escape-latex/",\
"packageDependencies": [\
["escape-latex", "npm:1.2.0"]\
],\
"linkType": "HARD"\
}]\
]],\
["fast-deep-equal", [\ ["fast-deep-equal", [\
["npm:3.1.3", {\ ["npm:3.1.3", {\
"packageLocation": "./.yarn/cache/fast-deep-equal-npm-3.1.3-790edcfcf5-e21a9d8d84.zip/node_modules/fast-deep-equal/",\ "packageLocation": "./.yarn/cache/fast-deep-equal-npm-3.1.3-790edcfcf5-e21a9d8d84.zip/node_modules/fast-deep-equal/",\
@ -892,6 +1009,20 @@ const RAW_RUNTIME_STATE =
"linkType": "HARD"\ "linkType": "HARD"\
}]\ }]\
]],\ ]],\
["fast-glob", [\
["npm:3.3.2", {\
"packageLocation": "./.yarn/cache/fast-glob-npm-3.3.2-0a8cb4f2ca-222512e931.zip/node_modules/fast-glob/",\
"packageDependencies": [\
["fast-glob", "npm:3.3.2"],\
["@nodelib/fs.stat", "npm:2.0.5"],\
["@nodelib/fs.walk", "npm:1.2.8"],\
["glob-parent", "npm:5.1.2"],\
["merge2", "npm:1.4.1"],\
["micromatch", "npm:4.0.5"]\
],\
"linkType": "HARD"\
}]\
]],\
["fast-xml-parser", [\ ["fast-xml-parser", [\
["npm:4.3.5", {\ ["npm:4.3.5", {\
"packageLocation": "./.yarn/cache/fast-xml-parser-npm-4.3.5-3cd12e5b84-ccfd943e4e.zip/node_modules/fast-xml-parser/",\ "packageLocation": "./.yarn/cache/fast-xml-parser-npm-4.3.5-3cd12e5b84-ccfd943e4e.zip/node_modules/fast-xml-parser/",\
@ -902,6 +1033,35 @@ const RAW_RUNTIME_STATE =
"linkType": "HARD"\ "linkType": "HARD"\
}]\ }]\
]],\ ]],\
["fastq", [\
["npm:1.17.1", {\
"packageLocation": "./.yarn/cache/fastq-npm-1.17.1-56d4554993-a443180068.zip/node_modules/fastq/",\
"packageDependencies": [\
["fastq", "npm:1.17.1"],\
["reusify", "npm:1.0.4"]\
],\
"linkType": "HARD"\
}]\
]],\
["fill-range", [\
["npm:7.0.1", {\
"packageLocation": "./.yarn/cache/fill-range-npm-7.0.1-b8b1817caa-e260f7592f.zip/node_modules/fill-range/",\
"packageDependencies": [\
["fill-range", "npm:7.0.1"],\
["to-regex-range", "npm:5.0.1"]\
],\
"linkType": "HARD"\
}]\
]],\
["fraction.js", [\
["npm:4.3.4", {\
"packageLocation": "./.yarn/cache/fraction.js-npm-4.3.4-ce148a1f45-3a1e6b2680.zip/node_modules/fraction.js/",\
"packageDependencies": [\
["fraction.js", "npm:4.3.4"]\
],\
"linkType": "HARD"\
}]\
]],\
["generic-pool", [\ ["generic-pool", [\
["npm:3.9.0", {\ ["npm:3.9.0", {\
"packageLocation": "./.yarn/cache/generic-pool-npm-3.9.0-21fff1a77f-3c632d30a6.zip/node_modules/generic-pool/",\ "packageLocation": "./.yarn/cache/generic-pool-npm-3.9.0-21fff1a77f-3c632d30a6.zip/node_modules/generic-pool/",\
@ -911,11 +1071,58 @@ const RAW_RUNTIME_STATE =
"linkType": "HARD"\ "linkType": "HARD"\
}]\ }]\
]],\ ]],\
["inflection", [\ ["glob-parent", [\
["npm:1.13.4", {\ ["npm:5.1.2", {\
"packageLocation": "./.yarn/cache/inflection-npm-1.13.4-102169ecb5-a0cc1b105c.zip/node_modules/inflection/",\ "packageLocation": "./.yarn/cache/glob-parent-npm-5.1.2-021ab32634-32cd106ce8.zip/node_modules/glob-parent/",\
"packageDependencies": [\ "packageDependencies": [\
["inflection", "npm:1.13.4"]\ ["glob-parent", "npm:5.1.2"],\
["is-glob", "npm:4.0.3"]\
],\
"linkType": "HARD"\
}]\
]],\
["inflection", [\
["npm:3.0.0", {\
"packageLocation": "./.yarn/cache/inflection-npm-3.0.0-1581c4d576-e8aae6abb8.zip/node_modules/inflection/",\
"packageDependencies": [\
["inflection", "npm:3.0.0"]\
],\
"linkType": "HARD"\
}]\
]],\
["is-extglob", [\
["npm:2.1.1", {\
"packageLocation": "./.yarn/cache/is-extglob-npm-2.1.1-0870ea68b5-df033653d0.zip/node_modules/is-extglob/",\
"packageDependencies": [\
["is-extglob", "npm:2.1.1"]\
],\
"linkType": "HARD"\
}]\
]],\
["is-glob", [\
["npm:4.0.3", {\
"packageLocation": "./.yarn/cache/is-glob-npm-4.0.3-cb87bf1bdb-3ed74f2b0c.zip/node_modules/is-glob/",\
"packageDependencies": [\
["is-glob", "npm:4.0.3"],\
["is-extglob", "npm:2.1.1"]\
],\
"linkType": "HARD"\
}]\
]],\
["is-number", [\
["npm:7.0.0", {\
"packageLocation": "./.yarn/cache/is-number-npm-7.0.0-060086935c-6a6c3383f6.zip/node_modules/is-number/",\
"packageDependencies": [\
["is-number", "npm:7.0.0"]\
],\
"linkType": "HARD"\
}]\
]],\
["javascript-natural-sort", [\
["npm:0.7.1", {\
"packageLocation": "./.yarn/cache/javascript-natural-sort-npm-0.7.1-9018625996-7bf6eab678.zip/node_modules/javascript-natural-sort/",\
"packageDependencies": [\
["javascript-natural-sort", "npm:0.7.1"]\
],\ ],\
"linkType": "HARD"\ "linkType": "HARD"\
}]\ }]\
@ -957,21 +1164,40 @@ const RAW_RUNTIME_STATE =
"linkType": "HARD"\ "linkType": "HARD"\
}]\ }]\
]],\ ]],\
["moment", [\ ["mathjs", [\
["npm:2.30.1", {\ ["npm:12.4.0", {\
"packageLocation": "./.yarn/cache/moment-npm-2.30.1-1c51a5c631-ae42d876d4.zip/node_modules/moment/",\ "packageLocation": "./.yarn/cache/mathjs-npm-12.4.0-4e73cebf2f-ee168a7e4b.zip/node_modules/mathjs/",\
"packageDependencies": [\ "packageDependencies": [\
["moment", "npm:2.30.1"]\ ["mathjs", "npm:12.4.0"],\
["@babel/runtime", "npm:7.23.9"],\
["complex.js", "npm:2.1.1"],\
["decimal.js", "npm:10.4.3"],\
["escape-latex", "npm:1.2.0"],\
["fraction.js", "npm:4.3.4"],\
["javascript-natural-sort", "npm:0.7.1"],\
["seedrandom", "npm:3.0.5"],\
["tiny-emitter", "npm:2.1.0"],\
["typed-function", "npm:4.1.1"]\
],\ ],\
"linkType": "HARD"\ "linkType": "HARD"\
}]\ }]\
]],\ ]],\
["moment-timezone", [\ ["merge2", [\
["npm:0.5.45", {\ ["npm:1.4.1", {\
"packageLocation": "./.yarn/cache/moment-timezone-npm-0.5.45-2df3ad72a4-45e3793d44.zip/node_modules/moment-timezone/",\ "packageLocation": "./.yarn/cache/merge2-npm-1.4.1-a2507bd06c-7268db63ed.zip/node_modules/merge2/",\
"packageDependencies": [\ "packageDependencies": [\
["moment-timezone", "npm:0.5.45"],\ ["merge2", "npm:1.4.1"]\
["moment", "npm:2.30.1"]\ ],\
"linkType": "HARD"\
}]\
]],\
["micromatch", [\
["npm:4.0.5", {\
"packageLocation": "./.yarn/cache/micromatch-npm-4.0.5-cfab5d7669-a749888789.zip/node_modules/micromatch/",\
"packageDependencies": [\
["micromatch", "npm:4.0.5"],\
["braces", "npm:3.0.2"],\
["picomatch", "npm:2.3.1"]\
],\ ],\
"linkType": "HARD"\ "linkType": "HARD"\
}]\ }]\
@ -1175,6 +1401,15 @@ const RAW_RUNTIME_STATE =
"linkType": "HARD"\ "linkType": "HARD"\
}]\ }]\
]],\ ]],\
["picomatch", [\
["npm:2.3.1", {\
"packageLocation": "./.yarn/cache/picomatch-npm-2.3.1-c782cfd986-60c2595003.zip/node_modules/picomatch/",\
"packageDependencies": [\
["picomatch", "npm:2.3.1"]\
],\
"linkType": "HARD"\
}]\
]],\
["postgres-array", [\ ["postgres-array", [\
["npm:2.0.0", {\ ["npm:2.0.0", {\
"packageLocation": "./.yarn/cache/postgres-array-npm-2.0.0-4f49dc1389-aff99e7971.zip/node_modules/postgres-array/",\ "packageLocation": "./.yarn/cache/postgres-array-npm-2.0.0-4f49dc1389-aff99e7971.zip/node_modules/postgres-array/",\
@ -1250,6 +1485,15 @@ const RAW_RUNTIME_STATE =
"linkType": "HARD"\ "linkType": "HARD"\
}]\ }]\
]],\ ]],\
["queue-microtask", [\
["npm:1.2.3", {\
"packageLocation": "./.yarn/cache/queue-microtask-npm-1.2.3-fcc98e4e2d-72900df061.zip/node_modules/queue-microtask/",\
"packageDependencies": [\
["queue-microtask", "npm:1.2.3"]\
],\
"linkType": "HARD"\
}]\
]],\
["redis", [\ ["redis", [\
["npm:4.6.13", {\ ["npm:4.6.13", {\
"packageLocation": "./.yarn/cache/redis-npm-4.6.13-68c7e2be72-cc66182b8f.zip/node_modules/redis/",\ "packageLocation": "./.yarn/cache/redis-npm-4.6.13-68c7e2be72-cc66182b8f.zip/node_modules/redis/",\
@ -1265,6 +1509,15 @@ const RAW_RUNTIME_STATE =
"linkType": "HARD"\ "linkType": "HARD"\
}]\ }]\
]],\ ]],\
["regenerator-runtime", [\
["npm:0.14.1", {\
"packageLocation": "./.yarn/cache/regenerator-runtime-npm-0.14.1-a6c97c609a-5db3161abb.zip/node_modules/regenerator-runtime/",\
"packageDependencies": [\
["regenerator-runtime", "npm:0.14.1"]\
],\
"linkType": "HARD"\
}]\
]],\
["retry-as-promised", [\ ["retry-as-promised", [\
["npm:7.0.4", {\ ["npm:7.0.4", {\
"packageLocation": "./.yarn/cache/retry-as-promised-npm-7.0.4-d2e9247001-cd9fd20e99.zip/node_modules/retry-as-promised/",\ "packageLocation": "./.yarn/cache/retry-as-promised-npm-7.0.4-d2e9247001-cd9fd20e99.zip/node_modules/retry-as-promised/",\
@ -1274,6 +1527,34 @@ const RAW_RUNTIME_STATE =
"linkType": "HARD"\ "linkType": "HARD"\
}]\ }]\
]],\ ]],\
["reusify", [\
["npm:1.0.4", {\
"packageLocation": "./.yarn/cache/reusify-npm-1.0.4-95ac4aec11-14222c9e1d.zip/node_modules/reusify/",\
"packageDependencies": [\
["reusify", "npm:1.0.4"]\
],\
"linkType": "HARD"\
}]\
]],\
["run-parallel", [\
["npm:1.2.0", {\
"packageLocation": "./.yarn/cache/run-parallel-npm-1.2.0-3f47ff2034-cb4f97ad25.zip/node_modules/run-parallel/",\
"packageDependencies": [\
["run-parallel", "npm:1.2.0"],\
["queue-microtask", "npm:1.2.3"]\
],\
"linkType": "HARD"\
}]\
]],\
["seedrandom", [\
["npm:3.0.5", {\
"packageLocation": "./.yarn/cache/seedrandom-npm-3.0.5-6946e8f8db-acad5e516c.zip/node_modules/seedrandom/",\
"packageDependencies": [\
["seedrandom", "npm:3.0.5"]\
],\
"linkType": "HARD"\
}]\
]],\
["semver", [\ ["semver", [\
["npm:7.6.0", {\ ["npm:7.6.0", {\
"packageLocation": "./.yarn/cache/semver-npm-7.6.0-f4630729f6-1b41018df2.zip/node_modules/semver/",\ "packageLocation": "./.yarn/cache/semver-npm-7.6.0-f4630729f6-1b41018df2.zip/node_modules/semver/",\
@ -1284,81 +1565,11 @@ const RAW_RUNTIME_STATE =
"linkType": "HARD"\ "linkType": "HARD"\
}]\ }]\
]],\ ]],\
["sequelize", [\
["npm:6.37.1", {\
"packageLocation": "./.yarn/cache/sequelize-npm-6.37.1-894f242817-05be9a1e67.zip/node_modules/sequelize/",\
"packageDependencies": [\
["sequelize", "npm:6.37.1"]\
],\
"linkType": "SOFT"\
}],\
["virtual:20c353e2d6536e37339997f03975c6a660f4d296e664d291bd43620c6162cca8eb5ef90b0998dc9db75ff6862e5da587d0530bae26805f5fadc8f17aaa4ff794#npm:6.37.1", {\
"packageLocation": "./.yarn/__virtual__/sequelize-virtual-cdd2f8787e/0/cache/sequelize-npm-6.37.1-894f242817-05be9a1e67.zip/node_modules/sequelize/",\
"packageDependencies": [\
["sequelize", "virtual:20c353e2d6536e37339997f03975c6a660f4d296e664d291bd43620c6162cca8eb5ef90b0998dc9db75ff6862e5da587d0530bae26805f5fadc8f17aaa4ff794#npm:6.37.1"],\
["@types/debug", "npm:4.1.12"],\
["@types/ibm_db", null],\
["@types/mariadb", null],\
["@types/mysql2", null],\
["@types/oracledb", null],\
["@types/pg", "npm:8.11.1"],\
["@types/pg-hstore", null],\
["@types/snowflake-sdk", null],\
["@types/sqlite3", null],\
["@types/tedious", null],\
["@types/validator", "npm:13.11.9"],\
["debug", "virtual:8dde907e274d6cda4b3be6cd808e5a16421eab0e2ce2f6110b97323dbadda969b2dab36e690fd106d5bd3c87e0525cade2b2ba6fb4fb0c0e439212e4cf5c851b#npm:4.3.4"],\
["dottie", "npm:2.0.6"],\
["ibm_db", null],\
["inflection", "npm:1.13.4"],\
["lodash", "npm:4.17.21"],\
["mariadb", null],\
["moment", "npm:2.30.1"],\
["moment-timezone", "npm:0.5.45"],\
["mysql2", null],\
["oracledb", null],\
["pg", "virtual:20c353e2d6536e37339997f03975c6a660f4d296e664d291bd43620c6162cca8eb5ef90b0998dc9db75ff6862e5da587d0530bae26805f5fadc8f17aaa4ff794#npm:8.11.3"],\
["pg-connection-string", "npm:2.6.2"],\
["pg-hstore", "npm:2.3.4"],\
["retry-as-promised", "npm:7.0.4"],\
["semver", "npm:7.6.0"],\
["sequelize-pool", "npm:7.1.0"],\
["snowflake-sdk", null],\
["sqlite3", null],\
["tedious", null],\
["toposort-class", "npm:1.0.1"],\
["uuid", "npm:8.3.2"],\
["validator", "npm:13.11.0"],\
["wkx", "npm:0.5.0"]\
],\
"packagePeers": [\
"@types/ibm_db",\
"@types/mariadb",\
"@types/mysql2",\
"@types/oracledb",\
"@types/pg-hstore",\
"@types/pg",\
"@types/snowflake-sdk",\
"@types/sqlite3",\
"@types/tedious",\
"ibm_db",\
"mariadb",\
"mysql2",\
"oracledb",\
"pg-hstore",\
"pg",\
"snowflake-sdk",\
"sqlite3",\
"tedious"\
],\
"linkType": "HARD"\
}]\
]],\
["sequelize-pool", [\ ["sequelize-pool", [\
["npm:7.1.0", {\ ["npm:8.0.0", {\
"packageLocation": "./.yarn/cache/sequelize-pool-npm-7.1.0-670df81ecb-eeb0837451.zip/node_modules/sequelize-pool/",\ "packageLocation": "./.yarn/cache/sequelize-pool-npm-8.0.0-e96de3b702-c449ec2f34.zip/node_modules/sequelize-pool/",\
"packageDependencies": [\ "packageDependencies": [\
["sequelize-pool", "npm:7.1.0"]\ ["sequelize-pool", "npm:8.0.0"]\
],\ ],\
"linkType": "HARD"\ "linkType": "HARD"\
}]\ }]\
@ -1402,6 +1613,25 @@ const RAW_RUNTIME_STATE =
"linkType": "HARD"\ "linkType": "HARD"\
}]\ }]\
]],\ ]],\
["tiny-emitter", [\
["npm:2.1.0", {\
"packageLocation": "./.yarn/cache/tiny-emitter-npm-2.1.0-2a4d94f487-75633f4de4.zip/node_modules/tiny-emitter/",\
"packageDependencies": [\
["tiny-emitter", "npm:2.1.0"]\
],\
"linkType": "HARD"\
}]\
]],\
["to-regex-range", [\
["npm:5.0.1", {\
"packageLocation": "./.yarn/cache/to-regex-range-npm-5.0.1-f1e8263b00-10dda13571.zip/node_modules/to-regex-range/",\
"packageDependencies": [\
["to-regex-range", "npm:5.0.1"],\
["is-number", "npm:7.0.0"]\
],\
"linkType": "HARD"\
}]\
]],\
["toposort-class", [\ ["toposort-class", [\
["npm:1.0.1", {\ ["npm:1.0.1", {\
"packageLocation": "./.yarn/cache/toposort-class-npm-1.0.1-aefabde69e-166cb89ecb.zip/node_modules/toposort-class/",\ "packageLocation": "./.yarn/cache/toposort-class-npm-1.0.1-aefabde69e-166cb89ecb.zip/node_modules/toposort-class/",\
@ -1429,6 +1659,24 @@ const RAW_RUNTIME_STATE =
"linkType": "HARD"\ "linkType": "HARD"\
}]\ }]\
]],\ ]],\
["type-fest", [\
["npm:3.13.1", {\
"packageLocation": "./.yarn/cache/type-fest-npm-3.13.1-4bd562882d-9a8a2359ad.zip/node_modules/type-fest/",\
"packageDependencies": [\
["type-fest", "npm:3.13.1"]\
],\
"linkType": "HARD"\
}]\
]],\
["typed-function", [\
["npm:4.1.1", {\
"packageLocation": "./.yarn/cache/typed-function-npm-4.1.1-d09696d7f2-0ef538d5f0.zip/node_modules/typed-function/",\
"packageDependencies": [\
["typed-function", "npm:4.1.1"]\
],\
"linkType": "HARD"\
}]\
]],\
["typescript", [\ ["typescript", [\
["patch:typescript@npm%3A5.3.3#optional!builtin<compat/typescript>::version=5.3.3&hash=e012d7", {\ ["patch:typescript@npm%3A5.3.3#optional!builtin<compat/typescript>::version=5.3.3&hash=e012d7", {\
"packageLocation": "./.yarn/cache/typescript-patch-4778c7998b-c93786fcc9.zip/node_modules/typescript/",\ "packageLocation": "./.yarn/cache/typescript-patch-4778c7998b-c93786fcc9.zip/node_modules/typescript/",\
@ -1490,6 +1738,13 @@ const RAW_RUNTIME_STATE =
["uuid", "npm:8.3.2"]\ ["uuid", "npm:8.3.2"]\
],\ ],\
"linkType": "HARD"\ "linkType": "HARD"\
}],\
["npm:9.0.1", {\
"packageLocation": "./.yarn/cache/uuid-npm-9.0.1-39a8442bc6-9d0b6adb72.zip/node_modules/uuid/",\
"packageDependencies": [\
["uuid", "npm:9.0.1"]\
],\
"linkType": "HARD"\
}]\ }]\
]],\ ]],\
["validator", [\ ["validator", [\
@ -1506,7 +1761,7 @@ const RAW_RUNTIME_STATE =
"packageLocation": "./.yarn/cache/wkx-npm-0.5.0-fca5152cd8-b8975e33f9.zip/node_modules/wkx/",\ "packageLocation": "./.yarn/cache/wkx-npm-0.5.0-fca5152cd8-b8975e33f9.zip/node_modules/wkx/",\
"packageDependencies": [\ "packageDependencies": [\
["wkx", "npm:0.5.0"],\ ["wkx", "npm:0.5.0"],\
["@types/node", "npm:20.11.20"]\ ["@types/node", "npm:20.11.21"]\
],\ ],\
"linkType": "HARD"\ "linkType": "HARD"\
}]\ }]\

View File

@ -1,5 +1,6 @@
{ {
"recommendations": [ "recommendations": [
"arcanis.vscode-zipfs" "arcanis.vscode-zipfs",
"usernamehw.errorlens"
] ]
} }

View File

@ -1,9 +1,13 @@
compressionLevel: mixed compressionLevel: mixed
enableGlobalCache: false enableGlobalCache: false
progressBarStyle: "simba" progressBarStyle: "simba"
defaultSemverRangePrefix: ""
supportedArchitectures:
os:
- "linux"
- "darwin"
cpu:
- "x64"
npmScopes: npmScopes:
toast: toast:
npmRegistryServer: https://git.toast-server.net/api/packages/toast/npm/ npmRegistryServer: https://git.toast-server.net/api/packages/toast/npm/

View File

@ -12,17 +12,12 @@
"sdk": "yarn dlx @yarnpkg/sdks vscode" "sdk": "yarn dlx @yarnpkg/sdks vscode"
}, },
"author": "Toast", "author": "Toast",
"license": "ISC",
"os": [ "os": [
"win32",
"linux", "linux",
"!darwin" "darwin"
], ],
"cpu": [ "cpu": [
"x64", "x64"
"!arm64",
"!mips",
"!ia32"
], ],
"engines": { "engines": {
"node": ">=18.18.0, <19 || >=20", "node": ">=18.18.0, <19 || >=20",
@ -32,29 +27,30 @@
"engineStrict": true, "engineStrict": true,
"packageManager": "yarn@4.1.0+sha256.81a00df816059803e6b5148acf03ce313cad36b7f6e5af6efa040a15981a6ffb", "packageManager": "yarn@4.1.0+sha256.81a00df816059803e6b5148acf03ce313cad36b7f6e5af6efa040a15981a6ffb",
"dependencies": { "dependencies": {
"@napi-rs/canvas": "0.1.49", "@napi-rs/canvas": "0.1.50",
"@octokit/rest": "20.0.2", "@octokit/rest": "20.0.2",
"@sequelize/core": "7.0.0-alpha.37",
"@toast/tokenservice-client": "1.0.12", "@toast/tokenservice-client": "1.0.12",
"ansi-colors": "4.1.3", "ansi-colors": "4.1.3",
"dayjs": "1.11.10", "dayjs": "1.11.10",
"discord.js": "14.14.1", "discord.js": "14.14.1",
"fast-xml-parser": "4.3.5", "fast-xml-parser": "4.3.5",
"mathjs": "12.4.0",
"ms": "2.1.3", "ms": "2.1.3",
"node-cron": "3.0.3", "node-cron": "3.0.3",
"pg": "8.11.3", "pg": "8.11.3",
"pg-hstore": "2.3.4", "pg-hstore": "2.3.4",
"postgres-array": "3.0.2",
"redis": "4.6.13", "redis": "4.6.13",
"sequelize": "6.37.1",
"simple-git": "3.22.0", "simple-git": "3.22.0",
"systeminformation": "5.22.0", "systeminformation": "5.22.0",
"undici": "6.6.2" "undici": "6.6.2"
}, },
"devDependencies": { "devDependencies": {
"@types/ms": "0.7.34", "@types/ms": "0.7.34",
"@types/node": "20.11.20", "@types/node": "20.11.21",
"@types/node-cron": "3.0.11", "@types/node-cron": "3.0.11",
"@types/pg": "8.11.1", "@types/pg": "8.11.2",
"@types/sequelize": "4.28.20",
"typescript": "5.3.3" "typescript": "5.3.3"
} }
} }

View File

@ -2,18 +2,22 @@ import Discord from 'discord.js';
import TClient from '../client.js'; import TClient from '../client.js';
import MessageTool from '../helpers/MessageTool.js'; import MessageTool from '../helpers/MessageTool.js';
import Formatters from '../helpers/Formatters.js'; import Formatters from '../helpers/Formatters.js';
import * as math from 'mathjs';// I hate this, but it doesn't provide a default export though :cimpCopium:
export default class Calculator { export default class Calculator {
static run(client: TClient, interaction: Discord.ChatInputCommandInteraction<'cached'>){ static run(client: TClient, interaction: Discord.ChatInputCommandInteraction<'cached'>){
const now = Date.now(); const now = Date.now();
const exp = interaction.options.getString('expression', true).replace(/[^-()\d/*+.]/g, ''); const exp = interaction.options.getString('expression', true).replace(/[^-()\d/*+.]/g, '');
try { try {
const result = eval(exp); let result:math.EvalFunction;
switch (exp) { switch (exp) {
case '1+1': case '1+1':
return interaction.reply('2, quick maths.'); return interaction.reply('Wh-why are you doing this? I mean... **1+1** is **2**, but... *why?*');
case '2+2': case '2+2':
return interaction.reply('2+2 is 4, minus 1 that\'s 3, quick maths.'); return interaction.reply('https://c.tenor.com/5-bc8MtSWCYAAAAC/tenor.gif');
case '2+2-1':
case '1-2+2':
return interaction.reply('https://tenor.com/bhI9r.gif');
case '0/0': case '0/0':
return interaction.reply(MessageTool.concatMessage( return interaction.reply(MessageTool.concatMessage(
'Imagine that you have zero cookies and you split them evenly among zero friends.', 'Imagine that you have zero cookies and you split them evenly among zero friends.',
@ -21,8 +25,11 @@ export default class Calculator {
'And Cookie Monster is sad that there are no cookies, and you are sad that you have no friends.', 'And Cookie Monster is sad that there are no cookies, and you are sad that you have no friends.',
'-- Siri, 2015' '-- Siri, 2015'
)); ));
}; default:
interaction.reply({embeds:[new client.embed().setColor(client.config.embedColor).addFields({name: 'Expression', value: `\`\`\`js\n${exp}\n\`\`\``},{name: 'Answer', value: `\`\`\`js\n${result}\n\`\`\``}).setFooter({text: `Time taken: ${Formatters.timeFormat(Date.now() - now, 3)}`})]}) result = math.evaluate(exp);
break;
}
if (typeof result !== 'undefined') interaction.reply({embeds:[new client.embed().setColor(client.config.embedColor).addFields({name: 'Expression', value: `\`\`\`js\n${exp}\n\`\`\``},{name: 'Answer', value: `\`\`\`js\n${result}\n\`\`\``}).setFooter({text: `Time taken: ${Formatters.timeFormat(Date.now() - now, 3)}`})]})
} catch { } catch {
interaction.reply('The given expression is invalid.'); interaction.reply('The given expression is invalid.');
} }

View File

@ -25,16 +25,16 @@ export default class Case {
update: async()=>{ update: async()=>{
const reason = interaction.options.getString('reason'); const reason = interaction.options.getString('reason');
await client.punishments.updateReason(caseId, reason); await client.punishments.updateReason(caseId, reason);
if (client.punishments.findCase(caseId)) { if (client.punishments.findCaseOrCancels('case_id', caseId)) {
await this.updateEntry(client, caseId, reason); await this.updateEntry(client, caseId, reason);
await interaction.reply({embeds: [new client.embed().setColor(client.config.embedColorGreen).setTitle('Case updated').setDescription(`Case #${caseId} has been successfully updated with new reason:\n\`${reason}\``)]}); await interaction.reply({embeds: [new client.embed().setColor(client.config.embedColorGreen).setTitle('Case updated').setDescription(`Case #${caseId} has been successfully updated with new reason:\n\`${reason}\``)]});
} else interaction.reply({embeds: [new client.embed().setColor(client.config.embedColorRed).setTitle('Case not updated').setDescription(`Case #${caseId} is not found in database, not updating the reason.`)]}); } else interaction.reply({embeds: [new client.embed().setColor(client.config.embedColorRed).setTitle('Case not updated').setDescription(`Case #${caseId} is not found in database, not updating the reason.`)]});
}, },
view: async()=>{ view: async()=>{
const punishment = await client.punishments.findCase(caseId); const punishment = await client.punishments.findCaseOrCancels('case_id', caseId);
if (!punishment) return interaction.reply('Case ID is not found in database.'); if (!punishment) return interaction.reply('Case ID is not found in database.');
const cancelledBy = punishment.dataValues.expired ? await client.punishments.findByCancels(punishment.dataValues.case_id) : null; const cancelledBy = punishment.dataValues.expired ? await client.punishments.findCaseOrCancels('cancels', punishment.dataValues.case_id) : null;
const cancels = punishment.dataValues.cancels ? await client.punishments.findCase(punishment.dataValues.cancels) : null; const cancels = punishment.dataValues.cancels ? await client.punishments.findCaseOrCancels('case_id', punishment.dataValues.cancels) : null;
const embed = new client.embed().setColor(client.config.embedColor).setTimestamp(Number(punishment.dataValues.time)).setTitle(`${punishment.dataValues.type[0].toUpperCase()+punishment.dataValues.type.slice(1)} | Case #${punishment.dataValues.case_id}`).addFields( const embed = new client.embed().setColor(client.config.embedColor).setTimestamp(Number(punishment.dataValues.time)).setTitle(`${punishment.dataValues.type[0].toUpperCase()+punishment.dataValues.type.slice(1)} | Case #${punishment.dataValues.case_id}`).addFields(
{name: 'User', value: `${punishment.member_name}\n${MessageTool.formatMention(punishment.dataValues.member, 'user')}\n\`${punishment.dataValues.member}\``, inline: true}, {name: 'User', value: `${punishment.member_name}\n${MessageTool.formatMention(punishment.dataValues.member, 'user')}\n\`${punishment.dataValues.member}\``, inline: true},
{name: 'Moderator', value: `${client.users.resolve(punishment.moderator).tag}\n${MessageTool.formatMention(punishment.dataValues.moderator, 'user')}\n\`${punishment.dataValues.moderator}\``, inline: true}, {name: 'Moderator', value: `${client.users.resolve(punishment.moderator).tag}\n${MessageTool.formatMention(punishment.dataValues.moderator, 'user')}\n\`${punishment.dataValues.moderator}\``, inline: true},

View File

@ -5,7 +5,7 @@ import MessageTool from '../helpers/MessageTool.js';
export default class Unpunish { export default class Unpunish {
static async run(client: TClient, interaction: Discord.ChatInputCommandInteraction<'cached'>){ static async run(client: TClient, interaction: Discord.ChatInputCommandInteraction<'cached'>){
if (!MessageTool.isModerator(interaction.member as Discord.GuildMember)) return MessageTool.youNeedRole(interaction, 'dcmod'); if (!MessageTool.isModerator(interaction.member as Discord.GuildMember)) return MessageTool.youNeedRole(interaction, 'dcmod');
const punishment = await client.punishments.findCase(interaction.options.getInteger('case_id', true)); const punishment = await client.punishments.findCaseOrCancels('case_id', interaction.options.getInteger('case_id', true));
if (!punishment) return interaction.reply({content: 'Case ID is not found in database.', ephemeral: true}); if (!punishment) return interaction.reply({content: 'Case ID is not found in database.', ephemeral: true});
if (['unban', 'unmute', 'punishmentOverride'].includes(punishment.dataValues.type)) return interaction.reply({content: 'This case ID is immutable. (Informative case)', ephemeral: true}); if (['unban', 'unmute', 'punishmentOverride'].includes(punishment.dataValues.type)) return interaction.reply({content: 'This case ID is immutable. (Informative case)', ephemeral: true});
if (punishment.dataValues.expired) return interaction.reply({content: 'This case ID is already expired.', ephemeral: true}); if (punishment.dataValues.expired) return interaction.reply({content: 'This case ID is already expired.', ephemeral: true});

View File

@ -1,4 +1,4 @@
import {Sequelize} from 'sequelize'; import {Sequelize} from '@sequelize/core';
import Logger from '../helpers/Logger.js'; import Logger from '../helpers/Logger.js';
import TSClient from '../helpers/TSClient.js'; import TSClient from '../helpers/TSClient.js';

View File

@ -1,4 +1,4 @@
export default (text:string)=>{ export default (text:string)=>{
const dirSlash = process.platform === 'linux' ? '\/' : '\\'; const dirSlash = (process.platform === 'linux' || process.platform === 'darwin') ? '\/' : '\\';
return text?.replace(/(?<=\/Users\/|\/home\/|\/media\/)[^/]+/g, match=>'・'.repeat(match.length)).split(dirSlash).join(dirSlash); return text?.replace(/(?<=\/Users\/|\/home\/|\/media\/)[^/]+/g, match=>'・'.repeat(match.length)).split(dirSlash).join(dirSlash);
} }

View File

@ -1,5 +1,5 @@
import DatabaseServer from '../components/DatabaseServer.js'; import DatabaseServer from '../components/DatabaseServer.js';
import {Model, DataTypes} from 'sequelize'; import {Model, DataTypes} from '@sequelize/core';
import CacheServer from '../components/CacheServer.js'; import CacheServer from '../components/CacheServer.js';
class MPServer extends Model { class MPServer extends Model {
@ -57,58 +57,45 @@ export class MPServerSvc {
} }
query = async(pattern:string)=>await this.model.sequelize.query(pattern); query = async(pattern:string)=>await this.model.sequelize.query(pattern);
async fetchPlayerData(serverName:string) { async fetchPlayerData(serverName:string) {
const findServerByName = await this.model.findOne({where: {serverName: serverName}}); const server = await this.model.findOne({where: {serverName: serverName}});
if (findServerByName) return findServerByName.dataValues.playerData; return server ? server.dataValues.playerData : [];
else return [];
} }
async addServer(serverName:string, ip:string, code:string) { async addServer(serverName:string, ip:string, code:string) {
const findServerByName = await this.model.findOne({where: {serverName: serverName}}); await this.model.upsert({
if (findServerByName) { serverName,
(await findServerByName.update({serverName: serverName, ip: ip, code: code})).save();
await CacheServer.delete(cacheKey).then(async()=>await this.findInCache());
} else {
await this.model.create({
serverName: serverName,
isActive: true, isActive: true,
ip: ip, ip,
code: code, code,
playerData: [] playerData: []
}); });
await CacheServer.delete(cacheKey).then(async()=>await this.findInCache()); await CacheServer.delete(cacheKey).then(async()=>await this.findInCache());
} }
}
async removeServer(serverName:string) { async removeServer(serverName:string) {
const findServerByName = await this.model.findOne({where: {serverName: serverName}}); await this.model.destroy({where: {serverName}});
if (findServerByName) {
await this.model.destroy({where: {serverName: serverName}});
await CacheServer.delete(cacheKey).then(async()=>await this.findInCache()); await CacheServer.delete(cacheKey).then(async()=>await this.findInCache());
} }
}
async toggleServerUsability(serverName:string, isActive:boolean) { async toggleServerUsability(serverName:string, isActive:boolean) {
const findServerByName = await this.model.findOne({where: {serverName: serverName}}); const [updated] = await this.model.update({isActive}, {where: {serverName}});
if (findServerByName) { if (updated) {
this.model.update({isActive: isActive}, {where: {serverName: serverName}}).then(async flagUpdated=>{
if (flagUpdated) {
await CacheServer.delete(cacheKey).then(async()=>await this.findInCache()); await CacheServer.delete(cacheKey).then(async()=>await this.findInCache());
return true; return true;
} }
}); return false;
} else return false;
} }
async incrementPlayerCount(serverName:string, playerCount:number) { async incrementPlayerCount(serverName:string, playerCount:number) {
const findServerByName = await this.model.findOne({where: {serverName: serverName}}); const server = await this.model.findOne({where: {serverName}});
if (findServerByName) { if (server) {
let PD = findServerByName.dataValues.playerData; let PD = server.dataValues.playerData;
if (PD.length > 1920) PD = []; //Selfnote: 86400/45 = 1920, where 86400 is seconds in a day and 45 is the MPModule's refresh interval. if (PD.length > 1920) PD = []; //Selfnote: 86400/45 = 1920, where 86400 is seconds in a day and 45 is the MPModule's refresh interval.
PD.push(playerCount); PD.push(playerCount);
const updatePD = await this.model.update({playerData: PD}, {where: {serverName: serverName}}); await this.model.update({playerData: PD}, {where: {serverName}});
if (updatePD) true; return true;
else return false; }
} else return false; return false;
} }
async findInCache(): Promise<IServer[]> { async findInCache(): Promise<IServer[]> {
const cachedResult = await CacheServer.get(cacheKey, true); const cachedResult = await CacheServer.get(cacheKey, true);
let result; let result:IServer[];
if (cachedResult) result = cachedResult; if (cachedResult) result = cachedResult;
else { else {
result = await this.model.findAll(); result = await this.model.findAll();

View File

@ -1,5 +1,6 @@
import DatabaseServer from '../components/DatabaseServer.js'; import DatabaseServer from '../components/DatabaseServer.js';
import {Model, DataTypes} from 'sequelize'; import {Model, DataTypes} from '@sequelize/core';
import Logger from '../helpers/Logger.js';
class dailyMsgs extends Model { class dailyMsgs extends Model {
declare public day: number; declare public day: number;
@ -26,18 +27,20 @@ export class DailyMsgsSvc {
tableName: 'dailymsgs', tableName: 'dailymsgs',
createdAt: false, createdAt: false,
updatedAt: false, updatedAt: false,
indexes: [
{name: 'day_index', fields: ['day'], unique: true}
],
sequelize: DatabaseServer.seq sequelize: DatabaseServer.seq
}) })
this.model.sync(); this.model.sync();
} }
query = async(pattern:string)=>await this.model.sequelize.query(pattern); query = async(pattern:string)=>await this.model.sequelize.query(pattern);
nukeDays = async()=>await this.model.destroy({truncate: true}); nukeDays = async()=>await this.model.destroy();
fetchDays = async()=>await this.model.findAll(); fetchDays = async()=>await this.model.findAll();
async newDay(formattedDate:number, total:number) { async newDay(formattedDate:number, total:number) {
if (await this.model.findOne({where: {day: formattedDate}})) return console.log('This day already exists!') const [instance, created] = await this.model.findOrCreate({where: {day: formattedDate}, defaults: {total}});
return await this.model.create({day: formattedDate, total: total}); if (!created) return Logger.console('log', 'DailyMsgs', 'This day already exists!');
return instance
// Save previous day's total messages into database when a new day starts. // Save previous day's total messages into database when a new day starts.
} }
updateDay = async(formattedDate:number, total:number)=>await this.model.update({total: total}, {where: {day: formattedDate}});
// THIS IS FOR DEVELOPMENT PURPOSES ONLY, NOT TO BE USED IN LIVE ENVIRONMENT!
} }

View File

@ -1,5 +1,5 @@
import DatabaseServer from '../components/DatabaseServer.js'; import DatabaseServer from '../components/DatabaseServer.js';
import {Model, DataTypes} from 'sequelize'; import {Model, DataTypes} from '@sequelize/core';
class prohibitedWords extends Model { class prohibitedWords extends Model {
declare public word: string; declare public word: string;

View File

@ -1,12 +1,24 @@
import Discord from 'discord.js'; import Discord from 'discord.js';
import TClient from '../client.js'; import TClient from '../client.js';
import ms from 'ms'; import ms from 'ms';
import Logger from '../helpers/Logger.js';
import {Punishment} from 'src/interfaces'; import {Punishment} from 'src/interfaces';
import DatabaseServer from '../components/DatabaseServer.js'; import DatabaseServer from '../components/DatabaseServer.js';
import {Model, DataTypes} from 'sequelize'; import {Model, DataTypes} from '@sequelize/core';
import CacheServer from '../components/CacheServer.js'; import CacheServer from '../components/CacheServer.js';
import Formatters from '../helpers/Formatters.js'; import Formatters from '../helpers/Formatters.js';
const PAST_TENSE_MAPPING = {
ban: 'banned',
softban: 'softbanned',
kick: 'kicked',
mute: 'muted',
warn: 'warned',
remind: 'reminded'
};
const TRANSACTION_FAILED = 'An error occurred while updating the database. See console for more details.';
class punishments extends Model { class punishments extends Model {
declare public case_id: number; declare public case_id: number;
declare public type: string; declare public type: string;
@ -84,20 +96,20 @@ export class PunishmentsSvc {
} }
query = async(pattern:string)=>await this.model.sequelize.query(pattern); query = async(pattern:string)=>await this.model.sequelize.query(pattern);
async updateReason(caseId:number, reason:string) { async updateReason(caseId:number, reason:string) {
const findCase = this.findCase(caseId); const findCase = this.findCaseOrCancels('case_id', caseId);
if (findCase) return this.model.update({reason: reason}, {where: {case_id: caseId}}); if (findCase) return this.model.update({reason}, {where: {case_id: caseId}});
} }
findCase =(caseId:number)=>this.model.findOne({where: {case_id: caseId}}); findCaseOrCancels = (column:'case_id'|'cancels', id:number)=>this.model.findOne({where: {[column]: id}});
findByCancels =(caseId:number)=>this.model.findOne({where: {cancels: caseId}})
getAllCases =()=>this.model.findAll(); getAllCases =()=>this.model.findAll();
async generateCaseId() { async generateCaseId() {
const result = await this.model.findAll(); const result = await this.model.max('case_id');
return Math.max(...result.map((x:Punishment)=>x.case_id), 0) + 1; if (typeof result === 'number') return result + 1;
else return 0;
} }
async findInCache():Promise<any> { async findInCache():Promise<Punishment[]> {
const cacheKey = 'punishments'; const cacheKey = 'punishments';
const cachedResult = await CacheServer.get(cacheKey, true); const cachedResult = await CacheServer.get(cacheKey, true);
let result:any; let result:Punishment[];
if (cachedResult) result = cachedResult; if (cachedResult) result = cachedResult;
else { else {
result = await this.model.findAll(); result = await this.model.findAll();
@ -132,16 +144,7 @@ export class PunishmentsSvc {
} }
(this.client.channels.cache.get(channel) as Discord.TextChannel).send({embeds: [embed]}); (this.client.channels.cache.get(channel) as Discord.TextChannel).send({embeds: [embed]});
} }
getPastTense(type:string) { getPastTense =(type:string)=>PAST_TENSE_MAPPING[type];
return {
ban: 'banned',
softban: 'softbanned',
kick: 'kicked',
mute: 'muted',
warn: 'warned',
remind: 'reminded'
}[type];
}
async punishmentAdd(type:string, options:{time?:string, interaction?:Discord.ChatInputCommandInteraction}, moderator:string, reason: string, user:Discord.User, guildUser?:Discord.GuildMember) { async punishmentAdd(type:string, options:{time?:string, interaction?:Discord.ChatInputCommandInteraction}, moderator:string, reason: string, user:Discord.User, guildUser?:Discord.GuildMember) {
const {time, interaction} = options; const {time, interaction} = options;
const now = Date.now(); const now = Date.now();
@ -165,14 +168,22 @@ export class PunishmentsSvc {
if (guildUser) await guildUser.send(`You've been ${this.getPastTense(type)} ${inOrFromBoolean} **${guild.name}**${durText}\n\`${reason}\` (Case #${punishment.case_id})`).catch(()=>embed.setFooter({text: 'Unable to DM a member'})); if (guildUser) await guildUser.send(`You've been ${this.getPastTense(type)} ${inOrFromBoolean} **${guild.name}**${durText}\n\`${reason}\` (Case #${punishment.case_id})`).catch(()=>embed.setFooter({text: 'Unable to DM a member'}));
if (['ban', 'softban'].includes(type)) { switch (type) {
case 'ban':
case 'softban': {
const alreadyBanned = await guild.bans.fetch(user.id).catch(()=>null); // 172800 seconds is 48 hours, just for future reference const alreadyBanned = await guild.bans.fetch(user.id).catch(()=>null); // 172800 seconds is 48 hours, just for future reference
if (!alreadyBanned) punishmentResult = await guild.bans.create(user.id, {reason: auditLogReason, deleteMessageSeconds: 172800}).catch((err:Error)=>err.message); if (alreadyBanned) punishmentResult = `This user already exists in the guild\'s ban list.\nReason: \`${alreadyBanned?.reason}\``;
else punishmentResult = `This user already exists in the guild\'s ban list.\nReason: \`${alreadyBanned?.reason}\``; else punishmentResult = await guild.bans.create(user.id, {reason: auditLogReason, deleteMessageSeconds: 172800}).catch((err:Error)=>err.message);
} else if (type === 'kick') punishmentResult = await guildUser?.kick(auditLogReason).catch((err:Error)=>err.message);
else if (type === 'mute') punishmentResult = await guildUser?.timeout(millisecondTime, auditLogReason).catch((err:Error)=>err.message);
if (type === 'softban' && typeof punishmentResult !== 'string') punishmentResult = await guild.bans.remove(user.id, auditLogReason).catch((err:Error)=>err.message); if (type === 'softban' && typeof punishmentResult !== 'string') punishmentResult = await guild.bans.remove(user.id, auditLogReason).catch((err:Error)=>err.message);
break;
}
case 'kick':
punishmentResult = await guildUser?.kick(auditLogReason).catch((err:Error)=>err.message);
break;
case 'mute':
punishmentResult = await guildUser?.timeout(millisecondTime, auditLogReason).catch((err:Error)=>err.message);
break;
}
if (millisecondTime && ['ban', 'mute'].includes(type)) { if (millisecondTime && ['ban', 'mute'].includes(type)) {
punishment.endTime = now + millisecondTime; punishment.endTime = now + millisecondTime;
@ -183,9 +194,9 @@ export class PunishmentsSvc {
if (interaction) return interaction.editReply(punishmentResult); if (interaction) return interaction.editReply(punishmentResult);
else return punishmentResult; else return punishmentResult;
} else { } else {
const checkIfExists = await this.model.findOne({where: {case_id: punishment.case_id}}); try { // https://sequelize.org/docs/v7/querying/transactions/
if (checkIfExists) this.model.update({expired: punishment.expired, time: punishment.time, endTime: punishment.endTime}, {where: {case_id: punishment.case_id}}) await this.model.sequelize.transaction(async transaction=>{
else await this.model.create({ await this.model.upsert({
case_id: punishment.case_id, case_id: punishment.case_id,
type: punishment.type, type: punishment.type,
member_name: punishment.member_name, member_name: punishment.member_name,
@ -197,8 +208,14 @@ export class PunishmentsSvc {
endTime: punishment.endTime, endTime: punishment.endTime,
cancels: punishment.cancels, cancels: punishment.cancels,
duration: punishment.duration duration: punishment.duration
}); }, {transaction});
await this.createModlog(punishment); await this.createModlog(punishment);
});
} catch (err) {
Logger.console('error', 'Punishment', err);
Logger.console('log', 'Punishment:Transaction', TRANSACTION_FAILED);
return;
}
if (interaction) return interaction.editReply({embeds: [embed]}); if (interaction) return interaction.editReply({embeds: [embed]});
else return punishmentResult; else return punishmentResult;
@ -217,20 +234,29 @@ export class PunishmentsSvc {
let removePunishmentData:Punishment = {type: `un${punishment.type}`, case_id: ID, cancels: punishment.case_id, member_name: punishment.member_name, member: punishment.member, reason, moderator, time: now}; let removePunishmentData:Punishment = {type: `un${punishment.type}`, case_id: ID, cancels: punishment.case_id, member_name: punishment.member_name, member: punishment.member, reason, moderator, time: now};
let removePunishmentResult:any; let removePunishmentResult:any;
if (punishment.type === 'ban') removePunishmentResult = await guild.bans.remove(punishment.member, auditLogReason).catch((err:Error)=>err.message); switch (punishment.type) {
else if (punishment.type === 'mute') { case 'ban':
removePunishmentResult = await guild.bans.remove(punishment.member, auditLogReason).catch((err:Error)=>err.message);
break;
case 'mute':
if (guildUser) { if (guildUser) {
removePunishmentResult = await guildUser.timeout(null, auditLogReason).catch((err:Error)=>err.message); removePunishmentResult = await guildUser.timeout(null, auditLogReason).catch((err:Error)=>err.message);
guildUser.send(`You've been unmuted in **${guild.name}**.`).catch(()=>null); guildUser.send(`You've been unmuted in **${guild.name}**.`).catch(()=>null);
} else this.model.update({expired: true}, {where: {case_id: caseId}}); } else this.model.update({expired: true}, {where: {case_id: caseId}});
} else removePunishmentData.type = 'punishmentOverride'; break;
default:
removePunishmentData.type = 'punishmentOverride';
break;
}
if (typeof removePunishmentResult === 'string') {// Punishment was unsuccessful if (typeof removePunishmentResult === 'string') {// Punishment was unsuccessful
if (interaction) return interaction.editReply(removePunishmentResult); if (interaction) return interaction.editReply(removePunishmentResult);
else return removePunishmentResult; else return removePunishmentResult;
} else { } else {
this.model.update({expired: true}, {where: {case_id: caseId}}).then(()=> try { // https://sequelize.org/docs/v7/querying/transactions/
this.model.create({ await this.model.sequelize.transaction(async transaction=>{
await this.model.update({expired: true}, {where: {case_id: caseId}, transaction})
await this.model.upsert({
case_id: removePunishmentData.case_id, case_id: removePunishmentData.case_id,
type: removePunishmentData.type, type: removePunishmentData.type,
member_name: removePunishmentData.member_name, member_name: removePunishmentData.member_name,
@ -242,9 +268,14 @@ export class PunishmentsSvc {
endTime: removePunishmentData.endTime, endTime: removePunishmentData.endTime,
cancels: removePunishmentData.cancels, cancels: removePunishmentData.cancels,
duration: removePunishmentData.duration duration: removePunishmentData.duration
}) }, {transaction});
);
await this.createModlog(removePunishmentData); await this.createModlog(removePunishmentData);
});
} catch (err) {
Logger.console('error', 'Punishment', err);
Logger.console('log', 'Punishment:Transaction', TRANSACTION_FAILED);
return;
}
if (interaction) return interaction.reply({embeds: [new this.client.embed() if (interaction) return interaction.reply({embeds: [new this.client.embed()
.setColor(this.client.config.embedColor) .setColor(this.client.config.embedColor)

View File

@ -1,5 +1,5 @@
import DatabaseServer from '../components/DatabaseServer.js'; import DatabaseServer from '../components/DatabaseServer.js';
import {Model, DataTypes} from 'sequelize'; import {Model, DataTypes} from '@sequelize/core';
class suggestions extends Model { class suggestions extends Model {
declare public id: number; declare public id: number;

View File

@ -2,7 +2,7 @@ import TClient from '../client.js';
import MessageTool from '../helpers/MessageTool.js'; import MessageTool from '../helpers/MessageTool.js';
import CacheServer from '../components/CacheServer.js'; import CacheServer from '../components/CacheServer.js';
import DatabaseServer from '../components/DatabaseServer.js'; import DatabaseServer from '../components/DatabaseServer.js';
import {Model, DataTypes} from 'sequelize'; import {Model, DataTypes} from '@sequelize/core';
import {ChatInputCommandInteraction, Snowflake} from 'discord.js'; import {ChatInputCommandInteraction, Snowflake} from 'discord.js';
class tagsystem extends Model { class tagsystem extends Model {
@ -79,7 +79,7 @@ export class TagSystemSvc {
async findInCache(): Promise<Tags[]> { async findInCache(): Promise<Tags[]> {
const cacheKey = 'tags'; const cacheKey = 'tags';
const cachedResult = await CacheServer.get(cacheKey, true); const cachedResult = await CacheServer.get(cacheKey, true);
let result; let result:Tags[];
if (cachedResult) result = cachedResult; if (cachedResult) result = cachedResult;
else { else {
result = await this.model.findAll(); result = await this.model.findAll();

View File

@ -2,7 +2,7 @@ import Discord from 'discord.js';
import TClient from '../client.js'; import TClient from '../client.js';
import MessageTool from '../helpers/MessageTool.js'; import MessageTool from '../helpers/MessageTool.js';
import DatabaseServer from '../components/DatabaseServer.js'; import DatabaseServer from '../components/DatabaseServer.js';
import {Model, DataTypes} from 'sequelize'; import {Model, DataTypes} from '@sequelize/core';
import {writeFileSync} from 'node:fs'; import {writeFileSync} from 'node:fs';
import cron from 'node-cron'; import cron from 'node-cron';
import Logger from '../helpers/Logger.js'; import Logger from '../helpers/Logger.js';
@ -61,9 +61,9 @@ export class UserLevelsSvc {
fetchEveryone = async()=>await this.model.findAll(); fetchEveryone = async()=>await this.model.findAll();
fetchUser = async(userId:string)=>await this.model.findByPk(userId); fetchUser = async(userId:string)=>await this.model.findByPk(userId);
deleteUser = async(userId:string)=>await this.model.destroy({where: {id: userId}}); deleteUser = async(userId:string)=>await this.model.destroy({where: {id: userId}});
async modifyUser(userId:string, updatedMessages:number) { async modifyUser(userId:string, messages:number) {
await this.model.update({messages: updatedMessages}, {where: {id: userId}}); const [_, [updatedUser]] = await this.model.update({messages}, {where: {id: userId}, returning: true});
return (await this.model.findByPk(userId)).dataValues; return updatedUser.dataValues;
} }
async blockUser(userId:string, duration:number):Promise<boolean> { async blockUser(userId:string, duration:number):Promise<boolean> {
const data = await this.model.findByPk(userId); const data = await this.model.findByPk(userId);
@ -74,8 +74,8 @@ export class UserLevelsSvc {
} }
} }
async getActiveUsers() { async getActiveUsers() {
const members = (await this.model.findAll()).sort((a,b)=>b.dataValues.messages-a.dataValues.messages); const members = await this.model.findAll({order: [['messages', 'DESC']], limit: 5});
return members.slice(0, 5); return members;
} }
async messageIncremental(userId:string) { async messageIncremental(userId:string) {
const data = await this.model.findByPk(userId); const data = await this.model.findByPk(userId);
@ -119,7 +119,7 @@ export class UserLevelsSvc {
Logger.console('log', 'Cron:resetAllData', `Counted ${performCountBeforeReset.toLocaleString()} members before reset`); Logger.console('log', 'Cron:resetAllData', `Counted ${performCountBeforeReset.toLocaleString()} members before reset`);
await this.client.dailyMsgs.nukeDays(); await this.client.dailyMsgs.nukeDays();
await this.model.drop().then(async()=>await this.model.sync()); await this.model.truncate();
try { try {
// Send notification to dcServer's logs channel after cronjob is complete. // Send notification to dcServer's logs channel after cronjob is complete.
@ -139,16 +139,12 @@ export class UserLevelsSvc {
// Reset LRSstart to current Epoch and save it to config file // Reset LRSstart to current Epoch and save it to config file
const newEpoch = new Date().getTime(); const newEpoch = new Date().getTime();
if (this.client.config.LRSstart !== newEpoch) {
this.client.config.LRSstart = newEpoch; this.client.config.LRSstart = newEpoch;
const logText = `Resetting LRSstart to \`${newEpoch}\`, saved to config file`; Logger.console('log', 'Cron:resetAllData', `Resetting LRSstart to \`${newEpoch}\`, saved to config file`);
Logger.console('log', 'DailyMsgs', logText);
(this.client.channels.resolve(this.client.config.dcServer.channels.logs) as Discord.TextChannel).send({embeds: [new this.client.embed()
.setColor(this.client.config.embedColorXmas)
.setTitle('Happy New Years! Level System is clean!')
.setDescription(logText)
]}).catch(err=>console.log(err));
writeFileSync('src/config.json', JSON.stringify(this.client.config, null, 2)); writeFileSync('src/config.json', JSON.stringify(this.client.config, null, 2));
Logger.console('log', 'Cron:resetAllData', 'Job completed'); Logger.console('log', 'Cron:resetAllData', 'Job completed');
}
}) })
} }
algorithm = (level:number)=>level*level*15; algorithm = (level:number)=>level*level*15;

View File

@ -1,5 +1,5 @@
import DatabaseServer from '../components/DatabaseServer.js'; import DatabaseServer from '../components/DatabaseServer.js';
import {Model, DataTypes} from 'sequelize'; import {Model, DataTypes} from '@sequelize/core';
class youtubeChannels extends Model { class youtubeChannels extends Model {
declare public ytchannel: string; declare public ytchannel: string;
@ -36,9 +36,8 @@ export class YouTubeChannelsSvc {
} }
query = async(pattern:string)=>await this.model.sequelize.query(pattern); query = async(pattern:string)=>await this.model.sequelize.query(pattern);
async addChannel(YTChannelID:string, DCChannelID:string, DCRole:string) { async addChannel(YTChannelID:string, DCChannelID:string, DCRole:string) {
if (await this.model.findOne({where: {ytchannel: YTChannelID}})) return false; const [_, created] = await this.model.findOrCreate({where: {ytchannel: YTChannelID}, defaults: {dcchannel: DCChannelID, dcrole: DCRole}});
await this.model.create({ytchannel: YTChannelID, dcchannel: DCChannelID, dcrole: DCRole}); return created;
return true;
} }
delChannel = async(YTChannelID:string)=>await this.model.destroy({where: {ytchannel: YTChannelID}}); delChannel = async(YTChannelID:string)=>await this.model.destroy({where: {ytchannel: YTChannelID}});
getChannels = async()=>await this.model.findAll(); getChannels = async()=>await this.model.findAll();

550
yarn.lock
View File

@ -5,6 +5,15 @@ __metadata:
version: 8 version: 8
cacheKey: 10 cacheKey: 10
"@babel/runtime@npm:^7.23.9":
version: 7.23.9
resolution: "@babel/runtime@npm:7.23.9"
dependencies:
regenerator-runtime: "npm:^0.14.0"
checksum: 10/9a520fe1bf72249f7dd60ff726434251858de15cccfca7aa831bd19d0d3fb17702e116ead82724659b8da3844977e5e13de2bae01eb8a798f2823a669f122be6
languageName: node
linkType: hard
"@discordjs/builders@npm:^1.7.0": "@discordjs/builders@npm:^1.7.0":
version: 1.7.0 version: 1.7.0
resolution: "@discordjs/builders@npm:1.7.0" resolution: "@discordjs/builders@npm:1.7.0"
@ -107,82 +116,82 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"@napi-rs/canvas-android-arm64@npm:0.1.49": "@napi-rs/canvas-android-arm64@npm:0.1.50":
version: 0.1.49 version: 0.1.50
resolution: "@napi-rs/canvas-android-arm64@npm:0.1.49" resolution: "@napi-rs/canvas-android-arm64@npm:0.1.50"
conditions: os=android & cpu=arm64 conditions: os=android & cpu=arm64
languageName: node languageName: node
linkType: hard linkType: hard
"@napi-rs/canvas-darwin-arm64@npm:0.1.49": "@napi-rs/canvas-darwin-arm64@npm:0.1.50":
version: 0.1.49 version: 0.1.50
resolution: "@napi-rs/canvas-darwin-arm64@npm:0.1.49" resolution: "@napi-rs/canvas-darwin-arm64@npm:0.1.50"
conditions: os=darwin & cpu=arm64 conditions: os=darwin & cpu=arm64
languageName: node languageName: node
linkType: hard linkType: hard
"@napi-rs/canvas-darwin-x64@npm:0.1.49": "@napi-rs/canvas-darwin-x64@npm:0.1.50":
version: 0.1.49 version: 0.1.50
resolution: "@napi-rs/canvas-darwin-x64@npm:0.1.49" resolution: "@napi-rs/canvas-darwin-x64@npm:0.1.50"
conditions: os=darwin & cpu=x64 conditions: os=darwin & cpu=x64
languageName: node languageName: node
linkType: hard linkType: hard
"@napi-rs/canvas-linux-arm-gnueabihf@npm:0.1.49": "@napi-rs/canvas-linux-arm-gnueabihf@npm:0.1.50":
version: 0.1.49 version: 0.1.50
resolution: "@napi-rs/canvas-linux-arm-gnueabihf@npm:0.1.49" resolution: "@napi-rs/canvas-linux-arm-gnueabihf@npm:0.1.50"
conditions: os=linux & cpu=arm conditions: os=linux & cpu=arm
languageName: node languageName: node
linkType: hard linkType: hard
"@napi-rs/canvas-linux-arm64-gnu@npm:0.1.49": "@napi-rs/canvas-linux-arm64-gnu@npm:0.1.50":
version: 0.1.49 version: 0.1.50
resolution: "@napi-rs/canvas-linux-arm64-gnu@npm:0.1.49" resolution: "@napi-rs/canvas-linux-arm64-gnu@npm:0.1.50"
conditions: os=linux & cpu=arm64 & libc=glibc conditions: os=linux & cpu=arm64 & libc=glibc
languageName: node languageName: node
linkType: hard linkType: hard
"@napi-rs/canvas-linux-arm64-musl@npm:0.1.49": "@napi-rs/canvas-linux-arm64-musl@npm:0.1.50":
version: 0.1.49 version: 0.1.50
resolution: "@napi-rs/canvas-linux-arm64-musl@npm:0.1.49" resolution: "@napi-rs/canvas-linux-arm64-musl@npm:0.1.50"
conditions: os=linux & cpu=arm64 & libc=musl conditions: os=linux & cpu=arm64 & libc=musl
languageName: node languageName: node
linkType: hard linkType: hard
"@napi-rs/canvas-linux-x64-gnu@npm:0.1.49": "@napi-rs/canvas-linux-x64-gnu@npm:0.1.50":
version: 0.1.49 version: 0.1.50
resolution: "@napi-rs/canvas-linux-x64-gnu@npm:0.1.49" resolution: "@napi-rs/canvas-linux-x64-gnu@npm:0.1.50"
conditions: os=linux & cpu=x64 & libc=glibc conditions: os=linux & cpu=x64 & libc=glibc
languageName: node languageName: node
linkType: hard linkType: hard
"@napi-rs/canvas-linux-x64-musl@npm:0.1.49": "@napi-rs/canvas-linux-x64-musl@npm:0.1.50":
version: 0.1.49 version: 0.1.50
resolution: "@napi-rs/canvas-linux-x64-musl@npm:0.1.49" resolution: "@napi-rs/canvas-linux-x64-musl@npm:0.1.50"
conditions: os=linux & cpu=x64 & libc=musl conditions: os=linux & cpu=x64 & libc=musl
languageName: node languageName: node
linkType: hard linkType: hard
"@napi-rs/canvas-win32-x64-msvc@npm:0.1.49": "@napi-rs/canvas-win32-x64-msvc@npm:0.1.50":
version: 0.1.49 version: 0.1.50
resolution: "@napi-rs/canvas-win32-x64-msvc@npm:0.1.49" resolution: "@napi-rs/canvas-win32-x64-msvc@npm:0.1.50"
conditions: os=win32 & cpu=x64 conditions: os=win32 & cpu=x64
languageName: node languageName: node
linkType: hard linkType: hard
"@napi-rs/canvas@npm:0.1.49": "@napi-rs/canvas@npm:0.1.50":
version: 0.1.49 version: 0.1.50
resolution: "@napi-rs/canvas@npm:0.1.49" resolution: "@napi-rs/canvas@npm:0.1.50"
dependencies: dependencies:
"@napi-rs/canvas-android-arm64": "npm:0.1.49" "@napi-rs/canvas-android-arm64": "npm:0.1.50"
"@napi-rs/canvas-darwin-arm64": "npm:0.1.49" "@napi-rs/canvas-darwin-arm64": "npm:0.1.50"
"@napi-rs/canvas-darwin-x64": "npm:0.1.49" "@napi-rs/canvas-darwin-x64": "npm:0.1.50"
"@napi-rs/canvas-linux-arm-gnueabihf": "npm:0.1.49" "@napi-rs/canvas-linux-arm-gnueabihf": "npm:0.1.50"
"@napi-rs/canvas-linux-arm64-gnu": "npm:0.1.49" "@napi-rs/canvas-linux-arm64-gnu": "npm:0.1.50"
"@napi-rs/canvas-linux-arm64-musl": "npm:0.1.49" "@napi-rs/canvas-linux-arm64-musl": "npm:0.1.50"
"@napi-rs/canvas-linux-x64-gnu": "npm:0.1.49" "@napi-rs/canvas-linux-x64-gnu": "npm:0.1.50"
"@napi-rs/canvas-linux-x64-musl": "npm:0.1.49" "@napi-rs/canvas-linux-x64-musl": "npm:0.1.50"
"@napi-rs/canvas-win32-x64-msvc": "npm:0.1.49" "@napi-rs/canvas-win32-x64-msvc": "npm:0.1.50"
dependenciesMeta: dependenciesMeta:
"@napi-rs/canvas-android-arm64": "@napi-rs/canvas-android-arm64":
optional: true optional: true
@ -202,7 +211,34 @@ __metadata:
optional: true optional: true
"@napi-rs/canvas-win32-x64-msvc": "@napi-rs/canvas-win32-x64-msvc":
optional: true optional: true
checksum: 10/78a7e229a0a15d337200b5a9f19da2904c4c6b11971328f5e9b29f94b3d90041a46e01a4d8058b420e0ee593f6f24bbed957dab71ff1618d75edfaff65e6b61c checksum: 10/c9ed3ecdaa54c82b4a98bbd7a5297b80083e779ab28a929b2a795ef58b436850a40b569b36f93b709d8ae811573680b775688179d8e7d7d6fbd181420c6945ca
languageName: node
linkType: hard
"@nodelib/fs.scandir@npm:2.1.5":
version: 2.1.5
resolution: "@nodelib/fs.scandir@npm:2.1.5"
dependencies:
"@nodelib/fs.stat": "npm:2.0.5"
run-parallel: "npm:^1.1.9"
checksum: 10/6ab2a9b8a1d67b067922c36f259e3b3dfd6b97b219c540877a4944549a4d49ea5ceba5663905ab5289682f1f3c15ff441d02f0447f620a42e1cb5e1937174d4b
languageName: node
linkType: hard
"@nodelib/fs.stat@npm:2.0.5, @nodelib/fs.stat@npm:^2.0.2":
version: 2.0.5
resolution: "@nodelib/fs.stat@npm:2.0.5"
checksum: 10/012480b5ca9d97bff9261571dbbec7bbc6033f69cc92908bc1ecfad0792361a5a1994bc48674b9ef76419d056a03efadfce5a6cf6dbc0a36559571a7a483f6f0
languageName: node
linkType: hard
"@nodelib/fs.walk@npm:^1.2.3":
version: 1.2.8
resolution: "@nodelib/fs.walk@npm:1.2.8"
dependencies:
"@nodelib/fs.scandir": "npm:2.1.5"
fastq: "npm:^1.6.0"
checksum: 10/40033e33e96e97d77fba5a238e4bba4487b8284678906a9f616b5579ddaf868a18874c0054a75402c9fbaaa033a25ceae093af58c9c30278e35c23c9479e79b0
languageName: node languageName: node
linkType: hard linkType: hard
@ -418,6 +454,50 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"@sequelize/core@npm:7.0.0-alpha.37":
version: 7.0.0-alpha.37
resolution: "@sequelize/core@npm:7.0.0-alpha.37"
dependencies:
"@types/debug": "npm:^4.1.7"
"@types/validator": "npm:^13.7.5"
bnf-parser: "npm:3.1.6"
dayjs: "npm:^1.11.5"
debug: "npm:^4.3.4"
dottie: "npm:^2.0.2"
fast-glob: "npm:^3.2.12"
inflection: "npm:^3.0.0"
lodash: "npm:^4.17.21"
pg-connection-string: "npm:^2.5.0"
pg-hstore: "npm:^2.3.4"
retry-as-promised: "npm:^7.0.3"
semver: "npm:^7.3.7"
sequelize-pool: "npm:^8.0.0"
toposort-class: "npm:^1.0.1"
type-fest: "npm:^3.0.0"
uuid: "npm:^9.0.0"
validator: "npm:^13.7.0"
wkx: "npm:^0.5.0"
peerDependenciesMeta:
ibm_db:
optional: true
mariadb:
optional: true
mysql2:
optional: true
odbc:
optional: true
pg:
optional: true
snowflake-sdk:
optional: true
sqlite3:
optional: true
tedious:
optional: true
checksum: 10/dcaadb079bc5fcc505efbfff18ca8165dae4a24ad9c9f9f99e91474343e27986ceef702a69db0ab5406988b151dfa76f05e536425c08b29e80e10da70bb437fd
languageName: node
linkType: hard
"@toast/tokenservice-client@npm:1.0.12": "@toast/tokenservice-client@npm:1.0.12":
version: 1.0.12 version: 1.0.12
resolution: "@toast/tokenservice-client@npm:1.0.12::__archiveUrl=https%3A%2F%2Fgit.toast-server.net%2Fapi%2Fpackages%2Ftoast%2Fnpm%2F%2540toast%252Ftokenservice-client%2F-%2F1.0.12%2Ftokenservice-client-1.0.12.tgz" resolution: "@toast/tokenservice-client@npm:1.0.12::__archiveUrl=https%3A%2F%2Fgit.toast-server.net%2Fapi%2Fpackages%2Ftoast%2Fnpm%2F%2540toast%252Ftokenservice-client%2F-%2F1.0.12%2Ftokenservice-client-1.0.12.tgz"
@ -427,23 +507,7 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"@types/bluebird@npm:*": "@types/debug@npm:^4.1.7":
version: 3.5.42
resolution: "@types/bluebird@npm:3.5.42"
checksum: 10/09ad60b083f916c7611936d3c70986df8f2eae11e46768ab7901d86bee5b1ca6b00cd9ef8cc0d3761256e2bc4ada3388e5529f71745a6b3d7602e868e3530310
languageName: node
linkType: hard
"@types/continuation-local-storage@npm:*":
version: 3.2.7
resolution: "@types/continuation-local-storage@npm:3.2.7"
dependencies:
"@types/node": "npm:*"
checksum: 10/1f272b53bc56774773b7cbd6019ae26843599fb9073cb70c3dda13f8bfac5eabb6c8bf33f548a37be9c6d772eb9a4ab4399bc7d25bc82588655f51f572df79f3
languageName: node
linkType: hard
"@types/debug@npm:^4.1.8":
version: 4.1.12 version: 4.1.12
resolution: "@types/debug@npm:4.1.12" resolution: "@types/debug@npm:4.1.12"
dependencies: dependencies:
@ -452,13 +516,6 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"@types/lodash@npm:*":
version: 4.14.202
resolution: "@types/lodash@npm:4.14.202"
checksum: 10/1bb9760a5b1dda120132c4b987330d67979c95dbc22612678682cd61b00302e190f4207228f3728580059cdab5582362262e3819aea59960c1017bd2b9fb26f6
languageName: node
linkType: hard
"@types/ms@npm:*, @types/ms@npm:0.7.34": "@types/ms@npm:*, @types/ms@npm:0.7.34":
version: 0.7.34 version: 0.7.34
resolution: "@types/ms@npm:0.7.34" resolution: "@types/ms@npm:0.7.34"
@ -473,39 +530,27 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"@types/node@npm:*, @types/node@npm:20.11.20": "@types/node@npm:*, @types/node@npm:20.11.21":
version: 20.11.20 version: 20.11.21
resolution: "@types/node@npm:20.11.20" resolution: "@types/node@npm:20.11.21"
dependencies: dependencies:
undici-types: "npm:~5.26.4" undici-types: "npm:~5.26.4"
checksum: 10/ff449bdc94810dadb54e0f77dd587c6505ef79ffa5a208c16eb29b223365b188f4c935a3abaf0906a01d05257c3da1f72465594a841d35bcf7b6deac7a6938fb checksum: 10/a31ecc6a3c615bca310ffe7dea23613153ff9e1e175c09d14198402b2cef9b1bb1bf3912aff6ffc6cb01b99a025ec6dd6474c797bfb0aaf83daf4edaea063760
languageName: node languageName: node
linkType: hard linkType: hard
"@types/pg@npm:8.11.1": "@types/pg@npm:8.11.2":
version: 8.11.1 version: 8.11.2
resolution: "@types/pg@npm:8.11.1" resolution: "@types/pg@npm:8.11.2"
dependencies: dependencies:
"@types/node": "npm:*" "@types/node": "npm:*"
pg-protocol: "npm:*" pg-protocol: "npm:*"
pg-types: "npm:^4.0.1" pg-types: "npm:^4.0.1"
checksum: 10/2fdcb0dc331c4f4e334061c30a14187a6d835a049be9e9a2d84d55935025c45be7f5f40fd6b854c19fcf72d17e854481b11a461d7679005d9813bf29c56ba380 checksum: 10/7c05cf63beffc0f8d817d080cdd98d199a2bd732b779b9aadddcb8659f861f7aafb3bc071636b9eaa65b36cfe998ee66e21aa1485e583b190918fe2f856a6c53
languageName: node languageName: node
linkType: hard linkType: hard
"@types/sequelize@npm:4.28.20": "@types/validator@npm:^13.7.5":
version: 4.28.20
resolution: "@types/sequelize@npm:4.28.20"
dependencies:
"@types/bluebird": "npm:*"
"@types/continuation-local-storage": "npm:*"
"@types/lodash": "npm:*"
"@types/validator": "npm:*"
checksum: 10/8b3faec2e650ee299ae8a8a06bab7bd928131938ba34c7faa1d5c099682d6649e7aa68b0540a3e4883db7e3bc10d043ae3f23624d11b42a60f6bcbd40800ffac
languageName: node
linkType: hard
"@types/validator@npm:*, @types/validator@npm:^13.7.17":
version: 13.11.9 version: 13.11.9
resolution: "@types/validator@npm:13.11.9" resolution: "@types/validator@npm:13.11.9"
checksum: 10/2d397c69293cc726e0cf1b4c74c563ca4e459b00f216f3ff0ac184c9648103be27169e8c67f85be9c6e7a3fcbb149c6add66a2547b185a1b25aa79e4b61261bd checksum: 10/2d397c69293cc726e0cf1b4c74c563ca4e459b00f216f3ff0ac184c9648103be27169e8c67f85be9c6e7a3fcbb149c6add66a2547b185a1b25aa79e4b61261bd
@ -551,6 +596,22 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"bnf-parser@npm:3.1.6":
version: 3.1.6
resolution: "bnf-parser@npm:3.1.6"
checksum: 10/caaf7078e2a5a9ab97f7f0b65eb1d034b5f5b9f80b189fee9ff3b9aa36dad79820b12f978eb079a7c8b3da37a7bd65b763313deee5058fc76c5d6900d2e3b981
languageName: node
linkType: hard
"braces@npm:^3.0.2":
version: 3.0.2
resolution: "braces@npm:3.0.2"
dependencies:
fill-range: "npm:^7.0.1"
checksum: 10/966b1fb48d193b9d155f810e5efd1790962f2c4e0829f8440b8ad236ba009222c501f70185ef732fef17a4c490bb33a03b90dab0631feafbdf447da91e8165b1
languageName: node
linkType: hard
"buffer-writer@npm:2.0.0": "buffer-writer@npm:2.0.0":
version: 2.0.0 version: 2.0.0
resolution: "buffer-writer@npm:2.0.0" resolution: "buffer-writer@npm:2.0.0"
@ -565,28 +626,36 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"complex.js@npm:^2.1.1":
version: 2.1.1
resolution: "complex.js@npm:2.1.1"
checksum: 10/1905d5204dd8a4d6f591182aca2045986f1ff3c5373e455ccd10c6ee2905bf1d3811a313d38c68f8a8507523202f91e25177387e3adc386c1b5b5ec2f13a6dbb
languageName: node
linkType: hard
"daggerbot-ts@workspace:.": "daggerbot-ts@workspace:.":
version: 0.0.0-use.local version: 0.0.0-use.local
resolution: "daggerbot-ts@workspace:." resolution: "daggerbot-ts@workspace:."
dependencies: dependencies:
"@napi-rs/canvas": "npm:0.1.49" "@napi-rs/canvas": "npm:0.1.50"
"@octokit/rest": "npm:20.0.2" "@octokit/rest": "npm:20.0.2"
"@sequelize/core": "npm:7.0.0-alpha.37"
"@toast/tokenservice-client": "npm:1.0.12" "@toast/tokenservice-client": "npm:1.0.12"
"@types/ms": "npm:0.7.34" "@types/ms": "npm:0.7.34"
"@types/node": "npm:20.11.20" "@types/node": "npm:20.11.21"
"@types/node-cron": "npm:3.0.11" "@types/node-cron": "npm:3.0.11"
"@types/pg": "npm:8.11.1" "@types/pg": "npm:8.11.2"
"@types/sequelize": "npm:4.28.20"
ansi-colors: "npm:4.1.3" ansi-colors: "npm:4.1.3"
dayjs: "npm:1.11.10" dayjs: "npm:1.11.10"
discord.js: "npm:14.14.1" discord.js: "npm:14.14.1"
fast-xml-parser: "npm:4.3.5" fast-xml-parser: "npm:4.3.5"
mathjs: "npm:12.4.0"
ms: "npm:2.1.3" ms: "npm:2.1.3"
node-cron: "npm:3.0.3" node-cron: "npm:3.0.3"
pg: "npm:8.11.3" pg: "npm:8.11.3"
pg-hstore: "npm:2.3.4" pg-hstore: "npm:2.3.4"
postgres-array: "npm:3.0.2"
redis: "npm:4.6.13" redis: "npm:4.6.13"
sequelize: "npm:6.37.1"
simple-git: "npm:3.22.0" simple-git: "npm:3.22.0"
systeminformation: "npm:5.22.0" systeminformation: "npm:5.22.0"
typescript: "npm:5.3.3" typescript: "npm:5.3.3"
@ -594,7 +663,7 @@ __metadata:
languageName: unknown languageName: unknown
linkType: soft linkType: soft
"dayjs@npm:1.11.10": "dayjs@npm:1.11.10, dayjs@npm:^1.11.5":
version: 1.11.10 version: 1.11.10
resolution: "dayjs@npm:1.11.10" resolution: "dayjs@npm:1.11.10"
checksum: 10/27e8f5bc01c0a76f36c656e62ab7f08c2e7b040b09e613cd4844abf03fb258e0350f0a83b02c887b84d771c1f11e092deda0beef8c6df2a1afbc3f6c1fade279 checksum: 10/27e8f5bc01c0a76f36c656e62ab7f08c2e7b040b09e613cd4844abf03fb258e0350f0a83b02c887b84d771c1f11e092deda0beef8c6df2a1afbc3f6c1fade279
@ -613,6 +682,13 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"decimal.js@npm:^10.4.3":
version: 10.4.3
resolution: "decimal.js@npm:10.4.3"
checksum: 10/de663a7bc4d368e3877db95fcd5c87b965569b58d16cdc4258c063d231ca7118748738df17cd638f7e9dd0be8e34cec08d7234b20f1f2a756a52fc5a38b188d0
languageName: node
linkType: hard
"deprecation@npm:^2.0.0": "deprecation@npm:^2.0.0":
version: 2.3.1 version: 2.3.1
resolution: "deprecation@npm:2.3.1" resolution: "deprecation@npm:2.3.1"
@ -649,13 +725,20 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"dottie@npm:^2.0.6": "dottie@npm:^2.0.2":
version: 2.0.6 version: 2.0.6
resolution: "dottie@npm:2.0.6" resolution: "dottie@npm:2.0.6"
checksum: 10/698731cfa2c1b530ba3491fa864dc572678a2a6de801f25912e2e4d7d4669ae013b696711786016bf41c7b6f98057c678503f14550bb171b3f70cdadffb9218f checksum: 10/698731cfa2c1b530ba3491fa864dc572678a2a6de801f25912e2e4d7d4669ae013b696711786016bf41c7b6f98057c678503f14550bb171b3f70cdadffb9218f
languageName: node languageName: node
linkType: hard linkType: hard
"escape-latex@npm:^1.2.0":
version: 1.2.0
resolution: "escape-latex@npm:1.2.0"
checksum: 10/73a787319f0965ecb8244bb38bf3a3cba872f0b9a5d3da8821140e9f39fe977045dc953a62b1a2bed4d12bfccbe75a7d8ec786412bf00739eaa2f627d0a8e0d6
languageName: node
linkType: hard
"fast-deep-equal@npm:3.1.3, fast-deep-equal@npm:^3.1.3": "fast-deep-equal@npm:3.1.3, fast-deep-equal@npm:^3.1.3":
version: 3.1.3 version: 3.1.3
resolution: "fast-deep-equal@npm:3.1.3" resolution: "fast-deep-equal@npm:3.1.3"
@ -663,6 +746,19 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"fast-glob@npm:^3.2.12":
version: 3.3.2
resolution: "fast-glob@npm:3.3.2"
dependencies:
"@nodelib/fs.stat": "npm:^2.0.2"
"@nodelib/fs.walk": "npm:^1.2.3"
glob-parent: "npm:^5.1.2"
merge2: "npm:^1.3.0"
micromatch: "npm:^4.0.4"
checksum: 10/222512e9315a0efca1276af9adb2127f02105d7288fa746145bf45e2716383fb79eb983c89601a72a399a56b7c18d38ce70457c5466218c5f13fad957cee16df
languageName: node
linkType: hard
"fast-xml-parser@npm:4.3.5": "fast-xml-parser@npm:4.3.5":
version: 4.3.5 version: 4.3.5
resolution: "fast-xml-parser@npm:4.3.5" resolution: "fast-xml-parser@npm:4.3.5"
@ -674,6 +770,31 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"fastq@npm:^1.6.0":
version: 1.17.1
resolution: "fastq@npm:1.17.1"
dependencies:
reusify: "npm:^1.0.4"
checksum: 10/a443180068b527dd7b3a63dc7f2a47ceca2f3e97b9c00a1efe5538757e6cc4056a3526df94308075d7727561baf09ebaa5b67da8dcbddb913a021c5ae69d1f69
languageName: node
linkType: hard
"fill-range@npm:^7.0.1":
version: 7.0.1
resolution: "fill-range@npm:7.0.1"
dependencies:
to-regex-range: "npm:^5.0.1"
checksum: 10/e260f7592fd196b4421504d3597cc76f4a1ca7a9488260d533b611fc3cefd61e9a9be1417cb82d3b01ad9f9c0ff2dbf258e1026d2445e26b0cf5148ff4250429
languageName: node
linkType: hard
"fraction.js@npm:4.3.4":
version: 4.3.4
resolution: "fraction.js@npm:4.3.4"
checksum: 10/3a1e6b268038ffdea625fab6a8d155d7ab644d35d0c99bc59084bfd29fbc714f3a38381b0627751ddb5f188bcde0b3f48c27e80eeb2ecd440825a7d2cd2bf9f1
languageName: node
linkType: hard
"generic-pool@npm:3.9.0": "generic-pool@npm:3.9.0":
version: 3.9.0 version: 3.9.0
resolution: "generic-pool@npm:3.9.0" resolution: "generic-pool@npm:3.9.0"
@ -681,10 +802,49 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"inflection@npm:^1.13.4": "glob-parent@npm:^5.1.2":
version: 1.13.4 version: 5.1.2
resolution: "inflection@npm:1.13.4" resolution: "glob-parent@npm:5.1.2"
checksum: 10/a0cc1b105ccbda9607b5d1610b5c7aa35456ca06b7f3573a47c677e1f829052859cacc36601c3c07de89cb756616a440814ef2d190a6ae70398e6aa6efc2a547 dependencies:
is-glob: "npm:^4.0.1"
checksum: 10/32cd106ce8c0d83731966d31517adb766d02c3812de49c30cfe0675c7c0ae6630c11214c54a5ae67aca882cf738d27fd7768f21aa19118b9245950554be07247
languageName: node
linkType: hard
"inflection@npm:^3.0.0":
version: 3.0.0
resolution: "inflection@npm:3.0.0"
checksum: 10/e8aae6abb872a8aa19184a1b84470fff7120806329c78011befcf50bce04a7b0d65012ac373f2cc5caeaaf241874c7ae20a26038ff7dbe0cdae0b863f25b5e02
languageName: node
linkType: hard
"is-extglob@npm:^2.1.1":
version: 2.1.1
resolution: "is-extglob@npm:2.1.1"
checksum: 10/df033653d06d0eb567461e58a7a8c9f940bd8c22274b94bf7671ab36df5719791aae15eef6d83bbb5e23283967f2f984b8914559d4449efda578c775c4be6f85
languageName: node
linkType: hard
"is-glob@npm:^4.0.1":
version: 4.0.3
resolution: "is-glob@npm:4.0.3"
dependencies:
is-extglob: "npm:^2.1.1"
checksum: 10/3ed74f2b0cdf4f401f38edb0442ddfde3092d79d7d35c9919c86641efdbcbb32e45aa3c0f70ce5eecc946896cd5a0f26e4188b9f2b881876f7cb6c505b82da11
languageName: node
linkType: hard
"is-number@npm:^7.0.0":
version: 7.0.0
resolution: "is-number@npm:7.0.0"
checksum: 10/6a6c3383f68afa1e05b286af866017c78f1226d43ac8cb064e115ff9ed85eb33f5c4f7216c96a71e4dfea289ef52c5da3aef5bbfade8ffe47a0465d70c0c8e86
languageName: node
linkType: hard
"javascript-natural-sort@npm:^0.7.1":
version: 0.7.1
resolution: "javascript-natural-sort@npm:0.7.1"
checksum: 10/7bf6eab67871865d347f09a95aa770f9206c1ab0226bcda6fdd9edec340bf41111a7f82abac30556aa16a21cfa3b2b1ca4a362c8b73dd5ce15220e5d31f49d79
languageName: node languageName: node
linkType: hard linkType: hard
@ -718,19 +878,39 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"moment-timezone@npm:^0.5.43": "mathjs@npm:12.4.0":
version: 0.5.45 version: 12.4.0
resolution: "moment-timezone@npm:0.5.45" resolution: "mathjs@npm:12.4.0"
dependencies: dependencies:
moment: "npm:^2.29.4" "@babel/runtime": "npm:^7.23.9"
checksum: 10/45e3793d44bea8e826c934a335ebf0b92c6d6dae562fdb59d8c45a16d5c11de4d6692b5fa7eebca969881f06b81b55f8535883bfbc727b597d601709fa5a2bb2 complex.js: "npm:^2.1.1"
decimal.js: "npm:^10.4.3"
escape-latex: "npm:^1.2.0"
fraction.js: "npm:4.3.4"
javascript-natural-sort: "npm:^0.7.1"
seedrandom: "npm:^3.0.5"
tiny-emitter: "npm:^2.1.0"
typed-function: "npm:^4.1.1"
bin:
mathjs: bin/cli.js
checksum: 10/ee168a7e4be0bebe9fbd69292462f162d6aae973500e00dbf00f44392ccf80f4de86883819576df2434e9b3e4d6c222a14613e2c0450db8316c373f130bee2b6
languageName: node languageName: node
linkType: hard linkType: hard
"moment@npm:^2.29.4": "merge2@npm:^1.3.0":
version: 2.30.1 version: 1.4.1
resolution: "moment@npm:2.30.1" resolution: "merge2@npm:1.4.1"
checksum: 10/ae42d876d4ec831ef66110bdc302c0657c664991e45cf2afffc4b0f6cd6d251dde11375c982a5c0564ccc0fa593fc564576ddceb8c8845e87c15f58aa6baca69 checksum: 10/7268db63ed5169466540b6fb947aec313200bcf6d40c5ab722c22e242f651994619bcd85601602972d3c85bd2cc45a358a4c61937e9f11a061919a1da569b0c2
languageName: node
linkType: hard
"micromatch@npm:^4.0.4":
version: 4.0.5
resolution: "micromatch@npm:4.0.5"
dependencies:
braces: "npm:^3.0.2"
picomatch: "npm:^2.3.1"
checksum: 10/a749888789fc15cac0e03273844dbd749f9f8e8d64e70c564bcf06a033129554c789bb9e30d7566d7ff6596611a08e58ac12cf2a05f6e3c9c47c50c4c7e12fa2
languageName: node languageName: node
linkType: hard linkType: hard
@ -787,14 +967,14 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"pg-connection-string@npm:^2.6.1, pg-connection-string@npm:^2.6.2": "pg-connection-string@npm:^2.5.0, pg-connection-string@npm:^2.6.2":
version: 2.6.2 version: 2.6.2
resolution: "pg-connection-string@npm:2.6.2" resolution: "pg-connection-string@npm:2.6.2"
checksum: 10/22265882c3b6f2320785378d0760b051294a684989163d5a1cde4009e64e84448d7bf67d9a7b9e7f69440c3ee9e2212f9aa10dd17ad6773f6143c6020cebbcb5 checksum: 10/22265882c3b6f2320785378d0760b051294a684989163d5a1cde4009e64e84448d7bf67d9a7b9e7f69440c3ee9e2212f9aa10dd17ad6773f6143c6020cebbcb5
languageName: node languageName: node
linkType: hard linkType: hard
"pg-hstore@npm:2.3.4": "pg-hstore@npm:2.3.4, pg-hstore@npm:^2.3.4":
version: 2.3.4 version: 2.3.4
resolution: "pg-hstore@npm:2.3.4" resolution: "pg-hstore@npm:2.3.4"
dependencies: dependencies:
@ -894,6 +1074,20 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"picomatch@npm:^2.3.1":
version: 2.3.1
resolution: "picomatch@npm:2.3.1"
checksum: 10/60c2595003b05e4535394d1da94850f5372c9427ca4413b71210f437f7b2ca091dbd611c45e8b37d10036fa8eade25c1b8951654f9d3973bfa66a2ff4d3b08bc
languageName: node
linkType: hard
"postgres-array@npm:3.0.2, postgres-array@npm:~3.0.1":
version: 3.0.2
resolution: "postgres-array@npm:3.0.2"
checksum: 10/0159517e4e5f263bf9e324f0c4d3c10244a294021f2b5980abc8c23afdb965370a7fc0c82012fce4d28e83186ad089b6476b05fcef6c88f8e43e37a3a2fa0ad5
languageName: node
linkType: hard
"postgres-array@npm:~2.0.0": "postgres-array@npm:~2.0.0":
version: 2.0.0 version: 2.0.0
resolution: "postgres-array@npm:2.0.0" resolution: "postgres-array@npm:2.0.0"
@ -901,13 +1095,6 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"postgres-array@npm:~3.0.1":
version: 3.0.2
resolution: "postgres-array@npm:3.0.2"
checksum: 10/0159517e4e5f263bf9e324f0c4d3c10244a294021f2b5980abc8c23afdb965370a7fc0c82012fce4d28e83186ad089b6476b05fcef6c88f8e43e37a3a2fa0ad5
languageName: node
linkType: hard
"postgres-bytea@npm:~1.0.0": "postgres-bytea@npm:~1.0.0":
version: 1.0.0 version: 1.0.0
resolution: "postgres-bytea@npm:1.0.0" resolution: "postgres-bytea@npm:1.0.0"
@ -961,6 +1148,13 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"queue-microtask@npm:^1.2.2":
version: 1.2.3
resolution: "queue-microtask@npm:1.2.3"
checksum: 10/72900df0616e473e824202113c3df6abae59150dfb73ed13273503127235320e9c8ca4aaaaccfd58cf417c6ca92a6e68ee9a5c3182886ae949a768639b388a7b
languageName: node
linkType: hard
"redis@npm:4.6.13": "redis@npm:4.6.13":
version: 4.6.13 version: 4.6.13
resolution: "redis@npm:4.6.13" resolution: "redis@npm:4.6.13"
@ -975,14 +1169,44 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"retry-as-promised@npm:^7.0.4": "regenerator-runtime@npm:^0.14.0":
version: 0.14.1
resolution: "regenerator-runtime@npm:0.14.1"
checksum: 10/5db3161abb311eef8c45bcf6565f4f378f785900ed3945acf740a9888c792f75b98ecb77f0775f3bf95502ff423529d23e94f41d80c8256e8fa05ed4b07cf471
languageName: node
linkType: hard
"retry-as-promised@npm:^7.0.3":
version: 7.0.4 version: 7.0.4
resolution: "retry-as-promised@npm:7.0.4" resolution: "retry-as-promised@npm:7.0.4"
checksum: 10/cd9fd20e990c6980a2979348fbc198aa4a065f03242c1cd7782372da7054253927e0803291c843db07255a38d255936cc0f9da55bf826c9f75443a9dedb8bf4b checksum: 10/cd9fd20e990c6980a2979348fbc198aa4a065f03242c1cd7782372da7054253927e0803291c843db07255a38d255936cc0f9da55bf826c9f75443a9dedb8bf4b
languageName: node languageName: node
linkType: hard linkType: hard
"semver@npm:^7.5.4": "reusify@npm:^1.0.4":
version: 1.0.4
resolution: "reusify@npm:1.0.4"
checksum: 10/14222c9e1d3f9ae01480c50d96057228a8524706db79cdeb5a2ce5bb7070dd9f409a6f84a02cbef8cdc80d39aef86f2dd03d155188a1300c599b05437dcd2ffb
languageName: node
linkType: hard
"run-parallel@npm:^1.1.9":
version: 1.2.0
resolution: "run-parallel@npm:1.2.0"
dependencies:
queue-microtask: "npm:^1.2.2"
checksum: 10/cb4f97ad25a75ebc11a8ef4e33bb962f8af8516bb2001082ceabd8902e15b98f4b84b4f8a9b222e5d57fc3bd1379c483886ed4619367a7680dad65316993021d
languageName: node
linkType: hard
"seedrandom@npm:^3.0.5":
version: 3.0.5
resolution: "seedrandom@npm:3.0.5"
checksum: 10/acad5e516c04289f61c2fb9848f449b95f58362b75406b79ec51e101ec885293fc57e3675d2f39f49716336559d7190f7273415d185fead8cd27b171ebf7d8fb
languageName: node
linkType: hard
"semver@npm:^7.3.7":
version: 7.6.0 version: 7.6.0
resolution: "semver@npm:7.6.0" resolution: "semver@npm:7.6.0"
dependencies: dependencies:
@ -993,53 +1217,10 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"sequelize-pool@npm:^7.1.0": "sequelize-pool@npm:^8.0.0":
version: 7.1.0 version: 8.0.0
resolution: "sequelize-pool@npm:7.1.0" resolution: "sequelize-pool@npm:8.0.0"
checksum: 10/eeb0837451afb245cf3aece5d93c50ef051bd7f4397c4e578f8cbf41ebf485e0acd887c1aa3f4394b80dc874229a32ce5aafeaa2f00ec3ecc5dfcc518bd7bf7e checksum: 10/c449ec2f3444f75372fde505bf26a22724ee7336192fd7937e546759bca19256fefd39970230b4eb11f1dcb106607dae7085e14e3dc8e3c1a90d30f7874de204
languageName: node
linkType: hard
"sequelize@npm:6.37.1":
version: 6.37.1
resolution: "sequelize@npm:6.37.1"
dependencies:
"@types/debug": "npm:^4.1.8"
"@types/validator": "npm:^13.7.17"
debug: "npm:^4.3.4"
dottie: "npm:^2.0.6"
inflection: "npm:^1.13.4"
lodash: "npm:^4.17.21"
moment: "npm:^2.29.4"
moment-timezone: "npm:^0.5.43"
pg-connection-string: "npm:^2.6.1"
retry-as-promised: "npm:^7.0.4"
semver: "npm:^7.5.4"
sequelize-pool: "npm:^7.1.0"
toposort-class: "npm:^1.0.1"
uuid: "npm:^8.3.2"
validator: "npm:^13.9.0"
wkx: "npm:^0.5.0"
peerDependenciesMeta:
ibm_db:
optional: true
mariadb:
optional: true
mysql2:
optional: true
oracledb:
optional: true
pg:
optional: true
pg-hstore:
optional: true
snowflake-sdk:
optional: true
sqlite3:
optional: true
tedious:
optional: true
checksum: 10/05be9a1e67c444a0a9c2951cd9b0fd7ac08ed2b81671307ca631b4c7597f357b53a26cdff3a3e39a3cd0a927abfce18afc7a472957fcb17b4e26aa5caca97e3c
languageName: node languageName: node
linkType: hard linkType: hard
@ -1078,6 +1259,22 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"tiny-emitter@npm:^2.1.0":
version: 2.1.0
resolution: "tiny-emitter@npm:2.1.0"
checksum: 10/75633f4de4f47f43af56aff6162f25b87be7efc6f669fda256658f3c3f4a216f23dc0d13200c6fafaaf1b0c7142f0201352fb06aec0b77f68aea96be898f4516
languageName: node
linkType: hard
"to-regex-range@npm:^5.0.1":
version: 5.0.1
resolution: "to-regex-range@npm:5.0.1"
dependencies:
is-number: "npm:^7.0.0"
checksum: 10/10dda13571e1f5ad37546827e9b6d4252d2e0bc176c24a101252153ef435d83696e2557fe128c4678e4e78f5f01e83711c703eef9814eb12dab028580d45980a
languageName: node
linkType: hard
"toposort-class@npm:^1.0.1": "toposort-class@npm:^1.0.1":
version: 1.0.1 version: 1.0.1
resolution: "toposort-class@npm:1.0.1" resolution: "toposort-class@npm:1.0.1"
@ -1099,6 +1296,20 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"type-fest@npm:^3.0.0":
version: 3.13.1
resolution: "type-fest@npm:3.13.1"
checksum: 10/9a8a2359ada34c9b3affcaf3a8f73ee14c52779e89950db337ce66fb74c3399776c697c99f2532e9b16e10e61cfdba3b1c19daffb93b338b742f0acd0117ce12
languageName: node
linkType: hard
"typed-function@npm:^4.1.1":
version: 4.1.1
resolution: "typed-function@npm:4.1.1"
checksum: 10/0ef538d5f02e5c40659cccc14b5f2727f0e4181f11d91bb7897327c33cc2893de7e92343b6b32e1bb15e44a215a1e92e27ab2aa1353b100a9a2697abf2989a0c
languageName: node
linkType: hard
"typescript@npm:5.3.3": "typescript@npm:5.3.3":
version: 5.3.3 version: 5.3.3
resolution: "typescript@npm:5.3.3" resolution: "typescript@npm:5.3.3"
@ -1158,7 +1369,7 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"uuid@npm:8.3.2, uuid@npm:^8.3.2": "uuid@npm:8.3.2":
version: 8.3.2 version: 8.3.2
resolution: "uuid@npm:8.3.2" resolution: "uuid@npm:8.3.2"
bin: bin:
@ -1167,7 +1378,16 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"validator@npm:^13.9.0": "uuid@npm:^9.0.0":
version: 9.0.1
resolution: "uuid@npm:9.0.1"
bin:
uuid: dist/bin/uuid
checksum: 10/9d0b6adb72b736e36f2b1b53da0d559125ba3e39d913b6072f6f033e0c87835b414f0836b45bcfaf2bdf698f92297fea1c3cc19b0b258bc182c9c43cc0fab9f2
languageName: node
linkType: hard
"validator@npm:^13.7.0":
version: 13.11.0 version: 13.11.0
resolution: "validator@npm:13.11.0" resolution: "validator@npm:13.11.0"
checksum: 10/4bf094641eb71729c06a42d669840e7189597ba655a8264adabac9bf03f95cd6fde5fbc894b0a13ee861bd4a852f56d2afdc9391aeaeb3fc0f9633a974140e12 checksum: 10/4bf094641eb71729c06a42d669840e7189597ba655a8264adabac9bf03f95cd6fde5fbc894b0a13ee861bd4a852f56d2afdc9391aeaeb3fc0f9633a974140e12