Spracherkennung für: .ts vermutete Sprache: Unknown {[0] [0] [0]} [Methode: Schwerpunktbildung, einfache Gewichte, sechs Dimensionen]
import type {
AgentToolResultMiddleware,
AgentToolResultMiddlewareOptions,
AgentToolResultMiddlewareRuntime,
} from "./agent-tool-result-middleware-types.js";
import { getActivePluginRegistry } from "./runtime.js";
export const AGENT_TOOL_RESULT_MIDDLEWARE_RUNTIMES = [
"pi",
"codex",
] as const satisfies AgentToolResultMiddlewareRuntime[];
const AGENT_TOOL_RESULT_MIDDLEWARE_RUNTIME_SET = new Set<string>(
AGENT_TOOL_RESULT_MIDDLEWARE_RUNTIMES,
);
function normalizeAgentToolResultMiddlewareRuntime(
runtime: string,
): AgentToolResultMiddlewareRuntime | undefined {
const normalized = runtime.trim().toLowerCase();
if (normalized === "codex-app-server") {
return "codex";
}
return AGENT_TOOL_RESULT_MIDDLEWARE_RUNTIME_SET.has(normalized)
? (normalized as AgentToolResultMiddlewareRuntime)
: undefined;
}
export function normalizeAgentToolResultMiddlewareRuntimes(
options?: AgentToolResultMiddlewareOptions,
): AgentToolResultMiddlewareRuntime[] {
const requested = options?.runtimes ?? options?.harnesses;
if (!requested || requested.length === 0) {
return [...AGENT_TOOL_RESULT_MIDDLEWARE_RUNTIMES];
}
const normalized: AgentToolResultMiddlewareRuntime[] = [];
for (const runtime of requested) {
const value = normalizeAgentToolResultMiddlewareRuntime(runtime);
if (!value) {
continue;
}
if (!normalized.includes(value)) {
normalized.push(value);
}
}
return normalized;
}
/** @deprecated Use normalizeAgentToolResultMiddlewareRuntimes. */
export const normalizeAgentToolResultMiddlewareHarnesses =
normalizeAgentToolResultMiddlewareRuntimes;
export function normalizeAgentToolResultMiddlewareRuntimeIds(
runtimes: readonly string[] | undefined,
): AgentToolResultMiddlewareRuntime[] {
const normalized: AgentToolResultMiddlewareRuntime[] = [];
for (const runtime of runtimes ?? []) {
const value = normalizeAgentToolResultMiddlewareRuntime(runtime);
if (value && !normalized.includes(value)) {
normalized.push(value);
}
}
return normalized;
}
export function listAgentToolResultMiddlewares(
runtime: AgentToolResultMiddlewareRuntime,
): AgentToolResultMiddleware[] {
return (
getActivePluginRegistry()
?.agentToolResultMiddlewares?.filter((entry) => entry.runtimes.includes(runtime))
.map((entry) => entry.handler) ?? []
);
}
¤ Dauer der Verarbeitung: 0.18 Sekunden
(vorverarbeitet am 2026-04-27)
¤
*© Formatika GbR, Deutschland