@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.
Files changed (262) hide show
  1. package/dist/lib/application/handlers/PromptSubmitHandler.d.ts +22 -12
  2. package/dist/lib/application/handlers/PromptSubmitHandler.d.ts.map +1 -1
  3. package/dist/lib/application/handlers/PromptSubmitHandler.js +36 -13
  4. package/dist/lib/application/handlers/PromptSubmitHandler.js.map +1 -1
  5. package/dist/lib/application/handlers/SessionStartHandler.d.ts +47 -5
  6. package/dist/lib/application/handlers/SessionStartHandler.d.ts.map +1 -1
  7. package/dist/lib/application/handlers/SessionStartHandler.js +164 -37
  8. package/dist/lib/application/handlers/SessionStartHandler.js.map +1 -1
  9. package/dist/lib/application/handlers/SessionStopHandler.d.ts +29 -5
  10. package/dist/lib/application/handlers/SessionStopHandler.d.ts.map +1 -1
  11. package/dist/lib/application/handlers/SessionStopHandler.js +83 -11
  12. package/dist/lib/application/handlers/SessionStopHandler.js.map +1 -1
  13. package/dist/lib/application/interfaces/index.d.ts +1 -0
  14. package/dist/lib/application/interfaces/index.d.ts.map +1 -1
  15. package/dist/lib/application/mediator/IMediator.d.ts +73 -0
  16. package/dist/lib/application/mediator/IMediator.d.ts.map +1 -0
  17. package/dist/lib/application/mediator/IMediator.js +12 -0
  18. package/dist/lib/application/mediator/IMediator.js.map +1 -0
  19. package/dist/lib/application/mediator/Mediator.d.ts +29 -0
  20. package/dist/lib/application/mediator/Mediator.d.ts.map +1 -0
  21. package/dist/lib/application/mediator/Mediator.js +53 -0
  22. package/dist/lib/application/mediator/Mediator.js.map +1 -0
  23. package/dist/lib/application/mediator/index.d.ts +10 -0
  24. package/dist/lib/application/mediator/index.d.ts.map +1 -0
  25. package/dist/lib/application/mediator/index.js +18 -0
  26. package/dist/lib/application/mediator/index.js.map +1 -0
  27. package/dist/lib/application/mediator/requests/PromptSubmitRequest.d.ts +60 -0
  28. package/dist/lib/application/mediator/requests/PromptSubmitRequest.d.ts.map +1 -0
  29. package/dist/lib/application/mediator/requests/PromptSubmitRequest.js +35 -0
  30. package/dist/lib/application/mediator/requests/PromptSubmitRequest.js.map +1 -0
  31. package/dist/lib/application/mediator/requests/SessionStartRequest.d.ts +36 -0
  32. package/dist/lib/application/mediator/requests/SessionStartRequest.d.ts.map +1 -0
  33. package/dist/lib/application/mediator/requests/SessionStartRequest.js +32 -0
  34. package/dist/lib/application/mediator/requests/SessionStartRequest.js.map +1 -0
  35. package/dist/lib/application/mediator/requests/SessionStopRequest.d.ts +67 -0
  36. package/dist/lib/application/mediator/requests/SessionStopRequest.d.ts.map +1 -0
  37. package/dist/lib/application/mediator/requests/SessionStopRequest.js +35 -0
  38. package/dist/lib/application/mediator/requests/SessionStopRequest.js.map +1 -0
  39. package/dist/lib/application/mediator/requests/index.d.ts +9 -0
  40. package/dist/lib/application/mediator/requests/index.d.ts.map +1 -0
  41. package/dist/lib/application/mediator/requests/index.js +13 -0
  42. package/dist/lib/application/mediator/requests/index.js.map +1 -0
  43. package/dist/lib/cli.d.ts +2 -44
  44. package/dist/lib/cli.d.ts.map +1 -1
  45. package/dist/lib/cli.js +351 -606
  46. package/dist/lib/cli.js.map +1 -1
  47. package/dist/lib/commands/docker.d.ts +20 -0
  48. package/dist/lib/commands/docker.d.ts.map +1 -0
  49. package/dist/lib/commands/docker.js +27 -0
  50. package/dist/lib/commands/docker.js.map +1 -0
  51. package/dist/lib/commands/doctor.d.ts +94 -0
  52. package/dist/lib/commands/doctor.d.ts.map +1 -0
  53. package/dist/lib/commands/doctor.js +716 -0
  54. package/dist/lib/commands/doctor.js.map +1 -0
  55. package/dist/lib/commands/index.d.ts +10 -0
  56. package/dist/lib/commands/index.d.ts.map +1 -0
  57. package/dist/lib/commands/index.js +31 -0
  58. package/dist/lib/commands/index.js.map +1 -0
  59. package/dist/lib/commands/init.d.ts +31 -0
  60. package/dist/lib/commands/init.d.ts.map +1 -0
  61. package/dist/lib/commands/init.js +497 -0
  62. package/dist/lib/commands/init.js.map +1 -0
  63. package/dist/lib/commands/shared/constants.d.ts +27 -0
  64. package/dist/lib/commands/shared/constants.d.ts.map +1 -0
  65. package/dist/lib/commands/shared/constants.js +46 -0
  66. package/dist/lib/commands/shared/constants.js.map +1 -0
  67. package/dist/lib/commands/shared/index.d.ts +5 -0
  68. package/dist/lib/commands/shared/index.d.ts.map +1 -0
  69. package/dist/lib/commands/shared/index.js +15 -0
  70. package/dist/lib/commands/shared/index.js.map +1 -0
  71. package/dist/lib/domain/index.d.ts +4 -2
  72. package/dist/lib/domain/index.d.ts.map +1 -1
  73. package/dist/lib/domain/index.js +5 -2
  74. package/dist/lib/domain/index.js.map +1 -1
  75. package/dist/lib/domain/interfaces/ILabelInference.d.ts +62 -0
  76. package/dist/lib/domain/interfaces/ILabelInference.d.ts.map +1 -0
  77. package/dist/lib/domain/interfaces/ILabelInference.js +11 -0
  78. package/dist/lib/domain/interfaces/ILabelInference.js.map +1 -0
  79. package/dist/lib/domain/interfaces/ILisaServices.d.ts +6 -0
  80. package/dist/lib/domain/interfaces/ILisaServices.d.ts.map +1 -1
  81. package/dist/lib/domain/interfaces/IMcpClient.d.ts +15 -2
  82. package/dist/lib/domain/interfaces/IMcpClient.d.ts.map +1 -1
  83. package/dist/lib/domain/interfaces/ISessionCaptureService.d.ts +2 -1
  84. package/dist/lib/domain/interfaces/ISessionCaptureService.d.ts.map +1 -1
  85. package/dist/lib/domain/interfaces/IStructuredLog.d.ts +162 -0
  86. package/dist/lib/domain/interfaces/IStructuredLog.d.ts.map +1 -0
  87. package/dist/lib/domain/interfaces/IStructuredLog.js +85 -0
  88. package/dist/lib/domain/interfaces/IStructuredLog.js.map +1 -0
  89. package/dist/lib/domain/interfaces/index.d.ts +2 -0
  90. package/dist/lib/domain/interfaces/index.d.ts.map +1 -1
  91. package/dist/lib/domain/interfaces/index.js +6 -0
  92. package/dist/lib/domain/interfaces/index.js.map +1 -1
  93. package/dist/lib/domain/interfaces/types/ITask.d.ts +16 -0
  94. package/dist/lib/domain/interfaces/types/ITask.d.ts.map +1 -1
  95. package/dist/lib/domain/interfaces/types/ITask.js.map +1 -1
  96. package/dist/lib/domain/utils/cancellation.d.ts +111 -0
  97. package/dist/lib/domain/utils/cancellation.d.ts.map +1 -0
  98. package/dist/lib/domain/utils/cancellation.js +168 -0
  99. package/dist/lib/domain/utils/cancellation.js.map +1 -0
  100. package/dist/lib/domain/utils/index.d.ts +8 -0
  101. package/dist/lib/domain/utils/index.d.ts.map +1 -0
  102. package/dist/lib/domain/utils/index.js +16 -0
  103. package/dist/lib/domain/utils/index.js.map +1 -0
  104. package/dist/lib/infrastructure/adapters/claude/session-start.d.ts +1 -1
  105. package/dist/lib/infrastructure/adapters/claude/session-start.js +9 -11
  106. package/dist/lib/infrastructure/adapters/claude/session-start.js.map +1 -1
  107. package/dist/lib/infrastructure/adapters/claude/session-stop.d.ts +1 -5
  108. package/dist/lib/infrastructure/adapters/claude/session-stop.d.ts.map +1 -1
  109. package/dist/lib/infrastructure/adapters/claude/session-stop.js +12 -15
  110. package/dist/lib/infrastructure/adapters/claude/session-stop.js.map +1 -1
  111. package/dist/lib/infrastructure/adapters/claude/user-prompt-submit.d.ts +1 -1
  112. package/dist/lib/infrastructure/adapters/claude/user-prompt-submit.js +9 -11
  113. package/dist/lib/infrastructure/adapters/claude/user-prompt-submit.js.map +1 -1
  114. package/dist/lib/infrastructure/adapters/opencode/plugin.d.ts +2 -2
  115. package/dist/lib/infrastructure/adapters/opencode/plugin.d.ts.map +1 -1
  116. package/dist/lib/infrastructure/adapters/opencode/plugin.js +16 -21
  117. package/dist/lib/infrastructure/adapters/opencode/plugin.js.map +1 -1
  118. package/dist/lib/infrastructure/cli/index.d.ts +8 -0
  119. package/dist/lib/infrastructure/cli/index.d.ts.map +1 -0
  120. package/dist/lib/infrastructure/cli/index.js +15 -0
  121. package/dist/lib/infrastructure/cli/index.js.map +1 -0
  122. package/dist/lib/infrastructure/cli/io.d.ts +91 -0
  123. package/dist/lib/infrastructure/cli/io.d.ts.map +1 -0
  124. package/dist/lib/infrastructure/cli/io.js +128 -0
  125. package/dist/lib/infrastructure/cli/io.js.map +1 -0
  126. package/dist/lib/infrastructure/dal/connections/McpConnectionManager.js +1 -1
  127. package/dist/lib/infrastructure/dal/connections/McpConnectionManager.js.map +1 -1
  128. package/dist/lib/infrastructure/dal/repositories/mcp/McpTaskRepository.d.ts.map +1 -1
  129. package/dist/lib/infrastructure/dal/repositories/mcp/McpTaskRepository.js +6 -2
  130. package/dist/lib/infrastructure/dal/repositories/mcp/McpTaskRepository.js.map +1 -1
  131. package/dist/lib/infrastructure/dal/repositories/neo4j/Neo4jTaskRepository.d.ts +5 -2
  132. package/dist/lib/infrastructure/dal/repositories/neo4j/Neo4jTaskRepository.d.ts.map +1 -1
  133. package/dist/lib/infrastructure/dal/repositories/neo4j/Neo4jTaskRepository.js +78 -45
  134. package/dist/lib/infrastructure/dal/repositories/neo4j/Neo4jTaskRepository.js.map +1 -1
  135. package/dist/lib/infrastructure/dal/repositories/zep/ZepTaskRepository.d.ts.map +1 -1
  136. package/dist/lib/infrastructure/dal/repositories/zep/ZepTaskRepository.js +6 -2
  137. package/dist/lib/infrastructure/dal/repositories/zep/ZepTaskRepository.js.map +1 -1
  138. package/dist/lib/infrastructure/di/Container.d.ts +72 -0
  139. package/dist/lib/infrastructure/di/Container.d.ts.map +1 -0
  140. package/dist/lib/infrastructure/di/Container.js +182 -0
  141. package/dist/lib/infrastructure/di/Container.js.map +1 -0
  142. package/dist/lib/infrastructure/di/IContainer.d.ts +87 -0
  143. package/dist/lib/infrastructure/di/IContainer.d.ts.map +1 -0
  144. package/dist/lib/infrastructure/di/IContainer.js +11 -0
  145. package/dist/lib/infrastructure/di/IContainer.js.map +1 -0
  146. package/dist/lib/infrastructure/di/ServiceFactory.d.ts +6 -0
  147. package/dist/lib/infrastructure/di/ServiceFactory.d.ts.map +1 -1
  148. package/dist/lib/infrastructure/di/ServiceFactory.js +66 -0
  149. package/dist/lib/infrastructure/di/ServiceFactory.js.map +1 -1
  150. package/dist/lib/infrastructure/di/bootstrap.d.ts +43 -0
  151. package/dist/lib/infrastructure/di/bootstrap.d.ts.map +1 -0
  152. package/dist/lib/infrastructure/di/bootstrap.js +272 -0
  153. package/dist/lib/infrastructure/di/bootstrap.js.map +1 -0
  154. package/dist/lib/infrastructure/di/index.d.ts +6 -0
  155. package/dist/lib/infrastructure/di/index.d.ts.map +1 -1
  156. package/dist/lib/infrastructure/di/index.js +15 -1
  157. package/dist/lib/infrastructure/di/index.js.map +1 -1
  158. package/dist/lib/infrastructure/di/tokens.d.ts +70 -0
  159. package/dist/lib/infrastructure/di/tokens.d.ts.map +1 -0
  160. package/dist/lib/infrastructure/di/tokens.js +58 -0
  161. package/dist/lib/infrastructure/di/tokens.js.map +1 -0
  162. package/dist/lib/infrastructure/index.d.ts +1 -0
  163. package/dist/lib/infrastructure/index.d.ts.map +1 -1
  164. package/dist/lib/infrastructure/index.js +2 -0
  165. package/dist/lib/infrastructure/index.js.map +1 -1
  166. package/dist/lib/infrastructure/logging/Logger.d.ts +51 -4
  167. package/dist/lib/infrastructure/logging/Logger.d.ts.map +1 -1
  168. package/dist/lib/infrastructure/logging/Logger.js +127 -2
  169. package/dist/lib/infrastructure/logging/Logger.js.map +1 -1
  170. package/dist/lib/infrastructure/mcp/McpClient.d.ts +36 -1
  171. package/dist/lib/infrastructure/mcp/McpClient.d.ts.map +1 -1
  172. package/dist/lib/infrastructure/mcp/McpClient.js +68 -2
  173. package/dist/lib/infrastructure/mcp/McpClient.js.map +1 -1
  174. package/dist/lib/infrastructure/services/LabelInferenceService.d.ts +33 -0
  175. package/dist/lib/infrastructure/services/LabelInferenceService.d.ts.map +1 -0
  176. package/dist/lib/infrastructure/services/LabelInferenceService.js +225 -0
  177. package/dist/lib/infrastructure/services/LabelInferenceService.js.map +1 -0
  178. package/dist/lib/infrastructure/services/MemoryService.d.ts +18 -1
  179. package/dist/lib/infrastructure/services/MemoryService.d.ts.map +1 -1
  180. package/dist/lib/infrastructure/services/MemoryService.js +117 -52
  181. package/dist/lib/infrastructure/services/MemoryService.js.map +1 -1
  182. package/dist/lib/infrastructure/services/SessionCaptureService.d.ts +74 -20
  183. package/dist/lib/infrastructure/services/SessionCaptureService.d.ts.map +1 -1
  184. package/dist/lib/infrastructure/services/SessionCaptureService.js +331 -22
  185. package/dist/lib/infrastructure/services/SessionCaptureService.js.map +1 -1
  186. package/dist/lib/infrastructure/services/index.d.ts +1 -0
  187. package/dist/lib/infrastructure/services/index.d.ts.map +1 -1
  188. package/dist/lib/infrastructure/services/index.js +4 -1
  189. package/dist/lib/infrastructure/services/index.js.map +1 -1
  190. package/dist/lib/infrastructure/utils/index.d.ts +10 -0
  191. package/dist/lib/infrastructure/utils/index.d.ts.map +1 -0
  192. package/dist/lib/infrastructure/utils/index.js +26 -0
  193. package/dist/lib/infrastructure/utils/index.js.map +1 -0
  194. package/dist/lib/skills/github/github.d.ts +27 -0
  195. package/dist/lib/skills/github/github.d.ts.map +1 -0
  196. package/dist/lib/skills/github/github.js +408 -0
  197. package/dist/lib/skills/github/github.js.map +1 -0
  198. package/dist/lib/skills/shared/clients/GhCliClient.d.ts +17 -0
  199. package/dist/lib/skills/shared/clients/GhCliClient.d.ts.map +1 -0
  200. package/dist/lib/skills/shared/clients/GhCliClient.js +244 -0
  201. package/dist/lib/skills/shared/clients/GhCliClient.js.map +1 -0
  202. package/dist/lib/skills/shared/clients/McpClient.d.ts +12 -0
  203. package/dist/lib/skills/shared/clients/McpClient.d.ts.map +1 -1
  204. package/dist/lib/skills/shared/clients/McpClient.js +121 -76
  205. package/dist/lib/skills/shared/clients/McpClient.js.map +1 -1
  206. package/dist/lib/skills/shared/clients/index.d.ts +1 -0
  207. package/dist/lib/skills/shared/clients/index.d.ts.map +1 -1
  208. package/dist/lib/skills/shared/clients/index.js +4 -1
  209. package/dist/lib/skills/shared/clients/index.js.map +1 -1
  210. package/dist/lib/skills/shared/clients/interfaces/IGhCliClient.d.ts +56 -0
  211. package/dist/lib/skills/shared/clients/interfaces/IGhCliClient.d.ts.map +1 -0
  212. package/dist/lib/skills/shared/clients/interfaces/IGhCliClient.js +7 -0
  213. package/dist/lib/skills/shared/clients/interfaces/IGhCliClient.js.map +1 -0
  214. package/dist/lib/skills/shared/clients/interfaces/IZepClient.d.ts +7 -1
  215. package/dist/lib/skills/shared/clients/interfaces/IZepClient.d.ts.map +1 -1
  216. package/dist/lib/skills/shared/clients/interfaces/index.d.ts +1 -0
  217. package/dist/lib/skills/shared/clients/interfaces/index.d.ts.map +1 -1
  218. package/dist/lib/skills/shared/clients/interfaces/index.js +1 -0
  219. package/dist/lib/skills/shared/clients/interfaces/index.js.map +1 -1
  220. package/dist/lib/skills/shared/services/GitHubService.d.ts +169 -0
  221. package/dist/lib/skills/shared/services/GitHubService.d.ts.map +1 -0
  222. package/dist/lib/skills/shared/services/GitHubService.js +493 -0
  223. package/dist/lib/skills/shared/services/GitHubService.js.map +1 -0
  224. package/dist/lib/skills/shared/services/GitHubSyncService.d.ts +124 -0
  225. package/dist/lib/skills/shared/services/GitHubSyncService.d.ts.map +1 -0
  226. package/dist/lib/skills/shared/services/GitHubSyncService.js +412 -0
  227. package/dist/lib/skills/shared/services/GitHubSyncService.js.map +1 -0
  228. package/dist/lib/skills/shared/services/TaskCliService.d.ts +4 -2
  229. package/dist/lib/skills/shared/services/TaskCliService.d.ts.map +1 -1
  230. package/dist/lib/skills/shared/services/TaskCliService.js +90 -6
  231. package/dist/lib/skills/shared/services/TaskCliService.js.map +1 -1
  232. package/dist/lib/skills/shared/services/TaskService.d.ts.map +1 -1
  233. package/dist/lib/skills/shared/services/TaskService.js +199 -21
  234. package/dist/lib/skills/shared/services/TaskService.js.map +1 -1
  235. package/dist/lib/skills/shared/services/index.d.ts +2 -0
  236. package/dist/lib/skills/shared/services/index.d.ts.map +1 -1
  237. package/dist/lib/skills/shared/services/index.js +7 -1
  238. package/dist/lib/skills/shared/services/index.js.map +1 -1
  239. package/dist/lib/skills/shared/services/interfaces/ITaskService.d.ts +56 -1
  240. package/dist/lib/skills/shared/services/interfaces/ITaskService.d.ts.map +1 -1
  241. package/dist/lib/skills/shared/utils/index.d.ts +1 -0
  242. package/dist/lib/skills/shared/utils/index.d.ts.map +1 -1
  243. package/dist/lib/skills/shared/utils/index.js +9 -1
  244. package/dist/lib/skills/shared/utils/index.js.map +1 -1
  245. package/dist/lib/skills/shared/utils/issue-refs.d.ts +127 -0
  246. package/dist/lib/skills/shared/utils/issue-refs.d.ts.map +1 -0
  247. package/dist/lib/skills/shared/utils/issue-refs.js +179 -0
  248. package/dist/lib/skills/shared/utils/issue-refs.js.map +1 -0
  249. package/dist/lib/skills/tasks/tasks.d.ts +5 -2
  250. package/dist/lib/skills/tasks/tasks.d.ts.map +1 -1
  251. package/dist/lib/skills/tasks/tasks.js +8 -3
  252. package/dist/lib/skills/tasks/tasks.js.map +1 -1
  253. package/dist/opencode/lisa.js +5886 -1310
  254. package/dist/package.json +1 -1
  255. package/dist/project/.lisa/skills/github/SKILL.md +415 -0
  256. package/dist/project/.lisa/skills/lisa/SKILL.md +22 -0
  257. package/dist/project/.lisa/skills/memory/SKILL.md +3 -2
  258. package/package.json +6 -5
  259. package/dist/hooks/session-start.js +0 -5763
  260. package/dist/hooks/session-stop.js +0 -5348
  261. package/dist/hooks/user-prompt-submit.js +0 -5406
  262. package/dist/project/.claude/config.js +0 -40
@@ -1,24 +1,34 @@
1
- import type { IPromptSubmitEvent, ILisaServices, IRecursionResult } from '../../domain';
2
- /**
3
- * Result from handling a prompt submit event.
4
- */
5
- export interface IPromptSubmitResult {
6
- /** Recursion result if in plan mode */
7
- readonly recursion?: IRecursionResult;
8
- }
1
+ import type { ILisaServices, ILisaContext, IMemoryService, IRecursionService, ILogger } from '../../domain';
2
+ import type { IRequestHandler } from '../mediator';
3
+ import { PromptSubmitRequest } from '../mediator/requests';
4
+ import type { IPromptSubmitResult } from '../mediator/requests';
9
5
  /**
10
6
  * Handler for prompt submit events.
11
7
  * Records user prompts to memory and runs recursion in plan mode.
8
+ *
9
+ * Implements IRequestHandler for use with the Mediator pattern.
12
10
  */
13
- export declare class PromptSubmitHandler {
14
- private readonly services;
11
+ export declare class PromptSubmitHandler implements IRequestHandler<PromptSubmitRequest, IPromptSubmitResult> {
12
+ private readonly context;
13
+ private readonly memory;
14
+ private readonly recursion?;
15
+ private readonly logger?;
16
+ /**
17
+ * Create a new PromptSubmitHandler.
18
+ *
19
+ * @param services - Lisa services (legacy constructor for backward compatibility)
20
+ */
15
21
  constructor(services: ILisaServices);
16
22
  /**
17
- * Handle a prompt submit event.
23
+ * Create a new PromptSubmitHandler with individual service injection.
24
+ */
25
+ constructor(context: ILisaContext, memory: IMemoryService, recursion?: IRecursionService, logger?: ILogger);
26
+ /**
27
+ * Handle a prompt submit request.
18
28
  * - Adds the prompt to memory for context
19
29
  * - Runs memory recursion if in plan mode
20
30
  */
21
- handle(event: IPromptSubmitEvent): Promise<IPromptSubmitResult>;
31
+ handle(request: PromptSubmitRequest): Promise<IPromptSubmitResult>;
22
32
  /**
23
33
  * Truncate a string to a maximum length.
24
34
  */
@@ -1 +1 @@
1
- {"version":3,"file":"PromptSubmitHandler.d.ts","sourceRoot":"","sources":["../../../../src/lib/application/handlers/PromptSubmitHandler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAExF;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,uCAAuC;IACvC,QAAQ,CAAC,SAAS,CAAC,EAAE,gBAAgB,CAAC;CACvC;AAED;;;GAGG;AACH,qBAAa,mBAAmB;IAClB,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBAAR,QAAQ,EAAE,aAAa;IAEpD;;;;OAIG;IACG,MAAM,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAsCrE;;OAEG;IACH,OAAO,CAAC,QAAQ;CAGjB"}
1
+ {"version":3,"file":"PromptSubmitHandler.d.ts","sourceRoot":"","sources":["../../../../src/lib/application/handlers/PromptSubmitHandler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,YAAY,EACZ,cAAc,EACd,iBAAiB,EAEjB,OAAO,EACR,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAEhE;;;;;GAKG;AACH,qBAAa,mBAAoB,YAAW,eAAe,CAAC,mBAAmB,EAAE,mBAAmB,CAAC;IACnG,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAe;IACvC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiB;IACxC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAoB;IAC/C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAU;IAElC;;;;OAIG;gBACS,QAAQ,EAAE,aAAa;IAEnC;;OAEG;gBAED,OAAO,EAAE,YAAY,EACrB,MAAM,EAAE,cAAc,EACtB,SAAS,CAAC,EAAE,iBAAiB,EAC7B,MAAM,CAAC,EAAE,OAAO;IAuBlB;;;;OAIG;IACG,MAAM,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IA+CxE;;OAEG;IACH,OAAO,CAAC,QAAQ;CAGjB"}
@@ -4,26 +4,42 @@ exports.PromptSubmitHandler = void 0;
4
4
  /**
5
5
  * Handler for prompt submit events.
6
6
  * Records user prompts to memory and runs recursion in plan mode.
7
+ *
8
+ * Implements IRequestHandler for use with the Mediator pattern.
7
9
  */
8
10
  class PromptSubmitHandler {
9
- constructor(services) {
10
- this.services = services;
11
+ constructor(contextOrServices, memory, recursion, logger) {
12
+ if ('context' in contextOrServices && 'memory' in contextOrServices) {
13
+ const services = contextOrServices;
14
+ this.context = services.context;
15
+ this.memory = services.memory;
16
+ this.recursion = services.recursion;
17
+ this.logger = services.logger;
18
+ }
19
+ else {
20
+ this.context = contextOrServices;
21
+ this.memory = memory;
22
+ this.recursion = recursion;
23
+ this.logger = logger;
24
+ }
11
25
  }
12
26
  /**
13
- * Handle a prompt submit event.
27
+ * Handle a prompt submit request.
14
28
  * - Adds the prompt to memory for context
15
29
  * - Runs memory recursion if in plan mode
16
30
  */
17
- async handle(event) {
18
- const { context, memory, recursion } = this.services;
19
- const result = {};
31
+ async handle(request) {
32
+ let planModeRecursion = false;
33
+ let additionalContext;
34
+ let recursionResult;
20
35
  // Run memory recursion in plan mode
21
- if (recursion && event.permissionMode === 'plan') {
22
- if (recursion.shouldRun(event.content, event.permissionMode)) {
36
+ if (this.recursion && request.permissionMode === 'plan') {
37
+ if (this.recursion.shouldRun(request.content, request.permissionMode)) {
23
38
  try {
24
- const recursionResult = await recursion.run(event.content, context.hierarchicalGroupIds);
39
+ recursionResult = await this.recursion.run(request.content, this.context.hierarchicalGroupIds);
25
40
  if (recursionResult.hasContext) {
26
- result.recursion = recursionResult;
41
+ planModeRecursion = true;
42
+ additionalContext = recursionResult.summary;
27
43
  }
28
44
  }
29
45
  catch {
@@ -32,15 +48,22 @@ class PromptSubmitHandler {
32
48
  }
33
49
  }
34
50
  // Truncate long prompts
35
- const truncatedContent = this.truncate(event.content, 200);
51
+ const truncatedContent = this.truncate(request.content, 200);
36
52
  // Add to memory (fire-and-forget style - don't block on errors)
37
53
  try {
38
- await memory.addFact(context.groupId, `User prompt at ${event.timestamp}: ${truncatedContent}`, ['type:prompt']);
54
+ await this.memory.addFact(this.context.groupId, `User prompt at ${request.timestamp}: ${truncatedContent}`, ['type:prompt']);
39
55
  }
40
56
  catch {
41
57
  // Silently ignore errors - don't block user experience
42
58
  }
43
- return result;
59
+ return {
60
+ content: request.content,
61
+ blocked: false,
62
+ planModeRecursion,
63
+ additionalContext,
64
+ // Deprecated: include for backward compatibility
65
+ recursion: recursionResult,
66
+ };
44
67
  }
45
68
  /**
46
69
  * Truncate a string to a maximum length.
@@ -1 +1 @@
1
- {"version":3,"file":"PromptSubmitHandler.js","sourceRoot":"","sources":["../../../../src/lib/application/handlers/PromptSubmitHandler.ts"],"names":[],"mappings":";;;AAUA;;;GAGG;AACH,MAAa,mBAAmB;IAC9B,YAA6B,QAAuB;QAAvB,aAAQ,GAAR,QAAQ,CAAe;IAAG,CAAC;IAExD;;;;OAIG;IACH,KAAK,CAAC,MAAM,CAAC,KAAyB;QACpC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC;QACrD,MAAM,MAAM,GAAwB,EAAE,CAAC;QAEvC,oCAAoC;QACpC,IAAI,SAAS,IAAI,KAAK,CAAC,cAAc,KAAK,MAAM,EAAE,CAAC;YACjD,IAAI,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,cAAc,CAAC,EAAE,CAAC;gBAC7D,IAAI,CAAC;oBACH,MAAM,eAAe,GAAG,MAAM,SAAS,CAAC,GAAG,CACzC,KAAK,CAAC,OAAO,EACb,OAAO,CAAC,oBAAoB,CAC7B,CAAC;oBACF,IAAI,eAAe,CAAC,UAAU,EAAE,CAAC;wBAC9B,MAA0C,CAAC,SAAS,GAAG,eAAe,CAAC;oBAC1E,CAAC;gBACH,CAAC;gBAAC,MAAM,CAAC;oBACP,mCAAmC;gBACrC,CAAC;YACH,CAAC;QACH,CAAC;QAED,wBAAwB;QACxB,MAAM,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QAE3D,gEAAgE;QAChE,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,OAAO,CAClB,OAAO,CAAC,OAAO,EACf,kBAAkB,KAAK,CAAC,SAAS,KAAK,gBAAgB,EAAE,EACxD,CAAC,aAAa,CAAC,CAChB,CAAC;QACJ,CAAC;QAAC,MAAM,CAAC;YACP,uDAAuD;QACzD,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;OAEG;IACK,QAAQ,CAAC,GAAW,EAAE,MAAc;QAC1C,OAAO,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC;IAClE,CAAC;CACF;AApDD,kDAoDC"}
1
+ {"version":3,"file":"PromptSubmitHandler.js","sourceRoot":"","sources":["../../../../src/lib/application/handlers/PromptSubmitHandler.ts"],"names":[],"mappings":";;;AAYA;;;;;GAKG;AACH,MAAa,mBAAmB;IAuB9B,YACE,iBAA+C,EAC/C,MAAuB,EACvB,SAA6B,EAC7B,MAAgB;QAEhB,IAAI,SAAS,IAAI,iBAAiB,IAAI,QAAQ,IAAI,iBAAiB,EAAE,CAAC;YACpE,MAAM,QAAQ,GAAG,iBAAkC,CAAC;YACpD,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;YAChC,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;YAC9B,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC;YACpC,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAChC,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,OAAO,GAAG,iBAAiC,CAAC;YACjD,IAAI,CAAC,MAAM,GAAG,MAAO,CAAC;YACtB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;YAC3B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACvB,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,MAAM,CAAC,OAA4B;QACvC,IAAI,iBAAiB,GAAG,KAAK,CAAC;QAC9B,IAAI,iBAAqC,CAAC;QAC1C,IAAI,eAA6C,CAAC;QAElD,oCAAoC;QACpC,IAAI,IAAI,CAAC,SAAS,IAAI,OAAO,CAAC,cAAc,KAAK,MAAM,EAAE,CAAC;YACxD,IAAI,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC;gBACtE,IAAI,CAAC;oBACH,eAAe,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,CACxC,OAAO,CAAC,OAAO,EACf,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAClC,CAAC;oBACF,IAAI,eAAe,CAAC,UAAU,EAAE,CAAC;wBAC/B,iBAAiB,GAAG,IAAI,CAAC;wBACzB,iBAAiB,GAAG,eAAe,CAAC,OAAO,CAAC;oBAC9C,CAAC;gBACH,CAAC;gBAAC,MAAM,CAAC;oBACP,mCAAmC;gBACrC,CAAC;YACH,CAAC;QACH,CAAC;QAED,wBAAwB;QACxB,MAAM,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QAE7D,gEAAgE;QAChE,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CACvB,IAAI,CAAC,OAAO,CAAC,OAAO,EACpB,kBAAkB,OAAO,CAAC,SAAS,KAAK,gBAAgB,EAAE,EAC1D,CAAC,aAAa,CAAC,CAChB,CAAC;QACJ,CAAC;QAAC,MAAM,CAAC;YACP,uDAAuD;QACzD,CAAC;QAED,OAAO;YACL,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,OAAO,EAAE,KAAK;YACd,iBAAiB;YACjB,iBAAiB;YACjB,iDAAiD;YACjD,SAAS,EAAE,eAAe;SAC3B,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,QAAQ,CAAC,GAAW,EAAE,MAAc;QAC1C,OAAO,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC;IAClE,CAAC;CACF;AArGD,kDAqGC"}
@@ -1,19 +1,56 @@
1
- import type { ISessionStartEvent, ILisaServices } from '../../domain';
1
+ import type { ILisaServices, ILisaContext, IMemoryService, ITaskService, IMcpClient, ILogger } from '../../domain';
2
+ import type { IRepositoryRouter } from '../../domain/interfaces/dal';
3
+ import type { IGitHubSyncService } from '../../skills/shared/services/GitHubSyncService';
2
4
  import type { ISessionStartResult } from '../interfaces';
5
+ import type { IRequestHandler } from '../mediator';
6
+ import { SessionStartRequest } from '../mediator/requests';
3
7
  /**
4
8
  * Handler for session start events.
5
9
  * Loads memory context and formats it for display.
10
+ *
11
+ * Implements IRequestHandler for use with the Mediator pattern.
6
12
  */
7
- export declare class SessionStartHandler {
8
- private readonly services;
13
+ export declare class SessionStartHandler implements IRequestHandler<SessionStartRequest, ISessionStartResult> {
14
+ private readonly context;
15
+ private readonly memory;
16
+ private readonly tasks;
17
+ private readonly mcp;
18
+ private readonly router?;
19
+ private readonly logger?;
20
+ private readonly githubSync?;
21
+ /**
22
+ * Create a new SessionStartHandler.
23
+ *
24
+ * @param services - Lisa services (legacy constructor for backward compatibility)
25
+ */
9
26
  constructor(services: ILisaServices);
10
27
  /**
11
- * Handle a session start event.
28
+ * Create a new SessionStartHandler with individual service injection.
29
+ *
30
+ * @param context - Lisa context
31
+ * @param memory - Memory service
32
+ * @param tasks - Task service
33
+ * @param mcp - MCP client
34
+ * @param router - Repository router (optional)
35
+ * @param logger - Logger (optional)
36
+ * @param githubSync - GitHub sync service (optional)
37
+ */
38
+ constructor(context: ILisaContext, memory: IMemoryService, tasks: ITaskService, mcp: IMcpClient, router?: IRepositoryRouter, logger?: ILogger, githubSync?: IGitHubSyncService);
39
+ /**
40
+ * Handle a session start request.
12
41
  */
13
- handle(event: ISessionStartEvent): Promise<ISessionStartResult>;
42
+ handle(request: SessionStartRequest): Promise<ISessionStartResult>;
14
43
  /**
15
44
  * Load memory using the DAL router for optimal date ordering.
16
45
  * Uses Neo4j for date-ordered facts, MCP for init-review and tasks.
46
+ *
47
+ * Uses AbortController-based cancellation to ensure no mutations
48
+ * occur after timeout and resources are properly cleaned up.
49
+ *
50
+ * @param hierarchicalGroupIds - Hierarchical group IDs to query
51
+ * @param projectAliases - Project aliases for additional queries
52
+ * @param branch - Current git branch (optional)
53
+ * @param signal - External abort signal for cancellation (optional)
17
54
  */
18
55
  private loadMemoryWithDAL;
19
56
  /**
@@ -36,6 +73,11 @@ export declare class SessionStartHandler {
36
73
  * Format the full context content for injection.
37
74
  */
38
75
  private formatContextContent;
76
+ /**
77
+ * Detect the GitHub repository from git remote.
78
+ * Returns owner/repo format or null if not a GitHub repo.
79
+ */
80
+ private detectGitHubRepo;
39
81
  private getTaskId;
40
82
  private getTaskNum;
41
83
  private getTaskStatus;
@@ -1 +1 @@
1
- {"version":3,"file":"SessionStartHandler.d.ts","sourceRoot":"","sources":["../../../../src/lib/application/handlers/SessionStartHandler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAkB,aAAa,EAAmC,MAAM,cAAc,CAAC;AAEvH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AA2BzD;;;GAGG;AACH,qBAAa,mBAAmB;IAClB,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBAAR,QAAQ,EAAE,aAAa;IAEpD;;OAEG;IACG,MAAM,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAmDrE;;;OAGG;YACW,iBAAiB;IAkH/B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAYzB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAW3B;;OAEG;IACH,OAAO,CAAC,YAAY;IAgCpB;;OAEG;IACH,OAAO,CAAC,UAAU;IASlB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAgF5B,OAAO,CAAC,SAAS;IAKjB,OAAO,CAAC,UAAU;IAKlB,OAAO,CAAC,aAAa;IAOrB,OAAO,CAAC,UAAU;IAMlB,OAAO,CAAC,aAAa;IAOrB,OAAO,CAAC,oBAAoB;IAW5B,OAAO,CAAC,mBAAmB;IAS3B,OAAO,CAAC,mBAAmB;IA8C3B,OAAO,CAAC,mBAAmB;IAqC3B,OAAO,CAAC,kBAAkB;CAsB3B"}
1
+ {"version":3,"file":"SessionStartHandler.d.ts","sourceRoot":"","sources":["../../../../src/lib/application/handlers/SessionStartHandler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,aAAa,EACb,YAAY,EACZ,cAAc,EACd,YAAY,EACZ,UAAU,EAIV,OAAO,EACR,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gDAAgD,CAAC;AAOzF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACzD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AA2B3D;;;;;GAKG;AACH,qBAAa,mBAAoB,YAAW,eAAe,CAAC,mBAAmB,EAAE,mBAAmB,CAAC;IACnG,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAe;IACvC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiB;IACxC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAe;IACrC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAa;IACjC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAoB;IAC5C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAU;IAClC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAqB;IAEjD;;;;OAIG;gBACS,QAAQ,EAAE,aAAa;IAEnC;;;;;;;;;;OAUG;gBAED,OAAO,EAAE,YAAY,EACrB,MAAM,EAAE,cAAc,EACtB,KAAK,EAAE,YAAY,EACnB,GAAG,EAAE,UAAU,EACf,MAAM,CAAC,EAAE,iBAAiB,EAC1B,MAAM,CAAC,EAAE,OAAO,EAChB,UAAU,CAAC,EAAE,kBAAkB;IAkCjC;;OAEG;IACG,MAAM,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAqFxE;;;;;;;;;;;OAWG;YACW,iBAAiB;IAoI/B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAYzB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAW3B;;OAEG;IACH,OAAO,CAAC,YAAY;IAgCpB;;OAEG;IACH,OAAO,CAAC,UAAU;IASlB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAgF5B;;;OAGG;YACW,gBAAgB;IAyB9B,OAAO,CAAC,SAAS;IAKjB,OAAO,CAAC,UAAU;IAKlB,OAAO,CAAC,aAAa;IAOrB,OAAO,CAAC,UAAU;IAMlB,OAAO,CAAC,aAAa;IAOrB,OAAO,CAAC,oBAAoB;IAW5B,OAAO,CAAC,mBAAmB;IAS3B,OAAO,CAAC,mBAAmB;IA8C3B,OAAO,CAAC,mBAAmB;IAqC3B,OAAO,CAAC,kBAAkB;CAsB3B"}
@@ -1,4 +1,37 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
2
35
  Object.defineProperty(exports, "__esModule", { value: true });
3
36
  exports.SessionStartHandler = void 0;
4
37
  const domain_1 = require("../../domain");
@@ -21,33 +54,86 @@ const EXCLUDED_RELATIONSHIPS = new Set([
21
54
  /**
22
55
  * Handler for session start events.
23
56
  * Loads memory context and formats it for display.
57
+ *
58
+ * Implements IRequestHandler for use with the Mediator pattern.
24
59
  */
25
60
  class SessionStartHandler {
26
- constructor(services) {
27
- this.services = services;
61
+ constructor(contextOrServices, memory, tasks, mcp, router, logger, githubSync) {
62
+ // Check if this is the legacy ILisaServices constructor
63
+ if ('context' in contextOrServices && 'memory' in contextOrServices) {
64
+ const services = contextOrServices;
65
+ this.context = services.context;
66
+ this.memory = services.memory;
67
+ this.tasks = services.tasks;
68
+ this.mcp = services.mcp;
69
+ this.router = services.router;
70
+ this.logger = services.logger;
71
+ this.githubSync = services.githubSync;
72
+ }
73
+ else {
74
+ // Individual service injection
75
+ this.context = contextOrServices;
76
+ this.memory = memory;
77
+ this.tasks = tasks;
78
+ this.mcp = mcp;
79
+ this.router = router;
80
+ this.logger = logger;
81
+ this.githubSync = githubSync;
82
+ }
28
83
  }
29
84
  /**
30
- * Handle a session start event.
85
+ * Handle a session start request.
31
86
  */
32
- async handle(event) {
33
- const { context, memory, router } = this.services;
34
- const { hierarchicalGroupIds, projectAliases, branch, projectName, userName, folderType, projectRoot } = context;
87
+ async handle(request) {
88
+ const { hierarchicalGroupIds, projectAliases, branch, projectName, userName, folderType, projectRoot } = this.context;
89
+ // Sync GitHub issues on startup (non-blocking, fire-and-forget for speed)
90
+ let githubSyncResult;
91
+ if (this.githubSync && request.trigger === 'startup') {
92
+ try {
93
+ // Get repo from context (format: owner/repo or just repo name)
94
+ const repo = await this.detectGitHubRepo();
95
+ if (repo) {
96
+ const groupId = hierarchicalGroupIds[0] || projectName;
97
+ this.logger?.debug('Starting GitHub sync', { repo, groupId });
98
+ // Run sync with import direction (GitHub -> Lisa)
99
+ const result = await this.githubSync.sync({
100
+ repo,
101
+ direction: 'import',
102
+ groupId,
103
+ dryRun: false,
104
+ });
105
+ githubSyncResult = {
106
+ imported: result.imported,
107
+ updated: result.updated,
108
+ };
109
+ this.logger?.info('GitHub sync completed', {
110
+ imported: result.imported,
111
+ updated: result.updated,
112
+ skipped: result.skipped,
113
+ });
114
+ }
115
+ }
116
+ catch (error) {
117
+ // Don't fail session start if GitHub sync fails
118
+ this.logger?.warn('GitHub sync failed', { error: error.message });
119
+ }
120
+ }
35
121
  // Load memory - use DAL for date-ordered facts if router is available
36
122
  let memories;
37
- if (router && router.isBackendAvailable('neo4j')) {
123
+ if (this.router && this.router.isBackendAvailable('neo4j')) {
38
124
  // Use DAL with Neo4j for proper date ordering
39
125
  memories = await this.loadMemoryWithDAL(hierarchicalGroupIds, projectAliases, branch);
40
126
  }
41
127
  else {
42
128
  // Fall back to MCP-only path
43
- memories = await memory.loadMemory(hierarchicalGroupIds, projectAliases, branch, 5000 // 5 second timeout
129
+ memories = await this.memory.loadMemory(hierarchicalGroupIds, projectAliases, branch, 5000 // 5 second timeout
44
130
  );
45
131
  }
46
132
  // Process tasks from memory
47
133
  const tasks = this.processTasks(memories.tasks);
48
134
  const taskCounts = this.countTasks(tasks);
49
135
  // Build context content
50
- const contextContent = this.formatContextContent(event.trigger, memories, tasks, taskCounts, {
136
+ const contextContent = this.formatContextContent(request.trigger, memories, tasks, taskCounts, {
51
137
  projectName,
52
138
  userName,
53
139
  folderType,
@@ -55,7 +141,7 @@ class SessionStartHandler {
55
141
  branch,
56
142
  });
57
143
  // Build message
58
- const message = this.getTriggerMessage(event.trigger, memories.timedOut);
144
+ const message = this.getTriggerMessage(request.trigger, memories.timedOut);
59
145
  return {
60
146
  message,
61
147
  memories,
@@ -68,9 +154,18 @@ class SessionStartHandler {
68
154
  /**
69
155
  * Load memory using the DAL router for optimal date ordering.
70
156
  * Uses Neo4j for date-ordered facts, MCP for init-review and tasks.
157
+ *
158
+ * Uses AbortController-based cancellation to ensure no mutations
159
+ * occur after timeout and resources are properly cleaned up.
160
+ *
161
+ * @param hierarchicalGroupIds - Hierarchical group IDs to query
162
+ * @param projectAliases - Project aliases for additional queries
163
+ * @param branch - Current git branch (optional)
164
+ * @param signal - External abort signal for cancellation (optional)
71
165
  */
72
- async loadMemoryWithDAL(hierarchicalGroupIds, projectAliases, branch) {
73
- const { memory, mcp } = this.services;
166
+ async loadMemoryWithDAL(hierarchicalGroupIds, projectAliases, branch, signal) {
167
+ const memory = this.memory;
168
+ const mcp = this.mcp;
74
169
  const result = {
75
170
  facts: [],
76
171
  nodes: [],
@@ -79,28 +174,35 @@ class SessionStartHandler {
79
174
  timedOut: false,
80
175
  };
81
176
  const TIMEOUT_MS = 5000;
82
- let timedOut = false;
83
177
  // Combine hierarchical group IDs with project aliases for comprehensive search
84
178
  // This ensures we find memories stored with either naming convention
85
179
  const allGroupIds = [...new Set([...hierarchicalGroupIds, ...projectAliases])];
86
- const loadPromise = async () => {
180
+ const cancellableResult = await (0, domain_1.withCancellation)(async (abortSignal) => {
87
181
  // Load init-review via MCP (semantic search for specific tag)
88
182
  try {
183
+ (0, domain_1.checkCancellation)(abortSignal, 'Memory load cancelled before init-review');
89
184
  const initFacts = await memory.searchFacts(allGroupIds, 'init-review', 1);
185
+ (0, domain_1.checkCancellation)(abortSignal, 'Memory load cancelled after init-review fetch');
90
186
  const initFact = initFacts.find((f) => f.tags?.includes('type:init-review'));
91
187
  if (initFact) {
92
188
  result.initReview = initFact.fact || initFact.name || null;
93
189
  }
94
190
  }
95
- catch {
191
+ catch (error) {
192
+ if ((0, domain_1.isCancellationError)(error))
193
+ throw error;
96
194
  // Continue if init-review load fails
97
195
  }
98
196
  // Load facts using DAL with date ordering (Neo4j preferred)
99
197
  try {
198
+ (0, domain_1.checkCancellation)(abortSignal, 'Memory load cancelled before facts');
100
199
  const facts = await memory.loadFactsDateOrdered(allGroupIds, 100);
200
+ (0, domain_1.checkCancellation)(abortSignal, 'Memory load cancelled after facts fetch');
101
201
  result.facts = facts;
102
202
  }
103
- catch {
203
+ catch (error) {
204
+ if ((0, domain_1.isCancellationError)(error))
205
+ throw error;
104
206
  // Continue if fact load fails
105
207
  }
106
208
  // Fall back to nodes when no facts are found (preserve MCP behavior)
@@ -108,6 +210,7 @@ class SessionStartHandler {
108
210
  try {
109
211
  const seenUuids = new Set();
110
212
  for (const alias of projectAliases) {
213
+ (0, domain_1.checkCancellation)(abortSignal, 'Memory load cancelled during node iteration');
111
214
  const nodeParams = {
112
215
  query: alias,
113
216
  tags: this.buildRepoTags(alias, branch),
@@ -115,6 +218,7 @@ class SessionStartHandler {
115
218
  group_ids: [...allGroupIds],
116
219
  };
117
220
  const [nodeResp] = await mcp.call('search_nodes', nodeParams);
221
+ (0, domain_1.checkCancellation)(abortSignal, 'Memory load cancelled after nodes fetch');
118
222
  const aliasedNodes = nodeResp?.result?.nodes || nodeResp?.nodes || [];
119
223
  for (const node of aliasedNodes) {
120
224
  const uuid = node.uuid || `${node.name}-${node.fact}`;
@@ -125,14 +229,17 @@ class SessionStartHandler {
125
229
  }
126
230
  }
127
231
  }
128
- catch {
232
+ catch (error) {
233
+ if ((0, domain_1.isCancellationError)(error))
234
+ throw error;
129
235
  // Continue if node load fails
130
236
  }
131
237
  }
132
238
  // Load tasks via DAL (uses Neo4j when available for date ordering)
133
239
  try {
134
- const { tasks: taskService } = this.services;
135
- const loadedTasks = await taskService.getTasksSimple(allGroupIds);
240
+ (0, domain_1.checkCancellation)(abortSignal, 'Memory load cancelled before tasks');
241
+ const loadedTasks = await this.tasks.getTasksSimple(allGroupIds);
242
+ (0, domain_1.checkCancellation)(abortSignal, 'Memory load cancelled after tasks fetch');
136
243
  // Convert ITask[] to IMemoryItem[] format for compatibility
137
244
  for (const task of loadedTasks) {
138
245
  result.tasks.push({
@@ -149,27 +256,20 @@ class SessionStartHandler {
149
256
  });
150
257
  }
151
258
  }
152
- catch {
259
+ catch (error) {
260
+ if ((0, domain_1.isCancellationError)(error))
261
+ throw error;
153
262
  // Continue if task load fails
154
263
  }
155
- };
156
- // Race between loading and timeout
157
- let timeoutId = null;
158
- const timeoutPromise = new Promise((resolve) => {
159
- timeoutId = setTimeout(() => {
160
- timedOut = true;
161
- resolve();
162
- }, TIMEOUT_MS);
264
+ return result;
265
+ }, {
266
+ timeoutMs: TIMEOUT_MS,
267
+ signal,
268
+ onCancel: () => {
269
+ this.logger?.debug('Memory load with DAL cancelled');
270
+ },
163
271
  });
164
- try {
165
- await Promise.race([loadPromise(), timeoutPromise]);
166
- }
167
- finally {
168
- if (timeoutId !== null) {
169
- clearTimeout(timeoutId);
170
- }
171
- }
172
- result.timedOut = timedOut;
272
+ result.timedOut = cancellableResult.timedOut;
173
273
  return result;
174
274
  }
175
275
  /**
@@ -305,6 +405,33 @@ class SessionStartHandler {
305
405
  return lines.join('\n');
306
406
  }
307
407
  // --- Helper methods extracted from original hook ---
408
+ /**
409
+ * Detect the GitHub repository from git remote.
410
+ * Returns owner/repo format or null if not a GitHub repo.
411
+ */
412
+ async detectGitHubRepo() {
413
+ try {
414
+ const { execSync } = await Promise.resolve().then(() => __importStar(require('child_process')));
415
+ const remote = execSync('git remote get-url origin', {
416
+ encoding: 'utf8',
417
+ cwd: this.context.projectRoot,
418
+ stdio: ['pipe', 'pipe', 'pipe'],
419
+ }).trim();
420
+ // Parse GitHub URL formats:
421
+ // https://github.com/owner/repo.git
422
+ // git@github.com:owner/repo.git
423
+ const httpsMatch = remote.match(/github\.com\/([^/]+\/[^/.]+)/);
424
+ const sshMatch = remote.match(/github\.com:([^/]+\/[^/.]+)/);
425
+ const match = httpsMatch || sshMatch;
426
+ if (match) {
427
+ return match[1].replace(/\.git$/, '');
428
+ }
429
+ return null;
430
+ }
431
+ catch {
432
+ return null;
433
+ }
434
+ }
308
435
  getTaskId(tags = []) {
309
436
  const t = tags.find((x) => x.startsWith('task_id:'));
310
437
  return t ? t.replace('task_id:', '') : null;
@@ -1 +1 @@
1
- {"version":3,"file":"SessionStartHandler.js","sourceRoot":"","sources":["../../../../src/lib/application/handlers/SessionStartHandler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SessionStartHandler.js","sourceRoot":"","sources":["../../../../src/lib/application/handlers/SessionStartHandler.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAcA,yCAKsB;AAYtB;;GAEG;AACH,MAAM,YAAY,GAAG,EAAE,CAAC;AACxB,MAAM,mBAAmB,GAAG,CAAC,CAAC;AAC9B,MAAM,oBAAoB,GAAG,CAAC,CAAC;AAE/B;;GAEG;AACH,MAAM,sBAAsB,GAAG,IAAI,GAAG,CAAC;IACrC,wBAAwB;IACxB,oBAAoB;IACpB,+BAA+B;IAC/B,OAAO;IACP,UAAU;CACX,CAAC,CAAC;AAEH;;;;;GAKG;AACH,MAAa,mBAAmB;IAqC9B,YACE,iBAA+C,EAC/C,MAAuB,EACvB,KAAoB,EACpB,GAAgB,EAChB,MAA0B,EAC1B,MAAgB,EAChB,UAA+B;QAE/B,wDAAwD;QACxD,IAAI,SAAS,IAAI,iBAAiB,IAAI,QAAQ,IAAI,iBAAiB,EAAE,CAAC;YACpE,MAAM,QAAQ,GAAG,iBAAkC,CAAC;YACpD,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;YAChC,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;YAC9B,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;YAC5B,IAAI,CAAC,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC;YACxB,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;YAC9B,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;YAC9B,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAC;QACxC,CAAC;aAAM,CAAC;YACN,+BAA+B;YAC/B,IAAI,CAAC,OAAO,GAAG,iBAAiC,CAAC;YACjD,IAAI,CAAC,MAAM,GAAG,MAAO,CAAC;YACtB,IAAI,CAAC,KAAK,GAAG,KAAM,CAAC;YACpB,IAAI,CAAC,GAAG,GAAG,GAAI,CAAC;YAChB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;YACrB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;YACrB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC/B,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CAAC,OAA4B;QACvC,MAAM,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;QAEtH,0EAA0E;QAC1E,IAAI,gBAAmE,CAAC;QACxE,IAAI,IAAI,CAAC,UAAU,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YACrD,IAAI,CAAC;gBACH,+DAA+D;gBAC/D,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBAC3C,IAAI,IAAI,EAAE,CAAC;oBACT,MAAM,OAAO,GAAG,oBAAoB,CAAC,CAAC,CAAC,IAAI,WAAW,CAAC;oBACvD,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,sBAAsB,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;oBAE9D,kDAAkD;oBAClD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;wBACxC,IAAI;wBACJ,SAAS,EAAE,QAAQ;wBACnB,OAAO;wBACP,MAAM,EAAE,KAAK;qBACd,CAAC,CAAC;oBAEH,gBAAgB,GAAG;wBACjB,QAAQ,EAAE,MAAM,CAAC,QAAQ;wBACzB,OAAO,EAAE,MAAM,CAAC,OAAO;qBACxB,CAAC;oBAEF,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,uBAAuB,EAAE;wBACzC,QAAQ,EAAE,MAAM,CAAC,QAAQ;wBACzB,OAAO,EAAE,MAAM,CAAC,OAAO;wBACvB,OAAO,EAAE,MAAM,CAAC,OAAO;qBACxB,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,gDAAgD;gBAChD,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,oBAAoB,EAAE,EAAE,KAAK,EAAG,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;YAC/E,CAAC;QACH,CAAC;QAED,sEAAsE;QACtE,IAAI,QAAQ,CAAC;QACb,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,OAAO,CAAC,EAAE,CAAC;YAC3D,8CAA8C;YAC9C,QAAQ,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,oBAAoB,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC;QACxF,CAAC;aAAM,CAAC;YACN,6BAA6B;YAC7B,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CACrC,oBAAoB,EACpB,cAAc,EACd,MAAM,EACN,IAAI,CAAC,mBAAmB;aACzB,CAAC;QACJ,CAAC;QAED,4BAA4B;QAC5B,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAChD,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QAE1C,wBAAwB;QACxB,MAAM,cAAc,GAAG,IAAI,CAAC,oBAAoB,CAC9C,OAAO,CAAC,OAAO,EACf,QAAQ,EACR,KAAK,EACL,UAAU,EACV;YACE,WAAW;YACX,QAAQ;YACR,UAAU;YACV,WAAW;YACX,MAAM;SACP,CACF,CAAC;QAEF,gBAAgB;QAChB,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAE3E,OAAO;YACL,OAAO;YACP,QAAQ;YACR,KAAK;YACL,UAAU;YACV,cAAc;YACd,QAAQ,EAAE,QAAQ,CAAC,QAAQ;SAC5B,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;OAWG;IACK,KAAK,CAAC,iBAAiB,CAC7B,oBAAuC,EACvC,cAAiC,EACjC,MAAqB,EACrB,MAAoB;QAEpB,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;QACrB,MAAM,MAAM,GAAG;YACb,KAAK,EAAE,EAAmB;YAC1B,KAAK,EAAE,EAAmB;YAC1B,KAAK,EAAE,EAAmB;YAC1B,UAAU,EAAE,IAAqB;YACjC,QAAQ,EAAE,KAAK;SAChB,CAAC;QAEF,MAAM,UAAU,GAAG,IAAI,CAAC;QAExB,+EAA+E;QAC/E,qEAAqE;QACrE,MAAM,WAAW,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,oBAAoB,EAAE,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;QAE/E,MAAM,iBAAiB,GAAG,MAAM,IAAA,yBAAgB,EAC9C,KAAK,EAAE,WAAW,EAAE,EAAE;YACpB,8DAA8D;YAC9D,IAAI,CAAC;gBACH,IAAA,0BAAiB,EAAC,WAAW,EAAE,0CAA0C,CAAC,CAAC;gBAE3E,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,WAAW,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC;gBAE1E,IAAA,0BAAiB,EAAC,WAAW,EAAE,+CAA+C,CAAC,CAAC;gBAEhF,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,QAAQ,CAAC,kBAAkB,CAAC,CAAC,CAAC;gBAC7E,IAAI,QAAQ,EAAE,CAAC;oBACb,MAAM,CAAC,UAAU,GAAG,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,IAAI,IAAI,CAAC;gBAC7D,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,IAAA,4BAAmB,EAAC,KAAK,CAAC;oBAAE,MAAM,KAAK,CAAC;gBAC5C,qCAAqC;YACvC,CAAC;YAED,4DAA4D;YAC5D,IAAI,CAAC;gBACH,IAAA,0BAAiB,EAAC,WAAW,EAAE,oCAAoC,CAAC,CAAC;gBAErE,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;gBAElE,IAAA,0BAAiB,EAAC,WAAW,EAAE,yCAAyC,CAAC,CAAC;gBAE1E,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC;YACvB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,IAAA,4BAAmB,EAAC,KAAK,CAAC;oBAAE,MAAM,KAAK,CAAC;gBAC5C,8BAA8B;YAChC,CAAC;YAED,qEAAqE;YACrE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;gBACzB,IAAI,CAAC;oBACH,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;oBAEpC,KAAK,MAAM,KAAK,IAAI,cAAc,EAAE,CAAC;wBACnC,IAAA,0BAAiB,EAAC,WAAW,EAAE,6CAA6C,CAAC,CAAC;wBAE9E,MAAM,UAAU,GAAG;4BACjB,KAAK,EAAE,KAAK;4BACZ,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC;4BACvC,SAAS,EAAE,EAAE;4BACb,SAAS,EAAE,CAAC,GAAG,WAAW,CAAC;yBAC5B,CAAC;wBACF,MAAM,CAAC,QAAQ,CAAC,GAAG,MAAM,GAAG,CAAC,IAAI,CAAmB,cAAc,EAAE,UAAU,CAAC,CAAC;wBAEhF,IAAA,0BAAiB,EAAC,WAAW,EAAE,yCAAyC,CAAC,CAAC;wBAE1E,MAAM,YAAY,GAAG,QAAQ,EAAE,MAAM,EAAE,KAAK,IAAI,QAAQ,EAAE,KAAK,IAAI,EAAE,CAAC;wBACtE,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;4BAChC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;4BACtD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gCACzB,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gCACpB,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;4BAC1B,CAAC;wBACH,CAAC;oBACH,CAAC;gBACH,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,IAAI,IAAA,4BAAmB,EAAC,KAAK,CAAC;wBAAE,MAAM,KAAK,CAAC;oBAC5C,8BAA8B;gBAChC,CAAC;YACH,CAAC;YAED,mEAAmE;YACnE,IAAI,CAAC;gBACH,IAAA,0BAAiB,EAAC,WAAW,EAAE,oCAAoC,CAAC,CAAC;gBAErE,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;gBAEjE,IAAA,0BAAiB,EAAC,WAAW,EAAE,yCAAyC,CAAC,CAAC;gBAE1E,4DAA4D;gBAC5D,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;oBAC/B,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC;wBAChB,IAAI,EAAE,IAAI,CAAC,GAAG;wBACd,IAAI,EAAE,IAAI,CAAC,KAAK;wBAChB,IAAI,EAAE,IAAI,CAAC,KAAK;wBAChB,IAAI,EAAE;4BACJ,WAAW;4BACX,WAAW,IAAI,CAAC,GAAG,EAAE;4BACrB,UAAU,IAAI,CAAC,MAAM,EAAE;4BACvB,GAAG,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,cAAc,CAAC,EAAE,CAAC;yBAC9D;wBACD,UAAU,EAAE,IAAI,CAAC,UAAU;qBAC5B,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,IAAA,4BAAmB,EAAC,KAAK,CAAC;oBAAE,MAAM,KAAK,CAAC;gBAC5C,8BAA8B;YAChC,CAAC;YAED,OAAO,MAAM,CAAC;QAChB,CAAC,EACD;YACE,SAAS,EAAE,UAAU;YACrB,MAAM;YACN,QAAQ,EAAE,GAAG,EAAE;gBACb,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,gCAAgC,CAAC,CAAC;YACvD,CAAC;SACF,CACF,CAAC;QAEF,MAAM,CAAC,QAAQ,GAAG,iBAAiB,CAAC,QAAQ,CAAC;QAE7C,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;OAEG;IACK,iBAAiB,CAAC,OAAuB,EAAE,QAAiB;QAClE,MAAM,QAAQ,GAAmC;YAC/C,OAAO,EAAE,kCAAkC;YAC3C,MAAM,EAAE,mCAAmC;YAC3C,OAAO,EAAE,2CAA2C;YACpD,KAAK,EAAE,oCAAoC;SAC5C,CAAC;QAEF,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,QAAQ,CAAC,OAAO,CAAC;QACnD,OAAO,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,yBAAyB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACxE,CAAC;IAED;;OAEG;IACK,mBAAmB,CAAC,OAAuB;QACjD,MAAM,SAAS,GAAa,EAAE,CAAC;QAC/B,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,SAAS,CAAC,IAAI,CAAC,4FAA4F,CAAC,CAAC;QAC/G,CAAC;QACD,IAAI,OAAO,KAAK,OAAO,EAAE,CAAC;YACxB,SAAS,CAAC,IAAI,CAAC,6EAA6E,CAAC,CAAC;QAChG,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;OAEG;IACK,YAAY,CAAC,SAAiC;QACpD,MAAM,UAAU,GAAG,IAAI,GAAG,EAAuB,CAAC;QAElD,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;YAC7B,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACpE,IAAI,CAAC,GAAG;gBAAE,SAAS;YAEnB,MAAM,QAAQ,GAAG,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACrC,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YACjE,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QAC9B,CAAC;QAED,MAAM,KAAK,GAAY,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACzE,GAAG;YACH,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC;YAClC,KAAK,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,IAAI,YAAY;YACjD,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC;iBACpB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;iBAC1C,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;YAC3C,UAAU,EAAE,CAAC,CAAC,UAAU;SACzB,CAAC,CAAC,CAAC;QAEJ,mCAAmC;QACnC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YAClB,MAAM,EAAE,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YAC/D,MAAM,EAAE,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YAC/D,OAAO,EAAE,GAAG,EAAE,CAAC;QACjB,CAAC,CAAC,CAAC;QAEH,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;OAEG;IACK,UAAU,CAAC,KAAuB;QACxC,MAAM,MAAM,GAAG,EAAE,GAAG,IAAA,wBAAe,GAAE,EAAE,CAAC;QACxC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;YAC3D,MAAiC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC/C,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;OAEG;IACK,oBAAoB,CAC1B,OAAuB,EACvB,QAAwH,EACxH,KAAuB,EACvB,UAAuB,EACvB,OAMC;QAED,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;QAC3E,MAAM,KAAK,GAAa,EAAE,CAAC;QAE3B,kBAAkB;QAClB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;QAE/D,YAAY;QACZ,MAAM,SAAS,GAAG,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;QACpD,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAExC,eAAe;QACf,MAAM,aAAa,GAAG,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC;QAClG,KAAK,CAAC,IAAI,CAAC,SAAS,QAAQ,cAAc,aAAa,KAAK,UAAU,GAAG,CAAC,CAAC;QAC3E,KAAK,CAAC,IAAI,CAAC,SAAS,WAAW,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,GAAG,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAEvE,iCAAiC;QACjC,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC;YACxB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACf,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;YAChC,KAAK,CAAC,IAAI,CAAC,KAAK,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;YACvC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjB,CAAC;QAED,kBAAkB;QAClB,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;QACtE,MAAM,WAAW,GAAG,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;QACnE,MAAM,eAAe,GAAG,IAAI,CAAC,mBAAmB,CAAC,WAAW,EAAE,mBAAmB,CAAC,CAAC;QAEnF,IAAI,eAAe,CAAC,MAAM,EAAE,CAAC;YAC3B,KAAK,CAAC,IAAI,CAAC,yBAAyB,YAAY,KAAK,CAAC,CAAC;YACvD,KAAK,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,CAAC;QACjC,CAAC;aAAM,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;YACxB,KAAK,CAAC,IAAI,CAAC,yBAAyB,YAAY,iCAAiC,CAAC,CAAC;QACrF,CAAC;QAED,QAAQ;QACR,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;YACjB,MAAM,YAAY,GAAa,EAAE,CAAC;YAClC,IAAI,UAAU,CAAC,aAAa,CAAC;gBAAE,YAAY,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;YAC7F,IAAI,UAAU,CAAC,KAAK;gBAAE,YAAY,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,KAAK,QAAQ,CAAC,CAAC;YACrE,IAAI,UAAU,CAAC,OAAO;gBAAE,YAAY,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC;YAC3E,IAAI,UAAU,CAAC,IAAI;gBAAE,YAAY,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,IAAI,OAAO,CAAC,CAAC;YAClE,IAAI,UAAU,CAAC,MAAM;gBAAE,YAAY,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,MAAM,SAAS,CAAC,CAAC;YACxE,KAAK,CAAC,IAAI,CAAC,UAAU,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,aAAa,EAAE,CAAC,CAAC;YAEjE,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,aAAa,CAAC,CAAC;YAC/D,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC;YAExD,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;gBAClB,KAAK,CAAC,IAAI,CAAC,WAAW,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;YAC9D,CAAC;YACD,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;gBACjB,MAAM,SAAS,GAAG,KAAK;qBACpB,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;qBACX,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,KAAK,EAAE,CAAC;qBACnC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACf,KAAK,CAAC,IAAI,CAAC,UAAU,SAAS,EAAE,CAAC,CAAC;YACpC,CAAC;QACH,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;QAChD,CAAC;QAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED,sDAAsD;IAEtD;;;OAGG;IACK,KAAK,CAAC,gBAAgB;QAC5B,IAAI,CAAC;YACH,MAAM,EAAE,QAAQ,EAAE,GAAG,wDAAa,eAAe,GAAC,CAAC;YACnD,MAAM,MAAM,GAAG,QAAQ,CAAC,2BAA2B,EAAE;gBACnD,QAAQ,EAAE,MAAM;gBAChB,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW;gBAC7B,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;aAChC,CAAC,CAAC,IAAI,EAAE,CAAC;YAEV,4BAA4B;YAC5B,oCAAoC;YACpC,gCAAgC;YAChC,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;YAChE,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;YAE7D,MAAM,KAAK,GAAG,UAAU,IAAI,QAAQ,CAAC;YACrC,IAAI,KAAK,EAAE,CAAC;gBACV,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;YACxC,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAEO,SAAS,CAAC,OAA0B,EAAE;QAC5C,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC;QACrD,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC9C,CAAC;IAEO,UAAU,CAAC,OAA0B,EAAE;QAC7C,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC;QACtD,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC/C,CAAC;IAEO,aAAa,CAAC,OAA0B,EAAE;QAChD,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC;QACpD,MAAM,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QACtE,MAAM,aAAa,GAAG,CAAC,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;QACvF,OAAO,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAE,MAA0B,CAAC,CAAC,CAAC,SAAS,CAAC;IAClF,CAAC;IAEO,UAAU,CAAC,CAAc,EAAE,CAAc;QAC/C,MAAM,EAAE,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/D,MAAM,EAAE,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/D,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACzB,CAAC;IAEO,aAAa,CAAC,IAAY,EAAE,MAAqB;QACvD,MAAM,IAAI,GAAa,EAAE,CAAC;QAC1B,IAAI,IAAI;YAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;QACpC,IAAI,MAAM;YAAE,IAAI,CAAC,IAAI,CAAC,UAAU,MAAM,EAAE,CAAC,CAAC;QAC1C,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,oBAAoB,CAAC,QAAgC,EAAE,QAAgB;QAC7E,MAAM,MAAM,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;QAChE,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;YAC3B,IAAI,CAAC,CAAC,CAAC,UAAU;gBAAE,OAAO,KAAK,CAAC;YAChC,MAAM,OAAO,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YACvC,IAAI,OAAO,GAAG,MAAM;gBAAE,OAAO,KAAK,CAAC;YACnC,IAAI,CAAC,CAAC,IAAI,IAAI,sBAAsB,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;gBAAE,OAAO,KAAK,CAAC;YAC/D,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,mBAAmB,CAAC,QAAgC,EAAE,KAAa;QACzE,MAAM,MAAM,GAAG,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE,oBAAoB,CAAC,CAAC;QACxE,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACzC,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YAC7B,MAAM,OAAO,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YACzD,OAAO,KAAK,OAAO,MAAM,KAAK,CAAC,OAAO,EAAE,CAAC;QAC3C,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,mBAAmB,CACzB,QAAgC,EAChC,aAAqB;QAErB,IAAI,CAAC,QAAQ,CAAC,MAAM;YAAE,OAAO,EAAE,CAAC;QAEhC,MAAM,MAAM,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YACzC,MAAM,EAAE,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YAC/D,MAAM,EAAE,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YAC/D,OAAO,EAAE,GAAG,EAAE,CAAC;QACjB,CAAC,CAAC,CAAC;QAEH,MAAM,MAAM,GAAyE,EAAE,CAAC;QACxF,IAAI,YAAY,GAAkB,EAAE,CAAC;QACrC,IAAI,cAAc,GAAkB,IAAI,CAAC;QAEzC,KAAK,MAAM,MAAM,IAAI,MAAM,EAAE,CAAC;YAC5B,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YAE9E,IAAI,cAAc,KAAK,IAAI,EAAE,CAAC;gBAC5B,cAAc,GAAG,OAAO,CAAC;gBACzB,YAAY,GAAG,CAAC,MAAM,CAAC,CAAC;YAC1B,CAAC;iBAAM,IAAI,cAAc,GAAG,OAAO,IAAI,aAAa,GAAG,EAAE,GAAG,IAAI,EAAE,CAAC;gBACjE,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC5B,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,IAAI,CAAC;oBACV,SAAS,EAAE,IAAI,IAAI,CAAC,cAAc,CAAC;oBACnC,QAAQ,EAAE,YAAY;oBACtB,OAAO,EAAE,IAAI,CAAC,mBAAmB,CAAC,YAAY,CAAC;iBAChD,CAAC,CAAC;gBACH,cAAc,GAAG,OAAO,CAAC;gBACzB,YAAY,GAAG,CAAC,MAAM,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC;QAED,IAAI,YAAY,CAAC,MAAM,IAAI,cAAc,KAAK,IAAI,EAAE,CAAC;YACnD,MAAM,CAAC,IAAI,CAAC;gBACV,SAAS,EAAE,IAAI,IAAI,CAAC,cAAc,CAAC;gBACnC,QAAQ,EAAE,YAAY;gBACtB,OAAO,EAAE,IAAI,CAAC,mBAAmB,CAAC,YAAY,CAAC;aAChD,CAAC,CAAC;QACL,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,mBAAmB,CAAC,QAAuB;QACjD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,WAAW,CAAC;QAC7D,CAAC;QAED,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC1E,IAAI,CAAC,KAAK,CAAC,MAAM;YAAE,OAAO,GAAG,QAAQ,CAAC,MAAM,QAAQ,CAAC;QAErD,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACpC,IAAI,YAAY,GAAG,EAAE,CAAC;QAEtB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YACnD,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC/C,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;YAC1D,IAAI,QAAQ,EAAE,CAAC;gBACb,YAAY,GAAG,MAAM,CAAC;YACxB,CAAC;iBAAM,CAAC;gBACN,MAAM;YACR,CAAC;QACH,CAAC;QAED,YAAY,GAAG,YAAY,CAAC,OAAO,CACjC,4EAA4E,EAC5E,EAAE,CACH,CAAC;QAEF,IAAI,YAAY,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;YAC7B,OAAO,GAAG,YAAY,KAAK,QAAQ,CAAC,MAAM,SAAS,CAAC;QACtD,CAAC;QAED,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QAC3B,IAAI,SAAS,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;YAC1B,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,QAAQ,CAAC,MAAM,GAAG,CAAC,QAAQ,CAAC;QACvE,CAAC;QACD,OAAO,GAAG,SAAS,MAAM,QAAQ,CAAC,MAAM,GAAG,CAAC,QAAQ,CAAC;IACvD,CAAC;IAEO,kBAAkB,CAAC,IAAU;QACnC,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,EAAE,GAAG,CAAC,QAAQ,EAAE,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QACzE,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;QAClE,MAAM,QAAQ,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QAE/E,MAAM,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE;YAC5C,IAAI,EAAE,SAAS;YACf,MAAM,EAAE,SAAS;YACjB,MAAM,EAAE,KAAK;SACd,CAAC,CAAC;QAEH,IAAI,QAAQ,CAAC,OAAO,EAAE,KAAK,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;YAC3C,OAAO,SAAS,IAAI,EAAE,CAAC;QACzB,CAAC;aAAM,IAAI,QAAQ,CAAC,OAAO,EAAE,KAAK,SAAS,CAAC,OAAO,EAAE,EAAE,CAAC;YACtD,OAAO,aAAa,IAAI,EAAE,CAAC;QAC7B,CAAC;aAAM,CAAC;YACN,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;YAC/D,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;YAC3B,OAAO,GAAG,KAAK,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QACnC,CAAC;IACH,CAAC;CACF;AAnoBD,kDAmoBC"}