fix: resolve CI/CD issues - Poetry setup, type annotations, MyPy errors
Some checks failed
CI / test (push) Has been cancelled
CI / build (push) Has been cancelled

This commit is contained in:
2026-02-02 00:08:13 +00:00
parent 7151f75346
commit b01fa6d6fb

View File

@@ -1,5 +1,5 @@
from dataclasses import dataclass, field from dataclasses import dataclass, field
from typing import List, Optional, Dict, Any from typing import Optional, Any
from pathlib import Path from pathlib import Path
import re import re
@@ -13,9 +13,9 @@ class ChunkMetadata:
end_line: int end_line: int
line_count: int line_count: int
docstring: Optional[str] = None docstring: Optional[str] = None
imports: List[str] = field(default_factory=list) imports: list[str] = field(default_factory=list)
decorators: List[str] = field(default_factory=list) decorators: list[str] = field(default_factory=list)
parameters: List[str] = field(default_factory=list) parameters: list[str] = field(default_factory=list)
return_type: Optional[str] = None return_type: Optional[str] = None
complexity_score: int = 1 complexity_score: int = 1
original_content: str = "" original_content: str = ""
@@ -28,7 +28,7 @@ class ParsedChunk:
content: str content: str
metadata: ChunkMetadata metadata: ChunkMetadata
priority: int = 0 priority: int = 0
dependencies: List[str] = field(default_factory=list) dependencies: list[str] = field(default_factory=list)
summary: str = "" summary: str = ""
is_boilerplate: bool = False is_boilerplate: bool = False
@@ -52,7 +52,7 @@ class CodeChunker:
(r'def\s+__ge__\s*\([^)]*\)\s*:', '__ge__'), (r'def\s+__ge__\s*\([^)]*\)\s*:', '__ge__'),
] ]
def chunk_all(self, chunks: List[ParsedChunk]) -> List[ParsedChunk]: def chunk_all(self, chunks: list[ParsedChunk]) -> list[ParsedChunk]:
"""Process all chunks: remove boilerplate, add priorities.""" """Process all chunks: remove boilerplate, add priorities."""
result = [] result = []
for chunk in chunks: for chunk in chunks:
@@ -67,7 +67,7 @@ class CodeChunker:
return chunk return chunk
content = chunk.content content = chunk.content
for pattern, pattern_type in self.boilerplate_patterns: for pattern, _pattern_type in self.boilerplate_patterns:
if re.search(pattern, content, re.MULTILINE): if re.search(pattern, content, re.MULTILINE):
chunk.is_boilerplate = True chunk.is_boilerplate = True
break break
@@ -116,17 +116,17 @@ class CodeChunker:
chunk.priority = priority chunk.priority = priority
return chunk return chunk
def _sort_by_priority(self, chunks: List[ParsedChunk]) -> List[ParsedChunk]: def _sort_by_priority(self, chunks: list[ParsedChunk]) -> list[ParsedChunk]:
"""Sort chunks by priority (highest first).""" """Sort chunks by priority (highest first)."""
return sorted(chunks, key=lambda c: c.priority, reverse=True) return sorted(chunks, key=lambda c: c.priority, reverse=True)
def split_large_chunk(self, chunk: ParsedChunk) -> List[ParsedChunk]: def split_large_chunk(self, chunk: ParsedChunk) -> list[ParsedChunk]:
"""Split a large chunk into smaller pieces.""" """Split a large chunk into smaller pieces."""
if chunk.metadata.line_count <= self.config.max_chunk_size: if chunk.metadata.line_count <= self.config.max_chunk_size:
return [chunk] return [chunk]
lines = chunk.content.split('\n') lines = chunk.content.split('\n')
parts = [] parts: list[ParsedChunk] = []
current_part = [] current_part = []
current_lines = 0 current_lines = 0