mirror of
https://github.com/NousResearch/hermes-agent.git
synced 2026-07-01 07:45:39 +08:00
63 lines
1.4 KiB
TypeScript
63 lines
1.4 KiB
TypeScript
const SOURCE_LABELS: Record<string, string> = {
|
|
api_server: 'API',
|
|
bluebubbles: 'iMessage',
|
|
cli: 'CLI',
|
|
codex: 'Codex',
|
|
desktop: 'Desktop',
|
|
discord: 'Discord',
|
|
email: 'Email',
|
|
gateway: 'Gateway',
|
|
local: 'Local',
|
|
matrix: 'Matrix',
|
|
mattermost: 'Mattermost',
|
|
qqbot: 'QQ',
|
|
signal: 'Signal',
|
|
slack: 'Slack',
|
|
sms: 'SMS',
|
|
telegram: 'Telegram',
|
|
tui: 'TUI',
|
|
webhook: 'Webhook',
|
|
weixin: 'WeChat',
|
|
whatsapp: 'WhatsApp',
|
|
yuanbao: 'Yuanbao'
|
|
}
|
|
|
|
const SOURCE_ALIASES: Record<string, string[]> = {
|
|
bluebubbles: ['apple messages', 'imessage'],
|
|
cli: ['terminal'],
|
|
desktop: ['app', 'gui'],
|
|
local: ['machine'],
|
|
qqbot: ['qq'],
|
|
telegram: ['tg'],
|
|
tui: ['terminal'],
|
|
weixin: ['wechat'],
|
|
whatsapp: ['wa']
|
|
}
|
|
|
|
export function normalizeSessionSource(source: null | string | undefined): string | null {
|
|
const id = source?.trim().toLowerCase()
|
|
|
|
return id || null
|
|
}
|
|
|
|
export function sessionSourceLabel(source: null | string | undefined): string | null {
|
|
const id = normalizeSessionSource(source)
|
|
|
|
if (!id) {
|
|
return null
|
|
}
|
|
|
|
return SOURCE_LABELS[id] || id.replace(/[_-]+/g, ' ').replace(/\b\w/g, char => char.toUpperCase())
|
|
}
|
|
|
|
export function sessionSourceSearchTerms(source: null | string | undefined): string[] {
|
|
const id = normalizeSessionSource(source)
|
|
const label = sessionSourceLabel(id)
|
|
|
|
if (!id) {
|
|
return []
|
|
}
|
|
|
|
return [id, label ?? '', ...(SOURCE_ALIASES[id] ?? [])].filter(Boolean)
|
|
}
|