subagents

This commit is contained in:
2026-03-20 17:20:24 +03:00
parent f721b59248
commit 62d7c660ef
36 changed files with 4313 additions and 327 deletions

View File

@@ -91,11 +91,7 @@
return $t.dataset_review?.preview?.stale_body;
}
if (effectiveState === "failed") {
return (
preview?.error_details ||
preview?.error_code ||
$t.dataset_review?.preview?.error_body
);
return $t.dataset_review?.preview?.error_body;
}
if (effectiveState === "missing") {
return $t.dataset_review?.preview?.missing_body;
@@ -103,6 +99,12 @@
return $t.dataset_review?.preview?.ready_body;
}
function buildPreviewTechnicalDetails() {
return [preview?.error_code, preview?.error_details].filter(Boolean).join("\n\n");
}
const previewTechnicalDetails = $derived(buildPreviewTechnicalDetails());
async function requestPreview() {
if (!sessionId || disabled || localStatus === "saving") {
return;

View File

@@ -217,9 +217,18 @@
<div class="mt-4 space-y-3">
{#each launchBlockers as blocker}
<div class="rounded-xl border border-red-200 bg-white p-3">
<div class="text-sm font-medium text-slate-900">{blocker.label}</div>
<div class="text-sm font-medium leading-6 text-slate-900 break-words [overflow-wrap:anywhere]">
{blocker.label}
</div>
{#if blocker.detail}
<div class="mt-1 break-all text-xs text-slate-600">{blocker.detail}</div>
<div class="mt-2 max-h-28 overflow-auto rounded-lg border border-slate-200 bg-slate-50 px-3 py-2">
<div
data-testid="launch-blocker-detail"
class="text-xs leading-5 text-slate-600 whitespace-pre-wrap break-words [overflow-wrap:anywhere]"
>
{blocker.detail}
</div>
</div>
{/if}
<button
type="button"
@@ -242,7 +251,7 @@
<div class="text-xs uppercase tracking-wide text-slate-500">
{$t.dataset_review?.launch?.dataset_ref_label}
</div>
<div class="mt-1 text-sm font-medium text-slate-900">
<div class="mt-1 text-sm font-medium text-slate-900 break-words [overflow-wrap:anywhere]">
{session?.dataset_ref || ($t.common?.unknown || "unknown")}
</div>
</div>

View File

@@ -81,6 +81,18 @@
const normalized = String(action || "");
return $t.dataset_review?.workspace?.actions?.[normalized] || normalized;
}
function getFindingMessage(finding) {
return String(finding?.message || "").trim();
}
function getFindingTechnicalReference(finding) {
return String(finding?.caused_by_ref || "").trim();
}
function getFindingResolutionNote(finding) {
return String(finding?.resolution_note || "").trim();
}
</script>
<div class="rounded-2xl border border-slate-200 bg-white p-5 shadow-sm">