Files
OmniRoute/src
Mourad Maatoug e3e962dbda feat(cc-bridge): config-driven system block transforms (closes #2260)
Adds a config-driven DSL pipeline for normalizing the system blocks sent
to Anthropic via the Claude Code bridge. Removes third-party agent CLI
fingerprints (OpenCode, Cline, Cursor, Continue) and prepends the SDK
identity + signed billing header so the request looks classifier-correct
regardless of which client originally sent it.

Why a DSL: future fingerprint defenses ship as config rows, not new code.
Mode presets (basic/aggressive/custom), reorder, add, delete, reset — all
hot-reloaded through the existing runtimeSettings registry.

Files
- open-sse/services/ccBridgeTransforms.ts   (~440 LOC; 8 op-kinds, executor,
  buildBillingHeaderValue ported from ex-machina cch.ts, singleton config
  matching cliFingerprints pattern, T4-200 fixture-matching defaults)
- tests/unit/cc-bridge-transforms.test.ts    (30 tests; per-op, idempotency,
  ordering, verbatim-OpenCode regression)
- open-sse/services/claudeCodeCompatible.ts  (step 5b in buildAndSign
  pipeline + re-exports for downstream)
- open-sse/executors/base.ts                 (maintainer comment: native
  OAuth path is intentionally not routed through the DSL; it has its own
  billing prepend at lines 744-773)
- src/lib/config/runtimeSettings.ts          (RuntimeReloadSection +
  snapshot + default + normalize + apply + change-detection)
- src/shared/validation/settingsSchemas.ts   (zod discriminatedUnion over
  the 8 op-kinds, max 50 ops per pipeline)
- src/app/(dashboard)/dashboard/settings/components/RoutingTab.tsx
  (Settings UI Card: enabled toggle, ordered pipeline list with reorder
  buttons, add-op dropdown, reset-to-defaults)
- src/i18n/messages/en.json                  (10 new strings under
  settings.ccBridgeTransforms.*)

Defaults match the empirical T4=200 layout: [billing, identity, sanitized,
extras]. Verified against prod call logs (1c1946a2 = plugin-200,
de8ab5bd = raw-429) and four-variant live A/B test (T1=429 baseline,
T2=429 phrase-only, T3=429 sanitizer-only, T4=200 with billing+identity).

Test result: 30/30 ccBridgeTransforms + 6/6 baseline claude-code-compatible-helpers green.

Scope: CC bridge surface only (open-sse/services/claudeCodeCompatible.ts).
Native claude OAuth path is NOT routed through the DSL — it has its own
billing prepend mechanism that already works.

Refs: https://github.com/diegosouzapw/OmniRoute/issues/2260
2026-05-15 14:04:34 +02:00
..
2026-05-10 00:55:06 -03:00
2026-05-10 00:55:06 -03:00