@ruso-0/nreki 7.1.2 → 7.3.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 (87) hide show
  1. package/CHANGELOG.md +805 -774
  2. package/README.md +308 -442
  3. package/dist/ast-sandbox.d.ts.map +1 -1
  4. package/dist/ast-sandbox.js +17 -1
  5. package/dist/ast-sandbox.js.map +1 -1
  6. package/dist/audit.d.ts.map +1 -1
  7. package/dist/audit.js +10 -4
  8. package/dist/audit.js.map +1 -1
  9. package/dist/chronos-memory.d.ts.map +1 -1
  10. package/dist/chronos-memory.js +10 -2
  11. package/dist/chronos-memory.js.map +1 -1
  12. package/dist/compressor.d.ts.map +1 -1
  13. package/dist/compressor.js +13 -1
  14. package/dist/compressor.js.map +1 -1
  15. package/dist/database.d.ts +12 -1
  16. package/dist/database.d.ts.map +1 -1
  17. package/dist/database.js +81 -29
  18. package/dist/database.js.map +1 -1
  19. package/dist/embedder.d.ts.map +1 -1
  20. package/dist/embedder.js +7 -2
  21. package/dist/embedder.js.map +1 -1
  22. package/dist/handlers/code.d.ts.map +1 -1
  23. package/dist/handlers/code.js +198 -243
  24. package/dist/handlers/code.js.map +1 -1
  25. package/dist/handlers/guard.d.ts.map +1 -1
  26. package/dist/handlers/guard.js +10 -1
  27. package/dist/handlers/guard.js.map +1 -1
  28. package/dist/hologram/shadow-generator.d.ts.map +1 -1
  29. package/dist/hologram/shadow-generator.js +20 -1
  30. package/dist/hologram/shadow-generator.js.map +1 -1
  31. package/dist/kernel/backends/lsp-sidecar-base.d.ts +49 -5
  32. package/dist/kernel/backends/lsp-sidecar-base.d.ts.map +1 -1
  33. package/dist/kernel/backends/lsp-sidecar-base.js +209 -69
  34. package/dist/kernel/backends/lsp-sidecar-base.js.map +1 -1
  35. package/dist/kernel/backends/ts-compiler-wrapper.d.ts +1 -1
  36. package/dist/kernel/backends/ts-compiler-wrapper.d.ts.map +1 -1
  37. package/dist/kernel/backends/ts-compiler-wrapper.js +7 -4
  38. package/dist/kernel/backends/ts-compiler-wrapper.js.map +1 -1
  39. package/dist/kernel/backends/ts-corsa-sidecar.d.ts +26 -0
  40. package/dist/kernel/backends/ts-corsa-sidecar.d.ts.map +1 -0
  41. package/dist/kernel/backends/ts-corsa-sidecar.js +30 -0
  42. package/dist/kernel/backends/ts-corsa-sidecar.js.map +1 -0
  43. package/dist/kernel/nreki-kernel.d.ts +37 -0
  44. package/dist/kernel/nreki-kernel.d.ts.map +1 -1
  45. package/dist/kernel/nreki-kernel.js +669 -290
  46. package/dist/kernel/nreki-kernel.js.map +1 -1
  47. package/dist/kernel/spectral-topology.d.ts.map +1 -1
  48. package/dist/kernel/spectral-topology.js +32 -16
  49. package/dist/kernel/spectral-topology.js.map +1 -1
  50. package/dist/middleware/circuit-breaker.d.ts.map +1 -1
  51. package/dist/middleware/circuit-breaker.js +18 -2
  52. package/dist/middleware/circuit-breaker.js.map +1 -1
  53. package/dist/middleware/file-lock.d.ts.map +1 -1
  54. package/dist/middleware/file-lock.js +8 -3
  55. package/dist/middleware/file-lock.js.map +1 -1
  56. package/dist/monitor.d.ts.map +1 -1
  57. package/dist/monitor.js +1 -0
  58. package/dist/monitor.js.map +1 -1
  59. package/dist/parser.d.ts.map +1 -1
  60. package/dist/parser.js +19 -2
  61. package/dist/parser.js.map +1 -1
  62. package/dist/pin-memory.d.ts +2 -2
  63. package/dist/pin-memory.d.ts.map +1 -1
  64. package/dist/pin-memory.js.map +1 -1
  65. package/dist/repo-map.d.ts.map +1 -1
  66. package/dist/repo-map.js +26 -0
  67. package/dist/repo-map.js.map +1 -1
  68. package/dist/router.d.ts.map +1 -1
  69. package/dist/router.js +58 -18
  70. package/dist/router.js.map +1 -1
  71. package/dist/undo.js +1 -1
  72. package/dist/undo.js.map +1 -1
  73. package/dist/utils/imports.d.ts.map +1 -1
  74. package/dist/utils/imports.js +8 -4
  75. package/dist/utils/imports.js.map +1 -1
  76. package/dist/utils/latency-tracker.d.ts +22 -0
  77. package/dist/utils/latency-tracker.d.ts.map +1 -0
  78. package/dist/utils/latency-tracker.js +49 -0
  79. package/dist/utils/latency-tracker.js.map +1 -0
  80. package/dist/utils/logger.d.ts +5 -2
  81. package/dist/utils/logger.d.ts.map +1 -1
  82. package/dist/utils/logger.js +29 -6
  83. package/dist/utils/logger.js.map +1 -1
  84. package/dist/utils/path-jail.d.ts.map +1 -1
  85. package/dist/utils/path-jail.js +3 -0
  86. package/dist/utils/path-jail.js.map +1 -1
  87. package/package.json +96 -79
@@ -28,30 +28,30 @@ export class LspSidecarBase {
28
28
  pendingRequests = new Map();
29
29
  diagnostics = new Map();
30
30
  openedFiles = new Set();
31
+ spawnEnv;
31
32
  realProjectRoot;
32
33
  workspaceUri;
33
34
  /** True if the process has exited or failed to boot. */
34
35
  isDead = false;
36
+ /** True if the LSP server supports textDocument/diagnostic (pull model) */
37
+ supportsPullDiagnostics = false;
35
38
  // ─── Settle Debounce ────────────────────────────────────────────
36
39
  settleResolvers = [];
37
40
  settleTimer;
38
- constructor(projectRoot, command, languageId) {
41
+ settleMs = 150;
42
+ // ─── Anti-Zombie Guard ──────────────────────────────────────────
43
+ killFn;
44
+ constructor(projectRoot, command, languageId, spawnEnv) {
39
45
  this.realProjectRoot = projectRoot;
40
46
  this.command = command;
41
47
  this.languageId = languageId;
48
+ this.spawnEnv = spawnEnv;
42
49
  // The workspace IS the real project. No tmp dirs. No fake go.mod.
43
50
  this.workspaceUri = this.toUri(projectRoot);
44
51
  // Anti-Zombie Guard: kill child process if Node exits unexpectedly.
45
- // Prevents orphan gopls/pyright processes consuming resources.
46
- const killFn = () => { if (this.proc) {
47
- try {
48
- this.proc.kill("SIGKILL");
49
- }
50
- catch { /* already dead */ }
51
- } };
52
- process.on("exit", killFn);
53
- process.on("SIGINT", killFn);
54
- process.on("SIGTERM", killFn);
52
+ // Listeners are attached in ensureReady() (when proc exists) and removed
53
+ // in shutdown() and proc "exit" to prevent MaxListenersExceededWarning.
54
+ this.killFn = () => { this.forceKill(); };
55
55
  }
56
56
  // ─── Path Utilities ─────────────────────────────────────────────
57
57
  // POSIX normalization — delegates to shared utility
@@ -73,39 +73,35 @@ export class LspSidecarBase {
73
73
  try {
74
74
  this.proc = spawn(this.command[0], this.command.slice(1), {
75
75
  cwd: this.realProjectRoot,
76
+ env: this.spawnEnv ? { ...process.env, ...this.spawnEnv } : undefined,
76
77
  stdio: ["pipe", "pipe", "pipe"],
77
78
  });
79
+ // Attach anti-zombie listeners now that proc exists
80
+ process.on("exit", this.killFn);
81
+ process.on("SIGINT", this.killFn);
82
+ process.on("SIGTERM", this.killFn);
78
83
  // ENOENT handler: binary not found in PATH
79
84
  this.proc.on("error", (err) => {
80
85
  const isNotFound = err.code === "ENOENT";
81
- logger.error(`${this.command[0]} spawn failed: ${isNotFound
82
- ? `not found in PATH`
83
- : err.message}`);
84
- this.isDead = true;
85
- this.proc = undefined;
86
- // Reject all pending requests
87
- for (const { reject: r } of this.pendingRequests.values()) {
88
- r(new Error(`${this.command[0]} not available`));
89
- }
90
- this.pendingRequests.clear();
86
+ const msg = `[NREKI] ${this.command[0]} spawn failed: ${isNotFound ? "not found in PATH" : err.message}`;
87
+ logger.error(msg);
88
+ this.cleanupState(msg);
91
89
  });
92
90
  // Capture stderr for debugging
93
- this.proc.stderr.on("data", (chunk) => {
94
- const msg = chunk.toString("utf-8").trim();
95
- if (msg)
96
- logger.debug(`[${this.languageId}] ${msg}`);
97
- });
91
+ if (this.proc.stderr) {
92
+ this.proc.stderr.on("data", (chunk) => {
93
+ const msg = chunk.toString("utf-8").trim();
94
+ if (msg)
95
+ logger.debug(`[${this.languageId}] ${msg}`);
96
+ });
97
+ }
98
98
  // JSON-RPC frame parser
99
- this.proc.stdout.on("data", (chunk) => this.handleData(chunk));
99
+ if (this.proc.stdout) {
100
+ this.proc.stdout.on("data", (chunk) => this.handleData(chunk));
101
+ }
100
102
  // Clean exit: no redundant kill, prevent Windows ESRCH crash
101
103
  this.proc.on("exit", () => {
102
- this.isDead = true;
103
- this.proc = undefined;
104
- this.diagnostics.clear();
105
- for (const { reject: r } of this.pendingRequests.values()) {
106
- r(new Error(`${this.command[0]} process exited unexpectedly`));
107
- }
108
- this.pendingRequests.clear();
104
+ this.cleanupState(`[NREKI] ${this.command[0]} process exited unexpectedly`);
109
105
  });
110
106
  // LSP initialize handshake (10s timeout)
111
107
  this.request("initialize", {
@@ -114,32 +110,32 @@ export class LspSidecarBase {
114
110
  capabilities: {
115
111
  textDocument: {
116
112
  publishDiagnostics: { relatedInformation: true },
113
+ diagnostic: { dynamicRegistration: false },
117
114
  },
118
115
  },
119
116
  workspaceFolders: [
120
117
  { uri: this.workspaceUri, name: path.basename(this.realProjectRoot) },
121
118
  ],
122
119
  }, 10_000)
123
- .then(() => {
120
+ .then((initResult) => {
121
+ // Detect pull diagnostics support from server capabilities
122
+ const serverCaps = initResult;
123
+ if (serverCaps?.capabilities?.diagnosticProvider) {
124
+ this.supportsPullDiagnostics = true;
125
+ logger.info(`${this.command[0]} supports pull diagnostics (deterministic mode).`);
126
+ }
124
127
  this.notifyLsp("initialized", {});
125
128
  logger.info(`${this.command[0]} sidecar booted successfully.`);
126
129
  resolve();
127
130
  })
128
131
  .catch((e) => {
129
- this.isDead = true;
130
- if (this.proc) {
131
- try {
132
- this.proc.kill("SIGKILL");
133
- }
134
- catch { /* already dead */ }
135
- }
136
- this.proc = undefined;
132
+ this.forceKill();
137
133
  reject(e);
138
134
  });
139
135
  }
140
136
  catch (e) {
141
- this.isDead = true;
142
- this.proc = undefined;
137
+ const errMsg = e instanceof Error ? e.message : String(e);
138
+ this.cleanupState(`[NREKI] Synchronous boot failure for ${this.command[0]}: ${errMsg}`);
143
139
  reject(e);
144
140
  }
145
141
  });
@@ -148,6 +144,52 @@ export class LspSidecarBase {
148
144
  isHealthy() {
149
145
  return !!this.proc && this.proc.exitCode === null && !this.isDead;
150
146
  }
147
+ /**
148
+ * SSOT (Single Source of Truth) para el ciclo de vida final.
149
+ * Idempotente: previene ejecución redundante si exit y forceKill colisionan.
150
+ * Simétrico: limpia TODO sin importar por qué murió el proceso.
151
+ */
152
+ cleanupState(reasonMsg) {
153
+ if (this.isDead)
154
+ return;
155
+ this.isDead = true;
156
+ this.openedFiles.clear();
157
+ this.diagnostics.clear();
158
+ // 1. Settle Timers
159
+ if (this.settleTimer) {
160
+ clearTimeout(this.settleTimer);
161
+ this.settleTimer = undefined;
162
+ }
163
+ const queue = this.settleResolvers;
164
+ this.settleResolvers = [];
165
+ for (const r of queue)
166
+ r();
167
+ // 2. Pending Request Timers (limpieza explícita, sin closures)
168
+ const err = new Error(reasonMsg);
169
+ for (const { reject, timer } of this.pendingRequests.values()) {
170
+ clearTimeout(timer);
171
+ reject(err);
172
+ }
173
+ this.pendingRequests.clear();
174
+ // 3. Process listeners
175
+ process.removeListener("exit", this.killFn);
176
+ process.removeListener("SIGINT", this.killFn);
177
+ process.removeListener("SIGTERM", this.killFn);
178
+ this.proc = undefined;
179
+ }
180
+ forceKill() {
181
+ if (this.proc) {
182
+ try {
183
+ if (this.proc.stdin && !this.proc.stdin.destroyed) {
184
+ this.proc.stdin.end();
185
+ this.proc.stdin.destroy();
186
+ }
187
+ this.proc.kill("SIGKILL");
188
+ }
189
+ catch { /* already dead */ }
190
+ }
191
+ this.cleanupState(`[NREKI] ${this.command[0]} process terminated forcefully`);
192
+ }
151
193
  /**
152
194
  * Graceful shutdown: send LSP shutdown → exit.
153
195
  * If unresponsive after 3s, SIGKILL.
@@ -162,16 +204,7 @@ export class LspSidecarBase {
162
204
  catch {
163
205
  // Unresponsive — force kill
164
206
  }
165
- if (this.proc) {
166
- try {
167
- this.proc.kill("SIGKILL");
168
- }
169
- catch { /* already dead */ }
170
- }
171
- this.proc = undefined;
172
- this.isDead = true;
173
- this.openedFiles.clear();
174
- this.diagnostics.clear();
207
+ this.forceKill();
175
208
  }
176
209
  // ─── Validation ─────────────────────────────────────────────────
177
210
  /**
@@ -216,9 +249,22 @@ export class LspSidecarBase {
216
249
  changed = true;
217
250
  }
218
251
  }
219
- // Wait for diagnostics to settle
252
+ // Collect diagnostics: pull (deterministic) or push (settle timer)
220
253
  if (changed) {
221
- await this.waitForSettle(5_000, 150);
254
+ if (this.supportsPullDiagnostics) {
255
+ // PULL MODE: Request diagnostics explicitly. Zero timers.
256
+ for (const edit of edits) {
257
+ if (edit.content === null)
258
+ continue;
259
+ const relPath = this.toPosix(path.relative(this.realProjectRoot, edit.filePath));
260
+ const uri = `${this.workspaceUri}/${relPath}`;
261
+ await this.pullDiagnostics(uri);
262
+ }
263
+ }
264
+ else {
265
+ // PUSH MODE (fallback): Wait for server to push diagnostics.
266
+ await this.waitForSettle(5_000, 150);
267
+ }
222
268
  }
223
269
  // Collect errors (severity 1 only)
224
270
  const errors = [];
@@ -242,10 +288,99 @@ export class LspSidecarBase {
242
288
  }
243
289
  return errors;
244
290
  }
291
+ /**
292
+ * Pull diagnostics for a specific file (LSP 3.17+).
293
+ * Deterministic: waits for the server's actual response.
294
+ * No timers. No race conditions.
295
+ */
296
+ async pullDiagnostics(uri) {
297
+ try {
298
+ const result = await this.request("textDocument/diagnostic", {
299
+ textDocument: { uri },
300
+ }, 10_000);
301
+ // Pull response contains items directly (not via notification)
302
+ if (result?.items && Array.isArray(result.items)) {
303
+ this.diagnostics.set(uri, result.items);
304
+ }
305
+ }
306
+ catch {
307
+ // Server may not support it for this file — fall through to push
308
+ }
309
+ }
310
+ /**
311
+ * Request code actions (quickfixes) for a diagnostic.
312
+ * Returns TextEdit[] that the kernel can apply to VFS.
313
+ * The kernel decides if the fix is safe (whitelist).
314
+ */
315
+ async requestCodeActions(filePath, diagnostic) {
316
+ if (!this.proc || this.isDead)
317
+ return [];
318
+ const relPath = this.toPosix(path.relative(this.realProjectRoot, filePath));
319
+ const uri = `${this.workspaceUri}/${relPath}`;
320
+ try {
321
+ const result = await this.request("textDocument/codeAction", {
322
+ textDocument: { uri },
323
+ range: diagnostic.range,
324
+ context: {
325
+ diagnostics: [{
326
+ range: diagnostic.range,
327
+ message: diagnostic.message,
328
+ code: diagnostic.code,
329
+ source: diagnostic.source,
330
+ }],
331
+ only: ["quickfix"],
332
+ },
333
+ }, 5_000);
334
+ if (!result || !Array.isArray(result))
335
+ return [];
336
+ const edits = [];
337
+ for (const action of result) {
338
+ if (!action.edit?.documentChanges && !action.edit?.changes)
339
+ continue;
340
+ // WorkspaceEdit.changes format
341
+ const changes = action.edit?.changes || {};
342
+ for (const [changeUri, textEdits] of Object.entries(changes)) {
343
+ for (const te of textEdits) {
344
+ edits.push({
345
+ filePath: changeUri.replace(this.workspaceUri + "/", ""),
346
+ range: te.range,
347
+ newText: te.newText,
348
+ title: action.title || "",
349
+ });
350
+ }
351
+ }
352
+ // WorkspaceEdit.documentChanges format
353
+ for (const dc of action.edit?.documentChanges || []) {
354
+ if (!dc.edits)
355
+ continue;
356
+ const dcUri = dc.textDocument?.uri || "";
357
+ for (const te of dc.edits) {
358
+ edits.push({
359
+ filePath: dcUri.replace(this.workspaceUri + "/", ""),
360
+ range: te.range,
361
+ newText: te.newText,
362
+ title: action.title || "",
363
+ });
364
+ }
365
+ }
366
+ }
367
+ return edits;
368
+ }
369
+ catch {
370
+ return [];
371
+ }
372
+ }
245
373
  // ─── JSON-RPC Engine ────────────────────────────────────────────
246
374
  /** Parse incoming JSON-RPC frames from stdout. Uses Buffer (not string) for emoji safety. */
375
+ /** Max buffer size (10MB) — prevents unbounded growth from malformed LSP responses. */
376
+ static MAX_BUFFER = 10 * 1024 * 1024;
247
377
  handleData(chunk) {
248
378
  this.buffer = Buffer.concat([this.buffer, chunk]);
379
+ if (this.buffer.length > LspSidecarBase.MAX_BUFFER) {
380
+ logger.error(`[${this.languageId}] LSP buffer exceeded 10MB — resetting`);
381
+ this.buffer = Buffer.alloc(0);
382
+ return;
383
+ }
249
384
  while (true) {
250
385
  const headerEnd = this.buffer.indexOf("\r\n\r\n");
251
386
  if (headerEnd === -1)
@@ -270,6 +405,7 @@ export class LspSidecarBase {
270
405
  this.pendingRequests.has(msg.id)) {
271
406
  const pending = this.pendingRequests.get(msg.id);
272
407
  this.pendingRequests.delete(msg.id);
408
+ clearTimeout(pending.timer);
273
409
  if (msg.error) {
274
410
  pending.reject(new Error(msg.error.message));
275
411
  }
@@ -293,7 +429,7 @@ export class LspSidecarBase {
293
429
  /** Send a JSON-RPC request and wait for response. Rejects on timeout. */
294
430
  request(method, params, timeoutMs = 15_000) {
295
431
  if (!this.proc || this.isDead) {
296
- return Promise.reject(new Error(`${this.command[0]} is not running`));
432
+ return Promise.reject(new Error(`[NREKI] ${this.command[0]} is not running`));
297
433
  }
298
434
  const id = ++this.requestId;
299
435
  return new Promise((resolve, reject) => {
@@ -301,10 +437,7 @@ export class LspSidecarBase {
301
437
  this.pendingRequests.delete(id);
302
438
  reject(new Error(`[NREKI] LSP request '${method}' timed out after ${timeoutMs}ms`));
303
439
  }, timeoutMs);
304
- this.pendingRequests.set(id, {
305
- resolve: (v) => { clearTimeout(timer); resolve(v); },
306
- reject: (e) => { clearTimeout(timer); reject(e); },
307
- });
440
+ this.pendingRequests.set(id, { resolve, reject, timer });
308
441
  const msg = { jsonrpc: "2.0", id, method, params };
309
442
  this.sendRaw(msg);
310
443
  });
@@ -336,21 +469,28 @@ export class LspSidecarBase {
336
469
  this.settleResolvers = [];
337
470
  for (const r of queue)
338
471
  r();
339
- }, 150); // 150ms of silence = LSP finished processing
472
+ }, this.settleMs);
340
473
  }
341
474
  /** Wait until diagnostics stop arriving, with a hard timeout. */
342
- waitForSettle(maxMs, _settleMs) {
475
+ waitForSettle(maxMs, settleMs) {
476
+ this.settleMs = settleMs;
343
477
  return new Promise((resolve) => {
478
+ let settled = false;
479
+ const done = () => { if (!settled) {
480
+ settled = true;
481
+ resolve();
482
+ } };
344
483
  const timeout = setTimeout(() => {
345
- const idx = this.settleResolvers.indexOf(resolve);
484
+ const idx = this.settleResolvers.indexOf(settleCallback);
346
485
  if (idx !== -1)
347
486
  this.settleResolvers.splice(idx, 1);
348
- resolve();
487
+ done();
349
488
  }, maxMs);
350
- this.settleResolvers.push(() => {
489
+ const settleCallback = () => {
351
490
  clearTimeout(timeout);
352
- resolve();
353
- });
491
+ done();
492
+ };
493
+ this.settleResolvers.push(settleCallback);
354
494
  });
355
495
  }
356
496
  }
@@ -1 +1 @@
1
- {"version":3,"file":"lsp-sidecar-base.js","sourceRoot":"","sources":["../../../src/kernel/backends/lsp-sidecar-base.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,KAAK,EAAgB,MAAM,eAAe,CAAC;AACpD,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAE7B,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAiD/C,uEAAuE;AAEvE,MAAM,OAAgB,cAAc;IAChC,sDAAsD;IACtC,OAAO,CAAoB;IAC3C,qDAAqD;IACrC,UAAU,CAAS;IAE3B,IAAI,CAAgB;IACpB,MAAM,GAAW,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACjC,SAAS,GAAG,CAAC,CAAC;IACd,eAAe,GAAG,IAAI,GAAG,EAA0B,CAAC;IACpD,WAAW,GAAG,IAAI,GAAG,EAA2B,CAAC;IACjD,WAAW,GAAG,IAAI,GAAG,EAAU,CAAC;IAEhC,eAAe,CAAS;IACxB,YAAY,CAAS;IAE7B,wDAAwD;IACjD,MAAM,GAAG,KAAK,CAAC;IAEtB,mEAAmE;IAC3D,eAAe,GAAsB,EAAE,CAAC;IACxC,WAAW,CAAiC;IAEpD,YAAY,WAAmB,EAAE,OAAiB,EAAE,UAAkB;QAClE,IAAI,CAAC,eAAe,GAAG,WAAW,CAAC;QACnC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,kEAAkE;QAClE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAE5C,oEAAoE;QACpE,+DAA+D;QAC/D,MAAM,MAAM,GAAG,GAAG,EAAE,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YAAC,IAAI,CAAC;gBAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,kBAAkB,CAAC,CAAC;QAAC,CAAC,CAAC,CAAC,CAAC;QAC5G,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC3B,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAC7B,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAClC,CAAC;IAED,mEAAmE;IAEnE,oDAAoD;IAC5C,OAAO,CAAC,CAAS,IAAY,OAAO,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAErD,KAAK,CAAC,CAAS;QACnB,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAC1B,OAAO,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC;IAC9D,CAAC;IAED,mEAAmE;IAEnE;;;OAGG;IACH,KAAK,CAAC,IAAI;QACN,IAAI,IAAI,CAAC,IAAI;YAAE,OAAO;QACtB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QAEpB,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACzC,IAAI,CAAC;gBACD,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;oBACtD,GAAG,EAAE,IAAI,CAAC,eAAe;oBACzB,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;iBAClC,CAAC,CAAC;gBAEH,2CAA2C;gBAC3C,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAA0B,EAAE,EAAE;oBACjD,MAAM,UAAU,GAAG,GAAG,CAAC,IAAI,KAAK,QAAQ,CAAC;oBACzC,MAAM,CAAC,KAAK,CACR,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,kBACd,UAAU;wBACN,CAAC,CAAC,mBAAmB;wBACrB,CAAC,CAAC,GAAG,CAAC,OACd,EAAE,CACL,CAAC;oBACF,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;oBACnB,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC;oBACtB,8BAA8B;oBAC9B,KAAK,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,EAAE,CAAC;wBACxD,CAAC,CAAC,IAAI,KAAK,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC;oBACrD,CAAC;oBACD,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;gBACjC,CAAC,CAAC,CAAC;gBAEH,+BAA+B;gBAC/B,IAAI,CAAC,IAAI,CAAC,MAAO,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;oBAC3C,MAAM,GAAG,GAAG,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;oBAC3C,IAAI,GAAG;wBAAE,MAAM,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,UAAU,KAAK,GAAG,EAAE,CAAC,CAAC;gBACzD,CAAC,CAAC,CAAC;gBAEH,wBAAwB;gBACxB,IAAI,CAAC,IAAI,CAAC,MAAO,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;gBAExE,6DAA6D;gBAC7D,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE;oBACtB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;oBACnB,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC;oBACtB,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;oBACzB,KAAK,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,EAAE,CAAC;wBACxD,CAAC,CAAC,IAAI,KAAK,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,8BAA8B,CAAC,CAAC,CAAC;oBACnE,CAAC;oBACD,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;gBACjC,CAAC,CAAC,CAAC;gBAEH,yCAAyC;gBACzC,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE;oBACvB,SAAS,EAAE,OAAO,CAAC,GAAG;oBACtB,OAAO,EAAE,IAAI,CAAC,YAAY;oBAC1B,YAAY,EAAE;wBACV,YAAY,EAAE;4BACV,kBAAkB,EAAE,EAAE,kBAAkB,EAAE,IAAI,EAAE;yBACnD;qBACJ;oBACD,gBAAgB,EAAE;wBACd,EAAE,GAAG,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE;qBACxE;iBACJ,EAAE,MAAM,CAAC;qBACL,IAAI,CAAC,GAAG,EAAE;oBACP,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;oBAClC,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,+BAA+B,CAAC,CAAC;oBAC/D,OAAO,EAAE,CAAC;gBACd,CAAC,CAAC;qBACD,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;oBACT,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;oBACnB,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;wBACZ,IAAI,CAAC;4BAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;wBAAC,CAAC;wBAAC,MAAM,CAAC,CAAC,kBAAkB,CAAC,CAAC;oBACnE,CAAC;oBACD,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC;oBACtB,MAAM,CAAC,CAAC,CAAC,CAAC;gBACd,CAAC,CAAC,CAAC;YACX,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACT,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;gBACnB,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC;gBACtB,MAAM,CAAC,CAAC,CAAC,CAAC;YACd,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAED,0DAA0D;IAC1D,SAAS;QACL,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;IACtE,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,QAAQ;QACV,IAAI,CAAC,IAAI,CAAC,IAAI;YAAE,OAAO;QACvB,IAAI,CAAC;YACD,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;YAC5C,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACjC,CAAC;QAAC,MAAM,CAAC;YACL,4BAA4B;QAChC,CAAC;QACD,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACZ,IAAI,CAAC;gBAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,kBAAkB,CAAC,CAAC;QACnE,CAAC;QACD,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC;QACtB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;IAC7B,CAAC;IAED,mEAAmE;IAEnE;;;;;;;OAOG;IACH,KAAK,CAAC,aAAa,CACf,KAA0D;QAE1D,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM;YAAE,OAAO,EAAE,CAAC;QAEzC,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACvB,8DAA8D;YAC9D,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;YACjF,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,YAAY,IAAI,OAAO,EAAE,CAAC;YAE9C,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;gBACxB,mCAAmC;gBACnC,IAAI,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;oBAC5B,IAAI,CAAC,SAAS,CAAC,uBAAuB,EAAE,EAAE,YAAY,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;oBACnE,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;oBAC7B,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;oBAC7B,OAAO,GAAG,IAAI,CAAC;gBACnB,CAAC;YACL,CAAC;iBAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBACpC,sBAAsB;gBACtB,IAAI,CAAC,SAAS,CAAC,sBAAsB,EAAE;oBACnC,YAAY,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE;iBACrF,CAAC,CAAC;gBACH,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBAC1B,OAAO,GAAG,IAAI,CAAC;YACnB,CAAC;iBAAM,CAAC;gBACJ,mDAAmD;gBACnD,IAAI,CAAC,SAAS,CAAC,wBAAwB,EAAE;oBACrC,YAAY,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE;oBAC1C,cAAc,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC;iBAC3C,CAAC,CAAC;gBACH,OAAO,GAAG,IAAI,CAAC;YACnB,CAAC;QACL,CAAC;QAED,iCAAiC;QACjC,IAAI,OAAO,EAAE,CAAC;YACV,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QACzC,CAAC;QAED,mCAAmC;QACnC,MAAM,MAAM,GAA2B,EAAE,CAAC;QAC1C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACvB,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI;gBAAE,SAAS;YACpC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;YACjF,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,YAAY,IAAI,OAAO,EAAE,CAAC;YAC9C,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;YAE9C,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;gBACpB,IAAI,CAAC,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;oBACnB,MAAM,CAAC,IAAI,CAAC;wBACR,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC;wBACjC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC;wBAC5B,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC;wBACnC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,UAAU,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU;wBACnE,OAAO,EAAE,CAAC,CAAC,OAAO;qBACrB,CAAC,CAAC;gBACP,CAAC;YACL,CAAC;QACL,CAAC;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,mEAAmE;IAEnE,6FAA6F;IACrF,UAAU,CAAC,KAAa;QAC5B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;QAElD,OAAO,IAAI,EAAE,CAAC;YACV,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YAClD,IAAI,SAAS,KAAK,CAAC,CAAC;gBAAE,MAAM;YAE5B,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC;YAC9D,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;YAC1D,IAAI,CAAC,KAAK,EAAE,CAAC;gBACT,6BAA6B;gBAC7B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;gBAClD,SAAS;YACb,CAAC;YAED,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACvC,MAAM,SAAS,GAAG,SAAS,GAAG,CAAC,CAAC;YAChC,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,SAAS,GAAG,OAAO;gBAAE,MAAM,CAAC,yBAAyB;YAE9E,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,CAAC;YACrE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,GAAG,OAAO,CAAC,CAAC;YAExD,IAAI,CAAC;gBACD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;gBAElD,gCAAgC;gBAChC,IACI,OAAO,GAAG,CAAC,EAAE,KAAK,QAAQ;oBAC1B,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,EAClC,CAAC;oBACC,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAE,CAAC;oBAClD,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;oBACpC,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;wBACZ,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAE,GAAG,CAAC,KAA0B,CAAC,OAAO,CAAC,CAAC,CAAC;oBACvE,CAAC;yBAAM,CAAC;wBACJ,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;oBAChC,CAAC;gBACL,CAAC;gBACD,yCAAyC;qBACpC,IAAI,GAAG,CAAC,MAAM,KAAK,iCAAiC,EAAE,CAAC;oBACxD,MAAM,MAAM,GAAG,GAAG,CAAC,MAAuD,CAAC;oBAC3E,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;oBACrD,IAAI,CAAC,aAAa,EAAE,CAAC;gBACzB,CAAC;gBACD,yDAAyD;YAC7D,CAAC;YAAC,MAAM,CAAC;gBACL,uCAAuC;YAC3C,CAAC;QACL,CAAC;IACL,CAAC;IAED,yEAAyE;IACjE,OAAO,CAAC,MAAc,EAAE,MAAe,EAAE,SAAS,GAAG,MAAM;QAC/D,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAC5B,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC;QAC1E,CAAC;QACD,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC;QAC5B,OAAO,IAAI,OAAO,CAAU,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC5C,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC1B,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBAChC,MAAM,CAAC,IAAI,KAAK,CAAC,wBAAwB,MAAM,qBAAqB,SAAS,IAAI,CAAC,CAAC,CAAC;YACxF,CAAC,EAAE,SAAS,CAAC,CAAC;YAEd,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,EAAE;gBACzB,OAAO,EAAE,CAAC,CAAU,EAAE,EAAE,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC7D,MAAM,EAAE,CAAC,CAAQ,EAAE,EAAE,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;aAC5D,CAAC,CAAC;YAEH,MAAM,GAAG,GAAe,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;YAC/D,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACtB,CAAC,CAAC,CAAC;IACP,CAAC;IAED,2DAA2D;IACnD,SAAS,CAAC,MAAc,EAAE,MAAe;QAC7C,MAAM,GAAG,GAAoB,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;QAChE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACtB,CAAC;IAED,2DAA2D;IACnD,OAAO,CAAC,GAAiC;QAC7C,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,IAAI,IAAI,CAAC,MAAM;YAAE,OAAO;QAC7C,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QACjC,IAAI,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CACjB,mBAAmB,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,WAAW,IAAI,EAAE,CACvE,CAAC;QACN,CAAC;QAAC,MAAM,CAAC;YACL,iCAAiC;QACrC,CAAC;IACL,CAAC;IAED,mEAAmE;IAEnE,oEAAoE;IAC5D,aAAa;QACjB,IAAI,IAAI,CAAC,WAAW;YAAE,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACrD,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC,GAAG,EAAE;YAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC;YACnC,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;YAC1B,KAAK,MAAM,CAAC,IAAI,KAAK;gBAAE,CAAC,EAAE,CAAC;QAC/B,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,6CAA6C;IAC1D,CAAC;IAED,iEAAiE;IACzD,aAAa,CAAC,KAAa,EAAE,SAAiB;QAClD,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;YACjC,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC5B,MAAM,GAAG,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;gBAClD,IAAI,GAAG,KAAK,CAAC,CAAC;oBAAE,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;gBACpD,OAAO,EAAE,CAAC;YACd,CAAC,EAAE,KAAK,CAAC,CAAC;YAEV,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,EAAE;gBAC3B,YAAY,CAAC,OAAO,CAAC,CAAC;gBACtB,OAAO,EAAE,CAAC;YACd,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;CACJ"}
1
+ {"version":3,"file":"lsp-sidecar-base.js","sourceRoot":"","sources":["../../../src/kernel/backends/lsp-sidecar-base.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,KAAK,EAAgB,MAAM,eAAe,CAAC;AACpD,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAE7B,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAkD/C,uEAAuE;AAEvE,MAAM,OAAgB,cAAc;IAChC,sDAAsD;IACtC,OAAO,CAAoB;IAC3C,qDAAqD;IACrC,UAAU,CAAS;IAE3B,IAAI,CAAgB;IACpB,MAAM,GAAW,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACjC,SAAS,GAAG,CAAC,CAAC;IACd,eAAe,GAAG,IAAI,GAAG,EAA0B,CAAC;IACpD,WAAW,GAAG,IAAI,GAAG,EAA2B,CAAC;IACjD,WAAW,GAAG,IAAI,GAAG,EAAU,CAAC;IAErB,QAAQ,CAA0B;IAC3C,eAAe,CAAS;IACxB,YAAY,CAAS;IAE/B,wDAAwD;IACjD,MAAM,GAAG,KAAK,CAAC;IAEtB,2EAA2E;IACjE,uBAAuB,GAAG,KAAK,CAAC;IAE1C,mEAAmE;IAC3D,eAAe,GAAsB,EAAE,CAAC;IACxC,WAAW,CAAiC;IAC5C,QAAQ,GAAG,GAAG,CAAC;IAEvB,mEAAmE;IAClD,MAAM,CAAa;IAEpC,YACI,WAAmB,EACnB,OAAiB,EACjB,UAAkB,EAClB,QAAiC;QAEjC,IAAI,CAAC,eAAe,GAAG,WAAW,CAAC;QACnC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,kEAAkE;QAClE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAE5C,oEAAoE;QACpE,yEAAyE;QACzE,wEAAwE;QACxE,IAAI,CAAC,MAAM,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC;IAC9C,CAAC;IAED,mEAAmE;IAEnE,oDAAoD;IAC1C,OAAO,CAAC,CAAS,IAAY,OAAO,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAEvD,KAAK,CAAC,CAAS;QACnB,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAC1B,OAAO,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC;IAC9D,CAAC;IAED,mEAAmE;IAEnE;;;OAGG;IACH,KAAK,CAAC,IAAI;QACN,IAAI,IAAI,CAAC,IAAI;YAAE,OAAO;QACtB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QAEpB,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACzC,IAAI,CAAC;gBACD,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;oBACtD,GAAG,EAAE,IAAI,CAAC,eAAe;oBACzB,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,SAAS;oBACrE,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;iBAClC,CAAC,CAAC;gBAEH,oDAAoD;gBACpD,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;gBAChC,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;gBAClC,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;gBAEnC,2CAA2C;gBAC3C,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAA0B,EAAE,EAAE;oBACjD,MAAM,UAAU,GAAG,GAAG,CAAC,IAAI,KAAK,QAAQ,CAAC;oBACzC,MAAM,GAAG,GAAG,WAAW,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,kBAAkB,UAAU,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;oBACzG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;oBAClB,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;gBAC3B,CAAC,CAAC,CAAC;gBAEH,+BAA+B;gBAC/B,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;oBACnB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;wBAC1C,MAAM,GAAG,GAAG,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;wBAC3C,IAAI,GAAG;4BAAE,MAAM,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,UAAU,KAAK,GAAG,EAAE,CAAC,CAAC;oBACzD,CAAC,CAAC,CAAC;gBACP,CAAC;gBAED,wBAAwB;gBACxB,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;oBACnB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;gBAC3E,CAAC;gBAED,6DAA6D;gBAC7D,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE;oBACtB,IAAI,CAAC,YAAY,CAAC,WAAW,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,8BAA8B,CAAC,CAAC;gBAChF,CAAC,CAAC,CAAC;gBAEH,yCAAyC;gBACzC,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE;oBACvB,SAAS,EAAE,OAAO,CAAC,GAAG;oBACtB,OAAO,EAAE,IAAI,CAAC,YAAY;oBAC1B,YAAY,EAAE;wBACV,YAAY,EAAE;4BACV,kBAAkB,EAAE,EAAE,kBAAkB,EAAE,IAAI,EAAE;4BAChD,UAAU,EAAE,EAAE,mBAAmB,EAAE,KAAK,EAAE;yBAC7C;qBACJ;oBACD,gBAAgB,EAAE;wBACd,EAAE,GAAG,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE;qBACxE;iBACJ,EAAE,MAAM,CAAC;qBACL,IAAI,CAAC,CAAC,UAAU,EAAE,EAAE;oBACjB,2DAA2D;oBAC3D,MAAM,UAAU,GAAG,UAAiB,CAAC;oBACrC,IAAI,UAAU,EAAE,YAAY,EAAE,kBAAkB,EAAE,CAAC;wBAC/C,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC;wBACpC,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,kDAAkD,CAAC,CAAC;oBACtF,CAAC;oBACD,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;oBAClC,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,+BAA+B,CAAC,CAAC;oBAC/D,OAAO,EAAE,CAAC;gBACd,CAAC,CAAC;qBACD,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;oBACT,IAAI,CAAC,SAAS,EAAE,CAAC;oBACjB,MAAM,CAAC,CAAC,CAAC,CAAC;gBACd,CAAC,CAAC,CAAC;YACX,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACT,MAAM,MAAM,GAAG,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBAC1D,IAAI,CAAC,YAAY,CAAC,wCAAwC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE,CAAC,CAAC;gBACxF,MAAM,CAAC,CAAC,CAAC,CAAC;YACd,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAED,0DAA0D;IAC1D,SAAS;QACL,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;IACtE,CAAC;IAED;;;;OAIG;IACK,YAAY,CAAC,SAAiB;QAClC,IAAI,IAAI,CAAC,MAAM;YAAE,OAAO;QACxB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;QAEzB,mBAAmB;QACnB,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACnB,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAC/B,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC;QACjC,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC;QACnC,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;QAC1B,KAAK,MAAM,CAAC,IAAI,KAAK;YAAE,CAAC,EAAE,CAAC;QAE3B,+DAA+D;QAC/D,MAAM,GAAG,GAAG,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC;QACjC,KAAK,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,EAAE,CAAC;YAC5D,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,MAAM,CAAC,GAAG,CAAC,CAAC;QAChB,CAAC;QACD,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;QAE7B,uBAAuB;QACvB,OAAO,CAAC,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAC5C,OAAO,CAAC,cAAc,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAC9C,OAAO,CAAC,cAAc,CAAC,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAE/C,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC;IAC1B,CAAC;IAEM,SAAS;QACZ,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACZ,IAAI,CAAC;gBACD,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;oBAChD,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;oBACtB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;gBAC9B,CAAC;gBACD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC9B,CAAC;YAAC,MAAM,CAAC,CAAC,kBAAkB,CAAC,CAAC;QAClC,CAAC;QACD,IAAI,CAAC,YAAY,CAAC,WAAW,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,gCAAgC,CAAC,CAAC;IAClF,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,QAAQ;QACV,IAAI,CAAC,IAAI,CAAC,IAAI;YAAE,OAAO;QACvB,IAAI,CAAC;YACD,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;YAC5C,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACjC,CAAC;QAAC,MAAM,CAAC;YACL,4BAA4B;QAChC,CAAC;QACD,IAAI,CAAC,SAAS,EAAE,CAAC;IACrB,CAAC;IAED,mEAAmE;IAEnE;;;;;;;OAOG;IACH,KAAK,CAAC,aAAa,CACf,KAA0D;QAE1D,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM;YAAE,OAAO,EAAE,CAAC;QAEzC,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACvB,8DAA8D;YAC9D,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;YACjF,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,YAAY,IAAI,OAAO,EAAE,CAAC;YAE9C,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;gBACxB,mCAAmC;gBACnC,IAAI,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;oBAC5B,IAAI,CAAC,SAAS,CAAC,uBAAuB,EAAE,EAAE,YAAY,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;oBACnE,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;oBAC7B,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;oBAC7B,OAAO,GAAG,IAAI,CAAC;gBACnB,CAAC;YACL,CAAC;iBAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBACpC,sBAAsB;gBACtB,IAAI,CAAC,SAAS,CAAC,sBAAsB,EAAE;oBACnC,YAAY,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE;iBACrF,CAAC,CAAC;gBACH,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBAC1B,OAAO,GAAG,IAAI,CAAC;YACnB,CAAC;iBAAM,CAAC;gBACJ,mDAAmD;gBACnD,IAAI,CAAC,SAAS,CAAC,wBAAwB,EAAE;oBACrC,YAAY,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE;oBAC1C,cAAc,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC;iBAC3C,CAAC,CAAC;gBACH,OAAO,GAAG,IAAI,CAAC;YACnB,CAAC;QACL,CAAC;QAED,mEAAmE;QACnE,IAAI,OAAO,EAAE,CAAC;YACV,IAAI,IAAI,CAAC,uBAAuB,EAAE,CAAC;gBAC/B,0DAA0D;gBAC1D,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;oBACvB,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI;wBAAE,SAAS;oBACpC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;oBACjF,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,YAAY,IAAI,OAAO,EAAE,CAAC;oBAC9C,MAAM,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;gBACpC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACJ,6DAA6D;gBAC7D,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YACzC,CAAC;QACL,CAAC;QAED,mCAAmC;QACnC,MAAM,MAAM,GAA2B,EAAE,CAAC;QAC1C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACvB,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI;gBAAE,SAAS;YACpC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;YACjF,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,YAAY,IAAI,OAAO,EAAE,CAAC;YAC9C,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;YAE9C,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;gBACpB,IAAI,CAAC,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;oBACnB,MAAM,CAAC,IAAI,CAAC;wBACR,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC;wBACjC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC;wBAC5B,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC;wBACnC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,UAAU,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU;wBACnE,OAAO,EAAE,CAAC,CAAC,OAAO;qBACrB,CAAC,CAAC;gBACP,CAAC;YACL,CAAC;QACL,CAAC;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IAED;;;;OAIG;IACK,KAAK,CAAC,eAAe,CAAC,GAAW;QACrC,IAAI,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,yBAAyB,EAAE;gBACzD,YAAY,EAAE,EAAE,GAAG,EAAE;aACxB,EAAE,MAAM,CAAQ,CAAC;YAElB,+DAA+D;YAC/D,IAAI,MAAM,EAAE,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC/C,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5C,CAAC;QACL,CAAC;QAAC,MAAM,CAAC;YACL,iEAAiE;QACrE,CAAC;IACL,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,kBAAkB,CACpB,QAAgB,EAChB,UAAyF;QAEzF,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM;YAAE,OAAO,EAAE,CAAC;QAEzC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC,CAAC;QAC5E,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,YAAY,IAAI,OAAO,EAAE,CAAC;QAE9C,IAAI,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,yBAAyB,EAAE;gBACzD,YAAY,EAAE,EAAE,GAAG,EAAE;gBACrB,KAAK,EAAE,UAAU,CAAC,KAAK;gBACvB,OAAO,EAAE;oBACL,WAAW,EAAE,CAAC;4BACV,KAAK,EAAE,UAAU,CAAC,KAAK;4BACvB,OAAO,EAAE,UAAU,CAAC,OAAO;4BAC3B,IAAI,EAAE,UAAU,CAAC,IAAI;4BACrB,MAAM,EAAE,UAAU,CAAC,MAAM;yBAC5B,CAAC;oBACF,IAAI,EAAE,CAAC,UAAU,CAAC;iBACrB;aACJ,EAAE,KAAK,CAAU,CAAC;YAEnB,IAAI,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;gBAAE,OAAO,EAAE,CAAC;YAEjD,MAAM,KAAK,GAAiF,EAAE,CAAC;YAE/F,KAAK,MAAM,MAAM,IAAI,MAAM,EAAE,CAAC;gBAC1B,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,eAAe,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO;oBAAE,SAAS;gBAErE,+BAA+B;gBAC/B,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,EAAE,OAAO,IAAI,EAAE,CAAC;gBAC3C,KAAK,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;oBAC3D,KAAK,MAAM,EAAE,IAAI,SAAkB,EAAE,CAAC;wBAClC,KAAK,CAAC,IAAI,CAAC;4BACP,QAAQ,EAAE,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,GAAG,GAAG,EAAE,EAAE,CAAC;4BACxD,KAAK,EAAE,EAAE,CAAC,KAAK;4BACf,OAAO,EAAE,EAAE,CAAC,OAAO;4BACnB,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,EAAE;yBAC5B,CAAC,CAAC;oBACP,CAAC;gBACL,CAAC;gBAED,uCAAuC;gBACvC,KAAK,MAAM,EAAE,IAAI,MAAM,CAAC,IAAI,EAAE,eAAe,IAAI,EAAE,EAAE,CAAC;oBAClD,IAAI,CAAC,EAAE,CAAC,KAAK;wBAAE,SAAS;oBACxB,MAAM,KAAK,GAAG,EAAE,CAAC,YAAY,EAAE,GAAG,IAAI,EAAE,CAAC;oBACzC,KAAK,MAAM,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC;wBACxB,KAAK,CAAC,IAAI,CAAC;4BACP,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,GAAG,GAAG,EAAE,EAAE,CAAC;4BACpD,KAAK,EAAE,EAAE,CAAC,KAAK;4BACf,OAAO,EAAE,EAAE,CAAC,OAAO;4BACnB,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,EAAE;yBAC5B,CAAC,CAAC;oBACP,CAAC;gBACL,CAAC;YACL,CAAC;YAED,OAAO,KAAK,CAAC;QACjB,CAAC;QAAC,MAAM,CAAC;YACL,OAAO,EAAE,CAAC;QACd,CAAC;IACL,CAAC;IAED,mEAAmE;IAEnE,6FAA6F;IAC7F,uFAAuF;IAC/E,MAAM,CAAC,UAAU,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC;IAErC,UAAU,CAAC,KAAa;QAC5B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;QAElD,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,cAAc,CAAC,UAAU,EAAE,CAAC;YACjD,MAAM,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,UAAU,wCAAwC,CAAC,CAAC;YAC1E,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC9B,OAAO;QACX,CAAC;QAED,OAAO,IAAI,EAAE,CAAC;YACV,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YAClD,IAAI,SAAS,KAAK,CAAC,CAAC;gBAAE,MAAM;YAE5B,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC;YAC9D,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;YAC1D,IAAI,CAAC,KAAK,EAAE,CAAC;gBACT,6BAA6B;gBAC7B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;gBAClD,SAAS;YACb,CAAC;YAED,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACvC,MAAM,SAAS,GAAG,SAAS,GAAG,CAAC,CAAC;YAChC,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,SAAS,GAAG,OAAO;gBAAE,MAAM,CAAC,yBAAyB;YAE9E,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,CAAC;YACrE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,GAAG,OAAO,CAAC,CAAC;YAExD,IAAI,CAAC;gBACD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;gBAElD,gCAAgC;gBAChC,IACI,OAAO,GAAG,CAAC,EAAE,KAAK,QAAQ;oBAC1B,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,EAClC,CAAC;oBACC,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAE,CAAC;oBAClD,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;oBAEpC,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;oBAE5B,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;wBACZ,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAE,GAAG,CAAC,KAA0B,CAAC,OAAO,CAAC,CAAC,CAAC;oBACvE,CAAC;yBAAM,CAAC;wBACJ,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;oBAChC,CAAC;gBACL,CAAC;gBACD,yCAAyC;qBACpC,IAAI,GAAG,CAAC,MAAM,KAAK,iCAAiC,EAAE,CAAC;oBACxD,MAAM,MAAM,GAAG,GAAG,CAAC,MAAuD,CAAC;oBAC3E,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;oBACrD,IAAI,CAAC,aAAa,EAAE,CAAC;gBACzB,CAAC;gBACD,yDAAyD;YAC7D,CAAC;YAAC,MAAM,CAAC;gBACL,uCAAuC;YAC3C,CAAC;QACL,CAAC;IACL,CAAC;IAED,yEAAyE;IAC/D,OAAO,CAAC,MAAc,EAAE,MAAe,EAAE,SAAS,GAAG,MAAM;QACjE,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAC5B,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,WAAW,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC;QAClF,CAAC;QACD,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC;QAC5B,OAAO,IAAI,OAAO,CAAU,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC5C,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC1B,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBAChC,MAAM,CAAC,IAAI,KAAK,CAAC,wBAAwB,MAAM,qBAAqB,SAAS,IAAI,CAAC,CAAC,CAAC;YACxF,CAAC,EAAE,SAAS,CAAC,CAAC;YAEd,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;YAEzD,MAAM,GAAG,GAAe,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;YAC/D,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACtB,CAAC,CAAC,CAAC;IACP,CAAC;IAED,2DAA2D;IACnD,SAAS,CAAC,MAAc,EAAE,MAAe;QAC7C,MAAM,GAAG,GAAoB,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;QAChE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACtB,CAAC;IAED,2DAA2D;IACnD,OAAO,CAAC,GAAiC;QAC7C,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,IAAI,IAAI,CAAC,MAAM;YAAE,OAAO;QAC7C,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QACjC,IAAI,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CACjB,mBAAmB,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,WAAW,IAAI,EAAE,CACvE,CAAC;QACN,CAAC;QAAC,MAAM,CAAC;YACL,iCAAiC;QACrC,CAAC;IACL,CAAC;IAED,mEAAmE;IAEnE,oEAAoE;IAC5D,aAAa;QACjB,IAAI,IAAI,CAAC,WAAW;YAAE,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACrD,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC,GAAG,EAAE;YAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC;YACnC,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;YAC1B,KAAK,MAAM,CAAC,IAAI,KAAK;gBAAE,CAAC,EAAE,CAAC;QAC/B,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IACtB,CAAC;IAED,iEAAiE;IACzD,aAAa,CAAC,KAAa,EAAE,QAAgB;QACjD,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;YACjC,IAAI,OAAO,GAAG,KAAK,CAAC;YACpB,MAAM,IAAI,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;gBAAC,OAAO,GAAG,IAAI,CAAC;gBAAC,OAAO,EAAE,CAAC;YAAC,CAAC,CAAC,CAAC,CAAC;YACpE,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC5B,MAAM,GAAG,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;gBACzD,IAAI,GAAG,KAAK,CAAC,CAAC;oBAAE,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;gBACpD,IAAI,EAAE,CAAC;YACX,CAAC,EAAE,KAAK,CAAC,CAAC;YAEV,MAAM,cAAc,GAAG,GAAG,EAAE;gBACxB,YAAY,CAAC,OAAO,CAAC,CAAC;gBACtB,IAAI,EAAE,CAAC;YACX,CAAC,CAAC;YACF,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC;IACP,CAAC"}
@@ -36,7 +36,7 @@ export interface VfsAdapter {
36
36
  getModifiedTime(fileName: string): Date;
37
37
  directoryExists(dirName: string): boolean;
38
38
  getScriptVersion(fileName: string): string;
39
- getScriptSnapshot(fileName: string): any;
39
+ getScriptSnapshot(fileName: string): ts.IScriptSnapshot | undefined;
40
40
  }
41
41
  import type { NrekiStructuredError, PreEditContract, TypeRegression } from "../nreki-kernel.js";
42
42
  export declare class TsCompilerWrapper {
@@ -1 +1 @@
1
- {"version":3,"file":"ts-compiler-wrapper.d.ts","sourceRoot":"","sources":["../../../src/kernel/backends/ts-compiler-wrapper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ts-compiler-wrapper.d.ts","sourceRoot":"","sources":["../../../src/kernel/backends/ts-compiler-wrapper.ts"],"names":[],"mappings":"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"}
@@ -256,11 +256,14 @@ export class TsCompilerWrapper {
256
256
  for (const file of program.getSourceFiles()) {
257
257
  for (const diag of program.getSyntacticDiagnostics(file))
258
258
  processDiag(diag);
259
+ // Use program.getSemanticDiagnostics(file) per file instead of
260
+ // builderProgram.getSemanticDiagnostics() to avoid consuming the
261
+ // builder's stateful affected-file iterator.
262
+ for (const diag of program.getSemanticDiagnostics(file))
263
+ processDiag(diag);
259
264
  }
260
265
  for (const diag of program.getGlobalDiagnostics())
261
266
  processDiag(diag);
262
- for (const diag of this.builderProgram.getSemanticDiagnostics())
263
- processDiag(diag);
264
267
  return;
265
268
  }
266
269
  const filesToScan = targetFiles
@@ -452,7 +455,7 @@ export class TsCompilerWrapper {
452
455
  const currentFrequencies = new Map();
453
456
  const fatalErrors = [];
454
457
  const program = this.builderProgram.getProgram();
455
- const errorThreshold = 50 + (editedFiles.size * 20);
458
+ const errorThreshold = Math.min(500, 50 + (editedFiles.size * 20));
456
459
  const touchedEnvironment = Array.from(editedFiles).some(isEnvironmentFile);
457
460
  const processDiag = (diag) => {
458
461
  if (!diag.file && !touchedEnvironment)
@@ -535,7 +538,7 @@ export class TsCompilerWrapper {
535
538
  d.code === errorCode &&
536
539
  d.start !== undefined &&
537
540
  d.length !== undefined &&
538
- this.toPosix(d.file.fileName).endsWith(filePath));
541
+ (this.toPosix(d.file.fileName) === filePath || this.toPosix(d.file.fileName).endsWith("/" + filePath)));
539
542
  if (!rawDiag || rawDiag.start === undefined || rawDiag.length === undefined || !rawDiag.file) {
540
543
  return [];
541
544
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ts-compiler-wrapper.js","sourceRoot":"","sources":["../../../src/kernel/backends/ts-compiler-wrapper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ts-compiler-wrapper.js","sourceRoot":"","sources":["../../../src/kernel/backends/ts-compiler-wrapper.ts"],"names":[],"mappings":"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"}