mirror of
https://github.com/samiyev/puaros.git
synced 2025-12-27 23:06:54 +05:00
chore(ipuaro): release v0.26.0
This commit is contained in:
@@ -5,6 +5,66 @@ All notable changes to this project will be documented in this file.
|
|||||||
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
||||||
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
||||||
|
|
||||||
|
## [0.26.0] - 2025-12-05 - Rich Initial Context: Decorator Extraction
|
||||||
|
|
||||||
|
### Added
|
||||||
|
|
||||||
|
- **Decorator Extraction (0.24.4)**
|
||||||
|
- Functions now show their decorators in initial context
|
||||||
|
- Classes now show their decorators in initial context
|
||||||
|
- Methods show decorators per-method
|
||||||
|
- New format: `@Controller('users') class UserController`
|
||||||
|
- Function format: `@Get(':id') async getUser(id: string): Promise<User>`
|
||||||
|
- Supports NestJS decorators: `@Controller`, `@Get`, `@Post`, `@Injectable`, `@UseGuards`, etc.
|
||||||
|
- Supports Angular decorators: `@Component`, `@Injectable`, `@Input`, `@Output`, etc.
|
||||||
|
|
||||||
|
- **FileAST.ts Enhancements**
|
||||||
|
- `decorators?: string[]` field on `FunctionInfo`
|
||||||
|
- `decorators?: string[]` field on `MethodInfo`
|
||||||
|
- `decorators?: string[]` field on `ClassInfo`
|
||||||
|
|
||||||
|
- **ASTParser.ts Enhancements**
|
||||||
|
- `formatDecorator()` - formats decorator node to string (e.g., `@Get(':id')`)
|
||||||
|
- `extractNodeDecorators()` - extracts decorators that are direct children of a node
|
||||||
|
- `extractDecoratorsFromSiblings()` - extracts decorators before the declaration in export statements
|
||||||
|
- Decorators are extracted for classes, methods, and exported functions
|
||||||
|
|
||||||
|
- **prompts.ts Enhancements**
|
||||||
|
- `formatDecoratorsPrefix()` - formats decorators as a prefix string for display
|
||||||
|
- Used in `formatFunctionSignature()` for function decorators
|
||||||
|
- Used in `formatFileSummary()` for class decorators
|
||||||
|
|
||||||
|
### New Context Format
|
||||||
|
|
||||||
|
```
|
||||||
|
### src/controllers/user.controller.ts
|
||||||
|
- @Controller('users') class UserController extends BaseController
|
||||||
|
- @Get(':id') @Auth() async getUser(id: string): Promise<User>
|
||||||
|
- @Post() @ValidateBody() async createUser(data: UserDTO): Promise<User>
|
||||||
|
```
|
||||||
|
|
||||||
|
### Technical Details
|
||||||
|
|
||||||
|
- Total tests: 1754 passed (was 1720, +34 new tests)
|
||||||
|
- 14 new tests for ASTParser decorator extraction
|
||||||
|
- 6 new tests for prompts decorator formatting
|
||||||
|
- +14 other tests from internal improvements
|
||||||
|
- Coverage: 97.49% lines, 91.14% branches, 98.61% functions
|
||||||
|
- 0 ESLint errors, 2 warnings (pre-existing complexity in ASTParser and prompts)
|
||||||
|
- Build successful
|
||||||
|
|
||||||
|
### Notes
|
||||||
|
|
||||||
|
This completes the v0.24.0 Rich Initial Context milestone:
|
||||||
|
- ✅ 0.24.1 - Function Signatures with Types
|
||||||
|
- ✅ 0.24.2 - Interface/Type Field Definitions
|
||||||
|
- ✅ 0.24.3 - Enum Value Definitions
|
||||||
|
- ✅ 0.24.4 - Decorator Extraction
|
||||||
|
|
||||||
|
Next milestone: v0.25.0 - Graph Metrics in Context
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
## [0.25.0] - 2025-12-04 - Rich Initial Context: Interface Fields & Type Definitions
|
## [0.25.0] - 2025-12-04 - Rich Initial Context: Interface Fields & Type Definitions
|
||||||
|
|
||||||
### Added
|
### Added
|
||||||
|
|||||||
@@ -1779,10 +1779,10 @@ export interface ScanResult {
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Version 0.24.0 - Rich Initial Context 📋
|
## Version 0.24.0 - Rich Initial Context 📋 ✅
|
||||||
|
|
||||||
**Priority:** HIGH
|
**Priority:** HIGH
|
||||||
**Status:** In Progress (3/4 complete)
|
**Status:** Complete (v0.24.0 released)
|
||||||
|
|
||||||
Enhance initial context for LLM: add function signatures, interface field types, and enum values. This allows LLM to answer questions about types and parameters without tool calls.
|
Enhance initial context for LLM: add function signatures, interface field types, and enum values. This allows LLM to answer questions about types and parameters without tool calls.
|
||||||
|
|
||||||
@@ -1858,7 +1858,7 @@ Enhance initial context for LLM: add function signatures, interface field types,
|
|||||||
|
|
||||||
**Why:** LLM knows valid enum values.
|
**Why:** LLM knows valid enum values.
|
||||||
|
|
||||||
### 0.24.4 - Decorator Extraction
|
### 0.24.4 - Decorator Extraction ⭐ ✅
|
||||||
|
|
||||||
**Problem:** LLM doesn't see decorators (important for NestJS, Angular)
|
**Problem:** LLM doesn't see decorators (important for NestJS, Angular)
|
||||||
**Solution:** Show decorators in context
|
**Solution:** Show decorators in context
|
||||||
@@ -1872,16 +1872,15 @@ Enhance initial context for LLM: add function signatures, interface field types,
|
|||||||
```
|
```
|
||||||
|
|
||||||
**Changes:**
|
**Changes:**
|
||||||
- [ ] Add `decorators: string[]` to FunctionInfo and ClassInfo
|
- [x] Add `decorators: string[]` to FunctionInfo, MethodInfo, and ClassInfo
|
||||||
- [ ] Update `ASTParser.ts` to extract decorators
|
- [x] Update `ASTParser.ts` to extract decorators via `extractNodeDecorators()` and `extractDecoratorsFromSiblings()`
|
||||||
- [ ] Update context to display decorators
|
- [x] Update `prompts.ts` to display decorators via `formatDecoratorsPrefix()`
|
||||||
|
|
||||||
**Why:** LLM understands routing, DI, guards in NestJS/Angular.
|
**Why:** LLM understands routing, DI, guards in NestJS/Angular.
|
||||||
|
|
||||||
**Tests:**
|
**Tests:**
|
||||||
- [ ] Unit tests for enhanced ASTParser
|
- [x] Unit tests for ASTParser decorator extraction (14 tests)
|
||||||
- [ ] Unit tests for new context format
|
- [x] Unit tests for prompts decorator formatting (6 tests)
|
||||||
- [ ] Integration tests for full flow
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -1999,7 +1998,7 @@ interface FileMeta {
|
|||||||
- [x] 0 ESLint errors ✅
|
- [x] 0 ESLint errors ✅
|
||||||
- [x] Examples working ✅ (v0.18.0)
|
- [x] Examples working ✅ (v0.18.0)
|
||||||
- [x] CHANGELOG.md up to date ✅
|
- [x] CHANGELOG.md up to date ✅
|
||||||
- [ ] Rich initial context (v0.24.0) — function signatures, interface fields, enum values
|
- [x] Rich initial context (v0.24.0) — function signatures, interface fields, enum values, decorators ✅
|
||||||
- [ ] Graph metrics in context (v0.25.0) — dependency graph, circular deps, impact score
|
- [ ] Graph metrics in context (v0.25.0) — dependency graph, circular deps, impact score
|
||||||
|
|
||||||
---
|
---
|
||||||
@@ -2079,7 +2078,7 @@ sessions:list # List<session_id>
|
|||||||
|
|
||||||
**Last Updated:** 2025-12-05
|
**Last Updated:** 2025-12-05
|
||||||
**Target Version:** 1.0.0
|
**Target Version:** 1.0.0
|
||||||
**Current Version:** 0.25.0
|
**Current Version:** 0.26.0
|
||||||
**Next Milestones:** v0.24.0 (Rich Context - 3/4 complete), v0.25.0 (Graph Metrics)
|
**Next Milestones:** v0.25.0 (Graph Metrics - 0/4 complete)
|
||||||
|
|
||||||
> **Note:** v0.24.0 and v0.25.0 are required for 1.0.0 release. They enable LLM to answer questions about types, signatures, and architecture without tool calls.
|
> **Note:** v0.24.0 complete ✅. v0.25.0 (Graph Metrics) is required for 1.0.0 release. It enables LLM to see architecture without tool calls.
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@samiyev/ipuaro",
|
"name": "@samiyev/ipuaro",
|
||||||
"version": "0.25.0",
|
"version": "0.26.0",
|
||||||
"description": "Local AI agent for codebase operations with infinite context feeling",
|
"description": "Local AI agent for codebase operations with infinite context feeling",
|
||||||
"author": "Fozilbek Samiyev <fozilbek.samiyev@gmail.com>",
|
"author": "Fozilbek Samiyev <fozilbek.samiyev@gmail.com>",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
|
|||||||
Reference in New Issue
Block a user