feat(agents): add devin adapter#132
Conversation
343cf67 to
4283824
Compare
Greptile SummaryThis PR introduces the Devin for Terminal (Cognition) agent adapter, wired into the registry alongside the existing grok, goose, and other adapters. The implementation delegates hook installation to
Confidence Score: 4/5Safe to merge after fixing the metadata key inconsistency in SessionInfo — title and summary will silently vanish if shared port constants are ever renamed. The adapter correctly delegates hook installation, binary resolution, and permission mapping. The one real defect is in SessionInfo: it reads Title and Summary via private local string constants that duplicate the shared ports.MetadataKeyTitle and ports.MetadataKeySummary constants that the installed hooks actually write. Because the string values currently match, session info works today, but the devin adapter is silently decoupled from the shared vocabulary — a rename of those constants would break devin's title/summary without a compile error. backend/internal/adapters/agent/devin/devin.go — the SessionInfo function and the devinTitleMetadataKey/devinSummaryMetadataKey const block; also update the corresponding map keys in devin_test.go. Important Files Changed
Sequence DiagramsequenceDiagram
participant AO as AO Session Manager
participant DP as devin.Plugin
participant CC as claudecode.Plugin
participant DV as devin binary
AO->>DP: GetAgentHooks(ctx, cfg)
DP->>CC: GetAgentHooks(ctx, cfg)
CC-->>DP: writes .claude/settings.local.json
DP-->>AO: ok
AO->>DP: GetLaunchCommand(ctx, cfg)
DP->>DP: devinBinary() [resolve + cache]
DP-->>AO: [devin, --permission-mode, auto, -p, prompt]
AO->>DV: exec launch command
DV-->>AO: hook payloads (SessionStart → agentSessionId, title, summary)
AO->>DP: GetRestoreCommand(ctx, cfg)
DP-->>AO: [devin, --permission-mode, dangerous, -r, sessionID]
AO->>DP: SessionInfo(ctx, session)
DP-->>AO: "SessionInfo{AgentSessionID, Title, Summary}"
Reviews (2): Last reviewed commit: "feat(agents): add devin adapter" | Re-trigger Greptile |
Registers the devin harness, stacked on the agent platform. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
4283824 to
afb9430
Compare
Adds the devin harness, stacked on #119 (agent platform). Adapter package +
Constructors()registration + resolver test.🤖 Generated with Claude Code
Stack