ФУНКЦИИ - МЕЖПРОЕКТНАЯ КОММУНИКАЦИЯ: мониторинг очереди Voice Tasker

This commit is contained in:
DCCONSTRUCTIONS
2026-04-28 16:31:47 +03:00
parent 3b295e33f3
commit d60c28ec04
8 changed files with 772 additions and 10 deletions
+85
View File
@@ -214,6 +214,91 @@ export type TVoiceTaskUploadResult = {
error?: string;
};
export type TVoiceTaskMonitorSession = {
id: string;
status: "queued" | "processing" | "uploaded" | "transcribing" | "transcribed" | "parsing" | "parsed" | "failed";
intent: TVoiceTaskIntent | "";
is_active: boolean;
is_stale: boolean;
user: {
id: string | null;
name: string;
email: string;
};
project: {
id: string | null;
name: string;
identifier: string;
};
issue: {
id: string | null;
key: string;
name: string;
};
audio: {
duration_seconds: number | null;
size: number | null;
content_type: string;
has_temp_file: boolean;
};
timings: {
queued_at: string | null;
processing_started_at: string | null;
transcribed_at: string | null;
completed_at: string | null;
failed_at: string | null;
transcription_duration_ms: number | null;
parsing_duration_ms: number | null;
processing_duration_ms: number | null;
last_update_at: string;
created_at: string;
};
usage: {
parser_prompt_tokens: number | null;
parser_completion_tokens: number | null;
parser_total_tokens: number | null;
};
error: {
code: string;
message: string;
};
};
export type TVoiceTaskMonitor = {
ok: boolean;
generated_at: string;
window_seconds: number;
stale_after_seconds: number;
cleaned_count?: number;
concurrency: {
scope: "workspace";
limit: number;
used: number;
exceeded: boolean;
retry_after: number;
};
summary: {
total: number;
parsed: number;
failed: number;
active: number;
stale: number;
avg_processing_duration_ms: number | null;
avg_transcription_duration_ms: number | null;
avg_parsing_duration_ms: number | null;
total_audio_seconds: number;
total_audio_size: number;
parser_total_tokens: number;
status_counts: Record<string, number>;
error_counts: {
error_code: string;
count: number;
}[];
};
active_sessions: TVoiceTaskMonitorSession[];
recent_sessions: TVoiceTaskMonitorSession[];
};
export type TVoiceTaskCommitResult = {
ok: boolean;
status?: "created" | "updated" | "deleted";