Skip to content

feat:Add Claroty suggest vendor model POST endpoint#259

Closed
HavenDV wants to merge 1 commit intomainfrom
bot/update-openapi_202603101606
Closed

feat:Add Claroty suggest vendor model POST endpoint#259
HavenDV wants to merge 1 commit intomainfrom
bot/update-openapi_202603101606

Conversation

@HavenDV
Copy link
Contributor

@HavenDV HavenDV commented Mar 10, 2026

Summary by CodeRabbit

  • New Features
    • Added new Claroty vendor model suggestion API endpoint to provide enhanced recommendation capabilities for vendor selection.

@coderabbitai
Copy link

coderabbitai bot commented Mar 10, 2026

Walkthrough

A new POST endpoint /solutions/claroty/suggest-vendor-model is added to the OpenAPI specification with operation ID claroty_suggest_vendor_model_solutions_claroty_suggest_vendor_model_post and a 200 response schema for application/json content type.

Changes

Cohort / File(s) Summary
New Claroty Endpoint
src/libs/AI21/openapi.yaml
Added POST endpoint for Claroty vendor model suggestion with 200 response definition.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~8 minutes

Poem

🐰 A path opens wide for Claroty's call,
Suggest vendor models, one and all!
New endpoints hop into the spec,
Another route for the API to check—
This rabbit hops on! ✨

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately describes the main change: adding a new Claroty suggest vendor model POST endpoint to the OpenAPI specification.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
  • 📝 Generate docstrings (stacked PR)
  • 📝 Generate docstrings (commit on current branch)
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch bot/update-openapi_202603101606

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@github-actions github-actions bot enabled auto-merge March 10, 2026 16:07
@coderabbitai coderabbitai bot changed the title feat:@coderabbitai feat:Add Claroty suggest vendor model POST endpoint Mar 10, 2026
Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@src/libs/AI21/openapi.yaml`:
- Around line 3014-3019: The endpoint response currently uses an empty schema
causing generated clients to return raw strings; replace the empty schema with a
concrete component reference (e.g., $ref:
'#/components/schemas/ClarotySuggestVendorModelResponse') and then add a
matching components.schemas.ClarotySuggestVendorModelResponse definition that
models the actual JSON payload fields returned by the API so generated methods
return Task<ClarotySuggestVendorModelResponse> instead of string.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 87bc895c-9aaa-4a0d-b162-7d508817ba63

📥 Commits

Reviewing files that changed from the base of the PR and between bd8c9a6 and 3d449c5.

⛔ Files ignored due to path filters (115)
  • src/libs/AI21/Generated/AI21.Ai21Api.ClarotyProductLookupSolutionsClarotyProductLookupPost.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Ai21Api.ClarotySuggestVendorModelSolutionsClarotySuggestVendorModelPost.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.IAi21Api.ClarotySuggestVendorModelSolutionsClarotySuggestVendorModelPost.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.Assistant.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.AssistantBasicInfo.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.AssistantRoute.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.AssistantsByMcpResponse.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.BodyConvertDocumentFileStudioV1ChatFilesConvertPost.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.BodyParsePdfStudioV1DemosDocumentModifierParsePdfPost.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.BodyProcessRfiDocumentStudioV1DemosRfiProcessRfiPost.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.BodyUploadCheckComplianceStudioV1DemosRegulationsUploadCheckCompliancePost.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.BodyV1LibraryUpload.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.ChatCompletion.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.ChatCompletionResponseChoice.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.ChatCompletionResponseDeltaChoice.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.ChatCompletionVllmStreamingMessage.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.ChatRequest.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.ChatStreamingContentDelta.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.ChatStreamingFirstDelta.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.ChatStreamingToolCallsDelta.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.ChatStreamingToolCallsFirstDelta.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.ClarotySuggestVendorModelSolutionsClarotySuggestVendorModelPostResponse.Json.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.ClarotySuggestVendorModelSolutionsClarotySuggestVendorModelPostResponse.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.CompareTextRequest.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.ConnectorConnectionStatus.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.ConnectorsDataSources.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.ConnectorsStatus.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.ConnectorsSyncParams.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.ConnectorsToken.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.CreateAssistantRequest.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.CreateMCPStorageRequest.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.CreateMaestroRunsPayload.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.CreateOrganizationSchemaRequest.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.CreatePlanPayload.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.CreateRoutePayload.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.CreateSecretPayload.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.DataSourceMetadata.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.DeleteAssistantResponse.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.DeleteMCPStorageResponse.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.Demo.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.DemoCreate.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.DetectSchemaRequest.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.DetectSchemaResponse.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.DocumentReference.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.DocumentSchema.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.DownloadModifiedDocumentRequest.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.FileResponse.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.FunctionToolDefinition.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.GenerateAssistantRequest.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.GenerateAssistantResponse.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.HTTPToolEndpoint.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.HTTPToolFunction.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.HTTPToolFunctionParamProperties.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.HTTPToolFunctionParameters.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.HTTPToolResource.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.IgnestionBatchStatusCount.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.IngestionBatchStatusResponse.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.JambaExecuteRequest.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.LanguageStudioApiServerDataTypesChatToolDefinition.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.LanguageStudioApiServerDataTypesExecutionEngineRequirement.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.LibrarySearchRequest.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.ListAssistantsResponse.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.ListMCPsStorageResponse.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.ListPlansResponse.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.ListRoutesResponse.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.Logprobs.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.LogprobsData.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.MCPDefinition.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.MCPDiscoveryResponse.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.MCPStorageResponse.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.MCPTool.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.MaestroRunError.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.MaestroRunResult.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.MarkdownRequest.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.Message.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.ModelInfo.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.ModelPricing.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.ModelsInfoResponse.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.OrgSchema.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.OrgSchemas.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.Plan.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.RFIResponseSection.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.RequirementItem.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.RequirementsGenerationRequest.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.RequirementsGenerationResponse.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.ResponseFormat.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.RunAssistantRequest.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.SecretResponse.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.StarterQuestion.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.SystemMessage.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.ThreadNameGenerationRequest.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.ThreadNameGenerationResponse.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.ToolCall.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.ToolCallDelta.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.ToolCallDeltaStart.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.ToolFunction.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.ToolFunctionDelta.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.ToolFunctionDeltaStart.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.ToolMessage.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.ToolParameters.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.TopLogprobsData.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.UpdateMCPStorageRequest.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.UpdateRoutePayload.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.UsageInfo.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.UserMessage.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.ValidationError.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.ValidationResult.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.WebsiteConnectorCreateConfigPayload.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.WebsiteConnectorIngestUrlPayload.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.WebsiteConnectorIngestWebsitePayload.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.WebsiteConnectorPayload.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.WebsiteConnectorRetryIngestWebsitePayload.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.WorkflowConfig.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.WorkspaceModelResponse.g.cs is excluded by !**/generated/**
  • src/libs/AI21/Generated/AI21.Models.WorkspaceModelsResponse.g.cs is excluded by !**/generated/**
📒 Files selected for processing (1)
  • src/libs/AI21/openapi.yaml

Comment on lines +3014 to +3019
responses:
'200':
description: Successful Response
content:
application/json:
schema: { }
Copy link

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

rg -n -C2 'ClarotySuggestVendorModelSolutionsClarotySuggestVendorModelPostAsync|Task<string>|ClarotySuggestVendorModelSolutionsClarotySuggestVendorModelPostResponse' src/libs/AI21/Generated

Repository: tryAGI/AI21

Length of output: 50368


🏁 Script executed:

fd -t f "Claroty" src/libs/AI21/Generated/

Repository: tryAGI/AI21

Length of output: 902


🏁 Script executed:

sed -n '3010,3020p' src/libs/AI21/openapi.yaml

Repository: tryAGI/AI21

Length of output: 405


🏁 Script executed:

head -100 src/libs/AI21/Generated/AI21.Ai21Api.ClarotySuggestVendorModelSolutionsClarotySuggestVendorModelPost.g.cs

Repository: tryAGI/AI21

Length of output: 4691


🏁 Script executed:

cat src/libs/AI21/Generated/AI21.Models.ClarotySuggestVendorModelSolutionsClarotySuggestVendorModelPostResponse.g.cs

Repository: tryAGI/AI21

Length of output: 631


Define a concrete response schema for this endpoint.

The empty schema: { } under-specifies the contract. The generated method returns Task<string> instead of the typed response model, forcing consumers to work with raw strings. Replace the empty schema with a named component schema that matches the actual JSON payload.

🧩 Suggested direction
       responses:
         '200':
           description: Successful Response
           content:
             application/json:
-              schema: { }
+              schema:
+                $ref: '#/components/schemas/ClarotySuggestVendorModelResponse'

Add ClarotySuggestVendorModelResponse under components/schemas with the real response shape.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@src/libs/AI21/openapi.yaml` around lines 3014 - 3019, The endpoint response
currently uses an empty schema causing generated clients to return raw strings;
replace the empty schema with a concrete component reference (e.g., $ref:
'#/components/schemas/ClarotySuggestVendorModelResponse') and then add a
matching components.schemas.ClarotySuggestVendorModelResponse definition that
models the actual JSON payload fields returned by the API so generated methods
return Task<ClarotySuggestVendorModelResponse> instead of string.

@HavenDV HavenDV closed this Mar 10, 2026
auto-merge was automatically disabled March 10, 2026 22:15

Pull request was closed

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.

1 participant