summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsoryu <soryu@soryu.co>2026-02-22 15:23:24 +0000
committersoryu <soryu@soryu.co>2026-02-22 15:26:46 +0000
commit28f69e923cb7ee711b56fad07fb2d5b5220ce127 (patch)
tree215dee64a2c70e26d76e5513fb789efaa4c2ee0b
parent6a34a6f3c423a7c57616762eb4cea2b7da52eaf3 (diff)
downloadsoryu-28f69e923cb7ee711b56fad07fb2d5b5220ce127.tar.gz
soryu-28f69e923cb7ee711b56fad07fb2d5b5220ce127.zip
fix: resolve frontend TypeScript build errors
- DirectiveDAG: fix layer rendering (afterSteps -> layer.steps with StepNode), remove unused imports (StepNode re-added, BEFORE_TYPES and OrchestratorStepNode removed) - DirectiveDetail: remove dead virtualSteps code superseded by specializedSteps - useMultiTaskSubscription: remove duplicate backfilledTasksRef declaration and dead backfillTask/convertTaskEventToEntry block referencing non-existent TaskEvent and listTaskEvents Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
-rw-r--r--makima/frontend/src/components/directives/DirectiveDAG.tsx23
-rw-r--r--makima/frontend/src/components/directives/DirectiveDetail.tsx29
-rw-r--r--makima/frontend/src/hooks/useMultiTaskSubscription.ts1
3 files changed, 7 insertions, 46 deletions
diff --git a/makima/frontend/src/components/directives/DirectiveDAG.tsx b/makima/frontend/src/components/directives/DirectiveDAG.tsx
index 8c7def9..142df41 100644
--- a/makima/frontend/src/components/directives/DirectiveDAG.tsx
+++ b/makima/frontend/src/components/directives/DirectiveDAG.tsx
@@ -2,7 +2,6 @@ import { useMemo } from "react";
import type { DirectiveStep } from "../../lib/api";
import { StepNode } from "./StepNode";
import {
- OrchestratorStepNode,
type OrchestratorStepType,
type OrchestratorStepStatus,
} from "./OrchestratorStepNode";
@@ -35,13 +34,6 @@ interface Layer {
steps: DirectiveStep[];
}
-/** Types that should appear before the regular DAG steps */
-const BEFORE_TYPES = new Set<OrchestratorStepType>([
- "planning",
- "replanning",
- "plan-orders",
-]);
-
function topoSort(steps: DirectiveStep[]): Layer[] {
if (steps.length === 0) return [];
@@ -97,14 +89,13 @@ export function DirectiveDAG({ steps, specializedSteps, onComplete, onFail, onSk
</div>
)}
<div className="flex flex-wrap gap-3 justify-center">
- {afterSteps.map((vs) => (
- <OrchestratorStepNode
- key={`${vs.type}-${vs.taskId}`}
- type={vs.type}
- taskId={vs.taskId}
- status={vs.status}
- label={vs.label}
- hasQuestions={vs.hasQuestions}
+ {layer.steps.map((step) => (
+ <StepNode
+ key={step.id}
+ step={step}
+ onComplete={onComplete ? () => onComplete(step.id) : undefined}
+ onFail={onFail ? () => onFail(step.id) : undefined}
+ onSkip={onSkip ? () => onSkip(step.id) : undefined}
/>
))}
</div>
diff --git a/makima/frontend/src/components/directives/DirectiveDetail.tsx b/makima/frontend/src/components/directives/DirectiveDetail.tsx
index 171654d..8f39207 100644
--- a/makima/frontend/src/components/directives/DirectiveDetail.tsx
+++ b/makima/frontend/src/components/directives/DirectiveDetail.tsx
@@ -177,35 +177,6 @@ export function DirectiveDetail({
setEditingGoal(false);
};
- // Build virtual steps for orchestrator tasks to display in the DAG
- const virtualSteps = useMemo(() => {
- const steps: VirtualStep[] = [];
- if (directive.orchestratorTaskId) {
- const hasOrchestratorQuestions = directiveQuestions.some(
- (q) => q.taskId === directive.orchestratorTaskId
- );
- steps.push({
- type: "planning",
- taskId: directive.orchestratorTaskId,
- status: "running",
- label: "Planning",
- hasQuestions: hasOrchestratorQuestions,
- });
- }
- if (directive.completionTaskId) {
- const hasCompletionQuestions = directiveQuestions.some(
- (q) => q.taskId === directive.completionTaskId
- );
- steps.push({
- type: directive.prUrl ? "pr-update" : "pr",
- taskId: directive.completionTaskId,
- status: "running",
- label: directive.prUrl ? "Updating PR" : "Creating PR",
- hasQuestions: hasCompletionQuestions,
- });
- }
- return steps;
- }, [directive.orchestratorTaskId, directive.completionTaskId, directive.prUrl, directiveQuestions]);
return (
<div className="flex flex-col h-full overflow-y-auto">
diff --git a/makima/frontend/src/hooks/useMultiTaskSubscription.ts b/makima/frontend/src/hooks/useMultiTaskSubscription.ts
index b229e90..84b9366 100644
--- a/makima/frontend/src/hooks/useMultiTaskSubscription.ts
+++ b/makima/frontend/src/hooks/useMultiTaskSubscription.ts
@@ -28,7 +28,6 @@ export function useMultiTaskSubscription(options: UseMultiTaskSubscriptionOption
const wsRef = useRef<WebSocket | null>(null);
const reconnectTimeoutRef = useRef<number | null>(null);
const subscribedTasksRef = useRef<Set<string>>(new Set());
- const backfilledTasksRef = useRef<Set<string>>(new Set());
const taskMapRef = useRef(taskMap);
const enabledRef = useRef(enabled);