73 lines · 2.3 KB · TypeScript
RawDownload
import type {  OrchestrationV2Run,  OrchestrationV2RunAttempt,  OrchestrationV2TurnItem,  OrchestrationV2UserMessageInputIntent,} from "@t3tools/contracts"; type TimelineRun = Pick<OrchestrationV2Run, "id" | "status">;type TimelineRunAttempt = Pick<OrchestrationV2RunAttempt, "runId" | "rootNodeId" | "status">;type TimelineTurnItem = Pick<OrchestrationV2TurnItem, "type" | "runId" | "nodeId"> & {  readonly inputIntent?: OrchestrationV2UserMessageInputIntent;}; export function isOrchestrationV2SupersededInterrupt(input: {  readonly item: TimelineTurnItem;  readonly attempts: ReadonlyArray<TimelineRunAttempt>;  readonly items: ReadonlyArray<TimelineTurnItem>;}): boolean {  const { item } = input;  if (item.type !== "run_interrupt_result" || item.runId === null || item.nodeId === null) {    return false;  }   const isSuperseded = input.attempts.some(    (attempt) =>      attempt.runId === item.runId &&      attempt.rootNodeId === item.nodeId &&      attempt.status === "superseded",  );  if (!isSuperseded) {    return false;  }   // Paired stop-then-steer results have a matching request on the same run and  // must stay visible. Legacy plain-steer results have no request and stay hidden.  const hasMatchingRequest = input.items.some(    (candidate) => candidate.type === "run_interrupt_request" && candidate.runId === item.runId,  );  return !hasMatchingRequest;} export function isOrchestrationV2TurnItemVisible(input: {  readonly item: TimelineTurnItem;  readonly runs: ReadonlyArray<TimelineRun>;  readonly attempts: ReadonlyArray<TimelineRunAttempt>;  readonly items: ReadonlyArray<TimelineTurnItem>;}): boolean {  const { item } = input;  if (    item.runId !== null &&    input.runs.some((run) => run.id === item.runId && run.status === "rolled_back")  ) {    return false;  }   // A queued message is composer state, not conversation history. When its run  // is cancelled the input never reached the provider, so it must not surface  // as a transcript row.  if (    item.type === "user_message" &&    item.inputIntent === "queued_turn" &&    item.runId !== null &&    input.runs.some((run) => run.id === item.runId && run.status === "cancelled")  ) {    return false;  }   return !isOrchestrationV2SupersededInterrupt({    item,    attempts: input.attempts,    items: input.items,  });}

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t