@tonycasey/lisa 1.2.0 → 2.0.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/README.md +22 -15
- package/dist/hooks/session-start.js +43114 -0
- package/dist/hooks/session-stop.js +42699 -0
- package/dist/hooks/user-prompt-submit.js +42757 -0
- package/dist/lib/application/handlers/PromptSubmitHandler.d.ts +27 -0
- package/dist/lib/application/handlers/PromptSubmitHandler.d.ts.map +1 -0
- package/dist/lib/application/handlers/PromptSubmitHandler.js +53 -0
- package/dist/lib/application/handlers/PromptSubmitHandler.js.map +1 -0
- package/dist/lib/application/handlers/SessionStartHandler.d.ts +50 -0
- package/dist/lib/application/handlers/SessionStartHandler.d.ts.map +1 -0
- package/dist/lib/application/handlers/SessionStartHandler.js +448 -0
- package/dist/lib/application/handlers/SessionStartHandler.js.map +1 -0
- package/dist/lib/application/handlers/SessionStopHandler.d.ts +15 -0
- package/dist/lib/application/handlers/SessionStopHandler.d.ts.map +1 -0
- package/dist/lib/application/handlers/SessionStopHandler.js +35 -0
- package/dist/lib/application/handlers/SessionStopHandler.js.map +1 -0
- package/dist/lib/application/handlers/index.d.ts +8 -0
- package/dist/lib/application/handlers/index.d.ts.map +1 -0
- package/dist/lib/application/handlers/index.js +14 -0
- package/dist/lib/application/handlers/index.js.map +1 -0
- package/dist/lib/application/index.d.ts +13 -0
- package/dist/lib/application/index.d.ts.map +1 -0
- package/dist/lib/application/index.js +31 -0
- package/dist/lib/application/index.js.map +1 -0
- package/dist/lib/application/interfaces/ISessionStartResult.d.ts +22 -0
- package/dist/lib/application/interfaces/ISessionStartResult.d.ts.map +1 -0
- package/dist/lib/application/interfaces/ISessionStartResult.js +3 -0
- package/dist/lib/application/interfaces/ISessionStartResult.js.map +1 -0
- package/dist/lib/application/interfaces/index.d.ts +5 -0
- package/dist/lib/application/interfaces/index.d.ts.map +1 -0
- package/dist/lib/application/interfaces/index.js +6 -0
- package/dist/lib/application/interfaces/index.js.map +1 -0
- package/dist/lib/cli.d.ts +34 -0
- package/dist/lib/cli.d.ts.map +1 -0
- package/dist/lib/cli.js +664 -0
- package/dist/lib/cli.js.map +1 -0
- package/dist/lib/domain/errors/LisaError.d.ts +41 -0
- package/dist/lib/domain/errors/LisaError.d.ts.map +1 -0
- package/dist/lib/domain/errors/LisaError.js +69 -0
- package/dist/lib/domain/errors/LisaError.js.map +1 -0
- package/dist/lib/domain/errors/index.d.ts +5 -0
- package/dist/lib/domain/errors/index.d.ts.map +1 -0
- package/dist/lib/domain/errors/index.js +14 -0
- package/dist/lib/domain/errors/index.js.map +1 -0
- package/dist/lib/domain/index.d.ts +14 -0
- package/dist/lib/domain/index.d.ts.map +1 -0
- package/dist/lib/domain/index.js +33 -0
- package/dist/lib/domain/index.js.map +1 -0
- package/dist/lib/domain/interfaces/IEventEmitter.d.ts +32 -0
- package/dist/lib/domain/interfaces/IEventEmitter.d.ts.map +1 -0
- package/dist/lib/domain/interfaces/IEventEmitter.js +3 -0
- package/dist/lib/domain/interfaces/IEventEmitter.js.map +1 -0
- package/dist/lib/domain/interfaces/ILisaContext.d.ts +25 -0
- package/dist/lib/domain/interfaces/ILisaContext.d.ts.map +1 -0
- package/dist/lib/domain/interfaces/ILisaContext.js +3 -0
- package/dist/lib/domain/interfaces/ILisaContext.js.map +1 -0
- package/dist/lib/domain/interfaces/ILisaServices.d.ts +34 -0
- package/dist/lib/domain/interfaces/ILisaServices.d.ts.map +1 -0
- package/dist/lib/domain/interfaces/ILisaServices.js +3 -0
- package/dist/lib/domain/interfaces/ILisaServices.js.map +1 -0
- package/dist/lib/domain/interfaces/ILogger.d.ts +94 -0
- package/dist/lib/domain/interfaces/ILogger.d.ts.map +1 -0
- package/dist/lib/domain/interfaces/ILogger.js +3 -0
- package/dist/lib/domain/interfaces/ILogger.js.map +1 -0
- package/dist/lib/domain/interfaces/IMcpClient.d.ts +31 -0
- package/dist/lib/domain/interfaces/IMcpClient.d.ts.map +1 -0
- package/dist/lib/domain/interfaces/IMcpClient.js +3 -0
- package/dist/lib/domain/interfaces/IMcpClient.js.map +1 -0
- package/dist/lib/domain/interfaces/IMemoryService.d.ts +56 -0
- package/dist/lib/domain/interfaces/IMemoryService.d.ts.map +1 -0
- package/dist/lib/domain/interfaces/IMemoryService.js +3 -0
- package/dist/lib/domain/interfaces/IMemoryService.js.map +1 -0
- package/dist/lib/domain/interfaces/IRecursionService.d.ts +52 -0
- package/dist/lib/domain/interfaces/IRecursionService.d.ts.map +1 -0
- package/dist/lib/domain/interfaces/IRecursionService.js +3 -0
- package/dist/lib/domain/interfaces/IRecursionService.js.map +1 -0
- package/dist/lib/domain/interfaces/ISessionCaptureService.d.ts +16 -0
- package/dist/lib/domain/interfaces/ISessionCaptureService.d.ts.map +1 -0
- package/dist/lib/domain/interfaces/ISessionCaptureService.js +3 -0
- package/dist/lib/domain/interfaces/ISessionCaptureService.js.map +1 -0
- package/dist/lib/domain/interfaces/ITaskService.d.ts +52 -0
- package/dist/lib/domain/interfaces/ITaskService.d.ts.map +1 -0
- package/dist/lib/domain/interfaces/ITaskService.js +3 -0
- package/dist/lib/domain/interfaces/ITaskService.js.map +1 -0
- package/dist/lib/domain/interfaces/dal/IConnectionManager.d.ts +110 -0
- package/dist/lib/domain/interfaces/dal/IConnectionManager.d.ts.map +1 -0
- package/dist/lib/domain/interfaces/dal/IConnectionManager.js +8 -0
- package/dist/lib/domain/interfaces/dal/IConnectionManager.js.map +1 -0
- package/dist/lib/domain/interfaces/dal/IMemoryRepository.d.ts +93 -0
- package/dist/lib/domain/interfaces/dal/IMemoryRepository.d.ts.map +1 -0
- package/dist/lib/domain/interfaces/dal/IMemoryRepository.js +9 -0
- package/dist/lib/domain/interfaces/dal/IMemoryRepository.js.map +1 -0
- package/dist/lib/domain/interfaces/dal/IRepositoryRouter.d.ts +88 -0
- package/dist/lib/domain/interfaces/dal/IRepositoryRouter.d.ts.map +1 -0
- package/dist/lib/domain/interfaces/dal/IRepositoryRouter.js +23 -0
- package/dist/lib/domain/interfaces/dal/IRepositoryRouter.js.map +1 -0
- package/dist/lib/domain/interfaces/dal/ITaskRepository.d.ts +87 -0
- package/dist/lib/domain/interfaces/dal/ITaskRepository.d.ts.map +1 -0
- package/dist/lib/domain/interfaces/dal/ITaskRepository.js +9 -0
- package/dist/lib/domain/interfaces/dal/ITaskRepository.js.map +1 -0
- package/dist/lib/domain/interfaces/dal/index.d.ts +14 -0
- package/dist/lib/domain/interfaces/dal/index.d.ts.map +1 -0
- package/dist/lib/domain/interfaces/dal/index.js +15 -0
- package/dist/lib/domain/interfaces/dal/index.js.map +1 -0
- package/dist/lib/domain/interfaces/dal/types.d.ts +81 -0
- package/dist/lib/domain/interfaces/dal/types.d.ts.map +1 -0
- package/dist/lib/domain/interfaces/dal/types.js +28 -0
- package/dist/lib/domain/interfaces/dal/types.js.map +1 -0
- package/dist/lib/domain/interfaces/events/IMemoryEvent.d.ts +27 -0
- package/dist/lib/domain/interfaces/events/IMemoryEvent.d.ts.map +1 -0
- package/dist/lib/domain/interfaces/events/IMemoryEvent.js +26 -0
- package/dist/lib/domain/interfaces/events/IMemoryEvent.js.map +1 -0
- package/dist/lib/domain/interfaces/events/IPromptSubmitEvent.d.ts +20 -0
- package/dist/lib/domain/interfaces/events/IPromptSubmitEvent.d.ts.map +1 -0
- package/dist/lib/domain/interfaces/events/IPromptSubmitEvent.js +16 -0
- package/dist/lib/domain/interfaces/events/IPromptSubmitEvent.js.map +1 -0
- package/dist/lib/domain/interfaces/events/ISessionStartEvent.d.ts +19 -0
- package/dist/lib/domain/interfaces/events/ISessionStartEvent.d.ts.map +1 -0
- package/dist/lib/domain/interfaces/events/ISessionStartEvent.js +15 -0
- package/dist/lib/domain/interfaces/events/ISessionStartEvent.js.map +1 -0
- package/dist/lib/domain/interfaces/events/ISessionStopEvent.d.ts +22 -0
- package/dist/lib/domain/interfaces/events/ISessionStopEvent.d.ts.map +1 -0
- package/dist/lib/domain/interfaces/events/ISessionStopEvent.js +15 -0
- package/dist/lib/domain/interfaces/events/ISessionStopEvent.js.map +1 -0
- package/dist/lib/domain/interfaces/events/LisaEvent.d.ts +13 -0
- package/dist/lib/domain/interfaces/events/LisaEvent.d.ts.map +1 -0
- package/dist/lib/domain/interfaces/events/LisaEvent.js +3 -0
- package/dist/lib/domain/interfaces/events/LisaEvent.js.map +1 -0
- package/dist/lib/domain/interfaces/events/index.d.ts +9 -0
- package/dist/lib/domain/interfaces/events/index.d.ts.map +1 -0
- package/dist/lib/domain/interfaces/events/index.js +16 -0
- package/dist/lib/domain/interfaces/events/index.js.map +1 -0
- package/dist/lib/domain/interfaces/index.d.ts +16 -0
- package/dist/lib/domain/interfaces/index.d.ts.map +1 -0
- package/dist/lib/domain/interfaces/index.js +25 -0
- package/dist/lib/domain/interfaces/index.js.map +1 -0
- package/dist/lib/domain/interfaces/types/ICapturedWork.d.ts +14 -0
- package/dist/lib/domain/interfaces/types/ICapturedWork.d.ts.map +1 -0
- package/dist/lib/domain/interfaces/types/ICapturedWork.js +14 -0
- package/dist/lib/domain/interfaces/types/ICapturedWork.js.map +1 -0
- package/dist/lib/domain/interfaces/types/IMemoryResult.d.ts +39 -0
- package/dist/lib/domain/interfaces/types/IMemoryResult.d.ts.map +1 -0
- package/dist/lib/domain/interfaces/types/IMemoryResult.js +29 -0
- package/dist/lib/domain/interfaces/types/IMemoryResult.js.map +1 -0
- package/dist/lib/domain/interfaces/types/ITask.d.ts +46 -0
- package/dist/lib/domain/interfaces/types/ITask.d.ts.map +1 -0
- package/dist/lib/domain/interfaces/types/ITask.js +17 -0
- package/dist/lib/domain/interfaces/types/ITask.js.map +1 -0
- package/dist/lib/domain/interfaces/types/index.d.ts +7 -0
- package/dist/lib/domain/interfaces/types/index.d.ts.map +1 -0
- package/dist/lib/domain/interfaces/types/index.js +14 -0
- package/dist/lib/domain/interfaces/types/index.js.map +1 -0
- package/dist/lib/domain/types/ISOTimestamp.d.ts +19 -0
- package/dist/lib/domain/types/ISOTimestamp.d.ts.map +1 -0
- package/dist/lib/domain/types/ISOTimestamp.js +18 -0
- package/dist/lib/domain/types/ISOTimestamp.js.map +1 -0
- package/dist/lib/domain/types/index.d.ts +7 -0
- package/dist/lib/domain/types/index.d.ts.map +1 -0
- package/dist/lib/domain/types/index.js +12 -0
- package/dist/lib/domain/types/index.js.map +1 -0
- package/dist/lib/infrastructure/adapters/claude/index.d.ts +8 -0
- package/dist/lib/infrastructure/adapters/claude/index.d.ts.map +1 -0
- package/dist/lib/infrastructure/adapters/claude/index.js +18 -0
- package/dist/lib/infrastructure/adapters/claude/index.js.map +1 -0
- package/dist/lib/infrastructure/adapters/claude/session-start.d.ts +9 -0
- package/dist/lib/infrastructure/adapters/claude/session-start.d.ts.map +1 -0
- package/dist/lib/infrastructure/adapters/claude/session-start.js +54 -0
- package/dist/lib/infrastructure/adapters/claude/session-start.js.map +1 -0
- package/dist/lib/infrastructure/adapters/claude/session-stop.d.ts +13 -0
- package/dist/lib/infrastructure/adapters/claude/session-stop.d.ts.map +1 -0
- package/dist/lib/infrastructure/adapters/claude/session-stop.js +43 -0
- package/dist/lib/infrastructure/adapters/claude/session-stop.js.map +1 -0
- package/dist/lib/infrastructure/adapters/claude/stdin.d.ts +13 -0
- package/dist/lib/infrastructure/adapters/claude/stdin.d.ts.map +1 -0
- package/dist/lib/infrastructure/adapters/claude/stdin.js +36 -0
- package/dist/lib/infrastructure/adapters/claude/stdin.js.map +1 -0
- package/dist/lib/infrastructure/adapters/claude/user-prompt-submit.d.ts +13 -0
- package/dist/lib/infrastructure/adapters/claude/user-prompt-submit.d.ts.map +1 -0
- package/dist/lib/infrastructure/adapters/claude/user-prompt-submit.js +58 -0
- package/dist/lib/infrastructure/adapters/claude/user-prompt-submit.js.map +1 -0
- package/dist/lib/infrastructure/adapters/opencode/index.d.ts +7 -0
- package/dist/lib/infrastructure/adapters/opencode/index.d.ts.map +1 -0
- package/dist/lib/infrastructure/adapters/opencode/index.js +18 -0
- package/dist/lib/infrastructure/adapters/opencode/index.js.map +1 -0
- package/dist/lib/infrastructure/adapters/opencode/opencode-events.d.ts +73 -0
- package/dist/lib/infrastructure/adapters/opencode/opencode-events.d.ts.map +1 -0
- package/dist/lib/infrastructure/adapters/opencode/opencode-events.js +131 -0
- package/dist/lib/infrastructure/adapters/opencode/opencode-events.js.map +1 -0
- package/dist/lib/infrastructure/adapters/opencode/plugin.d.ts +60 -0
- package/dist/lib/infrastructure/adapters/opencode/plugin.d.ts.map +1 -0
- package/dist/lib/infrastructure/adapters/opencode/plugin.js +147 -0
- package/dist/lib/infrastructure/adapters/opencode/plugin.js.map +1 -0
- package/dist/lib/infrastructure/context/ContextDetector.d.ts +92 -0
- package/dist/lib/infrastructure/context/ContextDetector.d.ts.map +1 -0
- package/dist/lib/infrastructure/context/ContextDetector.js +415 -0
- package/dist/lib/infrastructure/context/ContextDetector.js.map +1 -0
- package/dist/lib/infrastructure/context/index.d.ts +5 -0
- package/dist/lib/infrastructure/context/index.d.ts.map +1 -0
- package/dist/lib/infrastructure/context/index.js +9 -0
- package/dist/lib/infrastructure/context/index.js.map +1 -0
- package/dist/lib/infrastructure/dal/RepositoryFactory.d.ts +71 -0
- package/dist/lib/infrastructure/dal/RepositoryFactory.d.ts.map +1 -0
- package/dist/lib/infrastructure/dal/RepositoryFactory.js +134 -0
- package/dist/lib/infrastructure/dal/RepositoryFactory.js.map +1 -0
- package/dist/lib/infrastructure/dal/connections/McpConnectionManager.d.ts +56 -0
- package/dist/lib/infrastructure/dal/connections/McpConnectionManager.d.ts.map +1 -0
- package/dist/lib/infrastructure/dal/connections/McpConnectionManager.js +98 -0
- package/dist/lib/infrastructure/dal/connections/McpConnectionManager.js.map +1 -0
- package/dist/lib/infrastructure/dal/connections/Neo4jConnectionManager.d.ts +60 -0
- package/dist/lib/infrastructure/dal/connections/Neo4jConnectionManager.d.ts.map +1 -0
- package/dist/lib/infrastructure/dal/connections/Neo4jConnectionManager.js +181 -0
- package/dist/lib/infrastructure/dal/connections/Neo4jConnectionManager.js.map +1 -0
- package/dist/lib/infrastructure/dal/connections/ZepConnectionManager.d.ts +53 -0
- package/dist/lib/infrastructure/dal/connections/ZepConnectionManager.d.ts.map +1 -0
- package/dist/lib/infrastructure/dal/connections/ZepConnectionManager.js +168 -0
- package/dist/lib/infrastructure/dal/connections/ZepConnectionManager.js.map +1 -0
- package/dist/lib/infrastructure/dal/connections/index.d.ts +9 -0
- package/dist/lib/infrastructure/dal/connections/index.d.ts.map +1 -0
- package/dist/lib/infrastructure/dal/connections/index.js +18 -0
- package/dist/lib/infrastructure/dal/connections/index.js.map +1 -0
- package/dist/lib/infrastructure/dal/index.d.ts +27 -0
- package/dist/lib/infrastructure/dal/index.d.ts.map +1 -0
- package/dist/lib/infrastructure/dal/index.js +50 -0
- package/dist/lib/infrastructure/dal/index.js.map +1 -0
- package/dist/lib/infrastructure/dal/repositories/index.d.ts +7 -0
- package/dist/lib/infrastructure/dal/repositories/index.d.ts.map +1 -0
- package/dist/lib/infrastructure/dal/repositories/index.js +19 -0
- package/dist/lib/infrastructure/dal/repositories/index.js.map +1 -0
- package/dist/lib/infrastructure/dal/repositories/mcp/McpMemoryRepository.d.ts +54 -0
- package/dist/lib/infrastructure/dal/repositories/mcp/McpMemoryRepository.d.ts.map +1 -0
- package/dist/lib/infrastructure/dal/repositories/mcp/McpMemoryRepository.js +131 -0
- package/dist/lib/infrastructure/dal/repositories/mcp/McpMemoryRepository.js.map +1 -0
- package/dist/lib/infrastructure/dal/repositories/mcp/McpTaskRepository.d.ts +60 -0
- package/dist/lib/infrastructure/dal/repositories/mcp/McpTaskRepository.d.ts.map +1 -0
- package/dist/lib/infrastructure/dal/repositories/mcp/McpTaskRepository.js +182 -0
- package/dist/lib/infrastructure/dal/repositories/mcp/McpTaskRepository.js.map +1 -0
- package/dist/lib/infrastructure/dal/repositories/mcp/index.d.ts +6 -0
- package/dist/lib/infrastructure/dal/repositories/mcp/index.d.ts.map +1 -0
- package/dist/lib/infrastructure/dal/repositories/mcp/index.js +11 -0
- package/dist/lib/infrastructure/dal/repositories/mcp/index.js.map +1 -0
- package/dist/lib/infrastructure/dal/repositories/neo4j/Neo4jMemoryRepository.d.ts +47 -0
- package/dist/lib/infrastructure/dal/repositories/neo4j/Neo4jMemoryRepository.d.ts.map +1 -0
- package/dist/lib/infrastructure/dal/repositories/neo4j/Neo4jMemoryRepository.js +144 -0
- package/dist/lib/infrastructure/dal/repositories/neo4j/Neo4jMemoryRepository.js.map +1 -0
- package/dist/lib/infrastructure/dal/repositories/neo4j/Neo4jTaskRepository.d.ts +46 -0
- package/dist/lib/infrastructure/dal/repositories/neo4j/Neo4jTaskRepository.d.ts.map +1 -0
- package/dist/lib/infrastructure/dal/repositories/neo4j/Neo4jTaskRepository.js +160 -0
- package/dist/lib/infrastructure/dal/repositories/neo4j/Neo4jTaskRepository.js.map +1 -0
- package/dist/lib/infrastructure/dal/repositories/neo4j/index.d.ts +6 -0
- package/dist/lib/infrastructure/dal/repositories/neo4j/index.d.ts.map +1 -0
- package/dist/lib/infrastructure/dal/repositories/neo4j/index.js +11 -0
- package/dist/lib/infrastructure/dal/repositories/neo4j/index.js.map +1 -0
- package/dist/lib/infrastructure/dal/repositories/zep/ZepMemoryRepository.d.ts +55 -0
- package/dist/lib/infrastructure/dal/repositories/zep/ZepMemoryRepository.d.ts.map +1 -0
- package/dist/lib/infrastructure/dal/repositories/zep/ZepMemoryRepository.js +165 -0
- package/dist/lib/infrastructure/dal/repositories/zep/ZepMemoryRepository.js.map +1 -0
- package/dist/lib/infrastructure/dal/repositories/zep/ZepTaskRepository.d.ts +58 -0
- package/dist/lib/infrastructure/dal/repositories/zep/ZepTaskRepository.d.ts.map +1 -0
- package/dist/lib/infrastructure/dal/repositories/zep/ZepTaskRepository.js +206 -0
- package/dist/lib/infrastructure/dal/repositories/zep/ZepTaskRepository.js.map +1 -0
- package/dist/lib/infrastructure/dal/repositories/zep/index.d.ts +6 -0
- package/dist/lib/infrastructure/dal/repositories/zep/index.d.ts.map +1 -0
- package/dist/lib/infrastructure/dal/repositories/zep/index.js +11 -0
- package/dist/lib/infrastructure/dal/repositories/zep/index.js.map +1 -0
- package/dist/lib/infrastructure/dal/routing/RepositoryRouter.d.ts +73 -0
- package/dist/lib/infrastructure/dal/routing/RepositoryRouter.d.ts.map +1 -0
- package/dist/lib/infrastructure/dal/routing/RepositoryRouter.js +170 -0
- package/dist/lib/infrastructure/dal/routing/RepositoryRouter.js.map +1 -0
- package/dist/lib/infrastructure/dal/routing/index.d.ts +5 -0
- package/dist/lib/infrastructure/dal/routing/index.d.ts.map +1 -0
- package/dist/lib/infrastructure/dal/routing/index.js +10 -0
- package/dist/lib/infrastructure/dal/routing/index.js.map +1 -0
- package/dist/lib/infrastructure/di/ServiceFactory.d.ts +44 -0
- package/dist/lib/infrastructure/di/ServiceFactory.d.ts.map +1 -0
- package/dist/lib/infrastructure/di/ServiceFactory.js +141 -0
- package/dist/lib/infrastructure/di/ServiceFactory.js.map +1 -0
- package/dist/lib/infrastructure/di/index.d.ts +5 -0
- package/dist/lib/infrastructure/di/index.d.ts.map +1 -0
- package/dist/lib/infrastructure/di/index.js +10 -0
- package/dist/lib/infrastructure/di/index.js.map +1 -0
- package/dist/lib/infrastructure/index.d.ts +17 -0
- package/dist/lib/infrastructure/index.d.ts.map +1 -0
- package/dist/lib/infrastructure/index.js +41 -0
- package/dist/lib/infrastructure/index.js.map +1 -0
- package/dist/lib/infrastructure/logging/Logger.d.ts +50 -0
- package/dist/lib/infrastructure/logging/Logger.d.ts.map +1 -0
- package/dist/lib/infrastructure/logging/Logger.js +167 -0
- package/dist/lib/infrastructure/logging/Logger.js.map +1 -0
- package/dist/lib/infrastructure/logging/context.d.ts +51 -0
- package/dist/lib/infrastructure/logging/context.d.ts.map +1 -0
- package/dist/lib/infrastructure/logging/context.js +77 -0
- package/dist/lib/infrastructure/logging/context.js.map +1 -0
- package/dist/lib/infrastructure/logging/factory.d.ts +36 -0
- package/dist/lib/infrastructure/logging/factory.d.ts.map +1 -0
- package/dist/lib/infrastructure/logging/factory.js +122 -0
- package/dist/lib/infrastructure/logging/factory.js.map +1 -0
- package/dist/lib/infrastructure/logging/index.d.ts +26 -0
- package/dist/lib/infrastructure/logging/index.d.ts.map +1 -0
- package/dist/lib/infrastructure/logging/index.js +45 -0
- package/dist/lib/infrastructure/logging/index.js.map +1 -0
- package/dist/lib/infrastructure/mcp/McpClient.d.ts +36 -0
- package/dist/lib/infrastructure/mcp/McpClient.d.ts.map +1 -0
- package/dist/lib/infrastructure/mcp/McpClient.js +155 -0
- package/dist/lib/infrastructure/mcp/McpClient.js.map +1 -0
- package/dist/lib/infrastructure/mcp/index.d.ts +5 -0
- package/dist/lib/infrastructure/mcp/index.d.ts.map +1 -0
- package/dist/lib/infrastructure/mcp/index.js +9 -0
- package/dist/lib/infrastructure/mcp/index.js.map +1 -0
- package/dist/lib/infrastructure/services/EventEmitter.d.ts +24 -0
- package/dist/lib/infrastructure/services/EventEmitter.d.ts.map +1 -0
- package/dist/lib/infrastructure/services/EventEmitter.js +41 -0
- package/dist/lib/infrastructure/services/EventEmitter.js.map +1 -0
- package/dist/lib/infrastructure/services/MemoryService.d.ts +48 -0
- package/dist/lib/infrastructure/services/MemoryService.d.ts.map +1 -0
- package/dist/lib/infrastructure/services/MemoryService.js +298 -0
- package/dist/lib/infrastructure/services/MemoryService.js.map +1 -0
- package/dist/lib/infrastructure/services/RecursionService.d.ts +50 -0
- package/dist/lib/infrastructure/services/RecursionService.d.ts.map +1 -0
- package/dist/lib/infrastructure/services/RecursionService.js +233 -0
- package/dist/lib/infrastructure/services/RecursionService.js.map +1 -0
- package/dist/lib/infrastructure/services/SessionCaptureService.d.ts +31 -0
- package/dist/lib/infrastructure/services/SessionCaptureService.d.ts.map +1 -0
- package/dist/lib/infrastructure/services/SessionCaptureService.js +38 -0
- package/dist/lib/infrastructure/services/SessionCaptureService.js.map +1 -0
- package/dist/lib/infrastructure/services/TaskService.d.ts +38 -0
- package/dist/lib/infrastructure/services/TaskService.d.ts.map +1 -0
- package/dist/lib/infrastructure/services/TaskService.js +227 -0
- package/dist/lib/infrastructure/services/TaskService.js.map +1 -0
- package/dist/lib/infrastructure/services/index.d.ts +9 -0
- package/dist/lib/infrastructure/services/index.d.ts.map +1 -0
- package/dist/lib/infrastructure/services/index.js +17 -0
- package/dist/lib/infrastructure/services/index.js.map +1 -0
- package/dist/lib/interfaces/IDockerClient.d.ts +6 -0
- package/dist/lib/interfaces/IDockerClient.d.ts.map +1 -0
- package/dist/lib/interfaces/IDockerClient.js +1 -0
- package/dist/lib/interfaces/IDockerClient.js.map +1 -0
- package/dist/lib/interfaces/IMcpClient.d.ts +7 -0
- package/dist/lib/interfaces/IMcpClient.d.ts.map +1 -0
- package/dist/lib/interfaces/IMcpClient.js +1 -0
- package/dist/lib/interfaces/IMcpClient.js.map +1 -0
- package/dist/lib/interfaces/IServices.d.ts +9 -0
- package/dist/lib/interfaces/IServices.d.ts.map +1 -0
- package/dist/lib/interfaces/IServices.js +1 -0
- package/dist/lib/interfaces/IServices.js.map +1 -0
- package/dist/lib/interfaces/ITemplateCopier.d.ts +6 -0
- package/dist/lib/interfaces/ITemplateCopier.d.ts.map +1 -0
- package/dist/lib/interfaces/ITemplateCopier.js +1 -0
- package/dist/lib/interfaces/ITemplateCopier.js.map +1 -0
- package/dist/lib/mcp.d.ts +5 -0
- package/dist/lib/mcp.d.ts.map +1 -0
- package/dist/lib/mcp.js +12 -1
- package/dist/lib/mcp.js.map +1 -0
- package/dist/lib/scanner/analyzer.d.ts +51 -0
- package/dist/lib/scanner/analyzer.d.ts.map +1 -0
- package/dist/lib/scanner/analyzer.js +6 -1
- package/dist/lib/scanner/analyzer.js.map +1 -0
- package/dist/lib/scanner/discovery.d.ts +25 -0
- package/dist/lib/scanner/discovery.d.ts.map +1 -0
- package/dist/lib/scanner/discovery.js +4 -3
- package/dist/lib/scanner/discovery.js.map +1 -0
- package/dist/lib/scanner/facts.d.ts +33 -0
- package/dist/lib/scanner/facts.d.ts.map +1 -0
- package/dist/lib/scanner/facts.js +23 -5
- package/dist/lib/scanner/facts.js.map +1 -0
- package/dist/lib/scanner/index.d.ts +31 -0
- package/dist/lib/scanner/index.d.ts.map +1 -0
- package/dist/lib/scanner/index.js +1 -6
- package/dist/lib/scanner/index.js.map +1 -0
- package/dist/lib/scanner/reviewer.d.ts +62 -0
- package/dist/lib/scanner/reviewer.d.ts.map +1 -0
- package/dist/lib/scanner/reviewer.js +26 -8
- package/dist/lib/scanner/reviewer.js.map +1 -0
- package/dist/lib/services.d.ts +7 -0
- package/dist/lib/services.d.ts.map +1 -0
- package/dist/lib/services.js +1 -0
- package/dist/lib/services.js.map +1 -0
- package/dist/opencode/lisa.js +43344 -0
- package/dist/package.json +15 -3
- package/dist/project/.lisa/.env.template +18 -0
- package/dist/{templates → project/.lisa}/rules/shared/git-rules.md +6 -6
- package/dist/project/.lisa/skills/common/group-id.d.ts.map +1 -0
- package/dist/{templates/agents → project/.lisa}/skills/common/group-id.js +1 -0
- package/dist/project/.lisa/skills/common/group-id.js.map +1 -0
- package/dist/project/.lisa/skills/common/type-mappings.d.ts.map +1 -0
- package/dist/project/.lisa/skills/common/type-mappings.js +93 -0
- package/dist/project/.lisa/skills/common/type-mappings.js.map +1 -0
- package/dist/{templates/agents → project/.lisa}/skills/git/SKILL.md +7 -7
- package/dist/project/.lisa/skills/git/scripts/bump-version.d.ts.map +1 -0
- package/dist/project/.lisa/skills/git/scripts/bump-version.js +58 -0
- package/dist/project/.lisa/skills/git/scripts/bump-version.js.map +1 -0
- package/dist/{templates/agents → project/.lisa}/skills/init-review/SKILL.md +2 -2
- package/dist/project/.lisa/skills/init-review/scripts/ai-enrich.d.ts.map +1 -0
- package/dist/project/.lisa/skills/init-review/scripts/ai-enrich.js +177 -0
- package/dist/project/.lisa/skills/init-review/scripts/ai-enrich.js.map +1 -0
- package/dist/project/.lisa/skills/init-review/scripts/init-review.d.ts.map +1 -0
- package/dist/project/.lisa/skills/init-review/scripts/init-review.js +143 -0
- package/dist/project/.lisa/skills/init-review/scripts/init-review.js.map +1 -0
- package/dist/project/.lisa/skills/jira/scripts/jira.d.ts.map +1 -0
- package/dist/project/.lisa/skills/jira/scripts/jira.js +159 -0
- package/dist/project/.lisa/skills/jira/scripts/jira.js.map +1 -0
- package/dist/{templates/agents → project/.lisa}/skills/lisa/SKILL.md +17 -15
- package/dist/project/.lisa/skills/lisa/scripts/compile-skills.d.ts.map +1 -0
- package/dist/project/.lisa/skills/lisa/scripts/compile-skills.js +75 -0
- package/dist/project/.lisa/skills/lisa/scripts/compile-skills.js.map +1 -0
- package/dist/project/.lisa/skills/lisa/scripts/storage.d.ts.map +1 -0
- package/dist/project/.lisa/skills/lisa/scripts/storage.js +114 -0
- package/dist/project/.lisa/skills/lisa/scripts/storage.js.map +1 -0
- package/dist/{templates/agents → project/.lisa}/skills/memory/SKILL.md +3 -3
- package/dist/project/.lisa/skills/memory/scripts/memory.d.ts.map +1 -0
- package/dist/project/.lisa/skills/memory/scripts/memory.js +95 -0
- package/dist/project/.lisa/skills/memory/scripts/memory.js.map +1 -0
- package/dist/{templates/agents → project/.lisa}/skills/prompt/SKILL.md +1 -1
- package/dist/project/.lisa/skills/prompt/scripts/prompt.d.ts.map +1 -0
- package/dist/project/.lisa/skills/prompt/scripts/prompt.js +80 -0
- package/dist/project/.lisa/skills/prompt/scripts/prompt.js.map +1 -0
- package/dist/project/.lisa/skills/shared/clients/McpClient.d.ts.map +1 -0
- package/dist/project/.lisa/skills/shared/clients/McpClient.js +117 -0
- package/dist/project/.lisa/skills/shared/clients/McpClient.js.map +1 -0
- package/dist/project/.lisa/skills/shared/clients/Neo4jClient.d.ts.map +1 -0
- package/dist/project/.lisa/skills/shared/clients/Neo4jClient.js +81 -0
- package/dist/project/.lisa/skills/shared/clients/Neo4jClient.js.map +1 -0
- package/dist/project/.lisa/skills/shared/clients/ZepClient.d.ts.map +1 -0
- package/dist/project/.lisa/skills/shared/clients/ZepClient.js +238 -0
- package/dist/project/.lisa/skills/shared/clients/ZepClient.js.map +1 -0
- package/dist/project/.lisa/skills/shared/clients/index.d.ts.map +1 -0
- package/dist/project/.lisa/skills/shared/clients/index.js +33 -0
- package/dist/project/.lisa/skills/shared/clients/index.js.map +1 -0
- package/dist/project/.lisa/skills/shared/clients/interfaces/IMcpClient.d.ts.map +1 -0
- package/dist/project/.lisa/skills/shared/clients/interfaces/IMcpClient.js +3 -0
- package/dist/project/.lisa/skills/shared/clients/interfaces/IMcpClient.js.map +1 -0
- package/dist/project/.lisa/skills/shared/clients/interfaces/INeo4jClient.d.ts.map +1 -0
- package/dist/project/.lisa/skills/shared/clients/interfaces/INeo4jClient.js +3 -0
- package/dist/project/.lisa/skills/shared/clients/interfaces/INeo4jClient.js.map +1 -0
- package/dist/project/.lisa/skills/shared/clients/interfaces/IZepClient.d.ts.map +1 -0
- package/dist/project/.lisa/skills/shared/clients/interfaces/IZepClient.js +3 -0
- package/dist/project/.lisa/skills/shared/clients/interfaces/IZepClient.js.map +1 -0
- package/dist/project/.lisa/skills/shared/clients/interfaces/index.d.ts.map +1 -0
- package/dist/project/.lisa/skills/shared/clients/interfaces/index.js +23 -0
- package/dist/project/.lisa/skills/shared/clients/interfaces/index.js.map +1 -0
- package/dist/project/.lisa/skills/shared/group-id.d.ts.map +1 -0
- package/dist/project/.lisa/skills/shared/group-id.js +18 -0
- package/dist/project/.lisa/skills/shared/group-id.js.map +1 -0
- package/dist/project/.lisa/skills/shared/index.d.ts.map +1 -0
- package/dist/project/.lisa/skills/shared/index.js +31 -0
- package/dist/project/.lisa/skills/shared/index.js.map +1 -0
- package/dist/project/.lisa/skills/shared/logger.d.ts.map +1 -0
- package/dist/project/.lisa/skills/shared/logger.js +18 -0
- package/dist/project/.lisa/skills/shared/logger.js.map +1 -0
- package/dist/project/.lisa/skills/shared/services/InitReviewService.d.ts.map +1 -0
- package/dist/project/.lisa/skills/shared/services/InitReviewService.js +287 -0
- package/dist/project/.lisa/skills/shared/services/InitReviewService.js.map +1 -0
- package/dist/project/.lisa/skills/shared/services/JiraService.d.ts.map +1 -0
- package/dist/project/.lisa/skills/shared/services/JiraService.js +257 -0
- package/dist/project/.lisa/skills/shared/services/JiraService.js.map +1 -0
- package/dist/project/.lisa/skills/shared/services/MemoryCliService.d.ts.map +1 -0
- package/dist/project/.lisa/skills/shared/services/MemoryCliService.js +36 -0
- package/dist/project/.lisa/skills/shared/services/MemoryCliService.js.map +1 -0
- package/dist/project/.lisa/skills/shared/services/MemoryService.d.ts.map +1 -0
- package/dist/project/.lisa/skills/shared/services/MemoryService.js +146 -0
- package/dist/project/.lisa/skills/shared/services/MemoryService.js.map +1 -0
- package/dist/project/.lisa/skills/shared/services/PromptService.d.ts.map +1 -0
- package/dist/project/.lisa/skills/shared/services/PromptService.js +53 -0
- package/dist/project/.lisa/skills/shared/services/PromptService.js.map +1 -0
- package/dist/project/.lisa/skills/shared/services/SkillCompilerService.d.ts.map +1 -0
- package/dist/project/.lisa/skills/shared/services/SkillCompilerService.js +115 -0
- package/dist/project/.lisa/skills/shared/services/SkillCompilerService.js.map +1 -0
- package/dist/project/.lisa/skills/shared/services/StorageService.d.ts.map +1 -0
- package/dist/project/.lisa/skills/shared/services/StorageService.js +257 -0
- package/dist/project/.lisa/skills/shared/services/StorageService.js.map +1 -0
- package/dist/project/.lisa/skills/shared/services/TaskCliService.d.ts.map +1 -0
- package/dist/project/.lisa/skills/shared/services/TaskCliService.js +40 -0
- package/dist/project/.lisa/skills/shared/services/TaskCliService.js.map +1 -0
- package/dist/project/.lisa/skills/shared/services/TaskService.d.ts.map +1 -0
- package/dist/project/.lisa/skills/shared/services/TaskService.js +158 -0
- package/dist/project/.lisa/skills/shared/services/TaskService.js.map +1 -0
- package/dist/project/.lisa/skills/shared/services/VersionService.d.ts.map +1 -0
- package/dist/project/.lisa/skills/shared/services/VersionService.js +88 -0
- package/dist/project/.lisa/skills/shared/services/VersionService.js.map +1 -0
- package/dist/project/.lisa/skills/shared/services/index.d.ts.map +1 -0
- package/dist/project/.lisa/skills/shared/services/index.js +47 -0
- package/dist/project/.lisa/skills/shared/services/index.js.map +1 -0
- package/dist/project/.lisa/skills/shared/services/interfaces/IMemoryService.d.ts.map +1 -0
- package/dist/project/.lisa/skills/shared/services/interfaces/IMemoryService.js +7 -0
- package/dist/project/.lisa/skills/shared/services/interfaces/IMemoryService.js.map +1 -0
- package/dist/project/.lisa/skills/shared/services/interfaces/ITaskService.d.ts.map +1 -0
- package/dist/project/.lisa/skills/shared/services/interfaces/ITaskService.js +7 -0
- package/dist/project/.lisa/skills/shared/services/interfaces/ITaskService.js.map +1 -0
- package/dist/project/.lisa/skills/shared/services/interfaces/index.d.ts.map +1 -0
- package/dist/project/.lisa/skills/shared/services/interfaces/index.js +22 -0
- package/dist/project/.lisa/skills/shared/services/interfaces/index.js.map +1 -0
- package/dist/project/.lisa/skills/shared/utils/FileCache.d.ts.map +1 -0
- package/dist/project/.lisa/skills/shared/utils/FileCache.js +119 -0
- package/dist/project/.lisa/skills/shared/utils/FileCache.js.map +1 -0
- package/dist/project/.lisa/skills/shared/utils/Logger.d.ts.map +1 -0
- package/dist/project/.lisa/skills/shared/utils/Logger.js +197 -0
- package/dist/project/.lisa/skills/shared/utils/Logger.js.map +1 -0
- package/dist/project/.lisa/skills/shared/utils/cache.d.ts.map +1 -0
- package/dist/project/.lisa/skills/shared/utils/cache.js +76 -0
- package/dist/project/.lisa/skills/shared/utils/cache.js.map +1 -0
- package/dist/project/.lisa/skills/shared/utils/cli.d.ts.map +1 -0
- package/dist/project/.lisa/skills/shared/utils/cli.js +87 -0
- package/dist/project/.lisa/skills/shared/utils/cli.js.map +1 -0
- package/dist/project/.lisa/skills/shared/utils/env.d.ts.map +1 -0
- package/dist/project/.lisa/skills/shared/utils/env.js +103 -0
- package/dist/project/.lisa/skills/shared/utils/env.js.map +1 -0
- package/dist/project/.lisa/skills/shared/utils/group-id.d.ts.map +1 -0
- package/dist/project/.lisa/skills/shared/utils/group-id.js +91 -0
- package/dist/project/.lisa/skills/shared/utils/group-id.js.map +1 -0
- package/dist/project/.lisa/skills/shared/utils/index.d.ts.map +1 -0
- package/dist/project/.lisa/skills/shared/utils/index.js +55 -0
- package/dist/project/.lisa/skills/shared/utils/index.js.map +1 -0
- package/dist/project/.lisa/skills/shared/utils/interfaces/ICache.d.ts.map +1 -0
- package/dist/project/.lisa/skills/shared/utils/interfaces/ICache.js +3 -0
- package/dist/project/.lisa/skills/shared/utils/interfaces/ICache.js.map +1 -0
- package/dist/project/.lisa/skills/shared/utils/interfaces/ILogger.d.ts.map +1 -0
- package/dist/project/.lisa/skills/shared/utils/interfaces/ILogger.js +3 -0
- package/dist/project/.lisa/skills/shared/utils/interfaces/ILogger.js.map +1 -0
- package/dist/project/.lisa/skills/shared/utils/interfaces/index.d.ts.map +1 -0
- package/dist/project/.lisa/skills/shared/utils/interfaces/index.js +22 -0
- package/dist/project/.lisa/skills/shared/utils/interfaces/index.js.map +1 -0
- package/dist/{templates/agents → project/.lisa}/skills/tasks/SKILL.md +2 -2
- package/dist/project/.lisa/skills/tasks/scripts/tasks.d.ts.map +1 -0
- package/dist/project/.lisa/skills/tasks/scripts/tasks.js +98 -0
- package/dist/project/.lisa/skills/tasks/scripts/tasks.js.map +1 -0
- package/package.json +31 -10
- package/scripts/postinstall.js +93 -60
- package/dist/cli.js +0 -414
- package/dist/templates/agents/.sample.env +0 -12
- package/dist/templates/agents/docs/EXTENDING-SKILLS.md +0 -291
- package/dist/templates/agents/docs/EXTENDING-rules.md +0 -57
- package/dist/templates/agents/docs/STORAGE_SETUP.md +0 -161
- package/dist/templates/agents/skills/git/scripts/bump-version.js +0 -112
- package/dist/templates/agents/skills/init-review/scripts/ai-enrich.js +0 -258
- package/dist/templates/agents/skills/init-review/scripts/init-review.js +0 -769
- package/dist/templates/agents/skills/jira/scripts/jira.js +0 -406
- package/dist/templates/agents/skills/lisa/scripts/compile-skills.js +0 -177
- package/dist/templates/agents/skills/lisa/scripts/storage.js +0 -374
- package/dist/templates/agents/skills/memory/scripts/memory.js +0 -533
- package/dist/templates/agents/skills/prompt/scripts/prompt.js +0 -184
- package/dist/templates/agents/skills/tasks/scripts/tasks.js +0 -489
- package/dist/templates/claude/config.js +0 -40
- package/dist/templates/claude/hooks/README.md +0 -158
- package/dist/templates/claude/hooks/common/complexity-rater.js +0 -290
- package/dist/templates/claude/hooks/common/context.js +0 -263
- package/dist/templates/claude/hooks/common/group-id.js +0 -188
- package/dist/templates/claude/hooks/common/mcp-client.js +0 -131
- package/dist/templates/claude/hooks/common/transcript-parser.js +0 -256
- package/dist/templates/claude/hooks/common/zep-client.js +0 -175
- package/dist/templates/claude/hooks/session-start.js +0 -511
- package/dist/templates/claude/hooks/session-stop-worker.js +0 -484
- package/dist/templates/claude/hooks/session-stop.js +0 -122
- package/dist/templates/claude/hooks/user-prompt-submit.js +0 -479
- package/dist/templates/claude/settings.json +0 -46
- package/dist/templates/docker/.env.lisa.example +0 -17
- /package/dist/{templates → project/.lisa}/docker/docker-compose.graphiti.yml +0 -0
- /package/dist/{templates → project/.lisa}/rules/shared/clean-architecture.md +0 -0
- /package/dist/{templates → project/.lisa}/rules/shared/code-quality-rules.md +0 -0
- /package/dist/{templates → project/.lisa}/rules/shared/git-rules.local.md +0 -0
- /package/dist/{templates → project/.lisa}/rules/shared/testing-principles.md +0 -0
- /package/dist/{templates → project/.lisa}/rules/typescript/coding-standards.md +0 -0
- /package/dist/{templates → project/.lisa}/rules/typescript/testing.md +0 -0
- /package/dist/{templates → project/.lisa}/rules/typescript/typescript-config-guide.md +0 -0
- /package/dist/{templates/agents → project/.lisa}/skills/git/scripts/poll-ci.sh +0 -0
- /package/dist/{templates/agents → project/.lisa}/skills/jira/SKILL.md +0 -0
- /package/dist/{templates/agents → project/.lisa}/skills/lisa/cache/.gitkeep +0 -0
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Neo4j Memory Repository
|
|
3
|
+
*
|
|
4
|
+
* Read-only memory repository using direct Neo4j Cypher queries.
|
|
5
|
+
* Optimized for date-ordered listing and aggregations.
|
|
6
|
+
*/
|
|
7
|
+
import type { IReadOnlyMemoryRepository, IQueryOptions, IMemoryQueryResult } from '../../../../domain/interfaces/dal';
|
|
8
|
+
import { Neo4jConnectionManager } from '../../connections/Neo4jConnectionManager';
|
|
9
|
+
/**
|
|
10
|
+
* Neo4j Memory Repository implementation.
|
|
11
|
+
* Read-only: writes go through MCP for proper Graphiti ingestion.
|
|
12
|
+
*/
|
|
13
|
+
export declare class Neo4jMemoryRepository implements IReadOnlyMemoryRepository {
|
|
14
|
+
private readonly connection;
|
|
15
|
+
constructor(connection: Neo4jConnectionManager);
|
|
16
|
+
/**
|
|
17
|
+
* Find facts by group IDs with optional filtering and sorting.
|
|
18
|
+
*/
|
|
19
|
+
findByGroupIds(groupIds: readonly string[], options?: IQueryOptions): Promise<IMemoryQueryResult>;
|
|
20
|
+
/**
|
|
21
|
+
* Semantic search is NOT supported by Neo4j direct.
|
|
22
|
+
* Throws an error - use MCP repository for semantic search.
|
|
23
|
+
*/
|
|
24
|
+
search(_groupIds: readonly string[], _query: string, _options?: Omit<IQueryOptions, 'query'>): Promise<IMemoryQueryResult>;
|
|
25
|
+
/**
|
|
26
|
+
* Find facts by tags.
|
|
27
|
+
* Note: Tag filtering depends on how Graphiti stores tags in Neo4j.
|
|
28
|
+
*/
|
|
29
|
+
findByTags(groupIds: readonly string[], tags: readonly string[], options?: Omit<IQueryOptions, 'tags'>): Promise<IMemoryQueryResult>;
|
|
30
|
+
/**
|
|
31
|
+
* Neo4j does not support semantic search.
|
|
32
|
+
*/
|
|
33
|
+
supportsSemanticSearch(): boolean;
|
|
34
|
+
/**
|
|
35
|
+
* Neo4j excels at date-ordered queries.
|
|
36
|
+
*/
|
|
37
|
+
supportsDateOrdering(): boolean;
|
|
38
|
+
/**
|
|
39
|
+
* Neo4j direct is read-only (writes go through MCP).
|
|
40
|
+
*/
|
|
41
|
+
supportsWrite(): boolean;
|
|
42
|
+
/**
|
|
43
|
+
* Convert Neo4j record to IMemoryItem.
|
|
44
|
+
*/
|
|
45
|
+
private toMemoryItem;
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=Neo4jMemoryRepository.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Neo4jMemoryRepository.d.ts","sourceRoot":"","sources":["../../../../../../src/lib/infrastructure/dal/repositories/neo4j/Neo4jMemoryRepository.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EACV,yBAAyB,EACzB,aAAa,EACb,kBAAkB,EACnB,MAAM,mCAAmC,CAAC;AAE3C,OAAO,EAAE,sBAAsB,EAAE,MAAM,0CAA0C,CAAC;AAgBlF;;;GAGG;AACH,qBAAa,qBAAsB,YAAW,yBAAyB;IACzD,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,kBAAkB,CAAC;IAmD9B;;;OAGG;IACG,MAAM,CACV,SAAS,EAAE,SAAS,MAAM,EAAE,EAC5B,MAAM,EAAE,MAAM,EACd,QAAQ,CAAC,EAAE,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,GACtC,OAAO,CAAC,kBAAkB,CAAC;IAM9B;;;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;IAgD9B;;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"}
|
|
@@ -0,0 +1,144 @@
|
|
|
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
|
+
/**
|
|
12
|
+
* Neo4j Memory Repository implementation.
|
|
13
|
+
* Read-only: writes go through MCP for proper Graphiti ingestion.
|
|
14
|
+
*/
|
|
15
|
+
class Neo4jMemoryRepository {
|
|
16
|
+
constructor(connection) {
|
|
17
|
+
this.connection = connection;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Find facts by group IDs with optional filtering and sorting.
|
|
21
|
+
*/
|
|
22
|
+
async findByGroupIds(groupIds, options) {
|
|
23
|
+
const opts = (0, dal_1.applyQueryDefaults)(options);
|
|
24
|
+
const { limit, offset, sort, includeExpired, since, until } = opts;
|
|
25
|
+
// Build Cypher query
|
|
26
|
+
const groupList = groupIds.map((g) => `"${g}"`).join(', ');
|
|
27
|
+
const sortField = `r.${sort?.field || 'created_at'}`;
|
|
28
|
+
const sortOrder = sort?.order === 'asc' ? 'ASC' : 'DESC';
|
|
29
|
+
// Build WHERE clauses
|
|
30
|
+
const whereClauses = [
|
|
31
|
+
`r.group_id IN [${groupList}]`,
|
|
32
|
+
`r.fact IS NOT NULL`,
|
|
33
|
+
];
|
|
34
|
+
if (!includeExpired) {
|
|
35
|
+
whereClauses.push(`r.expired_at IS NULL`);
|
|
36
|
+
}
|
|
37
|
+
if (since) {
|
|
38
|
+
whereClauses.push(`r.created_at >= datetime("${since.toISOString()}")`);
|
|
39
|
+
}
|
|
40
|
+
if (until) {
|
|
41
|
+
whereClauses.push(`r.created_at <= datetime("${until.toISOString()}")`);
|
|
42
|
+
}
|
|
43
|
+
const whereClause = whereClauses.join(' AND ');
|
|
44
|
+
const cypher = `
|
|
45
|
+
MATCH (s:Entity)-[r]->(t:Entity)
|
|
46
|
+
WHERE ${whereClause}
|
|
47
|
+
RETURN r.uuid AS uuid, r.group_id AS group_id, r.name AS name,
|
|
48
|
+
r.fact AS fact, r.created_at AS created_at,
|
|
49
|
+
r.valid_at AS valid_at, r.invalid_at AS invalid_at,
|
|
50
|
+
r.expired_at AS expired_at
|
|
51
|
+
ORDER BY ${sortField} ${sortOrder}
|
|
52
|
+
SKIP ${offset}
|
|
53
|
+
LIMIT ${limit}
|
|
54
|
+
`;
|
|
55
|
+
const records = await this.connection.query(cypher);
|
|
56
|
+
const items = records.map(this.toMemoryItem);
|
|
57
|
+
return {
|
|
58
|
+
items,
|
|
59
|
+
source: 'neo4j',
|
|
60
|
+
hasMore: items.length === limit,
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Semantic search is NOT supported by Neo4j direct.
|
|
65
|
+
* Throws an error - use MCP repository for semantic search.
|
|
66
|
+
*/
|
|
67
|
+
async search(_groupIds, _query, _options) {
|
|
68
|
+
throw new Error('Neo4j repository does not support semantic search. Use MCP repository instead.');
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Find facts by tags.
|
|
72
|
+
* Note: Tag filtering depends on how Graphiti stores tags in Neo4j.
|
|
73
|
+
*/
|
|
74
|
+
async findByTags(groupIds, tags, options) {
|
|
75
|
+
const opts = (0, dal_1.applyQueryDefaults)(options);
|
|
76
|
+
const { limit, offset, sort, includeExpired } = opts;
|
|
77
|
+
const groupList = groupIds.map((g) => `"${g}"`).join(', ');
|
|
78
|
+
const tagList = tags.map((t) => `"${t}"`).join(', ');
|
|
79
|
+
const sortField = `r.${sort?.field || 'created_at'}`;
|
|
80
|
+
const sortOrder = sort?.order === 'asc' ? 'ASC' : 'DESC';
|
|
81
|
+
const whereClauses = [
|
|
82
|
+
`r.group_id IN [${groupList}]`,
|
|
83
|
+
`r.fact IS NOT NULL`,
|
|
84
|
+
];
|
|
85
|
+
if (!includeExpired) {
|
|
86
|
+
whereClauses.push(`r.expired_at IS NULL`);
|
|
87
|
+
}
|
|
88
|
+
// Add tag filter - Graphiti may store tags differently
|
|
89
|
+
// This assumes tags are stored in an array property
|
|
90
|
+
if (tags.length > 0) {
|
|
91
|
+
whereClauses.push(`ANY(tag IN [${tagList}] WHERE tag IN r.tags)`);
|
|
92
|
+
}
|
|
93
|
+
const whereClause = whereClauses.join(' AND ');
|
|
94
|
+
const cypher = `
|
|
95
|
+
MATCH (s:Entity)-[r]->(t:Entity)
|
|
96
|
+
WHERE ${whereClause}
|
|
97
|
+
RETURN r.uuid AS uuid, r.group_id AS group_id, r.name AS name,
|
|
98
|
+
r.fact AS fact, r.created_at AS created_at,
|
|
99
|
+
r.valid_at AS valid_at, r.invalid_at AS invalid_at,
|
|
100
|
+
r.expired_at AS expired_at
|
|
101
|
+
ORDER BY ${sortField} ${sortOrder}
|
|
102
|
+
SKIP ${offset}
|
|
103
|
+
LIMIT ${limit}
|
|
104
|
+
`;
|
|
105
|
+
const records = await this.connection.query(cypher);
|
|
106
|
+
const items = records.map(this.toMemoryItem);
|
|
107
|
+
return {
|
|
108
|
+
items,
|
|
109
|
+
source: 'neo4j',
|
|
110
|
+
hasMore: items.length === limit,
|
|
111
|
+
};
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Neo4j does not support semantic search.
|
|
115
|
+
*/
|
|
116
|
+
supportsSemanticSearch() {
|
|
117
|
+
return false;
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* Neo4j excels at date-ordered queries.
|
|
121
|
+
*/
|
|
122
|
+
supportsDateOrdering() {
|
|
123
|
+
return true;
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Neo4j direct is read-only (writes go through MCP).
|
|
127
|
+
*/
|
|
128
|
+
supportsWrite() {
|
|
129
|
+
return false;
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* Convert Neo4j record to IMemoryItem.
|
|
133
|
+
*/
|
|
134
|
+
toMemoryItem(record) {
|
|
135
|
+
return {
|
|
136
|
+
uuid: record.uuid,
|
|
137
|
+
name: record.name,
|
|
138
|
+
fact: record.fact,
|
|
139
|
+
created_at: record.created_at,
|
|
140
|
+
};
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
exports.Neo4jMemoryRepository = Neo4jMemoryRepository;
|
|
144
|
+
//# sourceMappingURL=Neo4jMemoryRepository.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Neo4jMemoryRepository.js","sourceRoot":"","sources":["../../../../../../src/lib/infrastructure/dal/repositories/neo4j/Neo4jMemoryRepository.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,46 @@
|
|
|
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.
|
|
23
|
+
*/
|
|
24
|
+
findByKey(groupId: string, taskKey: string): Promise<ITask | null>;
|
|
25
|
+
/**
|
|
26
|
+
* Find tasks by status.
|
|
27
|
+
*/
|
|
28
|
+
findByStatus(groupIds: readonly string[], status: ITask['status'], options?: Omit<IQueryOptions, 'tags'>): Promise<ITaskQueryResult>;
|
|
29
|
+
/**
|
|
30
|
+
* Get task counts by status using Cypher aggregation.
|
|
31
|
+
*/
|
|
32
|
+
getCounts(groupIds: readonly string[]): Promise<ITaskCounts>;
|
|
33
|
+
/**
|
|
34
|
+
* Neo4j direct is read-only.
|
|
35
|
+
*/
|
|
36
|
+
supportsWrite(): boolean;
|
|
37
|
+
/**
|
|
38
|
+
* Neo4j excels at aggregations.
|
|
39
|
+
*/
|
|
40
|
+
supportsAggregation(): boolean;
|
|
41
|
+
/**
|
|
42
|
+
* Convert Neo4j record to ITask.
|
|
43
|
+
*/
|
|
44
|
+
private toTask;
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=Neo4jTaskRepository.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
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;AAalF;;;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;IAiC5B;;OAEG;IACG,SAAS,CACb,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;IAqBxB;;OAEG;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;IAiC5B;;OAEG;IACG,SAAS,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC,WAAW,CAAC;IAkClE;;OAEG;IACH,aAAa,IAAI,OAAO;IAIxB;;OAEG;IACH,mBAAmB,IAAI,OAAO;IAI9B;;OAEG;IACH,OAAO,CAAC,MAAM;CASf"}
|
|
@@ -0,0 +1,160 @@
|
|
|
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 nodes in Graphiti's schema
|
|
29
|
+
const cypher = `
|
|
30
|
+
MATCH (n:Entity)
|
|
31
|
+
WHERE n.group_id IN [${groupList}]
|
|
32
|
+
AND n.name STARTS WITH 'Task:'
|
|
33
|
+
RETURN n.uuid AS key,
|
|
34
|
+
n.status AS status,
|
|
35
|
+
n.name AS title,
|
|
36
|
+
n.blocked AS blocked,
|
|
37
|
+
n.created_at AS created_at
|
|
38
|
+
ORDER BY ${sortField} ${sortOrder}
|
|
39
|
+
SKIP ${offset}
|
|
40
|
+
LIMIT ${limit}
|
|
41
|
+
`;
|
|
42
|
+
const records = await this.connection.query(cypher);
|
|
43
|
+
const items = records.map(this.toTask);
|
|
44
|
+
return {
|
|
45
|
+
items,
|
|
46
|
+
source: 'neo4j',
|
|
47
|
+
hasMore: items.length === limit,
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Find a task by its key.
|
|
52
|
+
*/
|
|
53
|
+
async findByKey(groupId, taskKey) {
|
|
54
|
+
const cypher = `
|
|
55
|
+
MATCH (n:Entity)
|
|
56
|
+
WHERE n.group_id = $groupId
|
|
57
|
+
AND n.uuid = $taskKey
|
|
58
|
+
RETURN n.uuid AS key,
|
|
59
|
+
n.status AS status,
|
|
60
|
+
n.name AS title,
|
|
61
|
+
n.blocked AS blocked,
|
|
62
|
+
n.created_at AS created_at
|
|
63
|
+
LIMIT 1
|
|
64
|
+
`;
|
|
65
|
+
const records = await this.connection.query(cypher, {
|
|
66
|
+
groupId,
|
|
67
|
+
taskKey,
|
|
68
|
+
});
|
|
69
|
+
return records.length > 0 ? this.toTask(records[0]) : null;
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Find tasks by status.
|
|
73
|
+
*/
|
|
74
|
+
async findByStatus(groupIds, status, options) {
|
|
75
|
+
const opts = (0, dal_1.applyQueryDefaults)(options);
|
|
76
|
+
const { limit, offset, sort } = opts;
|
|
77
|
+
const groupList = groupIds.map((g) => `"${g}"`).join(', ');
|
|
78
|
+
const sortField = sort?.field === 'created_at' ? 'n.created_at' : 'n.title';
|
|
79
|
+
const sortOrder = sort?.order === 'asc' ? 'ASC' : 'DESC';
|
|
80
|
+
const cypher = `
|
|
81
|
+
MATCH (n:Entity)
|
|
82
|
+
WHERE n.group_id IN [${groupList}]
|
|
83
|
+
AND n.name STARTS WITH 'Task:'
|
|
84
|
+
AND n.status = $status
|
|
85
|
+
RETURN n.uuid AS key,
|
|
86
|
+
n.status AS status,
|
|
87
|
+
n.name AS title,
|
|
88
|
+
n.blocked AS blocked,
|
|
89
|
+
n.created_at AS created_at
|
|
90
|
+
ORDER BY ${sortField} ${sortOrder}
|
|
91
|
+
SKIP ${offset}
|
|
92
|
+
LIMIT ${limit}
|
|
93
|
+
`;
|
|
94
|
+
const records = await this.connection.query(cypher, { status });
|
|
95
|
+
const items = records.map(this.toTask);
|
|
96
|
+
return {
|
|
97
|
+
items,
|
|
98
|
+
source: 'neo4j',
|
|
99
|
+
hasMore: items.length === limit,
|
|
100
|
+
};
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Get task counts by status using Cypher aggregation.
|
|
104
|
+
*/
|
|
105
|
+
async getCounts(groupIds) {
|
|
106
|
+
const groupList = groupIds.map((g) => `"${g}"`).join(', ');
|
|
107
|
+
const cypher = `
|
|
108
|
+
MATCH (n:Entity)
|
|
109
|
+
WHERE n.group_id IN [${groupList}]
|
|
110
|
+
AND n.name STARTS WITH 'Task:'
|
|
111
|
+
RETURN n.status AS status, count(n) AS count
|
|
112
|
+
`;
|
|
113
|
+
const records = await this.connection.query(cypher);
|
|
114
|
+
// Use mutable object then cast to readonly
|
|
115
|
+
const mutableCounts = {
|
|
116
|
+
ready: 0,
|
|
117
|
+
'in-progress': 0,
|
|
118
|
+
blocked: 0,
|
|
119
|
+
done: 0,
|
|
120
|
+
closed: 0,
|
|
121
|
+
unknown: 0,
|
|
122
|
+
};
|
|
123
|
+
for (const record of records) {
|
|
124
|
+
const status = record.status;
|
|
125
|
+
if (status in mutableCounts) {
|
|
126
|
+
mutableCounts[status] = record.count;
|
|
127
|
+
}
|
|
128
|
+
else {
|
|
129
|
+
mutableCounts.unknown += record.count;
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
return mutableCounts;
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* Neo4j direct is read-only.
|
|
136
|
+
*/
|
|
137
|
+
supportsWrite() {
|
|
138
|
+
return false;
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* Neo4j excels at aggregations.
|
|
142
|
+
*/
|
|
143
|
+
supportsAggregation() {
|
|
144
|
+
return true;
|
|
145
|
+
}
|
|
146
|
+
/**
|
|
147
|
+
* Convert Neo4j record to ITask.
|
|
148
|
+
*/
|
|
149
|
+
toTask(record) {
|
|
150
|
+
return {
|
|
151
|
+
key: record.key,
|
|
152
|
+
status: record.status || 'unknown',
|
|
153
|
+
title: record.title?.replace(/^Task:\s*/, '') || '',
|
|
154
|
+
blocked: record.blocked || [],
|
|
155
|
+
created_at: record.created_at,
|
|
156
|
+
};
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
exports.Neo4jTaskRepository = Neo4jTaskRepository;
|
|
160
|
+
//# sourceMappingURL=Neo4jTaskRepository.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Neo4jTaskRepository.js","sourceRoot":"","sources":["../../../../../../src/lib/infrastructure/dal/repositories/neo4j/Neo4jTaskRepository.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/lib/infrastructure/dal/repositories/neo4j/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Neo4j Repository Exports
|
|
4
|
+
*/
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.Neo4jTaskRepository = exports.Neo4jMemoryRepository = void 0;
|
|
7
|
+
var Neo4jMemoryRepository_1 = require("./Neo4jMemoryRepository");
|
|
8
|
+
Object.defineProperty(exports, "Neo4jMemoryRepository", { enumerable: true, get: function () { return Neo4jMemoryRepository_1.Neo4jMemoryRepository; } });
|
|
9
|
+
var Neo4jTaskRepository_1 = require("./Neo4jTaskRepository");
|
|
10
|
+
Object.defineProperty(exports, "Neo4jTaskRepository", { enumerable: true, get: function () { return Neo4jTaskRepository_1.Neo4jTaskRepository; } });
|
|
11
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/lib/infrastructure/dal/repositories/neo4j/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,iEAAgE;AAAvD,8HAAA,qBAAqB,OAAA;AAC9B,6DAA4D;AAAnD,0HAAA,mBAAmB,OAAA"}
|
|
@@ -0,0 +1,55 @@
|
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
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"}
|