@tonycasey/lisa 2.2.0 → 2.5.5
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 +22 -12
- package/dist/lib/application/handlers/PromptSubmitHandler.d.ts.map +1 -1
- package/dist/lib/application/handlers/PromptSubmitHandler.js +36 -13
- package/dist/lib/application/handlers/PromptSubmitHandler.js.map +1 -1
- package/dist/lib/application/handlers/SessionStartHandler.d.ts +47 -5
- package/dist/lib/application/handlers/SessionStartHandler.d.ts.map +1 -1
- package/dist/lib/application/handlers/SessionStartHandler.js +164 -37
- package/dist/lib/application/handlers/SessionStartHandler.js.map +1 -1
- package/dist/lib/application/handlers/SessionStopHandler.d.ts +29 -5
- package/dist/lib/application/handlers/SessionStopHandler.d.ts.map +1 -1
- package/dist/lib/application/handlers/SessionStopHandler.js +83 -11
- package/dist/lib/application/handlers/SessionStopHandler.js.map +1 -1
- package/dist/lib/application/interfaces/index.d.ts +1 -0
- package/dist/lib/application/interfaces/index.d.ts.map +1 -1
- package/dist/lib/application/mediator/IMediator.d.ts +73 -0
- package/dist/lib/application/mediator/IMediator.d.ts.map +1 -0
- package/dist/lib/application/mediator/IMediator.js +12 -0
- package/dist/lib/application/mediator/IMediator.js.map +1 -0
- package/dist/lib/application/mediator/Mediator.d.ts +29 -0
- package/dist/lib/application/mediator/Mediator.d.ts.map +1 -0
- package/dist/lib/application/mediator/Mediator.js +53 -0
- package/dist/lib/application/mediator/Mediator.js.map +1 -0
- package/dist/lib/application/mediator/index.d.ts +10 -0
- package/dist/lib/application/mediator/index.d.ts.map +1 -0
- package/dist/lib/application/mediator/index.js +18 -0
- package/dist/lib/application/mediator/index.js.map +1 -0
- package/dist/lib/application/mediator/requests/PromptSubmitRequest.d.ts +60 -0
- package/dist/lib/application/mediator/requests/PromptSubmitRequest.d.ts.map +1 -0
- package/dist/lib/application/mediator/requests/PromptSubmitRequest.js +35 -0
- package/dist/lib/application/mediator/requests/PromptSubmitRequest.js.map +1 -0
- package/dist/lib/application/mediator/requests/SessionStartRequest.d.ts +36 -0
- package/dist/lib/application/mediator/requests/SessionStartRequest.d.ts.map +1 -0
- package/dist/lib/application/mediator/requests/SessionStartRequest.js +32 -0
- package/dist/lib/application/mediator/requests/SessionStartRequest.js.map +1 -0
- package/dist/lib/application/mediator/requests/SessionStopRequest.d.ts +67 -0
- package/dist/lib/application/mediator/requests/SessionStopRequest.d.ts.map +1 -0
- package/dist/lib/application/mediator/requests/SessionStopRequest.js +35 -0
- package/dist/lib/application/mediator/requests/SessionStopRequest.js.map +1 -0
- package/dist/lib/application/mediator/requests/index.d.ts +9 -0
- package/dist/lib/application/mediator/requests/index.d.ts.map +1 -0
- package/dist/lib/application/mediator/requests/index.js +13 -0
- package/dist/lib/application/mediator/requests/index.js.map +1 -0
- package/dist/lib/cli.d.ts +2 -44
- package/dist/lib/cli.d.ts.map +1 -1
- package/dist/lib/cli.js +351 -606
- package/dist/lib/cli.js.map +1 -1
- package/dist/lib/commands/docker.d.ts +20 -0
- package/dist/lib/commands/docker.d.ts.map +1 -0
- package/dist/lib/commands/docker.js +27 -0
- package/dist/lib/commands/docker.js.map +1 -0
- package/dist/lib/commands/doctor.d.ts +94 -0
- package/dist/lib/commands/doctor.d.ts.map +1 -0
- package/dist/lib/commands/doctor.js +716 -0
- package/dist/lib/commands/doctor.js.map +1 -0
- package/dist/lib/commands/index.d.ts +10 -0
- package/dist/lib/commands/index.d.ts.map +1 -0
- package/dist/lib/commands/index.js +31 -0
- package/dist/lib/commands/index.js.map +1 -0
- package/dist/lib/commands/init.d.ts +31 -0
- package/dist/lib/commands/init.d.ts.map +1 -0
- package/dist/lib/commands/init.js +497 -0
- package/dist/lib/commands/init.js.map +1 -0
- package/dist/lib/commands/shared/constants.d.ts +27 -0
- package/dist/lib/commands/shared/constants.d.ts.map +1 -0
- package/dist/lib/commands/shared/constants.js +46 -0
- package/dist/lib/commands/shared/constants.js.map +1 -0
- package/dist/lib/commands/shared/index.d.ts +5 -0
- package/dist/lib/commands/shared/index.d.ts.map +1 -0
- package/dist/lib/commands/shared/index.js +15 -0
- package/dist/lib/commands/shared/index.js.map +1 -0
- package/dist/lib/domain/index.d.ts +4 -2
- package/dist/lib/domain/index.d.ts.map +1 -1
- package/dist/lib/domain/index.js +5 -2
- package/dist/lib/domain/index.js.map +1 -1
- package/dist/lib/domain/interfaces/ILabelInference.d.ts +62 -0
- package/dist/lib/domain/interfaces/ILabelInference.d.ts.map +1 -0
- package/dist/lib/domain/interfaces/ILabelInference.js +11 -0
- package/dist/lib/domain/interfaces/ILabelInference.js.map +1 -0
- package/dist/lib/domain/interfaces/ILisaServices.d.ts +6 -0
- package/dist/lib/domain/interfaces/ILisaServices.d.ts.map +1 -1
- package/dist/lib/domain/interfaces/IMcpClient.d.ts +15 -2
- package/dist/lib/domain/interfaces/IMcpClient.d.ts.map +1 -1
- package/dist/lib/domain/interfaces/ISessionCaptureService.d.ts +2 -1
- package/dist/lib/domain/interfaces/ISessionCaptureService.d.ts.map +1 -1
- package/dist/lib/domain/interfaces/IStructuredLog.d.ts +162 -0
- package/dist/lib/domain/interfaces/IStructuredLog.d.ts.map +1 -0
- package/dist/lib/domain/interfaces/IStructuredLog.js +85 -0
- package/dist/lib/domain/interfaces/IStructuredLog.js.map +1 -0
- package/dist/lib/domain/interfaces/index.d.ts +2 -0
- package/dist/lib/domain/interfaces/index.d.ts.map +1 -1
- package/dist/lib/domain/interfaces/index.js +6 -0
- package/dist/lib/domain/interfaces/index.js.map +1 -1
- package/dist/lib/domain/interfaces/types/ITask.d.ts +16 -0
- package/dist/lib/domain/interfaces/types/ITask.d.ts.map +1 -1
- package/dist/lib/domain/interfaces/types/ITask.js.map +1 -1
- package/dist/lib/domain/utils/cancellation.d.ts +111 -0
- package/dist/lib/domain/utils/cancellation.d.ts.map +1 -0
- package/dist/lib/domain/utils/cancellation.js +168 -0
- package/dist/lib/domain/utils/cancellation.js.map +1 -0
- package/dist/lib/domain/utils/index.d.ts +8 -0
- package/dist/lib/domain/utils/index.d.ts.map +1 -0
- package/dist/lib/domain/utils/index.js +16 -0
- package/dist/lib/domain/utils/index.js.map +1 -0
- package/dist/lib/infrastructure/adapters/claude/session-start.d.ts +1 -1
- package/dist/lib/infrastructure/adapters/claude/session-start.js +9 -11
- package/dist/lib/infrastructure/adapters/claude/session-start.js.map +1 -1
- package/dist/lib/infrastructure/adapters/claude/session-stop.d.ts +1 -5
- package/dist/lib/infrastructure/adapters/claude/session-stop.d.ts.map +1 -1
- package/dist/lib/infrastructure/adapters/claude/session-stop.js +12 -15
- package/dist/lib/infrastructure/adapters/claude/session-stop.js.map +1 -1
- package/dist/lib/infrastructure/adapters/claude/user-prompt-submit.d.ts +1 -1
- package/dist/lib/infrastructure/adapters/claude/user-prompt-submit.js +9 -11
- package/dist/lib/infrastructure/adapters/claude/user-prompt-submit.js.map +1 -1
- package/dist/lib/infrastructure/adapters/opencode/plugin.d.ts +2 -2
- package/dist/lib/infrastructure/adapters/opencode/plugin.d.ts.map +1 -1
- package/dist/lib/infrastructure/adapters/opencode/plugin.js +16 -21
- package/dist/lib/infrastructure/adapters/opencode/plugin.js.map +1 -1
- package/dist/lib/infrastructure/cli/index.d.ts +8 -0
- package/dist/lib/infrastructure/cli/index.d.ts.map +1 -0
- package/dist/lib/infrastructure/cli/index.js +15 -0
- package/dist/lib/infrastructure/cli/index.js.map +1 -0
- package/dist/lib/infrastructure/cli/io.d.ts +91 -0
- package/dist/lib/infrastructure/cli/io.d.ts.map +1 -0
- package/dist/lib/infrastructure/cli/io.js +128 -0
- package/dist/lib/infrastructure/cli/io.js.map +1 -0
- package/dist/lib/infrastructure/dal/connections/McpConnectionManager.js +1 -1
- package/dist/lib/infrastructure/dal/connections/McpConnectionManager.js.map +1 -1
- package/dist/lib/infrastructure/dal/repositories/mcp/McpTaskRepository.d.ts.map +1 -1
- package/dist/lib/infrastructure/dal/repositories/mcp/McpTaskRepository.js +6 -2
- package/dist/lib/infrastructure/dal/repositories/mcp/McpTaskRepository.js.map +1 -1
- package/dist/lib/infrastructure/dal/repositories/neo4j/Neo4jTaskRepository.d.ts +5 -2
- package/dist/lib/infrastructure/dal/repositories/neo4j/Neo4jTaskRepository.d.ts.map +1 -1
- package/dist/lib/infrastructure/dal/repositories/neo4j/Neo4jTaskRepository.js +78 -45
- package/dist/lib/infrastructure/dal/repositories/neo4j/Neo4jTaskRepository.js.map +1 -1
- package/dist/lib/infrastructure/dal/repositories/zep/ZepTaskRepository.d.ts.map +1 -1
- package/dist/lib/infrastructure/dal/repositories/zep/ZepTaskRepository.js +6 -2
- package/dist/lib/infrastructure/dal/repositories/zep/ZepTaskRepository.js.map +1 -1
- package/dist/lib/infrastructure/di/Container.d.ts +72 -0
- package/dist/lib/infrastructure/di/Container.d.ts.map +1 -0
- package/dist/lib/infrastructure/di/Container.js +182 -0
- package/dist/lib/infrastructure/di/Container.js.map +1 -0
- package/dist/lib/infrastructure/di/IContainer.d.ts +87 -0
- package/dist/lib/infrastructure/di/IContainer.d.ts.map +1 -0
- package/dist/lib/infrastructure/di/IContainer.js +11 -0
- package/dist/lib/infrastructure/di/IContainer.js.map +1 -0
- package/dist/lib/infrastructure/di/ServiceFactory.d.ts +6 -0
- package/dist/lib/infrastructure/di/ServiceFactory.d.ts.map +1 -1
- package/dist/lib/infrastructure/di/ServiceFactory.js +66 -0
- package/dist/lib/infrastructure/di/ServiceFactory.js.map +1 -1
- package/dist/lib/infrastructure/di/bootstrap.d.ts +43 -0
- package/dist/lib/infrastructure/di/bootstrap.d.ts.map +1 -0
- package/dist/lib/infrastructure/di/bootstrap.js +272 -0
- package/dist/lib/infrastructure/di/bootstrap.js.map +1 -0
- package/dist/lib/infrastructure/di/index.d.ts +6 -0
- package/dist/lib/infrastructure/di/index.d.ts.map +1 -1
- package/dist/lib/infrastructure/di/index.js +15 -1
- package/dist/lib/infrastructure/di/index.js.map +1 -1
- package/dist/lib/infrastructure/di/tokens.d.ts +70 -0
- package/dist/lib/infrastructure/di/tokens.d.ts.map +1 -0
- package/dist/lib/infrastructure/di/tokens.js +58 -0
- package/dist/lib/infrastructure/di/tokens.js.map +1 -0
- package/dist/lib/infrastructure/index.d.ts +1 -0
- package/dist/lib/infrastructure/index.d.ts.map +1 -1
- package/dist/lib/infrastructure/index.js +2 -0
- package/dist/lib/infrastructure/index.js.map +1 -1
- package/dist/lib/infrastructure/logging/Logger.d.ts +51 -4
- package/dist/lib/infrastructure/logging/Logger.d.ts.map +1 -1
- package/dist/lib/infrastructure/logging/Logger.js +127 -2
- package/dist/lib/infrastructure/logging/Logger.js.map +1 -1
- package/dist/lib/infrastructure/mcp/McpClient.d.ts +36 -1
- package/dist/lib/infrastructure/mcp/McpClient.d.ts.map +1 -1
- package/dist/lib/infrastructure/mcp/McpClient.js +68 -2
- package/dist/lib/infrastructure/mcp/McpClient.js.map +1 -1
- package/dist/lib/infrastructure/services/LabelInferenceService.d.ts +33 -0
- package/dist/lib/infrastructure/services/LabelInferenceService.d.ts.map +1 -0
- package/dist/lib/infrastructure/services/LabelInferenceService.js +225 -0
- package/dist/lib/infrastructure/services/LabelInferenceService.js.map +1 -0
- package/dist/lib/infrastructure/services/MemoryService.d.ts +18 -1
- package/dist/lib/infrastructure/services/MemoryService.d.ts.map +1 -1
- package/dist/lib/infrastructure/services/MemoryService.js +117 -52
- package/dist/lib/infrastructure/services/MemoryService.js.map +1 -1
- package/dist/lib/infrastructure/services/SessionCaptureService.d.ts +74 -20
- package/dist/lib/infrastructure/services/SessionCaptureService.d.ts.map +1 -1
- package/dist/lib/infrastructure/services/SessionCaptureService.js +331 -22
- package/dist/lib/infrastructure/services/SessionCaptureService.js.map +1 -1
- package/dist/lib/infrastructure/services/index.d.ts +1 -0
- package/dist/lib/infrastructure/services/index.d.ts.map +1 -1
- package/dist/lib/infrastructure/services/index.js +4 -1
- package/dist/lib/infrastructure/services/index.js.map +1 -1
- package/dist/lib/infrastructure/utils/index.d.ts +10 -0
- package/dist/lib/infrastructure/utils/index.d.ts.map +1 -0
- package/dist/lib/infrastructure/utils/index.js +26 -0
- package/dist/lib/infrastructure/utils/index.js.map +1 -0
- package/dist/lib/skills/github/github.d.ts +27 -0
- package/dist/lib/skills/github/github.d.ts.map +1 -0
- package/dist/lib/skills/github/github.js +408 -0
- package/dist/lib/skills/github/github.js.map +1 -0
- package/dist/lib/skills/shared/clients/GhCliClient.d.ts +17 -0
- package/dist/lib/skills/shared/clients/GhCliClient.d.ts.map +1 -0
- package/dist/lib/skills/shared/clients/GhCliClient.js +244 -0
- package/dist/lib/skills/shared/clients/GhCliClient.js.map +1 -0
- package/dist/lib/skills/shared/clients/McpClient.d.ts +12 -0
- package/dist/lib/skills/shared/clients/McpClient.d.ts.map +1 -1
- package/dist/lib/skills/shared/clients/McpClient.js +121 -76
- package/dist/lib/skills/shared/clients/McpClient.js.map +1 -1
- package/dist/lib/skills/shared/clients/index.d.ts +1 -0
- package/dist/lib/skills/shared/clients/index.d.ts.map +1 -1
- package/dist/lib/skills/shared/clients/index.js +4 -1
- package/dist/lib/skills/shared/clients/index.js.map +1 -1
- package/dist/lib/skills/shared/clients/interfaces/IGhCliClient.d.ts +56 -0
- package/dist/lib/skills/shared/clients/interfaces/IGhCliClient.d.ts.map +1 -0
- package/dist/lib/skills/shared/clients/interfaces/IGhCliClient.js +7 -0
- package/dist/lib/skills/shared/clients/interfaces/IGhCliClient.js.map +1 -0
- package/dist/lib/skills/shared/clients/interfaces/IZepClient.d.ts +7 -1
- package/dist/lib/skills/shared/clients/interfaces/IZepClient.d.ts.map +1 -1
- package/dist/lib/skills/shared/clients/interfaces/index.d.ts +1 -0
- package/dist/lib/skills/shared/clients/interfaces/index.d.ts.map +1 -1
- package/dist/lib/skills/shared/clients/interfaces/index.js +1 -0
- package/dist/lib/skills/shared/clients/interfaces/index.js.map +1 -1
- package/dist/lib/skills/shared/services/GitHubService.d.ts +169 -0
- package/dist/lib/skills/shared/services/GitHubService.d.ts.map +1 -0
- package/dist/lib/skills/shared/services/GitHubService.js +493 -0
- package/dist/lib/skills/shared/services/GitHubService.js.map +1 -0
- package/dist/lib/skills/shared/services/GitHubSyncService.d.ts +124 -0
- package/dist/lib/skills/shared/services/GitHubSyncService.d.ts.map +1 -0
- package/dist/lib/skills/shared/services/GitHubSyncService.js +412 -0
- package/dist/lib/skills/shared/services/GitHubSyncService.js.map +1 -0
- package/dist/lib/skills/shared/services/TaskCliService.d.ts +4 -2
- package/dist/lib/skills/shared/services/TaskCliService.d.ts.map +1 -1
- package/dist/lib/skills/shared/services/TaskCliService.js +90 -6
- package/dist/lib/skills/shared/services/TaskCliService.js.map +1 -1
- package/dist/lib/skills/shared/services/TaskService.d.ts.map +1 -1
- package/dist/lib/skills/shared/services/TaskService.js +199 -21
- package/dist/lib/skills/shared/services/TaskService.js.map +1 -1
- package/dist/lib/skills/shared/services/index.d.ts +2 -0
- package/dist/lib/skills/shared/services/index.d.ts.map +1 -1
- package/dist/lib/skills/shared/services/index.js +7 -1
- package/dist/lib/skills/shared/services/index.js.map +1 -1
- package/dist/lib/skills/shared/services/interfaces/ITaskService.d.ts +56 -1
- package/dist/lib/skills/shared/services/interfaces/ITaskService.d.ts.map +1 -1
- package/dist/lib/skills/shared/utils/index.d.ts +1 -0
- package/dist/lib/skills/shared/utils/index.d.ts.map +1 -1
- package/dist/lib/skills/shared/utils/index.js +9 -1
- package/dist/lib/skills/shared/utils/index.js.map +1 -1
- package/dist/lib/skills/shared/utils/issue-refs.d.ts +127 -0
- package/dist/lib/skills/shared/utils/issue-refs.d.ts.map +1 -0
- package/dist/lib/skills/shared/utils/issue-refs.js +179 -0
- package/dist/lib/skills/shared/utils/issue-refs.js.map +1 -0
- package/dist/lib/skills/tasks/tasks.d.ts +5 -2
- package/dist/lib/skills/tasks/tasks.d.ts.map +1 -1
- package/dist/lib/skills/tasks/tasks.js +8 -3
- package/dist/lib/skills/tasks/tasks.js.map +1 -1
- package/dist/opencode/lisa.js +5886 -1310
- package/dist/package.json +1 -1
- package/dist/project/.lisa/skills/github/SKILL.md +415 -0
- package/dist/project/.lisa/skills/lisa/SKILL.md +22 -0
- package/dist/project/.lisa/skills/memory/SKILL.md +3 -2
- package/package.json +6 -5
- package/dist/hooks/session-start.js +0 -5763
- package/dist/hooks/session-stop.js +0 -5348
- package/dist/hooks/user-prompt-submit.js +0 -5406
- package/dist/project/.claude/config.js +0 -40
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* DI Container Tokens.
|
|
4
|
+
*
|
|
5
|
+
* Symbols used to register and resolve services from the container.
|
|
6
|
+
* Grouped by layer (infrastructure, domain, application).
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.TOKENS = exports.CONFIG_TOKENS = exports.APP_TOKENS = exports.INFRA_TOKENS = void 0;
|
|
10
|
+
/**
|
|
11
|
+
* Infrastructure layer tokens.
|
|
12
|
+
*/
|
|
13
|
+
exports.INFRA_TOKENS = {
|
|
14
|
+
// Core
|
|
15
|
+
Logger: Symbol.for('Lisa.Logger'),
|
|
16
|
+
McpClient: Symbol.for('Lisa.McpClient'),
|
|
17
|
+
// Context
|
|
18
|
+
Context: Symbol.for('Lisa.Context'),
|
|
19
|
+
// DAL
|
|
20
|
+
RepositoryRouter: Symbol.for('Lisa.RepositoryRouter'),
|
|
21
|
+
ConnectionManagers: Symbol.for('Lisa.ConnectionManagers'),
|
|
22
|
+
// Services
|
|
23
|
+
MemoryService: Symbol.for('Lisa.MemoryService'),
|
|
24
|
+
TaskService: Symbol.for('Lisa.TaskService'),
|
|
25
|
+
EventEmitter: Symbol.for('Lisa.EventEmitter'),
|
|
26
|
+
SessionCaptureService: Symbol.for('Lisa.SessionCaptureService'),
|
|
27
|
+
RecursionService: Symbol.for('Lisa.RecursionService'),
|
|
28
|
+
GitHubSyncService: Symbol.for('Lisa.GitHubSyncService'),
|
|
29
|
+
};
|
|
30
|
+
/**
|
|
31
|
+
* Application layer tokens.
|
|
32
|
+
*/
|
|
33
|
+
exports.APP_TOKENS = {
|
|
34
|
+
// Mediator
|
|
35
|
+
Mediator: Symbol.for('Lisa.Mediator'),
|
|
36
|
+
// Handlers
|
|
37
|
+
SessionStartHandler: Symbol.for('Lisa.SessionStartHandler'),
|
|
38
|
+
SessionStopHandler: Symbol.for('Lisa.SessionStopHandler'),
|
|
39
|
+
PromptSubmitHandler: Symbol.for('Lisa.PromptSubmitHandler'),
|
|
40
|
+
};
|
|
41
|
+
/**
|
|
42
|
+
* Configuration tokens.
|
|
43
|
+
*/
|
|
44
|
+
exports.CONFIG_TOKENS = {
|
|
45
|
+
ServiceConfig: Symbol.for('Lisa.ServiceConfig'),
|
|
46
|
+
ProjectRoot: Symbol.for('Lisa.ProjectRoot'),
|
|
47
|
+
McpEndpoint: Symbol.for('Lisa.McpEndpoint'),
|
|
48
|
+
ApiKey: Symbol.for('Lisa.ApiKey'),
|
|
49
|
+
};
|
|
50
|
+
/**
|
|
51
|
+
* All tokens combined for convenience.
|
|
52
|
+
*/
|
|
53
|
+
exports.TOKENS = {
|
|
54
|
+
...exports.INFRA_TOKENS,
|
|
55
|
+
...exports.APP_TOKENS,
|
|
56
|
+
...exports.CONFIG_TOKENS,
|
|
57
|
+
};
|
|
58
|
+
//# sourceMappingURL=tokens.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tokens.js","sourceRoot":"","sources":["../../../../src/lib/infrastructure/di/tokens.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH;;GAEG;AACU,QAAA,YAAY,GAAG;IAC1B,OAAO;IACP,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC;IACjC,SAAS,EAAE,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC;IAEvC,UAAU;IACV,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC;IAEnC,MAAM;IACN,gBAAgB,EAAE,MAAM,CAAC,GAAG,CAAC,uBAAuB,CAAC;IACrD,kBAAkB,EAAE,MAAM,CAAC,GAAG,CAAC,yBAAyB,CAAC;IAEzD,WAAW;IACX,aAAa,EAAE,MAAM,CAAC,GAAG,CAAC,oBAAoB,CAAC;IAC/C,WAAW,EAAE,MAAM,CAAC,GAAG,CAAC,kBAAkB,CAAC;IAC3C,YAAY,EAAE,MAAM,CAAC,GAAG,CAAC,mBAAmB,CAAC;IAC7C,qBAAqB,EAAE,MAAM,CAAC,GAAG,CAAC,4BAA4B,CAAC;IAC/D,gBAAgB,EAAE,MAAM,CAAC,GAAG,CAAC,uBAAuB,CAAC;IACrD,iBAAiB,EAAE,MAAM,CAAC,GAAG,CAAC,wBAAwB,CAAC;CAC/C,CAAC;AAEX;;GAEG;AACU,QAAA,UAAU,GAAG;IACxB,WAAW;IACX,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC;IAErC,WAAW;IACX,mBAAmB,EAAE,MAAM,CAAC,GAAG,CAAC,0BAA0B,CAAC;IAC3D,kBAAkB,EAAE,MAAM,CAAC,GAAG,CAAC,yBAAyB,CAAC;IACzD,mBAAmB,EAAE,MAAM,CAAC,GAAG,CAAC,0BAA0B,CAAC;CACnD,CAAC;AAEX;;GAEG;AACU,QAAA,aAAa,GAAG;IAC3B,aAAa,EAAE,MAAM,CAAC,GAAG,CAAC,oBAAoB,CAAC;IAC/C,WAAW,EAAE,MAAM,CAAC,GAAG,CAAC,kBAAkB,CAAC;IAC3C,WAAW,EAAE,MAAM,CAAC,GAAG,CAAC,kBAAkB,CAAC;IAC3C,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC;CACzB,CAAC;AAEX;;GAEG;AACU,QAAA,MAAM,GAAG;IACpB,GAAG,oBAAY;IACf,GAAG,kBAAU;IACb,GAAG,qBAAa;CACR,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/infrastructure/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,cAAc,WAAW,CAAC;AAG1B,cAAc,OAAO,CAAC;AAGtB,cAAc,YAAY,CAAC;AAG3B,cAAc,MAAM,CAAC;AAGrB,cAAc,OAAO,CAAC;AAGtB,cAAc,WAAW,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/infrastructure/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,cAAc,WAAW,CAAC;AAG1B,cAAc,OAAO,CAAC;AAGtB,cAAc,YAAY,CAAC;AAG3B,cAAc,MAAM,CAAC;AAGrB,cAAc,OAAO,CAAC;AAGtB,cAAc,WAAW,CAAC;AAG1B,cAAc,SAAS,CAAC"}
|
|
@@ -36,6 +36,8 @@ __exportStar(require("./di"), exports);
|
|
|
36
36
|
__exportStar(require("./dal"), exports);
|
|
37
37
|
// Logging infrastructure
|
|
38
38
|
__exportStar(require("./logging"), exports);
|
|
39
|
+
// Utilities (cancellation, etc.)
|
|
40
|
+
__exportStar(require("./utils"), exports);
|
|
39
41
|
// Note: CLI adapters (./adapters/claude/, ./adapters/opencode/)
|
|
40
42
|
// are entry points, not exported from here.
|
|
41
43
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/infrastructure/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;;;;;;;;;;;;;;AAEH,oBAAoB;AACpB,4CAA0B;AAE1B,aAAa;AACb,wCAAsB;AAEtB,0BAA0B;AAC1B,6CAA2B;AAE3B,uBAAuB;AACvB,uCAAqB;AAErB,oDAAoD;AACpD,wCAAsB;AAEtB,yBAAyB;AACzB,4CAA0B;AAE1B,gEAAgE;AAChE,4CAA4C"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/infrastructure/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;;;;;;;;;;;;;;AAEH,oBAAoB;AACpB,4CAA0B;AAE1B,aAAa;AACb,wCAAsB;AAEtB,0BAA0B;AAC1B,6CAA2B;AAE3B,uBAAuB;AACvB,uCAAqB;AAErB,oDAAoD;AACpD,wCAAsB;AAEtB,yBAAyB;AACzB,4CAA0B;AAE1B,iCAAiC;AACjC,0CAAwB;AAExB,gEAAgE;AAChE,4CAA4C"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ILogger, ILoggerOptions, LogLevel } from '../../domain/interfaces';
|
|
1
|
+
import type { ILogger, ILoggerOptions, LogLevel, IStructuredLog, IStructuredLogger, ILogContext, LogEvent } from '../../domain/interfaces';
|
|
2
2
|
/**
|
|
3
3
|
* Default logger configuration.
|
|
4
4
|
*/
|
|
@@ -6,14 +6,16 @@ export declare const DEFAULT_LOGGER_OPTIONS: ILoggerOptions;
|
|
|
6
6
|
/**
|
|
7
7
|
* Simple file-based logger implementation.
|
|
8
8
|
* Writes single-line formatted logs with optional colorized console output.
|
|
9
|
+
* Also implements IStructuredLogger for standardized event logging.
|
|
9
10
|
*/
|
|
10
|
-
export declare class Logger implements ILogger {
|
|
11
|
+
export declare class Logger implements ILogger, IStructuredLogger {
|
|
11
12
|
private readonly options;
|
|
12
13
|
private readonly getCorrelationId;
|
|
13
14
|
private readonly logFile;
|
|
14
15
|
private readonly bindings;
|
|
16
|
+
private readonly boundContext;
|
|
15
17
|
constructor(options: ILoggerOptions, _pinoInstance?: unknown, // Kept for API compatibility
|
|
16
|
-
getCorrelationId?: () => string | undefined, bindings?: Record<string, unknown
|
|
18
|
+
getCorrelationId?: () => string | undefined, bindings?: Record<string, unknown>, boundContext?: ILogContext);
|
|
17
19
|
/**
|
|
18
20
|
* Ensure log directory exists.
|
|
19
21
|
*/
|
|
@@ -37,12 +39,48 @@ export declare class Logger implements ILogger {
|
|
|
37
39
|
error(message: string, context?: Record<string, unknown>): void;
|
|
38
40
|
fatal(message: string, context?: Record<string, unknown>): void;
|
|
39
41
|
child(bindings: Record<string, unknown>): ILogger;
|
|
42
|
+
/**
|
|
43
|
+
* Format a structured log entry into message and context.
|
|
44
|
+
*
|
|
45
|
+
* Note: log.data is flattened into the context object intentionally for better
|
|
46
|
+
* compatibility with log aggregation tools (Elasticsearch, Datadog, etc.) that
|
|
47
|
+
* prefer flat structures. Callers should avoid using keys in log.data that
|
|
48
|
+
* conflict with reserved context fields (event, sessionId, groupId, etc.).
|
|
49
|
+
*/
|
|
50
|
+
private formatStructuredLog;
|
|
51
|
+
/**
|
|
52
|
+
* Log a structured event at info level.
|
|
53
|
+
*/
|
|
54
|
+
logEvent(log: IStructuredLog): void;
|
|
55
|
+
/**
|
|
56
|
+
* Log a structured event at debug level.
|
|
57
|
+
*/
|
|
58
|
+
logEventDebug(log: IStructuredLog): void;
|
|
59
|
+
/**
|
|
60
|
+
* Log a structured event at warn level.
|
|
61
|
+
*/
|
|
62
|
+
logEventWarn(log: IStructuredLog): void;
|
|
63
|
+
/**
|
|
64
|
+
* Log a structured event at error level.
|
|
65
|
+
*/
|
|
66
|
+
logEventError(log: IStructuredLog): void;
|
|
67
|
+
/**
|
|
68
|
+
* Create a child logger with bound context.
|
|
69
|
+
*/
|
|
70
|
+
withContext(context: ILogContext): IStructuredLogger;
|
|
71
|
+
/**
|
|
72
|
+
* Start a timed operation and return a function to complete it.
|
|
73
|
+
*/
|
|
74
|
+
startOperation(event: LogEvent | string, context?: ILogContext): (result?: {
|
|
75
|
+
data?: Record<string, unknown>;
|
|
76
|
+
error?: string;
|
|
77
|
+
}) => void;
|
|
40
78
|
isLevelEnabled(level: LogLevel): boolean;
|
|
41
79
|
}
|
|
42
80
|
/**
|
|
43
81
|
* No-op logger for testing or when logging is disabled.
|
|
44
82
|
*/
|
|
45
|
-
export declare class NullLogger implements ILogger {
|
|
83
|
+
export declare class NullLogger implements ILogger, IStructuredLogger {
|
|
46
84
|
trace(_message: string, _context?: Record<string, unknown>): void;
|
|
47
85
|
debug(_message: string, _context?: Record<string, unknown>): void;
|
|
48
86
|
info(_message: string, _context?: Record<string, unknown>): void;
|
|
@@ -51,5 +89,14 @@ export declare class NullLogger implements ILogger {
|
|
|
51
89
|
fatal(_message: string, _context?: Record<string, unknown>): void;
|
|
52
90
|
child(_bindings: Record<string, unknown>): ILogger;
|
|
53
91
|
isLevelEnabled(_level: LogLevel): boolean;
|
|
92
|
+
logEvent(_log: IStructuredLog): void;
|
|
93
|
+
logEventDebug(_log: IStructuredLog): void;
|
|
94
|
+
logEventWarn(_log: IStructuredLog): void;
|
|
95
|
+
logEventError(_log: IStructuredLog): void;
|
|
96
|
+
withContext(_context: ILogContext): IStructuredLogger;
|
|
97
|
+
startOperation(_event: LogEvent | string, _context?: ILogContext): (result?: {
|
|
98
|
+
data?: Record<string, unknown>;
|
|
99
|
+
error?: string;
|
|
100
|
+
}) => void;
|
|
54
101
|
}
|
|
55
102
|
//# sourceMappingURL=Logger.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Logger.d.ts","sourceRoot":"","sources":["../../../../src/lib/infrastructure/logging/Logger.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"Logger.d.ts","sourceRoot":"","sources":["../../../../src/lib/infrastructure/logging/Logger.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
exports.NullLogger = exports.Logger = exports.DEFAULT_LOGGER_OPTIONS = void 0;
|
|
7
7
|
const path_1 = __importDefault(require("path"));
|
|
8
8
|
const fs_1 = __importDefault(require("fs"));
|
|
9
|
+
const interfaces_1 = require("../../domain/interfaces");
|
|
9
10
|
/**
|
|
10
11
|
* Default logger configuration.
|
|
11
12
|
*/
|
|
@@ -72,13 +73,15 @@ function getDateString() {
|
|
|
72
73
|
/**
|
|
73
74
|
* Simple file-based logger implementation.
|
|
74
75
|
* Writes single-line formatted logs with optional colorized console output.
|
|
76
|
+
* Also implements IStructuredLogger for standardized event logging.
|
|
75
77
|
*/
|
|
76
78
|
class Logger {
|
|
77
79
|
constructor(options, _pinoInstance, // Kept for API compatibility
|
|
78
|
-
getCorrelationId, bindings) {
|
|
80
|
+
getCorrelationId, bindings, boundContext) {
|
|
79
81
|
this.options = options;
|
|
80
82
|
this.getCorrelationId = getCorrelationId ?? (() => undefined);
|
|
81
83
|
this.bindings = bindings ?? {};
|
|
84
|
+
this.boundContext = boundContext ?? {};
|
|
82
85
|
// Ensure log directory exists
|
|
83
86
|
const logDir = path_1.default.resolve(options.logDir);
|
|
84
87
|
this.ensureLogDir(logDir);
|
|
@@ -160,7 +163,108 @@ class Logger {
|
|
|
160
163
|
this.writeLog('fatal', 'FATAL', message, context);
|
|
161
164
|
}
|
|
162
165
|
child(bindings) {
|
|
163
|
-
return new Logger(this.options, undefined, this.getCorrelationId, { ...this.bindings, ...bindings });
|
|
166
|
+
return new Logger(this.options, undefined, this.getCorrelationId, { ...this.bindings, ...bindings }, this.boundContext);
|
|
167
|
+
}
|
|
168
|
+
// ============================================================================
|
|
169
|
+
// IStructuredLogger Implementation
|
|
170
|
+
// ============================================================================
|
|
171
|
+
/**
|
|
172
|
+
* Format a structured log entry into message and context.
|
|
173
|
+
*
|
|
174
|
+
* Note: log.data is flattened into the context object intentionally for better
|
|
175
|
+
* compatibility with log aggregation tools (Elasticsearch, Datadog, etc.) that
|
|
176
|
+
* prefer flat structures. Callers should avoid using keys in log.data that
|
|
177
|
+
* conflict with reserved context fields (event, sessionId, groupId, etc.).
|
|
178
|
+
*/
|
|
179
|
+
formatStructuredLog(log) {
|
|
180
|
+
const context = {
|
|
181
|
+
event: log.event,
|
|
182
|
+
...this.boundContext,
|
|
183
|
+
...log.context,
|
|
184
|
+
};
|
|
185
|
+
// Flatten data into context for log aggregation compatibility
|
|
186
|
+
if (log.data) {
|
|
187
|
+
Object.assign(context, log.data);
|
|
188
|
+
}
|
|
189
|
+
if (log.durationMs !== undefined) {
|
|
190
|
+
context.durationMs = log.durationMs;
|
|
191
|
+
}
|
|
192
|
+
if (log.error) {
|
|
193
|
+
context.error = log.error;
|
|
194
|
+
}
|
|
195
|
+
// Use event name as the message for consistency
|
|
196
|
+
const message = `[${log.event}]`;
|
|
197
|
+
return { message, context };
|
|
198
|
+
}
|
|
199
|
+
/**
|
|
200
|
+
* Log a structured event at info level.
|
|
201
|
+
*/
|
|
202
|
+
logEvent(log) {
|
|
203
|
+
const { message, context } = this.formatStructuredLog(log);
|
|
204
|
+
this.info(message, context);
|
|
205
|
+
}
|
|
206
|
+
/**
|
|
207
|
+
* Log a structured event at debug level.
|
|
208
|
+
*/
|
|
209
|
+
logEventDebug(log) {
|
|
210
|
+
const { message, context } = this.formatStructuredLog(log);
|
|
211
|
+
this.debug(message, context);
|
|
212
|
+
}
|
|
213
|
+
/**
|
|
214
|
+
* Log a structured event at warn level.
|
|
215
|
+
*/
|
|
216
|
+
logEventWarn(log) {
|
|
217
|
+
const { message, context } = this.formatStructuredLog(log);
|
|
218
|
+
this.warn(message, context);
|
|
219
|
+
}
|
|
220
|
+
/**
|
|
221
|
+
* Log a structured event at error level.
|
|
222
|
+
*/
|
|
223
|
+
logEventError(log) {
|
|
224
|
+
const { message, context } = this.formatStructuredLog(log);
|
|
225
|
+
this.error(message, context);
|
|
226
|
+
}
|
|
227
|
+
/**
|
|
228
|
+
* Create a child logger with bound context.
|
|
229
|
+
*/
|
|
230
|
+
withContext(context) {
|
|
231
|
+
return new Logger(this.options, undefined, this.getCorrelationId, this.bindings, { ...this.boundContext, ...context });
|
|
232
|
+
}
|
|
233
|
+
/**
|
|
234
|
+
* Start a timed operation and return a function to complete it.
|
|
235
|
+
*/
|
|
236
|
+
startOperation(event, context) {
|
|
237
|
+
const startTime = Date.now();
|
|
238
|
+
const mergedContext = { ...this.boundContext, ...context };
|
|
239
|
+
// Log the start event at debug level
|
|
240
|
+
this.logEventDebug({
|
|
241
|
+
event,
|
|
242
|
+
context: mergedContext,
|
|
243
|
+
});
|
|
244
|
+
// Return a function to complete the operation
|
|
245
|
+
return (result) => {
|
|
246
|
+
const durationMs = Date.now() - startTime;
|
|
247
|
+
const completeEvent = result?.error
|
|
248
|
+
? (0, interfaces_1.deriveErrorEvent)(event)
|
|
249
|
+
: (0, interfaces_1.deriveCompleteEvent)(event);
|
|
250
|
+
if (result?.error) {
|
|
251
|
+
this.logEventError({
|
|
252
|
+
event: completeEvent,
|
|
253
|
+
context: mergedContext,
|
|
254
|
+
data: result?.data,
|
|
255
|
+
durationMs,
|
|
256
|
+
error: result.error,
|
|
257
|
+
});
|
|
258
|
+
}
|
|
259
|
+
else {
|
|
260
|
+
this.logEvent({
|
|
261
|
+
event: completeEvent,
|
|
262
|
+
context: mergedContext,
|
|
263
|
+
data: result?.data,
|
|
264
|
+
durationMs,
|
|
265
|
+
});
|
|
266
|
+
}
|
|
267
|
+
};
|
|
164
268
|
}
|
|
165
269
|
isLevelEnabled(level) {
|
|
166
270
|
return LEVEL_PRIORITY[level] >= LEVEL_PRIORITY[this.options.level];
|
|
@@ -195,6 +299,27 @@ class NullLogger {
|
|
|
195
299
|
isLevelEnabled(_level) {
|
|
196
300
|
return false;
|
|
197
301
|
}
|
|
302
|
+
// IStructuredLogger no-op implementations
|
|
303
|
+
logEvent(_log) {
|
|
304
|
+
// No-op
|
|
305
|
+
}
|
|
306
|
+
logEventDebug(_log) {
|
|
307
|
+
// No-op
|
|
308
|
+
}
|
|
309
|
+
logEventWarn(_log) {
|
|
310
|
+
// No-op
|
|
311
|
+
}
|
|
312
|
+
logEventError(_log) {
|
|
313
|
+
// No-op
|
|
314
|
+
}
|
|
315
|
+
withContext(_context) {
|
|
316
|
+
return this;
|
|
317
|
+
}
|
|
318
|
+
startOperation(_event, _context) {
|
|
319
|
+
return () => {
|
|
320
|
+
// No-op
|
|
321
|
+
};
|
|
322
|
+
}
|
|
198
323
|
}
|
|
199
324
|
exports.NullLogger = NullLogger;
|
|
200
325
|
//# sourceMappingURL=Logger.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Logger.js","sourceRoot":"","sources":["../../../../src/lib/infrastructure/logging/Logger.ts"],"names":[],"mappings":";;;;;;AAAA,gDAAwB;AACxB,4CAAoB;
|
|
1
|
+
{"version":3,"file":"Logger.js","sourceRoot":"","sources":["../../../../src/lib/infrastructure/logging/Logger.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,11 +2,21 @@ import type { IMcpClient } from '../../domain/interfaces';
|
|
|
2
2
|
/**
|
|
3
3
|
* MCP Client implementation.
|
|
4
4
|
* Communicates with Graphiti MCP server or Zep Cloud.
|
|
5
|
+
*
|
|
6
|
+
* Session Management:
|
|
7
|
+
* This client manages MCP sessions internally. It:
|
|
8
|
+
* - Automatically initializes a session on first call
|
|
9
|
+
* - Updates session ID when server returns a new one in response headers
|
|
10
|
+
* - Re-initializes session if a request fails with 401/403 (expired session)
|
|
11
|
+
* - Thread-safe for concurrent requests (all share the same session)
|
|
12
|
+
*
|
|
13
|
+
* Callers should NOT track session IDs manually - the client handles this.
|
|
5
14
|
*/
|
|
6
15
|
export declare class McpClient implements IMcpClient {
|
|
7
16
|
private readonly endpoint;
|
|
8
17
|
private readonly apiKey?;
|
|
9
18
|
private sessionId;
|
|
19
|
+
private initializePromise;
|
|
10
20
|
constructor(endpoint: string, apiKey?: string | undefined);
|
|
11
21
|
/**
|
|
12
22
|
* Get headers for MCP requests.
|
|
@@ -18,12 +28,37 @@ export declare class McpClient implements IMcpClient {
|
|
|
18
28
|
private extractEventStreamData;
|
|
19
29
|
/**
|
|
20
30
|
* Initialize the MCP session.
|
|
31
|
+
* Uses a promise cache to prevent concurrent initialization requests.
|
|
21
32
|
*/
|
|
22
33
|
initialize(timeoutMs?: number): Promise<string>;
|
|
34
|
+
/**
|
|
35
|
+
* Internal initialization logic.
|
|
36
|
+
*/
|
|
37
|
+
private doInitialize;
|
|
38
|
+
/**
|
|
39
|
+
* Force re-initialization of the session.
|
|
40
|
+
* Called when a request fails with session-related errors.
|
|
41
|
+
*/
|
|
42
|
+
private reinitialize;
|
|
23
43
|
/**
|
|
24
44
|
* Make an RPC call to the MCP server.
|
|
45
|
+
*
|
|
46
|
+
* Session management is handled internally:
|
|
47
|
+
* - Session is initialized automatically on first call
|
|
48
|
+
* - Session ID from response headers updates the internal state
|
|
49
|
+
* - On 401/403, session is re-initialized and request retried once
|
|
50
|
+
*
|
|
51
|
+
* @param method - Method name
|
|
52
|
+
* @param params - Method parameters
|
|
53
|
+
* @param _sessionId - DEPRECATED: Ignored. Session managed internally.
|
|
54
|
+
* @param timeoutMs - Timeout in milliseconds
|
|
55
|
+
*/
|
|
56
|
+
call<T = unknown>(method: string, params?: Record<string, unknown>, _sessionId?: string | null, // Ignored - session managed internally
|
|
57
|
+
timeoutMs?: number): Promise<[T, string]>;
|
|
58
|
+
/**
|
|
59
|
+
* Internal call implementation with retry logic for session expiry.
|
|
25
60
|
*/
|
|
26
|
-
|
|
61
|
+
private doCall;
|
|
27
62
|
/**
|
|
28
63
|
* Check if the MCP server is reachable.
|
|
29
64
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"McpClient.d.ts","sourceRoot":"","sources":["../../../../src/lib/infrastructure/mcp/McpClient.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AA8B1D
|
|
1
|
+
{"version":3,"file":"McpClient.d.ts","sourceRoot":"","sources":["../../../../src/lib/infrastructure/mcp/McpClient.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AA8B1D;;;;;;;;;;;;GAYG;AACH,qBAAa,SAAU,YAAW,UAAU;IAKxC,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;IAL1B,OAAO,CAAC,SAAS,CAAuB;IACxC,OAAO,CAAC,iBAAiB,CAAgC;gBAGtC,QAAQ,EAAE,MAAM,EAChB,MAAM,CAAC,EAAE,MAAM,YAAA;IAGlC;;OAEG;IACH,OAAO,CAAC,UAAU;IAclB;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAgB9B;;;OAGG;IACG,UAAU,CAAC,SAAS,GAAE,MAA2B,GAAG,OAAO,CAAC,MAAM,CAAC;IAsBzE;;OAEG;YACW,YAAY;IA4B1B;;;OAGG;YACW,YAAY;IAM1B;;;;;;;;;;;;OAYG;IACG,IAAI,CAAC,CAAC,GAAG,OAAO,EACpB,MAAM,EAAE,MAAM,EACd,MAAM,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,EACpC,UAAU,GAAE,MAAM,GAAG,IAAW,EAAE,uCAAuC;IACzE,SAAS,GAAE,MAA2B,GACrC,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IAIvB;;OAEG;YACW,MAAM;IAmEpB;;OAEG;IACG,IAAI,CAAC,SAAS,GAAE,MAA2B,GAAG,OAAO,CAAC,OAAO,CAAC;IASpE;;OAEG;IACH,YAAY,IAAI,MAAM,GAAG,IAAI;CAG9B"}
|
|
@@ -18,12 +18,22 @@ const DEFAULT_TIMEOUT_MS = 8000;
|
|
|
18
18
|
/**
|
|
19
19
|
* MCP Client implementation.
|
|
20
20
|
* Communicates with Graphiti MCP server or Zep Cloud.
|
|
21
|
+
*
|
|
22
|
+
* Session Management:
|
|
23
|
+
* This client manages MCP sessions internally. It:
|
|
24
|
+
* - Automatically initializes a session on first call
|
|
25
|
+
* - Updates session ID when server returns a new one in response headers
|
|
26
|
+
* - Re-initializes session if a request fails with 401/403 (expired session)
|
|
27
|
+
* - Thread-safe for concurrent requests (all share the same session)
|
|
28
|
+
*
|
|
29
|
+
* Callers should NOT track session IDs manually - the client handles this.
|
|
21
30
|
*/
|
|
22
31
|
class McpClient {
|
|
23
32
|
constructor(endpoint, apiKey) {
|
|
24
33
|
this.endpoint = endpoint;
|
|
25
34
|
this.apiKey = apiKey;
|
|
26
35
|
this.sessionId = null;
|
|
36
|
+
this.initializePromise = null;
|
|
27
37
|
}
|
|
28
38
|
/**
|
|
29
39
|
* Get headers for MCP requests.
|
|
@@ -59,8 +69,31 @@ class McpClient {
|
|
|
59
69
|
}
|
|
60
70
|
/**
|
|
61
71
|
* Initialize the MCP session.
|
|
72
|
+
* Uses a promise cache to prevent concurrent initialization requests.
|
|
62
73
|
*/
|
|
63
74
|
async initialize(timeoutMs = DEFAULT_TIMEOUT_MS) {
|
|
75
|
+
// If already initializing, return the pending promise
|
|
76
|
+
if (this.initializePromise) {
|
|
77
|
+
return this.initializePromise;
|
|
78
|
+
}
|
|
79
|
+
// If already have a session, return it
|
|
80
|
+
if (this.sessionId) {
|
|
81
|
+
return this.sessionId;
|
|
82
|
+
}
|
|
83
|
+
// Start initialization
|
|
84
|
+
this.initializePromise = this.doInitialize(timeoutMs);
|
|
85
|
+
try {
|
|
86
|
+
const sessionId = await this.initializePromise;
|
|
87
|
+
return sessionId;
|
|
88
|
+
}
|
|
89
|
+
finally {
|
|
90
|
+
this.initializePromise = null;
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Internal initialization logic.
|
|
95
|
+
*/
|
|
96
|
+
async doInitialize(timeoutMs) {
|
|
64
97
|
const body = {
|
|
65
98
|
jsonrpc: '2.0',
|
|
66
99
|
id: 'init',
|
|
@@ -84,11 +117,38 @@ class McpClient {
|
|
|
84
117
|
this.sessionId = session;
|
|
85
118
|
return this.sessionId;
|
|
86
119
|
}
|
|
120
|
+
/**
|
|
121
|
+
* Force re-initialization of the session.
|
|
122
|
+
* Called when a request fails with session-related errors.
|
|
123
|
+
*/
|
|
124
|
+
async reinitialize(timeoutMs) {
|
|
125
|
+
this.sessionId = null;
|
|
126
|
+
this.initializePromise = null;
|
|
127
|
+
return this.initialize(timeoutMs);
|
|
128
|
+
}
|
|
87
129
|
/**
|
|
88
130
|
* Make an RPC call to the MCP server.
|
|
131
|
+
*
|
|
132
|
+
* Session management is handled internally:
|
|
133
|
+
* - Session is initialized automatically on first call
|
|
134
|
+
* - Session ID from response headers updates the internal state
|
|
135
|
+
* - On 401/403, session is re-initialized and request retried once
|
|
136
|
+
*
|
|
137
|
+
* @param method - Method name
|
|
138
|
+
* @param params - Method parameters
|
|
139
|
+
* @param _sessionId - DEPRECATED: Ignored. Session managed internally.
|
|
140
|
+
* @param timeoutMs - Timeout in milliseconds
|
|
89
141
|
*/
|
|
90
|
-
async call(method, params = {},
|
|
91
|
-
|
|
142
|
+
async call(method, params = {}, _sessionId = null, // Ignored - session managed internally
|
|
143
|
+
timeoutMs = DEFAULT_TIMEOUT_MS) {
|
|
144
|
+
return this.doCall(method, params, timeoutMs, false);
|
|
145
|
+
}
|
|
146
|
+
/**
|
|
147
|
+
* Internal call implementation with retry logic for session expiry.
|
|
148
|
+
*/
|
|
149
|
+
async doCall(method, params, timeoutMs, isRetry) {
|
|
150
|
+
// Always use internal session ID, never the passed one
|
|
151
|
+
const sid = this.sessionId || (await this.initialize(timeoutMs));
|
|
92
152
|
const headers = {
|
|
93
153
|
...this.getHeaders(),
|
|
94
154
|
'MCP-SESSION-ID': sid,
|
|
@@ -103,10 +163,16 @@ class McpClient {
|
|
|
103
163
|
body: JSON.stringify(payload),
|
|
104
164
|
signal: AbortSignal.timeout(timeoutMs),
|
|
105
165
|
});
|
|
166
|
+
// Update session ID from response
|
|
106
167
|
const newSid = resp.headers.get('mcp-session-id');
|
|
107
168
|
if (newSid) {
|
|
108
169
|
this.sessionId = newSid;
|
|
109
170
|
}
|
|
171
|
+
// Handle session expiry - retry once with fresh session
|
|
172
|
+
if ((resp.status === 401 || resp.status === 403) && !isRetry) {
|
|
173
|
+
await this.reinitialize(timeoutMs);
|
|
174
|
+
return this.doCall(method, params, timeoutMs, true);
|
|
175
|
+
}
|
|
110
176
|
const text = await resp.text();
|
|
111
177
|
let data;
|
|
112
178
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"McpClient.js","sourceRoot":"","sources":["../../../../src/lib/infrastructure/mcp/McpClient.ts"],"names":[],"mappings":";;;;;;AACA,gDAA+C;AAC/C,wDAA0B;AAC1B,gDAAwB;AAExB,iCAAiC;AACjC,MAAM,iBAAiB,GAAG,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC;AACvF,MAAM,OAAO,GAAG,kBAAE,CAAC,UAAU,CAAC,iBAAiB,CAAC;IAC9C,CAAC,CAAE,kBAAE,CAAC,YAAY,CAAC,iBAAiB,CAAyB,CAAC,OAAO;IACrE,CAAC,CAAC,OAAO,CAAC;AAEZ,MAAM,WAAW,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;AACvD,MAAM,gBAAgB,GAAG,YAAY,CAAC;AACtC,MAAM,kBAAkB,GAAG,IAAI,CAAC;AAiBhC
|
|
1
|
+
{"version":3,"file":"McpClient.js","sourceRoot":"","sources":["../../../../src/lib/infrastructure/mcp/McpClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Label inference service implementation.
|
|
3
|
+
*
|
|
4
|
+
* Analyzes issue title and body content to suggest appropriate labels
|
|
5
|
+
* based on conventional commit prefixes and content patterns.
|
|
6
|
+
*
|
|
7
|
+
* @see Issue #21: Auto-label issues based on content
|
|
8
|
+
*/
|
|
9
|
+
import type { ILabelInferenceService, ILabelInferenceResult, ILabelInferenceOptions, ILabelRule } from '../../domain/interfaces';
|
|
10
|
+
/**
|
|
11
|
+
* Label inference service implementation.
|
|
12
|
+
*/
|
|
13
|
+
export declare class LabelInferenceService implements ILabelInferenceService {
|
|
14
|
+
private readonly rules;
|
|
15
|
+
constructor(customRules?: ILabelRule[]);
|
|
16
|
+
/**
|
|
17
|
+
* Analyze issue content and infer appropriate labels.
|
|
18
|
+
*/
|
|
19
|
+
inferLabels(title: string, body: string, options?: ILabelInferenceOptions): ILabelInferenceResult;
|
|
20
|
+
/**
|
|
21
|
+
* Deduplicate matched rules, keeping the highest priority match for each label.
|
|
22
|
+
*/
|
|
23
|
+
private deduplicateRules;
|
|
24
|
+
/**
|
|
25
|
+
* Calculate confidence score based on match types.
|
|
26
|
+
*/
|
|
27
|
+
private calculateConfidence;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Create a default label inference service.
|
|
31
|
+
*/
|
|
32
|
+
export declare function createLabelInferenceService(customRules?: ILabelRule[]): ILabelInferenceService;
|
|
33
|
+
//# sourceMappingURL=LabelInferenceService.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LabelInferenceService.d.ts","sourceRoot":"","sources":["../../../../src/lib/infrastructure/services/LabelInferenceService.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EACV,sBAAsB,EACtB,qBAAqB,EACrB,sBAAsB,EACtB,UAAU,EACX,MAAM,yBAAyB,CAAC;AA6FjC;;GAEG;AACH,qBAAa,qBAAsB,YAAW,sBAAsB;IAClE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAe;gBAEzB,WAAW,CAAC,EAAE,UAAU,EAAE;IAItC;;OAEG;IACH,WAAW,CACT,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,sBAAsB,GAC/B,qBAAqB;IAmFxB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAqBxB;;OAEG;IACH,OAAO,CAAC,mBAAmB;CAgB5B;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CAAC,WAAW,CAAC,EAAE,UAAU,EAAE,GAAG,sBAAsB,CAE9F"}
|