termify-agent 1.0.19 → 1.0.21

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.
@@ -1,12 +1,14 @@
1
- import * as pty from 'node-pty';
2
1
  import os from 'os';
3
2
  import fs from 'fs';
4
- import { exec } from 'child_process';
3
+ import path from 'path';
4
+ import { exec, spawnSync } from 'child_process';
5
+ import { createRequire } from 'module';
5
6
  import { promisify } from 'util';
6
7
  import { logger } from './utils/logger.js';
7
8
  import { GitService } from './git-service.js';
8
9
  import { TerminalState } from './daemon-client.js';
9
10
  const execAsync = promisify(exec);
11
+ const require = createRequire(import.meta.url);
10
12
  /**
11
13
  * Manages local PTY instances for agent terminals
12
14
  */
@@ -18,10 +20,16 @@ export class PTYManager {
18
20
  wsClient = null;
19
21
  daemonClient = null;
20
22
  useDaemon = false;
21
- // Process check interval (1s - balances feedback speed vs CPU usage)
22
- static PROCESS_CHECK_INTERVAL_MS = 1000;
23
+ nodePtyRepairAttempted = false;
24
+ nodePtyChecked = false;
25
+ nodePtyModule = null;
26
+ // Process check interval (300ms - fast enough to clear brief commands like `ls`)
27
+ static PROCESS_CHECK_INTERVAL_MS = 300;
23
28
  // AI tool patterns for MCP detection
24
29
  static AI_TOOL_PATTERNS = ['claude', 'codex', 'aider', 'cursor'];
30
+ // REPL/long-lived processes where event loop stays active even when idle.
31
+ // For these, output silence = idle. For all others, trust daemon state directly.
32
+ static REPL_PROCESS_PATTERNS = ['node', 'python', 'python3', 'ruby', 'irb', 'julia', 'R', 'ghci', 'claude', 'codex', 'aider', 'cursor'];
25
33
  /**
26
34
  * Check if a file exists and is executable
27
35
  */
@@ -86,18 +94,63 @@ export class PTYManager {
86
94
  setDaemonClient(daemonClient) {
87
95
  this.daemonClient = daemonClient;
88
96
  this.useDaemon = true;
97
+ logger.debug(`[PTY] Daemon client set, connected=${daemonClient.isConnected()}`);
98
+ // Re-watch all terminals after daemon reconnects
99
+ this.daemonClient.on('connected', () => {
100
+ const terminalCount = this.instances.size;
101
+ if (terminalCount > 0) {
102
+ logger.info(`Daemon reconnected, re-watching ${terminalCount} terminal(s)`);
103
+ for (const [terminalId, instance] of this.instances) {
104
+ if (instance.pty?.pid) {
105
+ this.daemonClient.watch(terminalId, instance.pty.pid);
106
+ logger.info(`Re-watched terminal ${terminalId.substring(0, 8)}... (pid ${instance.pty.pid})`);
107
+ }
108
+ }
109
+ }
110
+ });
89
111
  // Listen for state changes from daemon
90
112
  this.daemonClient.on('stateChange', (event) => {
91
113
  const instance = this.instances.get(event.terminalId);
92
114
  if (!instance)
93
115
  return;
94
- // Map daemon state to working state
95
- const isWorking = event.state === TerminalState.Working || event.state === TerminalState.NeedsInput;
96
- if (isWorking !== instance.isWorking || event.processName !== instance.activeProcess) {
97
- instance.isWorking = isWorking;
98
- instance.activeProcess = event.processName;
99
- if (this.onWorking) {
100
- this.onWorking(event.terminalId, isWorking, event.processName);
116
+ const stateNames = ['Idle', 'Working', 'NeedsInput', 'Finished', 'Error'];
117
+ logger.debug(`[DAEMON STATE] terminal=${event.terminalId.substring(0, 8)}... state=${stateNames[event.state] || event.state} process=${event.processName || 'null'}`);
118
+ // Track raw daemon state
119
+ instance.daemonState = event.state;
120
+ instance.activeProcess = event.processName;
121
+ // Map daemon state to working state.
122
+ // For generic REPLs (node/python/etc.) on macOS, daemon can report
123
+ // NeedsInput while process is still active (event loop SSLEEP). Keep these
124
+ // as working and rely on output silence to mark idle.
125
+ // For AI tools (claude/codex/etc.), NeedsInput means "waiting for user",
126
+ // so treat it as NOT working.
127
+ const isReplActive = this.isReplProcess(event.processName);
128
+ const isAiToolActive = this.isAiToolProcess(event.processName);
129
+ if (event.state === TerminalState.Working ||
130
+ (event.state === TerminalState.NeedsInput && isReplActive && !isAiToolActive)) {
131
+ // Working OR NeedsInput-for-non-AI REPL → treat as working
132
+ if (!instance.isWorking) {
133
+ instance.isWorking = true;
134
+ if (this.onWorking) {
135
+ this.onWorking(event.terminalId, true, event.processName);
136
+ }
137
+ }
138
+ if (isReplActive) {
139
+ this.startOutputSilenceTimer(event.terminalId, instance);
140
+ }
141
+ else {
142
+ // For non-REPL processes, clear any existing silence timer
143
+ this.clearOutputSilenceTimer(instance);
144
+ }
145
+ }
146
+ else {
147
+ // Idle, Finished, Error, or NeedsInput-for-AI/non-REPL → NOT working
148
+ this.clearOutputSilenceTimer(instance);
149
+ if (instance.isWorking) {
150
+ instance.isWorking = false;
151
+ if (this.onWorking) {
152
+ this.onWorking(event.terminalId, false, event.processName);
153
+ }
101
154
  }
102
155
  }
103
156
  // Handle terminal finished (shell died)
@@ -106,6 +159,104 @@ export class PTYManager {
106
159
  }
107
160
  });
108
161
  }
162
+ /**
163
+ * Check if the active process is a REPL/long-lived process where the event loop
164
+ * stays active even when idle (e.g. Node.js, Python). For these processes,
165
+ * output silence = idle. For normal commands (sleep, grep, etc.), trust daemon.
166
+ */
167
+ isReplProcess(processName) {
168
+ if (!processName)
169
+ return false;
170
+ const lower = processName.toLowerCase();
171
+ return PTYManager.REPL_PROCESS_PATTERNS.some(p => lower.includes(p));
172
+ }
173
+ /**
174
+ * Check if process appears to be an AI terminal tool (Claude/Codex/etc.).
175
+ */
176
+ isAiToolProcess(processName) {
177
+ if (!processName)
178
+ return false;
179
+ const lower = processName.toLowerCase();
180
+ return PTYManager.AI_TOOL_PATTERNS.some((p) => lower.includes(p));
181
+ }
182
+ /**
183
+ * Output-based idle detection: if daemon says Working but no output for N seconds,
184
+ * the process is likely idle (e.g. Claude Code REPL waiting for input).
185
+ * Node.js event loop stays active even when idle, so daemon can't tell the difference.
186
+ * Only applies to REPL processes - normal commands trust daemon state directly.
187
+ */
188
+ static OUTPUT_SILENCE_TIMEOUT = 3000; // 3 seconds
189
+ startOutputSilenceTimer(terminalId, instance) {
190
+ this.clearOutputSilenceTimer(instance);
191
+ instance.outputSilenceTimer = setTimeout(() => {
192
+ // Mark timer as consumed so future command cycles can re-arm it.
193
+ instance.outputSilenceTimer = null;
194
+ // No output for 3 seconds → REPL is likely idle (waiting for user input).
195
+ // Works regardless of daemon state (daemon may not emit events on macOS).
196
+ if (instance.isWorking && this.isReplProcess(instance.activeProcess)) {
197
+ instance.isWorking = false;
198
+ logger.debug(`[OUTPUT IDLE] terminal=${terminalId.substring(0, 8)}... no output for ${PTYManager.OUTPUT_SILENCE_TIMEOUT}ms, marking idle`);
199
+ if (this.onWorking) {
200
+ this.onWorking(terminalId, false, instance.activeProcess);
201
+ }
202
+ }
203
+ }, PTYManager.OUTPUT_SILENCE_TIMEOUT);
204
+ }
205
+ clearOutputSilenceTimer(instance) {
206
+ if (instance.outputSilenceTimer) {
207
+ clearTimeout(instance.outputSilenceTimer);
208
+ instance.outputSilenceTimer = null;
209
+ }
210
+ }
211
+ /**
212
+ * Called when terminal produces output - resets silence timer and re-enables working if needed.
213
+ */
214
+ handleTerminalOutput(terminalId, instance, data) {
215
+ instance.lastOutputTime = Date.now();
216
+ // Consume echoed input from output. This avoids marking REPLs as "working"
217
+ // when the only "output" is just the TTY echoing the user's typing.
218
+ // Echo should happen immediately; if it's old, drop it to avoid mis-matches.
219
+ if (instance.pendingEcho && instance.pendingEchoUpdatedAt) {
220
+ if (Date.now() - instance.pendingEchoUpdatedAt > 1000) {
221
+ instance.pendingEcho = '';
222
+ instance.pendingEchoUpdatedAt = undefined;
223
+ }
224
+ }
225
+ let nonEcho = data;
226
+ if (instance.pendingEcho) {
227
+ const max = Math.min(nonEcho.length, instance.pendingEcho.length);
228
+ let i = 0;
229
+ while (i < max && nonEcho[i] === instance.pendingEcho[i])
230
+ i++;
231
+ if (i > 0) {
232
+ nonEcho = nonEcho.slice(i);
233
+ instance.pendingEcho = instance.pendingEcho.slice(i);
234
+ if (instance.pendingEcho.length === 0) {
235
+ instance.pendingEcho = '';
236
+ instance.pendingEchoUpdatedAt = undefined;
237
+ }
238
+ }
239
+ }
240
+ // For REPL processes, output means it's actively working.
241
+ // Reset silence timer so idle detection restarts from now.
242
+ // Works regardless of daemon state (daemon may not emit events on macOS).
243
+ const isRepl = this.isReplProcess(instance.activeProcess);
244
+ if (isRepl) {
245
+ // If the REPL output was only an echo of user input, don't treat it as work.
246
+ // (We still forward the bytes to the client above; this is only for working state.)
247
+ if (nonEcho.length === 0) {
248
+ return;
249
+ }
250
+ // If we had marked it as idle due to silence, mark it working again
251
+ if (!instance.isWorking) {
252
+ instance.isWorking = true;
253
+ if (this.onWorking) {
254
+ this.onWorking(terminalId, true, instance.activeProcess);
255
+ }
256
+ }
257
+ this.startOutputSilenceTimer(terminalId, instance);
258
+ }
259
+ }
109
260
  /**
110
261
  * Check if a process has child processes (commands running)
111
262
  */
@@ -157,35 +308,56 @@ export class PTYManager {
157
308
  clearInterval(instance.processCheckInterval);
158
309
  }
159
310
  const shellPid = instance.pty.pid;
311
+ const generation = instance.processCheckGeneration + 1;
312
+ instance.processCheckGeneration = generation;
160
313
  // Start checking every 150ms for instant feedback
161
314
  instance.processCheckInterval = setInterval(async () => {
162
315
  const inst = this.instances.get(terminalId);
163
- if (!inst || !inst.isWorking) {
164
- if (inst?.processCheckInterval) {
316
+ if (!inst || inst.processCheckGeneration !== generation) {
317
+ return;
318
+ }
319
+ if (!inst.isWorking) {
320
+ if (inst.processCheckInterval) {
165
321
  clearInterval(inst.processCheckInterval);
166
322
  inst.processCheckInterval = null;
167
323
  }
168
324
  return;
169
325
  }
170
326
  const hasChildren = await this.hasChildProcesses(shellPid);
327
+ const latest = this.instances.get(terminalId);
328
+ if (!latest || latest.processCheckGeneration !== generation) {
329
+ return;
330
+ }
171
331
  if (hasChildren) {
172
332
  // Get active process name
173
333
  const processName = await this.getActiveProcessName(shellPid);
174
- if (processName !== inst.activeProcess) {
175
- inst.activeProcess = processName;
176
- // Notify of process name change
177
- if (this.onWorking) {
334
+ const current = this.instances.get(terminalId);
335
+ if (!current || current.processCheckGeneration !== generation) {
336
+ return;
337
+ }
338
+ if (processName !== current.activeProcess) {
339
+ current.activeProcess = processName;
340
+ // Only emit WORKING if terminal is actually in working mode.
341
+ // This avoids stale async ticks re-enabling working after command end.
342
+ if (current.isWorking && this.onWorking) {
178
343
  this.onWorking(terminalId, true, processName);
179
344
  }
180
345
  }
346
+ // For REPL processes (claude, codex, node, python), use output silence
347
+ // timer for idle detection instead of staying working forever.
348
+ // Only start timer once (check !outputSilenceTimer to avoid resetting
349
+ // the countdown every 300ms tick).
350
+ if (this.isReplProcess(current.activeProcess) && !current.outputSilenceTimer) {
351
+ this.startOutputSilenceTimer(terminalId, current);
352
+ }
181
353
  }
182
354
  else {
183
355
  // No child processes - command finished
184
- inst.isWorking = false;
185
- inst.activeProcess = null;
186
- if (inst.processCheckInterval) {
187
- clearInterval(inst.processCheckInterval);
188
- inst.processCheckInterval = null;
356
+ latest.isWorking = false;
357
+ latest.activeProcess = null;
358
+ if (latest.processCheckInterval) {
359
+ clearInterval(latest.processCheckInterval);
360
+ latest.processCheckInterval = null;
189
361
  }
190
362
  if (this.onWorking) {
191
363
  this.onWorking(terminalId, false, null);
@@ -198,6 +370,10 @@ export class PTYManager {
198
370
  */
199
371
  stopProcessCheck(terminalId) {
200
372
  const instance = this.instances.get(terminalId);
373
+ if (!instance) {
374
+ return;
375
+ }
376
+ instance.processCheckGeneration += 1; // Invalidate in-flight async ticks
201
377
  if (instance?.processCheckInterval) {
202
378
  clearInterval(instance.processCheckInterval);
203
379
  instance.processCheckInterval = null;
@@ -234,6 +410,126 @@ export class PTYManager {
234
410
  }
235
411
  return process.cwd();
236
412
  }
413
+ /**
414
+ * Resolve the currently installed node-pty directory.
415
+ */
416
+ getNodePtyDir() {
417
+ try {
418
+ const packageJsonPath = require.resolve('node-pty/package.json');
419
+ return path.dirname(packageJsonPath);
420
+ }
421
+ catch {
422
+ return null;
423
+ }
424
+ }
425
+ /**
426
+ * Smoke-test node-pty in a child process (before loading it in this process).
427
+ * If it fails here and we repair/retest before require(), no restart is needed.
428
+ */
429
+ runNodePtySmokeTest() {
430
+ const testShell = os.platform() === 'win32' ? (process.env.COMSPEC || 'cmd.exe') : '/bin/sh';
431
+ const testCwd = this.getValidCwd();
432
+ const script = `
433
+ const pty = require('node-pty');
434
+ const term = pty.spawn(${JSON.stringify(testShell)}, [], {
435
+ name: 'xterm-256color',
436
+ cols: 20,
437
+ rows: 5,
438
+ cwd: ${JSON.stringify(testCwd)},
439
+ env: process.env
440
+ });
441
+ term.kill();
442
+ `;
443
+ const result = spawnSync(process.execPath, ['-e', script], {
444
+ cwd: process.cwd(),
445
+ env: process.env,
446
+ stdio: 'pipe',
447
+ encoding: 'utf8',
448
+ timeout: 10000,
449
+ });
450
+ return !result.error && result.status === 0;
451
+ }
452
+ /**
453
+ * Detect if error looks like a native node-pty spawn issue.
454
+ */
455
+ isNodePtySpawnError(errorMessage) {
456
+ const lower = errorMessage.toLowerCase();
457
+ return lower.includes('posix_spawnp failed') || lower.includes('spawn');
458
+ }
459
+ /**
460
+ * Build from source in-place (best-effort) when node-pty prebuilt is broken.
461
+ */
462
+ autoRepairNodePty() {
463
+ if (this.nodePtyRepairAttempted) {
464
+ return false;
465
+ }
466
+ this.nodePtyRepairAttempted = true;
467
+ const nodePtyDir = this.getNodePtyDir();
468
+ if (!nodePtyDir) {
469
+ logger.error('Auto-repair skipped: could not resolve node-pty directory.');
470
+ return false;
471
+ }
472
+ const npmCommand = os.platform() === 'win32' ? 'npm.cmd' : 'npm';
473
+ logger.warn(`Detected node-pty runtime failure. Attempting automatic rebuild in ${nodePtyDir}...`);
474
+ const rebuild = spawnSync(npmCommand, ['rebuild'], {
475
+ cwd: nodePtyDir,
476
+ env: {
477
+ ...process.env,
478
+ npm_config_build_from_source: 'true',
479
+ },
480
+ stdio: 'pipe',
481
+ encoding: 'utf8',
482
+ timeout: 300000,
483
+ });
484
+ if (rebuild.error || rebuild.status !== 0) {
485
+ const detail = rebuild.error?.message || rebuild.stderr?.trim() || rebuild.stdout?.trim() || `exit=${rebuild.status}`;
486
+ logger.error(`Auto-repair failed: ${detail}`);
487
+ logger.error(`Manual fix: cd ${nodePtyDir} && npm rebuild --build-from-source`);
488
+ return false;
489
+ }
490
+ logger.info('node-pty rebuilt from source successfully. Retrying terminal creation...');
491
+ return true;
492
+ }
493
+ /**
494
+ * Ensure node-pty is healthy before importing and using it in-process.
495
+ */
496
+ ensureNodePtyReady() {
497
+ if (this.nodePtyChecked) {
498
+ return true;
499
+ }
500
+ this.nodePtyChecked = true;
501
+ if (this.runNodePtySmokeTest()) {
502
+ return true;
503
+ }
504
+ logger.warn('node-pty smoke test failed. Attempting automatic repair...');
505
+ if (!this.autoRepairNodePty()) {
506
+ return false;
507
+ }
508
+ if (!this.runNodePtySmokeTest()) {
509
+ logger.error('node-pty still failing after rebuild. Manual repair may be required.');
510
+ return false;
511
+ }
512
+ logger.info('node-pty repair validated successfully.');
513
+ return true;
514
+ }
515
+ /**
516
+ * Lazy-load node-pty only after health checks/repair.
517
+ */
518
+ getNodePtyModule() {
519
+ if (!this.ensureNodePtyReady()) {
520
+ return null;
521
+ }
522
+ if (!this.nodePtyModule) {
523
+ try {
524
+ this.nodePtyModule = require('node-pty');
525
+ }
526
+ catch (error) {
527
+ logger.error(`Failed to load node-pty after repair: ${error instanceof Error ? error.message : String(error)}`);
528
+ return null;
529
+ }
530
+ }
531
+ return this.nodePtyModule;
532
+ }
237
533
  /**
238
534
  * Create a new PTY instance
239
535
  */
@@ -242,6 +538,11 @@ export class PTYManager {
242
538
  logger.warn(`Terminal ${terminalId} already exists`);
243
539
  return false;
244
540
  }
541
+ const nodePty = this.getNodePtyModule();
542
+ if (!nodePty) {
543
+ logger.error('Cannot create terminal because node-pty is not available.');
544
+ return false;
545
+ }
245
546
  const cols = options.cols || 80;
246
547
  const rows = options.rows || 24;
247
548
  const shell = options.shell || this.getDefaultShell();
@@ -260,7 +561,7 @@ export class PTYManager {
260
561
  };
261
562
  logger.info(`Creating PTY: shell=${shell}, cwd=${cwd}, cols=${cols}, rows=${rows}`);
262
563
  try {
263
- const ptyProcess = pty.spawn(shell, [], {
564
+ const ptyProcess = nodePty.spawn(shell, [], {
264
565
  name: 'xterm-256color',
265
566
  cols,
266
567
  rows,
@@ -276,6 +577,7 @@ export class PTYManager {
276
577
  lastInputTime: 0,
277
578
  idleTimeout: null,
278
579
  processCheckInterval: null,
580
+ processCheckGeneration: 0,
279
581
  activeProcess: null,
280
582
  };
281
583
  this.instances.set(terminalId, instance);
@@ -307,8 +609,11 @@ export class PTYManager {
307
609
  if (this.onData) {
308
610
  this.onData(terminalId, data);
309
611
  }
310
- // Note: Working state is now determined by process-based detection (checking for child processes)
311
- // This provides instant feedback when commands finish
612
+ // Output-based idle detection: reset silence timer on output
613
+ const inst = this.instances.get(terminalId);
614
+ if (inst) {
615
+ this.handleTerminalOutput(terminalId, inst);
616
+ }
312
617
  });
313
618
  // Handle exit
314
619
  ptyProcess.onExit(({ exitCode }) => {
@@ -334,10 +639,10 @@ export class PTYManager {
334
639
  const errorMessage = error instanceof Error ? error.message : String(error);
335
640
  logger.error(`Failed to create terminal ${terminalId}: ${errorMessage}`);
336
641
  // Provide diagnostic information for common errors
337
- if (errorMessage.includes('posix_spawnp failed') || errorMessage.includes('spawn')) {
642
+ if (this.isNodePtySpawnError(errorMessage)) {
338
643
  logger.error(`Diagnostic info: shell=${shell}, cwd=${cwd}, platform=${os.platform()}, arch=${os.arch()}`);
339
644
  logger.error(`Shell exists: ${this.shellExists(shell)}, CWD exists: ${fs.existsSync(cwd)}`);
340
- logger.error(`This error often means node-pty needs to be rebuilt: npm rebuild node-pty`);
645
+ logger.error('This error often means node-pty needs to be rebuilt.');
341
646
  }
342
647
  return false;
343
648
  }
@@ -356,18 +661,18 @@ export class PTYManager {
356
661
  // Detect command execution (newline/carriage return)
357
662
  if (data.includes('\r') || data.includes('\n')) {
358
663
  instance.lastInputTime = Date.now();
359
- // Set working state to true when a command is executed
664
+ // Set optimistic working state immediately for responsive UI
360
665
  if (!instance.isWorking) {
361
666
  instance.isWorking = true;
362
667
  if (this.onWorking) {
363
668
  this.onWorking(terminalId, true, null);
364
669
  }
365
670
  }
366
- // Start process check interval - only if not using daemon
367
- // Daemon handles this automatically via state change events
368
- if (!this.useDaemon || !this.daemonClient?.isConnected()) {
369
- this.startProcessCheck(terminalId);
370
- }
671
+ // Always start process check as reliable fallback.
672
+ // Daemon events provide faster detection when working,
673
+ // but process check ensures commands are always detected
674
+ // (daemon may not emit events reliably on macOS).
675
+ this.startProcessCheck(terminalId);
371
676
  }
372
677
  return true;
373
678
  }
@@ -416,6 +721,8 @@ export class PTYManager {
416
721
  clearInterval(instance.processCheckInterval);
417
722
  instance.processCheckInterval = null;
418
723
  }
724
+ // Clear output silence timer
725
+ this.clearOutputSilenceTimer(instance);
419
726
  // Unregister from daemon
420
727
  if (this.useDaemon && this.daemonClient?.isConnected()) {
421
728
  this.daemonClient.unwatch(terminalId);
@@ -1 +1 @@
1
- {"version":3,"file":"pty-manager.js","sourceRoot":"","sources":["../src/pty-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pty-manager.js","sourceRoot":"","sources":["../src/pty-manager.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"stats-manager.d.ts","sourceRoot":"","sources":["../src/stats-manager.ts"],"names":[],"mappings":"AA+CA;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,GAAG,EAAE,MAAM,EAAE,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE;QACN,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,KAAK,EAAE,KAAK,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,EAAE,MAAM,CAAC;QAClB,KAAK,EAAE,MAAM,CAAC;KACf,CAAC,CAAC;IACH,OAAO,EAAE,KAAK,CAAC;QACb,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC,CAAC;IACH,SAAS,EAAE,KAAK,CAAC;QACf,GAAG,EAAE,MAAM,CAAC;QACZ,IAAI,EAAE,MAAM,CAAC;QACb,GAAG,EAAE,MAAM,CAAC;QACZ,MAAM,EAAE,MAAM,CAAC;QACf,GAAG,EAAE,MAAM,CAAC;KACb,CAAC,CAAC;IACH,EAAE,CAAC,EAAE;QACH,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;CACH;AAED,KAAK,aAAa,GAAG,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,CAAC;AAEhD;;GAEG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,OAAO,CAA6B;IAC5C,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,aAAa,CAA8B;IACnD,OAAO,CAAC,MAAM,CAAM;IACpB,OAAO,CAAC,eAAe,CAAS;gBAEpB,eAAe,SAAI;IAI/B;;OAEG;IACH,KAAK,IAAI,OAAO;IAmDhB;;OAEG;IACH,IAAI,IAAI,IAAI;IAaZ;;OAEG;IACH,gBAAgB,CAAC,QAAQ,EAAE,aAAa,GAAG,IAAI;IAI/C;;OAEG;IACH,OAAO,CAAC,UAAU;IAuBlB;;OAEG;IACH,OAAO,CAAC,YAAY;IA6BpB;;OAEG;IACH,OAAO,CAAC,UAAU;IAyClB;;OAEG;IACH,IAAI,OAAO,IAAI,OAAO,CAErB;CACF"}
1
+ {"version":3,"file":"stats-manager.d.ts","sourceRoot":"","sources":["../src/stats-manager.ts"],"names":[],"mappings":"AA+CA;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,GAAG,EAAE,MAAM,EAAE,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE;QACN,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,KAAK,EAAE,KAAK,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,EAAE,MAAM,CAAC;QAClB,KAAK,EAAE,MAAM,CAAC;KACf,CAAC,CAAC;IACH,OAAO,EAAE,KAAK,CAAC;QACb,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC,CAAC;IACH,SAAS,EAAE,KAAK,CAAC;QACf,GAAG,EAAE,MAAM,CAAC;QACZ,IAAI,EAAE,MAAM,CAAC;QACb,GAAG,EAAE,MAAM,CAAC;QACZ,MAAM,EAAE,MAAM,CAAC;QACf,GAAG,EAAE,MAAM,CAAC;KACb,CAAC,CAAC;IACH,EAAE,CAAC,EAAE;QACH,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;CACH;AAED,KAAK,aAAa,GAAG,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,CAAC;AAEhD;;GAEG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,OAAO,CAA6B;IAC5C,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,aAAa,CAA8B;IACnD,OAAO,CAAC,MAAM,CAAM;IACpB,OAAO,CAAC,eAAe,CAAS;gBAEpB,eAAe,SAAI;IAI/B;;OAEG;IACH,KAAK,IAAI,OAAO;IAmDhB;;OAEG;IACH,IAAI,IAAI,IAAI;IAaZ;;OAEG;IACH,gBAAgB,CAAC,QAAQ,EAAE,aAAa,GAAG,IAAI;IAI/C;;OAEG;IACH,OAAO,CAAC,UAAU;IAuBlB;;OAEG;IACH,OAAO,CAAC,YAAY;IA6BpB;;OAEG;IACH,OAAO,CAAC,UAAU;IAgDlB;;OAEG;IACH,IAAI,OAAO,IAAI,OAAO,CAErB;CACF"}