Skip to content

feat(agents): add vibe adapter#137

Closed
yyovil wants to merge 1 commit into
agents/17-kilocodefrom
agents/18-vibe
Closed

feat(agents): add vibe adapter#137
yyovil wants to merge 1 commit into
agents/17-kilocodefrom
agents/18-vibe

Conversation

@greptile-apps
Copy link
Copy Markdown
Contributor

greptile-apps Bot commented Jun 6, 2026

Greptile Summary

Introduces the Mistral Vibe agent adapter, following the same structure as the existing sibling adapters (kilocode, kiro, etc.). The adapter is registered in the Constructors() list and validated by the existing wiring resolver test.

  • vibe.go implements binary resolution, permission-mode-to---agent-profile mapping, no-op hooks/SessionInfo (Tier C), and --resume-based restore; it is consistent with the established adapter contract.
  • vibe_test.go covers launch, restore, permission mapping, no-ops, and binary-resolver cancellation; TestContextCancellation omits GetLaunchCommand, leaving that one guard untested.
  • registry.go and wiring_test.go each receive a one-line addition to register and smoke-test the new harness.

Confidence Score: 5/5

Safe to merge; all four files are additive, the adapter correctly follows the established plugin contract, and the only gap is a missing test assertion.

The vibe adapter is a straightforward, additive implementation with no changes to existing code paths. Binary resolution, permission mapping, context guards, and the no-op hooks/SessionInfo are all correctly implemented and consistent with sibling adapters. The only finding is that TestContextCancellation does not cover GetLaunchCommand, but the guard itself is present and correct in the implementation.

No files require special attention; vibe_test.go has a minor test coverage gap for the GetLaunchCommand context guard.

Important Files Changed

Filename Overview
backend/internal/adapters/agent/vibe/vibe.go New Mistral Vibe adapter following the same plugin pattern as sibling adapters; binary resolution, permission-mode mapping, and context guards are all correct.
backend/internal/adapters/agent/vibe/vibe_test.go Good coverage of command-building paths and no-op methods; TestContextCancellation omits GetLaunchCommand, leaving that guard untested.
backend/internal/adapters/agent/registry/registry.go Minimal one-line addition of vibe.New() to the constructor list, consistent with the existing registration pattern.
backend/internal/daemon/wiring_test.go Adds {domain.HarnessVibe, "vibe"} to the resolver smoke-test; correct and complete.

Sequence Diagram

sequenceDiagram
    participant AO as AO Daemon
    participant P as vibe.Plugin
    participant VB as vibeBinary()
    participant RVB as ResolveVibeBinary()
    participant OS as OS / PATH

    AO->>P: GetLaunchCommand(ctx, cfg)
    P->>P: ctx.Err() guard
    P->>VB: vibeBinary(ctx)
    alt resolvedBinary cached
        VB-->>P: cached path
    else first call
        VB->>RVB: ResolveVibeBinary(ctx)
        RVB->>OS: exec.LookPath("vibe")
        OS-->>RVB: path or error
        RVB-->>VB: binary path
        VB->>VB: cache resolvedBinary
        VB-->>P: binary path
    end
    P->>P: appendAgentFlags(cmd, permissions)
    P->>P: append -p prompt (if set)
    P-->>AO: "["vibe","--trust","--output","text",(--agent profile),"-p","<prompt>"]"

    AO->>P: GetRestoreCommand(ctx, cfg)
    P->>P: ctx.Err() guard
    P->>P: check MetadataKeyAgentSessionID
    P->>VB: vibeBinary(ctx)
    VB-->>P: binary path (cached)
    P->>P: appendAgentFlags(cmd, permissions)
    P->>P: append --resume agentSessionID
    P-->>AO: "["vibe","--trust","--output","text",(--agent profile),"--resume","<id>"], ok=true"
Loading

Reviews (2): Last reviewed commit: "feat(agents): add vibe adapter" | Re-trigger Greptile

Comment thread backend/internal/adapters/agent/vibe/vibe.go
Comment thread backend/internal/adapters/agent/vibe/vibe.go Outdated
Registers the vibe harness, stacked on the agent platform.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants