diegosouzapw
6347cbfe5d
feat(mitm): add detection modules for 8 agents (F3)
...
Filesystem-only installation probes for antigravity, kiro, copilot,
codex, cursor, zed, claude-code, and open-code. detectAgent(id)
dispatcher returns {installed, path?} without ever spawning a shell
or interpolating runtime paths (Hard Rule #13 ).
Trae has no detector — its entry in the dispatch table returns
{installed: false} until upstream viability is confirmed.
2026-05-27 21:31:46 -03:00
diegosouzapw
304dcac4cc
feat(mitm): add targets index with resolveTarget + routeConnection (F3)
...
ALL_TARGETS aggregates the nine MitmTarget descriptors in canonical
order. resolveTarget(hostname) does a case-insensitive exact-match
lookup against each target.hosts list. routeConnection(hostname,
userBypass) returns {kind: bypass|target|passthrough} per plan 11
§4.6 precedence: default+user bypass > known target host > passthrough.
2026-05-27 21:31:39 -03:00
diegosouzapw
bed254954c
feat(mitm): add remaining targets (cursor/zed/claudeCode/openCode/trae) (F3)
...
Declarative MitmTarget descriptors for the remaining agent identities:
- cursor: api2.cursor.sh, OpenAI Chat Completions
- zed: api.zed.dev, OpenAI Chat Completions
- claude-code: api.anthropic.com, Anthropic Messages format
- open-code: opencode.ai, OpenAI Chat Completions
- trae: viability=investigating, host trae.invalid placeholder
All entries point at lazy dynamic imports of their respective
handlers in src/mitm/handlers/<id>.ts (F3 handlers commit).
2026-05-27 21:31:33 -03:00
diegosouzapw
316e3b39f3
feat(mitm): add handler base + 9 concrete agent handlers (F3)
...
Implements MitmHandlerBase abstract class with shared concerns
(request body capture, secret masking, router forwarding, SSE
piping, Traffic Inspector hooks via dynamic import) plus concrete
handlers for antigravity, kiro, copilot, codex, cursor, zed,
claude-code, open-code, and trae (stub for investigating viability).
Each concrete handler maps request body model field to a configured
target, forwards to OmniRoute router, and pipes back SSE.
Targets antigravity and kiro updated to the new MitmTarget shape
while preserving legacy MITM_PROFILE export aliases.
2026-05-27 21:31:26 -03:00
diegosouzapw
ddf6b0ef63
merge(F2): DB migrations + modules into Group A parent
2026-05-27 19:41:11 -03:00
diegosouzapw
648415d4cf
merge(F1): shared foundation into Group A parent
2026-05-27 19:41:10 -03:00
diegosouzapw
97d607e7c5
test(mitm/inspector): unit tests for F1 foundation utilities
...
83 tests across 7 files: mitm-masksecrets (9), mitm-passthrough (10),
mitm-upstream-trust (5), inspector-kind-detector (14), inspector-context-key (11),
inspector-types (11), shared-schemas (23). All green.
2026-05-27 19:39:37 -03:00
diegosouzapw
96b6000f40
feat(schemas): add agentBridge/inspector Zod schemas (F1)
...
- AgentBridgeStateRow/Mapping/Bypass/ServerAction/Dns/MappingPut/BypassUpsert/UpstreamCaPost schemas
- InspectorCustomHost/SessionStart/SessionPatch/CaptureModeAction/SystemProxy/TlsInterceptToggle/AnnotationPut/ListQuery schemas
2026-05-27 19:39:32 -03:00
diegosouzapw
411a6d85d1
feat(inspector): add types, contextKey, kindDetector (F1)
...
- InterceptedRequest/LlmMetadata/WsEvent types + InterceptedRequestSchema
- extractSystemPrompt() supports OpenAI/Anthropic/Gemini formats
- computeContextKey() returns 12-hex SHA-256 of system prompt
- detectKind() classifies traffic via 18 host patterns + path + body + UA
- src/lib/inspector/secretMask.ts re-exports maskSecret (plano 12 bridge)
2026-05-27 19:39:26 -03:00
diegosouzapw
898f2f21c4
feat(mitm): add types, masking, passthrough, upstream-trust (F1)
...
- MitmTarget/AgentId types + MitmTargetSchema (Zod) in src/mitm/types.ts
- maskSecret() with pre-compiled BEARER/SK_KEY/LONG_TOKEN patterns
- sanitizeHeaders() using isForbiddenUpstreamHeaderName denylist + masking
- shouldBypass()/globMatch() — ReDoS-safe string split (no runtime RegExp)
- configureUpstreamCa() sets undici global dispatcher; safe error message (Hard Rule #12 )
2026-05-27 19:39:18 -03:00
diegosouzapw
80fa37f30f
test(db): unit tests for F2 modules
2026-05-27 19:24:30 -03:00
diegosouzapw
47c0dce062
chore(env): document AgentBridge + Inspector env vars and re-exports (F2)
2026-05-27 19:24:26 -03:00
diegosouzapw
9fcfc2bd0b
feat(db): add inspector custom hosts + sessions CRUD modules (F2)
2026-05-27 19:24:22 -03:00
diegosouzapw
45f602606b
feat(db): add agentBridge state/mappings/bypass CRUD modules (F2)
2026-05-27 19:24:19 -03:00
diegosouzapw
89d3304a93
feat(db): add migrations 073/074/075 agent_bridge + inspector (F2)
2026-05-27 19:24:14 -03:00
diegosouzapw
722e9f41cd
chore: apply unit test fixes, polyfills, and environment precedence fixes
2026-05-27 18:02:17 -03:00
JeferssonLemes
52a43d65d3
feat(modelSpecs): align opencode-go family with upstream provider limits ( #2802 )
...
Integrated into release/v3.8.6
2026-05-27 17:06:32 -03:00
Hernan Javier Ardila Sanchez
0e9aed4d03
fix(gemini): emit signaturelessToolCallMode:text for GEMINI format models ( #2801 )
...
Integrated into release/v3.8.6
2026-05-27 17:05:36 -03:00
Apostol Apostolov
87fad5d171
[codex] home: restore settings-driven home layout and quota auto-refresh ( #2800 )
...
Integrated into release/v3.8.6
2026-05-27 17:05:18 -03:00
Apostol Apostolov
f1e4c001a9
feat(logs): add clean history button ( #2799 )
...
Integrated into release/v3.8.6
2026-05-27 17:04:49 -03:00
akarray
83445a96b8
fix(oauth): repair Google loopback callback flow ( #2796 )
...
Integrated into release/v3.8.6
2026-05-27 17:04:31 -03:00
Markus Hartung
0c6c5e212e
fix: Error: Unable to inspect existing database #2771 ( #2795 )
...
Integrated into release/v3.8.6
2026-05-27 17:04:13 -03:00
Paijo
aac17c01c3
fix: register missing web-cookie validators (claude-web, gemini-web, copilot-web, t3-web) ( #2793 )
...
Integrated into release/v3.8.6
2026-05-27 17:03:55 -03:00
Paijo
619463c573
fix: resolve npm install warnings — remove dead deps, relax engine constraint ( #2792 )
...
Integrated into release/v3.8.6
2026-05-27 17:03:38 -03:00
JeferssonLemes
72a46581b6
fix(opencode-go): route qwen3.x via claude messages + repair fixMissingToolResponses for Claude-shape upstreams ( #2791 )
...
Integrated into release/v3.8.6
2026-05-27 17:02:38 -03:00
diegosouzapw
722aa32939
chore: ignore .claude/settings.local.json (per-user Claude Code permissions)
2026-05-27 16:29:27 -03:00
diegosouzapw
80f8dd7863
chore: merge release/v3.8.5 into main (post-v3.8.5 hotfixes + community PRs)
2026-05-27 16:23:02 -03:00
Diego Rodrigues de Sa e Souza
3c016ce4dc
Merge pull request #2790 from jeferssonlemes/feat/opencode-go-missing-models
...
feat(opencode-go): register 4 missing models from upstream catalog
2026-05-27 10:42:14 -03:00
diegosouzapw
7042460292
chore: merge release/v3.8.5 to resolve conflicts
2026-05-27 10:41:52 -03:00
Diego Rodrigues de Sa e Souza
10ecf693a9
Merge pull request #2789 from InkshadeWoods/main
...
fix(i18n): translate 162 missing zh-CN UI strings
2026-05-27 10:41:29 -03:00
diegosouzapw
d718a6cbfb
chore: merge release/v3.8.5 to resolve conflicts
2026-05-27 10:41:07 -03:00
Diego Rodrigues de Sa e Souza
f32f6b841c
Merge pull request #2782 from kjhq/docs/fix-readme-broken-links
...
docs: fix broken documentation links in README after Fumadocs migration
2026-05-27 10:31:54 -03:00
diegosouzapw
7117cea835
chore: merge release/v3.8.5 to resolve conflicts
2026-05-27 10:31:40 -03:00
Diego Rodrigues de Sa e Souza
c765a987e6
Merge pull request #2783 from JxnLexn/fix-codex
...
fix(codex): apply global service tiers to combo request bodies
2026-05-27 10:31:22 -03:00
diegosouzapw
a00af74279
chore: merge release/v3.8.5 to resolve conflicts
2026-05-27 10:31:09 -03:00
Diego Rodrigues de Sa e Souza
1d28fbc6f2
Merge pull request #2784 from hartmark/feature/docker-speedup
...
fix: speedup docker creation by reducing steps and bunch up copy operations
2026-05-27 10:30:47 -03:00
diegosouzapw
a7e1124f64
chore: merge release/v3.8.5 to resolve conflicts
2026-05-27 10:29:53 -03:00
Diego Rodrigues de Sa e Souza
4cefed33f7
Merge pull request #2785 from JxnLexn/fix-logging
...
fix: keep database log settings in sync with the pipeline toggle
2026-05-27 10:29:30 -03:00
diegosouzapw
02494051af
chore: merge release/v3.8.5 to resolve conflicts
2026-05-27 10:29:15 -03:00
Diego Rodrigues de Sa e Souza
1f1336aa7a
Merge pull request #2786 from JxnLexn/fix-combo-provider-exhaustion
...
Allow rate-limited provider connections after transient 429s
2026-05-27 10:28:55 -03:00
diegosouzapw
f40a20e5f8
chore: merge release/v3.8.5 to resolve conflicts
2026-05-27 10:28:40 -03:00
Diego Rodrigues de Sa e Souza
13de1c4675
Merge pull request #2787 from akarray/fix/remote-google-oauth-public-callback
...
fix: use public callbacks for remote Google OAuth with custom creds
2026-05-27 10:27:59 -03:00
Jefersson Lemes
e9ead52a42
feat(opencode-go): register 4 missing models from upstream catalog
...
Add qwen3.7-max, mimo-v2-pro, mimo-v2-omni, hy3-preview to the
opencode-go provider. Extend executor tests and model specs.
- Registry now matches live https://opencode.ai/zen/go/v1/models response
(16 models). Previously, four models returned by the upstream API were
absent from the static registry, so requests to them failed model
resolution before reaching the executor.
- qwen3.7-max: inherits defaultContextLength 200000; model spec mirrors
qwen3.6-plus (Bailian multimodal, thinking + tools + vision).
- mimo-v2-pro: spec mirrors mimo-v2-omni (262144 ctx, 131072 maxOut,
tools + vision).
- mimo-v2-omni: registry entry only (spec already present upstream).
- hy3-preview: registry entry only; falls back to __default__ spec.
- All four route to /chat/completions (default openai format), matching
the existing opencode-go executor behavior.
2026-05-27 10:20:25 -03:00
diegosouzapw
ade053c78b
chore: update CHANGELOG.md for v3.8.5 with integrated PRs
2026-05-27 09:49:46 -03:00
akarray
0700705040
fix: use public callbacks for remote Google OAuth with custom creds
2026-05-27 09:49:28 -03:00
Jan Leon
3a5ad60eb2
fix: allow rate-limited provider connections after transient 429s (with unit & integration tests)
2026-05-27 09:49:24 -03:00
Jan Leon
e6ea8f13d9
fix: keep database log settings in sync with the pipeline toggle
2026-05-27 09:48:38 -03:00
Markus Hartung
279e9c47bc
fix: speedup docker creation by reducing steps and bunch up copy operations
2026-05-27 09:48:35 -03:00
Jan Leon
af96e33184
fix(codex): apply global service tiers to combo request bodies
2026-05-27 09:48:17 -03:00
artac
9e57148b60
docs: fix broken documentation links in README after Fumadocs migration
2026-05-27 09:48:14 -03:00