@tonycasey/lisa 2.2.0 → 2.11.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 +58 -5
- package/dist/lib/application/handlers/SessionStartHandler.d.ts.map +1 -1
- package/dist/lib/application/handlers/SessionStartHandler.js +259 -44
- 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/handlers/index.d.ts +1 -0
- package/dist/lib/application/handlers/index.d.ts.map +1 -1
- package/dist/lib/application/handlers/index.js +13 -1
- package/dist/lib/application/handlers/index.js.map +1 -1
- package/dist/lib/application/handlers/pr/PrAddressHandler.d.ts +103 -0
- package/dist/lib/application/handlers/pr/PrAddressHandler.d.ts.map +1 -0
- package/dist/lib/application/handlers/pr/PrAddressHandler.js +354 -0
- package/dist/lib/application/handlers/pr/PrAddressHandler.js.map +1 -0
- package/dist/lib/application/handlers/pr/PrChecksHandler.d.ts +64 -0
- package/dist/lib/application/handlers/pr/PrChecksHandler.d.ts.map +1 -0
- package/dist/lib/application/handlers/pr/PrChecksHandler.js +154 -0
- package/dist/lib/application/handlers/pr/PrChecksHandler.js.map +1 -0
- package/dist/lib/application/handlers/pr/PrCommentsHandler.d.ts +81 -0
- package/dist/lib/application/handlers/pr/PrCommentsHandler.d.ts.map +1 -0
- package/dist/lib/application/handlers/pr/PrCommentsHandler.js +184 -0
- package/dist/lib/application/handlers/pr/PrCommentsHandler.js.map +1 -0
- package/dist/lib/application/handlers/pr/PrCreateHandler.d.ts +78 -0
- package/dist/lib/application/handlers/pr/PrCreateHandler.d.ts.map +1 -0
- package/dist/lib/application/handlers/pr/PrCreateHandler.js +230 -0
- package/dist/lib/application/handlers/pr/PrCreateHandler.js.map +1 -0
- package/dist/lib/application/handlers/pr/PrLinkHandler.d.ts +75 -0
- package/dist/lib/application/handlers/pr/PrLinkHandler.d.ts.map +1 -0
- package/dist/lib/application/handlers/pr/PrLinkHandler.js +151 -0
- package/dist/lib/application/handlers/pr/PrLinkHandler.js.map +1 -0
- package/dist/lib/application/handlers/pr/PrPollHandler.d.ts +161 -0
- package/dist/lib/application/handlers/pr/PrPollHandler.d.ts.map +1 -0
- package/dist/lib/application/handlers/pr/PrPollHandler.js +674 -0
- package/dist/lib/application/handlers/pr/PrPollHandler.js.map +1 -0
- package/dist/lib/application/handlers/pr/PrRememberHandler.d.ts +55 -0
- package/dist/lib/application/handlers/pr/PrRememberHandler.d.ts.map +1 -0
- package/dist/lib/application/handlers/pr/PrRememberHandler.js +75 -0
- package/dist/lib/application/handlers/pr/PrRememberHandler.js.map +1 -0
- package/dist/lib/application/handlers/pr/PrReviewHandler.d.ts +103 -0
- package/dist/lib/application/handlers/pr/PrReviewHandler.d.ts.map +1 -0
- package/dist/lib/application/handlers/pr/PrReviewHandler.js +334 -0
- package/dist/lib/application/handlers/pr/PrReviewHandler.js.map +1 -0
- package/dist/lib/application/handlers/pr/PrStatusHandler.d.ts +150 -0
- package/dist/lib/application/handlers/pr/PrStatusHandler.d.ts.map +1 -0
- package/dist/lib/application/handlers/pr/PrStatusHandler.js +389 -0
- package/dist/lib/application/handlers/pr/PrStatusHandler.js.map +1 -0
- package/dist/lib/application/handlers/pr/PrWatchHandler.d.ts +77 -0
- package/dist/lib/application/handlers/pr/PrWatchHandler.d.ts.map +1 -0
- package/dist/lib/application/handlers/pr/PrWatchHandler.js +174 -0
- package/dist/lib/application/handlers/pr/PrWatchHandler.js.map +1 -0
- package/dist/lib/application/handlers/pr/index.d.ts +25 -0
- package/dist/lib/application/handlers/pr/index.d.ts.map +1 -0
- package/dist/lib/application/handlers/pr/index.js +38 -0
- package/dist/lib/application/handlers/pr/index.js.map +1 -0
- 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 +1380 -597
- 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 +37 -0
- package/dist/lib/commands/init.d.ts.map +1 -0
- package/dist/lib/commands/init.js +589 -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/ICronService.d.ts +100 -0
- package/dist/lib/domain/interfaces/ICronService.d.ts.map +1 -0
- package/dist/lib/domain/interfaces/ICronService.js +9 -0
- package/dist/lib/domain/interfaces/ICronService.js.map +1 -0
- 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/IMemoryService.d.ts +11 -1
- package/dist/lib/domain/interfaces/IMemoryService.d.ts.map +1 -1
- package/dist/lib/domain/interfaces/INotificationService.d.ts +81 -0
- package/dist/lib/domain/interfaces/INotificationService.d.ts.map +1 -0
- package/dist/lib/domain/interfaces/INotificationService.js +9 -0
- package/dist/lib/domain/interfaces/INotificationService.js.map +1 -0
- 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/dal/IGithubClient.d.ts +42 -0
- package/dist/lib/domain/interfaces/dal/IGithubClient.d.ts.map +1 -0
- package/dist/lib/domain/interfaces/dal/IGithubClient.js +12 -0
- package/dist/lib/domain/interfaces/dal/IGithubClient.js.map +1 -0
- package/dist/lib/domain/interfaces/dal/IPullRequestRepository.d.ts +124 -0
- package/dist/lib/domain/interfaces/dal/IPullRequestRepository.d.ts.map +1 -0
- package/dist/lib/domain/interfaces/dal/IPullRequestRepository.js +13 -0
- package/dist/lib/domain/interfaces/dal/IPullRequestRepository.js.map +1 -0
- package/dist/lib/domain/interfaces/dal/index.d.ts +2 -0
- package/dist/lib/domain/interfaces/dal/index.d.ts.map +1 -1
- package/dist/lib/domain/interfaces/dal/index.js.map +1 -1
- package/dist/lib/domain/interfaces/index.d.ts +5 -1
- 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/IPullRequest.d.ts +120 -0
- package/dist/lib/domain/interfaces/types/IPullRequest.d.ts.map +1 -0
- package/dist/lib/domain/interfaces/types/IPullRequest.js +42 -0
- package/dist/lib/domain/interfaces/types/IPullRequest.js.map +1 -0
- 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/interfaces/types/index.d.ts +1 -0
- package/dist/lib/domain/interfaces/types/index.d.ts.map +1 -1
- package/dist/lib/domain/interfaces/types/index.js +4 -1
- package/dist/lib/domain/interfaces/types/index.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/cron/CronService.d.ts +87 -0
- package/dist/lib/infrastructure/cron/CronService.d.ts.map +1 -0
- package/dist/lib/infrastructure/cron/CronService.js +571 -0
- package/dist/lib/infrastructure/cron/CronService.js.map +1 -0
- package/dist/lib/infrastructure/cron/index.d.ts +5 -0
- package/dist/lib/infrastructure/cron/index.d.ts.map +1 -0
- package/dist/lib/infrastructure/cron/index.js +10 -0
- package/dist/lib/infrastructure/cron/index.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/index.d.ts +1 -1
- package/dist/lib/infrastructure/dal/index.d.ts.map +1 -1
- package/dist/lib/infrastructure/dal/index.js +2 -1
- package/dist/lib/infrastructure/dal/index.js.map +1 -1
- package/dist/lib/infrastructure/dal/repositories/index.d.ts +1 -1
- package/dist/lib/infrastructure/dal/repositories/index.d.ts.map +1 -1
- package/dist/lib/infrastructure/dal/repositories/index.js +3 -2
- package/dist/lib/infrastructure/dal/repositories/index.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/Neo4jPullRequestRepository.d.ts +54 -0
- package/dist/lib/infrastructure/dal/repositories/neo4j/Neo4jPullRequestRepository.d.ts.map +1 -0
- package/dist/lib/infrastructure/dal/repositories/neo4j/Neo4jPullRequestRepository.js +561 -0
- package/dist/lib/infrastructure/dal/repositories/neo4j/Neo4jPullRequestRepository.js.map +1 -0
- 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/neo4j/index.d.ts +1 -0
- package/dist/lib/infrastructure/dal/repositories/neo4j/index.d.ts.map +1 -1
- package/dist/lib/infrastructure/dal/repositories/neo4j/index.js +3 -1
- package/dist/lib/infrastructure/dal/repositories/neo4j/index.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/github/GithubClient.d.ts +129 -0
- package/dist/lib/infrastructure/github/GithubClient.d.ts.map +1 -0
- package/dist/lib/infrastructure/github/GithubClient.js +549 -0
- package/dist/lib/infrastructure/github/GithubClient.js.map +1 -0
- package/dist/lib/infrastructure/github/index.d.ts +8 -0
- package/dist/lib/infrastructure/github/index.d.ts.map +1 -0
- package/dist/lib/infrastructure/github/index.js +13 -0
- package/dist/lib/infrastructure/github/index.js.map +1 -0
- package/dist/lib/infrastructure/github/types.d.ts +145 -0
- package/dist/lib/infrastructure/github/types.d.ts.map +1 -0
- package/dist/lib/infrastructure/github/types.js +25 -0
- package/dist/lib/infrastructure/github/types.js.map +1 -0
- package/dist/lib/infrastructure/index.d.ts +4 -0
- package/dist/lib/infrastructure/index.d.ts.map +1 -1
- package/dist/lib/infrastructure/index.js +8 -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/notifications/NotificationService.d.ts +90 -0
- package/dist/lib/infrastructure/notifications/NotificationService.d.ts.map +1 -0
- package/dist/lib/infrastructure/notifications/NotificationService.js +445 -0
- package/dist/lib/infrastructure/notifications/NotificationService.js.map +1 -0
- package/dist/lib/infrastructure/notifications/index.d.ts +7 -0
- package/dist/lib/infrastructure/notifications/index.d.ts.map +1 -0
- package/dist/lib/infrastructure/notifications/index.js +12 -0
- package/dist/lib/infrastructure/notifications/index.js.map +1 -0
- 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 +23 -2
- package/dist/lib/infrastructure/services/MemoryService.d.ts.map +1 -1
- package/dist/lib/infrastructure/services/MemoryService.js +150 -55
- 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/common/type-mappings.d.ts.map +1 -1
- package/dist/lib/skills/common/type-mappings.js +6 -0
- package/dist/lib/skills/common/type-mappings.js.map +1 -1
- 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/memory/memory.js +3 -1
- package/dist/lib/skills/memory/memory.js.map +1 -1
- 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/Neo4jClient.d.ts.map +1 -1
- package/dist/lib/skills/shared/clients/Neo4jClient.js +12 -1
- package/dist/lib/skills/shared/clients/Neo4jClient.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/MemoryCliService.d.ts +2 -0
- package/dist/lib/skills/shared/services/MemoryCliService.d.ts.map +1 -1
- package/dist/lib/skills/shared/services/MemoryCliService.js +19 -2
- package/dist/lib/skills/shared/services/MemoryCliService.js.map +1 -1
- package/dist/lib/skills/shared/services/MemoryService.d.ts.map +1 -1
- package/dist/lib/skills/shared/services/MemoryService.js +26 -7
- package/dist/lib/skills/shared/services/MemoryService.js.map +1 -1
- package/dist/lib/skills/shared/services/TaskCliService.d.ts +6 -2
- package/dist/lib/skills/shared/services/TaskCliService.d.ts.map +1 -1
- package/dist/lib/skills/shared/services/TaskCliService.js +108 -7
- 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 +272 -42
- 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/IMemoryService.d.ts +9 -1
- package/dist/lib/skills/shared/services/interfaces/IMemoryService.d.ts.map +1 -1
- package/dist/lib/skills/shared/services/interfaces/ITaskService.d.ts +65 -2
- 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 +10 -3
- package/dist/lib/skills/tasks/tasks.js.map +1 -1
- package/dist/lib/utils/dateParser.d.ts +50 -0
- package/dist/lib/utils/dateParser.d.ts.map +1 -0
- package/dist/lib/utils/dateParser.js +152 -0
- package/dist/lib/utils/dateParser.js.map +1 -0
- package/dist/lib/utils/index.d.ts +5 -0
- package/dist/lib/utils/index.d.ts.map +1 -0
- package/dist/lib/utils/index.js +14 -0
- package/dist/lib/utils/index.js.map +1 -0
- package/dist/opencode/lisa.js +8627 -1312
- package/dist/package.json +1 -1
- package/dist/project/.lisa/assets/lisa-toast.png +0 -0
- package/dist/project/.lisa/rules/shared/git-rules.md +160 -47
- package/dist/project/.lisa/rules/shared/memory-rules.md +125 -0
- package/dist/project/.lisa/rules/shared/task-rules.md +209 -0
- 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/dist/project/.lisa/skills/pr/SKILL.md +520 -0
- 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,120 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* GitHub Pull Request domain types.
|
|
3
|
+
*
|
|
4
|
+
* These types support Lisa's PR workflow feature, storing PR data
|
|
5
|
+
* in Neo4j with user-scoped group_id (e.g., "user:tonycasey").
|
|
6
|
+
*
|
|
7
|
+
* @see .dev/features/github-pr.md for full specification
|
|
8
|
+
*/
|
|
9
|
+
/**
|
|
10
|
+
* PR status values.
|
|
11
|
+
*/
|
|
12
|
+
export type PullRequestStatus = 'open' | 'merged' | 'closed';
|
|
13
|
+
/**
|
|
14
|
+
* PR check status values.
|
|
15
|
+
*/
|
|
16
|
+
export type CheckStatus = 'pending' | 'success' | 'failure' | 'cancelled' | 'skipped';
|
|
17
|
+
/**
|
|
18
|
+
* PR comment status values.
|
|
19
|
+
*/
|
|
20
|
+
export type CommentStatus = 'pending' | 'addressed' | 'resolved';
|
|
21
|
+
/**
|
|
22
|
+
* GitHub Issue linked to a PR.
|
|
23
|
+
*/
|
|
24
|
+
export interface IGitHubIssue {
|
|
25
|
+
readonly type: 'issue';
|
|
26
|
+
readonly number: number;
|
|
27
|
+
readonly repo: string;
|
|
28
|
+
readonly title: string;
|
|
29
|
+
readonly status: 'open' | 'closed';
|
|
30
|
+
readonly url: string;
|
|
31
|
+
readonly uuid?: string;
|
|
32
|
+
readonly created_at?: string;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* GitHub Pull Request.
|
|
36
|
+
*/
|
|
37
|
+
export interface IPullRequest {
|
|
38
|
+
readonly type: 'pull_request';
|
|
39
|
+
readonly number: number;
|
|
40
|
+
readonly repo: string;
|
|
41
|
+
readonly title: string;
|
|
42
|
+
readonly status: PullRequestStatus;
|
|
43
|
+
readonly watching: boolean;
|
|
44
|
+
readonly watchingSince?: string;
|
|
45
|
+
readonly lastPolled?: string;
|
|
46
|
+
readonly checksStatus: CheckStatus;
|
|
47
|
+
readonly unresolvedComments: number;
|
|
48
|
+
readonly uuid?: string;
|
|
49
|
+
readonly created_at?: string;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* PR CI check status.
|
|
53
|
+
*/
|
|
54
|
+
export interface IPrCheck {
|
|
55
|
+
readonly type: 'pr_check';
|
|
56
|
+
readonly checkName: string;
|
|
57
|
+
readonly status: CheckStatus;
|
|
58
|
+
readonly conclusion?: string;
|
|
59
|
+
readonly detailsUrl?: string;
|
|
60
|
+
readonly updatedAt: string;
|
|
61
|
+
readonly uuid?: string;
|
|
62
|
+
readonly created_at?: string;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* PR review comment.
|
|
66
|
+
*/
|
|
67
|
+
export interface IPrComment {
|
|
68
|
+
readonly type: 'pr_comment';
|
|
69
|
+
readonly commentId: string;
|
|
70
|
+
readonly file: string;
|
|
71
|
+
readonly line: number;
|
|
72
|
+
readonly author: string;
|
|
73
|
+
readonly body: string;
|
|
74
|
+
readonly status: CommentStatus;
|
|
75
|
+
readonly ourReplyId?: string;
|
|
76
|
+
readonly hasNewReply: boolean;
|
|
77
|
+
readonly createdAt: string;
|
|
78
|
+
readonly updatedAt: string;
|
|
79
|
+
readonly uuid?: string;
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Input for creating/updating a PR.
|
|
83
|
+
*/
|
|
84
|
+
export interface IPullRequestInput {
|
|
85
|
+
readonly number: number;
|
|
86
|
+
readonly repo: string;
|
|
87
|
+
readonly title: string;
|
|
88
|
+
readonly status?: PullRequestStatus;
|
|
89
|
+
readonly watching?: boolean;
|
|
90
|
+
readonly checksStatus?: CheckStatus;
|
|
91
|
+
readonly unresolvedComments?: number;
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Input for creating/updating an issue.
|
|
95
|
+
*/
|
|
96
|
+
export interface IGitHubIssueInput {
|
|
97
|
+
readonly number: number;
|
|
98
|
+
readonly repo: string;
|
|
99
|
+
readonly title: string;
|
|
100
|
+
readonly status?: 'open' | 'closed';
|
|
101
|
+
readonly url: string;
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* PR with all related entities.
|
|
105
|
+
*/
|
|
106
|
+
export interface IPullRequestWithRelations {
|
|
107
|
+
readonly pr: IPullRequest;
|
|
108
|
+
readonly issues: readonly IGitHubIssue[];
|
|
109
|
+
readonly checks: readonly IPrCheck[];
|
|
110
|
+
readonly comments: readonly IPrComment[];
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Create a default PR object.
|
|
114
|
+
*/
|
|
115
|
+
export declare function createPullRequest(input: IPullRequestInput): IPullRequest;
|
|
116
|
+
/**
|
|
117
|
+
* Create a default issue object.
|
|
118
|
+
*/
|
|
119
|
+
export declare function createGitHubIssue(input: IGitHubIssueInput): IGitHubIssue;
|
|
120
|
+
//# sourceMappingURL=IPullRequest.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IPullRequest.d.ts","sourceRoot":"","sources":["../../../../../src/lib/domain/interfaces/types/IPullRequest.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* GitHub Pull Request domain types.
|
|
4
|
+
*
|
|
5
|
+
* These types support Lisa's PR workflow feature, storing PR data
|
|
6
|
+
* in Neo4j with user-scoped group_id (e.g., "user:tonycasey").
|
|
7
|
+
*
|
|
8
|
+
* @see .dev/features/github-pr.md for full specification
|
|
9
|
+
*/
|
|
10
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
11
|
+
exports.createPullRequest = createPullRequest;
|
|
12
|
+
exports.createGitHubIssue = createGitHubIssue;
|
|
13
|
+
/**
|
|
14
|
+
* Create a default PR object.
|
|
15
|
+
*/
|
|
16
|
+
function createPullRequest(input) {
|
|
17
|
+
return {
|
|
18
|
+
type: 'pull_request',
|
|
19
|
+
number: input.number,
|
|
20
|
+
repo: input.repo,
|
|
21
|
+
title: input.title,
|
|
22
|
+
status: input.status ?? 'open',
|
|
23
|
+
watching: input.watching ?? true,
|
|
24
|
+
watchingSince: input.watching !== false ? new Date().toISOString() : undefined,
|
|
25
|
+
checksStatus: input.checksStatus ?? 'pending',
|
|
26
|
+
unresolvedComments: input.unresolvedComments ?? 0,
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Create a default issue object.
|
|
31
|
+
*/
|
|
32
|
+
function createGitHubIssue(input) {
|
|
33
|
+
return {
|
|
34
|
+
type: 'issue',
|
|
35
|
+
number: input.number,
|
|
36
|
+
repo: input.repo,
|
|
37
|
+
title: input.title,
|
|
38
|
+
status: input.status ?? 'open',
|
|
39
|
+
url: input.url,
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=IPullRequest.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IPullRequest.js","sourceRoot":"","sources":["../../../../../src/lib/domain/interfaces/types/IPullRequest.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;AAsHH,8CAYC;AAKD,8CASC;AA7BD;;GAEG;AACH,SAAgB,iBAAiB,CAAC,KAAwB;IACxD,OAAO;QACL,IAAI,EAAE,cAAc;QACpB,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,MAAM;QAC9B,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,IAAI;QAChC,aAAa,EAAE,KAAK,CAAC,QAAQ,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,SAAS;QAC9E,YAAY,EAAE,KAAK,CAAC,YAAY,IAAI,SAAS;QAC7C,kBAAkB,EAAE,KAAK,CAAC,kBAAkB,IAAI,CAAC;KAClD,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAgB,iBAAiB,CAAC,KAAwB;IACxD,OAAO;QACL,IAAI,EAAE,OAAO;QACb,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,MAAM;QAC9B,GAAG,EAAE,KAAK,CAAC,GAAG;KACf,CAAC;AACJ,CAAC"}
|
|
@@ -2,6 +2,19 @@
|
|
|
2
2
|
* Task status values.
|
|
3
3
|
*/
|
|
4
4
|
export type TaskStatus = 'ready' | 'in-progress' | 'blocked' | 'done' | 'closed' | 'unknown';
|
|
5
|
+
/**
|
|
6
|
+
* External system link source types.
|
|
7
|
+
*/
|
|
8
|
+
export type ExternalLinkSource = 'github' | 'jira' | 'linear';
|
|
9
|
+
/**
|
|
10
|
+
* Link to an external task management system.
|
|
11
|
+
*/
|
|
12
|
+
export interface ITaskExternalLink {
|
|
13
|
+
readonly source: ExternalLinkSource;
|
|
14
|
+
readonly id: string;
|
|
15
|
+
readonly url: string;
|
|
16
|
+
readonly syncedAt?: string;
|
|
17
|
+
}
|
|
5
18
|
/**
|
|
6
19
|
* A task tracked in memory.
|
|
7
20
|
*/
|
|
@@ -11,6 +24,7 @@ export interface ITask {
|
|
|
11
24
|
readonly title: string;
|
|
12
25
|
readonly blocked: readonly string[];
|
|
13
26
|
readonly created_at?: string;
|
|
27
|
+
readonly externalLink?: ITaskExternalLink;
|
|
14
28
|
}
|
|
15
29
|
/**
|
|
16
30
|
* Input for creating a new task.
|
|
@@ -19,6 +33,7 @@ export interface ITaskInput {
|
|
|
19
33
|
readonly title: string;
|
|
20
34
|
readonly status?: TaskStatus;
|
|
21
35
|
readonly blocked?: readonly string[];
|
|
36
|
+
readonly externalLink?: ITaskExternalLink;
|
|
22
37
|
}
|
|
23
38
|
/**
|
|
24
39
|
* Input for updating an existing task.
|
|
@@ -27,6 +42,7 @@ export interface ITaskUpdate {
|
|
|
27
42
|
readonly status?: TaskStatus;
|
|
28
43
|
readonly title?: string;
|
|
29
44
|
readonly blocked?: readonly string[];
|
|
45
|
+
readonly externalLink?: ITaskExternalLink | null;
|
|
30
46
|
}
|
|
31
47
|
/**
|
|
32
48
|
* Task counts by status.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ITask.d.ts","sourceRoot":"","sources":["../../../../../src/lib/domain/interfaces/types/ITask.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,OAAO,GAAG,aAAa,GAAG,SAAS,GAAG,MAAM,GAAG,QAAQ,GAAG,SAAS,CAAC;AAE7F;;GAEG;AACH,MAAM,WAAW,KAAK;IACpB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"ITask.d.ts","sourceRoot":"","sources":["../../../../../src/lib/domain/interfaces/types/ITask.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,OAAO,GAAG,aAAa,GAAG,SAAS,GAAG,MAAM,GAAG,QAAQ,GAAG,SAAS,CAAC;AAE7F;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,QAAQ,GAAG,MAAM,GAAG,QAAQ,CAAC;AAE9D;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,MAAM,EAAE,kBAAkB,CAAC;IACpC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,KAAK;IACpB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,YAAY,CAAC,EAAE,iBAAiB,CAAC;CAC3C;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,CAAC,EAAE,UAAU,CAAC;IAC7B,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC,QAAQ,CAAC,YAAY,CAAC,EAAE,iBAAiB,CAAC;CAC3C;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,MAAM,CAAC,EAAE,UAAU,CAAC;IAC7B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC,QAAQ,CAAC,YAAY,CAAC,EAAE,iBAAiB,GAAG,IAAI,CAAC;CAClD;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,WAAW,CAS7C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ITask.js","sourceRoot":"","sources":["../../../../../src/lib/domain/interfaces/types/ITask.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"ITask.js","sourceRoot":"","sources":["../../../../../src/lib/domain/interfaces/types/ITask.ts"],"names":[],"mappings":";;AAmEA,0CASC;AAZD;;GAEG;AACH,SAAgB,eAAe;IAC7B,OAAO;QACL,KAAK,EAAE,CAAC;QACR,aAAa,EAAE,CAAC;QAChB,OAAO,EAAE,CAAC;QACV,IAAI,EAAE,CAAC;QACP,MAAM,EAAE,CAAC;QACT,OAAO,EAAE,CAAC;KACX,CAAC;AACJ,CAAC"}
|
|
@@ -4,4 +4,5 @@
|
|
|
4
4
|
export { IMemoryItem, IMemoryResult, IMemoryResultBuilder, emptyMemoryResult, createMemoryResultBuilder } from './IMemoryResult';
|
|
5
5
|
export { TaskStatus, ITask, ITaskInput, ITaskUpdate, ITaskCounts, emptyTaskCounts } from './ITask';
|
|
6
6
|
export { ICapturedWork, emptyCapturedWork } from './ICapturedWork';
|
|
7
|
+
export { PullRequestStatus, CheckStatus, CommentStatus, IGitHubIssue, IPullRequest, IPrCheck, IPrComment, IPullRequestInput, IGitHubIssueInput, IPullRequestWithRelations, createPullRequest, createGitHubIssue, } from './IPullRequest';
|
|
7
8
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/lib/domain/interfaces/types/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AACjI,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AACnG,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/lib/domain/interfaces/types/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AACjI,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AACnG,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACnE,OAAO,EACL,iBAAiB,EACjB,WAAW,EACX,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,QAAQ,EACR,UAAU,EACV,iBAAiB,EACjB,iBAAiB,EACjB,yBAAyB,EACzB,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,gBAAgB,CAAC"}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* Type interfaces (data structures).
|
|
4
4
|
*/
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.emptyCapturedWork = exports.emptyTaskCounts = exports.createMemoryResultBuilder = exports.emptyMemoryResult = void 0;
|
|
6
|
+
exports.createGitHubIssue = exports.createPullRequest = exports.emptyCapturedWork = exports.emptyTaskCounts = exports.createMemoryResultBuilder = exports.emptyMemoryResult = void 0;
|
|
7
7
|
var IMemoryResult_1 = require("./IMemoryResult");
|
|
8
8
|
Object.defineProperty(exports, "emptyMemoryResult", { enumerable: true, get: function () { return IMemoryResult_1.emptyMemoryResult; } });
|
|
9
9
|
Object.defineProperty(exports, "createMemoryResultBuilder", { enumerable: true, get: function () { return IMemoryResult_1.createMemoryResultBuilder; } });
|
|
@@ -11,4 +11,7 @@ var ITask_1 = require("./ITask");
|
|
|
11
11
|
Object.defineProperty(exports, "emptyTaskCounts", { enumerable: true, get: function () { return ITask_1.emptyTaskCounts; } });
|
|
12
12
|
var ICapturedWork_1 = require("./ICapturedWork");
|
|
13
13
|
Object.defineProperty(exports, "emptyCapturedWork", { enumerable: true, get: function () { return ICapturedWork_1.emptyCapturedWork; } });
|
|
14
|
+
var IPullRequest_1 = require("./IPullRequest");
|
|
15
|
+
Object.defineProperty(exports, "createPullRequest", { enumerable: true, get: function () { return IPullRequest_1.createPullRequest; } });
|
|
16
|
+
Object.defineProperty(exports, "createGitHubIssue", { enumerable: true, get: function () { return IPullRequest_1.createGitHubIssue; } });
|
|
14
17
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/lib/domain/interfaces/types/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,iDAAiI;AAAtE,kHAAA,iBAAiB,OAAA;AAAE,0HAAA,yBAAyB,OAAA;AACvG,iCAAmG;AAAjC,wGAAA,eAAe,OAAA;AACjF,iDAAmE;AAA3C,kHAAA,iBAAiB,OAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/lib/domain/interfaces/types/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,iDAAiI;AAAtE,kHAAA,iBAAiB,OAAA;AAAE,0HAAA,yBAAyB,OAAA;AACvG,iCAAmG;AAAjC,wGAAA,eAAe,OAAA;AACjF,iDAAmE;AAA3C,kHAAA,iBAAiB,OAAA;AACzC,+CAawB;AAFtB,iHAAA,iBAAiB,OAAA;AACjB,iHAAA,iBAAiB,OAAA"}
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cancellation utilities for async operations.
|
|
3
|
+
*
|
|
4
|
+
* Provides AbortController-based cancellation for async workflows,
|
|
5
|
+
* ensuring no mutations occur after timeout and resources are cleaned up.
|
|
6
|
+
*
|
|
7
|
+
* These utilities are in the domain layer as they represent domain-agnostic
|
|
8
|
+
* patterns that can be used by both application and infrastructure layers.
|
|
9
|
+
*/
|
|
10
|
+
/**
|
|
11
|
+
* Error thrown when an operation is cancelled.
|
|
12
|
+
*/
|
|
13
|
+
export declare class CancellationError extends Error {
|
|
14
|
+
constructor(message?: string);
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Check if an error is a CancellationError.
|
|
18
|
+
*/
|
|
19
|
+
export declare function isCancellationError(error: unknown): error is CancellationError;
|
|
20
|
+
/**
|
|
21
|
+
* Options for cancellable operations.
|
|
22
|
+
*/
|
|
23
|
+
export interface CancellableOptions {
|
|
24
|
+
/** Timeout in milliseconds. If not provided, no timeout is set. */
|
|
25
|
+
timeoutMs?: number;
|
|
26
|
+
/** External abort signal to combine with internal timeout. */
|
|
27
|
+
signal?: AbortSignal;
|
|
28
|
+
/** Callback when cancellation occurs (for cleanup). */
|
|
29
|
+
onCancel?: () => void;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Result of a cancellable operation.
|
|
33
|
+
*/
|
|
34
|
+
export interface CancellableResult<T> {
|
|
35
|
+
/** The result value, if operation completed successfully. */
|
|
36
|
+
value?: T;
|
|
37
|
+
/** Whether the operation was cancelled (timeout or external signal). */
|
|
38
|
+
cancelled: boolean;
|
|
39
|
+
/** Whether the operation timed out specifically. */
|
|
40
|
+
timedOut: boolean;
|
|
41
|
+
/** Error if operation failed (not due to cancellation). */
|
|
42
|
+
error?: Error;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Run an async operation with cancellation support.
|
|
46
|
+
*
|
|
47
|
+
* The operation receives an AbortSignal that it should check periodically.
|
|
48
|
+
* If the operation doesn't respect the signal, it will still be "cancelled"
|
|
49
|
+
* from the caller's perspective, but the underlying work may continue.
|
|
50
|
+
*
|
|
51
|
+
* @param operation - Async function that receives an AbortSignal
|
|
52
|
+
* @param options - Cancellation options (timeout, external signal, cleanup callback)
|
|
53
|
+
* @returns Result with value, cancelled status, and any error
|
|
54
|
+
*
|
|
55
|
+
* @example
|
|
56
|
+
* ```typescript
|
|
57
|
+
* const result = await withCancellation(
|
|
58
|
+
* async (signal) => {
|
|
59
|
+
* // Check signal before expensive operations
|
|
60
|
+
* if (signal.aborted) throw new CancellationError();
|
|
61
|
+
*
|
|
62
|
+
* const data = await fetchData();
|
|
63
|
+
*
|
|
64
|
+
* // Check again before mutations
|
|
65
|
+
* if (signal.aborted) throw new CancellationError();
|
|
66
|
+
*
|
|
67
|
+
* return processData(data);
|
|
68
|
+
* },
|
|
69
|
+
* { timeoutMs: 5000 }
|
|
70
|
+
* );
|
|
71
|
+
*
|
|
72
|
+
* if (result.cancelled) {
|
|
73
|
+
* console.log('Operation was cancelled');
|
|
74
|
+
* } else if (result.error) {
|
|
75
|
+
* console.error('Operation failed:', result.error);
|
|
76
|
+
* } else {
|
|
77
|
+
* console.log('Result:', result.value);
|
|
78
|
+
* }
|
|
79
|
+
* ```
|
|
80
|
+
*/
|
|
81
|
+
export declare function withCancellation<T>(operation: (signal: AbortSignal) => Promise<T>, options?: CancellableOptions): Promise<CancellableResult<T>>;
|
|
82
|
+
/**
|
|
83
|
+
* Check if an AbortSignal is aborted and throw CancellationError if so.
|
|
84
|
+
* Use this at checkpoints within long-running operations.
|
|
85
|
+
*
|
|
86
|
+
* @param signal - The abort signal to check
|
|
87
|
+
* @param message - Optional message for the CancellationError
|
|
88
|
+
* @throws CancellationError if the signal is aborted
|
|
89
|
+
*
|
|
90
|
+
* @example
|
|
91
|
+
* ```typescript
|
|
92
|
+
* async function processItems(items: Item[], signal: AbortSignal) {
|
|
93
|
+
* for (const item of items) {
|
|
94
|
+
* checkCancellation(signal);
|
|
95
|
+
* await processItem(item);
|
|
96
|
+
* }
|
|
97
|
+
* }
|
|
98
|
+
* ```
|
|
99
|
+
*/
|
|
100
|
+
export declare function checkCancellation(signal: AbortSignal, message?: string): void;
|
|
101
|
+
/**
|
|
102
|
+
* Create a deferred promise that can be resolved/rejected externally.
|
|
103
|
+
* Useful for creating cancellable promise wrappers.
|
|
104
|
+
*/
|
|
105
|
+
export interface Deferred<T> {
|
|
106
|
+
promise: Promise<T>;
|
|
107
|
+
resolve: (value: T) => void;
|
|
108
|
+
reject: (reason?: unknown) => void;
|
|
109
|
+
}
|
|
110
|
+
export declare function createDeferred<T>(): Deferred<T>;
|
|
111
|
+
//# sourceMappingURL=cancellation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cancellation.d.ts","sourceRoot":"","sources":["../../../../src/lib/domain/utils/cancellation.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH;;GAEG;AACH,qBAAa,iBAAkB,SAAQ,KAAK;gBAC9B,OAAO,GAAE,MAAkC;CAIxD;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,iBAAiB,CAE9E;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,mEAAmE;IACnE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,8DAA8D;IAC9D,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,uDAAuD;IACvD,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB,CAAC,CAAC;IAClC,6DAA6D;IAC7D,KAAK,CAAC,EAAE,CAAC,CAAC;IACV,wEAAwE;IACxE,SAAS,EAAE,OAAO,CAAC;IACnB,oDAAoD;IACpD,QAAQ,EAAE,OAAO,CAAC;IAClB,2DAA2D;IAC3D,KAAK,CAAC,EAAE,KAAK,CAAC;CACf;AAyBD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,wBAAsB,gBAAgB,CAAC,CAAC,EACtC,SAAS,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,OAAO,CAAC,CAAC,CAAC,EAC9C,OAAO,GAAE,kBAAuB,GAC/B,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAuD/B;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAI7E;AAED;;;GAGG;AACH,MAAM,WAAW,QAAQ,CAAC,CAAC;IACzB,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;IACpB,OAAO,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC;IAC5B,MAAM,EAAE,CAAC,MAAM,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;CACpC;AAED,wBAAgB,cAAc,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAU/C"}
|
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Cancellation utilities for async operations.
|
|
4
|
+
*
|
|
5
|
+
* Provides AbortController-based cancellation for async workflows,
|
|
6
|
+
* ensuring no mutations occur after timeout and resources are cleaned up.
|
|
7
|
+
*
|
|
8
|
+
* These utilities are in the domain layer as they represent domain-agnostic
|
|
9
|
+
* patterns that can be used by both application and infrastructure layers.
|
|
10
|
+
*/
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.CancellationError = void 0;
|
|
13
|
+
exports.isCancellationError = isCancellationError;
|
|
14
|
+
exports.withCancellation = withCancellation;
|
|
15
|
+
exports.checkCancellation = checkCancellation;
|
|
16
|
+
exports.createDeferred = createDeferred;
|
|
17
|
+
/**
|
|
18
|
+
* Error thrown when an operation is cancelled.
|
|
19
|
+
*/
|
|
20
|
+
class CancellationError extends Error {
|
|
21
|
+
constructor(message = 'Operation was cancelled') {
|
|
22
|
+
super(message);
|
|
23
|
+
this.name = 'CancellationError';
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
exports.CancellationError = CancellationError;
|
|
27
|
+
/**
|
|
28
|
+
* Check if an error is a CancellationError.
|
|
29
|
+
*/
|
|
30
|
+
function isCancellationError(error) {
|
|
31
|
+
return error instanceof CancellationError;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Combine multiple AbortSignals into one.
|
|
35
|
+
* The combined signal aborts when any of the input signals abort.
|
|
36
|
+
*/
|
|
37
|
+
function combineAbortSignals(...signals) {
|
|
38
|
+
const controller = new AbortController();
|
|
39
|
+
for (const signal of signals) {
|
|
40
|
+
if (signal.aborted) {
|
|
41
|
+
controller.abort();
|
|
42
|
+
return controller.signal;
|
|
43
|
+
}
|
|
44
|
+
signal.addEventListener('abort', () => controller.abort(), { once: true });
|
|
45
|
+
}
|
|
46
|
+
return controller.signal;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Run an async operation with cancellation support.
|
|
50
|
+
*
|
|
51
|
+
* The operation receives an AbortSignal that it should check periodically.
|
|
52
|
+
* If the operation doesn't respect the signal, it will still be "cancelled"
|
|
53
|
+
* from the caller's perspective, but the underlying work may continue.
|
|
54
|
+
*
|
|
55
|
+
* @param operation - Async function that receives an AbortSignal
|
|
56
|
+
* @param options - Cancellation options (timeout, external signal, cleanup callback)
|
|
57
|
+
* @returns Result with value, cancelled status, and any error
|
|
58
|
+
*
|
|
59
|
+
* @example
|
|
60
|
+
* ```typescript
|
|
61
|
+
* const result = await withCancellation(
|
|
62
|
+
* async (signal) => {
|
|
63
|
+
* // Check signal before expensive operations
|
|
64
|
+
* if (signal.aborted) throw new CancellationError();
|
|
65
|
+
*
|
|
66
|
+
* const data = await fetchData();
|
|
67
|
+
*
|
|
68
|
+
* // Check again before mutations
|
|
69
|
+
* if (signal.aborted) throw new CancellationError();
|
|
70
|
+
*
|
|
71
|
+
* return processData(data);
|
|
72
|
+
* },
|
|
73
|
+
* { timeoutMs: 5000 }
|
|
74
|
+
* );
|
|
75
|
+
*
|
|
76
|
+
* if (result.cancelled) {
|
|
77
|
+
* console.log('Operation was cancelled');
|
|
78
|
+
* } else if (result.error) {
|
|
79
|
+
* console.error('Operation failed:', result.error);
|
|
80
|
+
* } else {
|
|
81
|
+
* console.log('Result:', result.value);
|
|
82
|
+
* }
|
|
83
|
+
* ```
|
|
84
|
+
*/
|
|
85
|
+
async function withCancellation(operation, options = {}) {
|
|
86
|
+
const { timeoutMs, signal: externalSignal, onCancel } = options;
|
|
87
|
+
// Create internal abort controller for timeout
|
|
88
|
+
const controller = new AbortController();
|
|
89
|
+
let timeoutId = null;
|
|
90
|
+
let timedOut = false;
|
|
91
|
+
// Combine external signal with internal controller
|
|
92
|
+
const combinedSignal = externalSignal
|
|
93
|
+
? combineAbortSignals(controller.signal, externalSignal)
|
|
94
|
+
: controller.signal;
|
|
95
|
+
// Set up timeout if specified
|
|
96
|
+
if (timeoutMs !== undefined && timeoutMs > 0) {
|
|
97
|
+
timeoutId = setTimeout(() => {
|
|
98
|
+
timedOut = true;
|
|
99
|
+
controller.abort();
|
|
100
|
+
onCancel?.();
|
|
101
|
+
}, timeoutMs);
|
|
102
|
+
}
|
|
103
|
+
// Listen to external signal (store handler for cleanup)
|
|
104
|
+
let onExternalAbort = null;
|
|
105
|
+
if (externalSignal) {
|
|
106
|
+
onExternalAbort = () => {
|
|
107
|
+
controller.abort();
|
|
108
|
+
onCancel?.();
|
|
109
|
+
};
|
|
110
|
+
externalSignal.addEventListener('abort', onExternalAbort, { once: true });
|
|
111
|
+
}
|
|
112
|
+
try {
|
|
113
|
+
const value = await operation(combinedSignal);
|
|
114
|
+
// Check if cancelled after operation completed (race condition protection)
|
|
115
|
+
if (combinedSignal.aborted) {
|
|
116
|
+
return { cancelled: true, timedOut };
|
|
117
|
+
}
|
|
118
|
+
return { value, cancelled: false, timedOut: false };
|
|
119
|
+
}
|
|
120
|
+
catch (error) {
|
|
121
|
+
if (isCancellationError(error) || combinedSignal.aborted) {
|
|
122
|
+
return { cancelled: true, timedOut };
|
|
123
|
+
}
|
|
124
|
+
return { cancelled: false, timedOut: false, error: error };
|
|
125
|
+
}
|
|
126
|
+
finally {
|
|
127
|
+
if (timeoutId !== null) {
|
|
128
|
+
clearTimeout(timeoutId);
|
|
129
|
+
}
|
|
130
|
+
// Clean up external signal listener to prevent memory leaks
|
|
131
|
+
if (externalSignal && onExternalAbort) {
|
|
132
|
+
externalSignal.removeEventListener('abort', onExternalAbort);
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* Check if an AbortSignal is aborted and throw CancellationError if so.
|
|
138
|
+
* Use this at checkpoints within long-running operations.
|
|
139
|
+
*
|
|
140
|
+
* @param signal - The abort signal to check
|
|
141
|
+
* @param message - Optional message for the CancellationError
|
|
142
|
+
* @throws CancellationError if the signal is aborted
|
|
143
|
+
*
|
|
144
|
+
* @example
|
|
145
|
+
* ```typescript
|
|
146
|
+
* async function processItems(items: Item[], signal: AbortSignal) {
|
|
147
|
+
* for (const item of items) {
|
|
148
|
+
* checkCancellation(signal);
|
|
149
|
+
* await processItem(item);
|
|
150
|
+
* }
|
|
151
|
+
* }
|
|
152
|
+
* ```
|
|
153
|
+
*/
|
|
154
|
+
function checkCancellation(signal, message) {
|
|
155
|
+
if (signal.aborted) {
|
|
156
|
+
throw new CancellationError(message);
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
function createDeferred() {
|
|
160
|
+
let resolve;
|
|
161
|
+
let reject;
|
|
162
|
+
const promise = new Promise((res, rej) => {
|
|
163
|
+
resolve = res;
|
|
164
|
+
reject = rej;
|
|
165
|
+
});
|
|
166
|
+
return { promise, resolve, reject };
|
|
167
|
+
}
|
|
168
|
+
//# sourceMappingURL=cancellation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cancellation.js","sourceRoot":"","sources":["../../../../src/lib/domain/utils/cancellation.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Domain utilities.
|
|
3
|
+
*
|
|
4
|
+
* These are domain-agnostic utilities that can be used by both
|
|
5
|
+
* application and infrastructure layers.
|
|
6
|
+
*/
|
|
7
|
+
export { CancellationError, isCancellationError, withCancellation, checkCancellation, createDeferred, type CancellableOptions, type CancellableResult, type Deferred, } from './cancellation';
|
|
8
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/domain/utils/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,gBAAgB,EAChB,iBAAiB,EACjB,cAAc,EACd,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,KAAK,QAAQ,GACd,MAAM,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createDeferred = exports.checkCancellation = exports.withCancellation = exports.isCancellationError = exports.CancellationError = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Domain utilities.
|
|
6
|
+
*
|
|
7
|
+
* These are domain-agnostic utilities that can be used by both
|
|
8
|
+
* application and infrastructure layers.
|
|
9
|
+
*/
|
|
10
|
+
var cancellation_1 = require("./cancellation");
|
|
11
|
+
Object.defineProperty(exports, "CancellationError", { enumerable: true, get: function () { return cancellation_1.CancellationError; } });
|
|
12
|
+
Object.defineProperty(exports, "isCancellationError", { enumerable: true, get: function () { return cancellation_1.isCancellationError; } });
|
|
13
|
+
Object.defineProperty(exports, "withCancellation", { enumerable: true, get: function () { return cancellation_1.withCancellation; } });
|
|
14
|
+
Object.defineProperty(exports, "checkCancellation", { enumerable: true, get: function () { return cancellation_1.checkCancellation; } });
|
|
15
|
+
Object.defineProperty(exports, "createDeferred", { enumerable: true, get: function () { return cancellation_1.createDeferred; } });
|
|
16
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/domain/utils/index.ts"],"names":[],"mappings":";;;AAAA;;;;;GAKG;AACH,+CASwB;AARtB,iHAAA,iBAAiB,OAAA;AACjB,mHAAA,mBAAmB,OAAA;AACnB,gHAAA,gBAAgB,OAAA;AAChB,iHAAA,iBAAiB,OAAA;AACjB,8GAAA,cAAc,OAAA"}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* Claude Code - Session Start Hook (Thin Adapter)
|
|
4
4
|
*
|
|
5
5
|
* Loads memory context from Graphiti MCP at the start of a new Claude session.
|
|
6
|
-
* This is a thin adapter that delegates to SessionStartHandler.
|
|
6
|
+
* This is a thin adapter that delegates to SessionStartHandler via mediator.
|
|
7
7
|
*/
|
|
8
8
|
export {};
|
|
9
9
|
//# sourceMappingURL=session-start.d.ts.map
|
|
@@ -4,29 +4,27 @@
|
|
|
4
4
|
* Claude Code - Session Start Hook (Thin Adapter)
|
|
5
5
|
*
|
|
6
6
|
* Loads memory context from Graphiti MCP at the start of a new Claude session.
|
|
7
|
-
* This is a thin adapter that delegates to SessionStartHandler.
|
|
7
|
+
* This is a thin adapter that delegates to SessionStartHandler via mediator.
|
|
8
8
|
*/
|
|
9
9
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
10
|
const di_1 = require("../../di");
|
|
11
|
-
const
|
|
11
|
+
const requests_1 = require("../../../application/mediator/requests");
|
|
12
12
|
const domain_1 = require("../../../domain");
|
|
13
13
|
const stdin_1 = require("./stdin");
|
|
14
14
|
async function main() {
|
|
15
15
|
// Read hook input to get trigger type
|
|
16
16
|
const hookInput = await (0, stdin_1.readStdin)();
|
|
17
17
|
const trigger = hookInput.trigger || hookInput.session_type || 'startup';
|
|
18
|
-
//
|
|
19
|
-
|
|
20
|
-
const services = await (0, di_1.createServicesWithCleanup)({
|
|
18
|
+
// Bootstrap container with DI
|
|
19
|
+
const { container, dispose } = await (0, di_1.bootstrapContainer)({
|
|
21
20
|
projectRoot: process.cwd(),
|
|
22
|
-
source: 'claude-code',
|
|
23
21
|
disableLogging: true,
|
|
24
22
|
});
|
|
25
23
|
try {
|
|
26
|
-
//
|
|
27
|
-
const
|
|
28
|
-
const
|
|
29
|
-
const result = await
|
|
24
|
+
// Resolve mediator and send request
|
|
25
|
+
const mediator = await container.resolve(di_1.TOKENS.Mediator);
|
|
26
|
+
const request = new requests_1.SessionStartRequest(trigger, (0, domain_1.toISOTimestamp)());
|
|
27
|
+
const result = await mediator.send(request);
|
|
30
28
|
// Output goes to Claude as system-reminder context (stdout)
|
|
31
29
|
console.log(result.contextContent);
|
|
32
30
|
// Visible confirmation to user (stderr) - brief summary
|
|
@@ -41,7 +39,7 @@ async function main() {
|
|
|
41
39
|
}
|
|
42
40
|
finally {
|
|
43
41
|
// Clean up connections before exiting
|
|
44
|
-
await
|
|
42
|
+
await dispose();
|
|
45
43
|
}
|
|
46
44
|
// Exit cleanly - don't let any remaining handles keep process alive
|
|
47
45
|
process.exit(0);
|