devchain-cli 0.3.2 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (153) hide show
  1. package/README.md +14 -0
  2. package/dist/server/app.module.js +2 -0
  3. package/dist/server/app.module.js.map +1 -1
  4. package/dist/server/common/constants/terminal.d.ts +3 -0
  5. package/dist/server/common/constants/terminal.js +7 -0
  6. package/dist/server/common/constants/terminal.js.map +1 -0
  7. package/dist/server/common/validation/template-validation.d.ts +8 -0
  8. package/dist/server/common/validation/template-validation.js +18 -0
  9. package/dist/server/common/validation/template-validation.js.map +1 -0
  10. package/dist/server/modules/epics/services/epics.service.d.ts +2 -0
  11. package/dist/server/modules/epics/services/epics.service.js +194 -32
  12. package/dist/server/modules/epics/services/epics.service.js.map +1 -1
  13. package/dist/server/modules/events/catalog/epic.assigned.d.ts +9 -13
  14. package/dist/server/modules/events/catalog/epic.assigned.js +5 -5
  15. package/dist/server/modules/events/catalog/epic.assigned.js.map +1 -1
  16. package/dist/server/modules/events/catalog/epic.created.d.ts +39 -0
  17. package/dist/server/modules/events/catalog/epic.created.js +20 -0
  18. package/dist/server/modules/events/catalog/epic.created.js.map +1 -0
  19. package/dist/server/modules/events/catalog/epic.updated.d.ts +178 -0
  20. package/dist/server/modules/events/catalog/epic.updated.js +43 -0
  21. package/dist/server/modules/events/catalog/epic.updated.js.map +1 -0
  22. package/dist/server/modules/events/catalog/index.d.ts +221 -12
  23. package/dist/server/modules/events/catalog/index.js +9 -1
  24. package/dist/server/modules/events/catalog/index.js.map +1 -1
  25. package/dist/server/modules/events/catalog/settings.terminal.changed.d.ts +12 -0
  26. package/dist/server/modules/events/catalog/settings.terminal.changed.js +11 -0
  27. package/dist/server/modules/events/catalog/settings.terminal.changed.js.map +1 -0
  28. package/dist/server/modules/events/services/events.service.js +0 -7
  29. package/dist/server/modules/events/services/events.service.js.map +1 -1
  30. package/dist/server/modules/events/subscribers/chat-message-delivery.subscriber.d.ts +5 -2
  31. package/dist/server/modules/events/subscribers/chat-message-delivery.subscriber.js +44 -24
  32. package/dist/server/modules/events/subscribers/chat-message-delivery.subscriber.js.map +1 -1
  33. package/dist/server/modules/events/subscribers/epic-assignment-notifier.subscriber.d.ts +5 -8
  34. package/dist/server/modules/events/subscribers/epic-assignment-notifier.subscriber.js +37 -56
  35. package/dist/server/modules/events/subscribers/epic-assignment-notifier.subscriber.js.map +1 -1
  36. package/dist/server/modules/mcp/dtos/mcp.dto.d.ts +8 -6
  37. package/dist/server/modules/mcp/dtos/mcp.dto.js.map +1 -1
  38. package/dist/server/modules/mcp/mcp.module.js +2 -0
  39. package/dist/server/modules/mcp/mcp.module.js.map +1 -1
  40. package/dist/server/modules/mcp/services/mcp.service.d.ts +5 -1
  41. package/dist/server/modules/mcp/services/mcp.service.js +65 -33
  42. package/dist/server/modules/mcp/services/mcp.service.js.map +1 -1
  43. package/dist/server/modules/projects/controllers/projects.controller.d.ts +140 -6
  44. package/dist/server/modules/projects/controllers/projects.controller.js +91 -31
  45. package/dist/server/modules/projects/controllers/projects.controller.js.map +1 -1
  46. package/dist/server/modules/projects/dtos/export.dto.d.ts +83 -0
  47. package/dist/server/modules/projects/dtos/export.dto.js +34 -0
  48. package/dist/server/modules/projects/dtos/export.dto.js.map +1 -0
  49. package/dist/server/modules/projects/projects.module.js +1 -0
  50. package/dist/server/modules/projects/projects.module.js.map +1 -1
  51. package/dist/server/modules/projects/services/projects.service.d.ts +37 -3
  52. package/dist/server/modules/projects/services/projects.service.js +353 -526
  53. package/dist/server/modules/projects/services/projects.service.js.map +1 -1
  54. package/dist/server/modules/registry/controllers/registry.controller.d.ts +98 -0
  55. package/dist/server/modules/registry/controllers/registry.controller.js +352 -0
  56. package/dist/server/modules/registry/controllers/registry.controller.js.map +1 -0
  57. package/dist/server/modules/registry/controllers/templates.controller.d.ts +35 -0
  58. package/dist/server/modules/registry/controllers/templates.controller.js +157 -0
  59. package/dist/server/modules/registry/controllers/templates.controller.js.map +1 -0
  60. package/dist/server/modules/registry/dtos/registry-error.d.ts +11 -0
  61. package/dist/server/modules/registry/dtos/registry-error.js +30 -0
  62. package/dist/server/modules/registry/dtos/registry-error.js.map +1 -0
  63. package/dist/server/modules/registry/dtos/registry.dto.d.ts +7 -0
  64. package/dist/server/modules/registry/dtos/registry.dto.js +50 -0
  65. package/dist/server/modules/registry/dtos/registry.dto.js.map +1 -0
  66. package/dist/server/modules/registry/index.d.ts +7 -0
  67. package/dist/server/modules/registry/index.js +24 -0
  68. package/dist/server/modules/registry/index.js.map +1 -0
  69. package/dist/server/modules/registry/interfaces/registry.interface.d.ts +68 -0
  70. package/dist/server/modules/registry/interfaces/registry.interface.js +3 -0
  71. package/dist/server/modules/registry/interfaces/registry.interface.js.map +1 -0
  72. package/dist/server/modules/registry/registry.module.d.ts +2 -0
  73. package/dist/server/modules/registry/registry.module.js +45 -0
  74. package/dist/server/modules/registry/registry.module.js.map +1 -0
  75. package/dist/server/modules/registry/services/registry-client.service.d.ts +14 -0
  76. package/dist/server/modules/registry/services/registry-client.service.js +226 -0
  77. package/dist/server/modules/registry/services/registry-client.service.js.map +1 -0
  78. package/dist/server/modules/registry/services/registry-orchestration.service.d.ts +45 -0
  79. package/dist/server/modules/registry/services/registry-orchestration.service.js +165 -0
  80. package/dist/server/modules/registry/services/registry-orchestration.service.js.map +1 -0
  81. package/dist/server/modules/registry/services/template-cache.service.d.ts +66 -0
  82. package/dist/server/modules/registry/services/template-cache.service.js +310 -0
  83. package/dist/server/modules/registry/services/template-cache.service.js.map +1 -0
  84. package/dist/server/modules/registry/services/template-upgrade.service.d.ts +41 -0
  85. package/dist/server/modules/registry/services/template-upgrade.service.js +212 -0
  86. package/dist/server/modules/registry/services/template-upgrade.service.js.map +1 -0
  87. package/dist/server/modules/registry/services/unified-template.service.d.ts +35 -0
  88. package/dist/server/modules/registry/services/unified-template.service.js +228 -0
  89. package/dist/server/modules/registry/services/unified-template.service.js.map +1 -0
  90. package/dist/server/modules/sessions/controllers/sessions.controller.d.ts +32 -1
  91. package/dist/server/modules/sessions/controllers/sessions.controller.js +150 -8
  92. package/dist/server/modules/sessions/controllers/sessions.controller.js.map +1 -1
  93. package/dist/server/modules/sessions/services/message-activity-stream.service.d.ts +12 -0
  94. package/dist/server/modules/sessions/services/message-activity-stream.service.js +51 -0
  95. package/dist/server/modules/sessions/services/message-activity-stream.service.js.map +1 -0
  96. package/dist/server/modules/sessions/services/sessions-message-pool.service.d.ts +125 -0
  97. package/dist/server/modules/sessions/services/sessions-message-pool.service.js +599 -0
  98. package/dist/server/modules/sessions/services/sessions-message-pool.service.js.map +1 -0
  99. package/dist/server/modules/sessions/services/sessions.service.d.ts +2 -9
  100. package/dist/server/modules/sessions/services/sessions.service.js +32 -27
  101. package/dist/server/modules/sessions/services/sessions.service.js.map +1 -1
  102. package/dist/server/modules/sessions/sessions.module.js +16 -2
  103. package/dist/server/modules/sessions/sessions.module.js.map +1 -1
  104. package/dist/server/modules/settings/dtos/settings.dto.d.ts +231 -0
  105. package/dist/server/modules/settings/dtos/settings.dto.js +40 -1
  106. package/dist/server/modules/settings/dtos/settings.dto.js.map +1 -1
  107. package/dist/server/modules/settings/services/settings.service.d.ts +56 -15
  108. package/dist/server/modules/settings/services/settings.service.js +295 -10
  109. package/dist/server/modules/settings/services/settings.service.js.map +1 -1
  110. package/dist/server/modules/subscribers/actions/action.interface.d.ts +2 -0
  111. package/dist/server/modules/subscribers/actions/send-message.action.js +34 -11
  112. package/dist/server/modules/subscribers/actions/send-message.action.js.map +1 -1
  113. package/dist/server/modules/subscribers/events/event-fields-catalog.js +109 -6
  114. package/dist/server/modules/subscribers/events/event-fields-catalog.js.map +1 -1
  115. package/dist/server/modules/subscribers/services/subscriber-executor.service.d.ts +3 -1
  116. package/dist/server/modules/subscribers/services/subscriber-executor.service.js +13 -1
  117. package/dist/server/modules/subscribers/services/subscriber-executor.service.js.map +1 -1
  118. package/dist/server/modules/terminal/dtos/ws-envelope.dto.d.ts +20 -0
  119. package/dist/server/modules/terminal/dtos/ws-envelope.dto.js +8 -1
  120. package/dist/server/modules/terminal/dtos/ws-envelope.dto.js.map +1 -1
  121. package/dist/server/modules/terminal/gateways/terminal.gateway.d.ts +1 -3
  122. package/dist/server/modules/terminal/gateways/terminal.gateway.js +50 -11
  123. package/dist/server/modules/terminal/gateways/terminal.gateway.js.map +1 -1
  124. package/dist/server/modules/terminal/services/pty.service.d.ts +1 -3
  125. package/dist/server/modules/terminal/services/pty.service.js +2 -14
  126. package/dist/server/modules/terminal/services/pty.service.js.map +1 -1
  127. package/dist/server/modules/terminal/services/terminal-seed.service.d.ts +6 -4
  128. package/dist/server/modules/terminal/services/terminal-seed.service.js +74 -67
  129. package/dist/server/modules/terminal/services/terminal-seed.service.js.map +1 -1
  130. package/dist/server/modules/terminal/services/tmux.service.js +3 -2
  131. package/dist/server/modules/terminal/services/tmux.service.js.map +1 -1
  132. package/dist/server/modules/terminal/terminal.module.js +0 -3
  133. package/dist/server/modules/terminal/terminal.module.js.map +1 -1
  134. package/dist/server/templates/claude-codex-advanced.json +130 -69
  135. package/dist/server/templates/claude-opus.json +30 -19
  136. package/dist/server/templates/simple-codex.json +30 -19
  137. package/dist/server/test-setup.js +19 -0
  138. package/dist/server/test-setup.js.map +1 -1
  139. package/dist/server/tsconfig.tsbuildinfo +1 -1
  140. package/dist/server/ui/assets/index-4Q4XuabC.js +733 -0
  141. package/dist/server/ui/assets/index-BkGGbapJ.css +32 -0
  142. package/dist/server/ui/index.html +2 -2
  143. package/dist/templates/claude-codex-advanced.json +130 -69
  144. package/dist/templates/claude-opus.json +30 -19
  145. package/dist/templates/simple-codex.json +30 -19
  146. package/package.json +9 -2
  147. package/dist/server/modules/terminal/services/terminal-emulator.service.d.ts +0 -40
  148. package/dist/server/modules/terminal/services/terminal-emulator.service.js +0 -356
  149. package/dist/server/modules/terminal/services/terminal-emulator.service.js.map +0 -1
  150. package/dist/server/templates/claude-codex-advanced-swe.json +0 -130
  151. package/dist/server/ui/assets/index-C9GXCjnF.js +0 -700
  152. package/dist/server/ui/assets/index-o0FbZg-1.css +0 -32
  153. package/dist/templates/claude-codex-advanced-swe.json +0 -130
@@ -1,36 +1,77 @@
1
- import { SettingsDto, TerminalInputMode } from '../dtos/settings.dto';
1
+ import { EventEmitter2 } from '@nestjs/event-emitter';
2
+ import { SettingsDto, MessagePoolSettingsDto, TerminalInputMode, RegistryTemplateMetadataDto, RegistryConfigDto } from '../dtos/settings.dto';
2
3
  import { BetterSQLite3Database } from 'drizzle-orm/better-sqlite3';
3
- export declare const DEFAULT_TERMINAL_SCROLLBACK = 10000;
4
- export declare const MIN_TERMINAL_SCROLLBACK = 100;
5
- export declare const MAX_TERMINAL_SCROLLBACK = 50000;
4
+ import { DEFAULT_TERMINAL_SCROLLBACK, MIN_TERMINAL_SCROLLBACK, MAX_TERMINAL_SCROLLBACK } from '../../../common/constants/terminal';
5
+ export { DEFAULT_TERMINAL_SCROLLBACK, MIN_TERMINAL_SCROLLBACK, MAX_TERMINAL_SCROLLBACK };
6
6
  export declare const DEFAULT_TERMINAL_SEED_MAX_BYTES: number;
7
7
  export declare const MIN_TERMINAL_SEED_MAX_BYTES: number;
8
8
  export declare const MAX_TERMINAL_SEED_MAX_BYTES: number;
9
9
  export declare const DEFAULT_TERMINAL_INPUT_MODE: TerminalInputMode;
10
+ export declare const DEFAULT_MESSAGE_POOL_ENABLED = true;
11
+ export declare const DEFAULT_MESSAGE_POOL_DELAY_MS = 10000;
12
+ export declare const MIN_MESSAGE_POOL_DELAY_MS = 1000;
13
+ export declare const MAX_MESSAGE_POOL_DELAY_MS = 60000;
14
+ export declare const DEFAULT_MESSAGE_POOL_MAX_WAIT_MS = 30000;
15
+ export declare const MIN_MESSAGE_POOL_MAX_WAIT_MS = 5000;
16
+ export declare const MAX_MESSAGE_POOL_MAX_WAIT_MS = 120000;
17
+ export declare const DEFAULT_MESSAGE_POOL_MAX_MESSAGES = 10;
18
+ export declare const MIN_MESSAGE_POOL_MAX_MESSAGES = 1;
19
+ export declare const MAX_MESSAGE_POOL_MAX_MESSAGES = 100;
20
+ export declare const DEFAULT_MESSAGE_POOL_SEPARATOR = "\n---\n";
21
+ export interface ProjectPoolSettings {
22
+ enabled?: boolean;
23
+ delayMs?: number;
24
+ maxWaitMs?: number;
25
+ maxMessages?: number;
26
+ separator?: string;
27
+ }
10
28
  export interface ProjectSettings {
11
29
  initialSessionPromptId?: string | null;
12
30
  autoCleanStatusIds?: string[];
13
31
  epicAssignedTemplate?: string;
32
+ messagePoolSettings?: ProjectPoolSettings;
14
33
  }
15
34
  export declare class SettingsService {
16
35
  private readonly db;
36
+ private readonly eventEmitter;
17
37
  private sqlite;
18
- constructor(db: BetterSQLite3Database);
38
+ constructor(db: BetterSQLite3Database, eventEmitter: EventEmitter2);
19
39
  getSettings(): SettingsDto;
20
40
  updateSettings(settings: SettingsDto): Promise<SettingsDto>;
21
41
  getSetting(key: string): string | undefined;
42
+ getScrollbackLines(): number;
22
43
  getAutoCleanStatusIds(projectId: string): string[];
23
- getProjectSettings(projectId: string): {
24
- initialSessionPromptId?: string | null;
25
- autoCleanStatusIds?: string[];
26
- epicAssignedTemplate?: string;
27
- };
28
- setProjectSettings(projectId: string, projectSettings: {
29
- initialSessionPromptId?: string | null;
30
- autoCleanStatusIds?: string[];
31
- epicAssignedTemplate?: string;
32
- }): Promise<void>;
44
+ getMessagePoolConfig(): Required<Omit<MessagePoolSettingsDto, 'projects'>>;
45
+ getMessagePoolConfigForProject(projectId: string): Required<Omit<MessagePoolSettingsDto, 'projects'>>;
46
+ getProjectPoolSettings(projectId: string): {
47
+ enabled?: boolean;
48
+ delayMs?: number;
49
+ maxWaitMs?: number;
50
+ maxMessages?: number;
51
+ separator?: string;
52
+ } | undefined;
53
+ setProjectPoolSettings(projectId: string, poolSettings: {
54
+ enabled?: boolean;
55
+ delayMs?: number;
56
+ maxWaitMs?: number;
57
+ maxMessages?: number;
58
+ separator?: string;
59
+ } | null): Promise<void>;
60
+ getProjectSettings(projectId: string): ProjectSettings;
61
+ setProjectSettings(projectId: string, projectSettings: ProjectSettings): Promise<void>;
33
62
  private validateBinaryPath;
34
63
  private decodeStringSetting;
35
64
  private extractPromptId;
65
+ private readonly DEFAULT_REGISTRY_URL;
66
+ getRegistryConfig(): Required<RegistryConfigDto>;
67
+ setRegistryConfig(config: Partial<RegistryConfigDto>): Promise<void>;
68
+ getProjectTemplateMetadata(projectId: string): RegistryTemplateMetadataDto | null;
69
+ setProjectTemplateMetadata(projectId: string, metadata: RegistryTemplateMetadataDto): Promise<void>;
70
+ clearProjectTemplateMetadata(projectId: string): Promise<void>;
71
+ getAllTrackedProjects(): Array<{
72
+ projectId: string;
73
+ metadata: RegistryTemplateMetadataDto;
74
+ }>;
75
+ getAllProjectTemplateMetadataMap(): Map<string, RegistryTemplateMetadataDto>;
76
+ updateLastUpdateCheck(projectId: string): Promise<void>;
36
77
  }
@@ -12,8 +12,9 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
12
  return function (target, key) { decorator(target, key, paramIndex); }
13
13
  };
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.SettingsService = exports.DEFAULT_TERMINAL_INPUT_MODE = exports.MAX_TERMINAL_SEED_MAX_BYTES = exports.MIN_TERMINAL_SEED_MAX_BYTES = exports.DEFAULT_TERMINAL_SEED_MAX_BYTES = exports.MAX_TERMINAL_SCROLLBACK = exports.MIN_TERMINAL_SCROLLBACK = exports.DEFAULT_TERMINAL_SCROLLBACK = void 0;
15
+ exports.SettingsService = exports.DEFAULT_MESSAGE_POOL_SEPARATOR = exports.MAX_MESSAGE_POOL_MAX_MESSAGES = exports.MIN_MESSAGE_POOL_MAX_MESSAGES = exports.DEFAULT_MESSAGE_POOL_MAX_MESSAGES = exports.MAX_MESSAGE_POOL_MAX_WAIT_MS = exports.MIN_MESSAGE_POOL_MAX_WAIT_MS = exports.DEFAULT_MESSAGE_POOL_MAX_WAIT_MS = exports.MAX_MESSAGE_POOL_DELAY_MS = exports.MIN_MESSAGE_POOL_DELAY_MS = exports.DEFAULT_MESSAGE_POOL_DELAY_MS = exports.DEFAULT_MESSAGE_POOL_ENABLED = exports.DEFAULT_TERMINAL_INPUT_MODE = exports.MAX_TERMINAL_SEED_MAX_BYTES = exports.MIN_TERMINAL_SEED_MAX_BYTES = exports.DEFAULT_TERMINAL_SEED_MAX_BYTES = exports.MAX_TERMINAL_SCROLLBACK = exports.MIN_TERMINAL_SCROLLBACK = exports.DEFAULT_TERMINAL_SCROLLBACK = void 0;
16
16
  const common_1 = require("@nestjs/common");
17
+ const event_emitter_1 = require("@nestjs/event-emitter");
17
18
  const logger_1 = require("../../../common/logging/logger");
18
19
  const error_types_1 = require("../../../common/errors/error-types");
19
20
  const settings_dto_1 = require("../dtos/settings.dto");
@@ -23,17 +24,32 @@ const sqlite_raw_1 = require("../../storage/db/sqlite-raw");
23
24
  const crypto_1 = require("crypto");
24
25
  const promises_1 = require("fs/promises");
25
26
  const path_1 = require("path");
27
+ const terminal_1 = require("../../../common/constants/terminal");
28
+ Object.defineProperty(exports, "DEFAULT_TERMINAL_SCROLLBACK", { enumerable: true, get: function () { return terminal_1.DEFAULT_TERMINAL_SCROLLBACK; } });
29
+ Object.defineProperty(exports, "MIN_TERMINAL_SCROLLBACK", { enumerable: true, get: function () { return terminal_1.MIN_TERMINAL_SCROLLBACK; } });
30
+ Object.defineProperty(exports, "MAX_TERMINAL_SCROLLBACK", { enumerable: true, get: function () { return terminal_1.MAX_TERMINAL_SCROLLBACK; } });
31
+ const catalog_1 = require("../../events/catalog");
26
32
  const logger = (0, logger_1.createLogger)('SettingsService');
27
- exports.DEFAULT_TERMINAL_SCROLLBACK = 10000;
28
- exports.MIN_TERMINAL_SCROLLBACK = 100;
29
- exports.MAX_TERMINAL_SCROLLBACK = 50000;
30
33
  exports.DEFAULT_TERMINAL_SEED_MAX_BYTES = 1024 * 1024;
31
34
  exports.MIN_TERMINAL_SEED_MAX_BYTES = 64 * 1024;
32
35
  exports.MAX_TERMINAL_SEED_MAX_BYTES = 4 * 1024 * 1024;
33
36
  exports.DEFAULT_TERMINAL_INPUT_MODE = 'tty';
37
+ exports.DEFAULT_MESSAGE_POOL_ENABLED = true;
38
+ exports.DEFAULT_MESSAGE_POOL_DELAY_MS = 10000;
39
+ exports.MIN_MESSAGE_POOL_DELAY_MS = 1000;
40
+ exports.MAX_MESSAGE_POOL_DELAY_MS = 60000;
41
+ exports.DEFAULT_MESSAGE_POOL_MAX_WAIT_MS = 30000;
42
+ exports.MIN_MESSAGE_POOL_MAX_WAIT_MS = 5000;
43
+ exports.MAX_MESSAGE_POOL_MAX_WAIT_MS = 120000;
44
+ exports.DEFAULT_MESSAGE_POOL_MAX_MESSAGES = 10;
45
+ exports.MIN_MESSAGE_POOL_MAX_MESSAGES = 1;
46
+ exports.MAX_MESSAGE_POOL_MAX_MESSAGES = 100;
47
+ exports.DEFAULT_MESSAGE_POOL_SEPARATOR = '\n---\n';
34
48
  let SettingsService = class SettingsService {
35
- constructor(db) {
49
+ constructor(db, eventEmitter) {
36
50
  this.db = db;
51
+ this.eventEmitter = eventEmitter;
52
+ this.DEFAULT_REGISTRY_URL = 'https://templates.devchain.twitechlab.com';
37
53
  this.sqlite = (0, sqlite_raw_1.getRawSqliteClient)(this.db);
38
54
  logger.info('SettingsService initialized');
39
55
  }
@@ -43,6 +59,21 @@ let SettingsService = class SettingsService {
43
59
  for (const row of rows) {
44
60
  if (row.key === 'instanceMode' || row.key === 'apiKey') {
45
61
  }
62
+ else if (row.key === 'registry.url') {
63
+ const valueStr = this.decodeStringSetting(row.value);
64
+ settings.registry = settings.registry ?? {};
65
+ settings.registry.url = valueStr || undefined;
66
+ }
67
+ else if (row.key === 'registry.cacheDir') {
68
+ const valueStr = this.decodeStringSetting(row.value);
69
+ settings.registry = settings.registry ?? {};
70
+ settings.registry.cacheDir = valueStr || undefined;
71
+ }
72
+ else if (row.key === 'registry.checkUpdatesOnStartup') {
73
+ const valueStr = this.decodeStringSetting(row.value);
74
+ settings.registry = settings.registry ?? {};
75
+ settings.registry.checkUpdatesOnStartup = valueStr === 'true';
76
+ }
46
77
  else if (row.key === 'claudeBinaryPath') {
47
78
  settings.claudeBinaryPath = row.value;
48
79
  }
@@ -73,7 +104,7 @@ let SettingsService = class SettingsService {
73
104
  const valueStr = this.decodeStringSetting(row.value);
74
105
  const parsed = Number(valueStr);
75
106
  if (Number.isFinite(parsed)) {
76
- const clamped = Math.max(exports.MIN_TERMINAL_SCROLLBACK, Math.min(parsed, exports.MAX_TERMINAL_SCROLLBACK));
107
+ const clamped = Math.max(terminal_1.MIN_TERMINAL_SCROLLBACK, Math.min(parsed, terminal_1.MAX_TERMINAL_SCROLLBACK));
77
108
  settings.terminal = settings.terminal ?? {};
78
109
  settings.terminal.scrollbackLines = clamped;
79
110
  }
@@ -132,11 +163,68 @@ let SettingsService = class SettingsService {
132
163
  logger.warn({ error }, 'Failed to parse autoClean.statusIds');
133
164
  }
134
165
  }
166
+ else if (row.key === 'messagePool.enabled') {
167
+ const valueStr = this.decodeStringSetting(row.value);
168
+ settings.messagePool = settings.messagePool ?? {};
169
+ settings.messagePool.enabled = valueStr === 'true';
170
+ }
171
+ else if (row.key === 'messagePool.delayMs') {
172
+ const valueStr = this.decodeStringSetting(row.value);
173
+ const parsed = Number(valueStr);
174
+ if (Number.isFinite(parsed) && parsed > 0) {
175
+ settings.messagePool = settings.messagePool ?? {};
176
+ settings.messagePool.delayMs = Math.max(exports.MIN_MESSAGE_POOL_DELAY_MS, Math.min(parsed, exports.MAX_MESSAGE_POOL_DELAY_MS));
177
+ }
178
+ }
179
+ else if (row.key === 'messagePool.maxWaitMs') {
180
+ const valueStr = this.decodeStringSetting(row.value);
181
+ const parsed = Number(valueStr);
182
+ if (Number.isFinite(parsed) && parsed > 0) {
183
+ settings.messagePool = settings.messagePool ?? {};
184
+ settings.messagePool.maxWaitMs = Math.max(exports.MIN_MESSAGE_POOL_MAX_WAIT_MS, Math.min(parsed, exports.MAX_MESSAGE_POOL_MAX_WAIT_MS));
185
+ }
186
+ }
187
+ else if (row.key === 'messagePool.maxMessages') {
188
+ const valueStr = this.decodeStringSetting(row.value);
189
+ const parsed = Number(valueStr);
190
+ if (Number.isFinite(parsed) && parsed > 0) {
191
+ settings.messagePool = settings.messagePool ?? {};
192
+ settings.messagePool.maxMessages = Math.max(exports.MIN_MESSAGE_POOL_MAX_MESSAGES, Math.min(parsed, exports.MAX_MESSAGE_POOL_MAX_MESSAGES));
193
+ }
194
+ }
195
+ else if (row.key === 'messagePool.separator') {
196
+ const valueStr = this.decodeStringSetting(row.value);
197
+ settings.messagePool = settings.messagePool ?? {};
198
+ settings.messagePool.separator = valueStr;
199
+ }
200
+ else if (row.key === 'messagePool.projects') {
201
+ try {
202
+ const map = JSON.parse(row.value);
203
+ if (typeof map === 'object' && map !== null) {
204
+ settings.messagePool = settings.messagePool ?? {};
205
+ settings.messagePool.projects = map;
206
+ }
207
+ }
208
+ catch (error) {
209
+ logger.warn({ error }, 'Failed to parse messagePool.projects');
210
+ }
211
+ }
212
+ else if (row.key === 'registryTemplates') {
213
+ try {
214
+ const map = JSON.parse(row.value);
215
+ if (typeof map === 'object' && map !== null) {
216
+ settings.registryTemplates = map;
217
+ }
218
+ }
219
+ catch (error) {
220
+ logger.warn({ error }, 'Failed to parse registryTemplates');
221
+ }
222
+ }
135
223
  }
136
224
  const terminalSettings = settings.terminal ?? {};
137
- const storedScrollback = terminalSettings.scrollbackLines ?? exports.DEFAULT_TERMINAL_SCROLLBACK;
225
+ const storedScrollback = terminalSettings.scrollbackLines ?? terminal_1.DEFAULT_TERMINAL_SCROLLBACK;
138
226
  const storedSeedMaxBytes = terminalSettings.seedingMaxBytes ?? exports.DEFAULT_TERMINAL_SEED_MAX_BYTES;
139
- const effectiveScrollback = Math.max(exports.MIN_TERMINAL_SCROLLBACK, Math.min(storedScrollback, exports.MAX_TERMINAL_SCROLLBACK));
227
+ const effectiveScrollback = Math.max(terminal_1.MIN_TERMINAL_SCROLLBACK, Math.min(storedScrollback, terminal_1.MAX_TERMINAL_SCROLLBACK));
140
228
  const effectiveSeedMaxBytes = Math.max(exports.MIN_TERMINAL_SEED_MAX_BYTES, Math.min(storedSeedMaxBytes, exports.MAX_TERMINAL_SEED_MAX_BYTES));
141
229
  const storedInputMode = terminalSettings.inputMode ?? exports.DEFAULT_TERMINAL_INPUT_MODE;
142
230
  const inputMode = settings_dto_1.TERMINAL_INPUT_MODES.includes(storedInputMode)
@@ -217,7 +305,7 @@ let SettingsService = class SettingsService {
217
305
  }
218
306
  const scrollbackLines = settings.terminal?.scrollbackLines;
219
307
  if (scrollbackLines !== undefined) {
220
- const numeric = Math.max(exports.MIN_TERMINAL_SCROLLBACK, Math.min(scrollbackLines, exports.MAX_TERMINAL_SCROLLBACK));
308
+ const numeric = Math.max(terminal_1.MIN_TERMINAL_SCROLLBACK, Math.min(scrollbackLines, terminal_1.MAX_TERMINAL_SCROLLBACK));
221
309
  stmt.run((0, crypto_1.randomUUID)(), 'terminal.scrollback.lines', String(numeric), now, now);
222
310
  }
223
311
  const seedingMaxBytes = settings.terminal?.seedingMaxBytes;
@@ -236,14 +324,73 @@ let SettingsService = class SettingsService {
236
324
  const encodedMap = JSON.stringify(settings.autoClean.statusIds);
237
325
  stmt.run((0, crypto_1.randomUUID)(), 'autoClean.statusIds', encodedMap, now, now);
238
326
  }
327
+ if (settings.messagePool !== undefined) {
328
+ if (settings.messagePool.enabled !== undefined) {
329
+ stmt.run((0, crypto_1.randomUUID)(), 'messagePool.enabled', String(settings.messagePool.enabled), now, now);
330
+ }
331
+ if (settings.messagePool.delayMs !== undefined) {
332
+ const clamped = Math.max(exports.MIN_MESSAGE_POOL_DELAY_MS, Math.min(settings.messagePool.delayMs, exports.MAX_MESSAGE_POOL_DELAY_MS));
333
+ stmt.run((0, crypto_1.randomUUID)(), 'messagePool.delayMs', String(clamped), now, now);
334
+ }
335
+ if (settings.messagePool.maxWaitMs !== undefined) {
336
+ const clamped = Math.max(exports.MIN_MESSAGE_POOL_MAX_WAIT_MS, Math.min(settings.messagePool.maxWaitMs, exports.MAX_MESSAGE_POOL_MAX_WAIT_MS));
337
+ stmt.run((0, crypto_1.randomUUID)(), 'messagePool.maxWaitMs', String(clamped), now, now);
338
+ }
339
+ if (settings.messagePool.maxMessages !== undefined) {
340
+ const clamped = Math.max(exports.MIN_MESSAGE_POOL_MAX_MESSAGES, Math.min(settings.messagePool.maxMessages, exports.MAX_MESSAGE_POOL_MAX_MESSAGES));
341
+ stmt.run((0, crypto_1.randomUUID)(), 'messagePool.maxMessages', String(clamped), now, now);
342
+ }
343
+ if (settings.messagePool.separator !== undefined) {
344
+ stmt.run((0, crypto_1.randomUUID)(), 'messagePool.separator', JSON.stringify(settings.messagePool.separator), now, now);
345
+ }
346
+ if (settings.messagePool.projects !== undefined) {
347
+ const encodedMap = JSON.stringify(settings.messagePool.projects);
348
+ stmt.run((0, crypto_1.randomUUID)(), 'messagePool.projects', encodedMap, now, now);
349
+ }
350
+ }
351
+ if (settings.registry !== undefined) {
352
+ if (settings.registry.url !== undefined) {
353
+ stmt.run((0, crypto_1.randomUUID)(), 'registry.url', JSON.stringify(settings.registry.url), now, now);
354
+ }
355
+ if (settings.registry.cacheDir !== undefined) {
356
+ stmt.run((0, crypto_1.randomUUID)(), 'registry.cacheDir', JSON.stringify(settings.registry.cacheDir), now, now);
357
+ }
358
+ if (settings.registry.checkUpdatesOnStartup !== undefined) {
359
+ stmt.run((0, crypto_1.randomUUID)(), 'registry.checkUpdatesOnStartup', String(settings.registry.checkUpdatesOnStartup), now, now);
360
+ }
361
+ }
362
+ if (settings.registryTemplates !== undefined) {
363
+ const encodedMap = JSON.stringify(settings.registryTemplates);
364
+ stmt.run((0, crypto_1.randomUUID)(), 'registryTemplates', encodedMap, now, now);
365
+ }
239
366
  })();
240
367
  logger.info('Settings updated');
368
+ if (settings.terminal?.scrollbackLines !== undefined) {
369
+ const clampedScrollback = Math.max(terminal_1.MIN_TERMINAL_SCROLLBACK, Math.min(settings.terminal.scrollbackLines, terminal_1.MAX_TERMINAL_SCROLLBACK));
370
+ const payload = { scrollbackLines: clampedScrollback };
371
+ try {
372
+ catalog_1.settingsTerminalChangedEvent.schema.parse(payload);
373
+ this.eventEmitter.emit('settings.terminal.changed', payload);
374
+ logger.debug({ scrollbackLines: clampedScrollback }, 'Emitted settings.terminal.changed event');
375
+ }
376
+ catch (error) {
377
+ logger.error({ scrollbackLines: clampedScrollback, error }, 'Failed to validate/emit settings.terminal.changed event');
378
+ }
379
+ }
241
380
  return this.getSettings();
242
381
  }
243
382
  getSetting(key) {
244
383
  const row = this.sqlite.prepare('SELECT value FROM settings WHERE key = ?').get(key);
245
384
  return row ? this.decodeStringSetting(row.value) : undefined;
246
385
  }
386
+ getScrollbackLines() {
387
+ const value = this.getSetting('terminal.scrollback.lines');
388
+ const parsed = value ? parseInt(value, 10) : terminal_1.DEFAULT_TERMINAL_SCROLLBACK;
389
+ if (!Number.isFinite(parsed)) {
390
+ return terminal_1.DEFAULT_TERMINAL_SCROLLBACK;
391
+ }
392
+ return Math.max(terminal_1.MIN_TERMINAL_SCROLLBACK, Math.min(terminal_1.MAX_TERMINAL_SCROLLBACK, parsed));
393
+ }
247
394
  getAutoCleanStatusIds(projectId) {
248
395
  const raw = this.getSetting('autoClean.statusIds');
249
396
  if (!raw) {
@@ -258,6 +405,60 @@ let SettingsService = class SettingsService {
258
405
  return [];
259
406
  }
260
407
  }
408
+ getMessagePoolConfig() {
409
+ const settings = this.getSettings();
410
+ const pool = settings.messagePool ?? {};
411
+ return {
412
+ enabled: pool.enabled ?? exports.DEFAULT_MESSAGE_POOL_ENABLED,
413
+ delayMs: pool.delayMs ?? exports.DEFAULT_MESSAGE_POOL_DELAY_MS,
414
+ maxWaitMs: pool.maxWaitMs ?? exports.DEFAULT_MESSAGE_POOL_MAX_WAIT_MS,
415
+ maxMessages: pool.maxMessages ?? exports.DEFAULT_MESSAGE_POOL_MAX_MESSAGES,
416
+ separator: pool.separator ?? exports.DEFAULT_MESSAGE_POOL_SEPARATOR,
417
+ };
418
+ }
419
+ getMessagePoolConfigForProject(projectId) {
420
+ const globalConfig = this.getMessagePoolConfig();
421
+ const settings = this.getSettings();
422
+ const projectOverrides = settings.messagePool?.projects?.[projectId];
423
+ if (!projectOverrides) {
424
+ return globalConfig;
425
+ }
426
+ return {
427
+ enabled: projectOverrides.enabled ?? globalConfig.enabled,
428
+ delayMs: projectOverrides.delayMs ?? globalConfig.delayMs,
429
+ maxWaitMs: projectOverrides.maxWaitMs ?? globalConfig.maxWaitMs,
430
+ maxMessages: projectOverrides.maxMessages ?? globalConfig.maxMessages,
431
+ separator: projectOverrides.separator ?? globalConfig.separator,
432
+ };
433
+ }
434
+ getProjectPoolSettings(projectId) {
435
+ const settings = this.getSettings();
436
+ return settings.messagePool?.projects?.[projectId];
437
+ }
438
+ async setProjectPoolSettings(projectId, poolSettings) {
439
+ const currentSettings = this.getSettings();
440
+ const existingProjects = currentSettings.messagePool?.projects ?? {};
441
+ if (poolSettings === null) {
442
+ const remaining = { ...existingProjects };
443
+ delete remaining[projectId];
444
+ await this.updateSettings({
445
+ messagePool: {
446
+ projects: remaining,
447
+ },
448
+ });
449
+ }
450
+ else {
451
+ await this.updateSettings({
452
+ messagePool: {
453
+ projects: {
454
+ ...existingProjects,
455
+ [projectId]: poolSettings,
456
+ },
457
+ },
458
+ });
459
+ }
460
+ logger.info({ projectId, poolSettings }, 'Project pool settings updated');
461
+ }
261
462
  getProjectSettings(projectId) {
262
463
  const settings = this.getSettings();
263
464
  const result = {};
@@ -273,6 +474,10 @@ let SettingsService = class SettingsService {
273
474
  if (epicTemplate) {
274
475
  result.epicAssignedTemplate = epicTemplate;
275
476
  }
477
+ const poolSettings = settings.messagePool?.projects?.[projectId];
478
+ if (poolSettings) {
479
+ result.messagePoolSettings = poolSettings;
480
+ }
276
481
  return result;
277
482
  }
278
483
  async setProjectSettings(projectId, projectSettings) {
@@ -296,6 +501,16 @@ let SettingsService = class SettingsService {
296
501
  epicAssigned: { template: projectSettings.epicAssignedTemplate },
297
502
  };
298
503
  }
504
+ if (projectSettings.messagePoolSettings !== undefined) {
505
+ const currentSettings = this.getSettings();
506
+ const existingProjects = currentSettings.messagePool?.projects ?? {};
507
+ updates.messagePool = {
508
+ projects: {
509
+ ...existingProjects,
510
+ [projectId]: projectSettings.messagePoolSettings,
511
+ },
512
+ };
513
+ }
299
514
  if (Object.keys(updates).length > 0) {
300
515
  await this.updateSettings(updates);
301
516
  logger.info({ projectId, updates: Object.keys(updates) }, 'Project settings updated');
@@ -373,11 +588,81 @@ let SettingsService = class SettingsService {
373
588
  }
374
589
  return candidate.length > 0 ? candidate : null;
375
590
  }
591
+ getRegistryConfig() {
592
+ const settings = this.getSettings();
593
+ const registry = settings.registry ?? {};
594
+ const url = registry.url || process.env.REGISTRY_URL || this.DEFAULT_REGISTRY_URL;
595
+ return {
596
+ url,
597
+ cacheDir: registry.cacheDir ?? '',
598
+ checkUpdatesOnStartup: registry.checkUpdatesOnStartup ?? true,
599
+ };
600
+ }
601
+ async setRegistryConfig(config) {
602
+ const currentSettings = this.getSettings();
603
+ const existingRegistry = currentSettings.registry ?? {};
604
+ await this.updateSettings({
605
+ registry: {
606
+ ...existingRegistry,
607
+ ...config,
608
+ },
609
+ });
610
+ logger.info({ config }, 'Registry config updated');
611
+ }
612
+ getProjectTemplateMetadata(projectId) {
613
+ const settings = this.getSettings();
614
+ return settings.registryTemplates?.[projectId] ?? null;
615
+ }
616
+ async setProjectTemplateMetadata(projectId, metadata) {
617
+ const currentSettings = this.getSettings();
618
+ const existingTemplates = currentSettings.registryTemplates ?? {};
619
+ await this.updateSettings({
620
+ registryTemplates: {
621
+ ...existingTemplates,
622
+ [projectId]: metadata,
623
+ },
624
+ });
625
+ logger.info({ projectId, templateSlug: metadata.templateSlug, version: metadata.installedVersion }, 'Project template metadata updated');
626
+ }
627
+ async clearProjectTemplateMetadata(projectId) {
628
+ const currentSettings = this.getSettings();
629
+ const existingTemplates = currentSettings.registryTemplates ?? {};
630
+ const { [projectId]: _removed, ...remaining } = existingTemplates;
631
+ await this.updateSettings({
632
+ registryTemplates: remaining,
633
+ });
634
+ logger.info({ projectId }, 'Project template metadata cleared');
635
+ }
636
+ getAllTrackedProjects() {
637
+ const settings = this.getSettings();
638
+ const templates = settings.registryTemplates ?? {};
639
+ return Object.entries(templates).map(([projectId, metadata]) => ({
640
+ projectId,
641
+ metadata,
642
+ }));
643
+ }
644
+ getAllProjectTemplateMetadataMap() {
645
+ const settings = this.getSettings();
646
+ const templates = settings.registryTemplates ?? {};
647
+ return new Map(Object.entries(templates));
648
+ }
649
+ async updateLastUpdateCheck(projectId) {
650
+ const existing = this.getProjectTemplateMetadata(projectId);
651
+ if (!existing) {
652
+ logger.warn({ projectId }, 'Cannot update lastUpdateCheckAt: project not tracked');
653
+ return;
654
+ }
655
+ await this.setProjectTemplateMetadata(projectId, {
656
+ ...existing,
657
+ lastUpdateCheckAt: new Date().toISOString(),
658
+ });
659
+ }
376
660
  };
377
661
  exports.SettingsService = SettingsService;
378
662
  exports.SettingsService = SettingsService = __decorate([
379
663
  (0, common_1.Injectable)(),
380
664
  __param(0, (0, common_1.Inject)(db_provider_1.DB_CONNECTION)),
381
- __metadata("design:paramtypes", [better_sqlite3_1.BetterSQLite3Database])
665
+ __metadata("design:paramtypes", [better_sqlite3_1.BetterSQLite3Database,
666
+ event_emitter_1.EventEmitter2])
382
667
  ], SettingsService);
383
668
  //# sourceMappingURL=settings.service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"settings.service.js","sourceRoot":"","sources":["../../../../src/modules/settings/services/settings.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"settings.service.js","sourceRoot":"","sources":["../../../../src/modules/settings/services/settings.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAoD;AACpD,yDAAsD;AACtD,2DAA8D;AAC9D,oEAAqE;AACrE,uDAO8B;AAC9B,8DAA6D;AAC7D,+DAAmE;AAEnE,4DAAiE;AACjE,mCAAoC;AACpC,0CAAgD;AAChD,+BAA+B;AAC/B,iEAI4C;AAInC,4GAPP,sCAA2B,OAOO;AAAE,wGANpC,kCAAuB,OAMoC;AAAE,wGAL7D,kCAAuB,OAK6D;AAHtF,kDAAoE;AAKpE,MAAM,MAAM,GAAG,IAAA,qBAAY,EAAC,iBAAiB,CAAC,CAAC;AAClC,QAAA,+BAA+B,GAAG,IAAI,GAAG,IAAI,CAAC;AAC9C,QAAA,2BAA2B,GAAG,EAAE,GAAG,IAAI,CAAC;AACxC,QAAA,2BAA2B,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;AAC9C,QAAA,2BAA2B,GAAsB,KAAK,CAAC;AAGvD,QAAA,4BAA4B,GAAG,IAAI,CAAC;AACpC,QAAA,6BAA6B,GAAG,KAAK,CAAC;AACtC,QAAA,yBAAyB,GAAG,IAAI,CAAC;AACjC,QAAA,yBAAyB,GAAG,KAAK,CAAC;AAClC,QAAA,gCAAgC,GAAG,KAAK,CAAC;AACzC,QAAA,4BAA4B,GAAG,IAAI,CAAC;AACpC,QAAA,4BAA4B,GAAG,MAAM,CAAC;AACtC,QAAA,iCAAiC,GAAG,EAAE,CAAC;AACvC,QAAA,6BAA6B,GAAG,CAAC,CAAC;AAClC,QAAA,6BAA6B,GAAG,GAAG,CAAC;AACpC,QAAA,8BAA8B,GAAG,SAAS,CAAC;AA2BjD,IAAM,eAAe,GAArB,MAAM,eAAe;IAG1B,YACyB,EAA0C,EAChD,YAA2B;QADJ,OAAE,GAAF,EAAE,CAAuB;QAChD,iBAAY,GAAZ,YAAY,CAAe;QAqwB7B,yBAAoB,GAAG,2CAA2C,CAAC;QAlwBlF,IAAI,CAAC,MAAM,GAAG,IAAA,+BAAkB,EAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC1C,MAAM,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;IAC7C,CAAC;IAKD,WAAW;QACT,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,iCAAiC,CAAC,CAAC,GAAG,EAGrE,CAAC;QAEH,MAAM,QAAQ,GAAgB,EAAE,CAAC;QACjC,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YAEvB,IAAI,GAAG,CAAC,GAAG,KAAK,cAAc,IAAI,GAAG,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;YAEzD,CAAC;iBAAM,IAAI,GAAG,CAAC,GAAG,KAAK,cAAc,EAAE,CAAC;gBACtC,MAAM,QAAQ,GAAG,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBACrD,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAC,QAAQ,IAAI,EAAE,CAAC;gBAC5C,QAAQ,CAAC,QAAQ,CAAC,GAAG,GAAG,QAAQ,IAAI,SAAS,CAAC;YAChD,CAAC;iBAAM,IAAI,GAAG,CAAC,GAAG,KAAK,mBAAmB,EAAE,CAAC;gBAC3C,MAAM,QAAQ,GAAG,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBACrD,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAC,QAAQ,IAAI,EAAE,CAAC;gBAC5C,QAAQ,CAAC,QAAQ,CAAC,QAAQ,GAAG,QAAQ,IAAI,SAAS,CAAC;YACrD,CAAC;iBAAM,IAAI,GAAG,CAAC,GAAG,KAAK,gCAAgC,EAAE,CAAC;gBACxD,MAAM,QAAQ,GAAG,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBACrD,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAC,QAAQ,IAAI,EAAE,CAAC;gBAC5C,QAAQ,CAAC,QAAQ,CAAC,qBAAqB,GAAG,QAAQ,KAAK,MAAM,CAAC;YAChE,CAAC;iBAAM,IAAI,GAAG,CAAC,GAAG,KAAK,kBAAkB,EAAE,CAAC;gBAC1C,QAAQ,CAAC,gBAAgB,GAAG,GAAG,CAAC,KAAK,CAAC;YACxC,CAAC;iBAAM,IAAI,GAAG,CAAC,GAAG,KAAK,iBAAiB,EAAE,CAAC;gBACzC,QAAQ,CAAC,eAAe,GAAG,GAAG,CAAC,KAAK,CAAC;YACvC,CAAC;iBAAM,IAAI,GAAG,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;gBAChC,QAAQ,CAAC,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC;YAC9B,CAAC;iBAAM,IAAI,GAAG,CAAC,GAAG,KAAK,wBAAwB,EAAE,CAAC;gBAChD,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBACjD,QAAQ,CAAC,sBAAsB,GAAG,QAAQ,IAAI,IAAI,CAAC;YACrD,CAAC;iBAAM,IAAI,GAAG,CAAC,GAAG,KAAK,yBAAyB,EAAE,CAAC;gBACjD,IAAI,CAAC;oBACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;oBAClC,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;wBAC5C,QAAQ,CAAC,uBAAuB,GAAG,GAAG,CAAC;oBACzC,CAAC;gBACH,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,yCAAyC,CAAC,CAAC;gBACpE,CAAC;YACH,CAAC;iBAAM,IAAI,GAAG,CAAC,GAAG,KAAK,uBAAuB,EAAE,CAAC;YAEjD,CAAC;iBAAM,IAAI,GAAG,CAAC,GAAG,KAAK,2BAA2B,EAAE,CAAC;gBACnD,MAAM,QAAQ,GAAG,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBACrD,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAChC,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;oBAC5B,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CACtB,kCAAuB,EACvB,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,kCAAuB,CAAC,CAC1C,CAAC;oBACF,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAC,QAAQ,IAAI,EAAE,CAAC;oBAC5C,QAAQ,CAAC,QAAQ,CAAC,eAAe,GAAG,OAAO,CAAC;gBAC9C,CAAC;qBAAM,CAAC;oBACN,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,4CAA4C,CAAC,CAAC;gBAClF,CAAC;YACH,CAAC;iBAAM,IAAI,GAAG,CAAC,GAAG,KAAK,2BAA2B,EAAE,CAAC;gBACnD,MAAM,QAAQ,GAAG,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBACrD,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAChC,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;oBAC5B,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CACtB,mCAA2B,EAC3B,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,mCAA2B,CAAC,CAC9C,CAAC;oBACF,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAC,QAAQ,IAAI,EAAE,CAAC;oBAC5C,QAAQ,CAAC,QAAQ,CAAC,eAAe,GAAG,OAAO,CAAC;gBAC9C,CAAC;qBAAM,CAAC;oBACN,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,gDAAgD,CAAC,CAAC;gBACtF,CAAC;YACH,CAAC;iBAAM,IAAI,GAAG,CAAC,GAAG,KAAK,8BAA8B,EAAE,CAAC;gBACtD,MAAM,QAAQ,GAAG,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBACrD,QAAQ,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,IAAI,EAAE,CAAC;gBACxC,MAAM,mBAAmB,GAAG,QAAQ,CAAC,MAAM,CAAC,YAAY,IAAI,EAAE,CAAC;gBAC/D,QAAQ,CAAC,MAAM,CAAC,YAAY,GAAG;oBAC7B,GAAG,mBAAmB;oBACtB,QAAQ;iBACT,CAAC;YACJ,CAAC;iBAAM,IAAI,GAAG,CAAC,GAAG,KAAK,iBAAiB,EAAE,CAAC;YAE3C,CAAC;iBAAM,IAAI,GAAG,CAAC,GAAG,KAAK,oBAAoB,EAAE,CAAC;gBAC5C,MAAM,SAAS,GAAG,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,KAAK,CAAsB,CAAC;gBAC3E,IAAI,mCAAoB,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;oBAC7C,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAC,QAAQ,IAAI,EAAE,CAAC;oBAC5C,QAAQ,CAAC,QAAQ,CAAC,SAAS,GAAG,SAAS,CAAC;gBAC1C,CAAC;qBAAM,CAAC;gBAER,CAAC;YACH,CAAC;iBAAM,IAAI,GAAG,CAAC,GAAG,KAAK,wBAAwB,EAAE,CAAC;gBAChD,MAAM,QAAQ,GAAG,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBACrD,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAChC,MAAM,aAAa,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC;gBAC7E,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAC,QAAQ,IAAI,EAAE,CAAC;gBAC5C,QAAQ,CAAC,QAAQ,CAAC,aAAa,GAAG,aAAa,CAAC;YAClD,CAAC;iBAAM,IAAI,GAAG,CAAC,GAAG,KAAK,qBAAqB,EAAE,CAAC;gBAC7C,IAAI,CAAC;oBACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;oBAClC,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;wBAC5C,QAAQ,CAAC,SAAS,GAAG,QAAQ,CAAC,SAAS,IAAI,EAAE,CAAC;wBAC9C,QAAQ,CAAC,SAAS,CAAC,SAAS,GAAG,GAAG,CAAC;oBACrC,CAAC;gBACH,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,qCAAqC,CAAC,CAAC;gBAChE,CAAC;YACH,CAAC;iBAAM,IAAI,GAAG,CAAC,GAAG,KAAK,qBAAqB,EAAE,CAAC;gBAC7C,MAAM,QAAQ,GAAG,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBACrD,QAAQ,CAAC,WAAW,GAAG,QAAQ,CAAC,WAAW,IAAI,EAAE,CAAC;gBAClD,QAAQ,CAAC,WAAW,CAAC,OAAO,GAAG,QAAQ,KAAK,MAAM,CAAC;YACrD,CAAC;iBAAM,IAAI,GAAG,CAAC,GAAG,KAAK,qBAAqB,EAAE,CAAC;gBAC7C,MAAM,QAAQ,GAAG,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBACrD,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAChC,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC1C,QAAQ,CAAC,WAAW,GAAG,QAAQ,CAAC,WAAW,IAAI,EAAE,CAAC;oBAClD,QAAQ,CAAC,WAAW,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,CACrC,iCAAyB,EACzB,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,iCAAyB,CAAC,CAC5C,CAAC;gBACJ,CAAC;YACH,CAAC;iBAAM,IAAI,GAAG,CAAC,GAAG,KAAK,uBAAuB,EAAE,CAAC;gBAC/C,MAAM,QAAQ,GAAG,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBACrD,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAChC,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC1C,QAAQ,CAAC,WAAW,GAAG,QAAQ,CAAC,WAAW,IAAI,EAAE,CAAC;oBAClD,QAAQ,CAAC,WAAW,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,CACvC,oCAA4B,EAC5B,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,oCAA4B,CAAC,CAC/C,CAAC;gBACJ,CAAC;YACH,CAAC;iBAAM,IAAI,GAAG,CAAC,GAAG,KAAK,yBAAyB,EAAE,CAAC;gBACjD,MAAM,QAAQ,GAAG,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBACrD,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAChC,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC1C,QAAQ,CAAC,WAAW,GAAG,QAAQ,CAAC,WAAW,IAAI,EAAE,CAAC;oBAClD,QAAQ,CAAC,WAAW,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,CACzC,qCAA6B,EAC7B,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,qCAA6B,CAAC,CAChD,CAAC;gBACJ,CAAC;YACH,CAAC;iBAAM,IAAI,GAAG,CAAC,GAAG,KAAK,uBAAuB,EAAE,CAAC;gBAC/C,MAAM,QAAQ,GAAG,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBACrD,QAAQ,CAAC,WAAW,GAAG,QAAQ,CAAC,WAAW,IAAI,EAAE,CAAC;gBAClD,QAAQ,CAAC,WAAW,CAAC,SAAS,GAAG,QAAQ,CAAC;YAC5C,CAAC;iBAAM,IAAI,GAAG,CAAC,GAAG,KAAK,sBAAsB,EAAE,CAAC;gBAC9C,IAAI,CAAC;oBACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;oBAClC,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;wBAC5C,QAAQ,CAAC,WAAW,GAAG,QAAQ,CAAC,WAAW,IAAI,EAAE,CAAC;wBAClD,QAAQ,CAAC,WAAW,CAAC,QAAQ,GAAG,GAAG,CAAC;oBACtC,CAAC;gBACH,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,sCAAsC,CAAC,CAAC;gBACjE,CAAC;YACH,CAAC;iBAAM,IAAI,GAAG,CAAC,GAAG,KAAK,mBAAmB,EAAE,CAAC;gBAC3C,IAAI,CAAC;oBACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;oBAClC,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;wBAC5C,QAAQ,CAAC,iBAAiB,GAAG,GAAG,CAAC;oBACnC,CAAC;gBACH,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,mCAAmC,CAAC,CAAC;gBAC9D,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,gBAAgB,GAAG,QAAQ,CAAC,QAAQ,IAAI,EAAE,CAAC;QACjD,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,eAAe,IAAI,sCAA2B,CAAC;QACzF,MAAM,kBAAkB,GAAG,gBAAgB,CAAC,eAAe,IAAI,uCAA+B,CAAC;QAC/F,MAAM,mBAAmB,GAAG,IAAI,CAAC,GAAG,CAClC,kCAAuB,EACvB,IAAI,CAAC,GAAG,CAAC,gBAAgB,EAAE,kCAAuB,CAAC,CACpD,CAAC;QACF,MAAM,qBAAqB,GAAG,IAAI,CAAC,GAAG,CACpC,mCAA2B,EAC3B,IAAI,CAAC,GAAG,CAAC,kBAAkB,EAAE,mCAA2B,CAAC,CAC1D,CAAC;QAEF,MAAM,eAAe,GAAG,gBAAgB,CAAC,SAAS,IAAI,mCAA2B,CAAC;QAClF,MAAM,SAAS,GAAsB,mCAAoB,CAAC,QAAQ,CAChE,eAAoC,CACrC;YACC,CAAC,CAAE,eAAqC;YACxC,CAAC,CAAC,mCAA2B,CAAC;QAEhC,QAAQ,CAAC,QAAQ,GAAG;YAClB,eAAe,EAAE,mBAAmB;YACpC,eAAe,EAAE,qBAAqB;YACtC,SAAS;SACV,CAAC;QAEF,MAAM,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,EAAE,oBAAoB,CAAC,CAAC;QACjD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAKD,KAAK,CAAC,cAAc,CAAC,QAAqB;QAExC,IAAI,QAAQ,CAAC,gBAAgB,KAAK,SAAS,IAAI,QAAQ,CAAC,gBAAgB,KAAK,EAAE,EAAE,CAAC;YAChF,MAAM,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,gBAAgB,EAAE,QAAQ,CAAC,CAAC;QACrE,CAAC;QAED,IAAI,QAAQ,CAAC,eAAe,KAAK,SAAS,IAAI,QAAQ,CAAC,eAAe,KAAK,EAAE,EAAE,CAAC;YAC9E,MAAM,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QACnE,CAAC;QAED,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACrC,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;;;;;;KAMhC,CAAC,CAAC;QAKH,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,EAAE;YAC3B,IAAI,QAAQ,CAAC,gBAAgB,KAAK,SAAS,EAAE,CAAC;gBAE5C,MAAM,cAAc,GAClB,QAAQ,CAAC,gBAAgB,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAA,cAAO,EAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;gBAC7E,IAAI,CAAC,GAAG,CAAC,IAAA,mBAAU,GAAE,EAAE,kBAAkB,EAAE,cAAc,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;YACvE,CAAC;YAED,IAAI,QAAQ,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;gBAE3C,MAAM,cAAc,GAClB,QAAQ,CAAC,eAAe,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAA,cAAO,EAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;gBAC3E,IAAI,CAAC,GAAG,CAAC,IAAA,mBAAU,GAAE,EAAE,iBAAiB,EAAE,cAAc,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;YACtE,CAAC;YAED,IAAI,QAAQ,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBAClC,IAAI,CAAC,GAAG,CAAC,IAAA,mBAAU,GAAE,EAAE,QAAQ,EAAE,QAAQ,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;YAC9D,CAAC;YAGD,IAAI,QAAQ,CAAC,uBAAuB,EAAE,CAAC;gBACrC,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC;gBACpE,IAAI,CAAC,GAAG,CAAC,IAAA,mBAAU,GAAE,EAAE,yBAAyB,EAAE,UAAU,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;YAC1E,CAAC;YAED,IAAI,QAAQ,CAAC,sBAAsB,KAAK,SAAS,EAAE,CAAC;gBAClD,MAAM,UAAU,GACd,QAAQ,CAAC,sBAAsB,IAAI,QAAQ,CAAC,sBAAsB,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC;oBAClF,CAAC,CAAC,QAAQ,CAAC,sBAAsB,CAAC,IAAI,EAAE;oBACxC,CAAC,CAAC,EAAE,CAAC;gBAET,IAAI,QAAQ,CAAC,SAAS,EAAE,CAAC;oBAEvB,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,yBAAyB,CAAC,CAAC;oBAC5D,IAAI,GAAG,GAAkC,EAAE,CAAC;oBAC5C,IAAI,CAAC;wBACH,IAAI,QAAQ;4BAAE,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;oBAC3C,CAAC;oBAAC,MAAM,CAAC;wBACP,GAAG,GAAG,EAAE,CAAC;oBACX,CAAC;oBACD,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,UAAU,IAAI,IAAI,CAAC;oBAC7C,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;oBACvC,IAAI,CAAC,GAAG,CAAC,IAAA,mBAAU,GAAE,EAAE,yBAAyB,EAAE,UAAU,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;gBAC1E,CAAC;qBAAM,CAAC;oBAEN,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;oBAC3C,IAAI,CAAC,GAAG,CAAC,IAAA,mBAAU,GAAE,EAAE,wBAAwB,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;gBACtE,CAAC;YACH,CAAC;YAED,MAAM,aAAa,GAAG,QAAQ,CAAC,MAAM,EAAE,YAAY,EAAE,QAAQ,CAAC;YAC9D,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;gBAChC,MAAM,UAAU,GAAG,aAAa,IAAI,EAAE,CAAC;gBACvC,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;gBAC3C,IAAI,CAAC,GAAG,CAAC,IAAA,mBAAU,GAAE,EAAE,8BAA8B,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;YAC5E,CAAC;YAED,MAAM,aAAa,GAAG,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC;YACvD,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;gBAChC,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;gBAC7E,IAAI,CAAC,GAAG,CAAC,IAAA,mBAAU,GAAE,EAAE,wBAAwB,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;YAC9E,CAAC;YAGD,MAAM,eAAe,GAAG,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAC;YAC3D,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC;gBAClC,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CACtB,kCAAuB,EACvB,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,kCAAuB,CAAC,CACnD,CAAC;gBACF,IAAI,CAAC,GAAG,CAAC,IAAA,mBAAU,GAAE,EAAE,2BAA2B,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;YACjF,CAAC;YAED,MAAM,eAAe,GAAG,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAC;YAC3D,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC;gBAClC,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CACtB,mCAA2B,EAC3B,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,mCAA2B,CAAC,CACvD,CAAC;gBACF,IAAI,CAAC,GAAG,CAAC,IAAA,mBAAU,GAAE,EAAE,2BAA2B,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;YACjF,CAAC;YAGD,MAAM,SAAS,GAAG,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC;YAC/C,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;gBAC5B,MAAM,gBAAgB,GAAG,mCAAoB,CAAC,QAAQ,CAAC,SAAS,CAAC;oBAC/D,CAAC,CAAC,SAAS;oBACX,CAAC,CAAC,mCAA2B,CAAC;gBAChC,IAAI,CAAC,GAAG,CAAC,IAAA,mBAAU,GAAE,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;YAC3E,CAAC;YAGD,IAAI,QAAQ,CAAC,SAAS,EAAE,SAAS,KAAK,SAAS,EAAE,CAAC;gBAChD,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;gBAChE,IAAI,CAAC,GAAG,CAAC,IAAA,mBAAU,GAAE,EAAE,qBAAqB,EAAE,UAAU,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;YACtE,CAAC;YAGD,IAAI,QAAQ,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;gBACvC,IAAI,QAAQ,CAAC,WAAW,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;oBAC/C,IAAI,CAAC,GAAG,CACN,IAAA,mBAAU,GAAE,EACZ,qBAAqB,EACrB,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,OAAO,CAAC,EACpC,GAAG,EACH,GAAG,CACJ,CAAC;gBACJ,CAAC;gBACD,IAAI,QAAQ,CAAC,WAAW,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;oBAC/C,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CACtB,iCAAyB,EACzB,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC,OAAO,EAAE,iCAAyB,CAAC,CAClE,CAAC;oBACF,IAAI,CAAC,GAAG,CAAC,IAAA,mBAAU,GAAE,EAAE,qBAAqB,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;gBAC3E,CAAC;gBACD,IAAI,QAAQ,CAAC,WAAW,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;oBACjD,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CACtB,oCAA4B,EAC5B,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC,SAAS,EAAE,oCAA4B,CAAC,CACvE,CAAC;oBACF,IAAI,CAAC,GAAG,CAAC,IAAA,mBAAU,GAAE,EAAE,uBAAuB,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;gBAC7E,CAAC;gBACD,IAAI,QAAQ,CAAC,WAAW,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;oBACnD,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CACtB,qCAA6B,EAC7B,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC,WAAW,EAAE,qCAA6B,CAAC,CAC1E,CAAC;oBACF,IAAI,CAAC,GAAG,CAAC,IAAA,mBAAU,GAAE,EAAE,yBAAyB,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;gBAC/E,CAAC;gBACD,IAAI,QAAQ,CAAC,WAAW,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;oBACjD,IAAI,CAAC,GAAG,CACN,IAAA,mBAAU,GAAE,EACZ,uBAAuB,EACvB,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,SAAS,CAAC,EAC9C,GAAG,EACH,GAAG,CACJ,CAAC;gBACJ,CAAC;gBACD,IAAI,QAAQ,CAAC,WAAW,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;oBAChD,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;oBACjE,IAAI,CAAC,GAAG,CAAC,IAAA,mBAAU,GAAE,EAAE,sBAAsB,EAAE,UAAU,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;gBACvE,CAAC;YACH,CAAC;YAGD,IAAI,QAAQ,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;gBACpC,IAAI,QAAQ,CAAC,QAAQ,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;oBACxC,IAAI,CAAC,GAAG,CAAC,IAAA,mBAAU,GAAE,EAAE,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;gBAC1F,CAAC;gBACD,IAAI,QAAQ,CAAC,QAAQ,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;oBAC7C,IAAI,CAAC,GAAG,CACN,IAAA,mBAAU,GAAE,EACZ,mBAAmB,EACnB,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAC1C,GAAG,EACH,GAAG,CACJ,CAAC;gBACJ,CAAC;gBACD,IAAI,QAAQ,CAAC,QAAQ,CAAC,qBAAqB,KAAK,SAAS,EAAE,CAAC;oBAC1D,IAAI,CAAC,GAAG,CACN,IAAA,mBAAU,GAAE,EACZ,gCAAgC,EAChC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,qBAAqB,CAAC,EAC/C,GAAG,EACH,GAAG,CACJ,CAAC;gBACJ,CAAC;YACH,CAAC;YAGD,IAAI,QAAQ,CAAC,iBAAiB,KAAK,SAAS,EAAE,CAAC;gBAC7C,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;gBAC9D,IAAI,CAAC,GAAG,CAAC,IAAA,mBAAU,GAAE,EAAE,mBAAmB,EAAE,UAAU,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;YACpE,CAAC;QACH,CAAC,CAAC,EAAE,CAAC;QAEL,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAKhC,IAAI,QAAQ,CAAC,QAAQ,EAAE,eAAe,KAAK,SAAS,EAAE,CAAC;YACrD,MAAM,iBAAiB,GAAG,IAAI,CAAC,GAAG,CAChC,kCAAuB,EACvB,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,eAAe,EAAE,kCAAuB,CAAC,CACrE,CAAC;YACF,MAAM,OAAO,GAAG,EAAE,eAAe,EAAE,iBAAiB,EAAE,CAAC;YAEvD,IAAI,CAAC;gBAEH,sCAA4B,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBACnD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,2BAA2B,EAAE,OAAO,CAAC,CAAC;gBAC7D,MAAM,CAAC,KAAK,CACV,EAAE,eAAe,EAAE,iBAAiB,EAAE,EACtC,yCAAyC,CAC1C,CAAC;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAEf,MAAM,CAAC,KAAK,CACV,EAAE,eAAe,EAAE,iBAAiB,EAAE,KAAK,EAAE,EAC7C,yDAAyD,CAC1D,CAAC;YACJ,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC;IAC5B,CAAC;IAKD,UAAU,CAAC,GAAW;QACpB,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,0CAA0C,CAAC,CAAC,GAAG,CAAC,GAAG,CAEtE,CAAC;QACd,OAAO,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC/D,CAAC;IAMD,kBAAkB;QAChB,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,2BAA2B,CAAC,CAAC;QAC3D,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,sCAA2B,CAAC;QACzE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YAC7B,OAAO,sCAA2B,CAAC;QACrC,CAAC;QACD,OAAO,IAAI,CAAC,GAAG,CAAC,kCAAuB,EAAE,IAAI,CAAC,GAAG,CAAC,kCAAuB,EAAE,MAAM,CAAC,CAAC,CAAC;IACtF,CAAC;IAOD,qBAAqB,CAAC,SAAiB;QACrC,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,qBAAqB,CAAC,CAAC;QACnD,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAA6B,CAAC;YACxD,OAAO,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;QAC9B,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;YACnD,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAMD,oBAAoB;QAClB,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACpC,MAAM,IAAI,GAAG,QAAQ,CAAC,WAAW,IAAI,EAAE,CAAC;QAExC,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,oCAA4B;YACrD,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,qCAA6B;YACtD,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,wCAAgC;YAC7D,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,yCAAiC;YAClE,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,sCAA8B;SAC5D,CAAC;IACJ,CAAC;IAQD,8BAA8B,CAC5B,SAAiB;QAEjB,MAAM,YAAY,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;QACjD,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACpC,MAAM,gBAAgB,GAAG,QAAQ,CAAC,WAAW,EAAE,QAAQ,EAAE,CAAC,SAAS,CAAC,CAAC;QAErE,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,OAAO,YAAY,CAAC;QACtB,CAAC;QAGD,OAAO;YACL,OAAO,EAAE,gBAAgB,CAAC,OAAO,IAAI,YAAY,CAAC,OAAO;YACzD,OAAO,EAAE,gBAAgB,CAAC,OAAO,IAAI,YAAY,CAAC,OAAO;YACzD,SAAS,EAAE,gBAAgB,CAAC,SAAS,IAAI,YAAY,CAAC,SAAS;YAC/D,WAAW,EAAE,gBAAgB,CAAC,WAAW,IAAI,YAAY,CAAC,WAAW;YACrE,SAAS,EAAE,gBAAgB,CAAC,SAAS,IAAI,YAAY,CAAC,SAAS;SAChE,CAAC;IACJ,CAAC;IAOD,sBAAsB,CAAC,SAAiB;QAStC,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACpC,OAAO,QAAQ,CAAC,WAAW,EAAE,QAAQ,EAAE,CAAC,SAAS,CAAC,CAAC;IACrD,CAAC;IAOD,KAAK,CAAC,sBAAsB,CAC1B,SAAiB,EACjB,YAMQ;QAER,MAAM,eAAe,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAC3C,MAAM,gBAAgB,GAAG,eAAe,CAAC,WAAW,EAAE,QAAQ,IAAI,EAAE,CAAC;QAErE,IAAI,YAAY,KAAK,IAAI,EAAE,CAAC;YAE1B,MAAM,SAAS,GAAG,EAAE,GAAG,gBAAgB,EAAE,CAAC;YAC1C,OAAO,SAAS,CAAC,SAAS,CAAC,CAAC;YAC5B,MAAM,IAAI,CAAC,cAAc,CAAC;gBACxB,WAAW,EAAE;oBACX,QAAQ,EAAE,SAAS;iBACpB;aACF,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YAEN,MAAM,IAAI,CAAC,cAAc,CAAC;gBACxB,WAAW,EAAE;oBACX,QAAQ,EAAE;wBACR,GAAG,gBAAgB;wBACnB,CAAC,SAAS,CAAC,EAAE,YAAY;qBAC1B;iBACF;aACF,CAAC,CAAC;QACL,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,YAAY,EAAE,EAAE,+BAA+B,CAAC,CAAC;IAC5E,CAAC;IAOD,kBAAkB,CAAC,SAAiB;QAClC,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACpC,MAAM,MAAM,GAAoB,EAAE,CAAC;QAGnC,MAAM,QAAQ,GAAG,QAAQ,CAAC,uBAAuB,EAAE,CAAC,SAAS,CAAC,CAAC;QAC/D,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,MAAM,CAAC,sBAAsB,GAAG,QAAQ,CAAC;QAC3C,CAAC;QAGD,MAAM,YAAY,GAAG,QAAQ,CAAC,SAAS,EAAE,SAAS,EAAE,CAAC,SAAS,CAAC,CAAC;QAChE,IAAI,YAAY,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5C,MAAM,CAAC,kBAAkB,GAAG,YAAY,CAAC;QAC3C,CAAC;QAGD,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAM,EAAE,YAAY,EAAE,QAAQ,CAAC;QAC7D,IAAI,YAAY,EAAE,CAAC;YACjB,MAAM,CAAC,oBAAoB,GAAG,YAAY,CAAC;QAC7C,CAAC;QAGD,MAAM,YAAY,GAAG,QAAQ,CAAC,WAAW,EAAE,QAAQ,EAAE,CAAC,SAAS,CAAC,CAAC;QACjE,IAAI,YAAY,EAAE,CAAC;YACjB,MAAM,CAAC,mBAAmB,GAAG,YAAY,CAAC;QAC5C,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAOD,KAAK,CAAC,kBAAkB,CAAC,SAAiB,EAAE,eAAgC;QAC1E,MAAM,OAAO,GAAgB,EAAE,CAAC;QAGhC,IAAI,eAAe,CAAC,sBAAsB,KAAK,SAAS,EAAE,CAAC;YACzD,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC;YAC9B,OAAO,CAAC,sBAAsB,GAAG,eAAe,CAAC,sBAAsB,CAAC;QAC1E,CAAC;QAGD,IAAI,eAAe,CAAC,kBAAkB,KAAK,SAAS,EAAE,CAAC;YACrD,MAAM,eAAe,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;YAC3C,MAAM,WAAW,GAAG,eAAe,CAAC,SAAS,EAAE,SAAS,IAAI,EAAE,CAAC;YAC/D,OAAO,CAAC,SAAS,GAAG;gBAClB,SAAS,EAAE;oBACT,GAAG,WAAW;oBACd,CAAC,SAAS,CAAC,EAAE,eAAe,CAAC,kBAAkB;iBAChD;aACF,CAAC;QACJ,CAAC;QAGD,IAAI,eAAe,CAAC,oBAAoB,KAAK,SAAS,EAAE,CAAC;YACvD,OAAO,CAAC,MAAM,GAAG;gBACf,YAAY,EAAE,EAAE,QAAQ,EAAE,eAAe,CAAC,oBAAoB,EAAE;aACjE,CAAC;QACJ,CAAC;QAGD,IAAI,eAAe,CAAC,mBAAmB,KAAK,SAAS,EAAE,CAAC;YACtD,MAAM,eAAe,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;YAC3C,MAAM,gBAAgB,GAAG,eAAe,CAAC,WAAW,EAAE,QAAQ,IAAI,EAAE,CAAC;YACrE,OAAO,CAAC,WAAW,GAAG;gBACpB,QAAQ,EAAE;oBACR,GAAG,gBAAgB;oBACnB,CAAC,SAAS,CAAC,EAAE,eAAe,CAAC,mBAAmB;iBACjD;aACF,CAAC;QACJ,CAAC;QAGD,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpC,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;YACnC,MAAM,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,0BAA0B,CAAC,CAAC;QACxF,CAAC;IACH,CAAC;IAMO,KAAK,CAAC,kBAAkB,CAAC,UAAkB,EAAE,YAAoB;QACvE,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;YACjC,MAAM,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,YAAY,EAAE,EAAE,sCAAsC,CAAC,CAAC;YAClF,OAAO;QACT,CAAC;QAED,MAAM,YAAY,GAAG,IAAA,cAAO,EAAC,UAAU,CAAC,CAAC;QAEzC,IAAI,CAAC;YAEH,MAAM,IAAA,iBAAM,EAAC,YAAY,EAAE,oBAAS,CAAC,IAAI,GAAG,oBAAS,CAAC,IAAI,CAAC,CAAC;YAG5D,MAAM,IAAA,iBAAM,EAAC,YAAY,EAAE,oBAAS,CAAC,IAAI,CAAC,CAAC;YAE3C,MAAM,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,YAAY,EAAE,YAAY,EAAE,EAAE,oCAAoC,CAAC,CAAC;QAChG,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,QAAQ,GACZ,KAAK,YAAY,KAAK,IAAI,MAAM,IAAI,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ;gBAClE,CAAC,CAAC,qBAAqB,YAAY,EAAE;gBACrC,CAAC,CAAC,0BAA0B,YAAY,EAAE,CAAC;YAE/C,MAAM,CAAC,KAAK,CAAC,EAAE,UAAU,EAAE,YAAY,EAAE,YAAY,EAAE,KAAK,EAAE,EAAE,0BAA0B,CAAC,CAAC;YAE5F,MAAM,IAAI,6BAAe,CAAC,QAAQ,EAAE;gBAClC,QAAQ,EAAE,YAAY;gBACtB,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE,OAAO,YAAY,qGAAqG;aAC/H,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAEO,mBAAmB,CAAC,KAAa;QACvC,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;QAC7B,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACnC,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;gBAC/B,OAAO,MAAM,CAAC;YAChB,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;QAET,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,eAAe,CAAC,KAAc;QACpC,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YAC1C,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,IAAI,wBAAwB,IAAK,KAAiC,EAAE,CAAC;gBACnE,OAAO,IAAI,CAAC,eAAe,CACxB,KAA8C,CAAC,sBAAsB,CACvE,CAAC;YACJ,CAAC;YACD,IAAI,OAAO,IAAK,KAAiC,EAAE,CAAC;gBAClD,OAAO,IAAI,CAAC,eAAe,CAAE,KAA6B,CAAC,KAAK,CAAC,CAAC;YACpE,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,WAAW,GACf,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAE,KAAgB,CAAC;QAE9F,IAAI,SAAS,GAAG,WAAW,CAAC,IAAI,EAAE,CAAC;QACnC,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YACrC,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC3D,SAAS,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;YAC5B,CAAC;iBAAM,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;gBAChD,OAAO,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;YACtC,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;QAET,CAAC;QAED,IAAI,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,SAAS,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YAClF,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC5C,CAAC;QAED,OAAO,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;IACjD,CAAC;IAeD,iBAAiB;QACf,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACpC,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,IAAI,EAAE,CAAC;QAGzC,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,IAAI,CAAC,oBAAoB,CAAC;QAElF,OAAO;YACL,GAAG;YACH,QAAQ,EAAE,QAAQ,CAAC,QAAQ,IAAI,EAAE;YACjC,qBAAqB,EAAE,QAAQ,CAAC,qBAAqB,IAAI,IAAI;SAC9D,CAAC;IACJ,CAAC;IAKD,KAAK,CAAC,iBAAiB,CAAC,MAAkC;QACxD,MAAM,eAAe,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAC3C,MAAM,gBAAgB,GAAG,eAAe,CAAC,QAAQ,IAAI,EAAE,CAAC;QAExD,MAAM,IAAI,CAAC,cAAc,CAAC;YACxB,QAAQ,EAAE;gBACR,GAAG,gBAAgB;gBACnB,GAAG,MAAM;aACV;SACF,CAAC,CAAC;QAEH,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,yBAAyB,CAAC,CAAC;IACrD,CAAC;IAOD,0BAA0B,CAAC,SAAiB;QAC1C,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACpC,OAAO,QAAQ,CAAC,iBAAiB,EAAE,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC;IACzD,CAAC;IAOD,KAAK,CAAC,0BAA0B,CAC9B,SAAiB,EACjB,QAAqC;QAErC,MAAM,eAAe,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAC3C,MAAM,iBAAiB,GAAG,eAAe,CAAC,iBAAiB,IAAI,EAAE,CAAC;QAElE,MAAM,IAAI,CAAC,cAAc,CAAC;YACxB,iBAAiB,EAAE;gBACjB,GAAG,iBAAiB;gBACpB,CAAC,SAAS,CAAC,EAAE,QAAQ;aACtB;SACF,CAAC,CAAC;QAEH,MAAM,CAAC,IAAI,CACT,EAAE,SAAS,EAAE,YAAY,EAAE,QAAQ,CAAC,YAAY,EAAE,OAAO,EAAE,QAAQ,CAAC,gBAAgB,EAAE,EACtF,mCAAmC,CACpC,CAAC;IACJ,CAAC;IAMD,KAAK,CAAC,4BAA4B,CAAC,SAAiB;QAClD,MAAM,eAAe,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAC3C,MAAM,iBAAiB,GAAG,eAAe,CAAC,iBAAiB,IAAI,EAAE,CAAC;QAIlE,MAAM,EAAE,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,GAAG,SAAS,EAAE,GAAG,iBAAiB,CAAC;QAElE,MAAM,IAAI,CAAC,cAAc,CAAC;YACxB,iBAAiB,EAAE,SAAS;SAC7B,CAAC,CAAC;QAEH,MAAM,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,EAAE,mCAAmC,CAAC,CAAC;IAClE,CAAC;IAMD,qBAAqB;QACnB,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACpC,MAAM,SAAS,GAAG,QAAQ,CAAC,iBAAiB,IAAI,EAAE,CAAC;QAEnD,OAAO,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC;YAC/D,SAAS;YACT,QAAQ;SACT,CAAC,CAAC,CAAC;IACN,CAAC;IAOD,gCAAgC;QAC9B,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACpC,MAAM,SAAS,GAAG,QAAQ,CAAC,iBAAiB,IAAI,EAAE,CAAC;QACnD,OAAO,IAAI,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;IAC5C,CAAC;IAMD,KAAK,CAAC,qBAAqB,CAAC,SAAiB;QAC3C,MAAM,QAAQ,GAAG,IAAI,CAAC,0BAA0B,CAAC,SAAS,CAAC,CAAC;QAC5D,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,EAAE,sDAAsD,CAAC,CAAC;YACnF,OAAO;QACT,CAAC;QAED,MAAM,IAAI,CAAC,0BAA0B,CAAC,SAAS,EAAE;YAC/C,GAAG,QAAQ;YACX,iBAAiB,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SAC5C,CAAC,CAAC;IACL,CAAC;CACF,CAAA;AA94BY,0CAAe;0BAAf,eAAe;IAD3B,IAAA,mBAAU,GAAE;IAKR,WAAA,IAAA,eAAM,EAAC,2BAAa,CAAC,CAAA;qCAAsB,sCAAqB;QAClC,6BAAa;GALnC,eAAe,CA84B3B"}
@@ -3,6 +3,7 @@ import type { TmuxService } from '../../terminal/services/tmux.service';
3
3
  import type { SessionsService } from '../../sessions/services/sessions.service';
4
4
  import type { SessionCoordinatorService } from '../../sessions/services/session-coordinator.service';
5
5
  import type { TerminalSendCoordinatorService } from '../../terminal/services/terminal-send-coordinator.service';
6
+ import type { SessionsMessagePoolService } from '../../sessions/services/sessions-message-pool.service';
6
7
  import type { StorageService } from '../../storage/interfaces/storage.interface';
7
8
  export interface EventEnvelope {
8
9
  eventName: string;
@@ -37,6 +38,7 @@ export interface ActionContext {
37
38
  sessionsService: SessionsService;
38
39
  sessionCoordinator: SessionCoordinatorService;
39
40
  sendCoordinator: TerminalSendCoordinatorService;
41
+ messagePoolService: SessionsMessagePoolService;
40
42
  storage: StorageService;
41
43
  sessionId: string;
42
44
  agentId: string | null;