From 8b31b1f54bc35ecd5225b455cff9dea4b8ab8030 Mon Sep 17 00:00:00 2001 From: A Vertex SDK engineer Date: Fri, 15 May 2026 08:30:47 -0700 Subject: [PATCH] fix: Fix SkillRevision state enum in Python SDK PiperOrigin-RevId: 916018697 --- agentplatform/_genai/types/__init__.py | 2 ++ agentplatform/_genai/types/common.py | 19 +++++++++++++++++-- .../replays/test_skills_revisions_get.py | 2 +- 3 files changed, 20 insertions(+), 3 deletions(-) diff --git a/agentplatform/_genai/types/__init__.py b/agentplatform/_genai/types/__init__.py index 706188be8f..b0db67e311 100644 --- a/agentplatform/_genai/types/__init__.py +++ b/agentplatform/_genai/types/__init__.py @@ -1313,6 +1313,7 @@ from .common import SkillRevision from .common import SkillRevisionDict from .common import SkillRevisionOrDict +from .common import SkillRevisionState from .common import SkillState from .common import State from .common import Strategy @@ -2736,6 +2737,7 @@ "MemoryMetadataMergeStrategy", "GenerateMemoriesResponseGeneratedMemoryAction", "SkillState", + "SkillRevisionState", "PromptOptimizerMethod", "OptimizationMethod", "PromptData", diff --git a/agentplatform/_genai/types/common.py b/agentplatform/_genai/types/common.py index 55e841d973..0aafe94c4f 100644 --- a/agentplatform/_genai/types/common.py +++ b/agentplatform/_genai/types/common.py @@ -478,6 +478,21 @@ class SkillState(_common.CaseInSensitiveEnum): """The Skill is being deleted.""" +class SkillRevisionState(_common.CaseInSensitiveEnum): + """State of the Skill Revision.""" + + STATE_UNSPECIFIED = "STATE_UNSPECIFIED" + """The state of the Skill Revision is unspecified.""" + ACTIVE = "ACTIVE" + """The Skill Revision is active.""" + CREATING = "CREATING" + """The Skill Revision is being created.""" + FAILED = "FAILED" + """The Skill Revision was created, but failed to process.""" + DELETING = "DELETING" + """The Skill Revision is being deleted.""" + + class PromptOptimizerMethod(_common.CaseInSensitiveEnum): """The method for data driven prompt optimization.""" @@ -18722,7 +18737,7 @@ class SkillRevision(_common.BaseModel): default=None, description="""Output only. The state of the Skill at this revision. TODO(b/503772996) Use a different proto for skill data included in skill revision""", ) - state: Optional[SkillState] = Field( + state: Optional[SkillRevisionState] = Field( default=None, description="""Output only. The state of the Skill Revision.""" ) @@ -18738,7 +18753,7 @@ class SkillRevisionDict(TypedDict, total=False): skill: Optional[SkillDict] """Output only. The state of the Skill at this revision. TODO(b/503772996) Use a different proto for skill data included in skill revision""" - state: Optional[SkillState] + state: Optional[SkillRevisionState] """Output only. The state of the Skill Revision.""" diff --git a/tests/unit/agentplatform/genai/replays/test_skills_revisions_get.py b/tests/unit/agentplatform/genai/replays/test_skills_revisions_get.py index 52808d6c63..8a83ff0d8a 100644 --- a/tests/unit/agentplatform/genai/replays/test_skills_revisions_get.py +++ b/tests/unit/agentplatform/genai/replays/test_skills_revisions_get.py @@ -53,7 +53,7 @@ def test_get_skill_revision(client, tmp_path): assert isinstance(revision, types.SkillRevision) assert revision.name == first_revision.name - assert revision.state == types.SkillState.ACTIVE + assert revision.state == types.SkillRevisionState.ACTIVE finally: # 4. Clean up the temporary skill