Richard Osborne
|
7bd9b4c3e6
|
feat(sprint-2): STYLE-005 StyleAnalyzer tests + UBA-005 UBAClient HTTP service
- STYLE-005: 19 unit tests for StyleAnalyzer (toSuggestions, analyzeProject, analyzeNode)
- toSuggestions: ordering, message format, id format, acceptLabel variants
- analyzeProject: repeated color/spacing detection, threshold enforcement, var() skip, tokenModel matching
- analyzeNode: variant candidate detection, threshold, var() reference exclusion
- STYLE-005: Wire tests into test index (new tests/models/ and tests/services/ indexes)
- UBA-005: UBAClient static class with configure(), health(), openDebugStream()
- Full auth support: bearer, api_key (custom header), basic
- Timeout via AbortController (10s default)
- health() never throws — always returns HealthResult
- openDebugStream() returns DebugStreamHandle; handles named SSE event types
- UBAClientError with status + body for non-2xx responses
|
2026-02-18 19:58:30 +01:00 |
|
dishant-kumar-thakur
|
fbce66e0db
|
feat(phase-10): STRUCT-002 export engine core
Task: STRUCT-002
Branch: cline-dev-dishant
Cross-branch notes: none no shared dependencies with Richard's phase 9/6 work
- ProjectExporter class (pure, filesystem-agnostic)
- Converts legacy project.json to v2 multi-file format
- Outputs: nodegx.project.json, nodegx.routes.json, nodegx.styles.json,
components/_registry.json, per-component component.json/nodes.json/connections.json
- Helper exports: legacyNameToPath, inferComponentType, flattenNodes, countNodes
- Full legacy type definitions (LegacyProject, LegacyComponent, LegacyNode, etc.)
- 50 unit tests in tests/io/ProjectExporter.test.ts
- Registered in tests/index.ts
|
2026-02-19 00:23:33 +05:30 |
|