Skip to content

Conversation

@waleedlatif1
Copy link
Collaborator

* feat(providers): add Gemini Deep Research via Interactions API

* fix(providers): hide memory UI for deep research models

* feat(providers): add multi-turn support and token logging for deep research

* fix(providers): only collect user messages as deep research input

* fix(providers): forward previousInteractionId to provider request

* fix(blocks): hide memory child fields for deep research models

* remove memory params from models that don't support it in provider requests

* update blog
…3202)

* fix(confl): use recommended query param pattern for confluence route

* use unused var
@vercel
Copy link

vercel bot commented Feb 11, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

1 Skipped Deployment
Project Deployment Actions Updated (UTC)
docs Skipped Skipped Feb 11, 2026 11:33pm

Request Review

@greptile-apps
Copy link
Contributor

greptile-apps bot commented Feb 11, 2026

Greptile Overview

Greptile Summary

This release introduces Gemini Deep Research support via the Interactions API, expands Confluence tooling, removes conflicting hotkeys, and increases trigger machine capacity.

Major Changes:

  • Gemini Deep Research (Interactions API): Added comprehensive support for deep-research-pro-preview-12-2025 model using Google's Interactions API. Implemented both streaming and non-streaming modes with proper polling, error handling, and usage tracking. Deep research models have tools, skills, memory, temperature, and structured output fields conditionally hidden in the UI.

  • Confluence Operations: Added four new operations: delete_label, delete_page_property, get_pages_by_label, and list_space_labels. All new API routes follow the recommended query parameter pattern for GET requests and include proper validation.

  • Infrastructure Improvements: Increased trigger machine size from default to medium-1x for schedule, webhook, and workflow execution tasks to address OOM issues.

  • Hotkey Removal: Removed C, T, E single-key shortcuts for tab switching across all localized documentation to prevent interference with text input.

  • Model Normalization: Added Claude model ID canonicalization in Copilot store to handle variant model IDs (e.g., claude-4.5-opusclaude-opus-4-5).

  • Custom Tools Management: Added manage_custom_tool handler in tool executor for CRUD operations on custom tools and oauth_request_access handler for OAuth flows.

Confidence Score: 5/5

  • This PR is safe to merge with minimal risk
  • All changes are well-structured, follow established patterns, and include proper error handling. The Gemini Deep Research implementation is comprehensive with streaming support, polling logic, and proper timeout handling. Confluence operations follow the recommended query param pattern. Infrastructure changes address a specific OOM issue. No security concerns or breaking changes detected.
  • No files require special attention

Important Files Changed

Filename Overview
apps/sim/providers/gemini/core.ts Added comprehensive Interactions API implementation for Gemini Deep Research with streaming support, polling, and proper error handling
apps/sim/lib/copilot/orchestrator/tool-executor/index.ts Added manage_custom_tool handler for CRUD operations on custom tools and oauth_request_access handler
apps/sim/providers/models.ts Added deep-research-pro-preview-12-2025 model with deepResearch capability and memory:false flag
apps/sim/blocks/blocks/agent.ts Added conditional field visibility for deep research models (hide tools, skills, memory, temperature, maxTokens, responseFormat)
apps/sim/background/schedule-execution.ts Increased machine size to medium-1x for schedule execution tasks
apps/sim/background/webhook-execution.ts Increased machine size to medium-1x for webhook execution tasks
apps/sim/background/workflow-execution.ts Increased machine size to medium-1x for workflow execution tasks
apps/sim/blocks/blocks/confluence.ts Added delete_page_property, delete_label, get_pages_by_label, and list_space_labels operations with proper parameter handling
apps/sim/stores/panel/copilot/store.ts Added Claude model ID canonicalization logic to handle variant model IDs and normalize selected models across provider catalog
apps/sim/app/api/copilot/chat/route.ts Added blockIds array normalization for contexts and included conversationId/prefetch in orchestrator request

Sequence Diagram

sequenceDiagram
    participant User
    participant Agent Block
    participant Gemini Provider
    participant Interactions API
    participant Copilot Store

    User->>Agent Block: Request deep research (model: deep-research-pro-preview-12-2025)
    Agent Block->>Gemini Provider: executeGeminiRequest(config)
    Gemini Provider->>Gemini Provider: isDeepResearchModel() check
    Gemini Provider->>Gemini Provider: executeDeepResearchRequest()
    Gemini Provider->>Gemini Provider: collapseMessagesToInput() - flatten messages
    
    alt Streaming Mode
        Gemini Provider->>Interactions API: create({ stream: true })
        Interactions API-->>Gemini Provider: StreamingInteraction
        Gemini Provider->>Gemini Provider: createDeepResearchStream()
        loop Stream events
            Interactions API-->>Gemini Provider: content.delta events
            Gemini Provider-->>User: Stream text chunks
        end
        Interactions API-->>Gemini Provider: interaction.complete
        Gemini Provider->>Gemini Provider: Extract usage & interactionId
        Gemini Provider-->>Agent Block: StreamingExecution with interactionId
    else Non-Streaming Mode
        Gemini Provider->>Interactions API: create({ stream: false })
        Interactions API-->>Gemini Provider: Interaction (status: running)
        loop Poll until complete
            Gemini Provider->>Interactions API: get(interactionId)
            Interactions API-->>Gemini Provider: Interaction status
        end
        Gemini Provider->>Gemini Provider: extractTextFromInteractionOutputs()
        Gemini Provider->>Gemini Provider: extractInteractionUsage()
        Gemini Provider-->>Agent Block: ProviderResponse with interactionId
    end
    
    Agent Block-->>User: Research results with interactionId for follow-ups
    
    Note over User,Copilot Store: Model Selection Normalization
    User->>Copilot Store: Select model variant (e.g., claude-4.5-opus)
    Copilot Store->>Copilot Store: canonicalizeModelMatchKey()
    Copilot Store->>Copilot Store: normalizeSelectedModelKey()
    Copilot Store-->>User: Canonical model ID (claude-opus-4-5)
Loading

Copy link
Contributor

@greptile-apps greptile-apps bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

35 files reviewed, no comments

Edit Code Review Agent Settings | Greptile

@waleedlatif1 waleedlatif1 merged commit 07d50f8 into main Feb 11, 2026
14 checks passed
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