All files / src/flow flow-utils.ts

100% Statements 34/34
100% Branches 6/6
100% Functions 1/1
100% Lines 34/34

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 3599x 99x 99x 99x 99x 99x 99x 5x 5x 4x 4x 5x 1x 1x 3x 3x 3x 99x 99x 99x 99x 99x 99x 99x 99x 99x 99x 99x 99x 99x 99x 99x 99x 99x  
import { zustand } from '../store/AppState';
 
/**
 * Excludes flows that are incompatible with the current flow type.
 * Background flows cannot enter message flows.
 */
export function shouldExcludeFlow(flow: any): boolean {
  const definition = zustand.getState().flowDefinition;
  if (!definition) return false;
 
  // Background flows should not be able to enter message flows
  if (definition.type === 'messaging_background' && flow.type === 'message') {
    return true;
  }
 
  return false;
}
 
export type LLMRole = 'engine' | 'editing';
 
export interface LLMModel {
  uuid: string;
  name: string;
  type?: string;
  description?: string;
  roles?: LLMRole[];
}
 
export function hasLLMRole(
  model: { roles?: string[] } | null | undefined,
  role: LLMRole
): boolean {
  return model?.roles?.includes(role) ?? false;
}