SYMBOL INDEX (138 symbols across 30 files) FILE: app/actions/action.js class Action (line 1) | class Action { FILE: app/actions/message.js class MessageAction (line 4) | class MessageAction extends Action { method constructor (line 11) | constructor({ FILE: app/commands/command.js class Command (line 1) | class Command { method constructor (line 14) | constructor({ FILE: app/commands/index.js constant ALL_COMMANDS (line 37) | const ALL_COMMANDS = [ constant INFO_COMMANDS (line 72) | const INFO_COMMANDS = [ constant GENERAL_COMMANDS (line 78) | const GENERAL_COMMANDS = [ constant ENQUIRE_COMMANDS (line 91) | const ENQUIRE_COMMANDS = ALL_COMMANDS.filter(({ type }) => ( FILE: app/context.js class Context (line 25) | class Context { method constructor (line 49) | constructor(event) { method id (line 53) | get id() { method replyToken (line 61) | get replyToken() { method groupId (line 68) | get groupId() { method userId (line 75) | get userId() { method trimmedText (line 82) | get trimmedText() { method hasBotName (line 97) | get hasBotName() { method initialize (line 113) | async initialize() { method validate (line 141) | validate() { method register (line 153) | async register() { method transcribeAudio (line 181) | async transcribeAudio() { method transcribeImage (line 189) | async transcribeImage() { method hasCommand (line 200) | hasCommand({ method pushText (line 215) | pushText(text, actions = []) { method pushImage (line 231) | pushImage(url, actions = []) { method pushTemplate (line 249) | pushTemplate(text, buttons = [], actions = []) { method pushError (line 264) | pushError(err) { FILE: app/history/history.js constant MAX_MESSAGES (line 7) | const MAX_MESSAGES = config.APP_MAX_PROMPT_MESSAGES / 2; constant MAX_TOKENS (line 8) | const MAX_TOKENS = config.APP_MAX_PROMPT_TOKENS / 2; class History (line 10) | class History { method lastMessage (line 16) | get lastMessage() { method tokenCount (line 20) | get tokenCount() { method erase (line 25) | erase() { method write (line 36) | write(role, content) { method writeImage (line 48) | writeImage(role, content = '') { method patch (line 68) | patch(content) { method toString (line 73) | toString() { FILE: app/history/message.js class Message (line 1) | class Message { method constructor (line 6) | constructor({ method toString (line 14) | toString() { FILE: app/messages/image.js class ImageMessage (line 4) | class ImageMessage extends Message { method constructor (line 11) | constructor({ FILE: app/messages/message.js class Message (line 5) | class Message { method setQuickReply (line 13) | setQuickReply(actions = []) { FILE: app/messages/template.js class TemplateMessage (line 5) | class TemplateMessage extends Message { method constructor (line 12) | constructor({ FILE: app/messages/text.js class TextMessage (line 4) | class TextMessage extends Message { method constructor (line 9) | constructor({ FILE: app/models/bot.js class Bot (line 1) | class Bot { method constructor (line 4) | constructor({ FILE: app/models/event.js class Event (line 10) | class Event { method constructor (line 19) | constructor({ method isMessage (line 34) | get isMessage() { method isGroup (line 41) | get isGroup() { method isText (line 48) | get isText() { method isSticker (line 55) | get isSticker() { method isAudio (line 62) | get isAudio() { method isImage (line 69) | get isImage() { method groupId (line 76) | get groupId() { method userId (line 83) | get userId() { method messageId (line 90) | get messageId() { method text (line 97) | get text() { FILE: app/models/source.js class Source (line 4) | class Source { method constructor (line 13) | constructor({ FILE: app/prompt/message.js class Message (line 3) | class Message { method constructor (line 8) | constructor({ method isEnquiring (line 16) | get isEnquiring() { method toString (line 22) | toString() { FILE: app/prompt/prompt.js constant MAX_MESSAGES (line 8) | const MAX_MESSAGES = config.APP_MAX_PROMPT_MESSAGES + 3; constant MAX_TOKENS (line 9) | const MAX_TOKENS = config.APP_MAX_PROMPT_TOKENS; class Prompt (line 11) | class Prompt { method constructor (line 14) | constructor() { method lastMessage (line 24) | get lastMessage() { method tokenCount (line 28) | get tokenCount() { method erase (line 33) | erase() { method write (line 44) | write(role, content = '') { method writeImage (line 56) | writeImage(role, content = '') { method patch (line 76) | patch(content) { method toString (line 80) | toString() { FILE: app/repository/source.js constant FIELD_KEY (line 4) | const FIELD_KEY = 'sources'; FILE: constants/command.js constant TYPE_SUM (line 1) | const TYPE_SUM = 'sum'; constant TYPE_ANALYZE (line 2) | const TYPE_ANALYZE = 'analyze'; constant TYPE_SYSTEM (line 3) | const TYPE_SYSTEM = 'system'; constant TYPE_TRANSLATE (line 4) | const TYPE_TRANSLATE = 'translate'; FILE: constants/mock.js constant MOCK_TEXT_OK (line 1) | const MOCK_TEXT_OK = 'OK!'; constant MOCK_GROUP_01 (line 3) | const MOCK_GROUP_01 = '000001'; constant MOCK_GROUP_02 (line 4) | const MOCK_GROUP_02 = '000002'; constant MOCK_USER_01 (line 6) | const MOCK_USER_01 = '000001'; constant MOCK_USER_02 (line 7) | const MOCK_USER_02 = '000002'; FILE: services/line.js constant EVENT_TYPE_MESSAGE (line 5) | const EVENT_TYPE_MESSAGE = 'message'; constant EVENT_TYPE_POSTBACK (line 6) | const EVENT_TYPE_POSTBACK = 'postback'; constant SOURCE_TYPE_USER (line 8) | const SOURCE_TYPE_USER = 'user'; constant SOURCE_TYPE_GROUP (line 9) | const SOURCE_TYPE_GROUP = 'group'; constant MESSAGE_TYPE_TEXT (line 11) | const MESSAGE_TYPE_TEXT = 'text'; constant MESSAGE_TYPE_STICKER (line 12) | const MESSAGE_TYPE_STICKER = 'sticker'; constant MESSAGE_TYPE_AUDIO (line 13) | const MESSAGE_TYPE_AUDIO = 'audio'; constant MESSAGE_TYPE_IMAGE (line 14) | const MESSAGE_TYPE_IMAGE = 'image'; constant MESSAGE_TYPE_TEMPLATE (line 15) | const MESSAGE_TYPE_TEMPLATE = 'template'; constant TEMPLATE_TYPE_BUTTONS (line 17) | const TEMPLATE_TYPE_BUTTONS = 'buttons'; constant ACTION_TYPE_MESSAGE (line 19) | const ACTION_TYPE_MESSAGE = 'message'; constant ACTION_TYPE_POSTBACK (line 20) | const ACTION_TYPE_POSTBACK = 'postback'; constant QUICK_REPLY_TYPE_ACTION (line 22) | const QUICK_REPLY_TYPE_ACTION = 'action'; FILE: services/openai.js constant ROLE_SYSTEM (line 6) | const ROLE_SYSTEM = 'system'; constant ROLE_AI (line 7) | const ROLE_AI = 'assistant'; constant ROLE_HUMAN (line 8) | const ROLE_HUMAN = 'user'; constant FINISH_REASON_STOP (line 10) | const FINISH_REASON_STOP = 'stop'; constant FINISH_REASON_LENGTH (line 11) | const FINISH_REASON_LENGTH = 'length'; constant IMAGE_SIZE_256 (line 13) | const IMAGE_SIZE_256 = '256x256'; constant IMAGE_SIZE_512 (line 14) | const IMAGE_SIZE_512 = '512x512'; constant IMAGE_SIZE_1024 (line 15) | const IMAGE_SIZE_1024 = '1024x1024'; constant MODEL_GPT_3_5_TURBO (line 17) | const MODEL_GPT_3_5_TURBO = 'gpt-3.5-turbo'; constant MODEL_GPT_4_OMNI (line 18) | const MODEL_GPT_4_OMNI = 'gpt-4o'; constant MODEL_WHISPER_1 (line 19) | const MODEL_WHISPER_1 = 'whisper-1'; constant MODEL_DALL_E_3 (line 20) | const MODEL_DALL_E_3 = 'dall-e-3'; FILE: services/vercel.js constant ENV_TYPE_ENCRYPTED (line 5) | const ENV_TYPE_ENCRYPTED = 'encrypted'; constant ENV_TYPE_PLAIN (line 6) | const ENV_TYPE_PLAIN = 'plain'; constant ENV_TARGET_PRODUCTION (line 8) | const ENV_TARGET_PRODUCTION = 'production'; constant ENV_TARGET_PREVIEW (line 9) | const ENV_TARGET_PREVIEW = 'preview'; constant ENV_TARGET_DEVELOPMENT (line 10) | const ENV_TARGET_DEVELOPMENT = 'development'; FILE: storage/index.js constant ENV_KEY (line 5) | const ENV_KEY = 'APP_STORAGE'; class Storage (line 7) | class Storage { method initialize (line 12) | async initialize() { method getItem (line 30) | getItem(key) { method setItem (line 38) | async setItem(key, value) { FILE: tests/utils.js constant TIMEOUT (line 7) | const TIMEOUT = 9 * 1000; FILE: utils/fetch-answer.js class OrganicResult (line 4) | class OrganicResult { method constructor (line 7) | constructor({ FILE: utils/fetch-group.js class Group (line 6) | class Group { method constructor (line 9) | constructor({ FILE: utils/fetch-user.js class User (line 6) | class User { method constructor (line 9) | constructor({ FILE: utils/generate-completion.js class Completion (line 5) | class Completion { method constructor (line 10) | constructor({ method isFinishReasonStop (line 18) | get isFinishReasonStop() { FILE: utils/generate-image.js class Image (line 5) | class Image { method constructor (line 8) | constructor({ FILE: utils/generate-transcription.js class Transcription (line 3) | class Transcription { method constructor (line 6) | constructor({