import { setTimeout as sleep } from "node:timers/promises"; import type { OpenClawConfig } from "openclaw/plugin-sdk/config-runtime"; import { formatErrorMessage } from "openclaw/plugin-sdk/error-runtime"; import type { QaBusState } from "./bus-state.js"; import { getQaProvider } from "./providers/index.js"; import { QaStateBackedTransportAdapter } from "./qa-transport.js"; import type {
QaTransportActionName,
QaTransportGatewayConfig,
QaTransportGatewayClient,
QaTransportReportParams,
} from "./qa-transport.js"; import { qaChannelPlugin } from "./runtime-api.js";
function createQaChannelReportNotes(params: QaTransportReportParams) { const provider = getQaProvider(params.providerMode); return [
provider.kind === "mock"
? `Runs against qa-channel + qa-lab bus + real gateway child + ${params.providerMode} provider.`
: `Runs against qa-channel + qa-lab bus + real gateway child + live frontier models (${params.primaryModel}, ${params.alternateModel})${params.fastMode ? " with fast mode enabled" : ""}.`,
params.concurrency > 1
? `Scenarios run in isolated gateway workers with concurrency ${params.concurrency}.`
: "Scenarios run serially in one gateway worker.", "Cron uses a one-minute schedule assertion plus forced execution for fast verification.",
];
}
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.