fix lint
This commit is contained in:
		
							parent
							
								
									b201f03b67
								
							
						
					
					
						commit
						b1acf6806a
					
				| 
						 | 
					@ -17,7 +17,7 @@
 | 
				
			||||||
    updateChatSettings,
 | 
					    updateChatSettings,
 | 
				
			||||||
    resetChatSettings,
 | 
					    resetChatSettings,
 | 
				
			||||||
    setChatSettingValue,
 | 
					    setChatSettingValue,
 | 
				
			||||||
    addChatFromJSON,
 | 
					    addChatFromJSON
 | 
				
			||||||
  } from './Storage.svelte'
 | 
					  } from './Storage.svelte'
 | 
				
			||||||
  import { getChatSettingObjectByKey, getChatSettingList, getRequestSettingList } from './Settings.svelte'
 | 
					  import { getChatSettingObjectByKey, getChatSettingList, getRequestSettingList } from './Settings.svelte'
 | 
				
			||||||
  import {
 | 
					  import {
 | 
				
			||||||
| 
						 | 
					@ -29,8 +29,7 @@
 | 
				
			||||||
    type SettingSelect,
 | 
					    type SettingSelect,
 | 
				
			||||||
    type Chat,
 | 
					    type Chat,
 | 
				
			||||||
    type SelectOption,
 | 
					    type SelectOption,
 | 
				
			||||||
    supportedModels,
 | 
					    supportedModels
 | 
				
			||||||
    type ChatSettings
 | 
					 | 
				
			||||||
  } from './Types.svelte'
 | 
					  } from './Types.svelte'
 | 
				
			||||||
  import Prompts from './Prompts.svelte'
 | 
					  import Prompts from './Prompts.svelte'
 | 
				
			||||||
  import Messages from './Messages.svelte'
 | 
					  import Messages from './Messages.svelte'
 | 
				
			||||||
| 
						 | 
					@ -54,7 +53,7 @@
 | 
				
			||||||
    faDownload,
 | 
					    faDownload,
 | 
				
			||||||
    faUpload,
 | 
					    faUpload,
 | 
				
			||||||
    faEraser,
 | 
					    faEraser,
 | 
				
			||||||
    faRotateRight,
 | 
					    faRotateRight
 | 
				
			||||||
  } from '@fortawesome/free-solid-svg-icons/index'
 | 
					  } from '@fortawesome/free-solid-svg-icons/index'
 | 
				
			||||||
  import { encode } from 'gpt-tokenizer'
 | 
					  import { encode } from 'gpt-tokenizer'
 | 
				
			||||||
  import { v4 as uuidv4 } from 'uuid'
 | 
					  import { v4 as uuidv4 } from 'uuid'
 | 
				
			||||||
| 
						 | 
					@ -532,10 +531,10 @@
 | 
				
			||||||
    const el = (event.target as HTMLInputElement)
 | 
					    const el = (event.target as HTMLInputElement)
 | 
				
			||||||
    const doSet = () => {
 | 
					    const doSet = () => {
 | 
				
			||||||
      try {
 | 
					      try {
 | 
				
			||||||
        (typeof setting.beforeChange === 'function') && setting.beforeChange(chatId, setting, el.checked || el.value) 
 | 
					        (typeof setting.beforeChange === 'function') && setting.beforeChange(chatId, setting, el.checked || el.value) &&
 | 
				
			||||||
          && refreshSettings()
 | 
					          refreshSettings()
 | 
				
			||||||
      } catch (e) {
 | 
					      } catch (e) {
 | 
				
			||||||
        alert('Unable to change:\n' + e.message)
 | 
					        window.alert('Unable to change:\n' + e.message)
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
      switch (setting.type) {
 | 
					      switch (setting.type) {
 | 
				
			||||||
        case 'boolean':
 | 
					        case 'boolean':
 | 
				
			||||||
| 
						 | 
					@ -546,15 +545,15 @@
 | 
				
			||||||
          setChatSettingValue(chatId, setting, el.value)
 | 
					          setChatSettingValue(chatId, setting, el.value)
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
      try {
 | 
					      try {
 | 
				
			||||||
        (typeof setting.afterChange === 'function') && setting.afterChange(chatId, setting, chatSettings[setting.key]) 
 | 
					        (typeof setting.afterChange === 'function') && setting.afterChange(chatId, setting, chatSettings[setting.key]) &&
 | 
				
			||||||
          && refreshSettings()
 | 
					          refreshSettings()
 | 
				
			||||||
      } catch (e) {
 | 
					      } catch (e) {
 | 
				
			||||||
        setChatSettingValue(chatId, setting, val)
 | 
					        setChatSettingValue(chatId, setting, val)
 | 
				
			||||||
        alert('Unable to change:\n' + e.message)
 | 
					        window.alert('Unable to change:\n' + e.message)
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    if (setting.key === 'profile' && chatSettings.sessionStarted
 | 
					    if (setting.key === 'profile' && chatSettings.sessionStarted &&
 | 
				
			||||||
      && (getProfile(el.value).characterName !== chatSettings.characterName)) {
 | 
					      (getProfile(el.value).characterName !== chatSettings.characterName)) {
 | 
				
			||||||
      const val = chatSettings[setting.key]
 | 
					      const val = chatSettings[setting.key]
 | 
				
			||||||
      if (window.confirm('Personality change will not correctly apply to existing chat session.\n Continue?')) {
 | 
					      if (window.confirm('Personality change will not correctly apply to existing chat session.\n Continue?')) {
 | 
				
			||||||
        doSet()
 | 
					        doSet()
 | 
				
			||||||
| 
						 | 
					@ -584,7 +583,7 @@
 | 
				
			||||||
      saveCustomProfile(chat.settings)
 | 
					      saveCustomProfile(chat.settings)
 | 
				
			||||||
      refreshSettings()
 | 
					      refreshSettings()
 | 
				
			||||||
    } catch (e) {
 | 
					    } catch (e) {
 | 
				
			||||||
      alert('Error saving profile: \n' + e.message)
 | 
					      window.alert('Error saving profile: \n' + e.message)
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -614,7 +613,7 @@
 | 
				
			||||||
      updateProfileSelectOptions()
 | 
					      updateProfileSelectOptions()
 | 
				
			||||||
      showSettingsModal && showSettingsModal++
 | 
					      showSettingsModal && showSettingsModal++
 | 
				
			||||||
    } catch (e) {
 | 
					    } catch (e) {
 | 
				
			||||||
      alert('Error cloning profile: \n' + e.message)
 | 
					      window.alert('Error cloning profile: \n' + e.message)
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -629,7 +628,7 @@
 | 
				
			||||||
      updateProfileSelectOptions()
 | 
					      updateProfileSelectOptions()
 | 
				
			||||||
      showSettings()
 | 
					      showSettings()
 | 
				
			||||||
    } catch (e) {
 | 
					    } catch (e) {
 | 
				
			||||||
      alert('Error deleting profile: \n' + e.message)
 | 
					      window.alert('Error deleting profile: \n' + e.message)
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -652,7 +651,7 @@
 | 
				
			||||||
        updateProfileSelectOptions()
 | 
					        updateProfileSelectOptions()
 | 
				
			||||||
        showSettingsModal && showSettingsModal++
 | 
					        showSettingsModal && showSettingsModal++
 | 
				
			||||||
      } catch (e) {
 | 
					      } catch (e) {
 | 
				
			||||||
        alert('Unable to import profile: \n' + e.message)
 | 
					        window.alert('Unable to import profile: \n' + e.message)
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,8 +1,7 @@
 | 
				
			||||||
<script context="module" lang="ts">
 | 
					<script context="module" lang="ts">
 | 
				
			||||||
    import copy from 'copy-to-clipboard';
 | 
					 | 
				
			||||||
    import { getChatDefaults, getExcludeFromProfile } from './Settings.svelte'
 | 
					    import { getChatDefaults, getExcludeFromProfile } from './Settings.svelte'
 | 
				
			||||||
// Profile definitions
 | 
					// Profile definitions
 | 
				
			||||||
import { addMessage, clearMessages, getChatSettings, getCustomProfiles, getGlobalSettings, getMessages, resetChatSettings, setChatSettingValue, setChatSettingValueByKey, setGlobalSettingValueByKey } from './Storage.svelte'
 | 
					import { addMessage, clearMessages, getChatSettings, getCustomProfiles, getGlobalSettings, resetChatSettings, setChatSettingValueByKey, setGlobalSettingValueByKey } from './Storage.svelte'
 | 
				
			||||||
import type { Message, SelectOption, ChatSettings } from './Types.svelte'
 | 
					import type { Message, SelectOption, ChatSettings } from './Types.svelte'
 | 
				
			||||||
    import { v4 as uuidv4 } from 'uuid'
 | 
					    import { v4 as uuidv4 } from 'uuid'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,6 +1,6 @@
 | 
				
			||||||
<script context="module" lang="ts">
 | 
					<script context="module" lang="ts">
 | 
				
			||||||
    import { applyProfile } from './Profiles.svelte'
 | 
					    import { applyProfile } from './Profiles.svelte'
 | 
				
			||||||
    import { getChatSettings } from './Storage.svelte';
 | 
					    import { getChatSettings } from './Storage.svelte'
 | 
				
			||||||
    import { encode } from 'gpt-tokenizer'
 | 
					    import { encode } from 'gpt-tokenizer'
 | 
				
			||||||
// Setting definitions
 | 
					// Setting definitions
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -59,7 +59,7 @@ const gptDefaults: Request = Object.freeze({
 | 
				
			||||||
  presence_penalty: 0,
 | 
					  presence_penalty: 0,
 | 
				
			||||||
  frequency_penalty: 0,
 | 
					  frequency_penalty: 0,
 | 
				
			||||||
  logit_bias: null,
 | 
					  logit_bias: null,
 | 
				
			||||||
  user: undefined,
 | 
					  user: undefined
 | 
				
			||||||
})
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// Core set of defaults
 | 
					// Core set of defaults
 | 
				
			||||||
| 
						 | 
					@ -82,14 +82,14 @@ const defaults:ChatSettings = Object.freeze({
 | 
				
			||||||
  // There are chat session state variables, and really don't belong here
 | 
					  // There are chat session state variables, and really don't belong here
 | 
				
			||||||
  // But it was easier to just put them here.
 | 
					  // But it was easier to just put them here.
 | 
				
			||||||
  startSession: false, // Should the session start automatically
 | 
					  startSession: false, // Should the session start automatically
 | 
				
			||||||
  sessionStarted: false, // Has the session started (user made a first request)
 | 
					  sessionStarted: false // Has the session started (user made a first request)
 | 
				
			||||||
})
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const excludeFromProfile = {
 | 
					const excludeFromProfile = {
 | 
				
			||||||
  messages: true,
 | 
					  messages: true,
 | 
				
			||||||
  startSession: true,
 | 
					  startSession: true,
 | 
				
			||||||
  sessionStarted: true,
 | 
					  sessionStarted: true,
 | 
				
			||||||
  user: true,
 | 
					  user: true
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const profileSetting: ChatSetting & SettingSelect = {
 | 
					const profileSetting: ChatSetting & SettingSelect = {
 | 
				
			||||||
| 
						 | 
					@ -103,7 +103,7 @@ const profileSetting: ChatSetting & SettingSelect = {
 | 
				
			||||||
      afterChange: (chatId, setting) => {
 | 
					      afterChange: (chatId, setting) => {
 | 
				
			||||||
        applyProfile(chatId, '', !getChatSettings(chatId).sessionStarted)
 | 
					        applyProfile(chatId, '', !getChatSettings(chatId).sessionStarted)
 | 
				
			||||||
        return true // Signal we should refresh the setting modal
 | 
					        return true // Signal we should refresh the setting modal
 | 
				
			||||||
      },
 | 
					      }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// Settings that will not be part of the API request
 | 
					// Settings that will not be part of the API request
 | 
				
			||||||
| 
						 | 
					@ -113,14 +113,14 @@ const nonRequestSettings: ChatSetting[] = [
 | 
				
			||||||
        key: 'profileName',
 | 
					        key: 'profileName',
 | 
				
			||||||
        name: 'Profile Name',
 | 
					        name: 'Profile Name',
 | 
				
			||||||
        title: 'How this profile is displayed in the select list.',
 | 
					        title: 'How this profile is displayed in the select list.',
 | 
				
			||||||
        type: 'text',
 | 
					        type: 'text'
 | 
				
			||||||
        // hide: (chatId) => { return !getChatSettingValueByKey(chatId, 'useSystemPrompt') }
 | 
					        // hide: (chatId) => { return !getChatSettingValueByKey(chatId, 'useSystemPrompt') }
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      {
 | 
					      {
 | 
				
			||||||
        key: 'profileDescription',
 | 
					        key: 'profileDescription',
 | 
				
			||||||
        name: 'Description',
 | 
					        name: 'Description',
 | 
				
			||||||
        title: 'How this profile is displayed in the select list.',
 | 
					        title: 'How this profile is displayed in the select list.',
 | 
				
			||||||
        type: 'textarea',
 | 
					        type: 'textarea'
 | 
				
			||||||
        // hide: (chatId) => { return !getChatSettingValueByKey(chatId, 'useSystemPrompt') }
 | 
					        // hide: (chatId) => { return !getChatSettingValueByKey(chatId, 'useSystemPrompt') }
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      {
 | 
					      {
 | 
				
			||||||
| 
						 | 
					@ -129,14 +129,14 @@ const nonRequestSettings: ChatSetting[] = [
 | 
				
			||||||
        title: 'Send a "System" prompt as the first prompt.',
 | 
					        title: 'Send a "System" prompt as the first prompt.',
 | 
				
			||||||
        header: 'System Prompt',
 | 
					        header: 'System Prompt',
 | 
				
			||||||
        headerClass: 'is-info',
 | 
					        headerClass: 'is-info',
 | 
				
			||||||
        type: 'boolean',
 | 
					        type: 'boolean'
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      {
 | 
					      {
 | 
				
			||||||
        key: 'characterName',
 | 
					        key: 'characterName',
 | 
				
			||||||
        name: 'Character Name',
 | 
					        name: 'Character Name',
 | 
				
			||||||
        title: 'What the personality of this profile will be called.',
 | 
					        title: 'What the personality of this profile will be called.',
 | 
				
			||||||
        type: 'text',
 | 
					        type: 'text',
 | 
				
			||||||
        hide: (chatId) => !getChatSettings(chatId).useSystemPrompt,
 | 
					        hide: (chatId) => !getChatSettings(chatId).useSystemPrompt
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      {
 | 
					      {
 | 
				
			||||||
        key: 'systemPrompt',
 | 
					        key: 'systemPrompt',
 | 
				
			||||||
| 
						 | 
					@ -173,7 +173,7 @@ const nonRequestSettings: ChatSetting[] = [
 | 
				
			||||||
        header: 'Continuous Chat - Summarization',
 | 
					        header: 'Continuous Chat - Summarization',
 | 
				
			||||||
        headerClass: 'is-info',
 | 
					        headerClass: 'is-info',
 | 
				
			||||||
        title: 'When out of token space, summarize past tokens and keep going.',
 | 
					        title: 'When out of token space, summarize past tokens and keep going.',
 | 
				
			||||||
        type: 'boolean',
 | 
					        type: 'boolean'
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      {
 | 
					      {
 | 
				
			||||||
        key: 'summaryThreshold',
 | 
					        key: 'summaryThreshold',
 | 
				
			||||||
| 
						 | 
					@ -235,7 +235,7 @@ const modelSetting: ChatSetting & SettingSelect = {
 | 
				
			||||||
      headerClass: 'is-warning',
 | 
					      headerClass: 'is-warning',
 | 
				
			||||||
      options: [],
 | 
					      options: [],
 | 
				
			||||||
      type: 'select',
 | 
					      type: 'select',
 | 
				
			||||||
      forceApi: true, // Need to make sure we send this
 | 
					      forceApi: true // Need to make sure we send this
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const chatSettingsList: ChatSetting[] = [
 | 
					const chatSettingsList: ChatSetting[] = [
 | 
				
			||||||
| 
						 | 
					@ -307,7 +307,7 @@ const chatSettingsList: ChatSetting[] = [
 | 
				
			||||||
        key: 'logit_bias',
 | 
					        key: 'logit_bias',
 | 
				
			||||||
        name: 'Logit Bias',
 | 
					        name: 'Logit Bias',
 | 
				
			||||||
        title: 'Allows you to adjust bias of tokens used in completion.',
 | 
					        title: 'Allows you to adjust bias of tokens used in completion.',
 | 
				
			||||||
        header: `Logit Bias. See <a target="_blank" href="https://help.openai.com/en/articles/5247780-using-logit-bias-to-define-token-probability">this article</a> for more details.`,
 | 
					        header: 'Logit Bias. See <a target="_blank" href="https://help.openai.com/en/articles/5247780-using-logit-bias-to-define-token-probability">this article</a> for more details.',
 | 
				
			||||||
        type: 'other',
 | 
					        type: 'other',
 | 
				
			||||||
        hide: () => true,
 | 
					        hide: () => true,
 | 
				
			||||||
        // transform to JSON for request, first converting word->weight pairs to token(s)->weight.
 | 
					        // transform to JSON for request, first converting word->weight pairs to token(s)->weight.
 | 
				
			||||||
| 
						 | 
					@ -324,7 +324,7 @@ const chatSettingsList: ChatSetting[] = [
 | 
				
			||||||
            return a
 | 
					            return a
 | 
				
			||||||
          }, {} as Record<number, number>)
 | 
					          }, {} as Record<number, number>)
 | 
				
			||||||
          return tokenized
 | 
					          return tokenized
 | 
				
			||||||
        },        
 | 
					        }
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      // Enable?
 | 
					      // Enable?
 | 
				
			||||||
      {
 | 
					      {
 | 
				
			||||||
| 
						 | 
					@ -332,7 +332,7 @@ const chatSettingsList: ChatSetting[] = [
 | 
				
			||||||
        name: 'User?',
 | 
					        name: 'User?',
 | 
				
			||||||
        title: 'Name of user?',
 | 
					        title: 'Name of user?',
 | 
				
			||||||
        type: 'text',
 | 
					        type: 'text',
 | 
				
			||||||
        hide: () => true,
 | 
					        hide: () => true
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
]
 | 
					]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -211,11 +211,13 @@
 | 
				
			||||||
    if (setting) return setChatSettingValue(chatId, setting, value)
 | 
					    if (setting) return setChatSettingValue(chatId, setting, value)
 | 
				
			||||||
    if (!(key in chatDefaults)) throw new Error('Invalid chat setting: ' + key)
 | 
					    if (!(key in chatDefaults)) throw new Error('Invalid chat setting: ' + key)
 | 
				
			||||||
    const d = chatDefaults[key]
 | 
					    const d = chatDefaults[key]
 | 
				
			||||||
    if (d === null || d === undefined) throw new Error('Unable to determine setting type for "' 
 | 
					    if (d === null || d === undefined) {
 | 
				
			||||||
      + key +' from default of "' + d + '"')
 | 
					      throw new Error('Unable to determine setting type for "' +
 | 
				
			||||||
 | 
					      key + ' from default of "' + d + '"')
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
    const chats = get(chatsStorage)
 | 
					    const chats = get(chatsStorage)
 | 
				
			||||||
    const chat = chats.find((chat) => chat.id === chatId) as Chat
 | 
					    const chat = chats.find((chat) => chat.id === chatId) as Chat
 | 
				
			||||||
    let settings = chat.settings as any
 | 
					    const settings = chat.settings as any
 | 
				
			||||||
    settings[key] = cleanSettingValue(typeof d, value)
 | 
					    settings[key] = cleanSettingValue(typeof d, value)
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue