Merge branch 'staging' of https://github.com/Cohee1207/SillyTavern into staging
This commit is contained in:
commit
1a1878f095
|
@ -1,10 +1,10 @@
|
|||
{
|
||||
"name": "Llama 2",
|
||||
"system_prompt": "[INST] <<SYS>>\nWrite {{char}}'s next reply in this fictional roleplay with {{user}}.\n<</SYS>>\n",
|
||||
"name": "Llama 2 Chat",
|
||||
"system_prompt": "Write {{char}}'s next reply in this fictional roleplay with {{user}}.",
|
||||
"input_sequence": "[INST] ",
|
||||
"output_sequence": " [/INST] ",
|
||||
"last_output_sequence": "",
|
||||
"system_sequence": "[INST] <<SYS>>\n",
|
||||
"system_sequence": "[INST] <<SYS>>\n{{sys}}\n<</SYS>>\n",
|
||||
"stop_sequence": "",
|
||||
"separator_sequence": "\n",
|
||||
"wrap": false,
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"name": "OpenOrca/OpenChat",
|
||||
"name": "OpenOrca-OpenChat",
|
||||
"system_prompt": "You are a helpful assistant. Please answer truthfully and write out your thinking step by step to be sure you get the right answer. If you make a mistake or encounter an error in your thinking, say so out loud and attempt to correct it. If you don't know or aren't sure about something, say so clearly. You will act as a professional logician, mathematician, and physicist. You will also act as the most appropriate type of expert to answer any particular question or solve the relevant problem; state which expert type your are, if so. Also think of any particular named expert that would be ideal to answer the relevant question or solve the relevant problem; name and act as them, if appropriate.\n",
|
||||
"input_sequence": "User: ",
|
||||
"output_sequence": "<|end_of_turn|>\nAssistant: ",
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import { humanizedDateTime, favsToHotswap, getMessageTimeStamp, dragElement, isMobile, } from "./scripts/RossAscends-mods.js";
|
||||
import { humanizedDateTime, favsToHotswap, getMessageTimeStamp, dragElement, isMobile, initRossMods, } from "./scripts/RossAscends-mods.js";
|
||||
import { userStatsHandler, statMesProcess } from './scripts/stats.js';
|
||||
import {
|
||||
generateKoboldWithStreaming,
|
||||
|
@ -156,7 +156,7 @@ import {
|
|||
import { EventEmitter } from './lib/eventemitter.js';
|
||||
import { markdownExclusionExt } from "./scripts/showdown-exclusion.js";
|
||||
import { NOTE_MODULE_NAME, metadata_keys, setFloatingPrompt, shouldWIAddPrompt } from "./scripts/authors-note.js";
|
||||
import { deviceInfo } from "./scripts/RossAscends-mods.js";
|
||||
import { getDeviceInfo } from "./scripts/RossAscends-mods.js";
|
||||
import { registerPromptManagerMigration } from "./scripts/PromptManager.js";
|
||||
import { getRegexedString, regex_placement } from "./scripts/extensions/regex/engine.js";
|
||||
import { FILTER_TYPES, FilterHelper } from "./scripts/filters.js";
|
||||
|
@ -6293,6 +6293,7 @@ function openCharacterWorldPopup() {
|
|||
template.find('.character_name').text(name);
|
||||
|
||||
// Not needed on mobile
|
||||
const deviceInfo = getDeviceInfo();
|
||||
if (deviceInfo && deviceInfo.device.type === 'desktop') {
|
||||
$(extraSelect).select2({
|
||||
width: '100%',
|
||||
|
@ -6337,18 +6338,6 @@ function openCharacterWorldPopup() {
|
|||
return;
|
||||
}
|
||||
|
||||
/*let selectScrollTop = null;
|
||||
|
||||
if (deviceInfo && deviceInfo.device.type === 'desktop') {
|
||||
e.preventDefault();
|
||||
const option = $(e.target);
|
||||
const selectElement = $(extraSelect)[0];
|
||||
selectScrollTop = selectElement.scrollTop;
|
||||
option.prop('selected', !option.prop('selected'));
|
||||
await delay(1);
|
||||
selectElement.scrollTop = selectScrollTop;
|
||||
}*/
|
||||
|
||||
onExtraWorldInfoChanged();
|
||||
});
|
||||
|
||||
|
@ -9021,4 +9010,7 @@ $(document).ready(function () {
|
|||
$("#hideCharPanelAvatarButton").on('click', () => {
|
||||
$('#avatar-and-name-block').slideToggle()
|
||||
});
|
||||
|
||||
// Added here to prevent execution before script.js is loaded and get rid of quirky timeouts
|
||||
initRossMods();
|
||||
});
|
||||
|
|
|
@ -98,28 +98,45 @@ export function humanizeGenTime(total_gen_time) {
|
|||
return time_spent;
|
||||
}
|
||||
|
||||
|
||||
|
||||
// Device detection
|
||||
export const deviceInfo = await getDeviceInfo();
|
||||
|
||||
async function getDeviceInfo() {
|
||||
try {
|
||||
const deviceInfo = await (await fetch('/deviceinfo')).json();
|
||||
console.log("Device type: " + deviceInfo?.device?.type);
|
||||
return deviceInfo;
|
||||
}
|
||||
catch {
|
||||
console.log("Couldn't load device info. Defaulting to desktop");
|
||||
return { device: { type: 'desktop' } };
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks if the device is a mobile device.
|
||||
* @returns {boolean} - True if the device is a mobile device, false otherwise.
|
||||
*/
|
||||
export function isMobile() {
|
||||
const mobileTypes = ['smartphone', 'tablet', 'phablet', 'feature phone', 'portable media player'];
|
||||
const deviceInfo = getDeviceInfo();
|
||||
|
||||
return mobileTypes.includes(deviceInfo?.device?.type);
|
||||
}
|
||||
|
||||
/**
|
||||
* Loads device info from the server. Caches the result in sessionStorage.
|
||||
* @returns {object} - The device info object.
|
||||
*/
|
||||
export function getDeviceInfo() {
|
||||
let deviceInfo = null;
|
||||
|
||||
if (sessionStorage.getItem('deviceInfo')) {
|
||||
deviceInfo = JSON.parse(sessionStorage.getItem('deviceInfo'));
|
||||
} else {
|
||||
$.ajax({
|
||||
url: '/deviceinfo',
|
||||
dataType: 'json',
|
||||
async: false,
|
||||
cache: true,
|
||||
success: function (result) {
|
||||
sessionStorage.setItem('deviceInfo', JSON.stringify(result));
|
||||
deviceInfo = result;
|
||||
},
|
||||
error: function () {
|
||||
console.log("Couldn't load device info. Defaulting to desktop");
|
||||
deviceInfo = { device: { type: 'desktop' } };
|
||||
},
|
||||
});
|
||||
}
|
||||
return deviceInfo;
|
||||
}
|
||||
|
||||
function shouldSendOnEnter() {
|
||||
if (!power_user) {
|
||||
return false;
|
||||
|
@ -394,8 +411,8 @@ function isUrlOrAPIKey(string) {
|
|||
}
|
||||
|
||||
function OpenNavPanels() {
|
||||
|
||||
if (deviceInfo.device.type === 'desktop') {
|
||||
const deviceInfo = getDeviceInfo();
|
||||
if (deviceInfo && deviceInfo.device.type === 'desktop') {
|
||||
//auto-open R nav if locked and previously open
|
||||
if (LoadLocalBool("NavLockOn") == true && LoadLocalBool("NavOpened") == true) {
|
||||
//console.log("RA -- clicking right nav to open");
|
||||
|
@ -669,13 +686,7 @@ export async function initMovingUI() {
|
|||
|
||||
// ---------------------------------------------------
|
||||
|
||||
jQuery(async function () {
|
||||
try {
|
||||
await waitUntilCondition(() => online_status !== undefined, 1000, 10);
|
||||
} catch {
|
||||
console.log('Timeout waiting for online_status');
|
||||
}
|
||||
|
||||
export function initRossMods() {
|
||||
// initial status check
|
||||
setTimeout(() => {
|
||||
RA_checkOnlineStatus();
|
||||
|
@ -1070,4 +1081,4 @@ jQuery(async function () {
|
|||
console.log("Ctrl +" + event.key + " pressed!");
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
|
|
@ -699,10 +699,8 @@ async function runGenerationInterceptors(chat, contextSize) {
|
|||
}
|
||||
|
||||
jQuery(function () {
|
||||
setTimeout(async function () {
|
||||
addExtensionsButtonAndMenu();
|
||||
$("#extensionsMenuButton").css("display", "flex");
|
||||
}, 100)
|
||||
addExtensionsButtonAndMenu();
|
||||
$("#extensionsMenuButton").css("display", "flex");
|
||||
|
||||
$("#extensions_connect").on('click', connectClickHandler);
|
||||
$("#extensions_autoconnect").on('input', autoConnectInputHandler);
|
||||
|
|
|
@ -7,8 +7,7 @@ import {
|
|||
} from "../script.js";
|
||||
import { SECRET_KEYS, writeSecret } from "./secrets.js";
|
||||
import { delay } from "./utils.js";
|
||||
import { deviceInfo } from "./RossAscends-mods.js";
|
||||
import { power_user } from "./power-user.js";
|
||||
import { getDeviceInfo } from "./RossAscends-mods.js";
|
||||
import { autoSelectInstructPreset } from "./instruct-mode.js";
|
||||
|
||||
export {
|
||||
|
@ -259,7 +258,8 @@ jQuery(function () {
|
|||
$("#horde_kudos").on("click", showKudos);
|
||||
|
||||
// Not needed on mobile
|
||||
if (deviceInfo.device.type === 'desktop') {
|
||||
const deviceInfo = getDeviceInfo();
|
||||
if (deviceInfo && deviceInfo.device.type === 'desktop') {
|
||||
$('#horde_model').select2({
|
||||
width: '100%',
|
||||
placeholder: 'Select Horde models',
|
||||
|
|
|
@ -256,7 +256,12 @@ export function formatInstructModeChat(name, mes, isUser, isNarrator, forceAvata
|
|||
export function formatInstructModeSystemPrompt(systemPrompt){
|
||||
if (power_user.instruct.system_sequence) {
|
||||
const separator = power_user.instruct.wrap ? '\n' : '';
|
||||
return power_user.instruct.system_sequence + separator + systemPrompt;
|
||||
|
||||
if (power_user.instruct.system_sequence.includes("{{sys}}")) {
|
||||
return power_user.instruct.system_sequence.replace(/{{sys}}/gi, systemPrompt);
|
||||
} else {
|
||||
return power_user.instruct.system_sequence + separator + systemPrompt;
|
||||
}
|
||||
}
|
||||
|
||||
return systemPrompt;
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
import { getContext } from "./extensions.js";
|
||||
import { getRequestHeaders } from "../script.js";
|
||||
import { isMobile } from "./RossAscends-mods.js";
|
||||
|
||||
/**
|
||||
* Pagination status string template.
|
||||
|
@ -38,10 +39,10 @@ export function isDigitsOnly(str) {
|
|||
|
||||
/**
|
||||
* Gets a drag delay for sortable elements. This is to prevent accidental drags when scrolling.
|
||||
* @returns {number} The delay in milliseconds. 100ms for desktop, 750ms for mobile.
|
||||
* @returns {number} The delay in milliseconds. 50ms for desktop, 750ms for mobile.
|
||||
*/
|
||||
export function getSortableDelay() {
|
||||
return navigator.maxTouchPoints > 0 ? 750 : 100;
|
||||
return isMobile() ? 750 : 50;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -3,7 +3,7 @@ import { download, debounce, initScrollHeight, resetScrollHeight, parseJsonFile,
|
|||
import { getContext } from "./extensions.js";
|
||||
import { NOTE_MODULE_NAME, metadata_keys, shouldWIAddPrompt } from "./authors-note.js";
|
||||
import { registerSlashCommand } from "./slash-commands.js";
|
||||
import { deviceInfo } from "./RossAscends-mods.js";
|
||||
import { getDeviceInfo } from "./RossAscends-mods.js";
|
||||
import { FILTER_TYPES, FilterHelper } from "./filters.js";
|
||||
import { getTokenCount } from "./tokenizers.js";
|
||||
|
||||
|
@ -1621,7 +1621,8 @@ jQuery(() => {
|
|||
});
|
||||
|
||||
// Not needed on mobile
|
||||
if (deviceInfo.device.type === 'desktop') {
|
||||
const deviceInfo = getDeviceInfo();
|
||||
if (deviceInfo && deviceInfo.device.type === 'desktop') {
|
||||
$('#world_info').select2({
|
||||
width: '100%',
|
||||
placeholder: 'No Worlds active. Click here to select.',
|
||||
|
|
Loading…
Reference in New Issue