Skip to content

feat(gooddata-sdk): [AUTO] add LLM provider action wrappers and workspace AI endpoints#1449

Closed
yenkins-admin wants to merge 2 commits intomasterfrom
feature/auto-P023-llm-provider-action-wrappers
Closed

feat(gooddata-sdk): [AUTO] add LLM provider action wrappers and workspace AI endpoints#1449
yenkins-admin wants to merge 2 commits intomasterfrom
feature/auto-P023-llm-provider-action-wrappers

Conversation

@yenkins-admin
Copy link
Copy Markdown
Contributor

Add SDK wrapper methods for 6 new LLM provider action-layer endpoints introduced by the LlmEndpoint-to-LlmProvider refactoring in gdc-nas.

Problem: P023 | Workflow: https://github.com/gooddata/gdc-nas/actions/runs/23194184862

What changed in gdc-nas

A multi-phase refactoring replaced the legacy LlmEndpoint entity with a new provider-based routing model (LlmProvider, LlmProviderConfig, LlmProviderAuth) across metadata-api, afm-exec-api, and gen-ai. New provider-type-specific config schemas (OpenAI, AWS Bedrock, Azure Foundry) were introduced along with new action endpoints.

Key commits:

  • 9de47d8 — Foundation: adds LlmProvider entity CRUD in metadata-api with provider configs and OpenAPI specs
  • 9f7515e — Adds LLM provider test endpoints to afm-exec-api (testLlmProvider, testLlmProviderById)
  • e3391f7 — Adds override support to the by-ID test endpoint (TestLlmProviderByIdRequest)
  • 62d7974 — Adds title generation for Analytics Catalog (generateTitle)
  • 6fe3b97 — Adds listModels endpoints (listLlmProviderModels, listLlmProviderModelsById)
  • 5dad98f — Fixes LLM provider auth test and base URL handling
  • f15a954 — Updates listModels descriptions and Azure Foundry config
  • 31290c9 — Gates LlmEndpoint/LlmProvider behind feature flag
  • 075d22d — Makes referencedObjects nullable in Chat
  • a19eb19 — Deprecates LlmEndpoint in favor of LlmProvider
  • 699c75c — Adds resolveLlmProviders endpoint with model support and FF gating

What was implemented in SDK

Added wrapper methods for 6 new action-layer endpoints split across two services:

CatalogOrganizationService (org-scoped endpoints):

  • test_llm_provider(request)POST /api/v1/actions/ai/llmProvider/test
  • test_llm_provider_by_id(llm_provider_id, request)POST /api/v1/actions/ai/llmProvider/{id}/test
  • list_llm_provider_models(request)POST /api/v1/actions/ai/llmProvider/listModels
  • list_llm_provider_models_by_id(llm_provider_id, request)POST /api/v1/actions/ai/llmProvider/{id}/listModels

CatalogWorkspaceService (workspace-scoped endpoints):

  • resolve_llm_providers(workspace_id)GET /api/v1/actions/workspaces/{workspaceId}/ai/resolveLlmProviders
  • generate_title(workspace_id, request)POST /api/v1/actions/workspaces/{workspaceId}/ai/analyticsCatalog/generateTitle

New Catalog model classes added:

  • CatalogTestLlmProviderDefinitionRequest, CatalogTestLlmProviderByIdRequest, CatalogTestLlmProviderResponse
  • CatalogListLlmProviderModelsRequest, CatalogListLlmProviderModelsResponse
  • CatalogResolvedLlm, CatalogResolvedLlmProvider, CatalogResolvedLlmEndpoint, CatalogResolvedLlms
  • CatalogGenerateTitleRequest, CatalogGenerateTitleResponse

All new classes exported from gooddata_sdk.__init__.py.

Files modified

  • packages/gooddata-sdk/src/gooddata_sdk/catalog/organization/entity_model/llm_provider.py
  • packages/gooddata-sdk/src/gooddata_sdk/catalog/organization/service.py
  • packages/gooddata-sdk/src/gooddata_sdk/catalog/workspace/service.py
  • packages/gooddata-sdk/src/gooddata_sdk/__init__.py
  • packages/gooddata-sdk/src/gooddata_sdk/catalog/workspace/entity_model/llm_resolved.py (new)
  • packages/gooddata-sdk/src/gooddata_sdk/catalog/workspace/entity_model/analytics_catalog.py (new)
  • packages/gooddata-sdk/tests/catalog/test_catalog_organization.py
  • packages/gooddata-sdk/tests/catalog/test_catalog_workspace.py

JIRA: PENDING (Jira ticket will be created after review)
Risk: Low

AutoImplementer and others added 2 commits March 17, 2026 13:22
…pace AI endpoints

Adds SDK wrapper methods for 6 new action-layer endpoints introduced by
the LlmProvider refactoring: testLlmProvider, testLlmProviderById,
listLlmProviderModels, listLlmProviderModelsById (on CatalogOrganizationService),
resolveLlmProviders and generateTitle (on CatalogWorkspaceService). Adds
corresponding request/response Catalog model classes and exports them from
gooddata_sdk.__init__.py.

Co-Authored-By: Claude Sonnet 4.6 <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