mirror of
https://github.com/the-draupnir-project/Draupnir.git
synced 2026-06-04 06:41:18 +00:00
Fix merge conflicts
This commit is contained in:
+82
-82
@@ -1,85 +1,85 @@
|
||||
{
|
||||
"name": "draupnir",
|
||||
"version": "1.84.0",
|
||||
"description": "A moderation tool for Matrix",
|
||||
"main": "lib/index.js",
|
||||
"repository": "git@github.com:MTRNord/Draupnir.git",
|
||||
"author": "Gnuxie",
|
||||
"license": "SEE LICENSE IN LICENSE",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
"build": "tsc",
|
||||
"postbuild": "yarn remove-tests-from-lib && yarn describe-version",
|
||||
"describe-version": "(git describe > version.txt.tmp && mv version.txt.tmp version.txt) || true && rm -f version.txt.tmp",
|
||||
"remove-tests-from-lib": "rm -rf lib/test/ && cp -r lib/src/* lib/ && rm -rf lib/src/",
|
||||
"lint": "tslint --project ./tsconfig.json -t stylish",
|
||||
"start:dev": "yarn build && node --async-stack-traces lib/index.js",
|
||||
"test": "ts-mocha --project ./tsconfig.json test/commands/**/*.ts",
|
||||
"test:integration": "NODE_ENV=harness ts-mocha --async-stack-traces --require test/integration/fixtures.ts --timeout 300000 --project ./tsconfig.json \"test/integration/**/*Test.ts\"",
|
||||
"test:integration:single": "NODE_ENV=harness npx ts-mocha --require test/integration/fixtures.ts --timeout 300000 --project ./tsconfig.json",
|
||||
"test:appservice:integration": "NODE_ENV=harness ts-mocha --async-stack-traces --timeout 300000 --project ./tsconfig.json \"test/appservice/integration/**/*Test.ts\"",
|
||||
"test:appservice:integration:single": "NODE_ENV=harness npx ts-mocha --timeout 300000 --project ./tsconfig.json",
|
||||
"test:manual": "NODE_ENV=harness ts-node test/integration/manualLaunchScript.ts",
|
||||
"version": "sed -i '/# version automated/s/[0-9][0-9]*\\.[0-9][0-9]*\\.[0-9][^\"]*/'$npm_package_version'/' synapse_antispam/setup.py && git add synapse_antispam/setup.py && cat synapse_antispam/setup.py"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/config": "^3.3.0",
|
||||
"@types/crypto-js": "^4.0.2",
|
||||
"@types/express": "^4.17.13",
|
||||
"@types/html-to-text": "^8.0.1",
|
||||
"@types/humanize-duration": "^3.27.1",
|
||||
"@types/js-yaml": "^4.0.5",
|
||||
"@types/jsdom": "^16.2.11",
|
||||
"@types/mocha": "^9.0.0",
|
||||
"@types/nedb": "^1.8.12",
|
||||
"@types/node": "^18.16.7",
|
||||
"@types/pg": "^8.6.5",
|
||||
"@types/request": "^2.48.8",
|
||||
"@types/shell-quote": "1.7.1",
|
||||
"crypto-js": "^4.1.1",
|
||||
"eslint": "^7.32",
|
||||
"expect": "^27.0.6",
|
||||
"mocha": "^9.0.1",
|
||||
"ts-mocha": "^9.0.2",
|
||||
"tslint": "^6.1.3",
|
||||
"typescript": "^5.1.6",
|
||||
"typescript-formatter": "^7.2"
|
||||
},
|
||||
"dependencies": {
|
||||
"@opentelemetry/api": "^1.4.1",
|
||||
"@opentelemetry/auto-instrumentations-node": "^0.38.0",
|
||||
"@opentelemetry/exporter-metrics-otlp-http": "^0.41.0",
|
||||
"@opentelemetry/exporter-trace-otlp-http": "^0.41.0",
|
||||
"@opentelemetry/sdk-metrics": "^1.15.0",
|
||||
"@opentelemetry/sdk-node": "^0.41.0",
|
||||
"@opentelemetry/sdk-trace-base": "^1.15.0",
|
||||
"@sentry/node": "^7.17.2",
|
||||
"@sentry/tracing": "^7.17.2",
|
||||
"await-lock": "^2.2.2",
|
||||
"body-parser": "^1.20.1",
|
||||
"config": "^3.3.8",
|
||||
"express": "^4.17",
|
||||
"html-to-text": "^8.0.0",
|
||||
"humanize-duration": "^3.27.1",
|
||||
"humanize-duration-ts": "^2.1.1",
|
||||
"js-yaml": "^4.1.0",
|
||||
"jsdom": "^16.6.0",
|
||||
"matrix-appservice-bridge": "8.1.2",
|
||||
"parse-duration": "^1.0.2",
|
||||
"pg": "^8.8.0",
|
||||
"shell-quote": "^1.7.3",
|
||||
"ulidx": "^0.3.0",
|
||||
"yaml": "^2.2.2"
|
||||
},
|
||||
"overrides": {
|
||||
"matrix-appservice-bridge": {
|
||||
"matrix-appservice": "MTRNord/matrix-appservice-node#669af793863f12429f30854dd104673794884abe"
|
||||
}
|
||||
},
|
||||
"resolutions": {
|
||||
"matrix-appservice": "https://github.com/MTRNord/matrix-appservice-node.git#669af793863f12429f30854dd104673794884abe"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=18.0.0"
|
||||
"name": "draupnir",
|
||||
"version": "1.84.0",
|
||||
"description": "A moderation tool for Matrix",
|
||||
"main": "lib/index.js",
|
||||
"repository": "https://github.com/MTRNord/Draupnir.git",
|
||||
"author": "Gnuxie",
|
||||
"license": "SEE LICENSE IN LICENSE",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
"build": "tsc",
|
||||
"postbuild": "yarn remove-tests-from-lib && yarn describe-version",
|
||||
"describe-version": "(git describe > version.txt.tmp && mv version.txt.tmp version.txt) || true && rm -f version.txt.tmp",
|
||||
"remove-tests-from-lib": "rm -rf lib/test/ && cp -r lib/src/* lib/ && rm -rf lib/src/",
|
||||
"lint": "tslint --project ./tsconfig.json -t stylish",
|
||||
"start:dev": "yarn build && node --async-stack-traces lib/index.js",
|
||||
"test": "ts-mocha --project ./tsconfig.json test/commands/**/*.ts",
|
||||
"test:integration": "NODE_ENV=harness ts-mocha --async-stack-traces --require test/integration/fixtures.ts --timeout 300000 --project ./tsconfig.json \"test/integration/**/*Test.ts\"",
|
||||
"test:integration:single": "NODE_ENV=harness npx ts-mocha --require test/integration/fixtures.ts --timeout 300000 --project ./tsconfig.json",
|
||||
"test:appservice:integration": "NODE_ENV=harness ts-mocha --async-stack-traces --timeout 300000 --project ./tsconfig.json \"test/appservice/integration/**/*Test.ts\"",
|
||||
"test:appservice:integration:single": "NODE_ENV=harness npx ts-mocha --timeout 300000 --project ./tsconfig.json",
|
||||
"test:manual": "NODE_ENV=harness ts-node test/integration/manualLaunchScript.ts",
|
||||
"version": "sed -i '/# version automated/s/[0-9][0-9]*\\.[0-9][0-9]*\\.[0-9][^\"]*/'$npm_package_version'/' synapse_antispam/setup.py && git add synapse_antispam/setup.py && cat synapse_antispam/setup.py"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/config": "^3.3.0",
|
||||
"@types/crypto-js": "^4.0.2",
|
||||
"@types/express": "^4.17.13",
|
||||
"@types/html-to-text": "^8.0.1",
|
||||
"@types/humanize-duration": "^3.27.1",
|
||||
"@types/js-yaml": "^4.0.5",
|
||||
"@types/jsdom": "^16.2.11",
|
||||
"@types/mocha": "^9.0.0",
|
||||
"@types/nedb": "^1.8.12",
|
||||
"@types/node": "^18.16.7",
|
||||
"@types/pg": "^8.6.5",
|
||||
"@types/request": "^2.48.8",
|
||||
"@types/shell-quote": "1.7.1",
|
||||
"crypto-js": "^4.1.1",
|
||||
"eslint": "^7.32",
|
||||
"expect": "^27.0.6",
|
||||
"mocha": "^9.0.1",
|
||||
"ts-mocha": "^9.0.2",
|
||||
"tslint": "^6.1.3",
|
||||
"typescript": "^5.1.6",
|
||||
"typescript-formatter": "^7.2"
|
||||
},
|
||||
"dependencies": {
|
||||
"@opentelemetry/api": "^1.4.1",
|
||||
"@opentelemetry/auto-instrumentations-node": "^0.38.0",
|
||||
"@opentelemetry/exporter-metrics-otlp-http": "^0.41.0",
|
||||
"@opentelemetry/exporter-trace-otlp-http": "^0.41.0",
|
||||
"@opentelemetry/sdk-metrics": "^1.15.0",
|
||||
"@opentelemetry/sdk-node": "^0.41.0",
|
||||
"@opentelemetry/sdk-trace-base": "^1.15.0",
|
||||
"@sentry/node": "^7.17.2",
|
||||
"@sentry/tracing": "^7.17.2",
|
||||
"await-lock": "^2.2.2",
|
||||
"body-parser": "^1.20.1",
|
||||
"config": "^3.3.8",
|
||||
"express": "^4.17",
|
||||
"html-to-text": "^8.0.0",
|
||||
"humanize-duration": "^3.27.1",
|
||||
"humanize-duration-ts": "^2.1.1",
|
||||
"js-yaml": "^4.1.0",
|
||||
"jsdom": "^16.6.0",
|
||||
"matrix-appservice-bridge": "8.1.2",
|
||||
"parse-duration": "^1.0.2",
|
||||
"pg": "^8.8.0",
|
||||
"shell-quote": "^1.7.3",
|
||||
"ulidx": "^0.3.0",
|
||||
"yaml": "^2.2.2"
|
||||
},
|
||||
"overrides": {
|
||||
"matrix-appservice-bridge": {
|
||||
"matrix-appservice": "MTRNord/matrix-appservice-node#669af793863f12429f30854dd104673794884abe"
|
||||
}
|
||||
},
|
||||
"resolutions": {
|
||||
"matrix-appservice": "https://github.com/MTRNord/matrix-appservice-node.git#669af793863f12429f30854dd104673794884abe"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=18.0.0"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -37,6 +37,7 @@ import { SOFTWARE_VERSION } from "../config";
|
||||
import { independentTrace, trace } from "../utils";
|
||||
import { DRAUPNIR_RESULT, DRAUPNIR_TRACING_ATTRIBUTES } from "../tracer";
|
||||
import * as api from '@opentelemetry/api'
|
||||
import { Registry } from 'prom-client';
|
||||
|
||||
const log = new Logger("AppService");
|
||||
|
||||
@@ -91,8 +92,12 @@ export class MjolnirAppService {
|
||||
const accessControlListId = await bridge.getBot().getClient().resolveRoom(config.adminRoom);
|
||||
const accessControl = await AccessControl.setupAccessControl(accessControlListId, bridge);
|
||||
// Activate /metrics endpoint for Prometheus
|
||||
|
||||
// This should happen automatically but in testing this didn't happen in the docker image
|
||||
setBridgeVersion(SOFTWARE_VERSION);
|
||||
const prometheus = bridge.getPrometheusMetrics(false);
|
||||
|
||||
// Due to the way the tests and this prom library works we need to explicitly create a new one each time.
|
||||
const prometheus = bridge.getPrometheusMetrics(true, new Registry());
|
||||
const instanceCountGauge = prometheus.addGauge({
|
||||
name: "draupnir_instances",
|
||||
help: "Count of Draupnir Instances",
|
||||
|
||||
@@ -14,6 +14,7 @@ import { MatrixRoomReference } from "../commands/interface-manager/MatrixRoomRef
|
||||
import { Gauge } from "prom-client";
|
||||
import { trace } from "../utils";
|
||||
import * as api from '@opentelemetry/api';
|
||||
import { decrementGaugeValue, incrementGaugeValue } from "../utils";
|
||||
|
||||
const log = new Logger('MjolnirManager');
|
||||
|
||||
@@ -76,18 +77,9 @@ export class MjolnirManager {
|
||||
await managedMjolnir.start();
|
||||
this.mjolnirs.set(mxid, managedMjolnir);
|
||||
this.unstartedMjolnirs.delete(mxid);
|
||||
// @ts-ignore
|
||||
if (this.instanceCountGauge._getValue({ status: "offline", uuid: localPart })) {
|
||||
this.instanceCountGauge.dec({ status: "offline", uuid: localPart });
|
||||
}
|
||||
// @ts-ignore
|
||||
if (this.instanceCountGauge._getValue({ status: "disabled", uuid: localPart })) {
|
||||
this.instanceCountGauge.dec({ status: "disabled", uuid: localPart });
|
||||
}
|
||||
// @ts-ignore
|
||||
if (!this.instanceCountGauge._getValue({ status: "online", uuid: localPart })) {
|
||||
this.instanceCountGauge.inc({ status: "online", uuid: localPart });
|
||||
}
|
||||
incrementGaugeValue(this.instanceCountGauge, "offline", localPart);
|
||||
decrementGaugeValue(this.instanceCountGauge, "disabled", localPart);
|
||||
incrementGaugeValue(this.instanceCountGauge, "online", localPart);
|
||||
return managedMjolnir;
|
||||
}
|
||||
|
||||
@@ -222,16 +214,11 @@ export class MjolnirManager {
|
||||
// Don't await, we don't want to clobber initialization just because we can't tell someone they're no longer allowed.
|
||||
mjIntent.matrixClient.sendNotice(mjolnirRecord.management_room, `Your mjolnir has been disabled by the administrator: ${access.rule?.reason ?? "no reason supplied"}`);
|
||||
this.reportUnstartedMjolnir(UnstartedMjolnir.FailCode.Unauthorized, access.outcome, mjolnirRecord, mjIntent.userId);
|
||||
// @ts-ignore
|
||||
if (this.instanceCountGauge._getValue({ status: "online", uuid: mjolnirRecord.local_part })) {
|
||||
this.instanceCountGauge.dec({ status: "online", uuid: mjolnirRecord.local_part });
|
||||
}
|
||||
// @ts-ignore
|
||||
if (!this.instanceCountGauge._getValue({ status: "disabled", uuid: mjolnirRecord.local_part })) {
|
||||
this.instanceCountGauge.inc({ status: "disabled", uuid: mjolnirRecord.local_part });
|
||||
}
|
||||
decrementGaugeValue(this.instanceCountGauge, "online", mjolnirRecord.local_part);
|
||||
incrementGaugeValue(this.instanceCountGauge, "disabled", mjolnirRecord.local_part);
|
||||
} else {
|
||||
await this.makeInstance(mjolnirRecord.local_part,
|
||||
await this.makeInstance(
|
||||
mjolnirRecord.local_part,
|
||||
mjolnirRecord.owner,
|
||||
mjolnirRecord.management_room,
|
||||
mjIntent.matrixClient,
|
||||
@@ -241,14 +228,8 @@ export class MjolnirManager {
|
||||
// Don't await, we don't want to clobber initialization if this fails.
|
||||
mjIntent.matrixClient.sendNotice(mjolnirRecord.management_room, `Your mjolnir could not be started. Please alert the administrator`);
|
||||
this.reportUnstartedMjolnir(UnstartedMjolnir.FailCode.StartError, e, mjolnirRecord, mjIntent.userId);
|
||||
// @ts-ignore
|
||||
if (this.instanceCountGauge._getValue({ status: "online", uuid: mjolnirRecord.local_part })) {
|
||||
this.instanceCountGauge.dec({ status: "online", uuid: mjolnirRecord.local_part });
|
||||
}
|
||||
// @ts-ignore
|
||||
if (!this.instanceCountGauge._getValue({ status: "offline", uuid: mjolnirRecord.local_part })) {
|
||||
this.instanceCountGauge.inc({ status: "offline", uuid: mjolnirRecord.local_part });
|
||||
}
|
||||
decrementGaugeValue(this.instanceCountGauge, "online", mjolnirRecord.local_part);
|
||||
incrementGaugeValue(this.instanceCountGauge, "offline", mjolnirRecord.local_part);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -64,10 +64,13 @@ export function renderCommandHelp(command: InterfaceCommand<BaseFunction>): stri
|
||||
}
|
||||
|
||||
function renderTableHelp(table: CommandTable): DocumentNode {
|
||||
// FIXME: is it possible to force case of table names?
|
||||
let tableName = table.name;
|
||||
if (typeof table.name === 'string') {
|
||||
tableName = table.name.charAt(0).toUpperCase() + table.name.slice(1);
|
||||
}
|
||||
return <root>
|
||||
<details>
|
||||
<summary><b>{table.name} commands:</b></summary>
|
||||
<summary><b>{tableName} commands:</b></summary>
|
||||
{table.getExportedCommands().map(renderCommandSummary)}
|
||||
{table.getImportedTables().map(renderTableHelp)}
|
||||
</details>
|
||||
|
||||
@@ -42,6 +42,7 @@ import * as _ from '@sentry/tracing'; // Performing the import activates tracing
|
||||
import ManagementRoomOutput from "./ManagementRoomOutput";
|
||||
import { IConfig } from "./config";
|
||||
import { MatrixSendClient } from "./MatrixEmitter";
|
||||
import { Gauge } from "prom-client";
|
||||
|
||||
// Define a few aliases to simplify parsing durations.
|
||||
|
||||
@@ -71,6 +72,42 @@ export function setToArray<T>(set: Set<T>): T[] {
|
||||
return arr;
|
||||
}
|
||||
|
||||
/**
|
||||
* This increments a prometheus gauge. Used in the Appservice MjolnirManager.
|
||||
*
|
||||
* The ts-ignore is mandatory since we access a private method due to lack of a public one.
|
||||
*
|
||||
* See https://github.com/Gnuxie/Draupnir/pull/70#discussion_r1299188922
|
||||
*
|
||||
* @param gauge The Gauge to be modified
|
||||
* @param status The status value that should be modified
|
||||
* @param uuid The UUID of the instance. (Usually the localPart)
|
||||
*/
|
||||
export function incrementGaugeValue(gauge: Gauge<"status" | "uuid">, status: "offline" | "disabled" | "online", uuid: string) {
|
||||
// @ts-ignore
|
||||
if (!gauge._getValue({ status: status, uuid: uuid })) {
|
||||
gauge.inc({ status: status, uuid: uuid });
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* This decrements a prometheus gauge. Used in the Appservice MjolnirManager.
|
||||
*
|
||||
* The ts-ignore is mandatory since we access a private method due to lack of a public one.
|
||||
*
|
||||
* See https://github.com/Gnuxie/Draupnir/pull/70#discussion_r1299188922
|
||||
*
|
||||
* @param gauge The Gauge to be modified
|
||||
* @param status The status value that should be modified
|
||||
* @param uuid The UUID of the instance. (Usually the localPart)
|
||||
*/
|
||||
export function decrementGaugeValue(gauge: Gauge<"status" | "uuid">, status: "offline" | "disabled" | "online", uuid: string) {
|
||||
// @ts-ignore
|
||||
if (gauge._getValue({ status: status, uuid: uuid })) {
|
||||
gauge.dec({ status: status, uuid: uuid });
|
||||
}
|
||||
}
|
||||
|
||||
export function isTrueJoinEvent(event: any): boolean {
|
||||
const membership = event['content']['membership'] || 'join';
|
||||
let prevMembership = "leave";
|
||||
|
||||
@@ -1609,22 +1609,6 @@ bluebird@^3.5.0:
|
||||
resolved "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz"
|
||||
integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==
|
||||
|
||||
body-parser@1.19.2:
|
||||
version "1.19.2"
|
||||
resolved "https://registry.npmjs.org/body-parser/-/body-parser-1.19.2.tgz"
|
||||
integrity sha512-SAAwOxgoCKMGs9uUAUFHygfLAyaniaoun6I8mFY9pRAJL9+Kec34aU+oIjDhTycub1jozEfEwx1W1IuOYxVSFw==
|
||||
dependencies:
|
||||
bytes "3.1.2"
|
||||
content-type "~1.0.4"
|
||||
debug "2.6.9"
|
||||
depd "~1.1.2"
|
||||
http-errors "1.8.1"
|
||||
iconv-lite "0.4.24"
|
||||
on-finished "~2.3.0"
|
||||
qs "6.9.7"
|
||||
raw-body "2.4.3"
|
||||
type-is "~1.6.18"
|
||||
|
||||
body-parser@1.20.0:
|
||||
version "1.20.0"
|
||||
resolved "https://registry.npmjs.org/body-parser/-/body-parser-1.20.0.tgz"
|
||||
@@ -1888,16 +1872,16 @@ cookie-signature@1.0.6:
|
||||
resolved "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz"
|
||||
integrity sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==
|
||||
|
||||
cookie@0.4.2, cookie@^0.4.1:
|
||||
version "0.4.2"
|
||||
resolved "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz"
|
||||
integrity sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==
|
||||
|
||||
cookie@0.5.0:
|
||||
version "0.5.0"
|
||||
resolved "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz"
|
||||
integrity sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==
|
||||
|
||||
cookie@^0.4.1:
|
||||
version "0.4.2"
|
||||
resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.2.tgz#0e41f24de5ecf317947c82fc789e06a884824432"
|
||||
integrity sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==
|
||||
|
||||
core-util-is@1.0.2:
|
||||
version "1.0.2"
|
||||
resolved "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz"
|
||||
@@ -1994,21 +1978,11 @@ depd@2.0.0, depd@~2.0.0:
|
||||
resolved "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz"
|
||||
integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==
|
||||
|
||||
depd@~1.1.2:
|
||||
version "1.1.2"
|
||||
resolved "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz"
|
||||
integrity sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==
|
||||
|
||||
destroy@1.2.0:
|
||||
version "1.2.0"
|
||||
resolved "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz"
|
||||
integrity sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==
|
||||
|
||||
destroy@~1.0.4:
|
||||
version "1.0.4"
|
||||
resolved "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz"
|
||||
integrity sha512-3NdhDuEXnfun/z7x9GOElY49LoqVHoGScmOKwmxhsS8N5Y+Z8KyPPDnaSzqWgYt/ji4mqwfTS34Htrk0zPIXVg==
|
||||
|
||||
diff-sequences@^27.0.6:
|
||||
version "27.5.1"
|
||||
resolved "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz"
|
||||
@@ -2314,43 +2288,7 @@ express-rate-limit@^6.7.0:
|
||||
resolved "https://registry.npmjs.org/express-rate-limit/-/express-rate-limit-6.7.0.tgz"
|
||||
integrity sha512-vhwIdRoqcYB/72TK3tRZI+0ttS8Ytrk24GfmsxDXK9o9IhHNO5bXRiXQSExPQ4GbaE5tvIS7j1SGrxsuWs+sGA==
|
||||
|
||||
express@^4.17:
|
||||
version "4.17.3"
|
||||
resolved "https://registry.npmjs.org/express/-/express-4.17.3.tgz"
|
||||
integrity sha512-yuSQpz5I+Ch7gFrPCk4/c+dIBKlQUxtgwqzph132bsT6qhuzss6I8cLJQz7B3rFblzd6wtcI0ZbGltH/C4LjUg==
|
||||
dependencies:
|
||||
accepts "~1.3.8"
|
||||
array-flatten "1.1.1"
|
||||
body-parser "1.19.2"
|
||||
content-disposition "0.5.4"
|
||||
content-type "~1.0.4"
|
||||
cookie "0.4.2"
|
||||
cookie-signature "1.0.6"
|
||||
debug "2.6.9"
|
||||
depd "~1.1.2"
|
||||
encodeurl "~1.0.2"
|
||||
escape-html "~1.0.3"
|
||||
etag "~1.8.1"
|
||||
finalhandler "~1.1.2"
|
||||
fresh "0.5.2"
|
||||
merge-descriptors "1.0.1"
|
||||
methods "~1.1.2"
|
||||
on-finished "~2.3.0"
|
||||
parseurl "~1.3.3"
|
||||
path-to-regexp "0.1.7"
|
||||
proxy-addr "~2.0.7"
|
||||
qs "6.9.7"
|
||||
range-parser "~1.2.1"
|
||||
safe-buffer "5.2.1"
|
||||
send "0.17.2"
|
||||
serve-static "1.14.2"
|
||||
setprototypeof "1.2.0"
|
||||
statuses "~1.5.0"
|
||||
type-is "~1.6.18"
|
||||
utils-merge "1.0.1"
|
||||
vary "~1.1.2"
|
||||
|
||||
express@^4.18.1:
|
||||
express@^4.17, express@^4.18.1:
|
||||
version "4.18.1"
|
||||
resolved "https://registry.npmjs.org/express/-/express-4.18.1.tgz"
|
||||
integrity sha512-zZBcOX9TfehHQhtupq57OF8lFZ3UZi08Y97dwFCkD8p9d/d2Y3M+ykKcwaMDEL+4qyUolgBDX6AblpR3fL212Q==
|
||||
@@ -2456,19 +2394,6 @@ finalhandler@1.2.0:
|
||||
statuses "2.0.1"
|
||||
unpipe "~1.0.0"
|
||||
|
||||
finalhandler@~1.1.2:
|
||||
version "1.1.2"
|
||||
resolved "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz"
|
||||
integrity sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==
|
||||
dependencies:
|
||||
debug "2.6.9"
|
||||
encodeurl "~1.0.2"
|
||||
escape-html "~1.0.3"
|
||||
on-finished "~2.3.0"
|
||||
parseurl "~1.3.3"
|
||||
statuses "~1.5.0"
|
||||
unpipe "~1.0.0"
|
||||
|
||||
find-up@5.0.0:
|
||||
version "5.0.0"
|
||||
resolved "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz"
|
||||
@@ -2791,17 +2716,6 @@ htmlparser2@^6.0.0, htmlparser2@^6.1.0:
|
||||
domutils "^2.5.2"
|
||||
entities "^2.0.0"
|
||||
|
||||
http-errors@1.8.1:
|
||||
version "1.8.1"
|
||||
resolved "https://registry.npmjs.org/http-errors/-/http-errors-1.8.1.tgz"
|
||||
integrity sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==
|
||||
dependencies:
|
||||
depd "~1.1.2"
|
||||
inherits "2.0.4"
|
||||
setprototypeof "1.2.0"
|
||||
statuses ">= 1.5.0 < 2"
|
||||
toidentifier "1.0.1"
|
||||
|
||||
http-errors@2.0.0:
|
||||
version "2.0.0"
|
||||
resolved "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz"
|
||||
@@ -3363,7 +3277,7 @@ make-error@^1.1.1:
|
||||
|
||||
matrix-appservice-bridge@8.1.2:
|
||||
version "8.1.2"
|
||||
resolved "https://registry.npmjs.org/matrix-appservice-bridge/-/matrix-appservice-bridge-8.1.2.tgz"
|
||||
resolved "https://registry.yarnpkg.com/matrix-appservice-bridge/-/matrix-appservice-bridge-8.1.2.tgz#30953a4599533fe61a0c37bd5500b654cd236e30"
|
||||
integrity sha512-OTQVEuYgsnlg7fBFASCaiYHgwi5+I/+vxwjOmR4y9n5ESKXoqI465bN+6zvW8MazdNfBl6NgZVWSm4DZohz8Zw==
|
||||
dependencies:
|
||||
"@alloc/quick-lru" "^5.2.0"
|
||||
@@ -3388,9 +3302,9 @@ matrix-appservice-bridge@8.1.2:
|
||||
winston "^3.3.3"
|
||||
winston-daily-rotate-file "^4.5.1"
|
||||
|
||||
matrix-appservice@^1.1.0, "matrix-appservice@https://github.com/MTRNord/matrix-appservice-node.git#78e0cf8f025cea22236c6c12553794bc6dd1bb07":
|
||||
matrix-appservice@^1.1.0, "matrix-appservice@https://github.com/MTRNord/matrix-appservice-node.git#669af793863f12429f30854dd104673794884abe":
|
||||
version "2.0.0"
|
||||
resolved "https://github.com/MTRNord/matrix-appservice-node.git#78e0cf8f025cea22236c6c12553794bc6dd1bb07"
|
||||
resolved "https://github.com/MTRNord/matrix-appservice-node.git#669af793863f12429f30854dd104673794884abe"
|
||||
dependencies:
|
||||
"@opentelemetry/api" "^1.4.1"
|
||||
"@opentelemetry/shim-opentracing" "^1.15.2"
|
||||
@@ -4037,11 +3951,6 @@ qs@6.11.0:
|
||||
dependencies:
|
||||
side-channel "^1.0.4"
|
||||
|
||||
qs@6.9.7:
|
||||
version "6.9.7"
|
||||
resolved "https://registry.npmjs.org/qs/-/qs-6.9.7.tgz"
|
||||
integrity sha512-IhMFgUmuNpyRfxA90umL7ByLlgRXu6tIfKPpF5TmcfRLlLCckfP/g3IQmju6jjpu+Hh8rA+2p6A27ZSPOOHdKw==
|
||||
|
||||
qs@~6.5.2:
|
||||
version "6.5.3"
|
||||
resolved "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz"
|
||||
@@ -4072,16 +3981,6 @@ range-parser@~1.2.1:
|
||||
resolved "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz"
|
||||
integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==
|
||||
|
||||
raw-body@2.4.3:
|
||||
version "2.4.3"
|
||||
resolved "https://registry.npmjs.org/raw-body/-/raw-body-2.4.3.tgz"
|
||||
integrity sha512-UlTNLIcu0uzb4D2f4WltY6cVjLi+/jEN4lgEUj3E04tpMDpUlkBo/eSn6zou9hum2VMNpCCUone0O0WeJim07g==
|
||||
dependencies:
|
||||
bytes "3.1.2"
|
||||
http-errors "1.8.1"
|
||||
iconv-lite "0.4.24"
|
||||
unpipe "1.0.0"
|
||||
|
||||
raw-body@2.5.1:
|
||||
version "2.5.1"
|
||||
resolved "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz"
|
||||
@@ -4264,25 +4163,6 @@ semver@^7.2.1, semver@^7.5.1, semver@^7.5.4:
|
||||
dependencies:
|
||||
lru-cache "^6.0.0"
|
||||
|
||||
send@0.17.2:
|
||||
version "0.17.2"
|
||||
resolved "https://registry.npmjs.org/send/-/send-0.17.2.tgz"
|
||||
integrity sha512-UJYB6wFSJE3G00nEivR5rgWp8c2xXvJ3OPWPhmuteU0IKj8nKbG3DrjiOmLwpnHGYWAVwA69zmTm++YG0Hmwww==
|
||||
dependencies:
|
||||
debug "2.6.9"
|
||||
depd "~1.1.2"
|
||||
destroy "~1.0.4"
|
||||
encodeurl "~1.0.2"
|
||||
escape-html "~1.0.3"
|
||||
etag "~1.8.1"
|
||||
fresh "0.5.2"
|
||||
http-errors "1.8.1"
|
||||
mime "1.6.0"
|
||||
ms "2.1.3"
|
||||
on-finished "~2.3.0"
|
||||
range-parser "~1.2.1"
|
||||
statuses "~1.5.0"
|
||||
|
||||
send@0.18.0:
|
||||
version "0.18.0"
|
||||
resolved "https://registry.npmjs.org/send/-/send-0.18.0.tgz"
|
||||
@@ -4309,16 +4189,6 @@ serialize-javascript@6.0.0:
|
||||
dependencies:
|
||||
randombytes "^2.1.0"
|
||||
|
||||
serve-static@1.14.2:
|
||||
version "1.14.2"
|
||||
resolved "https://registry.npmjs.org/serve-static/-/serve-static-1.14.2.tgz"
|
||||
integrity sha512-+TMNA9AFxUEGuC0z2mevogSnn9MXKb4fa7ngeRMJaaGv8vTwnIEkKi+QGvPt33HSnf8pRS+WGM0EbMtCJLKMBQ==
|
||||
dependencies:
|
||||
encodeurl "~1.0.2"
|
||||
escape-html "~1.0.3"
|
||||
parseurl "~1.3.3"
|
||||
send "0.17.2"
|
||||
|
||||
serve-static@1.15.0:
|
||||
version "1.15.0"
|
||||
resolved "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz"
|
||||
@@ -4456,11 +4326,6 @@ statuses@2.0.1:
|
||||
resolved "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz"
|
||||
integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==
|
||||
|
||||
"statuses@>= 1.5.0 < 2", statuses@~1.5.0:
|
||||
version "1.5.0"
|
||||
resolved "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz"
|
||||
integrity sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==
|
||||
|
||||
stealthy-require@^1.1.1:
|
||||
version "1.1.1"
|
||||
resolved "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz"
|
||||
|
||||
Reference in New Issue
Block a user