mirror of
https://github.com/diegosouzapw/OmniRoute.git
synced 2026-07-31 20:32:20 +03:00
- mitm-handler-base: hookBufferStart returns InterceptedRequest with sanitized headers, extractSourceModel parses body.model, writeError emits JSON with sanitized message (Hard Rule #12). - mitm-handler-<id>: nine per-agent happy-path tests (antigravity, kiro, copilot, codex, cursor, zed, claude-code, open-code) exercise full intercept() with mocked fetch via _mitmHandlerHarness.ts; asserts mapped model is forwarded and AgentBridge correlation headers are present. Trae test confirms intercept() rejects with a structured error. - mitm-targets-resolve: ALL_TARGETS contains 9 entries; resolveTarget is case-insensitive and returns null for unknown hosts. - mitm-targets-route: bypass > target > passthrough precedence validated against representative hostnames. - mitm-detection: DETECTORS covers every AgentId; detectAgent never throws and returns DetectionResult-shaped objects for all probes.
24 lines
704 B
TypeScript
24 lines
704 B
TypeScript
import test from "node:test";
|
|
import assert from "node:assert/strict";
|
|
import type { IncomingMessage, ServerResponse } from "node:http";
|
|
import { TraeHandler } from "../../src/mitm/handlers/trae.ts";
|
|
|
|
test("trae handler — intercept throws structured error (viability=investigating)", async () => {
|
|
const h = new TraeHandler();
|
|
const req = {
|
|
method: "POST",
|
|
url: "/x",
|
|
headers: { host: "trae.invalid" },
|
|
} as unknown as IncomingMessage;
|
|
const res = {
|
|
headersSent: false,
|
|
writeHead() {},
|
|
end() {},
|
|
} as unknown as ServerResponse;
|
|
|
|
await assert.rejects(
|
|
() => h.intercept(req, res, Buffer.from("{}"), "gpt-4o"),
|
|
/investigation|invalid|not.*implement/i
|
|
);
|
|
});
|