feat(#60): implement link resolution service

- Create LinkResolutionService with workspace-scoped link resolution
- Resolve links by: exact title match, slug match, fuzzy title match
- Handle ambiguous matches (return null if multiple matches)
- Support batch link resolution with deduplication
- Comprehensive test suite with 19 tests, all passing
- 100% coverage of public methods
- Integrate service with KnowledgeModule

Closes #60 (KNOW-008)
This commit is contained in:
Jason Woltje
2026-01-29 17:50:57 -06:00
parent 566bf1e7c5
commit 3b113f87fd
4 changed files with 579 additions and 2 deletions

View File

@@ -3,11 +3,12 @@ import { PrismaModule } from "../prisma/prisma.module";
import { AuthModule } from "../auth/auth.module";
import { KnowledgeService } from "./knowledge.service";
import { KnowledgeController } from "./knowledge.controller";
import { LinkResolutionService } from "./services/link-resolution.service";
@Module({
imports: [PrismaModule, AuthModule],
controllers: [KnowledgeController],
providers: [KnowledgeService],
exports: [KnowledgeService],
providers: [KnowledgeService, LinkResolutionService],
exports: [KnowledgeService, LinkResolutionService],
})
export class KnowledgeModule {}