diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 833bf62dc..b52fc7f6e 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -34,3 +34,8 @@ - What did you do to achieve this? - How would a reviewer test the change? 6. Mind the license. Your contributions will be licensed under the GNU Affero General Public License. If you don't know what that implies, consult your lawyer. + +## Further reading + +1. [How to write UI extensions](https://docs.sillytavern.app/for-contributors/writing-extensions/) +2. [How to write server plugins](https://docs.sillytavern.app/for-contributors/server-plugins) diff --git a/package-lock.json b/package-lock.json index 300041962..3862aa21f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1391,12 +1391,11 @@ "license": "MIT" }, "node_modules/axios": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.1.tgz", - "integrity": "sha512-vfBmhDpKafglh0EldBEbVuoe7DyAavGSLWhuSm5ZSEKQnHhBf0xAAwybbNH1IkrJNGnS/VG4I5yxig1pCEXE4g==", - "license": "MIT", + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.7.4.tgz", + "integrity": "sha512-DukmaFRnY6AzAALSH4J2M3k6PkaC+MfaAGdEERRWcC9q3/TWQwLpHR8ZRLKTdQ3aBDL64EdluRDjJqKw+BPZEw==", "dependencies": { - "follow-redirects": "^1.15.0", + "follow-redirects": "^1.15.6", "form-data": "^4.0.0", "proxy-from-env": "^1.1.0" } diff --git a/public/index.html b/public/index.html index 9629415cb..48cc5c2a9 100644 --- a/public/index.html +++ b/public/index.html @@ -383,7 +383,7 @@ Max Response Length (tokens)
- +
@@ -2573,6 +2573,7 @@ + diff --git a/public/scripts/extensions/quick-reply/api/QuickReplyApi.js b/public/scripts/extensions/quick-reply/api/QuickReplyApi.js index fedb6d0e6..59c258620 100644 --- a/public/scripts/extensions/quick-reply/api/QuickReplyApi.js +++ b/public/scripts/extensions/quick-reply/api/QuickReplyApi.js @@ -204,6 +204,7 @@ export class QuickReplyApi { * @param {boolean} [props.executeOnAi] whether to execute the quick reply after the AI has sent a message * @param {boolean} [props.executeOnChatChange] whether to execute the quick reply when a new chat is loaded * @param {boolean} [props.executeOnGroupMemberDraft] whether to execute the quick reply when a group member is selected + * @param {boolean} [props.executeOnNewChat] whether to execute the quick reply when a new chat is created * @param {string} [props.automationId] when not empty, the quick reply will be executed when the WI with the given automation ID is activated * @returns {QuickReply} the new quick reply */ @@ -218,6 +219,7 @@ export class QuickReplyApi { executeOnAi, executeOnChatChange, executeOnGroupMemberDraft, + executeOnNewChat, automationId, } = {}) { const set = this.getSetByName(setName); @@ -236,6 +238,7 @@ export class QuickReplyApi { qr.executeOnAi = executeOnAi ?? false; qr.executeOnChatChange = executeOnChatChange ?? false; qr.executeOnGroupMemberDraft = executeOnGroupMemberDraft ?? false; + qr.executeOnNewChat = executeOnNewChat ?? false; qr.automationId = automationId ?? ''; qr.onUpdate(); return qr; @@ -258,6 +261,7 @@ export class QuickReplyApi { * @param {boolean} [props.executeOnAi] whether to execute the quick reply after the AI has sent a message * @param {boolean} [props.executeOnChatChange] whether to execute the quick reply when a new chat is loaded * @param {boolean} [props.executeOnGroupMemberDraft] whether to execute the quick reply when a group member is selected + * @param {boolean} [props.executeOnNewChat] whether to execute the quick reply when a new chat is created * @param {string} [props.automationId] when not empty, the quick reply will be executed when the WI with the given automation ID is activated * @returns {QuickReply} the altered quick reply */ @@ -273,6 +277,7 @@ export class QuickReplyApi { executeOnAi, executeOnChatChange, executeOnGroupMemberDraft, + executeOnNewChat, automationId, } = {}) { const qr = this.getQrByLabel(setName, label); @@ -290,6 +295,7 @@ export class QuickReplyApi { qr.executeOnAi = executeOnAi ?? qr.executeOnAi; qr.executeOnChatChange = executeOnChatChange ?? qr.executeOnChatChange; qr.executeOnGroupMemberDraft = executeOnGroupMemberDraft ?? qr.executeOnGroupMemberDraft; + qr.executeOnNewChat = executeOnNewChat ?? qr.executeOnNewChat; qr.automationId = automationId ?? qr.automationId; qr.onUpdate(); return qr; diff --git a/public/scripts/extensions/quick-reply/html/qrEditor.html b/public/scripts/extensions/quick-reply/html/qrEditor.html index 89766d78a..e81a11ba2 100644 --- a/public/scripts/extensions/quick-reply/html/qrEditor.html +++ b/public/scripts/extensions/quick-reply/html/qrEditor.html @@ -108,6 +108,10 @@ Execute on chat change +