Fix classifier import and duplicate output
This commit is contained in:
parent
28a2f63713
commit
fcee065231
|
|
@ -457,6 +457,18 @@
|
||||||
events.scrollTop = events.scrollHeight;
|
events.scrollTop = events.scrollHeight;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function eventsInclude(eventsList, type) {
|
||||||
|
return Array.isArray(eventsList) && eventsList.some((event) => event.type === type);
|
||||||
|
}
|
||||||
|
|
||||||
|
function shouldRenderImmediateResult(data) {
|
||||||
|
if (!data || !data.status) return false;
|
||||||
|
if (data.status === "completed" && eventsInclude(data.events, "task_completed")) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
async function loadRecentEvents() {
|
async function loadRecentEvents() {
|
||||||
const response = await fetch("/events?limit=1000");
|
const response = await fetch("/events?limit=1000");
|
||||||
const data = await response.json();
|
const data = await response.json();
|
||||||
|
|
@ -611,7 +623,9 @@
|
||||||
if (data.events && Array.isArray(data.events)) {
|
if (data.events && Array.isArray(data.events)) {
|
||||||
data.events.forEach(addEvent);
|
data.events.forEach(addEvent);
|
||||||
}
|
}
|
||||||
renderRuntimeResult(data.result, data.status);
|
if (shouldRenderImmediateResult(data)) {
|
||||||
|
renderRuntimeResult(data.result, data.status);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
async function resolveSecret(secret) {
|
async function resolveSecret(secret) {
|
||||||
|
|
@ -641,7 +655,9 @@
|
||||||
});
|
});
|
||||||
const data = await response.json();
|
const data = await response.json();
|
||||||
data.events.forEach(addEvent);
|
data.events.forEach(addEvent);
|
||||||
renderRuntimeResult(data.result, data.status);
|
if (shouldRenderImmediateResult(data)) {
|
||||||
|
renderRuntimeResult(data.result, data.status);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
async function resolvePassword(password) {
|
async function resolvePassword(password) {
|
||||||
|
|
@ -671,7 +687,9 @@
|
||||||
});
|
});
|
||||||
const data = await response.json();
|
const data = await response.json();
|
||||||
data.events.forEach(addEvent);
|
data.events.forEach(addEvent);
|
||||||
renderRuntimeResult(data.result, data.status);
|
if (shouldRenderImmediateResult(data)) {
|
||||||
|
renderRuntimeResult(data.result, data.status);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
async function sendTask() {
|
async function sendTask() {
|
||||||
|
|
@ -707,7 +725,9 @@
|
||||||
clearSecretControls();
|
clearSecretControls();
|
||||||
clearPasswordControls();
|
clearPasswordControls();
|
||||||
data.events.forEach(addEvent);
|
data.events.forEach(addEvent);
|
||||||
renderRuntimeResult(data.result, data.status);
|
if (shouldRenderImmediateResult(data)) {
|
||||||
|
renderRuntimeResult(data.result, data.status);
|
||||||
|
}
|
||||||
if (data.task_id) {
|
if (data.task_id) {
|
||||||
attachStream(data.task_id);
|
attachStream(data.task_id);
|
||||||
}
|
}
|
||||||
|
|
@ -742,7 +762,9 @@
|
||||||
data.retry_result.events.forEach(addEvent);
|
data.retry_result.events.forEach(addEvent);
|
||||||
}
|
}
|
||||||
currentTaskId = data.retry_result.task_id || currentTaskId;
|
currentTaskId = data.retry_result.task_id || currentTaskId;
|
||||||
renderRuntimeResult(data.retry_result.result, data.retry_result.status);
|
if (shouldRenderImmediateResult(data.retry_result)) {
|
||||||
|
renderRuntimeResult(data.retry_result.result, data.retry_result.status);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if (data.status !== "ok") {
|
if (data.status !== "ok") {
|
||||||
addSystemMessage("Feedback", data.message || "Не удалось сохранить feedback.");
|
addSystemMessage("Feedback", data.message || "Не удалось сохранить feedback.");
|
||||||
|
|
|
||||||
|
|
@ -3,6 +3,7 @@ from __future__ import annotations
|
||||||
import asyncio
|
import asyncio
|
||||||
import json
|
import json
|
||||||
import logging
|
import logging
|
||||||
|
import re
|
||||||
from typing import Any
|
from typing import Any
|
||||||
|
|
||||||
from app.core.contracts import ExecutionDirective
|
from app.core.contracts import ExecutionDirective
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue