Repository: koishijs/novelai-bot
File: src/config.ts (TypeScript)

Code before:
  furry: 'nai-diffusion-furry',
  'nai-v3': 'nai-diffusion-3',
} as const

export const orientMap = {
  landscape: { height: 832, width: 1216 },
  portrait: { height: 1216, width: 832 },
  square: { height: 1024, width: 1024 },
} as const

export const hordeModels = require('../data/horde-models.json') as string[]

const ucPreset = [
  // Replace with the prompt words that come with novelai
  'nsfw, lowres, {bad}, error, fewer, extra, missing, worst quality',
  'jpeg artifacts, bad quality, watermark, unfinished, displeasing',
  'chromatic aberration, signature, extra digits, artistic error, username, scan, [abstract]',
].join(', ')

type Model = keyof typeof modelMap
type Orient = keyof typeof orientMap

export const models = Object.keys(modelMap) as Model[]
export const orients = Object.keys(orientMap) as Orient[]
export const scheduler = ['native', 'karras', 'exponential', 'polyexponential'] as const
export const schedulerComfyUI = ["normal", "karras", "exponential", "sgm_uniform", "simple", "ddim_uniform"] as const

export namespace sampler {
  export const nai = {
    'k_euler_a': 'Euler ancestral',
    'k_euler': 'Euler',
    'k_lms': 'LMS',
    'ddim': 'DDIM',
    'plms': 'PLMS',
  }

  export const nai3 = {
    'k_euler': 'Euler',
    'k_euler_a': 'Euler ancestral',
    'k_dpmpp_2s_ancestral': 'DPM++ 2S ancestral',
    'k_dpmpp_2m': 'DPM++ 2M',
    'k_dpmpp_sde': 'DPM++ SDE',
    'ddim_v3': 'DDIM V3',
  }

  // samplers in stable-diffusion-webui
  // auto-generated by `build/fetch-sd-samplers.js`
  export const sd = require('../data/sd-samplers.json') as Dict<string>

  export const horde = {
    k_lms: 'LMS',

Review comment (suggestion):
```suggestion
export const schedulerComfyUI = ['normal', 'karras', 'exponential', 'sgm_uniform', 'simple', 'ddim_uniform'] as const
```

Code after:
  furry: 'nai-diffusion-furry',
  'nai-v3': 'nai-diffusion-3',
} as const

export const orientMap = {
  landscape: { height: 832, width: 1216 },
  portrait: { height: 1216, width: 832 },
  square: { height: 1024, width: 1024 },
} as const

export const hordeModels = require('../data/horde-models.json') as string[]

const ucPreset = [
  // Replace with the prompt words that come with novelai
  'nsfw, lowres, {bad}, error, fewer, extra, missing, worst quality',
  'jpeg artifacts, bad quality, watermark, unfinished, displeasing',
  'chromatic aberration, signature, extra digits, artistic error, username, scan, [abstract]',
].join(', ')

type Model = keyof typeof modelMap
type Orient = keyof typeof orientMap

export const models = Object.keys(modelMap) as Model[]
export const orients = Object.keys(orientMap) as Orient[]
export const scheduler = ['native', 'karras', 'exponential', 'polyexponential'] as const
export const schedulerComfyUI = ['normal', 'karras', 'exponential', 'sgm_uniform', 'simple', 'ddim_uniform'] as const

export namespace sampler {
  export const nai = {
    'k_euler_a': 'Euler ancestral',
    'k_euler': 'Euler',
    'k_lms': 'LMS',
    'ddim': 'DDIM',
    'plms': 'PLMS',
  }

  export const nai3 = {
    'k_euler': 'Euler',
    'k_euler_a': 'Euler ancestral',
    'k_dpmpp_2s_ancestral': 'DPM++ 2S ancestral',
    'k_dpmpp_2m': 'DPM++ 2M',
    'k_dpmpp_sde': 'DPM++ SDE',
    'ddim_v3': 'DDIM V3',
  }

  // samplers in stable-diffusion-webui
  // auto-generated by `build/fetch-sd-samplers.js`
  export const sd = require('../data/sd-samplers.json') as Dict<string>

  export const horde = {
    k_lms: 'LMS',