@tonycasey/lisa 2.26.0 → 2.27.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/lib/application/handlers/PromptSubmitHandler.d.ts.map +1 -1
- package/dist/lib/application/handlers/PromptSubmitHandler.js +2 -2
- package/dist/lib/application/handlers/PromptSubmitHandler.js.map +1 -1
- package/dist/lib/application/handlers/SessionStartHandler.d.ts +2 -33
- package/dist/lib/application/handlers/SessionStartHandler.d.ts.map +1 -1
- package/dist/lib/application/handlers/SessionStartHandler.js +9 -108
- package/dist/lib/application/handlers/SessionStartHandler.js.map +1 -1
- package/dist/lib/application/handlers/SessionStopHandler.d.ts.map +1 -1
- package/dist/lib/application/handlers/SessionStopHandler.js +2 -3
- package/dist/lib/application/handlers/SessionStopHandler.js.map +1 -1
- package/dist/lib/application/handlers/pr/PrPollHandler.d.ts +1 -2
- package/dist/lib/application/handlers/pr/PrPollHandler.d.ts.map +1 -1
- package/dist/lib/application/handlers/pr/PrPollHandler.js +3 -4
- package/dist/lib/application/handlers/pr/PrPollHandler.js.map +1 -1
- package/dist/lib/application/handlers/pr/PrRememberHandler.d.ts +1 -2
- package/dist/lib/application/handlers/pr/PrRememberHandler.d.ts.map +1 -1
- package/dist/lib/application/handlers/pr/PrRememberHandler.js +2 -3
- package/dist/lib/application/handlers/pr/PrRememberHandler.js.map +1 -1
- package/dist/lib/application/services/GitExtractorService.d.ts +22 -0
- package/dist/lib/application/services/GitExtractorService.d.ts.map +1 -0
- package/dist/lib/application/services/GitExtractorService.js +232 -0
- package/dist/lib/application/services/GitExtractorService.js.map +1 -0
- package/dist/lib/application/services/GitIndexingService.d.ts +25 -0
- package/dist/lib/application/services/GitIndexingService.d.ts.map +1 -0
- package/dist/lib/application/services/GitIndexingService.js +175 -0
- package/dist/lib/application/services/GitIndexingService.js.map +1 -0
- package/dist/lib/application/services/MemoryContextLoader.d.ts +7 -16
- package/dist/lib/application/services/MemoryContextLoader.d.ts.map +1 -1
- package/dist/lib/application/services/MemoryContextLoader.js +12 -75
- package/dist/lib/application/services/MemoryContextLoader.js.map +1 -1
- package/dist/lib/application/services/RepoProfileService.d.ts +37 -0
- package/dist/lib/application/services/RepoProfileService.d.ts.map +1 -0
- package/dist/lib/application/services/RepoProfileService.js +388 -0
- package/dist/lib/application/services/RepoProfileService.js.map +1 -0
- package/dist/lib/application/services/index.d.ts +1 -0
- package/dist/lib/application/services/index.d.ts.map +1 -1
- package/dist/lib/application/services/index.js +5 -1
- package/dist/lib/application/services/index.js.map +1 -1
- package/dist/lib/cli.d.ts +2 -2
- package/dist/lib/cli.d.ts.map +1 -1
- package/dist/lib/cli.js +4 -52
- package/dist/lib/cli.js.map +1 -1
- package/dist/lib/commands/doctor.d.ts +5 -12
- package/dist/lib/commands/doctor.d.ts.map +1 -1
- package/dist/lib/commands/doctor.js +60 -280
- package/dist/lib/commands/doctor.js.map +1 -1
- package/dist/lib/commands/index.d.ts +2 -3
- package/dist/lib/commands/index.d.ts.map +1 -1
- package/dist/lib/commands/index.js +2 -7
- package/dist/lib/commands/index.js.map +1 -1
- package/dist/lib/commands/init.d.ts +2 -8
- package/dist/lib/commands/init.d.ts.map +1 -1
- package/dist/lib/commands/init.js +13 -67
- package/dist/lib/commands/init.js.map +1 -1
- package/dist/lib/commands/knowledge.d.ts.map +1 -1
- package/dist/lib/commands/knowledge.js +1 -2
- package/dist/lib/commands/knowledge.js.map +1 -1
- package/dist/lib/commands/pr.d.ts.map +1 -1
- package/dist/lib/commands/pr.js +20 -21
- package/dist/lib/commands/pr.js.map +1 -1
- package/dist/lib/commands/shared/constants.d.ts +1 -15
- package/dist/lib/commands/shared/constants.d.ts.map +1 -1
- package/dist/lib/commands/shared/constants.js +2 -5
- package/dist/lib/commands/shared/constants.js.map +1 -1
- package/dist/lib/commands/shared/index.d.ts +1 -1
- package/dist/lib/commands/shared/index.d.ts.map +1 -1
- package/dist/lib/commands/shared/index.js +1 -3
- package/dist/lib/commands/shared/index.js.map +1 -1
- package/dist/lib/commands/skills.d.ts +1 -1
- package/dist/lib/commands/skills.js +5 -5
- package/dist/lib/commands/skills.js.map +1 -1
- package/dist/lib/domain/interfaces/IConsolidationService.d.ts +3 -2
- package/dist/lib/domain/interfaces/IConsolidationService.d.ts.map +1 -1
- package/dist/lib/domain/interfaces/ICurationService.d.ts +3 -2
- package/dist/lib/domain/interfaces/ICurationService.d.ts.map +1 -1
- package/dist/lib/domain/interfaces/IFileSystem.d.ts +28 -0
- package/dist/lib/domain/interfaces/IFileSystem.d.ts.map +1 -0
- package/dist/lib/domain/interfaces/IFileSystem.js +12 -0
- package/dist/lib/domain/interfaces/IFileSystem.js.map +1 -0
- package/dist/lib/domain/interfaces/IGitExtractor.d.ts +160 -0
- package/dist/lib/domain/interfaces/IGitExtractor.d.ts.map +1 -0
- package/dist/lib/domain/interfaces/IGitExtractor.js +37 -0
- package/dist/lib/domain/interfaces/IGitExtractor.js.map +1 -0
- package/dist/lib/domain/interfaces/IGitIndexingService.d.ts +69 -0
- package/dist/lib/domain/interfaces/IGitIndexingService.d.ts.map +1 -0
- package/dist/lib/domain/interfaces/IGitIndexingService.js +43 -0
- package/dist/lib/domain/interfaces/IGitIndexingService.js.map +1 -0
- package/dist/lib/domain/interfaces/IGitMemClient.d.ts +44 -0
- package/dist/lib/domain/interfaces/IGitMemClient.d.ts.map +1 -0
- package/dist/lib/domain/interfaces/IGitMemClient.js +9 -0
- package/dist/lib/domain/interfaces/IGitMemClient.js.map +1 -0
- package/dist/lib/domain/interfaces/ILisaServices.d.ts +0 -15
- package/dist/lib/domain/interfaces/ILisaServices.d.ts.map +1 -1
- package/dist/lib/domain/interfaces/IMemoryService.d.ts +14 -89
- package/dist/lib/domain/interfaces/IMemoryService.d.ts.map +1 -1
- package/dist/lib/domain/interfaces/INlCurationService.d.ts +4 -4
- package/dist/lib/domain/interfaces/INlCurationService.d.ts.map +1 -1
- package/dist/lib/domain/interfaces/IRecursionService.d.ts +3 -2
- package/dist/lib/domain/interfaces/IRecursionService.d.ts.map +1 -1
- package/dist/lib/domain/interfaces/IRepoProfileService.d.ts +132 -0
- package/dist/lib/domain/interfaces/IRepoProfileService.d.ts.map +1 -0
- package/dist/lib/domain/interfaces/IRepoProfileService.js +25 -0
- package/dist/lib/domain/interfaces/IRepoProfileService.js.map +1 -0
- package/dist/lib/domain/interfaces/ISummarizationService.d.ts +4 -3
- package/dist/lib/domain/interfaces/ISummarizationService.d.ts.map +1 -1
- package/dist/lib/domain/interfaces/ITaskService.d.ts +11 -16
- package/dist/lib/domain/interfaces/ITaskService.d.ts.map +1 -1
- package/dist/lib/domain/interfaces/dal/IMemoryRepository.d.ts +0 -1
- package/dist/lib/domain/interfaces/dal/IMemoryRepository.d.ts.map +1 -1
- package/dist/lib/domain/interfaces/dal/IRepositoryRouter.d.ts +1 -1
- package/dist/lib/domain/interfaces/dal/IRepositoryRouter.js +2 -2
- package/dist/lib/domain/interfaces/dal/IRepositoryRouter.js.map +1 -1
- package/dist/lib/domain/interfaces/events/IMemoryEvent.d.ts +6 -4
- package/dist/lib/domain/interfaces/events/IMemoryEvent.d.ts.map +1 -1
- package/dist/lib/domain/interfaces/events/IMemoryEvent.js +2 -4
- package/dist/lib/domain/interfaces/events/IMemoryEvent.js.map +1 -1
- package/dist/lib/domain/interfaces/index.d.ts +6 -2
- package/dist/lib/domain/interfaces/index.d.ts.map +1 -1
- package/dist/lib/domain/interfaces/index.js +10 -1
- package/dist/lib/domain/interfaces/index.js.map +1 -1
- package/dist/lib/infrastructure/adapters/gitmem/GitMemAdapter.d.ts +22 -0
- package/dist/lib/infrastructure/adapters/gitmem/GitMemAdapter.d.ts.map +1 -0
- package/dist/lib/infrastructure/adapters/gitmem/GitMemAdapter.js +88 -0
- package/dist/lib/infrastructure/adapters/gitmem/GitMemAdapter.js.map +1 -0
- package/dist/lib/infrastructure/adapters/gitmem/GitMemTaskAdapter.d.ts +19 -0
- package/dist/lib/infrastructure/adapters/gitmem/GitMemTaskAdapter.d.ts.map +1 -0
- package/dist/lib/infrastructure/adapters/gitmem/GitMemTaskAdapter.js +109 -0
- package/dist/lib/infrastructure/adapters/gitmem/GitMemTaskAdapter.js.map +1 -0
- package/dist/lib/infrastructure/adapters/gitmem/index.d.ts +3 -0
- package/dist/lib/infrastructure/adapters/gitmem/index.d.ts.map +1 -0
- package/dist/lib/infrastructure/adapters/gitmem/index.js +8 -0
- package/dist/lib/infrastructure/adapters/gitmem/index.js.map +1 -0
- package/dist/lib/infrastructure/dal/connections/index.d.ts +0 -4
- package/dist/lib/infrastructure/dal/connections/index.d.ts.map +1 -1
- package/dist/lib/infrastructure/dal/connections/index.js +2 -10
- package/dist/lib/infrastructure/dal/connections/index.js.map +1 -1
- package/dist/lib/infrastructure/dal/index.d.ts +4 -22
- package/dist/lib/infrastructure/dal/index.d.ts.map +1 -1
- package/dist/lib/infrastructure/dal/index.js +3 -37
- package/dist/lib/infrastructure/dal/index.js.map +1 -1
- package/dist/lib/infrastructure/dal/repositories/index.d.ts +1 -3
- package/dist/lib/infrastructure/dal/repositories/index.d.ts.map +1 -1
- package/dist/lib/infrastructure/dal/repositories/index.js +2 -12
- package/dist/lib/infrastructure/dal/repositories/index.js.map +1 -1
- package/dist/lib/infrastructure/dal/repositories/neo4j/index.d.ts +0 -2
- package/dist/lib/infrastructure/dal/repositories/neo4j/index.d.ts.map +1 -1
- package/dist/lib/infrastructure/dal/repositories/neo4j/index.js +2 -6
- package/dist/lib/infrastructure/dal/repositories/neo4j/index.js.map +1 -1
- package/dist/lib/infrastructure/di/ServiceFactory.d.ts +0 -9
- package/dist/lib/infrastructure/di/ServiceFactory.d.ts.map +1 -1
- package/dist/lib/infrastructure/di/bootstrap.d.ts +3 -1
- package/dist/lib/infrastructure/di/bootstrap.d.ts.map +1 -1
- package/dist/lib/infrastructure/di/bootstrap.js +26 -138
- package/dist/lib/infrastructure/di/bootstrap.js.map +1 -1
- package/dist/lib/infrastructure/di/tokens.d.ts +0 -22
- package/dist/lib/infrastructure/di/tokens.d.ts.map +1 -1
- package/dist/lib/infrastructure/di/tokens.js +0 -12
- package/dist/lib/infrastructure/di/tokens.js.map +1 -1
- package/dist/lib/infrastructure/git-mem/GitMemClient.d.ts +37 -0
- package/dist/lib/infrastructure/git-mem/GitMemClient.d.ts.map +1 -0
- package/dist/lib/infrastructure/git-mem/GitMemClient.js +151 -0
- package/dist/lib/infrastructure/git-mem/GitMemClient.js.map +1 -0
- package/dist/lib/infrastructure/git-mem/GitMemFactory.d.ts +36 -0
- package/dist/lib/infrastructure/git-mem/GitMemFactory.d.ts.map +1 -0
- package/dist/lib/infrastructure/git-mem/GitMemFactory.js +56 -0
- package/dist/lib/infrastructure/git-mem/GitMemFactory.js.map +1 -0
- package/dist/lib/infrastructure/git-mem/index.d.ts +7 -0
- package/dist/lib/infrastructure/git-mem/index.d.ts.map +1 -0
- package/dist/lib/infrastructure/git-mem/index.js +13 -0
- package/dist/lib/infrastructure/git-mem/index.js.map +1 -0
- package/dist/lib/infrastructure/git-mem/types.d.ts +90 -0
- package/dist/lib/infrastructure/git-mem/types.d.ts.map +1 -0
- package/dist/lib/infrastructure/git-mem/types.js +9 -0
- package/dist/lib/infrastructure/git-mem/types.js.map +1 -0
- package/dist/lib/infrastructure/github/GitHubDataFetcher.d.ts +21 -0
- package/dist/lib/infrastructure/github/GitHubDataFetcher.d.ts.map +1 -0
- package/dist/lib/infrastructure/github/GitHubDataFetcher.js +111 -0
- package/dist/lib/infrastructure/github/GitHubDataFetcher.js.map +1 -0
- package/dist/lib/infrastructure/index.d.ts +0 -1
- package/dist/lib/infrastructure/index.d.ts.map +1 -1
- package/dist/lib/infrastructure/index.js +1 -3
- package/dist/lib/infrastructure/index.js.map +1 -1
- package/dist/lib/infrastructure/services/CurationService.d.ts.map +1 -1
- package/dist/lib/infrastructure/services/CurationService.js +4 -4
- package/dist/lib/infrastructure/services/CurationService.js.map +1 -1
- package/dist/lib/infrastructure/services/GitMemMemoryService.d.ts +24 -0
- package/dist/lib/infrastructure/services/GitMemMemoryService.d.ts.map +1 -0
- package/dist/lib/infrastructure/services/GitMemMemoryService.js +114 -0
- package/dist/lib/infrastructure/services/GitMemMemoryService.js.map +1 -0
- package/dist/lib/infrastructure/services/GitMemTaskService.d.ts +24 -0
- package/dist/lib/infrastructure/services/GitMemTaskService.d.ts.map +1 -0
- package/dist/lib/infrastructure/services/GitMemTaskService.js +142 -0
- package/dist/lib/infrastructure/services/GitMemTaskService.js.map +1 -0
- package/dist/lib/infrastructure/services/LlmGuard.d.ts.map +1 -1
- package/dist/lib/infrastructure/services/LlmGuard.js +44 -13
- package/dist/lib/infrastructure/services/LlmGuard.js.map +1 -1
- package/dist/lib/infrastructure/services/NlCurationService.d.ts.map +1 -1
- package/dist/lib/infrastructure/services/NlCurationService.js +12 -12
- package/dist/lib/infrastructure/services/NlCurationService.js.map +1 -1
- package/dist/lib/infrastructure/services/NodeFileSystem.d.ts +12 -0
- package/dist/lib/infrastructure/services/NodeFileSystem.d.ts.map +1 -0
- package/dist/lib/infrastructure/services/NodeFileSystem.js +40 -0
- package/dist/lib/infrastructure/services/NodeFileSystem.js.map +1 -0
- package/dist/lib/infrastructure/services/RecursionService.d.ts +1 -1
- package/dist/lib/infrastructure/services/RecursionService.d.ts.map +1 -1
- package/dist/lib/infrastructure/services/RecursionService.js +8 -8
- package/dist/lib/infrastructure/services/RecursionService.js.map +1 -1
- package/dist/lib/infrastructure/services/SkillMemoryService.d.ts +26 -0
- package/dist/lib/infrastructure/services/SkillMemoryService.d.ts.map +1 -0
- package/dist/lib/infrastructure/services/SkillMemoryService.js +317 -0
- package/dist/lib/infrastructure/services/SkillMemoryService.js.map +1 -0
- package/dist/lib/infrastructure/services/SkillPromptService.d.ts +16 -0
- package/dist/lib/infrastructure/services/SkillPromptService.d.ts.map +1 -0
- package/dist/lib/infrastructure/services/SkillPromptService.js +53 -0
- package/dist/lib/infrastructure/services/SkillPromptService.js.map +1 -0
- package/dist/lib/infrastructure/services/SkillTaskService.d.ts +32 -0
- package/dist/lib/infrastructure/services/SkillTaskService.d.ts.map +1 -0
- package/dist/lib/infrastructure/services/SkillTaskService.js +214 -0
- package/dist/lib/infrastructure/services/SkillTaskService.js.map +1 -0
- package/dist/lib/infrastructure/services/SummarizationService.d.ts.map +1 -1
- package/dist/lib/infrastructure/services/SummarizationService.js +3 -5
- package/dist/lib/infrastructure/services/SummarizationService.js.map +1 -1
- package/dist/lib/infrastructure/services/index.d.ts +7 -4
- package/dist/lib/infrastructure/services/index.d.ts.map +1 -1
- package/dist/lib/infrastructure/services/index.js +31 -13
- package/dist/lib/infrastructure/services/index.js.map +1 -1
- package/dist/lib/infrastructure/services/patterns/HeuristicPatterns.d.ts +72 -0
- package/dist/lib/infrastructure/services/patterns/HeuristicPatterns.d.ts.map +1 -0
- package/dist/lib/infrastructure/services/patterns/HeuristicPatterns.js +261 -0
- package/dist/lib/infrastructure/services/patterns/HeuristicPatterns.js.map +1 -0
- package/dist/lib/{skills/shared/services/interfaces/IMemoryService.d.ts → infrastructure/services/skill-interfaces/ISkillMemoryService.d.ts} +38 -47
- package/dist/lib/infrastructure/services/skill-interfaces/ISkillMemoryService.d.ts.map +1 -0
- package/dist/lib/{domain/interfaces/IMcpClient.js → infrastructure/services/skill-interfaces/ISkillMemoryService.js} +1 -1
- package/dist/lib/infrastructure/services/skill-interfaces/ISkillMemoryService.js.map +1 -0
- package/dist/lib/infrastructure/services/skill-interfaces/ISkillPromptService.d.ts +48 -0
- package/dist/lib/infrastructure/services/skill-interfaces/ISkillPromptService.d.ts.map +1 -0
- package/dist/lib/infrastructure/services/skill-interfaces/ISkillPromptService.js +10 -0
- package/dist/lib/infrastructure/services/skill-interfaces/ISkillPromptService.js.map +1 -0
- package/dist/lib/{skills/shared/services/interfaces/ITaskService.d.ts → infrastructure/services/skill-interfaces/ISkillTaskService.d.ts} +29 -27
- package/dist/lib/infrastructure/services/skill-interfaces/ISkillTaskService.d.ts.map +1 -0
- package/dist/lib/infrastructure/services/skill-interfaces/ISkillTaskService.js +13 -0
- package/dist/lib/infrastructure/services/skill-interfaces/ISkillTaskService.js.map +1 -0
- package/dist/lib/infrastructure/services/skill-interfaces/index.d.ts +16 -0
- package/dist/lib/infrastructure/services/skill-interfaces/index.d.ts.map +1 -0
- package/dist/lib/infrastructure/services/skill-interfaces/index.js +11 -0
- package/dist/lib/infrastructure/services/skill-interfaces/index.js.map +1 -0
- package/dist/lib/scanner/reviewer.js +2 -2
- package/dist/lib/scanner/reviewer.js.map +1 -1
- package/dist/lib/skills/github/bump-version.d.ts +14 -0
- package/dist/lib/skills/github/bump-version.d.ts.map +1 -0
- package/dist/lib/skills/{git → github}/bump-version.js +22 -1
- package/dist/lib/skills/github/bump-version.js.map +1 -0
- package/dist/lib/skills/github/github.d.ts +0 -1
- package/dist/lib/skills/github/github.d.ts.map +1 -1
- package/dist/lib/skills/github/github.js +15 -45
- package/dist/lib/skills/github/github.js.map +1 -1
- package/dist/lib/skills/memory/memory.js +5 -9
- package/dist/lib/skills/memory/memory.js.map +1 -1
- package/dist/lib/skills/prompt/prompt.d.ts +4 -1
- package/dist/lib/skills/prompt/prompt.d.ts.map +1 -1
- package/dist/lib/skills/prompt/prompt.js +10 -11
- package/dist/lib/skills/prompt/prompt.js.map +1 -1
- package/dist/lib/skills/{init-review → review}/ai-enrich.d.ts +3 -0
- package/dist/lib/skills/review/ai-enrich.d.ts.map +1 -0
- package/dist/lib/skills/{init-review → review}/ai-enrich.js +6 -6
- package/dist/lib/skills/review/ai-enrich.js.map +1 -0
- package/dist/lib/skills/review/init-review.d.ts.map +1 -0
- package/dist/lib/skills/review/init-review.js.map +1 -0
- package/dist/lib/skills/shared/clients/index.d.ts +4 -3
- package/dist/lib/skills/shared/clients/index.d.ts.map +1 -1
- package/dist/lib/skills/shared/clients/index.js +7 -10
- package/dist/lib/skills/shared/clients/index.js.map +1 -1
- package/dist/lib/skills/shared/clients/interfaces/index.d.ts +0 -3
- package/dist/lib/skills/shared/clients/interfaces/index.d.ts.map +1 -1
- package/dist/lib/skills/shared/clients/interfaces/index.js +0 -3
- package/dist/lib/skills/shared/clients/interfaces/index.js.map +1 -1
- package/dist/lib/skills/shared/index.d.ts +3 -2
- package/dist/lib/skills/shared/index.d.ts.map +1 -1
- package/dist/lib/skills/shared/index.js +3 -2
- package/dist/lib/skills/shared/index.js.map +1 -1
- package/dist/lib/skills/shared/services/GitHubSyncService.d.ts +4 -0
- package/dist/lib/skills/shared/services/GitHubSyncService.d.ts.map +1 -1
- package/dist/lib/skills/shared/services/GitHubSyncService.js +7 -7
- package/dist/lib/skills/shared/services/GitHubSyncService.js.map +1 -1
- package/dist/lib/skills/shared/services/MemoryCliService.d.ts +0 -2
- package/dist/lib/skills/shared/services/MemoryCliService.d.ts.map +1 -1
- package/dist/lib/skills/shared/services/MemoryCliService.js +11 -17
- package/dist/lib/skills/shared/services/MemoryCliService.js.map +1 -1
- package/dist/lib/skills/shared/services/StorageService.d.ts.map +1 -1
- package/dist/lib/skills/shared/services/StorageService.js +6 -2
- package/dist/lib/skills/shared/services/StorageService.js.map +1 -1
- package/dist/lib/skills/shared/services/TaskCliService.d.ts +3 -3
- package/dist/lib/skills/shared/services/TaskCliService.d.ts.map +1 -1
- package/dist/lib/skills/shared/services/TaskCliService.js +10 -14
- package/dist/lib/skills/shared/services/TaskCliService.js.map +1 -1
- package/dist/lib/skills/shared/services/index.d.ts +8 -4
- package/dist/lib/skills/shared/services/index.d.ts.map +1 -1
- package/dist/lib/skills/shared/services/index.js +15 -10
- package/dist/lib/skills/shared/services/index.js.map +1 -1
- package/dist/lib/skills/shared/services/interfaces/index.d.ts +4 -2
- package/dist/lib/skills/shared/services/interfaces/index.d.ts.map +1 -1
- package/dist/lib/skills/shared/services/interfaces/index.js +4 -2
- package/dist/lib/skills/shared/services/interfaces/index.js.map +1 -1
- package/dist/lib/skills/shared/utils/index.d.ts +0 -1
- package/dist/lib/skills/shared/utils/index.d.ts.map +1 -1
- package/dist/lib/skills/shared/utils/index.js +1 -9
- package/dist/lib/skills/shared/utils/index.js.map +1 -1
- package/dist/lib/skills/tasks/tasks.d.ts +9 -6
- package/dist/lib/skills/tasks/tasks.d.ts.map +1 -1
- package/dist/lib/skills/tasks/tasks.js +17 -17
- package/dist/lib/skills/tasks/tasks.js.map +1 -1
- package/dist/opencode/lisa.js +62207 -15689
- package/dist/package.json +5 -4
- package/dist/project/.lisa/.env.template +12 -9
- package/dist/project/.lisa/rules/shared/git-rules.md +2 -10
- package/dist/project/.lisa/skills/github/SKILL.md +121 -3
- package/dist/project/.lisa/skills/github/pr-description-template.txt +8 -0
- package/dist/project/.lisa/skills/pr/SKILL.md +1 -2
- package/dist/project/.lisa/skills/pr/pr-description-template.txt +8 -0
- package/dist/project/.lisa/skills/{init-review → review}/SKILL.md +9 -9
- package/package.json +5 -4
- package/dist/lib/commands/docker.d.ts +0 -20
- package/dist/lib/commands/docker.d.ts.map +0 -1
- package/dist/lib/commands/docker.js +0 -27
- package/dist/lib/commands/docker.js.map +0 -1
- package/dist/lib/domain/interfaces/IMcpClient.d.ts +0 -44
- package/dist/lib/domain/interfaces/IMcpClient.d.ts.map +0 -1
- package/dist/lib/domain/interfaces/IMcpClient.js.map +0 -1
- package/dist/lib/infrastructure/dal/RepositoryFactory.d.ts +0 -71
- package/dist/lib/infrastructure/dal/RepositoryFactory.d.ts.map +0 -1
- package/dist/lib/infrastructure/dal/RepositoryFactory.js +0 -134
- package/dist/lib/infrastructure/dal/RepositoryFactory.js.map +0 -1
- package/dist/lib/infrastructure/dal/connections/McpConnectionManager.d.ts +0 -56
- package/dist/lib/infrastructure/dal/connections/McpConnectionManager.d.ts.map +0 -1
- package/dist/lib/infrastructure/dal/connections/McpConnectionManager.js +0 -98
- package/dist/lib/infrastructure/dal/connections/McpConnectionManager.js.map +0 -1
- package/dist/lib/infrastructure/dal/connections/ZepConnectionManager.d.ts +0 -53
- package/dist/lib/infrastructure/dal/connections/ZepConnectionManager.d.ts.map +0 -1
- package/dist/lib/infrastructure/dal/connections/ZepConnectionManager.js +0 -168
- package/dist/lib/infrastructure/dal/connections/ZepConnectionManager.js.map +0 -1
- package/dist/lib/infrastructure/dal/repositories/mcp/McpMemoryRepository.d.ts +0 -64
- package/dist/lib/infrastructure/dal/repositories/mcp/McpMemoryRepository.d.ts.map +0 -1
- package/dist/lib/infrastructure/dal/repositories/mcp/McpMemoryRepository.js +0 -145
- package/dist/lib/infrastructure/dal/repositories/mcp/McpMemoryRepository.js.map +0 -1
- package/dist/lib/infrastructure/dal/repositories/mcp/McpTaskRepository.d.ts +0 -60
- package/dist/lib/infrastructure/dal/repositories/mcp/McpTaskRepository.d.ts.map +0 -1
- package/dist/lib/infrastructure/dal/repositories/mcp/McpTaskRepository.js +0 -186
- package/dist/lib/infrastructure/dal/repositories/mcp/McpTaskRepository.js.map +0 -1
- package/dist/lib/infrastructure/dal/repositories/mcp/index.d.ts +0 -6
- package/dist/lib/infrastructure/dal/repositories/mcp/index.d.ts.map +0 -1
- package/dist/lib/infrastructure/dal/repositories/mcp/index.js +0 -11
- package/dist/lib/infrastructure/dal/repositories/mcp/index.js.map +0 -1
- package/dist/lib/infrastructure/dal/repositories/neo4j/Neo4jMemoryRepository.d.ts +0 -69
- package/dist/lib/infrastructure/dal/repositories/neo4j/Neo4jMemoryRepository.d.ts.map +0 -1
- package/dist/lib/infrastructure/dal/repositories/neo4j/Neo4jMemoryRepository.js +0 -299
- package/dist/lib/infrastructure/dal/repositories/neo4j/Neo4jMemoryRepository.js.map +0 -1
- package/dist/lib/infrastructure/dal/repositories/neo4j/Neo4jTaskRepository.d.ts +0 -49
- package/dist/lib/infrastructure/dal/repositories/neo4j/Neo4jTaskRepository.d.ts.map +0 -1
- package/dist/lib/infrastructure/dal/repositories/neo4j/Neo4jTaskRepository.js +0 -193
- package/dist/lib/infrastructure/dal/repositories/neo4j/Neo4jTaskRepository.js.map +0 -1
- package/dist/lib/infrastructure/dal/repositories/zep/ZepMemoryRepository.d.ts +0 -55
- package/dist/lib/infrastructure/dal/repositories/zep/ZepMemoryRepository.d.ts.map +0 -1
- package/dist/lib/infrastructure/dal/repositories/zep/ZepMemoryRepository.js +0 -165
- package/dist/lib/infrastructure/dal/repositories/zep/ZepMemoryRepository.js.map +0 -1
- package/dist/lib/infrastructure/dal/repositories/zep/ZepTaskRepository.d.ts +0 -58
- package/dist/lib/infrastructure/dal/repositories/zep/ZepTaskRepository.d.ts.map +0 -1
- package/dist/lib/infrastructure/dal/repositories/zep/ZepTaskRepository.js +0 -210
- package/dist/lib/infrastructure/dal/repositories/zep/ZepTaskRepository.js.map +0 -1
- package/dist/lib/infrastructure/dal/repositories/zep/index.d.ts +0 -6
- package/dist/lib/infrastructure/dal/repositories/zep/index.d.ts.map +0 -1
- package/dist/lib/infrastructure/dal/repositories/zep/index.js +0 -11
- package/dist/lib/infrastructure/dal/repositories/zep/index.js.map +0 -1
- package/dist/lib/infrastructure/dal/routing/RepositoryRouter.d.ts +0 -73
- package/dist/lib/infrastructure/dal/routing/RepositoryRouter.d.ts.map +0 -1
- package/dist/lib/infrastructure/dal/routing/RepositoryRouter.js +0 -170
- package/dist/lib/infrastructure/dal/routing/RepositoryRouter.js.map +0 -1
- package/dist/lib/infrastructure/dal/routing/index.d.ts +0 -5
- package/dist/lib/infrastructure/dal/routing/index.d.ts.map +0 -1
- package/dist/lib/infrastructure/dal/routing/index.js +0 -10
- package/dist/lib/infrastructure/dal/routing/index.js.map +0 -1
- package/dist/lib/infrastructure/mcp/McpClient.d.ts +0 -71
- package/dist/lib/infrastructure/mcp/McpClient.d.ts.map +0 -1
- package/dist/lib/infrastructure/mcp/McpClient.js +0 -221
- package/dist/lib/infrastructure/mcp/McpClient.js.map +0 -1
- package/dist/lib/infrastructure/mcp/index.d.ts +0 -5
- package/dist/lib/infrastructure/mcp/index.d.ts.map +0 -1
- package/dist/lib/infrastructure/mcp/index.js +0 -9
- package/dist/lib/infrastructure/mcp/index.js.map +0 -1
- package/dist/lib/infrastructure/services/ConsolidationService.d.ts +0 -21
- package/dist/lib/infrastructure/services/ConsolidationService.d.ts.map +0 -1
- package/dist/lib/infrastructure/services/ConsolidationService.js +0 -134
- package/dist/lib/infrastructure/services/ConsolidationService.js.map +0 -1
- package/dist/lib/infrastructure/services/DeduplicationService.d.ts +0 -21
- package/dist/lib/infrastructure/services/DeduplicationService.d.ts.map +0 -1
- package/dist/lib/infrastructure/services/DeduplicationService.js +0 -111
- package/dist/lib/infrastructure/services/DeduplicationService.js.map +0 -1
- package/dist/lib/infrastructure/services/MemoryService.d.ts +0 -96
- package/dist/lib/infrastructure/services/MemoryService.d.ts.map +0 -1
- package/dist/lib/infrastructure/services/MemoryService.js +0 -486
- package/dist/lib/infrastructure/services/MemoryService.js.map +0 -1
- package/dist/lib/infrastructure/services/TaskService.d.ts +0 -38
- package/dist/lib/infrastructure/services/TaskService.d.ts.map +0 -1
- package/dist/lib/infrastructure/services/TaskService.js +0 -227
- package/dist/lib/infrastructure/services/TaskService.js.map +0 -1
- package/dist/lib/skills/common/group-id.d.ts +0 -49
- package/dist/lib/skills/common/group-id.d.ts.map +0 -1
- package/dist/lib/skills/common/group-id.js +0 -194
- package/dist/lib/skills/common/group-id.js.map +0 -1
- package/dist/lib/skills/git/bump-version.d.ts +0 -9
- package/dist/lib/skills/git/bump-version.d.ts.map +0 -1
- package/dist/lib/skills/git/bump-version.js.map +0 -1
- package/dist/lib/skills/init-review/ai-enrich.d.ts.map +0 -1
- package/dist/lib/skills/init-review/ai-enrich.js.map +0 -1
- package/dist/lib/skills/init-review/init-review.d.ts.map +0 -1
- package/dist/lib/skills/init-review/init-review.js.map +0 -1
- package/dist/lib/skills/shared/clients/McpClient.d.ts +0 -26
- package/dist/lib/skills/shared/clients/McpClient.d.ts.map +0 -1
- package/dist/lib/skills/shared/clients/McpClient.js +0 -162
- package/dist/lib/skills/shared/clients/McpClient.js.map +0 -1
- package/dist/lib/skills/shared/clients/Neo4jClient.d.ts +0 -15
- package/dist/lib/skills/shared/clients/Neo4jClient.d.ts.map +0 -1
- package/dist/lib/skills/shared/clients/Neo4jClient.js +0 -139
- package/dist/lib/skills/shared/clients/Neo4jClient.js.map +0 -1
- package/dist/lib/skills/shared/clients/ZepClient.d.ts +0 -14
- package/dist/lib/skills/shared/clients/ZepClient.d.ts.map +0 -1
- package/dist/lib/skills/shared/clients/ZepClient.js +0 -238
- package/dist/lib/skills/shared/clients/ZepClient.js.map +0 -1
- package/dist/lib/skills/shared/clients/interfaces/IMcpClient.d.ts +0 -56
- package/dist/lib/skills/shared/clients/interfaces/IMcpClient.d.ts.map +0 -1
- package/dist/lib/skills/shared/clients/interfaces/IMcpClient.js +0 -3
- package/dist/lib/skills/shared/clients/interfaces/IMcpClient.js.map +0 -1
- package/dist/lib/skills/shared/clients/interfaces/INeo4jClient.d.ts +0 -59
- package/dist/lib/skills/shared/clients/interfaces/INeo4jClient.d.ts.map +0 -1
- package/dist/lib/skills/shared/clients/interfaces/INeo4jClient.js +0 -3
- package/dist/lib/skills/shared/clients/interfaces/INeo4jClient.js.map +0 -1
- package/dist/lib/skills/shared/clients/interfaces/IZepClient.d.ts +0 -152
- package/dist/lib/skills/shared/clients/interfaces/IZepClient.d.ts.map +0 -1
- package/dist/lib/skills/shared/clients/interfaces/IZepClient.js +0 -3
- package/dist/lib/skills/shared/clients/interfaces/IZepClient.js.map +0 -1
- package/dist/lib/skills/shared/group-id.d.ts +0 -2
- package/dist/lib/skills/shared/group-id.d.ts.map +0 -1
- package/dist/lib/skills/shared/group-id.js +0 -18
- package/dist/lib/skills/shared/group-id.js.map +0 -1
- package/dist/lib/skills/shared/services/MemoryService.d.ts +0 -24
- package/dist/lib/skills/shared/services/MemoryService.d.ts.map +0 -1
- package/dist/lib/skills/shared/services/MemoryService.js +0 -574
- package/dist/lib/skills/shared/services/MemoryService.js.map +0 -1
- package/dist/lib/skills/shared/services/PromptService.d.ts +0 -28
- package/dist/lib/skills/shared/services/PromptService.d.ts.map +0 -1
- package/dist/lib/skills/shared/services/PromptService.js +0 -53
- package/dist/lib/skills/shared/services/PromptService.js.map +0 -1
- package/dist/lib/skills/shared/services/TaskService.d.ts +0 -24
- package/dist/lib/skills/shared/services/TaskService.d.ts.map +0 -1
- package/dist/lib/skills/shared/services/TaskService.js +0 -388
- package/dist/lib/skills/shared/services/TaskService.js.map +0 -1
- package/dist/lib/skills/shared/services/interfaces/IMemoryService.d.ts.map +0 -1
- package/dist/lib/skills/shared/services/interfaces/IMemoryService.js +0 -3
- package/dist/lib/skills/shared/services/interfaces/IMemoryService.js.map +0 -1
- package/dist/lib/skills/shared/services/interfaces/ITaskService.d.ts.map +0 -1
- package/dist/lib/skills/shared/services/interfaces/ITaskService.js +0 -7
- package/dist/lib/skills/shared/services/interfaces/ITaskService.js.map +0 -1
- package/dist/lib/skills/shared/utils/group-id.d.ts +0 -64
- package/dist/lib/skills/shared/utils/group-id.d.ts.map +0 -1
- package/dist/lib/skills/shared/utils/group-id.js +0 -176
- package/dist/lib/skills/shared/utils/group-id.js.map +0 -1
- package/dist/project/.lisa/docker/docker-compose.graphiti.yml +0 -45
- package/dist/project/.lisa/skills/git/SKILL.md +0 -171
- /package/dist/lib/skills/{init-review → review}/init-review.d.ts +0 -0
- /package/dist/lib/skills/{init-review → review}/init-review.js +0 -0
|
@@ -1,299 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* Neo4j Memory Repository
|
|
4
|
-
*
|
|
5
|
-
* Read-only memory repository using direct Neo4j Cypher queries.
|
|
6
|
-
* Optimized for date-ordered listing and aggregations.
|
|
7
|
-
*/
|
|
8
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
-
exports.Neo4jMemoryRepository = void 0;
|
|
10
|
-
const dal_1 = require("../../../../domain/interfaces/dal");
|
|
11
|
-
const IMemoryLifecycle_1 = require("../../../../domain/interfaces/types/IMemoryLifecycle");
|
|
12
|
-
const IMemoryQuality_1 = require("../../../../domain/interfaces/types/IMemoryQuality");
|
|
13
|
-
/**
|
|
14
|
-
* Neo4j Memory Repository implementation.
|
|
15
|
-
* Read-only with expiration support: writes go through MCP for proper Graphiti ingestion.
|
|
16
|
-
*/
|
|
17
|
-
class Neo4jMemoryRepository {
|
|
18
|
-
constructor(connection) {
|
|
19
|
-
this.connection = connection;
|
|
20
|
-
}
|
|
21
|
-
/**
|
|
22
|
-
* Find facts by group IDs with optional filtering and sorting.
|
|
23
|
-
*/
|
|
24
|
-
async findByGroupIds(groupIds, options) {
|
|
25
|
-
const opts = (0, dal_1.applyQueryDefaults)(options);
|
|
26
|
-
const { limit, offset, sort, includeExpired, since, until } = opts;
|
|
27
|
-
// Build Cypher query
|
|
28
|
-
const groupList = groupIds.map((g) => `"${g}"`).join(', ');
|
|
29
|
-
const sortField = `r.${sort?.field || 'created_at'}`;
|
|
30
|
-
const sortOrder = sort?.order === 'asc' ? 'ASC' : 'DESC';
|
|
31
|
-
// Build WHERE clauses
|
|
32
|
-
const whereClauses = [
|
|
33
|
-
`r.group_id IN [${groupList}]`,
|
|
34
|
-
`r.fact IS NOT NULL`,
|
|
35
|
-
];
|
|
36
|
-
if (!includeExpired) {
|
|
37
|
-
whereClauses.push(`r.expired_at IS NULL`);
|
|
38
|
-
}
|
|
39
|
-
if (since) {
|
|
40
|
-
whereClauses.push(`r.created_at >= datetime("${since.toISOString()}")`);
|
|
41
|
-
}
|
|
42
|
-
if (until) {
|
|
43
|
-
whereClauses.push(`r.created_at <= datetime("${until.toISOString()}")`);
|
|
44
|
-
}
|
|
45
|
-
const whereClause = whereClauses.join(' AND ');
|
|
46
|
-
const cypher = `
|
|
47
|
-
MATCH (s:Entity)-[r]->(t:Entity)
|
|
48
|
-
WHERE ${whereClause}
|
|
49
|
-
RETURN r.uuid AS uuid, r.group_id AS group_id, r.name AS name,
|
|
50
|
-
r.fact AS fact, r.created_at AS created_at,
|
|
51
|
-
r.valid_at AS valid_at, r.invalid_at AS invalid_at,
|
|
52
|
-
r.expired_at AS expired_at
|
|
53
|
-
ORDER BY ${sortField} ${sortOrder}
|
|
54
|
-
SKIP ${offset}
|
|
55
|
-
LIMIT ${limit}
|
|
56
|
-
`;
|
|
57
|
-
const records = await this.connection.query(cypher);
|
|
58
|
-
const items = records.map(this.toMemoryItem);
|
|
59
|
-
return {
|
|
60
|
-
items,
|
|
61
|
-
source: 'neo4j',
|
|
62
|
-
hasMore: items.length === limit,
|
|
63
|
-
};
|
|
64
|
-
}
|
|
65
|
-
/**
|
|
66
|
-
* Semantic search is NOT supported by Neo4j direct.
|
|
67
|
-
* Throws an error - use MCP repository for semantic search.
|
|
68
|
-
*/
|
|
69
|
-
async search(_groupIds, _query, _options) {
|
|
70
|
-
throw new Error('Neo4j repository does not support semantic search. Use MCP repository instead.');
|
|
71
|
-
}
|
|
72
|
-
/**
|
|
73
|
-
* Find facts by tags.
|
|
74
|
-
* Note: Tag filtering depends on how Graphiti stores tags in Neo4j.
|
|
75
|
-
*/
|
|
76
|
-
async findByTags(groupIds, tags, options) {
|
|
77
|
-
const opts = (0, dal_1.applyQueryDefaults)(options);
|
|
78
|
-
const { limit, offset, sort, includeExpired } = opts;
|
|
79
|
-
const groupList = groupIds.map((g) => `"${g}"`).join(', ');
|
|
80
|
-
const tagList = tags.map((t) => `"${t}"`).join(', ');
|
|
81
|
-
const sortField = `r.${sort?.field || 'created_at'}`;
|
|
82
|
-
const sortOrder = sort?.order === 'asc' ? 'ASC' : 'DESC';
|
|
83
|
-
const whereClauses = [
|
|
84
|
-
`r.group_id IN [${groupList}]`,
|
|
85
|
-
`r.fact IS NOT NULL`,
|
|
86
|
-
];
|
|
87
|
-
if (!includeExpired) {
|
|
88
|
-
whereClauses.push(`r.expired_at IS NULL`);
|
|
89
|
-
}
|
|
90
|
-
// Add tag filter - Graphiti may store tags differently
|
|
91
|
-
// This assumes tags are stored in an array property
|
|
92
|
-
if (tags.length > 0) {
|
|
93
|
-
whereClauses.push(`ANY(tag IN [${tagList}] WHERE tag IN r.tags)`);
|
|
94
|
-
}
|
|
95
|
-
const whereClause = whereClauses.join(' AND ');
|
|
96
|
-
const cypher = `
|
|
97
|
-
MATCH (s:Entity)-[r]->(t:Entity)
|
|
98
|
-
WHERE ${whereClause}
|
|
99
|
-
RETURN r.uuid AS uuid, r.group_id AS group_id, r.name AS name,
|
|
100
|
-
r.fact AS fact, r.created_at AS created_at,
|
|
101
|
-
r.valid_at AS valid_at, r.invalid_at AS invalid_at,
|
|
102
|
-
r.expired_at AS expired_at
|
|
103
|
-
ORDER BY ${sortField} ${sortOrder}
|
|
104
|
-
SKIP ${offset}
|
|
105
|
-
LIMIT ${limit}
|
|
106
|
-
`;
|
|
107
|
-
const records = await this.connection.query(cypher);
|
|
108
|
-
const items = records.map(this.toMemoryItem);
|
|
109
|
-
return {
|
|
110
|
-
items,
|
|
111
|
-
source: 'neo4j',
|
|
112
|
-
hasMore: items.length === limit,
|
|
113
|
-
};
|
|
114
|
-
}
|
|
115
|
-
/**
|
|
116
|
-
* Expire a single fact by UUID.
|
|
117
|
-
* Sets expired_at timestamp on the matching relationship.
|
|
118
|
-
*/
|
|
119
|
-
async expire(groupId, uuid) {
|
|
120
|
-
const cypher = `
|
|
121
|
-
MATCH (s:Entity)-[r]->(t:Entity)
|
|
122
|
-
WHERE r.group_id = $groupId AND r.uuid = $uuid AND r.expired_at IS NULL
|
|
123
|
-
SET r.expired_at = datetime()
|
|
124
|
-
`;
|
|
125
|
-
await this.connection.write(cypher, { groupId, uuid });
|
|
126
|
-
}
|
|
127
|
-
/**
|
|
128
|
-
* Expire facts matching a filter.
|
|
129
|
-
* Uses count-then-write: READ session for count, WRITE session for expiration.
|
|
130
|
-
* @returns Number of facts expired
|
|
131
|
-
*/
|
|
132
|
-
async expireByFilter(groupId, filter) {
|
|
133
|
-
const whereClauses = [
|
|
134
|
-
`r.group_id = $groupId`,
|
|
135
|
-
`r.fact IS NOT NULL`,
|
|
136
|
-
`r.expired_at IS NULL`,
|
|
137
|
-
];
|
|
138
|
-
const params = { groupId };
|
|
139
|
-
if (filter.lifecycle) {
|
|
140
|
-
const lifecycleTag = (0, IMemoryLifecycle_1.resolveLifecycleTag)(filter.lifecycle);
|
|
141
|
-
whereClauses.push(`$lifecycleTag IN r.tags`);
|
|
142
|
-
params.lifecycleTag = lifecycleTag;
|
|
143
|
-
}
|
|
144
|
-
if (filter.olderThan) {
|
|
145
|
-
whereClauses.push(`r.created_at <= datetime($olderThan)`);
|
|
146
|
-
params.olderThan = filter.olderThan.toISOString();
|
|
147
|
-
}
|
|
148
|
-
if (filter.tags && filter.tags.length > 0) {
|
|
149
|
-
whereClauses.push(`ANY(tag IN $filterTags WHERE tag IN r.tags)`);
|
|
150
|
-
params.filterTags = [...filter.tags];
|
|
151
|
-
}
|
|
152
|
-
const whereClause = whereClauses.join(' AND ');
|
|
153
|
-
// Step 1: Count matching facts (READ session)
|
|
154
|
-
const countCypher = `
|
|
155
|
-
MATCH (s:Entity)-[r]->(t:Entity)
|
|
156
|
-
WHERE ${whereClause}
|
|
157
|
-
RETURN count(r) AS count
|
|
158
|
-
`;
|
|
159
|
-
const countResult = await this.connection.query(countCypher, params);
|
|
160
|
-
const count = countResult[0]?.count ?? 0;
|
|
161
|
-
if (count === 0) {
|
|
162
|
-
return 0;
|
|
163
|
-
}
|
|
164
|
-
// Step 2: Expire matching facts (WRITE session)
|
|
165
|
-
const expireCypher = `
|
|
166
|
-
MATCH (s:Entity)-[r]->(t:Entity)
|
|
167
|
-
WHERE ${whereClause}
|
|
168
|
-
SET r.expired_at = datetime()
|
|
169
|
-
`;
|
|
170
|
-
await this.connection.write(expireCypher, params);
|
|
171
|
-
return count;
|
|
172
|
-
}
|
|
173
|
-
/**
|
|
174
|
-
* Find facts at or above a minimum confidence level.
|
|
175
|
-
* Filters by confidence:* tags using CONFIDENCE_SCORES ordering.
|
|
176
|
-
*/
|
|
177
|
-
async findByMinConfidence(groupIds, minLevel, options) {
|
|
178
|
-
const opts = (0, dal_1.applyQueryDefaults)(options);
|
|
179
|
-
const { limit, offset, sort, includeExpired } = opts;
|
|
180
|
-
// Build list of confidence tags at or above the minimum level
|
|
181
|
-
const minScore = IMemoryQuality_1.CONFIDENCE_SCORES[minLevel];
|
|
182
|
-
const acceptedTags = IMemoryQuality_1.CONFIDENCE_VALUES
|
|
183
|
-
.filter((level) => IMemoryQuality_1.CONFIDENCE_SCORES[level] >= minScore)
|
|
184
|
-
.map(IMemoryQuality_1.resolveConfidenceTag);
|
|
185
|
-
const sortField = `r.${sort?.field || 'created_at'}`;
|
|
186
|
-
const sortOrder = sort?.order === 'asc' ? 'ASC' : 'DESC';
|
|
187
|
-
const params = {
|
|
188
|
-
groupIds: [...groupIds],
|
|
189
|
-
acceptedTags: [...acceptedTags],
|
|
190
|
-
offset,
|
|
191
|
-
limit,
|
|
192
|
-
};
|
|
193
|
-
const whereClauses = [
|
|
194
|
-
`r.group_id IN $groupIds`,
|
|
195
|
-
`r.fact IS NOT NULL`,
|
|
196
|
-
`ANY(tag IN r.tags WHERE tag IN $acceptedTags)`,
|
|
197
|
-
];
|
|
198
|
-
if (!includeExpired) {
|
|
199
|
-
whereClauses.push(`r.expired_at IS NULL`);
|
|
200
|
-
}
|
|
201
|
-
const whereClause = whereClauses.join(' AND ');
|
|
202
|
-
const cypher = `
|
|
203
|
-
MATCH (s:Entity)-[r]->(t:Entity)
|
|
204
|
-
WHERE ${whereClause}
|
|
205
|
-
RETURN r.uuid AS uuid, r.group_id AS group_id, r.name AS name,
|
|
206
|
-
r.fact AS fact, r.created_at AS created_at,
|
|
207
|
-
r.valid_at AS valid_at, r.invalid_at AS invalid_at,
|
|
208
|
-
r.expired_at AS expired_at
|
|
209
|
-
ORDER BY ${sortField} ${sortOrder}
|
|
210
|
-
SKIP $offset
|
|
211
|
-
LIMIT $limit
|
|
212
|
-
`;
|
|
213
|
-
const records = await this.connection.query(cypher, params);
|
|
214
|
-
const items = records.map(this.toMemoryItem);
|
|
215
|
-
return {
|
|
216
|
-
items,
|
|
217
|
-
source: 'neo4j',
|
|
218
|
-
hasMore: items.length === limit,
|
|
219
|
-
};
|
|
220
|
-
}
|
|
221
|
-
/**
|
|
222
|
-
* Find groups of potentially conflicting facts.
|
|
223
|
-
* Detects facts sharing a type:* tag but with differing content.
|
|
224
|
-
*/
|
|
225
|
-
async findConflicts(groupIds, topic, options) {
|
|
226
|
-
const opts = (0, dal_1.applyQueryDefaults)(options);
|
|
227
|
-
const { limit, includeExpired } = opts;
|
|
228
|
-
const params = {
|
|
229
|
-
groupIds: [...groupIds],
|
|
230
|
-
limit,
|
|
231
|
-
};
|
|
232
|
-
const whereClauses = [
|
|
233
|
-
`r.group_id IN $groupIds`,
|
|
234
|
-
`r.fact IS NOT NULL`,
|
|
235
|
-
`ANY(tag IN r.tags WHERE tag STARTS WITH 'type:')`,
|
|
236
|
-
];
|
|
237
|
-
if (!includeExpired) {
|
|
238
|
-
whereClauses.push(`r.expired_at IS NULL`);
|
|
239
|
-
}
|
|
240
|
-
if (topic) {
|
|
241
|
-
whereClauses.push(`$topic IN r.tags`);
|
|
242
|
-
params.topic = topic;
|
|
243
|
-
}
|
|
244
|
-
const whereClause = whereClauses.join(' AND ');
|
|
245
|
-
const cypher = `
|
|
246
|
-
MATCH (s:Entity)-[r]->(t:Entity)
|
|
247
|
-
WHERE ${whereClause}
|
|
248
|
-
WITH [tag IN r.tags WHERE tag STARTS WITH 'type:' | tag][0] AS topicTag,
|
|
249
|
-
r.uuid AS uuid, r.name AS name, r.fact AS fact,
|
|
250
|
-
r.group_id AS group_id, r.created_at AS created_at
|
|
251
|
-
WITH topicTag, COLLECT({ uuid: uuid, name: name, fact: fact, group_id: group_id, created_at: created_at }) AS facts
|
|
252
|
-
WHERE SIZE(facts) > 1
|
|
253
|
-
RETURN topicTag, facts
|
|
254
|
-
LIMIT $limit
|
|
255
|
-
`;
|
|
256
|
-
const records = await this.connection.query(cypher, params);
|
|
257
|
-
return records.map((record) => ({
|
|
258
|
-
topic: record.topicTag,
|
|
259
|
-
facts: record.facts.map((f) => ({
|
|
260
|
-
uuid: f.uuid,
|
|
261
|
-
name: f.name,
|
|
262
|
-
fact: f.fact,
|
|
263
|
-
created_at: f.created_at,
|
|
264
|
-
})),
|
|
265
|
-
detectedAt: new Date().toISOString(),
|
|
266
|
-
}));
|
|
267
|
-
}
|
|
268
|
-
/**
|
|
269
|
-
* Neo4j does not support semantic search.
|
|
270
|
-
*/
|
|
271
|
-
supportsSemanticSearch() {
|
|
272
|
-
return false;
|
|
273
|
-
}
|
|
274
|
-
/**
|
|
275
|
-
* Neo4j excels at date-ordered queries.
|
|
276
|
-
*/
|
|
277
|
-
supportsDateOrdering() {
|
|
278
|
-
return true;
|
|
279
|
-
}
|
|
280
|
-
/**
|
|
281
|
-
* Neo4j direct is read-only (writes go through MCP).
|
|
282
|
-
*/
|
|
283
|
-
supportsWrite() {
|
|
284
|
-
return false;
|
|
285
|
-
}
|
|
286
|
-
/**
|
|
287
|
-
* Convert Neo4j record to IMemoryItem.
|
|
288
|
-
*/
|
|
289
|
-
toMemoryItem(record) {
|
|
290
|
-
return {
|
|
291
|
-
uuid: record.uuid,
|
|
292
|
-
name: record.name,
|
|
293
|
-
fact: record.fact,
|
|
294
|
-
created_at: record.created_at,
|
|
295
|
-
};
|
|
296
|
-
}
|
|
297
|
-
}
|
|
298
|
-
exports.Neo4jMemoryRepository = Neo4jMemoryRepository;
|
|
299
|
-
//# sourceMappingURL=Neo4jMemoryRepository.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Neo4jMemoryRepository.js","sourceRoot":"","sources":["../../../../../../src/lib/infrastructure/dal/repositories/neo4j/Neo4jMemoryRepository.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAUH,2DAAuE;AACvE,2FAA2F;AAE3F,uFAI4D;AAwB5D;;;GAGG;AACH,MAAa,qBAAqB;IAChC,YAA6B,UAAkC;QAAlC,eAAU,GAAV,UAAU,CAAwB;IAAG,CAAC;IAEnE;;OAEG;IACH,KAAK,CAAC,cAAc,CAClB,QAA2B,EAC3B,OAAuB;QAEvB,MAAM,IAAI,GAAG,IAAA,wBAAkB,EAAC,OAAO,CAAC,CAAC;QACzC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;QAEnE,qBAAqB;QACrB,MAAM,SAAS,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3D,MAAM,SAAS,GAAG,KAAK,IAAI,EAAE,KAAK,IAAI,YAAY,EAAE,CAAC;QACrD,MAAM,SAAS,GAAG,IAAI,EAAE,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;QAEzD,sBAAsB;QACtB,MAAM,YAAY,GAAa;YAC7B,kBAAkB,SAAS,GAAG;YAC9B,oBAAoB;SACrB,CAAC;QAEF,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,YAAY,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;QAC5C,CAAC;QAED,IAAI,KAAK,EAAE,CAAC;YACV,YAAY,CAAC,IAAI,CAAC,6BAA6B,KAAK,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;QAC1E,CAAC;QAED,IAAI,KAAK,EAAE,CAAC;YACV,YAAY,CAAC,IAAI,CAAC,6BAA6B,KAAK,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;QAC1E,CAAC;QAED,MAAM,WAAW,GAAG,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAE/C,MAAM,MAAM,GAAG;;cAEL,WAAW;;;;;iBAKR,SAAS,IAAI,SAAS;aAC1B,MAAM;cACL,KAAK;KACd,CAAC;QAEF,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,CAAkB,MAAM,CAAC,CAAC;QACrE,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAE7C,OAAO;YACL,KAAK;YACL,MAAM,EAAE,OAAO;YACf,OAAO,EAAE,KAAK,CAAC,MAAM,KAAK,KAAK;SAChC,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,MAAM,CACV,SAA4B,EAC5B,MAAc,EACd,QAAuC;QAEvC,MAAM,IAAI,KAAK,CACb,gFAAgF,CACjF,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,UAAU,CACd,QAA2B,EAC3B,IAAuB,EACvB,OAAqC;QAErC,MAAM,IAAI,GAAG,IAAA,wBAAkB,EAAC,OAAO,CAAC,CAAC;QACzC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,GAAG,IAAI,CAAC;QAErD,MAAM,SAAS,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3D,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrD,MAAM,SAAS,GAAG,KAAK,IAAI,EAAE,KAAK,IAAI,YAAY,EAAE,CAAC;QACrD,MAAM,SAAS,GAAG,IAAI,EAAE,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;QAEzD,MAAM,YAAY,GAAa;YAC7B,kBAAkB,SAAS,GAAG;YAC9B,oBAAoB;SACrB,CAAC;QAEF,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,YAAY,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;QAC5C,CAAC;QAED,uDAAuD;QACvD,oDAAoD;QACpD,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpB,YAAY,CAAC,IAAI,CAAC,eAAe,OAAO,wBAAwB,CAAC,CAAC;QACpE,CAAC;QAED,MAAM,WAAW,GAAG,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAE/C,MAAM,MAAM,GAAG;;cAEL,WAAW;;;;;iBAKR,SAAS,IAAI,SAAS;aAC1B,MAAM;cACL,KAAK;KACd,CAAC;QAEF,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,CAAkB,MAAM,CAAC,CAAC;QACrE,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAE7C,OAAO;YACL,KAAK;YACL,MAAM,EAAE,OAAO;YACf,OAAO,EAAE,KAAK,CAAC,MAAM,KAAK,KAAK;SAChC,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,MAAM,CAAC,OAAe,EAAE,IAAY;QACxC,MAAM,MAAM,GAAG;;;;KAId,CAAC;QACF,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;IACzD,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,cAAc,CAAC,OAAe,EAAE,MAAyB;QAC7D,MAAM,YAAY,GAAa;YAC7B,uBAAuB;YACvB,oBAAoB;YACpB,sBAAsB;SACvB,CAAC;QACF,MAAM,MAAM,GAA4B,EAAE,OAAO,EAAE,CAAC;QAEpD,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;YACrB,MAAM,YAAY,GAAG,IAAA,sCAAmB,EAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAC3D,YAAY,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;YAC7C,MAAM,CAAC,YAAY,GAAG,YAAY,CAAC;QACrC,CAAC;QAED,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;YACrB,YAAY,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;YAC1D,MAAM,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC;QACpD,CAAC;QAED,IAAI,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1C,YAAY,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC;YACjE,MAAM,CAAC,UAAU,GAAG,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;QACvC,CAAC;QAED,MAAM,WAAW,GAAG,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAE/C,8CAA8C;QAC9C,MAAM,WAAW,GAAG;;cAEV,WAAW;;KAEpB,CAAC;QACF,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,CAAmB,WAAW,EAAE,MAAM,CAAC,CAAC;QACvF,MAAM,KAAK,GAAG,WAAW,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,CAAC;QAEzC,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;YAChB,OAAO,CAAC,CAAC;QACX,CAAC;QAED,gDAAgD;QAChD,MAAM,YAAY,GAAG;;cAEX,WAAW;;KAEpB,CAAC;QACF,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;QAElD,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,mBAAmB,CACvB,QAA2B,EAC3B,QAAyB,EACzB,OAAuB;QAEvB,MAAM,IAAI,GAAG,IAAA,wBAAkB,EAAC,OAAO,CAAC,CAAC;QACzC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,GAAG,IAAI,CAAC;QAErD,8DAA8D;QAC9D,MAAM,QAAQ,GAAG,kCAAiB,CAAC,QAAQ,CAAC,CAAC;QAC7C,MAAM,YAAY,GAAG,kCAAiB;aACnC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,kCAAiB,CAAC,KAAK,CAAC,IAAI,QAAQ,CAAC;aACvD,GAAG,CAAC,qCAAoB,CAAC,CAAC;QAE7B,MAAM,SAAS,GAAG,KAAK,IAAI,EAAE,KAAK,IAAI,YAAY,EAAE,CAAC;QACrD,MAAM,SAAS,GAAG,IAAI,EAAE,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;QAEzD,MAAM,MAAM,GAA4B;YACtC,QAAQ,EAAE,CAAC,GAAG,QAAQ,CAAC;YACvB,YAAY,EAAE,CAAC,GAAG,YAAY,CAAC;YAC/B,MAAM;YACN,KAAK;SACN,CAAC;QAEF,MAAM,YAAY,GAAa;YAC7B,yBAAyB;YACzB,oBAAoB;YACpB,+CAA+C;SAChD,CAAC;QAEF,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,YAAY,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;QAC5C,CAAC;QAED,MAAM,WAAW,GAAG,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAE/C,MAAM,MAAM,GAAG;;cAEL,WAAW;;;;;iBAKR,SAAS,IAAI,SAAS;;;KAGlC,CAAC;QAEF,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,CAAkB,MAAM,EAAE,MAAM,CAAC,CAAC;QAC7E,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAE7C,OAAO;YACL,KAAK;YACL,MAAM,EAAE,OAAO;YACf,OAAO,EAAE,KAAK,CAAC,MAAM,KAAK,KAAK;SAChC,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,aAAa,CACjB,QAA2B,EAC3B,KAAc,EACd,OAAuB;QAEvB,MAAM,IAAI,GAAG,IAAA,wBAAkB,EAAC,OAAO,CAAC,CAAC;QACzC,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE,GAAG,IAAI,CAAC;QAEvC,MAAM,MAAM,GAA4B;YACtC,QAAQ,EAAE,CAAC,GAAG,QAAQ,CAAC;YACvB,KAAK;SACN,CAAC;QAEF,MAAM,YAAY,GAAa;YAC7B,yBAAyB;YACzB,oBAAoB;YACpB,kDAAkD;SACnD,CAAC;QAEF,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,YAAY,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;QAC5C,CAAC;QAED,IAAI,KAAK,EAAE,CAAC;YACV,YAAY,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;YACtC,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC;QACvB,CAAC;QAED,MAAM,WAAW,GAAG,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAE/C,MAAM,MAAM,GAAG;;cAEL,WAAW;;;;;;;;KAQpB,CAAC;QAEF,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,CAGxC,MAAM,EAAE,MAAM,CAAC,CAAC;QAEnB,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YAC9B,KAAK,EAAE,MAAM,CAAC,QAAQ;YACtB,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC9B,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,UAAU,EAAE,CAAC,CAAC,UAAU;aACzB,CAAC,CAAC;YACH,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACrC,CAAC,CAAC,CAAC;IACN,CAAC;IAED;;OAEG;IACH,sBAAsB;QACpB,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;OAEG;IACH,oBAAoB;QAClB,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,aAAa;QACX,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;OAEG;IACK,YAAY,CAAC,MAAuB;QAC1C,OAAO;YACL,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,UAAU,EAAE,MAAM,CAAC,UAAU;SAC9B,CAAC;IACJ,CAAC;CACF;AAnWD,sDAmWC"}
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Neo4j Task Repository
|
|
3
|
-
*
|
|
4
|
-
* Read-only task repository using direct Neo4j Cypher queries.
|
|
5
|
-
* Optimized for task aggregations and status queries.
|
|
6
|
-
*/
|
|
7
|
-
import type { ITask, ITaskCounts } from '../../../../domain/interfaces/types/ITask';
|
|
8
|
-
import type { IReadOnlyTaskRepository, IQueryOptions, ITaskQueryResult } from '../../../../domain/interfaces/dal';
|
|
9
|
-
import { Neo4jConnectionManager } from '../../connections/Neo4jConnectionManager';
|
|
10
|
-
/**
|
|
11
|
-
* Neo4j Task Repository implementation.
|
|
12
|
-
* Read-only: writes go through MCP.
|
|
13
|
-
*/
|
|
14
|
-
export declare class Neo4jTaskRepository implements IReadOnlyTaskRepository {
|
|
15
|
-
private readonly connection;
|
|
16
|
-
constructor(connection: Neo4jConnectionManager);
|
|
17
|
-
/**
|
|
18
|
-
* Find tasks by group IDs.
|
|
19
|
-
*/
|
|
20
|
-
findByGroupIds(groupIds: readonly string[], options?: IQueryOptions): Promise<ITaskQueryResult>;
|
|
21
|
-
/**
|
|
22
|
-
* Find a task by its key (UUID).
|
|
23
|
-
*/
|
|
24
|
-
findByKey(groupId: string, taskKey: string): Promise<ITask | null>;
|
|
25
|
-
/**
|
|
26
|
-
* Find tasks by status.
|
|
27
|
-
* Note: Status filtering requires parsing JSON content, so we filter in JS.
|
|
28
|
-
*/
|
|
29
|
-
findByStatus(groupIds: readonly string[], status: ITask['status'], options?: Omit<IQueryOptions, 'tags'>): Promise<ITaskQueryResult>;
|
|
30
|
-
/**
|
|
31
|
-
* Get task counts by status.
|
|
32
|
-
* Since status is in JSON content, we need to parse and count in JS.
|
|
33
|
-
*/
|
|
34
|
-
getCounts(groupIds: readonly string[]): Promise<ITaskCounts>;
|
|
35
|
-
/**
|
|
36
|
-
* Neo4j direct is read-only.
|
|
37
|
-
*/
|
|
38
|
-
supportsWrite(): boolean;
|
|
39
|
-
/**
|
|
40
|
-
* Neo4j excels at aggregations.
|
|
41
|
-
*/
|
|
42
|
-
supportsAggregation(): boolean;
|
|
43
|
-
/**
|
|
44
|
-
* Convert Neo4j record to ITask.
|
|
45
|
-
* Handles both Episodic (JSON content) and Entity (direct fields) schemas.
|
|
46
|
-
*/
|
|
47
|
-
private toTask;
|
|
48
|
-
}
|
|
49
|
-
//# sourceMappingURL=Neo4jTaskRepository.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Neo4jTaskRepository.d.ts","sourceRoot":"","sources":["../../../../../../src/lib/infrastructure/dal/repositories/neo4j/Neo4jTaskRepository.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,2CAA2C,CAAC;AACpF,OAAO,KAAK,EACV,uBAAuB,EACvB,aAAa,EACb,gBAAgB,EACjB,MAAM,mCAAmC,CAAC;AAE3C,OAAO,EAAE,sBAAsB,EAAE,MAAM,0CAA0C,CAAC;AAkClF;;;GAGG;AACH,qBAAa,mBAAoB,YAAW,uBAAuB;IACrD,OAAO,CAAC,QAAQ,CAAC,UAAU;gBAAV,UAAU,EAAE,sBAAsB;IAE/D;;OAEG;IACG,cAAc,CAClB,QAAQ,EAAE,SAAS,MAAM,EAAE,EAC3B,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,gBAAgB,CAAC;IAkC5B;;OAEG;IACG,SAAS,CACb,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;IAqBxB;;;OAGG;IACG,YAAY,CAChB,QAAQ,EAAE,SAAS,MAAM,EAAE,EAC3B,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,EACvB,OAAO,CAAC,EAAE,IAAI,CAAC,aAAa,EAAE,MAAM,CAAC,GACpC,OAAO,CAAC,gBAAgB,CAAC;IAuC5B;;;OAGG;IACG,SAAS,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC,WAAW,CAAC;IAsClE;;OAEG;IACH,aAAa,IAAI,OAAO;IAIxB;;OAEG;IACH,mBAAmB,IAAI,OAAO;IAI9B;;;OAGG;IACH,OAAO,CAAC,MAAM;CA+Bf"}
|
|
@@ -1,193 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* Neo4j Task Repository
|
|
4
|
-
*
|
|
5
|
-
* Read-only task repository using direct Neo4j Cypher queries.
|
|
6
|
-
* Optimized for task aggregations and status queries.
|
|
7
|
-
*/
|
|
8
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
-
exports.Neo4jTaskRepository = void 0;
|
|
10
|
-
const dal_1 = require("../../../../domain/interfaces/dal");
|
|
11
|
-
/**
|
|
12
|
-
* Neo4j Task Repository implementation.
|
|
13
|
-
* Read-only: writes go through MCP.
|
|
14
|
-
*/
|
|
15
|
-
class Neo4jTaskRepository {
|
|
16
|
-
constructor(connection) {
|
|
17
|
-
this.connection = connection;
|
|
18
|
-
}
|
|
19
|
-
/**
|
|
20
|
-
* Find tasks by group IDs.
|
|
21
|
-
*/
|
|
22
|
-
async findByGroupIds(groupIds, options) {
|
|
23
|
-
const opts = (0, dal_1.applyQueryDefaults)(options);
|
|
24
|
-
const { limit, offset, sort } = opts;
|
|
25
|
-
const groupList = groupIds.map((g) => `"${g}"`).join(', ');
|
|
26
|
-
const sortField = sort?.field === 'created_at' ? 'n.created_at' : 'n.title';
|
|
27
|
-
const sortOrder = sort?.order === 'asc' ? 'ASC' : 'DESC';
|
|
28
|
-
// Query for Task episodic nodes in Graphiti's schema
|
|
29
|
-
// Tasks are stored as Episodic nodes with name starting with 'TASK:' (uppercase)
|
|
30
|
-
// and content containing JSON with type:"task"
|
|
31
|
-
const cypher = `
|
|
32
|
-
MATCH (e:Episodic)
|
|
33
|
-
WHERE e.group_id IN [${groupList}]
|
|
34
|
-
AND (e.name STARTS WITH 'TASK:' OR e.content CONTAINS '"type":"task"' OR e.content CONTAINS '"type": "task"')
|
|
35
|
-
RETURN e.uuid AS key,
|
|
36
|
-
e.name AS title,
|
|
37
|
-
e.content AS content,
|
|
38
|
-
e.created_at AS created_at
|
|
39
|
-
ORDER BY ${sortField.replace('n.', 'e.')} ${sortOrder}
|
|
40
|
-
SKIP ${offset}
|
|
41
|
-
LIMIT ${limit}
|
|
42
|
-
`;
|
|
43
|
-
const records = await this.connection.query(cypher);
|
|
44
|
-
const items = records.map(this.toTask);
|
|
45
|
-
return {
|
|
46
|
-
items,
|
|
47
|
-
source: 'neo4j',
|
|
48
|
-
hasMore: items.length === limit,
|
|
49
|
-
};
|
|
50
|
-
}
|
|
51
|
-
/**
|
|
52
|
-
* Find a task by its key (UUID).
|
|
53
|
-
*/
|
|
54
|
-
async findByKey(groupId, taskKey) {
|
|
55
|
-
const cypher = `
|
|
56
|
-
MATCH (e:Episodic)
|
|
57
|
-
WHERE e.group_id = $groupId
|
|
58
|
-
AND e.uuid = $taskKey
|
|
59
|
-
AND (e.name STARTS WITH 'TASK:' OR e.content CONTAINS '"type":"task"')
|
|
60
|
-
RETURN e.uuid AS key,
|
|
61
|
-
e.name AS title,
|
|
62
|
-
e.content AS content,
|
|
63
|
-
e.created_at AS created_at
|
|
64
|
-
LIMIT 1
|
|
65
|
-
`;
|
|
66
|
-
const records = await this.connection.query(cypher, {
|
|
67
|
-
groupId,
|
|
68
|
-
taskKey,
|
|
69
|
-
});
|
|
70
|
-
return records.length > 0 ? this.toTask(records[0]) : null;
|
|
71
|
-
}
|
|
72
|
-
/**
|
|
73
|
-
* Find tasks by status.
|
|
74
|
-
* Note: Status filtering requires parsing JSON content, so we filter in JS.
|
|
75
|
-
*/
|
|
76
|
-
async findByStatus(groupIds, status, options) {
|
|
77
|
-
const opts = (0, dal_1.applyQueryDefaults)(options);
|
|
78
|
-
const limitVal = opts.limit ?? 100;
|
|
79
|
-
const offsetVal = opts.offset ?? 0;
|
|
80
|
-
const sort = opts.sort;
|
|
81
|
-
const groupList = groupIds.map((g) => `"${g}"`).join(', ');
|
|
82
|
-
const sortField = sort?.field === 'created_at' ? 'e.created_at' : 'e.name';
|
|
83
|
-
const sortOrder = sort?.order === 'asc' ? 'ASC' : 'DESC';
|
|
84
|
-
// Fetch more than needed since we filter by status in JS
|
|
85
|
-
const fetchLimit = (limitVal + offsetVal) * 2;
|
|
86
|
-
const cypher = `
|
|
87
|
-
MATCH (e:Episodic)
|
|
88
|
-
WHERE e.group_id IN [${groupList}]
|
|
89
|
-
AND (e.name STARTS WITH 'TASK:' OR e.content CONTAINS '"type":"task"')
|
|
90
|
-
RETURN e.uuid AS key,
|
|
91
|
-
e.name AS title,
|
|
92
|
-
e.content AS content,
|
|
93
|
-
e.created_at AS created_at
|
|
94
|
-
ORDER BY ${sortField} ${sortOrder}
|
|
95
|
-
LIMIT ${fetchLimit}
|
|
96
|
-
`;
|
|
97
|
-
const records = await this.connection.query(cypher);
|
|
98
|
-
const allItems = records.map(r => this.toTask(r));
|
|
99
|
-
// Filter by status and apply pagination
|
|
100
|
-
const filtered = allItems.filter(t => t.status === status);
|
|
101
|
-
const items = filtered.slice(offsetVal, offsetVal + limitVal);
|
|
102
|
-
return {
|
|
103
|
-
items,
|
|
104
|
-
source: 'neo4j',
|
|
105
|
-
hasMore: filtered.length > offsetVal + limitVal,
|
|
106
|
-
};
|
|
107
|
-
}
|
|
108
|
-
/**
|
|
109
|
-
* Get task counts by status.
|
|
110
|
-
* Since status is in JSON content, we need to parse and count in JS.
|
|
111
|
-
*/
|
|
112
|
-
async getCounts(groupIds) {
|
|
113
|
-
const groupList = groupIds.map((g) => `"${g}"`).join(', ');
|
|
114
|
-
const cypher = `
|
|
115
|
-
MATCH (e:Episodic)
|
|
116
|
-
WHERE e.group_id IN [${groupList}]
|
|
117
|
-
AND (e.name STARTS WITH 'TASK:' OR e.content CONTAINS '"type":"task"')
|
|
118
|
-
RETURN e.uuid AS key,
|
|
119
|
-
e.name AS title,
|
|
120
|
-
e.content AS content,
|
|
121
|
-
e.created_at AS created_at
|
|
122
|
-
`;
|
|
123
|
-
const records = await this.connection.query(cypher);
|
|
124
|
-
const tasks = records.map(r => this.toTask(r));
|
|
125
|
-
// Use mutable object then cast to readonly
|
|
126
|
-
const mutableCounts = {
|
|
127
|
-
ready: 0,
|
|
128
|
-
'in-progress': 0,
|
|
129
|
-
blocked: 0,
|
|
130
|
-
done: 0,
|
|
131
|
-
closed: 0,
|
|
132
|
-
unknown: 0,
|
|
133
|
-
};
|
|
134
|
-
for (const task of tasks) {
|
|
135
|
-
const status = task.status;
|
|
136
|
-
if (status in mutableCounts) {
|
|
137
|
-
mutableCounts[status]++;
|
|
138
|
-
}
|
|
139
|
-
else {
|
|
140
|
-
mutableCounts.unknown++;
|
|
141
|
-
}
|
|
142
|
-
}
|
|
143
|
-
return mutableCounts;
|
|
144
|
-
}
|
|
145
|
-
/**
|
|
146
|
-
* Neo4j direct is read-only.
|
|
147
|
-
*/
|
|
148
|
-
supportsWrite() {
|
|
149
|
-
return false;
|
|
150
|
-
}
|
|
151
|
-
/**
|
|
152
|
-
* Neo4j excels at aggregations.
|
|
153
|
-
*/
|
|
154
|
-
supportsAggregation() {
|
|
155
|
-
return true;
|
|
156
|
-
}
|
|
157
|
-
/**
|
|
158
|
-
* Convert Neo4j record to ITask.
|
|
159
|
-
* Handles both Episodic (JSON content) and Entity (direct fields) schemas.
|
|
160
|
-
*/
|
|
161
|
-
toTask(record) {
|
|
162
|
-
// Try to parse JSON content from Episodic nodes
|
|
163
|
-
let content = null;
|
|
164
|
-
if (record.content) {
|
|
165
|
-
try {
|
|
166
|
-
content = JSON.parse(record.content);
|
|
167
|
-
}
|
|
168
|
-
catch {
|
|
169
|
-
// Ignore parse errors, fall back to name-based extraction
|
|
170
|
-
}
|
|
171
|
-
}
|
|
172
|
-
// If we have valid task content, use it
|
|
173
|
-
if (content && content.type === 'task') {
|
|
174
|
-
return {
|
|
175
|
-
key: record.key,
|
|
176
|
-
status: content.status || 'unknown',
|
|
177
|
-
title: content.title || record.title?.replace(/^TASK:\s*/i, '') || '',
|
|
178
|
-
blocked: record.blocked || [],
|
|
179
|
-
created_at: record.created_at,
|
|
180
|
-
};
|
|
181
|
-
}
|
|
182
|
-
// Fall back to name-based extraction (legacy or TASK: prefix)
|
|
183
|
-
return {
|
|
184
|
-
key: record.key,
|
|
185
|
-
status: record.status || 'unknown',
|
|
186
|
-
title: record.title?.replace(/^TASK:\s*/i, '').replace(/^Task:\s*/i, '') || '',
|
|
187
|
-
blocked: record.blocked || [],
|
|
188
|
-
created_at: record.created_at,
|
|
189
|
-
};
|
|
190
|
-
}
|
|
191
|
-
}
|
|
192
|
-
exports.Neo4jTaskRepository = Neo4jTaskRepository;
|
|
193
|
-
//# sourceMappingURL=Neo4jTaskRepository.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Neo4jTaskRepository.js","sourceRoot":"","sources":["../../../../../../src/lib/infrastructure/dal/repositories/neo4j/Neo4jTaskRepository.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Zep Cloud Memory Repository
|
|
3
|
-
*
|
|
4
|
-
* Memory repository using Zep Cloud REST API.
|
|
5
|
-
* Cloud-based alternative that doesn't require Docker.
|
|
6
|
-
*/
|
|
7
|
-
import type { IMemoryItem } from '../../../../domain/interfaces/types/IMemoryResult';
|
|
8
|
-
import type { IMemoryRepository, IMemorySaveOptions, IQueryOptions, IMemoryQueryResult } from '../../../../domain/interfaces/dal';
|
|
9
|
-
import { ZepConnectionManager } from '../../connections/ZepConnectionManager';
|
|
10
|
-
/**
|
|
11
|
-
* Zep Cloud Memory Repository implementation.
|
|
12
|
-
* Uses Zep's native graph API for memory storage.
|
|
13
|
-
*/
|
|
14
|
-
export declare class ZepMemoryRepository implements IMemoryRepository {
|
|
15
|
-
private readonly connection;
|
|
16
|
-
constructor(connection: ZepConnectionManager);
|
|
17
|
-
/**
|
|
18
|
-
* Find facts by group IDs using Zep graph search.
|
|
19
|
-
*/
|
|
20
|
-
findByGroupIds(groupIds: readonly string[], options?: IQueryOptions): Promise<IMemoryQueryResult>;
|
|
21
|
-
/**
|
|
22
|
-
* Semantic search using Zep's graph search.
|
|
23
|
-
*/
|
|
24
|
-
search(groupIds: readonly string[], query: string, options?: Omit<IQueryOptions, 'query'>): Promise<IMemoryQueryResult>;
|
|
25
|
-
/**
|
|
26
|
-
* Find facts by tags.
|
|
27
|
-
* Note: Zep may not support tag filtering directly.
|
|
28
|
-
*/
|
|
29
|
-
findByTags(groupIds: readonly string[], tags: readonly string[], options?: Omit<IQueryOptions, 'tags'>): Promise<IMemoryQueryResult>;
|
|
30
|
-
/**
|
|
31
|
-
* Save a fact via Zep threads API.
|
|
32
|
-
*/
|
|
33
|
-
save(groupId: string, content: string, options?: IMemorySaveOptions): Promise<IMemoryItem>;
|
|
34
|
-
/**
|
|
35
|
-
* Save multiple facts in batch.
|
|
36
|
-
*/
|
|
37
|
-
saveBatch(groupId: string, facts: readonly string[], options?: IMemorySaveOptions): Promise<readonly IMemoryItem[]>;
|
|
38
|
-
/**
|
|
39
|
-
* Zep supports semantic search.
|
|
40
|
-
*/
|
|
41
|
-
supportsSemanticSearch(): boolean;
|
|
42
|
-
/**
|
|
43
|
-
* Zep supports date ordering (via client-side sort).
|
|
44
|
-
*/
|
|
45
|
-
supportsDateOrdering(): boolean;
|
|
46
|
-
/**
|
|
47
|
-
* Zep supports write operations.
|
|
48
|
-
*/
|
|
49
|
-
supportsWrite(): boolean;
|
|
50
|
-
/**
|
|
51
|
-
* Convert Zep edge to IMemoryItem.
|
|
52
|
-
*/
|
|
53
|
-
private toMemoryItem;
|
|
54
|
-
}
|
|
55
|
-
//# sourceMappingURL=ZepMemoryRepository.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ZepMemoryRepository.d.ts","sourceRoot":"","sources":["../../../../../../src/lib/infrastructure/dal/repositories/zep/ZepMemoryRepository.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mDAAmD,CAAC;AACrF,OAAO,KAAK,EACV,iBAAiB,EACjB,kBAAkB,EAClB,aAAa,EACb,kBAAkB,EACnB,MAAM,mCAAmC,CAAC;AAE3C,OAAO,EAAE,oBAAoB,EAAE,MAAM,wCAAwC,CAAC;AA0B9E;;;GAGG;AACH,qBAAa,mBAAoB,YAAW,iBAAiB;IAC/C,OAAO,CAAC,QAAQ,CAAC,UAAU;gBAAV,UAAU,EAAE,oBAAoB;IAE7D;;OAEG;IACG,cAAc,CAClB,QAAQ,EAAE,SAAS,MAAM,EAAE,EAC3B,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,kBAAkB,CAAC;IA8C9B;;OAEG;IACG,MAAM,CACV,QAAQ,EAAE,SAAS,MAAM,EAAE,EAC3B,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,GACrC,OAAO,CAAC,kBAAkB,CAAC;IAI9B;;;OAGG;IACG,UAAU,CACd,QAAQ,EAAE,SAAS,MAAM,EAAE,EAC3B,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,OAAO,CAAC,EAAE,IAAI,CAAC,aAAa,EAAE,MAAM,CAAC,GACpC,OAAO,CAAC,kBAAkB,CAAC;IAqB9B;;OAEG;IACG,IAAI,CACR,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,kBAAkB,GAC3B,OAAO,CAAC,WAAW,CAAC;IAuCvB;;OAEG;IACG,SAAS,CACb,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,SAAS,MAAM,EAAE,EACxB,OAAO,CAAC,EAAE,kBAAkB,GAC3B,OAAO,CAAC,SAAS,WAAW,EAAE,CAAC;IAWlC;;OAEG;IACH,sBAAsB,IAAI,OAAO;IAIjC;;OAEG;IACH,oBAAoB,IAAI,OAAO;IAI/B;;OAEG;IACH,aAAa,IAAI,OAAO;IAIxB;;OAEG;IACH,OAAO,CAAC,YAAY;CAQrB"}
|