sususu
85ddf3aeb5
fix(devin): calculate total_input_tokens and total_tokens correctly
2026-09-13 23:34:43 +08:00
sususu
ca664c6ede
feat(devin): clamp maxTokens to model MaxCompletionTokens
2026-09-13 23:34:43 +08:00
sususu
469aa3678f
feat(devin): parse protobuf timestamp and harden partial failure logging
2026-09-13 23:34:43 +08:00
sususu
16cb6c0b02
feat(devin): add symmetric decoded upstream response in request log
2026-09-13 23:34:43 +08:00
sususu
59df75d20c
docs(devin): update DevinExecutor comment with verbatim reconstructed cloud system prompt
2026-09-13 23:34:43 +08:00
sususu
8a3770710e
docs(devin): document cloud-side system instructions baseline in DevinExecutor
2026-09-13 23:34:43 +08:00
sususu
2caab7dbf9
feat(devin): enhance request-log with intermediate interactions and decoded upstream body
2026-09-13 23:34:43 +08:00
sususu
ea2f29feec
feat(devin): add devin/gemini-3-8-flash and devin/grok-4-6 model definitions and signature recognition
...
- Register static model definitions for devin/gemini-3-8-flash (1M context, Google) and devin/grok-4-6 (500k context, xAI).
- Support gemini38Efforts (low/medium/high) and grok46Efforts (low/medium/high/xhigh) in ResolveDevinChatModelUID, supporting both colon and parenthesis suffix parsing.
- Recognize Gemini Tink thought signatures (AY-prefix / 0x01 Tink header) in detectSignatureType and parseSignatureBytes.
- Add unit tests for both models in registry and devin_models.
2026-09-13 23:34:43 +08:00
sususu
7b5741c639
feat(devin): support credential quota and seat status query via GetUserStatus
...
- Implement Connect-RPC GetUserStatus serialization and response parsing in internal/auth/devin/user_status.go.
- Extract user email, plan, username, user_id, team_id, org_id, daily/weekly quota percentages, and reset timestamps.
- Wire user status into DevinExecutor.Refresh to update auth metadata and Quota.Signals.
- Add devin to ProviderSupportsQuotaObservation so CPA management endpoints surface quota observations.
- Enrich Devin OAuth login flow with user status, email, and quota information, and add CSRF state verification.
- Support base_url override in DevinAuthService for mock testing and custom gateways.
2026-09-13 23:34:43 +08:00
sususu
d115fe2c45
refactor(devin): align sensitive-words with antigravity to config.yaml only
2026-09-13 23:34:43 +08:00
sususu
1b6948513d
feat(devin): support sensitive-words in auth json metadata and attributes
2026-09-13 23:34:43 +08:00
sususu
02fd1bde78
feat(devin): restrict glm-5-2 to free tier, remove static swe-1-7-lightning, and harden cloak
2026-09-13 23:34:43 +08:00
sususu
cbe800aa28
feat(devin): bind upstream session_id and cascade_id to CPA canonical session
2026-09-13 23:34:43 +08:00
sususu
f94752762b
feat(devin): add Devin/Cognition provider integration and CLI OAuth
...
Implement the full Devin/Cognition Connect-RPC provider support across all CPA endpoints (/v1/chat/completions, /v1/messages, /v1/responses), complete with binary protobuf wire framing, streaming tools/arguments delta handling, thinking/reasoning replay, and CLI OAuth authentication.
Key highlights:
- Wire Protocol & Streaming:
* Implemented Connect-RPC uncompressed 5-byte framing (0x00 + 4-byte length + protobuf) for ApiServerService/GetChatMessage.
* Implemented Devin protobuf encoder/decoder in internal/runtime/executor/helps/devin_wire.go, including ClientMetadata, prompts, tools, completion_config, and multimodal image handling (Prompt Field #10 ).
* Stream frame consumption via interactions protocol, correctly mapping arguments_delta and tracking multiple sequential tool calls (currentToolCallActive).
* Streaming thought summary and sealed.v1 signature deltas targeting the thinking step.
- Model Registration & Thinking Clamping:
* Registered static fallback models in model_definitions.go (swe-2, claude-fable-5-1, gpt-6-astra, swe-1-7-lightning, glm-5-2, glm-5-3).
* Configured ThinkingSupport with discrete levels per model family.
* Implemented CPA-standard nearest-neighbor clamping for thinking levels (minimal/low -> medium, xhigh -> max for swe-2).
* Mapped thinking effort to Devin upstream model UID (e.g. swe-2-medium, swe-2-high, swe-2-max).
- Sensitive Words & System Prompt Sanitization:
* Added devin.sensitive-words configuration in internal/config/config_types.go and config.go, matching Antigravity conventions.
* Supported zero-width space (\u200b) obfuscation in prompts, tools, and system instructions via SensitiveWordMatcher.
* Stripped Claude Code billing headers (x-anthropic-billing-header:) and CLI identity signatures from system instructions and tool descriptions to avoid upstream content filter rejections.
- Signature Compatibility:
* Added SignatureProviderSWE = "swe" recognizing sealed.v1.* reasoning signatures in internal/signature/provider_compatibility.go.
* Propagated reasoning.encrypted_content on Responses API and thinking.signature on Messages API.
- Authentication:
* Implemented Devin PKCE OAuth flow with loopback callback server and headless manual token/code paste (--no-browser).
* Registered Devin authenticator in SDK and CLI (-devin-login flag).
* Integrated with management OAuth session endpoints and credentials manager.
2026-09-13 23:34:43 +08:00