MCPcopy Create free account
hub / github.com/SkyworkAI/DeepResearchAgent / generate_next_version

Method generate_next_version

src/version/server.py:139–192  ·  view source on GitHub ↗

Generate next version number for a component Args: component_type: Type of component (tool, environment, agent) name: Component name version_type: Type of version increment ("major", "minor", "patch") Returns: Next

(self, component_type: str, name: str, 
                                   version_type: str = "patch")

Source from the content-addressed store, hash-verified

137 return version_history.current_version
138
139 async def generate_next_version(self, component_type: str, name: str,
140 version_type: str = "patch") -> str:
141 """Generate next version number for a component
142
143 Args:
144 component_type: Type of component (tool, environment, agent)
145 name: Component name
146 version_type: Type of version increment ("major", "minor", "patch")
147
148 Returns:
149 Next version string (e.g., "1.0.1", "1.1.0", "2.0.0")
150 """
151 current_version = await self.get_current_version(component_type, name)
152
153 if current_version is None:
154 # First version
155 return "1.0.0"
156
157 try:
158 # Parse current version (e.g., "1.2.3")
159 version_parts = current_version.split(".")
160 if len(version_parts) >= 3:
161 major = int(version_parts[0])
162 minor = int(version_parts[1])
163 patch = int(version_parts[2])
164 elif len(version_parts) == 2:
165 major = int(version_parts[0])
166 minor = int(version_parts[1])
167 patch = 0
168 elif len(version_parts) == 1:
169 major = int(version_parts[0])
170 minor = 0
171 patch = 0
172 else:
173 # Invalid version format, start fresh
174 return "1.0.0"
175
176 # Increment based on version_type
177 if version_type == "major":
178 major += 1
179 minor = 0
180 patch = 0
181 elif version_type == "minor":
182 minor += 1
183 patch = 0
184 else: # patch (default)
185 patch += 1
186
187 return f"{major}.{minor}.{patch}"
188
189 except (ValueError, IndexError):
190 # If version parsing fails, start fresh
191 logger.warning(f"| ⚠️ Failed to parse version {current_version} for {component_type}/{name}, starting fresh")
192 return "1.0.0"
193
194 async def get_version(self,
195 component_type: str,

Callers 12

get_versionMethod · 0.95
updateMethod · 0.80
copyMethod · 0.80
updateMethod · 0.80
copyMethod · 0.80
updateMethod · 0.80
updateMethod · 0.80
copyMethod · 0.80
updateMethod · 0.80
copyMethod · 0.80
updateMethod · 0.80
copyMethod · 0.80

Calls 2

get_current_versionMethod · 0.95
warningMethod · 0.80

Tested by

no test coverage detected