Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub. |
Greptile SummaryThis PR adds two new copilot tools ( Key improvements:
Implementation details:
Confidence Score: 5/5
Important Files Changed
Sequence DiagramsequenceDiagram
participant Copilot as Copilot (LLM)
participant Client as Client Tool
participant API as API Route
participant Server as Server Tool
participant Registry as Block Registry
participant Store as Zustand Store
Note over Copilot,Store: get_block_options flow
Copilot->>Client: Call get_block_options(blockId)
Client->>Client: setState(executing)
Client->>API: POST /api/copilot/execute-copilot-server-tool
API->>Server: routeExecution('get_block_options', payload)
Server->>Registry: blockRegistry[blockId]
Registry-->>Server: blockConfig
Server->>Server: Extract operations from subBlocks
Server->>Server: Resolve tool descriptions
Server-->>API: {blockId, blockName, operations[]}
API-->>Client: Response with operations
Client->>Client: markToolComplete(200, {operations: count}, result)
Note over Client,Store: Result stored in memory for LLM context
Client->>Client: setState(success)
Client-->>Copilot: Operations list available
Note over Copilot,Store: get_block_config flow
Copilot->>Client: Call get_block_config(blockType, operation?)
Client->>Client: setState(executing)
Client->>API: POST /api/copilot/execute-copilot-server-tool
API->>Server: routeExecution('get_block_config', payload)
Server->>Registry: blockRegistry[blockType]
Registry-->>Server: blockConfig
Server->>Server: extractInputsFromSubBlocks(subBlocks, operation)
Note over Server: Filters subBlocks by operation condition
Server->>Server: resolveSubBlockOptions(sb)
Note over Server: Calls dynamic options with mock store state
Server->>Server: callOptionsWithFallback(optionsFn)
Server->>Store: Mock useProvidersStore.getState()
Store-->>Server: Static model options
Server->>Server: extractOutputs(blockConfig, operation)
Server-->>API: {blockType, inputs{}, outputs{}}
API-->>Client: Response with config
Client->>Client: markToolComplete(200, {inputs: count, outputs: count}, result)
Note over Client,Store: Full schema stored for LLM reference
Client->>Client: setState(success)
Client-->>Copilot: Block configuration available
|
Greptile's behavior is changing!From now on, if a review finishes with no comments, we will not post an additional "statistics" comment to confirm that our review found nothing to comment on. However, you can confirm that we reviewed your changes in the status check section. This feature can be toggled off in your Code Review Settings by deselecting "Create a status check for each PR". |
Summary
Adds metadata processing tools to copilot to limit bloated context
Type of Change
Testing
Manual
Checklist