From 4d7315a68b36bf23980ff24f13c1fe9420de7e69 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alperen=20K=C3=B6m=C3=BCrc=C3=BC?= Date: Thu, 3 Sep 2026 13:43:16 +0200 Subject: [PATCH 1/3] feat(prompt_registry): add top and skip params --- .../gen/gen_ai_hub/prompt_registry/client.py | 17 +++++++++++++++-- .../prompt_registry/test_client.py | 2 +- 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/packages/gen/gen_ai_hub/prompt_registry/client.py b/packages/gen/gen_ai_hub/prompt_registry/client.py index ae193399..9ae26527 100644 --- a/packages/gen/gen_ai_hub/prompt_registry/client.py +++ b/packages/gen/gen_ai_hub/prompt_registry/client.py @@ -116,7 +116,7 @@ def get_prompt_template_by_id(self, template_id: str) -> PromptTemplateGetRespon return PromptTemplateGetResponse(**response) - def get_prompt_template_history(self, scenario: str, name: str, version: str) -> PromptTemplateListResponse: + def get_prompt_template_history(self, scenario: str, name: str, version: str, top: int = None, skip: int = None) -> PromptTemplateListResponse: """Retrieve the history of edits to the prompt template. Only for imperative managed prompt templates. :param scenario: The scenario name of the prompt template. @@ -125,11 +125,24 @@ def get_prompt_template_history(self, scenario: str, name: str, version: str) -> :type name: str :param version: The version ID of the prompt template. :type version: str + :param top: Number of prompt templates to be retrieved, defaults to None + :type top: int, optional + :param skip: Number of prompt templates to be skipped, from the list of the queried executions, defaults to None + :type skip: int, optional :return: A PromptTemplateListResponse object. :rtype: PromptTemplateListResponse """ - response = self.rest_client.get(f"{PATH_SCENARIOS}/{scenario}/promptTemplates/{name}/versions/{version}/history") + params = {} + if top: + params['$top'] = top + if skip: + params['$skip'] = skip + + response = self.rest_client.get( + f"{PATH_SCENARIOS}/{scenario}/promptTemplates/{name}/versions/{version}/history", + params = params or None + ) return PromptTemplateListResponse(**response) diff --git a/packages/gen/integration_tests/prompt_registry/test_client.py b/packages/gen/integration_tests/prompt_registry/test_client.py index f62cdeff..61a0faad 100644 --- a/packages/gen/integration_tests/prompt_registry/test_client.py +++ b/packages/gen/integration_tests/prompt_registry/test_client.py @@ -85,7 +85,7 @@ def test_get_prompt_template_by_id_not_found(self): def test_get_prompt_template_history(self): response = self.client.get_prompt_template_history(scenario=self.scenario, name=self.template_name, - version=self.version) + version=self.version, top=500) self.assertIsInstance(response, PromptTemplateListResponse) def test_delete_prompt_template_by_id(self): From a800e206a9d00e691d7bbd30ae7b961ee330c9bd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alperen=20K=C3=B6m=C3=BCrc=C3=BC?= Date: Thu, 3 Sep 2026 13:54:18 +0200 Subject: [PATCH 2/3] fix(test): fix prompt registry test --- packages/gen/tests/prompt_registry/test_pr_client.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/gen/tests/prompt_registry/test_pr_client.py b/packages/gen/tests/prompt_registry/test_pr_client.py index 9eaedd8c..0a29a1eb 100644 --- a/packages/gen/tests/prompt_registry/test_pr_client.py +++ b/packages/gen/tests/prompt_registry/test_pr_client.py @@ -168,7 +168,7 @@ def test_get_prompt_template_history(self, mock_get): response = self.test_client.get_prompt_template_history(SCENARIO, TEMPLATE_NAME, VERSION) self.assertEqual(response, TEMPLATE_LIST_RESPONSE) mock_get.assert_called_once_with(path=f'{PATH_SCENARIOS}/{SCENARIO}/promptTemplates/{TEMPLATE_NAME}/' - f'versions/{VERSION}/history') + f'versions/{VERSION}/history', params=None) @patch('ai_api_client_sdk.helpers.rest_client.RestClient.delete') def test_delete_prompt_template_by_id(self, mock_delete): From a5e582dd9323dd69325b3d8a2c62666a66e94fbb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alperen=20K=C3=B6m=C3=BCrc=C3=BC?= Date: Fri, 4 Sep 2026 08:00:19 +0200 Subject: [PATCH 3/3] fix(params): fix int handling --- packages/gen/gen_ai_hub/prompt_registry/client.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/gen/gen_ai_hub/prompt_registry/client.py b/packages/gen/gen_ai_hub/prompt_registry/client.py index 9ae26527..857a08a4 100644 --- a/packages/gen/gen_ai_hub/prompt_registry/client.py +++ b/packages/gen/gen_ai_hub/prompt_registry/client.py @@ -134,9 +134,9 @@ def get_prompt_template_history(self, scenario: str, name: str, version: str, to """ params = {} - if top: + if top is not None: params['$top'] = top - if skip: + if skip is not None: params['$skip'] = skip response = self.rest_client.get(