workspaces to dashboards, imap email sync, ffmpeg tool, tts fix, file browser refresh, automation sidebar reorder

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-02 20:00:45 +00:00
co-authored by Claude Opus 4.6
parent bd362dc586
commit 927267e041
98 changed files with 1176 additions and 802 deletions
+2 -1
View File
@@ -8,6 +8,7 @@ import { enqueue } from '@@/queue/engine';
import { readJob } from '@@/queue/storage';
import { openEmailDb } from '@@/api/email/email-db';
import type { ModelInfo } from '@@/api/pi/types';
import { toShellUsername } from '@@/data-path';
const PAIRING_CODE_PATTERN = /^[A-Z0-9]{6}$/;
const TYPING_INTERVAL_MS = 8_000;
@@ -255,7 +256,7 @@ export async function handleDiscordMessage(message: DiscordMessage): Promise<voi
const result = await sendAndAwait({
userId: linked.user.id,
email: linked.user.email,
username: linked.user.username ?? linked.user.email.split('@')[0]!,
username: toShellUsername(linked.user.username ?? '', linked.user.email),
prompt: content,
context: 'discord',
contextId: discordId,
+2 -1
View File
@@ -9,6 +9,7 @@ import { enqueue } from '@@/queue/engine';
import { readJob } from '@@/queue/storage';
import { openEmailDb } from '@@/api/email/email-db';
import type { ModelInfo } from '@@/api/pi/types';
import { toShellUsername } from '@@/data-path';
const PAIRING_CODE_PATTERN = /^[A-Z0-9]{6}$/;
const TYPING_INTERVAL_MS = 5_000;
@@ -267,7 +268,7 @@ export async function handleTelegramMessage(msg: TelegramBot.Message): Promise<v
const result = await sendAndAwait({
userId: linked.user.id,
email: linked.user.email,
username: linked.user.username ?? linked.user.email.split('@')[0]!,
username: toShellUsername(linked.user.username ?? '', linked.user.email),
prompt: content,
context: 'telegram',
contextId: telegramId,
+2 -1
View File
@@ -8,6 +8,7 @@ import { enqueue } from '@@/queue/engine';
import { readJob } from '@@/queue/storage';
import { openEmailDb } from '@@/api/email/email-db';
import type { ModelInfo } from '@@/api/pi/types';
import { toShellUsername } from '@@/data-path';
const PAIRING_CODE_PATTERN = /^[A-Z0-9]{6}$/;
const TYPING_INTERVAL_MS = 5_000;
@@ -273,7 +274,7 @@ export async function handleWhatsAppMessage(msg: WAMessage): Promise<void> {
const result = await sendAndAwait({
userId: linked.user.id,
email: linked.user.email,
username: linked.user.username ?? linked.user.email.split('@')[0]!,
username: toShellUsername(linked.user.username ?? '', linked.user.email),
prompt: content,
context: 'whatsapp',
contextId: phone,