Files
2026-07-13 12:58:18 +08:00

64 lines
2.8 KiB
TypeScript

export interface MultiFileRegionSource {
demoKey: string;
regionName: string;
files: string[];
}
export const ALLOWED_MULTI_FILE_REGION_KEYS = new Set([
"ag2::headless-complete::custom-bubbles",
"ag2::open-gen-ui-advanced::sandbox-function-registration",
"agno::headless-complete::custom-bubbles",
"agno::open-gen-ui-advanced::sandbox-function-registration",
"built-in-agent::headless-complete::custom-bubbles",
"claude-sdk-python::headless-complete::custom-bubbles",
"claude-sdk-python::open-gen-ui-advanced::sandbox-function-registration",
"claude-sdk-typescript::headless-complete::custom-bubbles",
"claude-sdk-typescript::open-gen-ui-advanced::sandbox-function-registration",
"crewai-crews::headless-complete::custom-bubbles",
"crewai-crews::open-gen-ui-advanced::sandbox-function-registration",
"google-adk::headless-complete::custom-bubbles",
"google-adk::open-gen-ui-advanced::sandbox-function-registration",
"langgraph-fastapi::headless-complete::custom-bubbles",
"langgraph-fastapi::open-gen-ui-advanced::sandbox-function-registration",
"langgraph-python::headless-complete::custom-bubbles",
"langgraph-python::open-gen-ui-advanced::sandbox-function-registration",
"langgraph-typescript::headless-complete::custom-bubbles",
"langgraph-typescript::open-gen-ui-advanced::sandbox-function-registration",
"langroid::headless-complete::custom-bubbles",
"langroid::open-gen-ui-advanced::sandbox-function-registration",
"llamaindex::headless-complete::custom-bubbles",
"llamaindex::open-gen-ui-advanced::sandbox-function-registration",
"mastra::headless-complete::custom-bubbles",
"mastra::open-gen-ui-advanced::sandbox-function-registration",
"ms-agent-dotnet::open-gen-ui-advanced::sandbox-function-registration",
"ms-agent-harness-dotnet::open-gen-ui-advanced::sandbox-function-registration",
"ms-agent-python::open-gen-ui-advanced::sandbox-function-registration",
"pydantic-ai::headless-complete::custom-bubbles",
"pydantic-ai::open-gen-ui-advanced::sandbox-function-registration",
"spring-ai::headless-complete::custom-bubbles",
"spring-ai::open-gen-ui-advanced::sandbox-function-registration",
"strands::headless-complete::custom-bubbles",
"strands::open-gen-ui-advanced::sandbox-function-registration",
"strands-typescript::headless-complete::custom-bubbles",
"strands-typescript::open-gen-ui-advanced::sandbox-function-registration",
]);
export function multiFileRegionKey(
demoKey: string,
regionName: string,
): string {
return `${demoKey}::${regionName}`;
}
export function findUnexpectedMultiFileRegions(
sources: MultiFileRegionSource[],
): MultiFileRegionSource[] {
return sources.filter(
(source) =>
source.files.length > 1 &&
!ALLOWED_MULTI_FILE_REGION_KEYS.has(
multiFileRegionKey(source.demoKey, source.regionName),
),
);
}