diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 8424f939..f814c9b2 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -47,3 +47,6 @@ updates: - dependency-name: "openid-client" versions: - ">=6.0.0" # this is a complete rewrite. We have to check if it is compatible. + - dependency-name: "commander" + versions: + - ">=14.0.0" # this version requires nodes >=20. So we should only upgrade when we change the livechat Peertube required version. diff --git a/CHANGELOG.md b/CHANGELOG.md index 7744cf9e..1d9715b8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,42 @@ # Changelog +## 14.0.1 + +### Minor changes and fixes + +* Translations updates. +* Fix #736: wrong format in Peertube accounts API result can prevent users to log in chat. + +## 14.0.0 + +**Important note**: if you got an error on updating the plugin, please try to restart Peertube and install it again. + +### Breaking changes + +The livechat v13 introduced a new library to handle regular expressions in forbidden words, to avoid +[ReDOS](https://en.wikipedia.org/wiki/ReDoS) attacks. +Unfortunately, this library was not able to install itself properly on some systems, and some admins were not able +to install the livechat plugin. + +That's why we have disabled this library in v14, and introduce a new settings to enable regexp in forbidden words. +By default this settings is disabled, and your users won't be able to use regexp in their forbidden words. + +The risk by enabling this feature is that a malicious user could cause a denial of service for the chat bot, by using a +special crafted regular expression in their channel options, and sending a special crafter message in one of their +rooms. If you trust your users (those who have rights to livestream), you can enable the settings. Otherwise it is not +recommanded. See the documentation for more informations. + +If you had users using regular expressions, those "forbidden words" list are disabled when updating the livechat plugin. +To restore them, you must first enable the "Enable regular expressions for channel's forbidden words" settings, then +your users have to go to their channel's chatroom options and enable them again. + +### Minor changes and fixes + +* Channel's forbidden words: new "enable" column. +* New settings to enable regular expressions for channel forbidden words. +* "Channel advanced configuration" settings: removing the "experimental feature" label. +* NPM packages security fixes. + ## 13.0.0 **Important note**: if you got an error on updating the plugin, please try to restart Peertube and install it again. diff --git a/client/@types/global.d.ts b/client/@types/global.d.ts index 2e93d9c7..57eec3c0 100644 --- a/client/@types/global.d.ts +++ b/client/@types/global.d.ts @@ -139,7 +139,7 @@ declare const LOC_LIVECHAT_CONFIGURATION_CHANNEL_ANONYMIZE_MODERATION_DESC: stri declare const LOC_PROSODY_FIREWALL_CONFIGURATION: string declare const LOC_PROSODY_FIREWALL_CONFIGURATION_HELP: string declare const LOC_PROSODY_FIREWALL_DISABLED_WARNING: string -declare const LOC_PROSODY_FIREWALL_FILE_ENABLED: string +declare const LOC_ENABLED: string declare const LOC_PROSODY_FIREWALL_NAME: string declare const LOC_PROSODY_FIREWALL_NAME_DESC: string declare const LOC_PROSODY_FIREWALL_CONTENT: string diff --git a/client/common/admin/firewall/templates/admin-firewall.ts b/client/common/admin/firewall/templates/admin-firewall.ts index 548777c8..e561e38f 100644 --- a/client/common/admin/firewall/templates/admin-firewall.ts +++ b/client/common/admin/firewall/templates/admin-firewall.ts @@ -15,7 +15,7 @@ import { html } from 'lit' export function tplAdminFirewall (el: AdminFirewallElement): TemplateResult { const tableHeaderList: DynamicFormHeader = { enabled: { - colName: ptTr(LOC_PROSODY_FIREWALL_FILE_ENABLED) + colName: ptTr(LOC_ENABLED) }, name: { colName: ptTr(LOC_PROSODY_FIREWALL_NAME), diff --git a/client/common/configuration/elements/channel-configuration.ts b/client/common/configuration/elements/channel-configuration.ts index 1a428445..4c5ed5ea 100644 --- a/client/common/configuration/elements/channel-configuration.ts +++ b/client/common/configuration/elements/channel-configuration.ts @@ -25,6 +25,9 @@ export class ChannelConfigurationElement extends LivechatElement { @state() public channelConfiguration?: ChannelConfiguration + @property({ attribute: false }) + public enableUsersRegexp?: boolean + @provide({ context: channelDetailsServiceContext }) private _channelDetailsService?: ChannelDetailsService @@ -46,6 +49,7 @@ export class ChannelConfigurationElement extends LivechatElement { task: async () => { this._channelDetailsService = new ChannelDetailsService(this.ptOptions) this.channelConfiguration = await this._channelDetailsService.fetchConfiguration(this.channelId ?? 0) + this.enableUsersRegexp = !!(await this.ptOptions.peertubeHelpers.getSettings())['enable-users-regexp'] this.actionDisabled = false // in case of reset }, args: () => [] @@ -85,8 +89,10 @@ export class ChannelConfigurationElement extends LivechatElement { event?.preventDefault() if (this._channelDetailsService && this.channelConfiguration) { this.actionDisabled = true - this._channelDetailsService.saveOptions(this.channelConfiguration.channel.id, - this.channelConfiguration.configuration) + this._channelDetailsService.saveOptions( + this.channelConfiguration.channel.id, + this.channelConfiguration.configuration, + this.enableUsersRegexp ?? false) .then(() => { this.validationError = undefined this.ptTranslate(LOC_SUCCESSFULLY_SAVED).then((msg) => { diff --git a/client/common/configuration/elements/templates/channel-configuration.ts b/client/common/configuration/elements/templates/channel-configuration.ts index 2b3e206b..4e2ef94c 100644 --- a/client/common/configuration/elements/templates/channel-configuration.ts +++ b/client/common/configuration/elements/templates/channel-configuration.ts @@ -15,13 +15,22 @@ import { noDuplicateMaxDelay, forbidSpecialCharsMaxTolerance } from 'shared/lib/ export function tplChannelConfiguration (el: ChannelConfigurationElement): TemplateResult { const tableHeaderList: Record = { forbiddenWords: { + enabled: { + colName: ptTr(LOC_ENABLED) + }, entries: { colName: ptTr(LOC_LIVECHAT_CONFIGURATION_CHANNEL_FORBIDDEN_WORDS_LABEL) }, - regexp: { - colName: ptTr(LOC_LIVECHAT_CONFIGURATION_CHANNEL_FORBIDDEN_WORDS_REGEXP_LABEL), - description: ptTr(LOC_LIVECHAT_CONFIGURATION_CHANNEL_FORBIDDEN_WORDS_REGEXP_DESC) - }, + ...( + el.enableUsersRegexp + ? { + regexp: { + colName: ptTr(LOC_LIVECHAT_CONFIGURATION_CHANNEL_FORBIDDEN_WORDS_REGEXP_LABEL), + description: ptTr(LOC_LIVECHAT_CONFIGURATION_CHANNEL_FORBIDDEN_WORDS_REGEXP_DESC) + } + } + : {} + ), applyToModerators: { colName: ptTr(LOC_LIVECHAT_CONFIGURATION_APPLYTOMODERATORS_LABEL), description: ptTr(LOC_LIVECHAT_CONFIGURATION_APPLYTOMODERATORS_DESC) @@ -62,15 +71,25 @@ export function tplChannelConfiguration (el: ChannelConfigurationElement): Templ } const tableSchema: Record = { forbiddenWords: { + enabled: { + inputType: 'checkbox', + default: true + }, entries: { inputType: 'tags', default: [], separator: '\n' }, - regexp: { - inputType: 'checkbox', - default: false - }, + ...( + el.enableUsersRegexp + ? { + regexp: { + inputType: 'checkbox', + default: false + } + } + : {} + ), applyToModerators: { inputType: 'checkbox', default: false diff --git a/client/common/configuration/services/channel-details.ts b/client/common/configuration/services/channel-details.ts index f19c791f..9a64bcfd 100644 --- a/client/common/configuration/services/channel-details.ts +++ b/client/common/configuration/services/channel-details.ts @@ -151,9 +151,18 @@ export class ChannelDetailsService { return true } - frontToBack = (channelConfigurationOptions: ChannelConfigurationOptions): ChannelConfigurationOptions => { - // // This is a dirty hack, because backend wants seconds for botConf.quotes.delay, and front wants minutes. + frontToBack = ( + channelConfigurationOptions: ChannelConfigurationOptions, + enableUsersRegexp: boolean + ): ChannelConfigurationOptions => { const c = JSON.parse(JSON.stringify(channelConfigurationOptions)) as ChannelConfigurationOptions // clone + + if (!enableUsersRegexp) { + c.bot?.forbiddenWords.forEach(fw => { + fw.regexp = false // force to false + }) + } + // This is a dirty hack, because backend wants seconds for botConf.quotes.delay, and front wants minutes. c.bot?.quotes.forEach(q => { if (typeof q.delay === 'number') { q.delay = Math.round(q.delay * 60) @@ -175,7 +184,8 @@ export class ChannelDetailsService { } saveOptions = async (channelId: number, - channelConfigurationOptions: ChannelConfigurationOptions): Promise => { + channelConfigurationOptions: ChannelConfigurationOptions, + enableUsersRegexp: boolean): Promise => { if (!await this.validateOptions(channelConfigurationOptions)) { throw new Error('Invalid form data') } @@ -186,7 +196,7 @@ export class ChannelDetailsService { method: 'POST', headers: this._headers, body: JSON.stringify( - this.frontToBack(channelConfigurationOptions) + this.frontToBack(channelConfigurationOptions, enableUsersRegexp) ) } ) diff --git a/languages/ar.yml b/languages/ar.yml index 8fa6d2e5..fe9f21f9 100644 --- a/languages/ar.yml +++ b/languages/ar.yml @@ -77,7 +77,7 @@ action_import: استيراد action_export: تصدير token_date: التاريخ poll_question: سؤال -prosody_firewall_file_enabled: مفعّل +enabled: مفعّل prosody_firewall_name: الاسم invalid_value: القيمة غير صالحة. task_delete: حذف المهمة diff --git a/languages/ca.yml b/languages/ca.yml index ef17ec7b..c68633c8 100644 --- a/languages/ca.yml +++ b/languages/ca.yml @@ -565,7 +565,7 @@ poll_vote_ok: S'ha tingut en compte el vostre vot, els comptadors s'actualitzara en breu. moderator_note_original_nick: Àlies de la participant en el moment de la creació de la nota -prosody_firewall_file_enabled: Activat +enabled: Activat prosody_firewall_name: Nom prosody_firewall_name_desc: "Només pot contenir caràcters alfanumèrics, guions baixos i guions.\nEls scripts es carregaran per ordre alfabètic.\n" @@ -578,3 +578,11 @@ converse_theme_warning_description: "\n" back_to_last_msg: Tornar a l'últim missatge +enable_users_regexp: Habilitar les expressions regulars per a les paraules prohibides + de les sales +enable_users_regexp_description: "Quan s'activa aquesta funció les streamers podran + utilitzar expressions regulars en configurar el bot de xat.\nNo hauríeu d'activar + aquesta funció si no confieu en els vostres usuari(e)s (qui poden crear sales de + xat, és a dir: qui poden crear directes).\nUna persona maliciosa podria crear una + expressió regular especialment dissenyada i provocar una denegació de servei del + bot.\n" diff --git a/languages/cs.yml b/languages/cs.yml index a5cbfc49..b9a4493f 100644 --- a/languages/cs.yml +++ b/languages/cs.yml @@ -488,7 +488,7 @@ prosody_firewall_configuration: Konfigurace mod_firewall Prosody prosody_firewall_disabled_warning: "Varování: mod_firewall je zakázán v nastavení pluginu, pokud chcete, aby byla tato konfigurace zohledněna, musíte ji povolit.\n" -prosody_firewall_file_enabled: Povoleno +enabled: Povoleno prosody_firewall_name: Název prosody_firewall_name_desc: "Může obsahovat pouze: alfanumerické znaky, podtržítka a pomlčky.\nSkripty se načítají v abecedním pořadí.\n" @@ -549,3 +549,9 @@ converse_theme_warning_description: "\n" back_to_last_msg: Přejít zpět na poslední zprávu +enable_users_regexp_description: "Po povolení této funkce budou moci streameři používat + regulární výrazy při nastavování chatového bota.\nTuto možnost nepovolujte, pokud + nedůvěřujete svým uživatelům (těm, kteří mohou vytvářet chatovací místnosti, jinými + slovy: ti, kteří mohou vytvářet živé přenosy).\nZlomyslný uživatel by mohl vytvořit + speciálně upravený regulární výraz a způsobit botovi odmítnutí služby.\n" +enable_users_regexp: Povolit regulární výrazy pro zakázaná slova v chatovacích místnostech diff --git a/languages/de.yml b/languages/de.yml index 88cbab4c..0eb0923b 100644 --- a/languages/de.yml +++ b/languages/de.yml @@ -588,7 +588,7 @@ prosody_firewall_disabled_warning: "Warnung: mod_firewall ist in den livechat Plugin-Einstellungen deaktiviert, du musst es aktivieren, wenn du willst, dass diese Konfiguration beachtet wird.\n" -prosody_firewall_file_enabled: Aktiviert +enabled: Aktiviert prosody_firewall_name: Name prosody_firewall_name_desc: "Darf nur folgende Zeichen enthalten: alphanumerische Zeichen, Unterstriche und Bindestriche.\nDie Skripte werden in alphabetischer Reihenfolge @@ -642,3 +642,10 @@ converse_theme_warning_description: "\n" back_to_last_msg: Zur letzten Nachricht zurückkehren +enable_users_regexp_description: "Wenn Sie diese Funktion aktivieren, können Streamer + bei der Konfiguration des Chatbots reguläre Ausdrücke verwenden.\nSie sollten diese + Funktion nicht aktivieren, wenn Sie Ihren Nutzern nicht vertrauen (d. h. denjenigen, + die Chaträume erstellen können, mit anderen Worten: denjenigen, die Live-Streams + erstellen können).\nEin böswilliger Benutzer könnte einen speziell gestalteten regulären + Ausdruck erstellen und einen Denial-of-Service (DoS) des Bots verursachen.\n" +enable_users_regexp: Aktivieren regulärer Ausdrücke für verbotene Wörter in Chaträumen diff --git a/languages/en.yml b/languages/en.yml index 10a1a285..651f1e88 100644 --- a/languages/en.yml +++ b/languages/en.yml @@ -628,7 +628,7 @@ prosody_firewall_configuration_help: | Don't hesitate to share your configurations with the community (for example by adding some examples in the plugin documentation). prosody_firewall_disabled_warning: | Warning: mod_firewall is disabled in the livechat plugin settings, you have to enable it if you want this configuration to be taken into account. -prosody_firewall_file_enabled: Enabled +enabled: Enabled prosody_firewall_name: Name prosody_firewall_name_desc: | Can only contain: alphanumerical characters, underscores and hyphens. @@ -682,3 +682,8 @@ converse_theme_warning_description: | Otherwise some user may experience issues depending on the Peertube theme they use. back_to_last_msg: Go back to last message +enable_users_regexp: Enable regular expressions for chatrooms' forbidden words +enable_users_regexp_description: | + When enabling this feature, streamers will be able to use Regular Expressions when configuring the chat bot. + You should not enable this feature if you don't trust your users (those who can create chat rooms, in other words: those who can create live streams). + A malicious user could create a specially crafted regular expression, and cause a bot denial of service. diff --git a/languages/fr.yml b/languages/fr.yml index dff63446..1a3dde9c 100644 --- a/languages/fr.yml +++ b/languages/fr.yml @@ -611,7 +611,7 @@ prosody_firewall_disabled_warning: "Attention : mod_firewall est désactivé d paramètres du plugin livechat , vous devez l'activer si vous voulez que cette configuration soit prise en compte.\n" -prosody_firewall_file_enabled: Activé +enabled: Activé prosody_firewall_name: Nom prosody_firewall_name_desc: "Ne peut contenir que des caractères alphanumériques, des traits de soulignement et des traits d'union.\nLes scripts seront chargés par @@ -662,3 +662,12 @@ converse_theme_warning_description: "\n" back_to_last_msg: Retourner au dernier message +enable_users_regexp_description: "En activant cette fonctionnalité, les streameur⋅euses + pourront utiliser des expressions régulières lors de la configuration du tchat bot.\n + Vous ne devriez pas activer cette fonctionnalité si vous ne faites pas confiance + à vos utilisateur⋅rices (celleux qui peuvent créer des salons de discussion, en + d'autres termes : celeux qui peuvent créer des directs).\nUn⋅e utilisateur⋅rice + malveillant⋅e pourrait créer une expression régulière spécialement forgée et provoquer + un déni de service du bot.\n" +enable_users_regexp: Activer les expressions régulières pour les mots interdits des + salons de discussion diff --git a/languages/hr.yml b/languages/hr.yml index c5f35dc9..99cb9212 100644 --- a/languages/hr.yml +++ b/languages/hr.yml @@ -415,7 +415,7 @@ prosody_firewall_configuration_help: "Ovdje možeš konfigurirati modul Prosody U nastavku možeš stvoriti više konfiguracijskih datoteka i promijeniti njihov redoslijed.\n Nemoj se ustručavati dijeliti svoje konfiguracije sa zajednicom (na primjer dodavanjem nekih primjera u dokumentaciju dodatka).\n" -prosody_firewall_file_enabled: Aktivirano +enabled: Aktivirano prosody_firewall_name: Ime prosody_firewall_content: Sadržaj datoteke share_chat_dock: Dock diff --git a/languages/ja.yml b/languages/ja.yml index 979a2dfb..1689021c 100644 --- a/languages/ja.yml +++ b/languages/ja.yml @@ -328,7 +328,7 @@ message_search_original_nick: メッセージ送信時の参加者のニック prosody_firewall_label: Prosody mod_firewallを有効にする prosody_firewall_configure_button: "mod_firewallを設定\n" -prosody_firewall_file_enabled: 有効 +enabled: 有効 prosody_firewall_name: 名前 prosody_firewall_name_desc: "次の値のみ利用可能: 英数字、アンダーバー、ハイフン。\nスクリプトは、英字順で読み込まれます。\n" prosody_firewall_content: ファイルコンテンツ diff --git a/languages/pt-BR.yml b/languages/pt-BR.yml index c122a2be..e6728107 100644 --- a/languages/pt-BR.yml +++ b/languages/pt-BR.yml @@ -631,7 +631,7 @@ prosody_firewall_configuration_help: | Não hesite em compartilhar suas configurações com a comunidade (por exemplo, adicionando alguns exemplos na documentação do plugin). prosody_firewall_disabled_warning: | Aviso: o mod_firewall está desabilitado nas configurações do plugin <a href="/admin/plugins/show/peertube-plugin-livechat" target="_blank">do livechat</a>, você precisa habilitá-lo se quiser que essa configuração seja levada em consideração. -prosody_firewall_file_enabled: 'Habilitado' +enabled: 'Habilitado' prosody_firewall_name: 'Nome' prosody_firewall_name_desc: | Pode conter apenas: caracteres alfanuméricos, sublinhaso e hífens. diff --git a/languages/zh-Hant.yml b/languages/zh-Hant.yml index 04d9c9bd..287f5e3f 100644 --- a/languages/zh-Hant.yml +++ b/languages/zh-Hant.yml @@ -99,7 +99,7 @@ livechat_configuration_channel_slow_mode_label: 限速模式 livechat_configuration_channel_slow_mode_desc: "限速模式預設值:\n
    \n
  • 0:停用限速模式
  • \n
  • 任何正整數:使用者可以每 X 秒發送一條訊息(審核者不受限制)
  • \n
\n" prosody_firewall_name: 名字 -prosody_firewall_file_enabled: 啟用 +enabled: 啟用 livechat_configuration_channel_emojis_desc: "您可以為您的頻道組態自訂表情符號。\n這些表情符號將在表情符號選擇器中提供。\n\ 使用者也可以透過其短名稱來使用它們(例如透過編寫“:shortname:”)。\n" livechat_emojis_shortname: 簡稱 diff --git a/package-lock.json b/package-lock.json index 2957e776..d8dd5548 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "peertube-plugin-livechat", - "version": "13.0.0", + "version": "14.0.1", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "peertube-plugin-livechat", - "version": "13.0.0", + "version": "14.0.1", "license": "AGPL-3.0", "dependencies": { "@xmpp/jid": "^0.13.2", @@ -17,10 +17,9 @@ "http-proxy": "^1.18.1", "log-rotate": "^0.2.8", "openid-client": "^5.7.1", - "re2": "^1.22.1", "short-uuid": "^5.2.0", "validate-color": "^2.2.4", - "xmppjs-chat-bot": "^0.6.0" + "xmppjs-chat-bot": "^0.7.0" }, "devDependencies": { "@eslint/js": "^9.28.0", @@ -38,7 +37,6 @@ "@types/got": "^9.6.12", "@types/http-proxy": "^1.17.16", "@types/node": "^16.18.126", - "@types/re2": "^1.10.0", "@types/winston": "^2.4.4", "@types/xmpp__jid": "^1.3.5", "@typescript-eslint/parser": "^8.4.0", @@ -2594,114 +2592,6 @@ "integrity": "sha512-Sx1pU8EM64o2BrqNpEO1CNLtKQwyhuXuqyfH7oGKCk+1a33d2r5saW8zNwm3j6BTExtjrv2BxTgzzkMwts6vGg==", "dev": true }, - "node_modules/@isaacs/cliui": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", - "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", - "license": "ISC", - "dependencies": { - "string-width": "^5.1.2", - "string-width-cjs": "npm:string-width@^4.2.0", - "strip-ansi": "^7.0.1", - "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", - "wrap-ansi": "^8.1.0", - "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/@isaacs/cliui/node_modules/ansi-regex": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", - "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" - } - }, - "node_modules/@isaacs/cliui/node_modules/ansi-styles": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", - "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@isaacs/cliui/node_modules/emoji-regex": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", - "license": "MIT" - }, - "node_modules/@isaacs/cliui/node_modules/string-width": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", - "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", - "license": "MIT", - "dependencies": { - "eastasianwidth": "^0.2.0", - "emoji-regex": "^9.2.2", - "strip-ansi": "^7.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@isaacs/cliui/node_modules/strip-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", - "license": "MIT", - "dependencies": { - "ansi-regex": "^6.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" - } - }, - "node_modules/@isaacs/cliui/node_modules/wrap-ansi": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", - "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", - "license": "MIT", - "dependencies": { - "ansi-styles": "^6.1.0", - "string-width": "^5.0.1", - "strip-ansi": "^7.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/@isaacs/fs-minipass": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@isaacs/fs-minipass/-/fs-minipass-4.0.1.tgz", - "integrity": "sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w==", - "license": "ISC", - "dependencies": { - "minipass": "^7.0.4" - }, - "engines": { - "node": ">=18.0.0" - } - }, "node_modules/@jridgewell/gen-mapping": { "version": "0.3.5", "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", @@ -2942,52 +2832,6 @@ "node": ">= 8" } }, - "node_modules/@npmcli/agent": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@npmcli/agent/-/agent-3.0.0.tgz", - "integrity": "sha512-S79NdEgDQd/NGCay6TCoVzXSj74skRZIKJcpJjC5lOq34SZzyI6MqtiiWoiVWoVrTcGjNeC4ipbh1VIHlpfF5Q==", - "license": "ISC", - "dependencies": { - "agent-base": "^7.1.0", - "http-proxy-agent": "^7.0.0", - "https-proxy-agent": "^7.0.1", - "lru-cache": "^10.0.1", - "socks-proxy-agent": "^8.0.3" - }, - "engines": { - "node": "^18.17.0 || >=20.5.0" - } - }, - "node_modules/@npmcli/agent/node_modules/lru-cache": { - "version": "10.4.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", - "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", - "license": "ISC" - }, - "node_modules/@npmcli/fs": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-4.0.0.tgz", - "integrity": "sha512-/xGlezI6xfGO9NwuJlnwz/K14qD1kCSAGtacBHnGzeAIuJGazcp45KP5NuyARXoKb7cwulAGWVsbeSxdG/cb0Q==", - "license": "ISC", - "dependencies": { - "semver": "^7.3.5" - }, - "engines": { - "node": "^18.17.0 || >=20.5.0" - } - }, - "node_modules/@npmcli/fs/node_modules/semver": { - "version": "7.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", - "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/@opentelemetry/api": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/@opentelemetry/api/-/api-1.4.1.tgz", @@ -3442,16 +3286,6 @@ "node": ">=8" } }, - "node_modules/@pkgjs/parseargs": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", - "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", - "license": "MIT", - "optional": true, - "engines": { - "node": ">=14" - } - }, "node_modules/@rtsao/scc": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@rtsao/scc/-/scc-1.1.0.tgz", @@ -4506,13 +4340,6 @@ "integrity": "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==", "dev": true }, - "node_modules/@types/re2": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/@types/re2/-/re2-1.10.0.tgz", - "integrity": "sha512-JEmh/bosGCEQiZNUn5soUiFTaCC/z4WeYgDIWN6gv9bMXEJlo7nl26cQ6QmrNb45KdOnvY+QUgNHSP/lE1je6w==", - "dev": true, - "license": "MIT" - }, "node_modules/@types/responselike": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/@types/responselike/-/responselike-1.0.0.tgz", @@ -4839,9 +4666,9 @@ } }, "node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", "dev": true, "license": "MIT", "dependencies": { @@ -5341,15 +5168,6 @@ "node": ">= 12.4.0" } }, - "node_modules/abbrev": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-3.0.1.tgz", - "integrity": "sha512-AO2ac6pjRB3SJmGJo+v5/aK6Omggp6fsLrs6wN9bd35ulu4cCwaAU9+7ZhXjeqHVkaHThLuzH0nZr0YpCDhygg==", - "license": "ISC", - "engines": { - "node": "^18.17.0 || >=20.5.0" - } - }, "node_modules/accepts": { "version": "1.3.8", "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", @@ -5384,15 +5202,6 @@ "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, - "node_modules/agent-base": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.3.tgz", - "integrity": "sha512-jRR5wdylq8CkOe6hei19GGZnxM6rBGwFl3Bg0YItGDimvjGtAvdZk4Pu6Cl4u4Igsws4a1fd1Vq3ezrhn4KmFw==", - "license": "MIT", - "engines": { - "node": ">= 14" - } - }, "node_modules/ajv": { "version": "6.12.6", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", @@ -5413,6 +5222,7 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, "engines": { "node": ">=8" } @@ -5802,9 +5612,10 @@ "dev": true }, "node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", + "license": "MIT", "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -5900,10 +5711,11 @@ } }, "node_modules/bullmq/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", "dev": true, + "license": "MIT", "dependencies": { "balanced-match": "^1.0.0" } @@ -5984,79 +5796,6 @@ "node": ">= 0.8" } }, - "node_modules/cacache": { - "version": "19.0.1", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-19.0.1.tgz", - "integrity": "sha512-hdsUxulXCi5STId78vRVYEtDAjq99ICAUktLTeTYsLoTE6Z8dS0c8pWNCxwdrk9YfJeobDZc2Y186hD/5ZQgFQ==", - "license": "ISC", - "dependencies": { - "@npmcli/fs": "^4.0.0", - "fs-minipass": "^3.0.0", - "glob": "^10.2.2", - "lru-cache": "^10.0.1", - "minipass": "^7.0.3", - "minipass-collect": "^2.0.1", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.4", - "p-map": "^7.0.2", - "ssri": "^12.0.0", - "tar": "^7.4.3", - "unique-filename": "^4.0.0" - }, - "engines": { - "node": "^18.17.0 || >=20.5.0" - } - }, - "node_modules/cacache/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/cacache/node_modules/glob": { - "version": "10.4.5", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", - "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", - "license": "ISC", - "dependencies": { - "foreground-child": "^3.1.0", - "jackspeak": "^3.1.2", - "minimatch": "^9.0.4", - "minipass": "^7.1.2", - "package-json-from-dist": "^1.0.0", - "path-scurry": "^1.11.1" - }, - "bin": { - "glob": "dist/esm/bin.mjs" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/cacache/node_modules/lru-cache": { - "version": "10.4.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", - "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", - "license": "ISC" - }, - "node_modules/cacache/node_modules/minimatch": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", - "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", - "license": "ISC", - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, "node_modules/cacheable": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/cacheable/-/cacheable-1.9.0.tgz", @@ -6218,15 +5957,6 @@ "fsevents": "~2.3.2" } }, - "node_modules/chownr": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-3.0.0.tgz", - "integrity": "sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==", - "license": "BlueOak-1.0.0", - "engines": { - "node": ">=18" - } - }, "node_modules/cipher-base": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", @@ -6963,12 +6693,6 @@ "integrity": "sha512-iGCHkfUc5kFekGiqhe8B/mdaurD+lakO9txNnTvKtA6PISrw86LgqHvRzWYPyoE2Ph5aMIrCw9/uko6XHTKCwA==", "dev": true }, - "node_modules/eastasianwidth": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", - "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", - "license": "MIT" - }, "node_modules/ee-first": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", @@ -6983,7 +6707,8 @@ "node_modules/emoji-regex": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true }, "node_modules/enabled": { "version": "2.0.0", @@ -7006,6 +6731,7 @@ "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", "license": "MIT", "optional": true, + "peer": true, "dependencies": { "iconv-lite": "^0.6.2" } @@ -7016,6 +6742,7 @@ "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", "license": "MIT", "optional": true, + "peer": true, "dependencies": { "safer-buffer": ">= 2.1.2 < 3.0.0" }, @@ -7122,16 +6849,11 @@ "version": "2.2.1", "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", + "dev": true, "engines": { "node": ">=6" } }, - "node_modules/err-code": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz", - "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==", - "license": "MIT" - }, "node_modules/error-ex": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", @@ -7680,10 +7402,11 @@ } }, "node_modules/eslint-plugin-n/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", "dev": true, + "license": "MIT", "dependencies": { "balanced-match": "^1.0.0" } @@ -8216,12 +7939,6 @@ "node": ">= 8" } }, - "node_modules/exponential-backoff": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/exponential-backoff/-/exponential-backoff-3.1.2.tgz", - "integrity": "sha512-8QxYTVXUkuy7fIIoitQkPwGonB8F3Zj8eEO8Sqg9Zv/bkI7RJAzowee4gr81Hak/dUTpA2Z7VfQgoijjPNlUZA==", - "license": "Apache-2.0" - }, "node_modules/express": { "version": "4.21.2", "resolved": "https://registry.npmjs.org/express/-/express-4.21.2.tgz", @@ -8565,93 +8282,6 @@ "is-callable": "^1.1.3" } }, - "node_modules/foreground-child": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.1.tgz", - "integrity": "sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==", - "license": "ISC", - "dependencies": { - "cross-spawn": "^7.0.6", - "signal-exit": "^4.0.1" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/foreground-child/node_modules/cross-spawn": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", - "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", - "license": "MIT", - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/foreground-child/node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/foreground-child/node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "license": "MIT", - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/foreground-child/node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/foreground-child/node_modules/signal-exit": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", - "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", - "license": "ISC", - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/foreground-child/node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "license": "ISC", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, "node_modules/form-data": { "version": "2.5.1", "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.5.1.tgz", @@ -8698,18 +8328,6 @@ "node": ">=14.14" } }, - "node_modules/fs-minipass": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-3.0.3.tgz", - "integrity": "sha512-XUBA9XClHbnJWSfBzjkm6RvPsyg3sryZt06BEQoXcF7EK/xpGaQYJgQKDJSUH5SGZ76Y7pFx1QBnXz09rU5Fbw==", - "license": "ISC", - "dependencies": { - "minipass": "^7.0.3" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, "node_modules/fs-readdir-recursive": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/fs-readdir-recursive/-/fs-readdir-recursive-1.1.0.tgz", @@ -9001,7 +8619,8 @@ "node_modules/graceful-fs": { "version": "4.2.11", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true }, "node_modules/graphemer": { "version": "1.4.0", @@ -9208,42 +8827,6 @@ "node": ">=8.0.0" } }, - "node_modules/http-proxy-agent": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz", - "integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==", - "license": "MIT", - "dependencies": { - "agent-base": "^7.1.0", - "debug": "^4.3.4" - }, - "engines": { - "node": ">= 14" - } - }, - "node_modules/http-proxy-agent/node_modules/debug": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz", - "integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==", - "license": "MIT", - "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/http-proxy-agent/node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "license": "MIT" - }, "node_modules/http2-wrapper": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-1.0.3.tgz", @@ -9256,42 +8839,6 @@ "node": ">=10.19.0" } }, - "node_modules/https-proxy-agent": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz", - "integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==", - "license": "MIT", - "dependencies": { - "agent-base": "^7.1.2", - "debug": "4" - }, - "engines": { - "node": ">= 14" - } - }, - "node_modules/https-proxy-agent/node_modules/debug": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz", - "integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==", - "license": "MIT", - "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/https-proxy-agent/node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "license": "MIT" - }, "node_modules/human-signals": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", @@ -9369,6 +8916,7 @@ "version": "0.1.4", "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "dev": true, "engines": { "node": ">=0.8.19" } @@ -9402,16 +8950,6 @@ "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", "dev": true }, - "node_modules/install-artifact-from-github": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/install-artifact-from-github/-/install-artifact-from-github-1.4.0.tgz", - "integrity": "sha512-+y6WywKZREw5rq7U2jvr2nmZpT7cbWbQQ0N/qfcseYnzHFz2cZz1Et52oY+XttYuYeTkI8Y+R2JNWj68MpQFSg==", - "license": "BSD-3-Clause", - "bin": { - "install-from-cache": "bin/install-from-cache.js", - "save-to-github-cache": "bin/save-to-github-cache.js" - } - }, "node_modules/internal-slot": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.7.tgz", @@ -9472,19 +9010,6 @@ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true }, - "node_modules/ip-address": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-9.0.5.tgz", - "integrity": "sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g==", - "license": "MIT", - "dependencies": { - "jsbn": "1.1.0", - "sprintf-js": "^1.1.3" - }, - "engines": { - "node": ">= 12" - } - }, "node_modules/ipaddr.js": { "version": "1.9.1", "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", @@ -9617,6 +9142,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, "engines": { "node": ">=8" } @@ -9802,7 +9328,8 @@ "node_modules/isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "dev": true }, "node_modules/isobject": { "version": "3.0.1", @@ -9812,21 +9339,6 @@ "node": ">=0.10.0" } }, - "node_modules/jackspeak": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", - "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", - "license": "BlueOak-1.0.0", - "dependencies": { - "@isaacs/cliui": "^8.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - }, - "optionalDependencies": { - "@pkgjs/parseargs": "^0.11.0" - } - }, "node_modules/jose": { "version": "4.15.9", "resolved": "https://registry.npmjs.org/jose/-/jose-4.15.9.tgz", @@ -9853,12 +9365,6 @@ "js-yaml": "bin/js-yaml.js" } }, - "node_modules/jsbn": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-1.1.0.tgz", - "integrity": "sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==", - "license": "MIT" - }, "node_modules/jsesc": { "version": "2.5.2", "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", @@ -10201,37 +9707,6 @@ "node": ">=6" } }, - "node_modules/make-fetch-happen": { - "version": "14.0.3", - "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-14.0.3.tgz", - "integrity": "sha512-QMjGbFTP0blj97EeidG5hk/QhKQ3T4ICckQGLgz38QF7Vgbk6e6FTARN8KhKxyBbWn8R0HU+bnw8aSoFPD4qtQ==", - "license": "ISC", - "dependencies": { - "@npmcli/agent": "^3.0.0", - "cacache": "^19.0.1", - "http-cache-semantics": "^4.1.1", - "minipass": "^7.0.2", - "minipass-fetch": "^4.0.0", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.4", - "negotiator": "^1.0.0", - "proc-log": "^5.0.0", - "promise-retry": "^2.0.1", - "ssri": "^12.0.0" - }, - "engines": { - "node": "^18.17.0 || >=20.5.0" - } - }, - "node_modules/make-fetch-happen/node_modules/negotiator": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-1.0.0.tgz", - "integrity": "sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, "node_modules/mathml-tag-names": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/mathml-tag-names/-/mathml-tag-names-2.1.3.tgz", @@ -10417,128 +9892,6 @@ "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==", "dev": true }, - "node_modules/minipass": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", - "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", - "license": "ISC", - "engines": { - "node": ">=16 || 14 >=14.17" - } - }, - "node_modules/minipass-collect": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-2.0.1.tgz", - "integrity": "sha512-D7V8PO9oaz7PWGLbCACuI1qEOsq7UKfLotx/C0Aet43fCUB/wfQ7DYeq2oR/svFJGYDHPr38SHATeaj/ZoKHKw==", - "license": "ISC", - "dependencies": { - "minipass": "^7.0.3" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - } - }, - "node_modules/minipass-fetch": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-4.0.1.tgz", - "integrity": "sha512-j7U11C5HXigVuutxebFadoYBbd7VSdZWggSe64NVdvWNBqGAiXPL2QVCehjmw7lY1oF9gOllYbORh+hiNgfPgQ==", - "license": "MIT", - "dependencies": { - "minipass": "^7.0.3", - "minipass-sized": "^1.0.3", - "minizlib": "^3.0.1" - }, - "engines": { - "node": "^18.17.0 || >=20.5.0" - }, - "optionalDependencies": { - "encoding": "^0.1.13" - } - }, - "node_modules/minipass-flush": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz", - "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==", - "license": "ISC", - "dependencies": { - "minipass": "^3.0.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/minipass-flush/node_modules/minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/minipass-pipeline": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz", - "integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==", - "license": "ISC", - "dependencies": { - "minipass": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/minipass-pipeline/node_modules/minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/minipass-sized": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/minipass-sized/-/minipass-sized-1.0.3.tgz", - "integrity": "sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==", - "license": "ISC", - "dependencies": { - "minipass": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/minipass-sized/node_modules/minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/minizlib": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-3.0.2.tgz", - "integrity": "sha512-oG62iEk+CYt5Xj2YqI5Xi9xWUeZhDI8jjQmC5oThVH5JGCTgIjr7ciJDzC7MBzYd//WvR1OTmP5Q38Q8ShQtVA==", - "license": "MIT", - "dependencies": { - "minipass": "^7.1.2" - }, - "engines": { - "node": ">= 18" - } - }, "node_modules/mkdirp": { "version": "0.5.5", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", @@ -10695,12 +10048,6 @@ "node": ">= 0.6" } }, - "node_modules/nan": { - "version": "2.22.2", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.22.2.tgz", - "integrity": "sha512-DANghxFkS1plDdRsX0X9pm0Z6SJNN6gBdtXfanwoZ8hooC5gosGFSBGRYHUVPz1asKA/kMRqDRdHrluZ61SpBQ==", - "license": "MIT" - }, "node_modules/nanoid": { "version": "3.3.11", "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", @@ -10782,30 +10129,6 @@ } } }, - "node_modules/node-gyp": { - "version": "11.2.0", - "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-11.2.0.tgz", - "integrity": "sha512-T0S1zqskVUSxcsSTkAsLc7xCycrRYmtDHadDinzocrThjyQCn5kMlEBSj6H4qDbgsIOSLmmlRIeb0lZXj+UArA==", - "license": "MIT", - "dependencies": { - "env-paths": "^2.2.0", - "exponential-backoff": "^3.1.1", - "graceful-fs": "^4.2.6", - "make-fetch-happen": "^14.0.3", - "nopt": "^8.0.0", - "proc-log": "^5.0.0", - "semver": "^7.3.5", - "tar": "^7.4.3", - "tinyglobby": "^0.2.12", - "which": "^5.0.0" - }, - "bin": { - "node-gyp": "bin/node-gyp.js" - }, - "engines": { - "node": "^18.17.0 || >=20.5.0" - } - }, "node_modules/node-gyp-build-optional-packages": { "version": "5.0.7", "resolved": "https://registry.npmjs.org/node-gyp-build-optional-packages/-/node-gyp-build-optional-packages-5.0.7.tgz", @@ -10818,62 +10141,11 @@ "node-gyp-build-optional-packages-test": "build-test.js" } }, - "node_modules/node-gyp/node_modules/isexe": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz", - "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==", - "license": "ISC", - "engines": { - "node": ">=16" - } - }, - "node_modules/node-gyp/node_modules/semver": { - "version": "7.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", - "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/node-gyp/node_modules/which": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/which/-/which-5.0.0.tgz", - "integrity": "sha512-JEdGzHwwkrbWoGOlIHqQ5gtprKGOenpDHpxE9zVR1bWbOtYRyPPHMe9FaP6x61CmNaTThSkb0DAJte5jD+DmzQ==", - "license": "ISC", - "dependencies": { - "isexe": "^3.1.1" - }, - "bin": { - "node-which": "bin/which.js" - }, - "engines": { - "node": "^18.17.0 || >=20.5.0" - } - }, "node_modules/node-releases": { "version": "2.0.14", "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==" }, - "node_modules/nopt": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-8.1.0.tgz", - "integrity": "sha512-ieGu42u/Qsa4TFktmaKEwM6MQH0pOWnaB3htzh0JRtx84+Mebc0cbZYN5bC+6WTZ4+77xrL9Pn5m7CV6VIkV7A==", - "license": "ISC", - "dependencies": { - "abbrev": "^3.0.0" - }, - "bin": { - "nopt": "bin/nopt.js" - }, - "engines": { - "node": "^18.17.0 || >=20.5.0" - } - }, "node_modules/normalize-package-data": { "version": "2.5.0", "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", @@ -11264,18 +10536,6 @@ "node": ">=6" } }, - "node_modules/p-map": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-7.0.3.tgz", - "integrity": "sha512-VkndIv2fIB99swvQoA65bm+fsmt6UNdGeIB0oxBs+WhAhdh08QA04JXpI7rbB9r08/nkbysKoya9rtDERYOYMA==", - "license": "MIT", - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/p-try": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", @@ -11284,12 +10544,6 @@ "node": ">=6" } }, - "node_modules/package-json-from-dist": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz", - "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==", - "license": "BlueOak-1.0.0" - }, "node_modules/parent-module": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", @@ -11422,28 +10676,6 @@ "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", "dev": true }, - "node_modules/path-scurry": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", - "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", - "license": "BlueOak-1.0.0", - "dependencies": { - "lru-cache": "^10.2.0", - "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" - }, - "engines": { - "node": ">=16 || 14 >=14.18" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/path-scurry/node_modules/lru-cache": { - "version": "10.4.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", - "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", - "license": "ISC" - }, "node_modules/path-to-regexp": { "version": "0.1.12", "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.12.tgz", @@ -11651,34 +10883,12 @@ "node": ">= 0.8.0" } }, - "node_modules/proc-log": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-5.0.0.tgz", - "integrity": "sha512-Azwzvl90HaF0aCz1JrDdXQykFakSSNPaPoiZ9fm5qJIMHioDZEi7OAdRwSm6rSoPtY3Qutnm3L7ogmg3dc+wbQ==", - "license": "ISC", - "engines": { - "node": "^18.17.0 || >=20.5.0" - } - }, "node_modules/process-nextick-args": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", "dev": true }, - "node_modules/promise-retry": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz", - "integrity": "sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==", - "license": "MIT", - "dependencies": { - "err-code": "^2.0.2", - "retry": "^0.12.0" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/promisify-any": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/promisify-any/-/promisify-any-2.0.1.tgz", @@ -11817,18 +11027,6 @@ "node": ">= 0.8" } }, - "node_modules/re2": { - "version": "1.22.1", - "resolved": "https://registry.npmjs.org/re2/-/re2-1.22.1.tgz", - "integrity": "sha512-E4J0EtgyNLdIr0wTg0dQPefuiqNY29KaLacytiUAYYRzxCG+zOkWoUygt1rI+TA1LrhN49/njrfSO1DHtVC5Vw==", - "hasInstallScript": true, - "license": "BSD-3-Clause", - "dependencies": { - "install-artifact-from-github": "^1.4.0", - "nan": "^2.22.2", - "node-gyp": "^11.2.0" - } - }, "node_modules/readable-stream": { "version": "2.3.7", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", @@ -11977,15 +11175,6 @@ "lowercase-keys": "^2.0.0" } }, - "node_modules/retry": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", - "integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==", - "license": "MIT", - "engines": { - "node": ">= 4" - } - }, "node_modules/retry-as-promised": { "version": "7.0.4", "resolved": "https://registry.npmjs.org/retry-as-promised/-/retry-as-promised-7.0.4.tgz", @@ -12769,16 +11958,6 @@ "dev": true, "license": "MIT" }, - "node_modules/smart-buffer": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", - "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", - "license": "MIT", - "engines": { - "node": ">= 6.0.0", - "npm": ">= 3.0.0" - } - }, "node_modules/socket.io": { "version": "4.8.1", "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.8.1.tgz", @@ -12889,57 +12068,6 @@ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true }, - "node_modules/socks": { - "version": "2.8.4", - "resolved": "https://registry.npmjs.org/socks/-/socks-2.8.4.tgz", - "integrity": "sha512-D3YaD0aRxR3mEcqnidIs7ReYJFVzWdd6fXJYUM8ixcQcJRGTka/b3saV0KflYhyVJXKhb947GndU35SxYNResQ==", - "license": "MIT", - "dependencies": { - "ip-address": "^9.0.5", - "smart-buffer": "^4.2.0" - }, - "engines": { - "node": ">= 10.0.0", - "npm": ">= 3.0.0" - } - }, - "node_modules/socks-proxy-agent": { - "version": "8.0.5", - "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-8.0.5.tgz", - "integrity": "sha512-HehCEsotFqbPW9sJ8WVYB6UbmIMv7kUUORIF2Nncq4VQvBfNBLibW9YZR5dlYCSUhwcD628pRllm7n+E+YTzJw==", - "license": "MIT", - "dependencies": { - "agent-base": "^7.1.2", - "debug": "^4.3.4", - "socks": "^2.8.3" - }, - "engines": { - "node": ">= 14" - } - }, - "node_modules/socks-proxy-agent/node_modules/debug": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz", - "integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==", - "license": "MIT", - "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/socks-proxy-agent/node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "license": "MIT" - }, "node_modules/source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", @@ -12998,24 +12126,6 @@ "integrity": "sha512-U+MTEOO0AiDzxwFvoa4JVnMV6mZlJKk2sBLt90s7G0Gd0Mlknc7kxEn3nuDPNZRta7O2uy8oLcZLVT+4sqNZHQ==", "dev": true }, - "node_modules/sprintf-js": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.3.tgz", - "integrity": "sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==", - "license": "BSD-3-Clause" - }, - "node_modules/ssri": { - "version": "12.0.0", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-12.0.0.tgz", - "integrity": "sha512-S7iGNosepx9RadX82oimUkvr0Ct7IjJbEbs4mJcTxst8um95J3sDYU1RBEOvdu6oL1Wek2ODI5i4MAw+dZ6cAQ==", - "license": "ISC", - "dependencies": { - "minipass": "^7.0.3" - }, - "engines": { - "node": "^18.17.0 || >=20.5.0" - } - }, "node_modules/stack-trace": { "version": "0.0.10", "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz", @@ -13061,21 +12171,7 @@ "version": "4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/string-width-cjs": { - "name": "string-width", - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "license": "MIT", + "dev": true, "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -13152,19 +12248,7 @@ "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-ansi-cjs": { - "name": "strip-ansi", - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "license": "MIT", + "dev": true, "dependencies": { "ansi-regex": "^5.0.1" }, @@ -13689,47 +12773,6 @@ "node": ">=6" } }, - "node_modules/tar": { - "version": "7.4.3", - "resolved": "https://registry.npmjs.org/tar/-/tar-7.4.3.tgz", - "integrity": "sha512-5S7Va8hKfV7W5U6g3aYxXmlPoZVAwUMy9AOKyF2fVuZa2UD3qZjg578OrLRt8PcNN1PleVaL/5/yYATNL0ICUw==", - "license": "ISC", - "dependencies": { - "@isaacs/fs-minipass": "^4.0.0", - "chownr": "^3.0.0", - "minipass": "^7.1.2", - "minizlib": "^3.0.1", - "mkdirp": "^3.0.1", - "yallist": "^5.0.0" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/tar/node_modules/mkdirp": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-3.0.1.tgz", - "integrity": "sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg==", - "license": "MIT", - "bin": { - "mkdirp": "dist/cjs/src/bin.js" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/tar/node_modules/yallist": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-5.0.0.tgz", - "integrity": "sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==", - "license": "BlueOak-1.0.0", - "engines": { - "node": ">=18" - } - }, "node_modules/text-hex": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/text-hex/-/text-hex-1.0.0.tgz", @@ -13761,48 +12804,6 @@ "next-tick": "1" } }, - "node_modules/tinyglobby": { - "version": "0.2.14", - "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.14.tgz", - "integrity": "sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ==", - "license": "MIT", - "dependencies": { - "fdir": "^6.4.4", - "picomatch": "^4.0.2" - }, - "engines": { - "node": ">=12.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/SuperchupuDev" - } - }, - "node_modules/tinyglobby/node_modules/fdir": { - "version": "6.4.5", - "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.5.tgz", - "integrity": "sha512-4BG7puHpVsIYxZUbiUE3RqGloLaSSwzYie5jvasC4LWuBWzZawynvYouhjbQKw2JuIGYdm0DzIxl8iVidKlUEw==", - "license": "MIT", - "peerDependencies": { - "picomatch": "^3 || ^4" - }, - "peerDependenciesMeta": { - "picomatch": { - "optional": true - } - } - }, - "node_modules/tinyglobby/node_modules/picomatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", - "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, "node_modules/to-regex-range": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", @@ -14058,30 +13059,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/unique-filename": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-4.0.0.tgz", - "integrity": "sha512-XSnEewXmQ+veP7xX2dS5Q4yZAvO40cBN2MWkJ7D/6sW4Dg6wYBNwM1Vrnz1FhH5AdeLIlUXRI9e28z1YZi71NQ==", - "license": "ISC", - "dependencies": { - "unique-slug": "^5.0.0" - }, - "engines": { - "node": "^18.17.0 || >=20.5.0" - } - }, - "node_modules/unique-slug": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-5.0.0.tgz", - "integrity": "sha512-9OdaqO5kwqR+1kVgHAhsp5vPNU0hnxRa26rBFNfNgM7M6pNtgzeBn3s/xbyCQL3dcjzOatcef6UUHpB/6MaETg==", - "license": "ISC", - "dependencies": { - "imurmurhash": "^0.1.4" - }, - "engines": { - "node": "^18.17.0 || >=20.5.0" - } - }, "node_modules/universalify": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", @@ -14440,57 +13417,6 @@ "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/wrap-ansi-cjs": { - "name": "wrap-ansi", - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/wrap-ansi-cjs/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/wrap-ansi-cjs/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/wrap-ansi-cjs/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "license": "MIT" - }, "node_modules/wrap-ansi/node_modules/ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", @@ -14587,9 +13513,9 @@ } }, "node_modules/xmppjs-chat-bot": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/xmppjs-chat-bot/-/xmppjs-chat-bot-0.6.0.tgz", - "integrity": "sha512-nj1ZZbo7IJv6ybclD1uaeKsECqWKV8vkQLkOaf+rz9iyqltnTBesnD+m7LDCgk0++Tw2Or3odxEny7dahPyruA==", + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/xmppjs-chat-bot/-/xmppjs-chat-bot-0.7.0.tgz", + "integrity": "sha512-gjVWCxuQ+oBBDWEMODGJsk8KHM6C51WN28n1Iuot9sZ9o3WANZmMDbwFT133TyyonZOvsCAXqEF+qmyQdtEq0A==", "funding": [ "https://paypal.me/JohnXLivingston", "https://liberapay.com/JohnLivingston/" @@ -14602,8 +13528,7 @@ "@xmpp/id": "^0.13.1", "@xmpp/jid": "^0.13.1", "@xmpp/xml": "^0.13.1", - "commander": "^11.1.0", - "re2": "^1.22.1" + "commander": "^11.1.0" }, "bin": { "xmppjs-chat-bot": "lib/cli/cli.js" @@ -16326,72 +15251,6 @@ "integrity": "sha512-Sx1pU8EM64o2BrqNpEO1CNLtKQwyhuXuqyfH7oGKCk+1a33d2r5saW8zNwm3j6BTExtjrv2BxTgzzkMwts6vGg==", "dev": true }, - "@isaacs/cliui": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", - "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", - "requires": { - "string-width": "^5.1.2", - "string-width-cjs": "npm:string-width@^4.2.0", - "strip-ansi": "^7.0.1", - "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", - "wrap-ansi": "^8.1.0", - "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", - "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==" - }, - "ansi-styles": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", - "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==" - }, - "emoji-regex": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==" - }, - "string-width": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", - "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", - "requires": { - "eastasianwidth": "^0.2.0", - "emoji-regex": "^9.2.2", - "strip-ansi": "^7.0.1" - } - }, - "strip-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", - "requires": { - "ansi-regex": "^6.0.1" - } - }, - "wrap-ansi": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", - "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", - "requires": { - "ansi-styles": "^6.1.0", - "string-width": "^5.0.1", - "strip-ansi": "^7.0.1" - } - } - } - }, - "@isaacs/fs-minipass": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@isaacs/fs-minipass/-/fs-minipass-4.0.1.tgz", - "integrity": "sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w==", - "requires": { - "minipass": "^7.0.4" - } - }, "@jridgewell/gen-mapping": { "version": "0.3.5", "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", @@ -16570,40 +15429,6 @@ "fastq": "^1.6.0" } }, - "@npmcli/agent": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@npmcli/agent/-/agent-3.0.0.tgz", - "integrity": "sha512-S79NdEgDQd/NGCay6TCoVzXSj74skRZIKJcpJjC5lOq34SZzyI6MqtiiWoiVWoVrTcGjNeC4ipbh1VIHlpfF5Q==", - "requires": { - "agent-base": "^7.1.0", - "http-proxy-agent": "^7.0.0", - "https-proxy-agent": "^7.0.1", - "lru-cache": "^10.0.1", - "socks-proxy-agent": "^8.0.3" - }, - "dependencies": { - "lru-cache": { - "version": "10.4.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", - "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==" - } - } - }, - "@npmcli/fs": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-4.0.0.tgz", - "integrity": "sha512-/xGlezI6xfGO9NwuJlnwz/K14qD1kCSAGtacBHnGzeAIuJGazcp45KP5NuyARXoKb7cwulAGWVsbeSxdG/cb0Q==", - "requires": { - "semver": "^7.3.5" - }, - "dependencies": { - "semver": { - "version": "7.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", - "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==" - } - } - }, "@opentelemetry/api": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/@opentelemetry/api/-/api-1.4.1.tgz", @@ -16852,12 +15677,6 @@ } } }, - "@pkgjs/parseargs": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", - "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", - "optional": true - }, "@rtsao/scc": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@rtsao/scc/-/scc-1.1.0.tgz", @@ -17745,12 +16564,6 @@ "integrity": "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==", "dev": true }, - "@types/re2": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/@types/re2/-/re2-1.10.0.tgz", - "integrity": "sha512-JEmh/bosGCEQiZNUn5soUiFTaCC/z4WeYgDIWN6gv9bMXEJlo7nl26cQ6QmrNb45KdOnvY+QUgNHSP/lE1je6w==", - "dev": true - }, "@types/responselike": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/@types/responselike/-/responselike-1.0.0.tgz", @@ -17966,9 +16779,9 @@ }, "dependencies": { "brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", "dev": true, "requires": { "balanced-match": "^1.0.0" @@ -18328,11 +17141,6 @@ "ltx": "^3.0.0" } }, - "abbrev": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-3.0.1.tgz", - "integrity": "sha512-AO2ac6pjRB3SJmGJo+v5/aK6Omggp6fsLrs6wN9bd35ulu4cCwaAU9+7ZhXjeqHVkaHThLuzH0nZr0YpCDhygg==" - }, "accepts": { "version": "1.3.8", "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", @@ -18356,11 +17164,6 @@ "dev": true, "requires": {} }, - "agent-base": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.3.tgz", - "integrity": "sha512-jRR5wdylq8CkOe6hei19GGZnxM6rBGwFl3Bg0YItGDimvjGtAvdZk4Pu6Cl4u4Igsws4a1fd1Vq3ezrhn4KmFw==" - }, "ajv": { "version": "6.12.6", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", @@ -18376,7 +17179,8 @@ "ansi-regex": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true }, "ansi-styles": { "version": "3.2.1", @@ -18660,9 +17464,9 @@ "dev": true }, "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", "requires": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -18720,9 +17524,9 @@ }, "dependencies": { "brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", "dev": true, "requires": { "balanced-match": "^1.0.0" @@ -18782,61 +17586,6 @@ "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", "dev": true }, - "cacache": { - "version": "19.0.1", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-19.0.1.tgz", - "integrity": "sha512-hdsUxulXCi5STId78vRVYEtDAjq99ICAUktLTeTYsLoTE6Z8dS0c8pWNCxwdrk9YfJeobDZc2Y186hD/5ZQgFQ==", - "requires": { - "@npmcli/fs": "^4.0.0", - "fs-minipass": "^3.0.0", - "glob": "^10.2.2", - "lru-cache": "^10.0.1", - "minipass": "^7.0.3", - "minipass-collect": "^2.0.1", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.4", - "p-map": "^7.0.2", - "ssri": "^12.0.0", - "tar": "^7.4.3", - "unique-filename": "^4.0.0" - }, - "dependencies": { - "brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "requires": { - "balanced-match": "^1.0.0" - } - }, - "glob": { - "version": "10.4.5", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", - "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", - "requires": { - "foreground-child": "^3.1.0", - "jackspeak": "^3.1.2", - "minimatch": "^9.0.4", - "minipass": "^7.1.2", - "package-json-from-dist": "^1.0.0", - "path-scurry": "^1.11.1" - } - }, - "lru-cache": { - "version": "10.4.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", - "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==" - }, - "minimatch": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", - "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", - "requires": { - "brace-expansion": "^2.0.1" - } - } - } - }, "cacheable": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/cacheable/-/cacheable-1.9.0.tgz", @@ -18953,11 +17702,6 @@ "readdirp": "~3.6.0" } }, - "chownr": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-3.0.0.tgz", - "integrity": "sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==" - }, "cipher-base": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", @@ -19507,11 +18251,6 @@ "integrity": "sha512-iGCHkfUc5kFekGiqhe8B/mdaurD+lakO9txNnTvKtA6PISrw86LgqHvRzWYPyoE2Ph5aMIrCw9/uko6XHTKCwA==", "dev": true }, - "eastasianwidth": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", - "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==" - }, "ee-first": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", @@ -19526,7 +18265,8 @@ "emoji-regex": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true }, "enabled": { "version": "2.0.0", @@ -19545,6 +18285,7 @@ "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", "optional": true, + "peer": true, "requires": { "iconv-lite": "^0.6.2" }, @@ -19554,6 +18295,7 @@ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", "optional": true, + "peer": true, "requires": { "safer-buffer": ">= 2.1.2 < 3.0.0" } @@ -19634,12 +18376,8 @@ "env-paths": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", - "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==" - }, - "err-code": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz", - "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==" + "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", + "dev": true }, "error-ex": { "version": "1.3.2", @@ -20242,9 +18980,9 @@ }, "dependencies": { "brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", "dev": true, "requires": { "balanced-match": "^1.0.0" @@ -20443,11 +19181,6 @@ } } }, - "exponential-backoff": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/exponential-backoff/-/exponential-backoff-3.1.2.tgz", - "integrity": "sha512-8QxYTVXUkuy7fIIoitQkPwGonB8F3Zj8eEO8Sqg9Zv/bkI7RJAzowee4gr81Hak/dUTpA2Z7VfQgoijjPNlUZA==" - }, "express": { "version": "4.21.2", "resolved": "https://registry.npmjs.org/express/-/express-4.21.2.tgz", @@ -20699,58 +19432,6 @@ "is-callable": "^1.1.3" } }, - "foreground-child": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.1.tgz", - "integrity": "sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==", - "requires": { - "cross-spawn": "^7.0.6", - "signal-exit": "^4.0.1" - }, - "dependencies": { - "cross-spawn": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", - "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", - "requires": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - } - }, - "path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==" - }, - "shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "requires": { - "shebang-regex": "^3.0.0" - } - }, - "shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==" - }, - "signal-exit": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", - "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==" - }, - "which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "requires": { - "isexe": "^2.0.0" - } - } - } - }, "form-data": { "version": "2.5.1", "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.5.1.tgz", @@ -20785,14 +19466,6 @@ "universalify": "^2.0.0" } }, - "fs-minipass": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-3.0.3.tgz", - "integrity": "sha512-XUBA9XClHbnJWSfBzjkm6RvPsyg3sryZt06BEQoXcF7EK/xpGaQYJgQKDJSUH5SGZ76Y7pFx1QBnXz09rU5Fbw==", - "requires": { - "minipass": "^7.0.3" - } - }, "fs-readdir-recursive": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/fs-readdir-recursive/-/fs-readdir-recursive-1.1.0.tgz", @@ -20991,7 +19664,8 @@ "graceful-fs": { "version": "4.2.11", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true }, "graphemer": { "version": "1.4.0", @@ -21131,30 +19805,6 @@ "requires-port": "^1.0.0" } }, - "http-proxy-agent": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz", - "integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==", - "requires": { - "agent-base": "^7.1.0", - "debug": "^4.3.4" - }, - "dependencies": { - "debug": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz", - "integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==", - "requires": { - "ms": "^2.1.3" - } - }, - "ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" - } - } - }, "http2-wrapper": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-1.0.3.tgz", @@ -21164,30 +19814,6 @@ "resolve-alpn": "^1.0.0" } }, - "https-proxy-agent": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz", - "integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==", - "requires": { - "agent-base": "^7.1.2", - "debug": "4" - }, - "dependencies": { - "debug": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz", - "integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==", - "requires": { - "ms": "^2.1.3" - } - }, - "ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" - } - } - }, "human-signals": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", @@ -21234,7 +19860,8 @@ "imurmurhash": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=" + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "dev": true }, "inflection": { "version": "1.13.4", @@ -21262,11 +19889,6 @@ "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", "dev": true }, - "install-artifact-from-github": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/install-artifact-from-github/-/install-artifact-from-github-1.4.0.tgz", - "integrity": "sha512-+y6WywKZREw5rq7U2jvr2nmZpT7cbWbQQ0N/qfcseYnzHFz2cZz1Et52oY+XttYuYeTkI8Y+R2JNWj68MpQFSg==" - }, "internal-slot": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.7.tgz", @@ -21311,15 +19933,6 @@ } } }, - "ip-address": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-9.0.5.tgz", - "integrity": "sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g==", - "requires": { - "jsbn": "1.1.0", - "sprintf-js": "^1.1.3" - } - }, "ipaddr.js": { "version": "1.9.1", "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", @@ -21403,7 +20016,8 @@ "is-fullwidth-code-point": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true }, "is-generator": { "version": "1.0.3", @@ -21523,22 +20137,14 @@ "isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "dev": true }, "isobject": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==" }, - "jackspeak": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", - "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", - "requires": { - "@isaacs/cliui": "^8.0.2", - "@pkgjs/parseargs": "^0.11.0" - } - }, "jose": { "version": "4.15.9", "resolved": "https://registry.npmjs.org/jose/-/jose-4.15.9.tgz", @@ -21558,11 +20164,6 @@ "argparse": "^2.0.1" } }, - "jsbn": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-1.1.0.tgz", - "integrity": "sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==" - }, "jsesc": { "version": "2.5.2", "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", @@ -21847,31 +20448,6 @@ "semver": "^5.6.0" } }, - "make-fetch-happen": { - "version": "14.0.3", - "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-14.0.3.tgz", - "integrity": "sha512-QMjGbFTP0blj97EeidG5hk/QhKQ3T4ICckQGLgz38QF7Vgbk6e6FTARN8KhKxyBbWn8R0HU+bnw8aSoFPD4qtQ==", - "requires": { - "@npmcli/agent": "^3.0.0", - "cacache": "^19.0.1", - "http-cache-semantics": "^4.1.1", - "minipass": "^7.0.2", - "minipass-fetch": "^4.0.0", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.4", - "negotiator": "^1.0.0", - "proc-log": "^5.0.0", - "promise-retry": "^2.0.1", - "ssri": "^12.0.0" - }, - "dependencies": { - "negotiator": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-1.0.0.tgz", - "integrity": "sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg==" - } - } - }, "mathml-tag-names": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/mathml-tag-names/-/mathml-tag-names-2.1.3.tgz", @@ -22008,92 +20584,6 @@ "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==", "dev": true }, - "minipass": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", - "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==" - }, - "minipass-collect": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-2.0.1.tgz", - "integrity": "sha512-D7V8PO9oaz7PWGLbCACuI1qEOsq7UKfLotx/C0Aet43fCUB/wfQ7DYeq2oR/svFJGYDHPr38SHATeaj/ZoKHKw==", - "requires": { - "minipass": "^7.0.3" - } - }, - "minipass-fetch": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-4.0.1.tgz", - "integrity": "sha512-j7U11C5HXigVuutxebFadoYBbd7VSdZWggSe64NVdvWNBqGAiXPL2QVCehjmw7lY1oF9gOllYbORh+hiNgfPgQ==", - "requires": { - "encoding": "^0.1.13", - "minipass": "^7.0.3", - "minipass-sized": "^1.0.3", - "minizlib": "^3.0.1" - } - }, - "minipass-flush": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz", - "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==", - "requires": { - "minipass": "^3.0.0" - }, - "dependencies": { - "minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "requires": { - "yallist": "^4.0.0" - } - } - } - }, - "minipass-pipeline": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz", - "integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==", - "requires": { - "minipass": "^3.0.0" - }, - "dependencies": { - "minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "requires": { - "yallist": "^4.0.0" - } - } - } - }, - "minipass-sized": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/minipass-sized/-/minipass-sized-1.0.3.tgz", - "integrity": "sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==", - "requires": { - "minipass": "^3.0.0" - }, - "dependencies": { - "minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "requires": { - "yallist": "^4.0.0" - } - } - } - }, - "minizlib": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-3.0.2.tgz", - "integrity": "sha512-oG62iEk+CYt5Xj2YqI5Xi9xWUeZhDI8jjQmC5oThVH5JGCTgIjr7ciJDzC7MBzYd//WvR1OTmP5Q38Q8ShQtVA==", - "requires": { - "minipass": "^7.1.2" - } - }, "mkdirp": { "version": "0.5.5", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", @@ -22208,11 +20698,6 @@ } } }, - "nan": { - "version": "2.22.2", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.22.2.tgz", - "integrity": "sha512-DANghxFkS1plDdRsX0X9pm0Z6SJNN6gBdtXfanwoZ8hooC5gosGFSBGRYHUVPz1asKA/kMRqDRdHrluZ61SpBQ==" - }, "nanoid": { "version": "3.3.11", "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", @@ -22267,43 +20752,6 @@ "whatwg-url": "^5.0.0" } }, - "node-gyp": { - "version": "11.2.0", - "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-11.2.0.tgz", - "integrity": "sha512-T0S1zqskVUSxcsSTkAsLc7xCycrRYmtDHadDinzocrThjyQCn5kMlEBSj6H4qDbgsIOSLmmlRIeb0lZXj+UArA==", - "requires": { - "env-paths": "^2.2.0", - "exponential-backoff": "^3.1.1", - "graceful-fs": "^4.2.6", - "make-fetch-happen": "^14.0.3", - "nopt": "^8.0.0", - "proc-log": "^5.0.0", - "semver": "^7.3.5", - "tar": "^7.4.3", - "tinyglobby": "^0.2.12", - "which": "^5.0.0" - }, - "dependencies": { - "isexe": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz", - "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==" - }, - "semver": { - "version": "7.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", - "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==" - }, - "which": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/which/-/which-5.0.0.tgz", - "integrity": "sha512-JEdGzHwwkrbWoGOlIHqQ5gtprKGOenpDHpxE9zVR1bWbOtYRyPPHMe9FaP6x61CmNaTThSkb0DAJte5jD+DmzQ==", - "requires": { - "isexe": "^3.1.1" - } - } - } - }, "node-gyp-build-optional-packages": { "version": "5.0.7", "resolved": "https://registry.npmjs.org/node-gyp-build-optional-packages/-/node-gyp-build-optional-packages-5.0.7.tgz", @@ -22316,14 +20764,6 @@ "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==" }, - "nopt": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-8.1.0.tgz", - "integrity": "sha512-ieGu42u/Qsa4TFktmaKEwM6MQH0pOWnaB3htzh0JRtx84+Mebc0cbZYN5bC+6WTZ4+77xrL9Pn5m7CV6VIkV7A==", - "requires": { - "abbrev": "^3.0.0" - } - }, "normalize-package-data": { "version": "2.5.0", "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", @@ -22604,21 +21044,11 @@ "p-limit": "^2.0.0" } }, - "p-map": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-7.0.3.tgz", - "integrity": "sha512-VkndIv2fIB99swvQoA65bm+fsmt6UNdGeIB0oxBs+WhAhdh08QA04JXpI7rbB9r08/nkbysKoya9rtDERYOYMA==" - }, "p-try": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==" }, - "package-json-from-dist": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz", - "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==" - }, "parent-module": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", @@ -22709,22 +21139,6 @@ "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", "dev": true }, - "path-scurry": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", - "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", - "requires": { - "lru-cache": "^10.2.0", - "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" - }, - "dependencies": { - "lru-cache": { - "version": "10.4.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", - "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==" - } - } - }, "path-to-regexp": { "version": "0.1.12", "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.12.tgz", @@ -22842,26 +21256,12 @@ "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", "dev": true }, - "proc-log": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-5.0.0.tgz", - "integrity": "sha512-Azwzvl90HaF0aCz1JrDdXQykFakSSNPaPoiZ9fm5qJIMHioDZEi7OAdRwSm6rSoPtY3Qutnm3L7ogmg3dc+wbQ==" - }, "process-nextick-args": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", "dev": true }, - "promise-retry": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz", - "integrity": "sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==", - "requires": { - "err-code": "^2.0.2", - "retry": "^0.12.0" - } - }, "promisify-any": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/promisify-any/-/promisify-any-2.0.1.tgz", @@ -22958,16 +21358,6 @@ "unpipe": "1.0.0" } }, - "re2": { - "version": "1.22.1", - "resolved": "https://registry.npmjs.org/re2/-/re2-1.22.1.tgz", - "integrity": "sha512-E4J0EtgyNLdIr0wTg0dQPefuiqNY29KaLacytiUAYYRzxCG+zOkWoUygt1rI+TA1LrhN49/njrfSO1DHtVC5Vw==", - "requires": { - "install-artifact-from-github": "^1.4.0", - "nan": "^2.22.2", - "node-gyp": "^11.2.0" - } - }, "readable-stream": { "version": "2.3.7", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", @@ -23082,11 +21472,6 @@ "lowercase-keys": "^2.0.0" } }, - "retry": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", - "integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==" - }, "retry-as-promised": { "version": "7.0.4", "resolved": "https://registry.npmjs.org/retry-as-promised/-/retry-as-promised-7.0.4.tgz", @@ -23626,11 +22011,6 @@ } } }, - "smart-buffer": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", - "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==" - }, "socket.io": { "version": "4.8.1", "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.8.1.tgz", @@ -23717,40 +22097,6 @@ } } }, - "socks": { - "version": "2.8.4", - "resolved": "https://registry.npmjs.org/socks/-/socks-2.8.4.tgz", - "integrity": "sha512-D3YaD0aRxR3mEcqnidIs7ReYJFVzWdd6fXJYUM8ixcQcJRGTka/b3saV0KflYhyVJXKhb947GndU35SxYNResQ==", - "requires": { - "ip-address": "^9.0.5", - "smart-buffer": "^4.2.0" - } - }, - "socks-proxy-agent": { - "version": "8.0.5", - "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-8.0.5.tgz", - "integrity": "sha512-HehCEsotFqbPW9sJ8WVYB6UbmIMv7kUUORIF2Nncq4VQvBfNBLibW9YZR5dlYCSUhwcD628pRllm7n+E+YTzJw==", - "requires": { - "agent-base": "^7.1.2", - "debug": "^4.3.4", - "socks": "^2.8.3" - }, - "dependencies": { - "debug": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz", - "integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==", - "requires": { - "ms": "^2.1.3" - } - }, - "ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" - } - } - }, "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", @@ -23803,19 +22149,6 @@ "integrity": "sha512-U+MTEOO0AiDzxwFvoa4JVnMV6mZlJKk2sBLt90s7G0Gd0Mlknc7kxEn3nuDPNZRta7O2uy8oLcZLVT+4sqNZHQ==", "dev": true }, - "sprintf-js": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.3.tgz", - "integrity": "sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==" - }, - "ssri": { - "version": "12.0.0", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-12.0.0.tgz", - "integrity": "sha512-S7iGNosepx9RadX82oimUkvr0Ct7IjJbEbs4mJcTxst8um95J3sDYU1RBEOvdu6oL1Wek2ODI5i4MAw+dZ6cAQ==", - "requires": { - "minipass": "^7.0.3" - } - }, "stack-trace": { "version": "0.0.10", "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz", @@ -23852,16 +22185,7 @@ "version": "4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - } - }, - "string-width-cjs": { - "version": "npm:string-width@4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, "requires": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -23914,14 +22238,7 @@ "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "requires": { - "ansi-regex": "^5.0.1" - } - }, - "strip-ansi-cjs": { - "version": "npm:strip-ansi@6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, "requires": { "ansi-regex": "^5.0.1" } @@ -24265,31 +22582,6 @@ "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", "dev": true }, - "tar": { - "version": "7.4.3", - "resolved": "https://registry.npmjs.org/tar/-/tar-7.4.3.tgz", - "integrity": "sha512-5S7Va8hKfV7W5U6g3aYxXmlPoZVAwUMy9AOKyF2fVuZa2UD3qZjg578OrLRt8PcNN1PleVaL/5/yYATNL0ICUw==", - "requires": { - "@isaacs/fs-minipass": "^4.0.0", - "chownr": "^3.0.0", - "minipass": "^7.1.2", - "minizlib": "^3.0.1", - "mkdirp": "^3.0.1", - "yallist": "^5.0.0" - }, - "dependencies": { - "mkdirp": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-3.0.1.tgz", - "integrity": "sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg==" - }, - "yallist": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-5.0.0.tgz", - "integrity": "sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==" - } - } - }, "text-hex": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/text-hex/-/text-hex-1.0.0.tgz", @@ -24318,28 +22610,6 @@ "next-tick": "1" } }, - "tinyglobby": { - "version": "0.2.14", - "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.14.tgz", - "integrity": "sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ==", - "requires": { - "fdir": "^6.4.4", - "picomatch": "^4.0.2" - }, - "dependencies": { - "fdir": { - "version": "6.4.5", - "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.5.tgz", - "integrity": "sha512-4BG7puHpVsIYxZUbiUE3RqGloLaSSwzYie5jvasC4LWuBWzZawynvYouhjbQKw2JuIGYdm0DzIxl8iVidKlUEw==", - "requires": {} - }, - "picomatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", - "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==" - } - } - }, "to-regex-range": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", @@ -24525,22 +22795,6 @@ "which-boxed-primitive": "^1.0.2" } }, - "unique-filename": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-4.0.0.tgz", - "integrity": "sha512-XSnEewXmQ+veP7xX2dS5Q4yZAvO40cBN2MWkJ7D/6sW4Dg6wYBNwM1Vrnz1FhH5AdeLIlUXRI9e28z1YZi71NQ==", - "requires": { - "unique-slug": "^5.0.0" - } - }, - "unique-slug": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-5.0.0.tgz", - "integrity": "sha512-9OdaqO5kwqR+1kVgHAhsp5vPNU0hnxRa26rBFNfNgM7M6pNtgzeBn3s/xbyCQL3dcjzOatcef6UUHpB/6MaETg==", - "requires": { - "imurmurhash": "^0.1.4" - } - }, "universalify": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", @@ -24846,39 +23100,6 @@ } } }, - "wrap-ansi-cjs": { - "version": "npm:wrap-ansi@7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - } - } - }, "wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", @@ -24918,9 +23139,9 @@ } }, "xmppjs-chat-bot": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/xmppjs-chat-bot/-/xmppjs-chat-bot-0.6.0.tgz", - "integrity": "sha512-nj1ZZbo7IJv6ybclD1uaeKsECqWKV8vkQLkOaf+rz9iyqltnTBesnD+m7LDCgk0++Tw2Or3odxEny7dahPyruA==", + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/xmppjs-chat-bot/-/xmppjs-chat-bot-0.7.0.tgz", + "integrity": "sha512-gjVWCxuQ+oBBDWEMODGJsk8KHM6C51WN28n1Iuot9sZ9o3WANZmMDbwFT133TyyonZOvsCAXqEF+qmyQdtEq0A==", "requires": { "@xmpp/client": "^0.13.1", "@xmpp/component": "^0.13.1", @@ -24928,8 +23149,7 @@ "@xmpp/id": "^0.13.1", "@xmpp/jid": "^0.13.1", "@xmpp/xml": "^0.13.1", - "commander": "^11.1.0", - "re2": "^1.22.1" + "commander": "^11.1.0" }, "dependencies": { "commander": { diff --git a/package.json b/package.json index a3954e5b..25931940 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "peertube-plugin-livechat", "description": "PeerTube plugin livechat: create chat rooms for your Peertube lives! Comes with many features: federation, moderation tools, chat bot, chat persistence, OBS integration, ...", - "version": "13.0.0", + "version": "14.0.1", "license": "AGPL-3.0", "author": { "name": "John Livingston", @@ -34,10 +34,9 @@ "http-proxy": "^1.18.1", "log-rotate": "^0.2.8", "openid-client": "^5.7.1", - "re2": "^1.22.1", "short-uuid": "^5.2.0", "validate-color": "^2.2.4", - "xmppjs-chat-bot": "^0.6.0" + "xmppjs-chat-bot": "^0.7.0" }, "devDependencies": { "@eslint/js": "^9.28.0", @@ -55,7 +54,6 @@ "@types/got": "^9.6.12", "@types/http-proxy": "^1.17.16", "@types/node": "^16.18.126", - "@types/re2": "^1.10.0", "@types/winston": "^2.4.4", "@types/xmpp__jid": "^1.3.5", "@typescript-eslint/parser": "^8.4.0", diff --git a/prosody-modules/mod_vcard_peertubelivechat/mod_vcard_peertubelivechat.lua b/prosody-modules/mod_vcard_peertubelivechat/mod_vcard_peertubelivechat.lua index 11f32338..825f3287 100644 --- a/prosody-modules/mod_vcard_peertubelivechat/mod_vcard_peertubelivechat.lua +++ b/prosody-modules/mod_vcard_peertubelivechat/mod_vcard_peertubelivechat.lua @@ -37,7 +37,9 @@ local function read_avatar_url(ret) module:log("debug", "User avatar path (Peertube >= v6, width 48): %s", peertube_url .. avatar.path); return peertube_url .. avatar.path; end - if (avatar.width < min_width) then; + -- https://github.com/JohnXLivingston/peertube-plugin-livechat/issues/736 + -- seems that in some case, avatar.width is a table... So we check that it is a number. + if (type(avatar.width) == 'number' and avatar.width < min_width) then; min_path = avatar.path; min_width = avatar.width; end diff --git a/server/lib/configuration/channel/sanitize.ts b/server/lib/configuration/channel/sanitize.ts index f6231349..2de9c42a 100644 --- a/server/lib/configuration/channel/sanitize.ts +++ b/server/lib/configuration/channel/sanitize.ts @@ -11,9 +11,6 @@ import { noDuplicateDefaultDelay, noDuplicateMaxDelay } from '../../../../shared/lib/constants' -import * as RE2 from 're2' - -type SanitizeMode = 'validation' | 'read' /** * Sanitize data so that they can safely be used/stored for channel configuration configuration. @@ -25,10 +22,9 @@ type SanitizeMode = 'validation' | 'read' * @param mode Sanitization mode. 'validation': when verifiying user input. 'read': when reading from disk. */ async function sanitizeChannelConfigurationOptions ( - _options: RegisterServerOptions, + options: RegisterServerOptions, _channelId: number | string, - data: unknown, - mode: SanitizeMode + data: unknown ): Promise { if (!_assertObjectType(data)) { throw new Error('Invalid data type') @@ -96,7 +92,7 @@ async function sanitizeChannelConfigurationOptions ( bot: { enabled: _readBoolean(botData, 'enabled'), nickname: _readSimpleInput(botData, 'nickname', true), - forbiddenWords: await _readForbiddenWords(botData, mode), + forbiddenWords: await _readForbiddenWords(options, botData), forbidSpecialChars: await _readForbidSpecialChars(botData), noDuplicate: await _readNoDuplicate(botData), quotes: _readQuotes(botData), @@ -206,7 +202,7 @@ function _readMultiLineString (data: Record, f: string): string return s } -async function _readRegExpArray (data: Record, f: string, mode: SanitizeMode): Promise { +async function _readRegExpArray (data: Record, f: string): Promise { // Note: this function can instanciate a lot of RegExp. // To avoid freezing the server, we make it async, and will validate each regexp in a separate tick. if (!(f in data)) { @@ -224,24 +220,11 @@ async function _readRegExpArray (data: Record, f: string, mode: // ignore empty values continue } - // value must be a valid RE2 regexp + // value must be a valid regexp try { async function _validate (v: string): Promise { - // Before livechat v13, the bot was using RegExp. - // Now it is using RE2, to avoid ReDOS attacks. - // RE2 does not accept all regular expressions. - // So, here come the question about settings saved before... - // So we introduce the "mode" parameter. - // When reading from disk, we want to be more permissive. - // When validating frontend data, we want to be more restrictive. - // Note: the bot will simply ignore any invalid RE2 expression, and generate an error log on loading. - if (mode === 'read') { - // eslint-disable-next-line no-new - new RegExp(v) - } else { - // eslint-disable-next-line no-new, new-cap - new RE2.default(v) - } + // eslint-disable-next-line no-new + new RegExp(v) } await _validate(v) } catch (err: any) { @@ -253,9 +236,11 @@ async function _readRegExpArray (data: Record, f: string, mode: } async function _readForbiddenWords ( - botData: Record, - mode: SanitizeMode + options: RegisterServerOptions, + botData: Record ): Promise { + const enableUsersRegexp = (await options.settingsManager.getSetting('enable-users-regexp')) === true + if (!Array.isArray(botData.forbiddenWords)) { throw new Error('Invalid forbiddenWords data') } @@ -265,9 +250,10 @@ async function _readForbiddenWords ( throw new Error('Invalid entry in botData.forbiddenWords') } const regexp = !!fw.regexp + let entries if (regexp) { - entries = await _readRegExpArray(fw, 'entries', mode) + entries = await _readRegExpArray(fw, 'entries') } else { entries = _readStringArray(fw, 'entries') } @@ -276,7 +262,17 @@ async function _readForbiddenWords ( const reason = fw.reason ? _readSimpleInput(fw, 'reason') : undefined const comments = fw.comments ? _readMultiLineString(fw, 'comments') : undefined + // Enabled was introduced in v14. So we must set to true if not present. + let enabled = !('enabled' in fw) ? true : _readBoolean(fw, 'enabled') + if (enabled && regexp && !enableUsersRegexp) { + // here we don't fail, we just change the value. + // This is usefull when the settings changes: + // RoomChannel.singleton().rebuildData() will automatically update data. + enabled = false + } + result.push({ + enabled, regexp, entries, applyToModerators, diff --git a/server/lib/configuration/channel/storage.ts b/server/lib/configuration/channel/storage.ts index 42e5bc14..606ae086 100644 --- a/server/lib/configuration/channel/storage.ts +++ b/server/lib/configuration/channel/storage.ts @@ -38,7 +38,7 @@ async function getChannelConfigurationOptions ( const content = await fs.promises.readFile(filePath, { encoding: 'utf-8' }) - const sanitized = await sanitizeChannelConfigurationOptions(options, channelId, JSON.parse(content), 'read') + const sanitized = await sanitizeChannelConfigurationOptions(options, channelId, JSON.parse(content)) return sanitized } @@ -188,7 +188,7 @@ function _getForbiddenWordsHandler ( return handler } - handler.enabled = true + handler.enabled = forbiddenWords.enabled const rule: any = { name: id } @@ -262,7 +262,6 @@ function _getForbidSpecialCharsHandler ( name: id, regexp, modifiers: 'us', - regexp_engine: 'regexp', // FIXME: node-re2 is not compatible with \p{Emoji} and co, so we ensure to use RegExp here reason: forbidSpecialChars.reason } handler.options.rules.push(rule) diff --git a/server/lib/prosody/migration/migrateV13.ts b/server/lib/prosody/migration/migrateV13.ts index 640cb606..52891232 100644 --- a/server/lib/prosody/migration/migrateV13.ts +++ b/server/lib/prosody/migration/migrateV13.ts @@ -3,101 +3,21 @@ // SPDX-License-Identifier: AGPL-3.0-only import type { RegisterServerOptions } from '@peertube/peertube-types' -import * as path from 'path' -import * as fs from 'fs' /** + * **DEPRECATED** * Livechat v13.0.0: now using xmppjs-chat-bot 0.6.0, which replaced RegExp by RE2. * we must change the forbidspecialchar regexp configuration, to be compatible. + * Livechat v14.0.0: we removed RE2 because of some incompatibility issues. + * So this update is no more necessary. + * We won't do any update script to remove the `regexp_engine` attribute we added, + * the bot will just ignore it. But we keep this function, so that dev can understand + * the history, and understand why some files have the `regexp_engine` attribute. * * This script will only be launched one time. */ -async function updateForbidSpecialCharsHandler (options: RegisterServerOptions): Promise { - const logger = options.peertubeHelpers.logger - - // First, detect if we already run this script. - const doneFilePath = path.resolve(options.peertubeHelpers.plugin.getDataDirectoryPath(), 'fix-v13-forbidspecialchars') - if (fs.existsSync(doneFilePath)) { - logger.debug('[migratev13_ForbidSpecialChars] Special Chars Regex already updated.') - return - } - - logger.info('[migratev13_ForbidSpecialChars] Updating Special Chars Regex') - - const confDir = path.resolve( - options.peertubeHelpers.plugin.getDataDirectoryPath(), - 'bot', - ) - // In this directory, we should find a subdir named as the mucDomain. - // To be sure to migrate everything, including in case of instance name change, - // we will loop on this dir content. - let directories: fs.Dirent[] - try { - directories = await fs.promises.readdir(confDir, { withFileTypes: true }) - } catch (_err) { - logger.info('[migratev13_ForbidSpecialChars] can\'t read config dir, probably a fresh install.') - directories = [] - } - - for (const dirent of directories) { - if (!dirent.isDirectory()) { continue } - - const dir = path.resolve(confDir, dirent.name, 'rooms') - logger.debug('[migratev13_ForbidSpecialChars] Checking directory ' + dir) - - let files: string[] - try { - files = await fs.promises.readdir(dir) - } catch (_err) { - logger.info('[migratev13_ForbidSpecialChars] can\'t read dir ' + dir) - files = [] - } - - logger.debug('[migratev13_ForbidSpecialChars] Found ' + files.length.toString() + ' files.') - - for (const file of files) { - if (!file.endsWith('.json')) { continue } - - const filePath = path.join(dir, file) - try { - logger.debug('[migratev13_ForbidSpecialChars] check file ' + filePath) - - const content = (await fs.promises.readFile(filePath, { - encoding: 'utf-8' - })).toString() - - const config = JSON.parse(content) - const handlers = config?.handlers ?? [] - let modified = false - for (const handler of handlers) { - if (handler?.type === 'moderate' && handler?.id === 'forbid_special_chars') { - for (const r of handler.options?.rules ?? []) { - if (r.name === 'forbid_special_chars') { - if (r.regexp_engine !== 'regexp') { - r.regexp_engine = 'regexp' - modified = true - } - } - } - } - } - if (modified) { - logger.info('[migratev13_ForbidSpecialChars] Must fix file ' + filePath) - await fs.promises.writeFile(filePath, JSON.stringify(config), { - encoding: 'utf-8' - }) - } - } catch (err) { - logger.error( - '[migratev13_ForbidSpecialChars] Failed to fix file ' + - filePath + ', skipping. Error: ' + (err as string) - ) - continue - } - } - } - - await fs.promises.writeFile(doneFilePath, '') +async function updateForbidSpecialCharsHandler (_options: RegisterServerOptions): Promise { + // deprecated (see comments) } export { diff --git a/server/lib/prosody/migration/migratev14.ts b/server/lib/prosody/migration/migratev14.ts new file mode 100644 index 00000000..a4ddaa53 --- /dev/null +++ b/server/lib/prosody/migration/migratev14.ts @@ -0,0 +1,24 @@ +// SPDX-FileCopyrightText: 2024-2025 John Livingston +// +// SPDX-License-Identifier: AGPL-3.0-only + +import type { RegisterServerOptions } from '@peertube/peertube-types' +import * as path from 'path' +import * as fs from 'fs' + +async function mustMigrateV14 (options: RegisterServerOptions): Promise { + const logger = options.peertubeHelpers.logger + + const doneFilePath = path.resolve(options.peertubeHelpers.plugin.getDataDirectoryPath(), 'fix-v14-regexp') + if (fs.existsSync(doneFilePath)) { + logger.debug('[migratev14] Already migrated.') + return false + } + + await fs.promises.writeFile(doneFilePath, '') + return true +} + +export { + mustMigrateV14 +} diff --git a/server/lib/routers/api/configuration.ts b/server/lib/routers/api/configuration.ts index b8fbd9e4..01bb6e4a 100644 --- a/server/lib/routers/api/configuration.ts +++ b/server/lib/routers/api/configuration.ts @@ -110,7 +110,7 @@ async function initConfigurationApiRouter (options: RegisterServerOptions, route // req.body.bot.forbidSpecialChars.enabled = false // ... NoDuplicate... // } - channelOptions = await sanitizeChannelConfigurationOptions(options, channelInfos.id, req.body, 'validation') + channelOptions = await sanitizeChannelConfigurationOptions(options, channelInfos.id, req.body) } catch (err: any) { logger.warn(err.message as string) if (err.validationErrorMessage && (typeof err.validationErrorMessage === 'string')) { diff --git a/server/lib/settings.ts b/server/lib/settings.ts index d3160265..e1830554 100644 --- a/server/lib/settings.ts +++ b/server/lib/settings.ts @@ -60,7 +60,9 @@ async function initSettings (options: RegisterServerOptions): Promise { } loadOidcs() // we don't have to wait (can take time, it will do external http requests) - let currentProsodyRoomtype = (await settingsManager.getSettings(['prosody-room-type']))['prosody-room-type'] + const tmpSettings = await settingsManager.getSettings(['prosody-room-type', 'enable-users-regexp']) + let currentProsodyRoomtype = tmpSettings['prosody-room-type'] + let currentUsersRegexp = tmpSettings['enable-users-regexp'] // ********** settings changes management settingsManager.onSettingsChange(async (settings: any) => { @@ -84,8 +86,12 @@ async function initSettings (options: RegisterServerOptions): Promise { await BotsCtl.singleton().start() // In case prosody-room-type changed, we must rebuild room-channel links. - if (settings['prosody-room-type'] !== currentProsodyRoomtype) { - peertubeHelpers.logger.info('Setting prosody-room-type has changed value, must rebuild room-channel infos') + // In case enable-users-regexp becomes false, we must rebuild to make sure regexp lines are disabled + if ( + settings['prosody-room-type'] !== currentProsodyRoomtype || + (currentUsersRegexp && !settings['enable-users-regexp']) + ) { + peertubeHelpers.logger.info('Settings changed, must rebuild room-channel infos') // doing it without waiting, could be long! RoomChannel.singleton().rebuildData().then( () => peertubeHelpers.logger.info('Room-channel info rebuild ok.'), @@ -93,6 +99,7 @@ async function initSettings (options: RegisterServerOptions): Promise { ) } currentProsodyRoomtype = settings['prosody-room-type'] + currentUsersRegexp = settings['enable-users-regexp'] }) } @@ -363,11 +370,6 @@ function initAdvancedChannelCustomizationSettings ({ registerSetting }: Register private: true, descriptionHTML: loc('configuration_description') }) - registerSetting({ - type: 'html', - private: true, - descriptionHTML: loc('experimental_warning') - }) registerSetting({ name: 'disable-channel-configuration', label: loc('disable_channel_configuration_label'), @@ -376,6 +378,19 @@ function initAdvancedChannelCustomizationSettings ({ registerSetting }: Register default: false, private: false }) + registerSetting({ + // For now (v14), this settings is used to enable/disable regexp for forbidden words. + // This settings is basically here to say if you trust your users or not concerning regexp + // (because there is a risk of ReDOS on the chatbot). + // This settings could be used for other purpose later on (if we implement regexp anywhere else). + // So we use a pretty standard name, `enable-users-regexp`, that could apply for other uses. + name: 'enable-users-regexp', + label: loc('enable_users_regexp'), + descriptionHTML: loc('enable_users_regexp_description'), + type: 'input-checkbox', + default: false, + private: false + }) } /** diff --git a/server/main.ts b/server/main.ts index bacb52ad..f8a56395 100644 --- a/server/main.ts +++ b/server/main.ts @@ -20,6 +20,7 @@ import { ExternalAuthOIDC } from './lib/external-auth/oidc' import { migrateMUCAffiliations } from './lib/prosody/migration/migrateV10' import { updateProsodyChannelEmojisRegex } from './lib/prosody/migration/migrateV12' import { updateForbidSpecialCharsHandler } from './lib/prosody/migration/migrateV13' +import { mustMigrateV14 } from './lib/prosody/migration/migratev14' import { Emojis } from './lib/emojis' import { LivechatProsodyAuth } from './lib/prosody/auth' import decache from 'decache' @@ -52,8 +53,10 @@ async function register (options: RegisterServerOptions): Promise { await BotConfiguration.initSingleton(options) // Then load the RoomChannel singleton const roomChannelSingleton = await RoomChannel.initSingleton(options) - // roomChannelNeedsDataInit: if true, means that the data file does not exist (or is invalid), so we must initiate it - const roomChannelNeedsDataInit = !await roomChannelSingleton.readData() + // roomChannelNeedsDataInit: if true, means that we must rebuild the data file + // (for example because it does not exist (or is invalid), so we must initiate it) + let roomChannelNeedsDataRebuild = !await roomChannelSingleton.readData() + if (await mustMigrateV14(options)) { roomChannelNeedsDataRebuild = true } // BotsCtl.initSingleton() will force reload the bots conf files, so must be done before generating Prosody Conf. await BotsCtl.initSingleton(options) @@ -76,8 +79,8 @@ async function register (options: RegisterServerOptions): Promise { await ensureProsodyRunning(options) let preBotPromise: Promise - if (roomChannelNeedsDataInit) { - logger.info('The RoomChannel singleton has not found any data, we must rebuild') + if (roomChannelNeedsDataRebuild) { + logger.info('The RoomChannel singleton must rebuild data') // no need to wait here, can be done without await. preBotPromise = roomChannelSingleton.rebuildData().then( () => { logger.info('RoomChannel singleton rebuild done') }, diff --git a/shared/lib/types.ts b/shared/lib/types.ts index 7e2bb6cb..a1771e0f 100644 --- a/shared/lib/types.ts +++ b/shared/lib/types.ts @@ -116,6 +116,7 @@ interface ChannelConfigurationOptions { } interface ChannelForbiddenWords { + enabled: boolean entries: string[] regexp?: boolean applyToModerators?: boolean diff --git a/support/documentation/content/en/documentation/admin/settings.md b/support/documentation/content/en/documentation/admin/settings.md index 0ca894d7..3f7f77d5 100644 --- a/support/documentation/content/en/documentation/admin/settings.md +++ b/support/documentation/content/en/documentation/admin/settings.md @@ -55,6 +55,10 @@ users will be able to add some customization on their channels, activate the mod If you encounter any issue with this feature, you can disable it. +### {{% livechat_label enable_users_regexp %}} + +{{% livechat_label enable_users_regexp_description %}} + ## Chat behaviour ### {{% livechat_label room_type_label %}} diff --git a/support/documentation/content/en/documentation/user/streamers/bot/forbidden_words.md b/support/documentation/content/en/documentation/user/streamers/bot/forbidden_words.md index 49d06718..f2a4917c 100644 --- a/support/documentation/content/en/documentation/user/streamers/bot/forbidden_words.md +++ b/support/documentation/content/en/documentation/user/streamers/bot/forbidden_words.md @@ -45,11 +45,11 @@ You can [open an issue](https://github.com/JohnXLivingston/peertube-plugin-livec ## {{% livechat_label livechat_configuration_channel_forbidden_words_regexp_label %}} -By checking this option, each line of the "{{% livechat_label livechat_configuration_channel_forbidden_words_label %}}" field will be considered as a [regular expression](https://en.wikipedia.org/wiki/Regular_expression). +{{% notice warning %}} +This feature can be disabled by the instance's adminitrators. +{{% /notice %}} -Please note that not all regular expression are accepted. -Under the hood, we are using the [node-re2](https://github.com/uhop/node-re2) library. -Please check [node-re2](https://github.com/uhop/node-re2) and [RE2 documentation](https://github.com/google/re2/wiki/Syntax) for more information about the accepted syntax and the limitations. +By checking this option, each line of the "{{% livechat_label livechat_configuration_channel_forbidden_words_label %}}" field will be considered as a [regular expression](https://en.wikipedia.org/wiki/Regular_expression). ## {{% livechat_label livechat_configuration_applytomoderators_label %}} diff --git a/support/documentation/po/livechat.ar.po b/support/documentation/po/livechat.ar.po index b2a1d5d2..98d10ebe 100644 --- a/support/documentation/po/livechat.ar.po +++ b/support/documentation/po/livechat.ar.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: peertube-plugin-livechat-documentation VERSION\n" -"POT-Creation-Date: 2025-06-06 17:07+0200\n" +"POT-Creation-Date: 2025-06-20 09:17+0200\n" "PO-Revision-Date: 2024-09-12 15:37+0000\n" "Last-Translator: ButterflyOfFire \n" "Language-Team: Arabic \n" @@ -2614,6 +2614,7 @@ msgstr "" #. type: Plain text #: support/documentation/content/en/documentation/user/obs.md +#: build/documentation/pot_in/documentation/user/streamers/bot/forbidden_words.md #: support/documentation/content/en/documentation/user/viewers.md msgid "This feature can be disabled by the instance's adminitrators." msgstr "" @@ -3062,11 +3063,6 @@ msgstr "" msgid "By checking this option, each line of the \"{{% livechat_label livechat_configuration_channel_forbidden_words_label %}}\" field will be considered as a [regular expression](https://en.wikipedia.org/wiki/Regular_expression)." msgstr "" -#. type: Plain text -#: build/documentation/pot_in/documentation/user/streamers/bot/forbidden_words.md -msgid "Please note that not all regular expression are accepted. Under the hood, we are using the [node-re2](https://github.com/uhop/node-re2) library. Please check [node-re2](https://github.com/uhop/node-re2) and [RE2 documentation](https://github.com/google/re2/wiki/Syntax) for more information about the accepted syntax and the limitations." -msgstr "" - #. type: Yaml Front Matter Hash Value: description #: support/documentation/content/en/documentation/user/streamers/bot/_index.md #, no-wrap diff --git a/support/documentation/po/livechat.ca.po b/support/documentation/po/livechat.ca.po index 80c5d227..838894a0 100644 --- a/support/documentation/po/livechat.ca.po +++ b/support/documentation/po/livechat.ca.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: peertube-plugin-livechat-documentation VERSION\n" -"POT-Creation-Date: 2025-06-06 17:07+0200\n" +"POT-Creation-Date: 2025-06-20 09:17+0200\n" "PO-Revision-Date: 2025-06-08 22:46+0000\n" "Last-Translator: fran secs \n" "Language-Team: Catalan \n" -"Language-Team: Czech \n" +"Language-Team: Czech \n" "Language: cs\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -2681,6 +2680,7 @@ msgstr "OBS Dock" #. type: Plain text #: support/documentation/content/en/documentation/user/obs.md +#: build/documentation/pot_in/documentation/user/streamers/bot/forbidden_words.md #: support/documentation/content/en/documentation/user/viewers.md msgid "This feature can be disabled by the instance's adminitrators." msgstr "Tuto funkci mohou správci instance deaktivovat." @@ -2688,61 +2688,38 @@ msgstr "Tuto funkci mohou správci instance deaktivovat." #. type: Plain text #: support/documentation/content/en/documentation/user/obs.md msgid "You can use OBS \"Custom browser docks\" to integrate the chat in your OBS while you are streaming. The livechat plugin offers a way to create long term token that can identify you automatically to join the chat, so you don't have to enter your password in OBS." -msgstr "" -"Můžete použít OBS „Custom browser docks“ (Vlastní dokovací okna prohlížeče) " -"k integraci chatu do OBS během streamování. Plugin livechat nabízí možnost " -"vytvořit dlouhodobý token, který vás automaticky identifikuje pro připojení " -"k chatu, takže nemusíte zadávat heslo v OBS." +msgstr "Můžete použít OBS „Custom browser docks“ (Vlastní dokovací okna prohlížeče) k integraci chatu do OBS během streamování. Plugin livechat nabízí možnost vytvořit dlouhodobý token, který vás automaticky identifikuje pro připojení k chatu, takže nemusíte zadávat heslo v OBS." #. type: Plain text #: support/documentation/content/en/documentation/user/obs.md msgid "To do so, just use the \"{{% livechat_label share_chat_link %}}\" feature, and open the \"{{% livechat_label share_chat_dock %}}\" tab. From there, you can create a new token using the \"+\" button." -msgstr "" -"K tomu stačí použít funkci „{{% livechat_label share_chat_link %}}“ a " -"otevřít kartu „{{% livechat_label share_chat_dock %}}“. Odtud můžete pomocí " -"tlačítka „+“ vytvořit nový token." +msgstr "K tomu stačí použít funkci „{{% livechat_label share_chat_link %}}“ a otevřít kartu „{{% livechat_label share_chat_dock %}}“. Odtud můžete pomocí tlačítka „+“ vytvořit nový token." #. type: Plain text #: support/documentation/content/en/documentation/user/obs.md #: support/documentation/content/en/documentation/user/streamers/basics.md msgid "![Screenshot of the \"{{% livechat_label share_chat_link %}}\" dialog, on the \"{{% livechat_label share_chat_dock %}} tab. A token was generated, and is selectionable.\"](/peertube-plugin-livechat/images/share_dock.png?classes=shadow,border&height=200px \"Share link popup - dock tab\")" -msgstr "" -"![Screenshot dialogového okna „{{% livechat_label share_chat_link %}}“ na " -"kartě „{{% livechat_label share_chat_dock %}}“. Byl vygenerován token, který " -"lze vybrat.“](/peertube-plugin-livechat/images/" -"share_dock.png?classes=shadow,border&height=200px „Vyskakovací okno pro " -"sdílení odkazu – karta doku“)" +msgstr "![Screenshot dialogového okna „{{% livechat_label share_chat_link %}}“ na kartě „{{% livechat_label share_chat_dock %}}“. Byl vygenerován token, který lze vybrat.“](/peertube-plugin-livechat/images/share_dock.png?classes=shadow,border&height=200px „Vyskakovací okno pro sdílení odkazu – karta doku“)" #. type: Plain text #: support/documentation/content/en/documentation/user/obs.md msgid "Then, copy the url, and use the \"Docks / Custom browser docks\" menu from your OBS to add a dock with this URL." -msgstr "" -"Poté zkopírujte adresu URL a pomocí nabídky „Docks / Custom browser docks“ (" -"Doky / Vlastní doky prohlížeče) ve vašem OBS přidejte dok s touto adresou." +msgstr "Poté zkopírujte adresu URL a pomocí nabídky „Docks / Custom browser docks“ (Doky / Vlastní doky prohlížeče) ve vašem OBS přidejte dok s touto adresou." #. type: Plain text #: support/documentation/content/en/documentation/user/obs.md msgid "![Screenshot of the OBS Dock menu, with a \"Custom Browser Docks\" entry.](/peertube-plugin-livechat/images/obs_dock_menu.png?classes=shadow,border&height=200px \"OBS - Dock menu\")" -msgstr "" -"![Screenshot nabídky OBS Dock s položkou „Custom Browser Docks“ (Vlastní " -"dokovací prohlížeče).](/peertube-plugin-livechat/images/" -"obs_dock_menu.png?classes=shadow,border&height=200px „OBS – nabídka Dock“)" +msgstr "![Screenshot nabídky OBS Dock s položkou „Custom Browser Docks“ (Vlastní dokovací prohlížeče).](/peertube-plugin-livechat/images/obs_dock_menu.png?classes=shadow,border&height=200px „OBS – nabídka Dock“)" #. type: Plain text #: support/documentation/content/en/documentation/user/obs.md msgid "![Screenshot of the OBS Custom Browser Docks dialog, with a new dock called \"My chat\".](/peertube-plugin-livechat/images/obs_dock_dialog.png?classes=shadow,border&height=200px \"OBS - Dock dialog\")" -msgstr "" -"![Screenshot dialogového okna OBS Custom Browser Docks s novým dokem " -"nazvaným „My chat“.](/peertube-plugin-livechat/images/" -"obs_dock_dialog.png?classes=shadow,border&height=200px „OBS – dialogové okno " -"Dock“)" +msgstr "![Screenshot dialogového okna OBS Custom Browser Docks s novým dokem nazvaným „My chat“.](/peertube-plugin-livechat/images/obs_dock_dialog.png?classes=shadow,border&height=200px „OBS – dialogové okno Dock“)" #. type: Plain text #: support/documentation/content/en/documentation/user/obs.md msgid "Once you have done, you will have a new dock connected to the chat with your account." -msgstr "" -"Jakmile to uděláte, budete mít nové dokovací okno připojené k chatu s vaším " -"účtem." +msgstr "Jakmile to uděláte, budete mít nové dokovací okno připojené k chatu s vaším účtem." #. type: Plain text #: support/documentation/content/en/documentation/user/obs.md @@ -3152,11 +3129,6 @@ msgstr "" msgid "By checking this option, each line of the \"{{% livechat_label livechat_configuration_channel_forbidden_words_label %}}\" field will be considered as a [regular expression](https://en.wikipedia.org/wiki/Regular_expression)." msgstr "" -#. type: Plain text -#: build/documentation/pot_in/documentation/user/streamers/bot/forbidden_words.md -msgid "Please note that not all regular expression are accepted. Under the hood, we are using the [node-re2](https://github.com/uhop/node-re2) library. Please check [node-re2](https://github.com/uhop/node-re2) and [RE2 documentation](https://github.com/google/re2/wiki/Syntax) for more information about the accepted syntax and the limitations." -msgstr "" - #. type: Yaml Front Matter Hash Value: description #: support/documentation/content/en/documentation/user/streamers/bot/_index.md #, no-wrap @@ -4999,3 +4971,8 @@ msgstr "" #: support/documentation/content/en/issues/_index.md msgid "If you are a webdesigner or a ConverseJS/Prosody/XMPP expert, and want to help improve this plugin, you are welcome." msgstr "Pokud jste webdesignér nebo odborník na ConverseJS/Prosody/XMPP a chcete pomoci tento plugin vylepšit, jste vítáni." + +#, fuzzy +#~| msgid "This feature can be disabled by the instance's adminitrators." +#~ msgid "This feature is optional and can be disabled by admins." +#~ msgstr "Tuto funkci mohou správci instance deaktivovat." diff --git a/support/documentation/po/livechat.de.po b/support/documentation/po/livechat.de.po index 964b5664..413d8ea7 100644 --- a/support/documentation/po/livechat.de.po +++ b/support/documentation/po/livechat.de.po @@ -7,12 +7,10 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2025-06-06 17:07+0200\n" +"POT-Creation-Date: 2025-06-20 09:17+0200\n" "PO-Revision-Date: 2025-06-07 08:38+0000\n" -"Last-Translator: Victor Hampel " -"\n" -"Language-Team: German \n" +"Last-Translator: Victor Hampel \n" +"Language-Team: German \n" "Language: de\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -2688,6 +2686,7 @@ msgstr "OBS Dock" #. type: Plain text #: support/documentation/content/en/documentation/user/obs.md +#: build/documentation/pot_in/documentation/user/streamers/bot/forbidden_words.md #: support/documentation/content/en/documentation/user/viewers.md msgid "This feature can be disabled by the instance's adminitrators." msgstr "Diese Funktion kann von den Administratoren der Instanz deaktiviert werden." @@ -3088,26 +3087,17 @@ msgstr "![Screenshot einer Chat-Nachricht, die mit folgender Begründung gelösc #. type: Plain text #: build/documentation/pot_in/documentation/user/streamers/bot/forbidden_words.md msgid "You can fill several \"{{% livechat_label livechat_configuration_channel_forbidden_words_label %}}\" lines. When a user sends a message that match the configured criteria, the message will automatically be deleted." -msgstr "" -"Sie können mehrere \"{{% livechat_label " -"livechat_configuration_channel_forbidden_words_label %}}\"-Zeilen " -"ausfüllen. Wenn ein Benutzer eine Nachricht sendet, die den konfigurierten " -"Kriterien entspricht, wird die Nachricht automatisch gelöscht." +msgstr "Sie können mehrere \"{{% livechat_label livechat_configuration_channel_forbidden_words_label %}}\"-Zeilen ausfüllen. Wenn ein Benutzer eine Nachricht sendet, die den konfigurierten Kriterien entspricht, wird die Nachricht automatisch gelöscht." #. type: Plain text #: build/documentation/pot_in/documentation/user/streamers/bot/forbidden_words.md msgid "Here you can configure several words, group of words, or \"regular expressions\"." -msgstr "" -"Hier können Sie mehrere Wörter, Wortgruppen oder \"reguläre Ausdrücke\" " -"(regex) konfigurieren." +msgstr "Hier können Sie mehrere Wörter, Wortgruppen oder \"reguläre Ausdrücke\" (regex) konfigurieren." #. type: Plain text #: build/documentation/pot_in/documentation/user/streamers/bot/forbidden_words.md msgid "Each time a user sends a message, these words will be tested. If the message contains one of them, the message will be deleted." -msgstr "" -"Jedes Mal, wenn ein Benutzer eine Nachricht sendet, werden diese Wörter " -"getestet. Wenn die Nachricht eines dieser Wörter enthält, wird die " -"Nachricht gelöscht." +msgstr "Jedes Mal, wenn ein Benutzer eine Nachricht sendet, werden diese Wörter getestet. Wenn die Nachricht eines dieser Wörter enthält, wird die Nachricht gelöscht." #. type: Plain text #: build/documentation/pot_in/documentation/user/streamers/bot/forbidden_words.md @@ -3145,17 +3135,6 @@ msgstr "Diese Funktion ist noch experimentell. Es könnte einige Probleme mit n msgid "By checking this option, each line of the \"{{% livechat_label livechat_configuration_channel_forbidden_words_label %}}\" field will be considered as a [regular expression](https://en.wikipedia.org/wiki/Regular_expression)." msgstr "Wenn Sie diese Option aktivieren, wird jede Zeile des Feldes \"{{% livechat_label livechat_configuration_channel_forbidden_words_label %}}\" als [regulärer Ausdruck](https://de.wikipedia.org/wiki/Regul%C3%A4rer_Ausdruck) betrachtet." -#. type: Plain text -#: build/documentation/pot_in/documentation/user/streamers/bot/forbidden_words.md -msgid "Please note that not all regular expression are accepted. Under the hood, we are using the [node-re2](https://github.com/uhop/node-re2) library. Please check [node-re2](https://github.com/uhop/node-re2) and [RE2 documentation](https://github.com/google/re2/wiki/Syntax) for more information about the accepted syntax and the limitations." -msgstr "" -"Bitte beachten Sie, dass nicht alle \"regulären Ausdrücke (regex) akzeptiert " -"werden. Im Hintergrund verwenden wir die Bibliothek [node-re2](https://" -"github.com/uhop/node-re2). Weitere Informationen über die akzeptierte " -"Syntax und die Einschränkungen finden Sie unter [node-re2](https://" -"github.com/uhop/node-re2) und der [RE2 Dokumentation](https://github.com/" -"google/re2/wiki/Syntax)." - #. type: Yaml Front Matter Hash Value: description #: support/documentation/content/en/documentation/user/streamers/bot/_index.md #, no-wrap @@ -5007,6 +4986,14 @@ msgstr "[Meilensteine auf Github](https://github.com/JohnXLivingston/peertube-pl msgid "If you are a webdesigner or a ConverseJS/Prosody/XMPP expert, and want to help improve this plugin, you are welcome." msgstr "Wenn Sie ein Webdesigner oder ein ConverseJS/Prosody/XMPP-Experte sind und helfen wollen, dieses Plugin zu verbessern, sind Sie gerne willkommen." +#, fuzzy +#~| msgid "This feature can be disabled by the instance's adminitrators." +#~ msgid "This feature is optional and can be disabled by admins." +#~ msgstr "Diese Funktion kann von den Administratoren der Instanz deaktiviert werden." + +#~ msgid "Please note that not all regular expression are accepted. Under the hood, we are using the [node-re2](https://github.com/uhop/node-re2) library. Please check [node-re2](https://github.com/uhop/node-re2) and [RE2 documentation](https://github.com/google/re2/wiki/Syntax) for more information about the accepted syntax and the limitations." +#~ msgstr "Bitte beachten Sie, dass nicht alle \"regulären Ausdrücke (regex) akzeptiert werden. Im Hintergrund verwenden wir die Bibliothek [node-re2](https://github.com/uhop/node-re2). Weitere Informationen über die akzeptierte Syntax und die Einschränkungen finden Sie unter [node-re2](https://github.com/uhop/node-re2) und der [RE2 Dokumentation](https://github.com/google/re2/wiki/Syntax)." + #~ msgid "This feature comes with the livechat plugin version 11.0.0." #~ msgstr "Diese Funktion wird mit dem Livechatplugin Version 11.0.0 verfügbar sein." diff --git a/support/documentation/po/livechat.el.po b/support/documentation/po/livechat.el.po index 92346561..0ab1a31b 100644 --- a/support/documentation/po/livechat.el.po +++ b/support/documentation/po/livechat.el.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: peertube-plugin-livechat-documentation VERSION\n" -"POT-Creation-Date: 2025-06-06 17:07+0200\n" +"POT-Creation-Date: 2025-06-20 09:17+0200\n" "PO-Revision-Date: 2023-07-17 10:52+0000\n" "Last-Translator: Anonymous \n" "Language-Team: Greek \n" @@ -2613,6 +2613,7 @@ msgstr "" #. type: Plain text #: support/documentation/content/en/documentation/user/obs.md +#: build/documentation/pot_in/documentation/user/streamers/bot/forbidden_words.md #: support/documentation/content/en/documentation/user/viewers.md msgid "This feature can be disabled by the instance's adminitrators." msgstr "" @@ -3061,11 +3062,6 @@ msgstr "" msgid "By checking this option, each line of the \"{{% livechat_label livechat_configuration_channel_forbidden_words_label %}}\" field will be considered as a [regular expression](https://en.wikipedia.org/wiki/Regular_expression)." msgstr "" -#. type: Plain text -#: build/documentation/pot_in/documentation/user/streamers/bot/forbidden_words.md -msgid "Please note that not all regular expression are accepted. Under the hood, we are using the [node-re2](https://github.com/uhop/node-re2) library. Please check [node-re2](https://github.com/uhop/node-re2) and [RE2 documentation](https://github.com/google/re2/wiki/Syntax) for more information about the accepted syntax and the limitations." -msgstr "" - #. type: Yaml Front Matter Hash Value: description #: support/documentation/content/en/documentation/user/streamers/bot/_index.md #, no-wrap diff --git a/support/documentation/po/livechat.en.pot b/support/documentation/po/livechat.en.pot index 6b185882..8dd20b1a 100644 --- a/support/documentation/po/livechat.en.pot +++ b/support/documentation/po/livechat.en.pot @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: peertube-plugin-livechat-documentation VERSION\n" -"POT-Creation-Date: 2025-06-06 17:07+0200\n" +"POT-Creation-Date: 2025-06-20 09:17+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -2942,6 +2942,7 @@ msgstr "" #. type: Plain text #: support/documentation/content/en/documentation/user/obs.md +#: build/documentation/pot_in/documentation/user/streamers/bot/forbidden_words.md #: support/documentation/content/en/documentation/user/viewers.md #, markdown-text msgid "This feature can be disabled by the instance's adminitrators." @@ -3459,12 +3460,6 @@ msgstr "" msgid "By checking this option, each line of the \"{{% livechat_label livechat_configuration_channel_forbidden_words_label %}}\" field will be considered as a [regular expression](https://en.wikipedia.org/wiki/Regular_expression)." msgstr "" -#. type: Plain text -#: build/documentation/pot_in/documentation/user/streamers/bot/forbidden_words.md -#, markdown-text -msgid "Please note that not all regular expression are accepted. Under the hood, we are using the [node-re2](https://github.com/uhop/node-re2) library. Please check [node-re2](https://github.com/uhop/node-re2) and [RE2 documentation](https://github.com/google/re2/wiki/Syntax) for more information about the accepted syntax and the limitations." -msgstr "" - #. type: Yaml Front Matter Hash Value: description #: support/documentation/content/en/documentation/user/streamers/bot/_index.md #, no-wrap diff --git a/support/documentation/po/livechat.eo.po b/support/documentation/po/livechat.eo.po index d36cde8a..645bd8c1 100644 --- a/support/documentation/po/livechat.eo.po +++ b/support/documentation/po/livechat.eo.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: peertube-plugin-livechat-documentation VERSION\n" -"POT-Creation-Date: 2025-06-06 17:07+0200\n" +"POT-Creation-Date: 2025-06-20 09:17+0200\n" "PO-Revision-Date: 2023-07-17 10:52+0000\n" "Last-Translator: Anonymous \n" "Language-Team: Esperanto \n" @@ -2613,6 +2613,7 @@ msgstr "" #. type: Plain text #: support/documentation/content/en/documentation/user/obs.md +#: build/documentation/pot_in/documentation/user/streamers/bot/forbidden_words.md #: support/documentation/content/en/documentation/user/viewers.md msgid "This feature can be disabled by the instance's adminitrators." msgstr "" @@ -3061,11 +3062,6 @@ msgstr "" msgid "By checking this option, each line of the \"{{% livechat_label livechat_configuration_channel_forbidden_words_label %}}\" field will be considered as a [regular expression](https://en.wikipedia.org/wiki/Regular_expression)." msgstr "" -#. type: Plain text -#: build/documentation/pot_in/documentation/user/streamers/bot/forbidden_words.md -msgid "Please note that not all regular expression are accepted. Under the hood, we are using the [node-re2](https://github.com/uhop/node-re2) library. Please check [node-re2](https://github.com/uhop/node-re2) and [RE2 documentation](https://github.com/google/re2/wiki/Syntax) for more information about the accepted syntax and the limitations." -msgstr "" - #. type: Yaml Front Matter Hash Value: description #: support/documentation/content/en/documentation/user/streamers/bot/_index.md #, no-wrap diff --git a/support/documentation/po/livechat.es.po b/support/documentation/po/livechat.es.po index 00ce88fa..64248c5e 100644 --- a/support/documentation/po/livechat.es.po +++ b/support/documentation/po/livechat.es.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: peertube-plugin-livechat-documentation VERSION\n" -"POT-Creation-Date: 2025-06-06 17:07+0200\n" +"POT-Creation-Date: 2025-06-20 09:17+0200\n" "PO-Revision-Date: 2024-04-16 21:38+0000\n" "Last-Translator: rnek0 \n" "Language-Team: Spanish \n" @@ -2654,6 +2654,7 @@ msgstr "" #. type: Plain text #: support/documentation/content/en/documentation/user/obs.md +#: build/documentation/pot_in/documentation/user/streamers/bot/forbidden_words.md #: support/documentation/content/en/documentation/user/viewers.md msgid "This feature can be disabled by the instance's adminitrators." msgstr "" @@ -3102,11 +3103,6 @@ msgstr "" msgid "By checking this option, each line of the \"{{% livechat_label livechat_configuration_channel_forbidden_words_label %}}\" field will be considered as a [regular expression](https://en.wikipedia.org/wiki/Regular_expression)." msgstr "" -#. type: Plain text -#: build/documentation/pot_in/documentation/user/streamers/bot/forbidden_words.md -msgid "Please note that not all regular expression are accepted. Under the hood, we are using the [node-re2](https://github.com/uhop/node-re2) library. Please check [node-re2](https://github.com/uhop/node-re2) and [RE2 documentation](https://github.com/google/re2/wiki/Syntax) for more information about the accepted syntax and the limitations." -msgstr "" - #. type: Yaml Front Matter Hash Value: description #: support/documentation/content/en/documentation/user/streamers/bot/_index.md #, no-wrap diff --git a/support/documentation/po/livechat.eu.po b/support/documentation/po/livechat.eu.po index 796ac8b5..33f5c364 100644 --- a/support/documentation/po/livechat.eu.po +++ b/support/documentation/po/livechat.eu.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: peertube-plugin-livechat-documentation VERSION\n" -"POT-Creation-Date: 2025-06-06 17:07+0200\n" +"POT-Creation-Date: 2025-06-20 09:17+0200\n" "PO-Revision-Date: 2023-07-17 10:52+0000\n" "Last-Translator: Anonymous \n" "Language-Team: Basque \n" @@ -2613,6 +2613,7 @@ msgstr "" #. type: Plain text #: support/documentation/content/en/documentation/user/obs.md +#: build/documentation/pot_in/documentation/user/streamers/bot/forbidden_words.md #: support/documentation/content/en/documentation/user/viewers.md msgid "This feature can be disabled by the instance's adminitrators." msgstr "" @@ -3061,11 +3062,6 @@ msgstr "" msgid "By checking this option, each line of the \"{{% livechat_label livechat_configuration_channel_forbidden_words_label %}}\" field will be considered as a [regular expression](https://en.wikipedia.org/wiki/Regular_expression)." msgstr "" -#. type: Plain text -#: build/documentation/pot_in/documentation/user/streamers/bot/forbidden_words.md -msgid "Please note that not all regular expression are accepted. Under the hood, we are using the [node-re2](https://github.com/uhop/node-re2) library. Please check [node-re2](https://github.com/uhop/node-re2) and [RE2 documentation](https://github.com/google/re2/wiki/Syntax) for more information about the accepted syntax and the limitations." -msgstr "" - #. type: Yaml Front Matter Hash Value: description #: support/documentation/content/en/documentation/user/streamers/bot/_index.md #, no-wrap diff --git a/support/documentation/po/livechat.fa.po b/support/documentation/po/livechat.fa.po index 36113b95..e0230383 100644 --- a/support/documentation/po/livechat.fa.po +++ b/support/documentation/po/livechat.fa.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: peertube-plugin-livechat-documentation VERSION\n" -"POT-Creation-Date: 2025-06-06 17:07+0200\n" +"POT-Creation-Date: 2025-06-20 09:17+0200\n" "PO-Revision-Date: 2023-07-17 10:52+0000\n" "Last-Translator: Anonymous \n" "Language-Team: Persian \n" @@ -2613,6 +2613,7 @@ msgstr "" #. type: Plain text #: support/documentation/content/en/documentation/user/obs.md +#: build/documentation/pot_in/documentation/user/streamers/bot/forbidden_words.md #: support/documentation/content/en/documentation/user/viewers.md msgid "This feature can be disabled by the instance's adminitrators." msgstr "" @@ -3061,11 +3062,6 @@ msgstr "" msgid "By checking this option, each line of the \"{{% livechat_label livechat_configuration_channel_forbidden_words_label %}}\" field will be considered as a [regular expression](https://en.wikipedia.org/wiki/Regular_expression)." msgstr "" -#. type: Plain text -#: build/documentation/pot_in/documentation/user/streamers/bot/forbidden_words.md -msgid "Please note that not all regular expression are accepted. Under the hood, we are using the [node-re2](https://github.com/uhop/node-re2) library. Please check [node-re2](https://github.com/uhop/node-re2) and [RE2 documentation](https://github.com/google/re2/wiki/Syntax) for more information about the accepted syntax and the limitations." -msgstr "" - #. type: Yaml Front Matter Hash Value: description #: support/documentation/content/en/documentation/user/streamers/bot/_index.md #, no-wrap diff --git a/support/documentation/po/livechat.fi.po b/support/documentation/po/livechat.fi.po index 46d12b7c..b8a2539e 100644 --- a/support/documentation/po/livechat.fi.po +++ b/support/documentation/po/livechat.fi.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: peertube-plugin-livechat-documentation VERSION\n" -"POT-Creation-Date: 2025-06-06 17:07+0200\n" +"POT-Creation-Date: 2025-06-20 09:17+0200\n" "PO-Revision-Date: 2023-07-17 10:52+0000\n" "Last-Translator: Anonymous \n" "Language-Team: Finnish \n" @@ -2613,6 +2613,7 @@ msgstr "" #. type: Plain text #: support/documentation/content/en/documentation/user/obs.md +#: build/documentation/pot_in/documentation/user/streamers/bot/forbidden_words.md #: support/documentation/content/en/documentation/user/viewers.md msgid "This feature can be disabled by the instance's adminitrators." msgstr "" @@ -3061,11 +3062,6 @@ msgstr "" msgid "By checking this option, each line of the \"{{% livechat_label livechat_configuration_channel_forbidden_words_label %}}\" field will be considered as a [regular expression](https://en.wikipedia.org/wiki/Regular_expression)." msgstr "" -#. type: Plain text -#: build/documentation/pot_in/documentation/user/streamers/bot/forbidden_words.md -msgid "Please note that not all regular expression are accepted. Under the hood, we are using the [node-re2](https://github.com/uhop/node-re2) library. Please check [node-re2](https://github.com/uhop/node-re2) and [RE2 documentation](https://github.com/google/re2/wiki/Syntax) for more information about the accepted syntax and the limitations." -msgstr "" - #. type: Yaml Front Matter Hash Value: description #: support/documentation/content/en/documentation/user/streamers/bot/_index.md #, no-wrap diff --git a/support/documentation/po/livechat.fr.po b/support/documentation/po/livechat.fr.po index 49418f20..2c074877 100644 --- a/support/documentation/po/livechat.fr.po +++ b/support/documentation/po/livechat.fr.po @@ -7,11 +7,10 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2025-06-06 17:07+0200\n" +"POT-Creation-Date: 2025-06-20 09:17+0200\n" "PO-Revision-Date: 2025-06-06 16:26+0000\n" "Last-Translator: John Livingston \n" -"Language-Team: French \n" +"Language-Team: French \n" "Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -2740,6 +2739,7 @@ msgstr "Dock OBS" #. type: Plain text #: support/documentation/content/en/documentation/user/obs.md +#: build/documentation/pot_in/documentation/user/streamers/bot/forbidden_words.md #: support/documentation/content/en/documentation/user/viewers.md msgid "This feature can be disabled by the instance's adminitrators." msgstr "Cette fonction peut être désactivée par les administrateur⋅rices de l'instance." @@ -3216,11 +3216,6 @@ msgstr "Cette fonction est encore expérimentale. Il pourrait y avoir quelques p msgid "By checking this option, each line of the \"{{% livechat_label livechat_configuration_channel_forbidden_words_label %}}\" field will be considered as a [regular expression](https://en.wikipedia.org/wiki/Regular_expression)." msgstr "En cochant cette option, chaque ligne du champs «{{% livechat_label livechat_configuration_channel_forbidden_words_label %}}» sera considéré comme une [expression régulière](https://fr.wikipedia.org/wiki/Expression_r%C3%A9guli%C3%A8re)." -#. type: Plain text -#: build/documentation/pot_in/documentation/user/streamers/bot/forbidden_words.md -msgid "Please note that not all regular expression are accepted. Under the hood, we are using the [node-re2](https://github.com/uhop/node-re2) library. Please check [node-re2](https://github.com/uhop/node-re2) and [RE2 documentation](https://github.com/google/re2/wiki/Syntax) for more information about the accepted syntax and the limitations." -msgstr "" - #. type: Yaml Front Matter Hash Value: description #: support/documentation/content/en/documentation/user/streamers/bot/_index.md #, no-wrap @@ -5049,12 +5044,7 @@ msgstr "En tant qu'administrateur⋅rice Peertube, vous pouvez installer ce plug #. type: Plain text #: support/documentation/content/en/intro/_index.md msgid "![Screenshot of Peertube plugins admin page. The search fields contains \"livechat\", and the search results show the livechat plugin.](/peertube-plugin-livechat/images/installation.png?classes=shadow,border&height=200px \"Livechat installation\")" -msgstr "" -"![Capture d'écran de la page d'administration du plugin Peertube. Le champs " -"de recherche contient \"livechat\", and les résultats de la recherche " -"montrent le plugin livechat.](/peertube-plugin-livechat/images/" -"installation.png?classes=shadow,border&height=200px \"Installation livechat\"" -")" +msgstr "![Capture d'écran de la page d'administration du plugin Peertube. Le champs de recherche contient \"livechat\", and les résultats de la recherche montrent le plugin livechat.](/peertube-plugin-livechat/images/installation.png?classes=shadow,border&height=200px \"Installation livechat\")" #. type: Title ## #: support/documentation/content/en/intro/_index.md @@ -5186,6 +5176,11 @@ msgstr "les [jalons sur github](https://github.com/JohnXLivingston/peertube-plug msgid "If you are a webdesigner or a ConverseJS/Prosody/XMPP expert, and want to help improve this plugin, you are welcome." msgstr "Si vous êtes webdesigner ou avez une expertise en ConverseJS/Prosody/XMPP et souhaitez participer à l'évolution de ce plugin, n'hésitez pas à me contacter." +#, fuzzy +#~| msgid "This feature can be disabled by the instance's adminitrators." +#~ msgid "This feature is optional and can be disabled by admins." +#~ msgstr "Cette fonction peut être désactivée par les administrateur⋅rices de l'instance." + #~ msgid "This feature comes with the livechat plugin version 11.0.0." #~ msgstr "Cette fonctionnalité arrive avec le plugin livechat version 11.0.0." diff --git a/support/documentation/po/livechat.gd.po b/support/documentation/po/livechat.gd.po index 514d0105..fae17e2d 100644 --- a/support/documentation/po/livechat.gd.po +++ b/support/documentation/po/livechat.gd.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: peertube-plugin-livechat-documentation VERSION\n" -"POT-Creation-Date: 2025-06-06 17:07+0200\n" +"POT-Creation-Date: 2025-06-20 09:17+0200\n" "PO-Revision-Date: 2023-07-17 10:52+0000\n" "Last-Translator: Anonymous \n" "Language-Team: Gaelic \n" @@ -2613,6 +2613,7 @@ msgstr "" #. type: Plain text #: support/documentation/content/en/documentation/user/obs.md +#: build/documentation/pot_in/documentation/user/streamers/bot/forbidden_words.md #: support/documentation/content/en/documentation/user/viewers.md msgid "This feature can be disabled by the instance's adminitrators." msgstr "" @@ -3061,11 +3062,6 @@ msgstr "" msgid "By checking this option, each line of the \"{{% livechat_label livechat_configuration_channel_forbidden_words_label %}}\" field will be considered as a [regular expression](https://en.wikipedia.org/wiki/Regular_expression)." msgstr "" -#. type: Plain text -#: build/documentation/pot_in/documentation/user/streamers/bot/forbidden_words.md -msgid "Please note that not all regular expression are accepted. Under the hood, we are using the [node-re2](https://github.com/uhop/node-re2) library. Please check [node-re2](https://github.com/uhop/node-re2) and [RE2 documentation](https://github.com/google/re2/wiki/Syntax) for more information about the accepted syntax and the limitations." -msgstr "" - #. type: Yaml Front Matter Hash Value: description #: support/documentation/content/en/documentation/user/streamers/bot/_index.md #, no-wrap diff --git a/support/documentation/po/livechat.gl.po b/support/documentation/po/livechat.gl.po index 55d7715c..e936e8ba 100644 --- a/support/documentation/po/livechat.gl.po +++ b/support/documentation/po/livechat.gl.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: peertube-plugin-livechat-documentation VERSION\n" -"POT-Creation-Date: 2025-06-06 17:07+0200\n" +"POT-Creation-Date: 2025-06-20 09:17+0200\n" "PO-Revision-Date: 2023-07-17 10:52+0000\n" "Last-Translator: Anonymous \n" "Language-Team: Galician \n" @@ -2613,6 +2613,7 @@ msgstr "" #. type: Plain text #: support/documentation/content/en/documentation/user/obs.md +#: build/documentation/pot_in/documentation/user/streamers/bot/forbidden_words.md #: support/documentation/content/en/documentation/user/viewers.md msgid "This feature can be disabled by the instance's adminitrators." msgstr "" @@ -3061,11 +3062,6 @@ msgstr "" msgid "By checking this option, each line of the \"{{% livechat_label livechat_configuration_channel_forbidden_words_label %}}\" field will be considered as a [regular expression](https://en.wikipedia.org/wiki/Regular_expression)." msgstr "" -#. type: Plain text -#: build/documentation/pot_in/documentation/user/streamers/bot/forbidden_words.md -msgid "Please note that not all regular expression are accepted. Under the hood, we are using the [node-re2](https://github.com/uhop/node-re2) library. Please check [node-re2](https://github.com/uhop/node-re2) and [RE2 documentation](https://github.com/google/re2/wiki/Syntax) for more information about the accepted syntax and the limitations." -msgstr "" - #. type: Yaml Front Matter Hash Value: description #: support/documentation/content/en/documentation/user/streamers/bot/_index.md #, no-wrap diff --git a/support/documentation/po/livechat.hr.po b/support/documentation/po/livechat.hr.po index 986bd268..ed179b51 100644 --- a/support/documentation/po/livechat.hr.po +++ b/support/documentation/po/livechat.hr.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: peertube-plugin-livechat-documentation VERSION\n" -"POT-Creation-Date: 2025-06-06 17:07+0200\n" +"POT-Creation-Date: 2025-06-20 09:17+0200\n" "PO-Revision-Date: 2024-09-16 15:14+0000\n" "Last-Translator: Milo Ivir \n" "Language-Team: Croatian \n" @@ -2641,6 +2641,7 @@ msgstr "" #. type: Plain text #: support/documentation/content/en/documentation/user/obs.md +#: build/documentation/pot_in/documentation/user/streamers/bot/forbidden_words.md #: support/documentation/content/en/documentation/user/viewers.md msgid "This feature can be disabled by the instance's adminitrators." msgstr "" @@ -3107,11 +3108,6 @@ msgstr "" msgid "By checking this option, each line of the \"{{% livechat_label livechat_configuration_channel_forbidden_words_label %}}\" field will be considered as a [regular expression](https://en.wikipedia.org/wiki/Regular_expression)." msgstr "" -#. type: Plain text -#: build/documentation/pot_in/documentation/user/streamers/bot/forbidden_words.md -msgid "Please note that not all regular expression are accepted. Under the hood, we are using the [node-re2](https://github.com/uhop/node-re2) library. Please check [node-re2](https://github.com/uhop/node-re2) and [RE2 documentation](https://github.com/google/re2/wiki/Syntax) for more information about the accepted syntax and the limitations." -msgstr "" - #. type: Yaml Front Matter Hash Value: description #: support/documentation/content/en/documentation/user/streamers/bot/_index.md #, no-wrap diff --git a/support/documentation/po/livechat.hu.po b/support/documentation/po/livechat.hu.po index 2bd6a881..4721639a 100644 --- a/support/documentation/po/livechat.hu.po +++ b/support/documentation/po/livechat.hu.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: peertube-plugin-livechat-documentation VERSION\n" -"POT-Creation-Date: 2025-06-06 17:07+0200\n" +"POT-Creation-Date: 2025-06-20 09:17+0200\n" "PO-Revision-Date: 2023-07-17 10:52+0000\n" "Last-Translator: Anonymous \n" "Language-Team: Hungarian \n" @@ -2613,6 +2613,7 @@ msgstr "" #. type: Plain text #: support/documentation/content/en/documentation/user/obs.md +#: build/documentation/pot_in/documentation/user/streamers/bot/forbidden_words.md #: support/documentation/content/en/documentation/user/viewers.md msgid "This feature can be disabled by the instance's adminitrators." msgstr "" @@ -3061,11 +3062,6 @@ msgstr "" msgid "By checking this option, each line of the \"{{% livechat_label livechat_configuration_channel_forbidden_words_label %}}\" field will be considered as a [regular expression](https://en.wikipedia.org/wiki/Regular_expression)." msgstr "" -#. type: Plain text -#: build/documentation/pot_in/documentation/user/streamers/bot/forbidden_words.md -msgid "Please note that not all regular expression are accepted. Under the hood, we are using the [node-re2](https://github.com/uhop/node-re2) library. Please check [node-re2](https://github.com/uhop/node-re2) and [RE2 documentation](https://github.com/google/re2/wiki/Syntax) for more information about the accepted syntax and the limitations." -msgstr "" - #. type: Yaml Front Matter Hash Value: description #: support/documentation/content/en/documentation/user/streamers/bot/_index.md #, no-wrap diff --git a/support/documentation/po/livechat.is.po b/support/documentation/po/livechat.is.po index b93bdce0..97e3c590 100644 --- a/support/documentation/po/livechat.is.po +++ b/support/documentation/po/livechat.is.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: peertube-plugin-livechat-documentation VERSION\n" -"POT-Creation-Date: 2025-06-06 17:07+0200\n" +"POT-Creation-Date: 2025-06-20 09:17+0200\n" "PO-Revision-Date: 2023-07-17 10:52+0000\n" "Last-Translator: Anonymous \n" "Language-Team: Icelandic \n" @@ -2613,6 +2613,7 @@ msgstr "" #. type: Plain text #: support/documentation/content/en/documentation/user/obs.md +#: build/documentation/pot_in/documentation/user/streamers/bot/forbidden_words.md #: support/documentation/content/en/documentation/user/viewers.md msgid "This feature can be disabled by the instance's adminitrators." msgstr "" @@ -3061,11 +3062,6 @@ msgstr "" msgid "By checking this option, each line of the \"{{% livechat_label livechat_configuration_channel_forbidden_words_label %}}\" field will be considered as a [regular expression](https://en.wikipedia.org/wiki/Regular_expression)." msgstr "" -#. type: Plain text -#: build/documentation/pot_in/documentation/user/streamers/bot/forbidden_words.md -msgid "Please note that not all regular expression are accepted. Under the hood, we are using the [node-re2](https://github.com/uhop/node-re2) library. Please check [node-re2](https://github.com/uhop/node-re2) and [RE2 documentation](https://github.com/google/re2/wiki/Syntax) for more information about the accepted syntax and the limitations." -msgstr "" - #. type: Yaml Front Matter Hash Value: description #: support/documentation/content/en/documentation/user/streamers/bot/_index.md #, no-wrap diff --git a/support/documentation/po/livechat.it.po b/support/documentation/po/livechat.it.po index 4e490a9b..37690af5 100644 --- a/support/documentation/po/livechat.it.po +++ b/support/documentation/po/livechat.it.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: peertube-plugin-livechat-documentation VERSION\n" -"POT-Creation-Date: 2025-06-06 17:07+0200\n" +"POT-Creation-Date: 2025-06-20 09:17+0200\n" "PO-Revision-Date: 2023-07-17 14:21+0000\n" "Last-Translator: John Livingston \n" "Language-Team: Italian \n" @@ -2613,6 +2613,7 @@ msgstr "" #. type: Plain text #: support/documentation/content/en/documentation/user/obs.md +#: build/documentation/pot_in/documentation/user/streamers/bot/forbidden_words.md #: support/documentation/content/en/documentation/user/viewers.md msgid "This feature can be disabled by the instance's adminitrators." msgstr "" @@ -3061,11 +3062,6 @@ msgstr "" msgid "By checking this option, each line of the \"{{% livechat_label livechat_configuration_channel_forbidden_words_label %}}\" field will be considered as a [regular expression](https://en.wikipedia.org/wiki/Regular_expression)." msgstr "" -#. type: Plain text -#: build/documentation/pot_in/documentation/user/streamers/bot/forbidden_words.md -msgid "Please note that not all regular expression are accepted. Under the hood, we are using the [node-re2](https://github.com/uhop/node-re2) library. Please check [node-re2](https://github.com/uhop/node-re2) and [RE2 documentation](https://github.com/google/re2/wiki/Syntax) for more information about the accepted syntax and the limitations." -msgstr "" - #. type: Yaml Front Matter Hash Value: description #: support/documentation/content/en/documentation/user/streamers/bot/_index.md #, no-wrap diff --git a/support/documentation/po/livechat.ja.po b/support/documentation/po/livechat.ja.po index c59f73df..6825584a 100644 --- a/support/documentation/po/livechat.ja.po +++ b/support/documentation/po/livechat.ja.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2025-06-06 17:07+0200\n" +"POT-Creation-Date: 2025-06-20 09:17+0200\n" "PO-Revision-Date: 2024-08-29 10:38+0000\n" "Last-Translator: \"T.S\" \n" "Language-Team: Japanese \n" @@ -2678,6 +2678,7 @@ msgstr "" #. type: Plain text #: support/documentation/content/en/documentation/user/obs.md +#: build/documentation/pot_in/documentation/user/streamers/bot/forbidden_words.md #: support/documentation/content/en/documentation/user/viewers.md msgid "This feature can be disabled by the instance's adminitrators." msgstr "" @@ -3150,11 +3151,6 @@ msgstr "新しい機能のリクエスト、バグ、プラグインのセット msgid "By checking this option, each line of the \"{{% livechat_label livechat_configuration_channel_forbidden_words_label %}}\" field will be considered as a [regular expression](https://en.wikipedia.org/wiki/Regular_expression)." msgstr "" -#. type: Plain text -#: build/documentation/pot_in/documentation/user/streamers/bot/forbidden_words.md -msgid "Please note that not all regular expression are accepted. Under the hood, we are using the [node-re2](https://github.com/uhop/node-re2) library. Please check [node-re2](https://github.com/uhop/node-re2) and [RE2 documentation](https://github.com/google/re2/wiki/Syntax) for more information about the accepted syntax and the limitations." -msgstr "" - #. type: Yaml Front Matter Hash Value: description #: support/documentation/content/en/documentation/user/streamers/bot/_index.md #, fuzzy, no-wrap diff --git a/support/documentation/po/livechat.kab.po b/support/documentation/po/livechat.kab.po index db43ec3c..9953026f 100644 --- a/support/documentation/po/livechat.kab.po +++ b/support/documentation/po/livechat.kab.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: peertube-plugin-livechat-documentation VERSION\n" -"POT-Creation-Date: 2025-06-06 17:07+0200\n" +"POT-Creation-Date: 2025-06-20 09:17+0200\n" "PO-Revision-Date: 2023-07-17 10:52+0000\n" "Last-Translator: Anonymous \n" "Language-Team: Kabyle \n" @@ -2613,6 +2613,7 @@ msgstr "" #. type: Plain text #: support/documentation/content/en/documentation/user/obs.md +#: build/documentation/pot_in/documentation/user/streamers/bot/forbidden_words.md #: support/documentation/content/en/documentation/user/viewers.md msgid "This feature can be disabled by the instance's adminitrators." msgstr "" @@ -3061,11 +3062,6 @@ msgstr "" msgid "By checking this option, each line of the \"{{% livechat_label livechat_configuration_channel_forbidden_words_label %}}\" field will be considered as a [regular expression](https://en.wikipedia.org/wiki/Regular_expression)." msgstr "" -#. type: Plain text -#: build/documentation/pot_in/documentation/user/streamers/bot/forbidden_words.md -msgid "Please note that not all regular expression are accepted. Under the hood, we are using the [node-re2](https://github.com/uhop/node-re2) library. Please check [node-re2](https://github.com/uhop/node-re2) and [RE2 documentation](https://github.com/google/re2/wiki/Syntax) for more information about the accepted syntax and the limitations." -msgstr "" - #. type: Yaml Front Matter Hash Value: description #: support/documentation/content/en/documentation/user/streamers/bot/_index.md #, no-wrap diff --git a/support/documentation/po/livechat.nb.po b/support/documentation/po/livechat.nb.po index 07db983f..a815f614 100644 --- a/support/documentation/po/livechat.nb.po +++ b/support/documentation/po/livechat.nb.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: peertube-plugin-livechat-documentation VERSION\n" -"POT-Creation-Date: 2025-06-06 17:07+0200\n" +"POT-Creation-Date: 2025-06-20 09:17+0200\n" "PO-Revision-Date: 2023-07-17 10:52+0000\n" "Last-Translator: Anonymous \n" "Language-Team: Norwegian Bokmål \n" @@ -2613,6 +2613,7 @@ msgstr "" #. type: Plain text #: support/documentation/content/en/documentation/user/obs.md +#: build/documentation/pot_in/documentation/user/streamers/bot/forbidden_words.md #: support/documentation/content/en/documentation/user/viewers.md msgid "This feature can be disabled by the instance's adminitrators." msgstr "" @@ -3061,11 +3062,6 @@ msgstr "" msgid "By checking this option, each line of the \"{{% livechat_label livechat_configuration_channel_forbidden_words_label %}}\" field will be considered as a [regular expression](https://en.wikipedia.org/wiki/Regular_expression)." msgstr "" -#. type: Plain text -#: build/documentation/pot_in/documentation/user/streamers/bot/forbidden_words.md -msgid "Please note that not all regular expression are accepted. Under the hood, we are using the [node-re2](https://github.com/uhop/node-re2) library. Please check [node-re2](https://github.com/uhop/node-re2) and [RE2 documentation](https://github.com/google/re2/wiki/Syntax) for more information about the accepted syntax and the limitations." -msgstr "" - #. type: Yaml Front Matter Hash Value: description #: support/documentation/content/en/documentation/user/streamers/bot/_index.md #, no-wrap diff --git a/support/documentation/po/livechat.nl.po b/support/documentation/po/livechat.nl.po index 29421cd0..45bfb21e 100644 --- a/support/documentation/po/livechat.nl.po +++ b/support/documentation/po/livechat.nl.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: peertube-plugin-livechat-documentation VERSION\n" -"POT-Creation-Date: 2025-06-06 17:07+0200\n" +"POT-Creation-Date: 2025-06-20 09:17+0200\n" "PO-Revision-Date: 2023-07-17 10:52+0000\n" "Last-Translator: Anonymous \n" "Language-Team: Dutch \n" @@ -2613,6 +2613,7 @@ msgstr "" #. type: Plain text #: support/documentation/content/en/documentation/user/obs.md +#: build/documentation/pot_in/documentation/user/streamers/bot/forbidden_words.md #: support/documentation/content/en/documentation/user/viewers.md msgid "This feature can be disabled by the instance's adminitrators." msgstr "" @@ -3061,11 +3062,6 @@ msgstr "" msgid "By checking this option, each line of the \"{{% livechat_label livechat_configuration_channel_forbidden_words_label %}}\" field will be considered as a [regular expression](https://en.wikipedia.org/wiki/Regular_expression)." msgstr "" -#. type: Plain text -#: build/documentation/pot_in/documentation/user/streamers/bot/forbidden_words.md -msgid "Please note that not all regular expression are accepted. Under the hood, we are using the [node-re2](https://github.com/uhop/node-re2) library. Please check [node-re2](https://github.com/uhop/node-re2) and [RE2 documentation](https://github.com/google/re2/wiki/Syntax) for more information about the accepted syntax and the limitations." -msgstr "" - #. type: Yaml Front Matter Hash Value: description #: support/documentation/content/en/documentation/user/streamers/bot/_index.md #, no-wrap diff --git a/support/documentation/po/livechat.nn.po b/support/documentation/po/livechat.nn.po index d725c320..0067d8d6 100644 --- a/support/documentation/po/livechat.nn.po +++ b/support/documentation/po/livechat.nn.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: peertube-plugin-livechat-documentation VERSION\n" -"POT-Creation-Date: 2025-06-06 17:07+0200\n" +"POT-Creation-Date: 2025-06-20 09:17+0200\n" "PO-Revision-Date: 2023-07-17 10:52+0000\n" "Last-Translator: Anonymous \n" "Language-Team: Norwegian Nynorsk \n" @@ -2613,6 +2613,7 @@ msgstr "" #. type: Plain text #: support/documentation/content/en/documentation/user/obs.md +#: build/documentation/pot_in/documentation/user/streamers/bot/forbidden_words.md #: support/documentation/content/en/documentation/user/viewers.md msgid "This feature can be disabled by the instance's adminitrators." msgstr "" @@ -3061,11 +3062,6 @@ msgstr "" msgid "By checking this option, each line of the \"{{% livechat_label livechat_configuration_channel_forbidden_words_label %}}\" field will be considered as a [regular expression](https://en.wikipedia.org/wiki/Regular_expression)." msgstr "" -#. type: Plain text -#: build/documentation/pot_in/documentation/user/streamers/bot/forbidden_words.md -msgid "Please note that not all regular expression are accepted. Under the hood, we are using the [node-re2](https://github.com/uhop/node-re2) library. Please check [node-re2](https://github.com/uhop/node-re2) and [RE2 documentation](https://github.com/google/re2/wiki/Syntax) for more information about the accepted syntax and the limitations." -msgstr "" - #. type: Yaml Front Matter Hash Value: description #: support/documentation/content/en/documentation/user/streamers/bot/_index.md #, no-wrap diff --git a/support/documentation/po/livechat.oc.po b/support/documentation/po/livechat.oc.po index f1d49fc8..ba39c37c 100644 --- a/support/documentation/po/livechat.oc.po +++ b/support/documentation/po/livechat.oc.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: peertube-plugin-livechat-documentation VERSION\n" -"POT-Creation-Date: 2025-06-06 17:07+0200\n" +"POT-Creation-Date: 2025-06-20 09:17+0200\n" "PO-Revision-Date: 2023-07-17 10:52+0000\n" "Last-Translator: Anonymous \n" "Language-Team: Occitan \n" @@ -2613,6 +2613,7 @@ msgstr "" #. type: Plain text #: support/documentation/content/en/documentation/user/obs.md +#: build/documentation/pot_in/documentation/user/streamers/bot/forbidden_words.md #: support/documentation/content/en/documentation/user/viewers.md msgid "This feature can be disabled by the instance's adminitrators." msgstr "" @@ -3061,11 +3062,6 @@ msgstr "" msgid "By checking this option, each line of the \"{{% livechat_label livechat_configuration_channel_forbidden_words_label %}}\" field will be considered as a [regular expression](https://en.wikipedia.org/wiki/Regular_expression)." msgstr "" -#. type: Plain text -#: build/documentation/pot_in/documentation/user/streamers/bot/forbidden_words.md -msgid "Please note that not all regular expression are accepted. Under the hood, we are using the [node-re2](https://github.com/uhop/node-re2) library. Please check [node-re2](https://github.com/uhop/node-re2) and [RE2 documentation](https://github.com/google/re2/wiki/Syntax) for more information about the accepted syntax and the limitations." -msgstr "" - #. type: Yaml Front Matter Hash Value: description #: support/documentation/content/en/documentation/user/streamers/bot/_index.md #, no-wrap diff --git a/support/documentation/po/livechat.pl.po b/support/documentation/po/livechat.pl.po index 91c593aa..c49692c9 100644 --- a/support/documentation/po/livechat.pl.po +++ b/support/documentation/po/livechat.pl.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: peertube-plugin-livechat-documentation VERSION\n" -"POT-Creation-Date: 2025-06-06 17:07+0200\n" +"POT-Creation-Date: 2025-06-20 09:17+0200\n" "PO-Revision-Date: 2023-07-17 10:52+0000\n" "Last-Translator: Anonymous \n" "Language-Team: Polish \n" @@ -2613,6 +2613,7 @@ msgstr "" #. type: Plain text #: support/documentation/content/en/documentation/user/obs.md +#: build/documentation/pot_in/documentation/user/streamers/bot/forbidden_words.md #: support/documentation/content/en/documentation/user/viewers.md msgid "This feature can be disabled by the instance's adminitrators." msgstr "" @@ -3061,11 +3062,6 @@ msgstr "" msgid "By checking this option, each line of the \"{{% livechat_label livechat_configuration_channel_forbidden_words_label %}}\" field will be considered as a [regular expression](https://en.wikipedia.org/wiki/Regular_expression)." msgstr "" -#. type: Plain text -#: build/documentation/pot_in/documentation/user/streamers/bot/forbidden_words.md -msgid "Please note that not all regular expression are accepted. Under the hood, we are using the [node-re2](https://github.com/uhop/node-re2) library. Please check [node-re2](https://github.com/uhop/node-re2) and [RE2 documentation](https://github.com/google/re2/wiki/Syntax) for more information about the accepted syntax and the limitations." -msgstr "" - #. type: Yaml Front Matter Hash Value: description #: support/documentation/content/en/documentation/user/streamers/bot/_index.md #, no-wrap diff --git a/support/documentation/po/livechat.pt-BR.po b/support/documentation/po/livechat.pt-BR.po index 89ae8a5b..1968a0f3 100644 --- a/support/documentation/po/livechat.pt-BR.po +++ b/support/documentation/po/livechat.pt-BR.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: peertube-plugin-livechat-documentation VERSION\n" -"POT-Creation-Date: 2025-06-06 17:07+0200\n" +"POT-Creation-Date: 2025-06-20 09:17+0200\n" "PO-Revision-Date: 2025-04-10 18:56+0000\n" "Last-Translator: Túlio Simões Martins Padilha \n" "Language-Team: Portuguese (Brazil) \n" @@ -2671,6 +2671,7 @@ msgstr "Doca OBS" #. type: Plain text #: support/documentation/content/en/documentation/user/obs.md +#: build/documentation/pot_in/documentation/user/streamers/bot/forbidden_words.md #: support/documentation/content/en/documentation/user/viewers.md msgid "This feature can be disabled by the instance's adminitrators." msgstr "Esse recurso pode ser desabilitado pelos administradores da instância." @@ -3125,11 +3126,6 @@ msgstr "Este recurso ainda é experimental. Pode haver alguns problemas com alfa msgid "By checking this option, each line of the \"{{% livechat_label livechat_configuration_channel_forbidden_words_label %}}\" field will be considered as a [regular expression](https://en.wikipedia.org/wiki/Regular_expression)." msgstr "Ao marcar esta opção, cada linha do campo \"{{% livechat_label livechat_configuration_channel_forbidden_words_label %}}\" será considerada como uma [expressão regular](https://en.wikipedia.org/wiki/Regular_expression)." -#. type: Plain text -#: build/documentation/pot_in/documentation/user/streamers/bot/forbidden_words.md -msgid "Please note that not all regular expression are accepted. Under the hood, we are using the [node-re2](https://github.com/uhop/node-re2) library. Please check [node-re2](https://github.com/uhop/node-re2) and [RE2 documentation](https://github.com/google/re2/wiki/Syntax) for more information about the accepted syntax and the limitations." -msgstr "" - #. type: Yaml Front Matter Hash Value: description #: support/documentation/content/en/documentation/user/streamers/bot/_index.md #, no-wrap @@ -4978,3 +4974,8 @@ msgstr "os [marcos no github](https://github.com/JohnXLivingston/peertube-plugin #: support/documentation/content/en/issues/_index.md msgid "If you are a webdesigner or a ConverseJS/Prosody/XMPP expert, and want to help improve this plugin, you are welcome." msgstr "Se você é um webdesigner ou especialista em ConverseJS/Prosody/XMPP e quer ajudar a melhorar este plugin, seja bem-vindo." + +#, fuzzy +#~| msgid "This feature can be disabled by the instance's adminitrators." +#~ msgid "This feature is optional and can be disabled by admins." +#~ msgstr "Esse recurso pode ser desabilitado pelos administradores da instância." diff --git a/support/documentation/po/livechat.pt-PT.po b/support/documentation/po/livechat.pt-PT.po index e15f851d..1dc61c1c 100644 --- a/support/documentation/po/livechat.pt-PT.po +++ b/support/documentation/po/livechat.pt-PT.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: peertube-plugin-livechat-documentation VERSION\n" -"POT-Creation-Date: 2025-06-06 17:07+0200\n" +"POT-Creation-Date: 2025-06-20 09:17+0200\n" "PO-Revision-Date: 2023-07-17 10:52+0000\n" "Last-Translator: Anonymous \n" "Language-Team: Portuguese \n" @@ -2613,6 +2613,7 @@ msgstr "" #. type: Plain text #: support/documentation/content/en/documentation/user/obs.md +#: build/documentation/pot_in/documentation/user/streamers/bot/forbidden_words.md #: support/documentation/content/en/documentation/user/viewers.md msgid "This feature can be disabled by the instance's adminitrators." msgstr "" @@ -3061,11 +3062,6 @@ msgstr "" msgid "By checking this option, each line of the \"{{% livechat_label livechat_configuration_channel_forbidden_words_label %}}\" field will be considered as a [regular expression](https://en.wikipedia.org/wiki/Regular_expression)." msgstr "" -#. type: Plain text -#: build/documentation/pot_in/documentation/user/streamers/bot/forbidden_words.md -msgid "Please note that not all regular expression are accepted. Under the hood, we are using the [node-re2](https://github.com/uhop/node-re2) library. Please check [node-re2](https://github.com/uhop/node-re2) and [RE2 documentation](https://github.com/google/re2/wiki/Syntax) for more information about the accepted syntax and the limitations." -msgstr "" - #. type: Yaml Front Matter Hash Value: description #: support/documentation/content/en/documentation/user/streamers/bot/_index.md #, no-wrap diff --git a/support/documentation/po/livechat.ru.po b/support/documentation/po/livechat.ru.po index 953de0d9..2a538fca 100644 --- a/support/documentation/po/livechat.ru.po +++ b/support/documentation/po/livechat.ru.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: peertube-plugin-livechat-documentation VERSION\n" -"POT-Creation-Date: 2025-06-06 17:07+0200\n" +"POT-Creation-Date: 2025-06-20 09:17+0200\n" "PO-Revision-Date: 2023-07-17 10:52+0000\n" "Last-Translator: Anonymous \n" "Language-Team: Russian \n" @@ -2613,6 +2613,7 @@ msgstr "" #. type: Plain text #: support/documentation/content/en/documentation/user/obs.md +#: build/documentation/pot_in/documentation/user/streamers/bot/forbidden_words.md #: support/documentation/content/en/documentation/user/viewers.md msgid "This feature can be disabled by the instance's adminitrators." msgstr "" @@ -3061,11 +3062,6 @@ msgstr "" msgid "By checking this option, each line of the \"{{% livechat_label livechat_configuration_channel_forbidden_words_label %}}\" field will be considered as a [regular expression](https://en.wikipedia.org/wiki/Regular_expression)." msgstr "" -#. type: Plain text -#: build/documentation/pot_in/documentation/user/streamers/bot/forbidden_words.md -msgid "Please note that not all regular expression are accepted. Under the hood, we are using the [node-re2](https://github.com/uhop/node-re2) library. Please check [node-re2](https://github.com/uhop/node-re2) and [RE2 documentation](https://github.com/google/re2/wiki/Syntax) for more information about the accepted syntax and the limitations." -msgstr "" - #. type: Yaml Front Matter Hash Value: description #: support/documentation/content/en/documentation/user/streamers/bot/_index.md #, no-wrap diff --git a/support/documentation/po/livechat.sq.po b/support/documentation/po/livechat.sq.po index 1f0b47af..cf4cf312 100644 --- a/support/documentation/po/livechat.sq.po +++ b/support/documentation/po/livechat.sq.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: peertube-plugin-livechat-documentation VERSION\n" -"POT-Creation-Date: 2025-06-06 17:07+0200\n" +"POT-Creation-Date: 2025-06-20 09:17+0200\n" "PO-Revision-Date: 2023-07-17 10:52+0000\n" "Last-Translator: Anonymous \n" "Language-Team: Albanian \n" @@ -2613,6 +2613,7 @@ msgstr "" #. type: Plain text #: support/documentation/content/en/documentation/user/obs.md +#: build/documentation/pot_in/documentation/user/streamers/bot/forbidden_words.md #: support/documentation/content/en/documentation/user/viewers.md msgid "This feature can be disabled by the instance's adminitrators." msgstr "" @@ -3061,11 +3062,6 @@ msgstr "" msgid "By checking this option, each line of the \"{{% livechat_label livechat_configuration_channel_forbidden_words_label %}}\" field will be considered as a [regular expression](https://en.wikipedia.org/wiki/Regular_expression)." msgstr "" -#. type: Plain text -#: build/documentation/pot_in/documentation/user/streamers/bot/forbidden_words.md -msgid "Please note that not all regular expression are accepted. Under the hood, we are using the [node-re2](https://github.com/uhop/node-re2) library. Please check [node-re2](https://github.com/uhop/node-re2) and [RE2 documentation](https://github.com/google/re2/wiki/Syntax) for more information about the accepted syntax and the limitations." -msgstr "" - #. type: Yaml Front Matter Hash Value: description #: support/documentation/content/en/documentation/user/streamers/bot/_index.md #, no-wrap diff --git a/support/documentation/po/livechat.sv.po b/support/documentation/po/livechat.sv.po index a19e57f7..d05b4e67 100644 --- a/support/documentation/po/livechat.sv.po +++ b/support/documentation/po/livechat.sv.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: peertube-plugin-livechat-documentation VERSION\n" -"POT-Creation-Date: 2025-06-06 17:07+0200\n" +"POT-Creation-Date: 2025-06-20 09:17+0200\n" "PO-Revision-Date: 2023-07-17 10:52+0000\n" "Last-Translator: Anonymous \n" "Language-Team: Swedish \n" @@ -2613,6 +2613,7 @@ msgstr "" #. type: Plain text #: support/documentation/content/en/documentation/user/obs.md +#: build/documentation/pot_in/documentation/user/streamers/bot/forbidden_words.md #: support/documentation/content/en/documentation/user/viewers.md msgid "This feature can be disabled by the instance's adminitrators." msgstr "" @@ -3061,11 +3062,6 @@ msgstr "" msgid "By checking this option, each line of the \"{{% livechat_label livechat_configuration_channel_forbidden_words_label %}}\" field will be considered as a [regular expression](https://en.wikipedia.org/wiki/Regular_expression)." msgstr "" -#. type: Plain text -#: build/documentation/pot_in/documentation/user/streamers/bot/forbidden_words.md -msgid "Please note that not all regular expression are accepted. Under the hood, we are using the [node-re2](https://github.com/uhop/node-re2) library. Please check [node-re2](https://github.com/uhop/node-re2) and [RE2 documentation](https://github.com/google/re2/wiki/Syntax) for more information about the accepted syntax and the limitations." -msgstr "" - #. type: Yaml Front Matter Hash Value: description #: support/documentation/content/en/documentation/user/streamers/bot/_index.md #, no-wrap diff --git a/support/documentation/po/livechat.th.po b/support/documentation/po/livechat.th.po index fb75fb35..9eed3907 100644 --- a/support/documentation/po/livechat.th.po +++ b/support/documentation/po/livechat.th.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: peertube-plugin-livechat-documentation VERSION\n" -"POT-Creation-Date: 2025-06-06 17:07+0200\n" +"POT-Creation-Date: 2025-06-20 09:17+0200\n" "PO-Revision-Date: 2023-07-17 10:52+0000\n" "Last-Translator: Anonymous \n" "Language-Team: Thai \n" @@ -2613,6 +2613,7 @@ msgstr "" #. type: Plain text #: support/documentation/content/en/documentation/user/obs.md +#: build/documentation/pot_in/documentation/user/streamers/bot/forbidden_words.md #: support/documentation/content/en/documentation/user/viewers.md msgid "This feature can be disabled by the instance's adminitrators." msgstr "" @@ -3061,11 +3062,6 @@ msgstr "" msgid "By checking this option, each line of the \"{{% livechat_label livechat_configuration_channel_forbidden_words_label %}}\" field will be considered as a [regular expression](https://en.wikipedia.org/wiki/Regular_expression)." msgstr "" -#. type: Plain text -#: build/documentation/pot_in/documentation/user/streamers/bot/forbidden_words.md -msgid "Please note that not all regular expression are accepted. Under the hood, we are using the [node-re2](https://github.com/uhop/node-re2) library. Please check [node-re2](https://github.com/uhop/node-re2) and [RE2 documentation](https://github.com/google/re2/wiki/Syntax) for more information about the accepted syntax and the limitations." -msgstr "" - #. type: Yaml Front Matter Hash Value: description #: support/documentation/content/en/documentation/user/streamers/bot/_index.md #, no-wrap diff --git a/support/documentation/po/livechat.tok.po b/support/documentation/po/livechat.tok.po index d7e23a94..8ec1b4be 100644 --- a/support/documentation/po/livechat.tok.po +++ b/support/documentation/po/livechat.tok.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: peertube-plugin-livechat-documentation VERSION\n" -"POT-Creation-Date: 2025-06-06 17:07+0200\n" +"POT-Creation-Date: 2025-06-20 09:17+0200\n" "PO-Revision-Date: 2023-07-17 10:53+0000\n" "Last-Translator: Anonymous \n" "Language-Team: Toki Pona \n" @@ -2613,6 +2613,7 @@ msgstr "" #. type: Plain text #: support/documentation/content/en/documentation/user/obs.md +#: build/documentation/pot_in/documentation/user/streamers/bot/forbidden_words.md #: support/documentation/content/en/documentation/user/viewers.md msgid "This feature can be disabled by the instance's adminitrators." msgstr "" @@ -3061,11 +3062,6 @@ msgstr "" msgid "By checking this option, each line of the \"{{% livechat_label livechat_configuration_channel_forbidden_words_label %}}\" field will be considered as a [regular expression](https://en.wikipedia.org/wiki/Regular_expression)." msgstr "" -#. type: Plain text -#: build/documentation/pot_in/documentation/user/streamers/bot/forbidden_words.md -msgid "Please note that not all regular expression are accepted. Under the hood, we are using the [node-re2](https://github.com/uhop/node-re2) library. Please check [node-re2](https://github.com/uhop/node-re2) and [RE2 documentation](https://github.com/google/re2/wiki/Syntax) for more information about the accepted syntax and the limitations." -msgstr "" - #. type: Yaml Front Matter Hash Value: description #: support/documentation/content/en/documentation/user/streamers/bot/_index.md #, no-wrap diff --git a/support/documentation/po/livechat.tr.po b/support/documentation/po/livechat.tr.po index b8ac71d2..f542d646 100644 --- a/support/documentation/po/livechat.tr.po +++ b/support/documentation/po/livechat.tr.po @@ -2594,6 +2594,7 @@ msgstr "" #. type: Plain text #: support/documentation/content/en/documentation/user/obs.md +#: build/documentation/pot_in/documentation/user/streamers/bot/forbidden_words.md #: support/documentation/content/en/documentation/user/viewers.md msgid "This feature can be disabled by the instance's adminitrators." msgstr "" @@ -3042,11 +3043,6 @@ msgstr "" msgid "By checking this option, each line of the \"{{% livechat_label livechat_configuration_channel_forbidden_words_label %}}\" field will be considered as a [regular expression](https://en.wikipedia.org/wiki/Regular_expression)." msgstr "" -#. type: Plain text -#: build/documentation/pot_in/documentation/user/streamers/bot/forbidden_words.md -msgid "Please note that not all regular expression are accepted. Under the hood, we are using the [node-re2](https://github.com/uhop/node-re2) library. Please check [node-re2](https://github.com/uhop/node-re2) and [RE2 documentation](https://github.com/google/re2/wiki/Syntax) for more information about the accepted syntax and the limitations." -msgstr "" - #. type: Yaml Front Matter Hash Value: description #: support/documentation/content/en/documentation/user/streamers/bot/_index.md #, no-wrap diff --git a/support/documentation/po/livechat.uk.po b/support/documentation/po/livechat.uk.po index 1c6b98fe..69a30c89 100644 --- a/support/documentation/po/livechat.uk.po +++ b/support/documentation/po/livechat.uk.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: peertube-plugin-livechat-documentation VERSION\n" -"POT-Creation-Date: 2025-06-06 17:07+0200\n" +"POT-Creation-Date: 2025-06-20 09:17+0200\n" "PO-Revision-Date: 2024-10-13 09:25+0000\n" "Last-Translator: Ihor Hordiichuk \n" "Language-Team: Ukrainian \n" @@ -2613,6 +2613,7 @@ msgstr "" #. type: Plain text #: support/documentation/content/en/documentation/user/obs.md +#: build/documentation/pot_in/documentation/user/streamers/bot/forbidden_words.md #: support/documentation/content/en/documentation/user/viewers.md msgid "This feature can be disabled by the instance's adminitrators." msgstr "" @@ -3061,11 +3062,6 @@ msgstr "" msgid "By checking this option, each line of the \"{{% livechat_label livechat_configuration_channel_forbidden_words_label %}}\" field will be considered as a [regular expression](https://en.wikipedia.org/wiki/Regular_expression)." msgstr "" -#. type: Plain text -#: build/documentation/pot_in/documentation/user/streamers/bot/forbidden_words.md -msgid "Please note that not all regular expression are accepted. Under the hood, we are using the [node-re2](https://github.com/uhop/node-re2) library. Please check [node-re2](https://github.com/uhop/node-re2) and [RE2 documentation](https://github.com/google/re2/wiki/Syntax) for more information about the accepted syntax and the limitations." -msgstr "" - #. type: Yaml Front Matter Hash Value: description #: support/documentation/content/en/documentation/user/streamers/bot/_index.md #, no-wrap diff --git a/support/documentation/po/livechat.vi.po b/support/documentation/po/livechat.vi.po index 4a4089f3..b2eb70c1 100644 --- a/support/documentation/po/livechat.vi.po +++ b/support/documentation/po/livechat.vi.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: peertube-plugin-livechat-documentation VERSION\n" -"POT-Creation-Date: 2025-06-06 17:07+0200\n" +"POT-Creation-Date: 2025-06-20 09:17+0200\n" "PO-Revision-Date: 2023-07-17 10:53+0000\n" "Last-Translator: Anonymous \n" "Language-Team: Vietnamese \n" @@ -2613,6 +2613,7 @@ msgstr "" #. type: Plain text #: support/documentation/content/en/documentation/user/obs.md +#: build/documentation/pot_in/documentation/user/streamers/bot/forbidden_words.md #: support/documentation/content/en/documentation/user/viewers.md msgid "This feature can be disabled by the instance's adminitrators." msgstr "" @@ -3061,11 +3062,6 @@ msgstr "" msgid "By checking this option, each line of the \"{{% livechat_label livechat_configuration_channel_forbidden_words_label %}}\" field will be considered as a [regular expression](https://en.wikipedia.org/wiki/Regular_expression)." msgstr "" -#. type: Plain text -#: build/documentation/pot_in/documentation/user/streamers/bot/forbidden_words.md -msgid "Please note that not all regular expression are accepted. Under the hood, we are using the [node-re2](https://github.com/uhop/node-re2) library. Please check [node-re2](https://github.com/uhop/node-re2) and [RE2 documentation](https://github.com/google/re2/wiki/Syntax) for more information about the accepted syntax and the limitations." -msgstr "" - #. type: Yaml Front Matter Hash Value: description #: support/documentation/content/en/documentation/user/streamers/bot/_index.md #, no-wrap diff --git a/support/documentation/po/livechat.zh-Hans.po b/support/documentation/po/livechat.zh-Hans.po index 5ce2db81..3dcd0d55 100644 --- a/support/documentation/po/livechat.zh-Hans.po +++ b/support/documentation/po/livechat.zh-Hans.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: peertube-plugin-livechat-documentation VERSION\n" -"POT-Creation-Date: 2025-06-06 17:07+0200\n" +"POT-Creation-Date: 2025-06-20 09:17+0200\n" "PO-Revision-Date: 2023-07-17 10:53+0000\n" "Last-Translator: Anonymous \n" "Language-Team: Chinese (Simplified) \n" @@ -2613,6 +2613,7 @@ msgstr "" #. type: Plain text #: support/documentation/content/en/documentation/user/obs.md +#: build/documentation/pot_in/documentation/user/streamers/bot/forbidden_words.md #: support/documentation/content/en/documentation/user/viewers.md msgid "This feature can be disabled by the instance's adminitrators." msgstr "" @@ -3061,11 +3062,6 @@ msgstr "" msgid "By checking this option, each line of the \"{{% livechat_label livechat_configuration_channel_forbidden_words_label %}}\" field will be considered as a [regular expression](https://en.wikipedia.org/wiki/Regular_expression)." msgstr "" -#. type: Plain text -#: build/documentation/pot_in/documentation/user/streamers/bot/forbidden_words.md -msgid "Please note that not all regular expression are accepted. Under the hood, we are using the [node-re2](https://github.com/uhop/node-re2) library. Please check [node-re2](https://github.com/uhop/node-re2) and [RE2 documentation](https://github.com/google/re2/wiki/Syntax) for more information about the accepted syntax and the limitations." -msgstr "" - #. type: Yaml Front Matter Hash Value: description #: support/documentation/content/en/documentation/user/streamers/bot/_index.md #, no-wrap diff --git a/support/documentation/po/livechat.zh-Hant.po b/support/documentation/po/livechat.zh-Hant.po index dee7958a..5d7629b7 100644 --- a/support/documentation/po/livechat.zh-Hant.po +++ b/support/documentation/po/livechat.zh-Hant.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: peertube-plugin-livechat-documentation VERSION\n" -"POT-Creation-Date: 2025-06-06 17:07+0200\n" +"POT-Creation-Date: 2025-06-20 09:17+0200\n" "PO-Revision-Date: 2023-07-17 10:53+0000\n" "Last-Translator: Anonymous \n" "Language-Team: Chinese (Traditional) \n" @@ -2613,6 +2613,7 @@ msgstr "" #. type: Plain text #: support/documentation/content/en/documentation/user/obs.md +#: build/documentation/pot_in/documentation/user/streamers/bot/forbidden_words.md #: support/documentation/content/en/documentation/user/viewers.md msgid "This feature can be disabled by the instance's adminitrators." msgstr "" @@ -3061,11 +3062,6 @@ msgstr "" msgid "By checking this option, each line of the \"{{% livechat_label livechat_configuration_channel_forbidden_words_label %}}\" field will be considered as a [regular expression](https://en.wikipedia.org/wiki/Regular_expression)." msgstr "" -#. type: Plain text -#: build/documentation/pot_in/documentation/user/streamers/bot/forbidden_words.md -msgid "Please note that not all regular expression are accepted. Under the hood, we are using the [node-re2](https://github.com/uhop/node-re2) library. Please check [node-re2](https://github.com/uhop/node-re2) and [RE2 documentation](https://github.com/google/re2/wiki/Syntax) for more information about the accepted syntax and the limitations." -msgstr "" - #. type: Yaml Front Matter Hash Value: description #: support/documentation/content/en/documentation/user/streamers/bot/_index.md #, no-wrap