-
-
-
-
+ {embedded ? (
+
+ ) : (
+
+
+
+ )}
+
业务链条
@@ -3359,7 +3645,7 @@ function ChainFlowCanvas({
onPointerCancel={onPanEnd}
onDoubleClick={() => setView({ tx: 0, ty: 0 })}
className={cn(
- "overflow-hidden rounded-xl border border-slate-100 bg-slate-50/70 touch-none dark:border-[#2b8ffe]/25 dark:bg-[#032650]/75",
+ "overflow-hidden rounded-[4px] border border-slate-100 bg-slate-50/70 touch-none dark:border-[#2b8ffe]/25 dark:bg-[#032650]/75",
panning ? "cursor-grabbing" : "cursor-grab",
className,
)}
@@ -3639,7 +3925,7 @@ function RightWorkspace({
onSessionUpdate: (session: PositionRoundtableSession) => void;
onCollapse: () => void;
onPreviewArtifact: (artifact: PositionArtifactPreview) => void;
- onOpenBuiltinChat: (kind: ClosureStageKind) => void;
+ onOpenBuiltinChat?: (kind: ClosureStageKind) => void;
tab: WorkspaceTab;
onTabChange: (tab: WorkspaceTab) => void;
}) {
@@ -4116,7 +4402,7 @@ function AnalysisResults({
session: PositionRoundtableSession | null;
onSessionUpdate: (session: PositionRoundtableSession) => void;
onPreviewArtifact: (artifact: PositionArtifactPreview) => void;
- onOpenBuiltinChat: (kind: ClosureStageKind) => void;
+ onOpenBuiltinChat?: (kind: ClosureStageKind) => void;
}) {
const [positionFilter, setPositionFilter] = useState("all");
const [nodeFilter, setNodeFilter] = useState("all");
@@ -4154,6 +4440,10 @@ function AnalysisResults({
const seat = seatsByAgentId.get(node.agentId);
const agentName = seat?.name ?? node.agentId;
const artifactCount = node.artifactManifest.length;
+ const previewableArtifacts = node.artifactManifest.filter(
+ (artifact) => typeof artifact.path === "string" && artifact.path.trim().length > 0,
+ );
+ const hasPreviewableArtifact = previewableArtifacts.length > 0;
const productName =
node.status === "done"
? artifactCount > 0
@@ -4179,18 +4469,20 @@ function AnalysisResults({
: node.status === "rejected"
? "该产物已被驳回,请重新问答并交付。"
: "点击左侧流程图或右侧智能体发起问答。");
- items.push({
- id: `${node.nodeKey}:delivery:${node.revision}`,
- kind: "delivery",
- node,
- agentName,
- productName,
- summary,
- positionId: node.positionId,
- updatedAt: node.updatedAt,
- status: node.status,
- });
- node.artifactManifest.forEach((artifact, index) => {
+ if (!hasPreviewableArtifact) {
+ items.push({
+ id: `${node.nodeKey}:delivery:${node.revision}`,
+ kind: "delivery",
+ node,
+ agentName,
+ productName,
+ summary,
+ positionId: node.positionId,
+ updatedAt: node.updatedAt,
+ status: node.status,
+ });
+ }
+ previewableArtifacts.forEach((artifact, index) => {
const path = typeof artifact.path === "string" ? artifact.path : "";
const name =
typeof artifact.name === "string" && artifact.name.trim()
@@ -4401,7 +4693,7 @@ function AnalysisResults({
onChange={(value) => setKindFilter(String(value) as "all" | ResultKind)}
/>
- {nodes.length > 0 && (
+ {onOpenBuiltinChat && nodes.length > 0 && (