@design.estate/dees-catalog 6.3.0 → 6.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.
@@ -66,6 +66,9 @@ let DeesDataviewCodebox = (() => {
66
66
  let _diffView_decorators;
67
67
  let _diffView_initializers = [];
68
68
  let _diffView_extraInitializers = [];
69
+ let _showDiffLineNumbers_decorators;
70
+ let _showDiffLineNumbers_initializers = [];
71
+ let _showDiffLineNumbers_extraInitializers = [];
69
72
  let _highlightedCode_decorators;
70
73
  let _highlightedCode_initializers = [];
71
74
  let _highlightedCode_extraInitializers = [];
@@ -88,6 +91,7 @@ let DeesDataviewCodebox = (() => {
88
91
  _codeBefore_decorators = [property({ type: String })];
89
92
  _unifiedDiff_decorators = [property({ type: String })];
90
93
  _diffView_decorators = [property({ type: String })];
94
+ _showDiffLineNumbers_decorators = [property({ type: Boolean })];
91
95
  _highlightedCode_decorators = [state()];
92
96
  _copied_decorators = [state()];
93
97
  _expandedFolds_decorators = [state()];
@@ -98,6 +102,7 @@ let DeesDataviewCodebox = (() => {
98
102
  __esDecorate(this, null, _codeBefore_decorators, { kind: "accessor", name: "codeBefore", static: false, private: false, access: { has: obj => "codeBefore" in obj, get: obj => obj.codeBefore, set: (obj, value) => { obj.codeBefore = value; } }, metadata: _metadata }, _codeBefore_initializers, _codeBefore_extraInitializers);
99
103
  __esDecorate(this, null, _unifiedDiff_decorators, { kind: "accessor", name: "unifiedDiff", static: false, private: false, access: { has: obj => "unifiedDiff" in obj, get: obj => obj.unifiedDiff, set: (obj, value) => { obj.unifiedDiff = value; } }, metadata: _metadata }, _unifiedDiff_initializers, _unifiedDiff_extraInitializers);
100
104
  __esDecorate(this, null, _diffView_decorators, { kind: "accessor", name: "diffView", static: false, private: false, access: { has: obj => "diffView" in obj, get: obj => obj.diffView, set: (obj, value) => { obj.diffView = value; } }, metadata: _metadata }, _diffView_initializers, _diffView_extraInitializers);
105
+ __esDecorate(this, null, _showDiffLineNumbers_decorators, { kind: "accessor", name: "showDiffLineNumbers", static: false, private: false, access: { has: obj => "showDiffLineNumbers" in obj, get: obj => obj.showDiffLineNumbers, set: (obj, value) => { obj.showDiffLineNumbers = value; } }, metadata: _metadata }, _showDiffLineNumbers_initializers, _showDiffLineNumbers_extraInitializers);
101
106
  __esDecorate(this, null, _highlightedCode_decorators, { kind: "accessor", name: "highlightedCode", static: false, private: false, access: { has: obj => "highlightedCode" in obj, get: obj => obj.highlightedCode, set: (obj, value) => { obj.highlightedCode = value; } }, metadata: _metadata }, _highlightedCode_initializers, _highlightedCode_extraInitializers);
102
107
  __esDecorate(this, null, _copied_decorators, { kind: "accessor", name: "copied", static: false, private: false, access: { has: obj => "copied" in obj, get: obj => obj.copied, set: (obj, value) => { obj.copied = value; } }, metadata: _metadata }, _copied_initializers, _copied_extraInitializers);
103
108
  __esDecorate(this, null, _expandedFolds_decorators, { kind: "accessor", name: "expandedFolds", static: false, private: false, access: { has: obj => "expandedFolds" in obj, get: obj => obj.expandedFolds, set: (obj, value) => { obj.expandedFolds = value; } }, metadata: _metadata }, _expandedFolds_initializers, _expandedFolds_extraInitializers);
@@ -134,7 +139,11 @@ let DeesDataviewCodebox = (() => {
134
139
  /** '' = regular code view; 'inline' = unified rows; 'split' = side by side */
135
140
  get diffView() { return this.#diffView_accessor_storage; }
136
141
  set diffView(value) { this.#diffView_accessor_storage = value; }
137
- #highlightedCode_accessor_storage = (__runInitializers(this, _diffView_extraInitializers), __runInitializers(this, _highlightedCode_initializers, ''));
142
+ #showDiffLineNumbers_accessor_storage = (__runInitializers(this, _diffView_extraInitializers), __runInitializers(this, _showDiffLineNumbers_initializers, true));
143
+ /** Hide gutters when a diff source does not provide trustworthy positions. */
144
+ get showDiffLineNumbers() { return this.#showDiffLineNumbers_accessor_storage; }
145
+ set showDiffLineNumbers(value) { this.#showDiffLineNumbers_accessor_storage = value; }
146
+ #highlightedCode_accessor_storage = (__runInitializers(this, _showDiffLineNumbers_extraInitializers), __runInitializers(this, _highlightedCode_initializers, ''));
138
147
  get highlightedCode() { return this.#highlightedCode_accessor_storage; }
139
148
  set highlightedCode(value) { this.#highlightedCode_accessor_storage = value; }
140
149
  #copied_accessor_storage = (__runInitializers(this, _highlightedCode_extraInitializers), __runInitializers(this, _copied_initializers, false));
@@ -186,9 +195,40 @@ let DeesDataviewCodebox = (() => {
186
195
  .appbar .actions {
187
196
  grid-column: 3;
188
197
  display: flex;
198
+ align-items: center;
199
+ gap: var(--dees-spacing-sm);
189
200
  justify-content: flex-end;
190
201
  }
191
202
 
203
+ .viewToggle {
204
+ display: flex;
205
+ padding: 2px;
206
+ border: 1px solid var(--dees-color-border-subtle);
207
+ border-radius: var(--dees-radius-md);
208
+ background: var(--dees-color-bg-tertiary);
209
+ }
210
+
211
+ .viewButton {
212
+ padding: 3px 7px;
213
+ border: 0;
214
+ border-radius: calc(var(--dees-radius-md) - 2px);
215
+ background: transparent;
216
+ color: var(--dees-color-text-muted);
217
+ cursor: pointer;
218
+ font: inherit;
219
+ font-size: var(--dees-font-caption2-size);
220
+ line-height: 1.2;
221
+ }
222
+
223
+ .viewButton:hover {
224
+ color: var(--dees-color-text-primary);
225
+ }
226
+
227
+ .viewButton.active {
228
+ background: var(--dees-color-active);
229
+ color: var(--dees-color-text-primary);
230
+ }
231
+
192
232
  .copyButton {
193
233
  display: flex;
194
234
  align-items: center;
@@ -310,8 +350,37 @@ let DeesDataviewCodebox = (() => {
310
350
  grid-template-columns: minmax(3ch, auto) minmax(3ch, auto) 2ch minmax(0, 1fr);
311
351
  }
312
352
 
313
- .diffGrid.split {
314
- grid-template-columns: minmax(3ch, auto) 2ch minmax(24ch, 1fr) minmax(3ch, auto) 2ch minmax(24ch, 1fr);
353
+ .diffGrid.inline.withoutLineNumbers {
354
+ grid-template-columns: 2ch minmax(0, 1fr);
355
+ }
356
+
357
+ .diffSplit {
358
+ display: grid;
359
+ grid-template-columns: minmax(0, 1fr) 1px minmax(0, 1fr);
360
+ align-items: start;
361
+ min-width: 0;
362
+ padding: var(--dees-spacing-sm) 0;
363
+ }
364
+
365
+ .diffSplitDivider {
366
+ align-self: stretch;
367
+ background: var(--dees-color-border-default);
368
+ }
369
+
370
+ .diffSplitPane {
371
+ min-width: 0;
372
+ overflow-x: auto;
373
+ overflow-y: hidden;
374
+ scrollbar-width: thin;
375
+ scrollbar-color: var(--dees-color-scrollbar-thumb) transparent;
376
+ }
377
+
378
+ .diffGrid.splitSide {
379
+ grid-template-columns: minmax(3ch, auto) 2ch minmax(24ch, 1fr);
380
+ }
381
+
382
+ .diffGrid.splitSide.withoutLineNumbers {
383
+ grid-template-columns: 2ch minmax(24ch, 1fr);
315
384
  }
316
385
 
317
386
  .diffGrid > div {
@@ -399,10 +468,6 @@ let DeesDataviewCodebox = (() => {
399
468
  color: var(--dees-color-link-hover);
400
469
  }
401
470
 
402
- .diffSplitSep {
403
- border-left: 1px solid var(--dees-color-border-subtle);
404
- }
405
-
406
471
  .diffStat {
407
472
  font-weight: 600;
408
473
  }
@@ -444,6 +509,24 @@ let DeesDataviewCodebox = (() => {
444
509
  <div slot="header" class="appbar">
445
510
  <div class="fileName">${this.filename}</div>
446
511
  <div class="actions">
512
+ ${this.isDiffActive
513
+ ? html `
514
+ <div class="viewToggle" role="group" aria-label="Diff layout">
515
+ <button
516
+ class="viewButton ${this.effectiveDiffView === 'inline' ? 'active' : ''}"
517
+ type="button"
518
+ aria-pressed=${String(this.effectiveDiffView === 'inline')}
519
+ @click=${() => this.setDiffView('inline')}
520
+ >Inline</button>
521
+ <button
522
+ class="viewButton ${this.effectiveDiffView === 'split' ? 'active' : ''}"
523
+ type="button"
524
+ aria-pressed=${String(this.effectiveDiffView === 'split')}
525
+ @click=${() => this.setDiffView('split')}
526
+ >Split</button>
527
+ </div>
528
+ `
529
+ : ''}
447
530
  <div
448
531
  class="copyButton ${this.copied ? 'copied' : ''}"
449
532
  title="Copy code"
@@ -489,17 +572,13 @@ let DeesDataviewCodebox = (() => {
489
572
  }
490
573
  renderDiff() {
491
574
  const displayRows = this.displayRowsWithFolds();
492
- return html `
493
- <div class="diffScroll">
494
- ${this.effectiveDiffView === 'split'
575
+ return this.effectiveDiffView === 'split'
495
576
  ? this.renderSplitGrid(displayRows)
496
- : this.renderInlineGrid(displayRows)}
497
- </div>
498
- `;
577
+ : html `<div class="diffScroll">${this.renderInlineGrid(displayRows)}</div>`;
499
578
  }
500
579
  renderInlineGrid(displayRows) {
501
580
  return html `
502
- <div class="diffGrid inline">
581
+ <div class="diffGrid inline ${this.showDiffLineNumbers ? '' : 'withoutLineNumbers'}">
503
582
  ${displayRows.map((displayRow) => {
504
583
  if (displayRow.kind === 'fold') {
505
584
  return this.renderFoldRow(displayRow.rows.length, displayRow.ordinal ?? 0);
@@ -509,8 +588,12 @@ let DeesDataviewCodebox = (() => {
509
588
  }
510
589
  const rowClass = displayRow.kind === 'add' ? 'row-add' : displayRow.kind === 'remove' ? 'row-remove' : '';
511
590
  return html `
512
- <div class="diffNum ${rowClass}">${displayRow.oldLine ?? ''}</div>
513
- <div class="diffNum ${rowClass}">${displayRow.newLine ?? ''}</div>
591
+ ${this.showDiffLineNumbers
592
+ ? html `
593
+ <div class="diffNum ${rowClass}">${displayRow.oldLine ?? ''}</div>
594
+ <div class="diffNum ${rowClass}">${displayRow.newLine ?? ''}</div>
595
+ `
596
+ : ''}
514
597
  <div class="diffSign ${rowClass}">${displayRow.kind === 'add' ? '+' : displayRow.kind === 'remove' ? '−' : ''}</div>
515
598
  <div class="diffText ${rowClass}">${this.renderDiffLine(displayRow.text, displayRow.segments, displayRow.kind)}</div>
516
599
  `;
@@ -519,19 +602,18 @@ let DeesDataviewCodebox = (() => {
519
602
  `;
520
603
  }
521
604
  renderSplitGrid(displayRows) {
522
- // pair each contiguous non-fold run; folds render as full-width rows
523
- const rendered = [];
605
+ const leftRendered = [];
606
+ const rightRendered = [];
524
607
  let run = [];
525
608
  const flushRun = () => {
526
609
  for (const splitRow of buildSplitRows(run)) {
527
610
  if (splitRow.kind === 'hunk') {
528
- rendered.push(html `<div class="diffHunk">${splitRow.text}</div>`);
611
+ leftRendered.push(html `<div class="diffHunk">${splitRow.text}</div>`);
612
+ rightRendered.push(html `<div class="diffHunk">${splitRow.text}</div>`);
529
613
  }
530
614
  else {
531
- rendered.push(html `
532
- ${this.renderSplitCell(splitRow.left, 'left')}
533
- ${this.renderSplitCell(splitRow.right, 'right')}
534
- `);
615
+ leftRendered.push(this.renderSplitCell(splitRow.left));
616
+ rightRendered.push(this.renderSplitCell(splitRow.right));
535
617
  }
536
618
  }
537
619
  run = [];
@@ -539,27 +621,38 @@ let DeesDataviewCodebox = (() => {
539
621
  for (const displayRow of displayRows) {
540
622
  if (displayRow.kind === 'fold') {
541
623
  flushRun();
542
- rendered.push(this.renderFoldRow(displayRow.rows.length, displayRow.ordinal ?? 0));
624
+ leftRendered.push(this.renderFoldRow(displayRow.rows.length, displayRow.ordinal ?? 0));
625
+ rightRendered.push(this.renderFoldRow(displayRow.rows.length, displayRow.ordinal ?? 0));
543
626
  }
544
627
  else {
545
628
  run.push(displayRow);
546
629
  }
547
630
  }
548
631
  flushRun();
549
- return html `<div class="diffGrid split">${rendered}</div>`;
632
+ const lineNumberClass = this.showDiffLineNumbers ? '' : 'withoutLineNumbers';
633
+ return html `
634
+ <div class="diffSplit">
635
+ <div class="diffSplitPane" data-side="left" aria-label="Before">
636
+ <div class="diffGrid splitSide ${lineNumberClass}">${leftRendered}</div>
637
+ </div>
638
+ <div class="diffSplitDivider" aria-hidden="true"></div>
639
+ <div class="diffSplitPane" data-side="right" aria-label="After">
640
+ <div class="diffGrid splitSide ${lineNumberClass}">${rightRendered}</div>
641
+ </div>
642
+ </div>
643
+ `;
550
644
  }
551
- renderSplitCell(cell, side) {
552
- const separatorClass = side === 'right' ? 'diffSplitSep' : '';
645
+ renderSplitCell(cell) {
553
646
  if (!cell) {
554
647
  return html `
555
- <div class="diffNum row-filler ${separatorClass}"></div>
648
+ ${this.showDiffLineNumbers ? html `<div class="diffNum row-filler"></div>` : ''}
556
649
  <div class="diffSign row-filler"></div>
557
650
  <div class="diffText row-filler"></div>
558
651
  `;
559
652
  }
560
653
  const rowClass = cell.kind === 'add' ? 'row-add' : cell.kind === 'remove' ? 'row-remove' : '';
561
654
  return html `
562
- <div class="diffNum ${rowClass} ${separatorClass}">${cell.line || ''}</div>
655
+ ${this.showDiffLineNumbers ? html `<div class="diffNum ${rowClass}">${cell.line || ''}</div>` : ''}
563
656
  <div class="diffSign ${rowClass}">${cell.kind === 'add' ? '+' : cell.kind === 'remove' ? '−' : ''}</div>
564
657
  <div class="diffText ${rowClass}">${this.renderDiffLine(cell.text, cell.segments, cell.kind)}</div>
565
658
  `;
@@ -601,6 +694,16 @@ let DeesDataviewCodebox = (() => {
601
694
  get effectiveDiffView() {
602
695
  return this.diffView === 'split' ? 'split' : 'inline';
603
696
  }
697
+ setDiffView(diffViewArg) {
698
+ if (this.effectiveDiffView === diffViewArg)
699
+ return;
700
+ this.diffView = diffViewArg;
701
+ this.dispatchEvent(new CustomEvent('diff-view-change', {
702
+ detail: { diffView: diffViewArg },
703
+ bubbles: true,
704
+ composed: true,
705
+ }));
706
+ }
604
707
  willUpdate(changedProperties) {
605
708
  super.willUpdate(changedProperties);
606
709
  if (changedProperties.has('codeToDisplay')) {
@@ -784,4 +887,4 @@ let DeesDataviewCodebox = (() => {
784
887
  return DeesDataviewCodebox = _classThis;
785
888
  })();
786
889
  export { DeesDataviewCodebox };
787
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVlcy1kYXRhdmlldy1jb2RlYm94LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdHNfd2ViL2VsZW1lbnRzLzAwZ3JvdXAtZGF0YXZpZXcvZGVlcy1kYXRhdmlldy1jb2RlYm94L2RlZXMtZGF0YXZpZXctY29kZWJveC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzNELE9BQU8sRUFDTCxXQUFXLEVBQ1gsSUFBSSxFQUNKLEdBQUcsRUFDSCxhQUFhLEVBRWIsUUFBUSxFQUNSLEtBQUssRUFDTCxVQUFVLEVBQ1YsVUFBVSxHQUNYLE1BQU0sNkJBQTZCLENBQUM7QUFDckMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDdEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLGlCQUFpQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFJM0UsT0FBTyxLQUFLLFdBQVcsTUFBTSx5QkFBeUIsQ0FBQztBQUV2RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNERBQTRELENBQUM7QUFDN0YsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDbEUsT0FBTyw2Q0FBNkMsQ0FBQztBQUNyRCxPQUFPLDhDQUE4QyxDQUFDO0FBQ3RELE9BQU8sRUFDTCxjQUFjLEVBQ2QsZUFBZSxFQUNmLFNBQVMsRUFDVCxlQUFlLEVBQ2YsZ0JBQWdCLEVBQ2hCLGFBQWEsR0FLZCxNQUFNLG1CQUFtQixDQUFDO0lBU2QsbUJBQW1COzRCQUQvQixhQUFhLENBQUMsdUJBQXVCLENBQUM7Ozs7c0JBQ0UsV0FBVzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzttQ0FBbkIsU0FBUSxXQUFXOzs7O29DQUlqRCxRQUFRLEVBQUU7b0NBSVYsUUFBUSxFQUFFO3lDQUdWLFFBQVEs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
890
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVlcy1kYXRhdmlldy1jb2RlYm94LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdHNfd2ViL2VsZW1lbnRzLzAwZ3JvdXAtZGF0YXZpZXcvZGVlcy1kYXRhdmlldy1jb2RlYm94L2RlZXMtZGF0YXZpZXctY29kZWJveC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzNELE9BQU8sRUFDTCxXQUFXLEVBQ1gsSUFBSSxFQUNKLEdBQUcsRUFDSCxhQUFhLEVBRWIsUUFBUSxFQUNSLEtBQUssRUFDTCxVQUFVLEVBQ1YsVUFBVSxHQUNYLE1BQU0sNkJBQTZCLENBQUM7QUFDckMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDdEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLGlCQUFpQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFJM0UsT0FBTyxLQUFLLFdBQVcsTUFBTSx5QkFBeUIsQ0FBQztBQUV2RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNERBQTRELENBQUM7QUFDN0YsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDbEUsT0FBTyw2Q0FBNkMsQ0FBQztBQUNyRCxPQUFPLDhDQUE4QyxDQUFDO0FBQ3RELE9BQU8sRUFDTCxjQUFjLEVBQ2QsZUFBZSxFQUNmLFNBQVMsRUFDVCxlQUFlLEVBQ2YsZ0JBQWdCLEVBQ2hCLGFBQWEsR0FLZCxNQUFNLG1CQUFtQixDQUFDO0lBZWQsbUJBQW1COzRCQUQvQixhQUFhLENBQUMsdUJBQXVCLENBQUM7Ozs7c0JBQ0UsV0FBVzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzttQ0FBbkIsU0FBUSxXQUFXOzs7O29DQUlqRCxRQUFRLEVBQUU7b0NBSVYsUUFBUSxFQUFFO3lDQUdWLFFB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
@@ -1,6 +1,7 @@
1
1
  import { DeesElement, type TemplateResult } from '@design.estate/dees-element';
2
2
  import type { IHarnessToolCall, THarnessMessageStreamDelta } from '../interfaces.js';
3
3
  import { DeesHarnessToolRegistry } from '../toolregistry.js';
4
+ import type { TDiffView } from '../../00group-dataview/dees-dataview-codebox/dees-dataview-codebox.js';
4
5
  import '../dees-harness-content-blocks/dees-harness-content-blocks.js';
5
6
  import '../dees-harness-overflow-text.js';
6
7
  import '../../00group-dataview/dees-dataview-codebox/dees-dataview-codebox.js';
@@ -35,12 +36,16 @@ export declare class DeesHarnessToolCard extends DeesElement {
35
36
  accessor bodyOverflowing: boolean;
36
37
  accessor returnFlash: boolean;
37
38
  accessor outcomeScanTone: 'success' | 'error' | null;
39
+ accessor diffViewOverride: TDiffView | null;
38
40
  private bodyResizeObserver;
39
41
  private observedBodyInner;
40
42
  private fullscreenPortal;
41
43
  private disclosureFrame;
42
44
  private subtaskResultElement;
43
45
  private subtaskResultResizeObserver;
46
+ private terminalTailFollowing;
47
+ private terminalTailReturnTimeout;
48
+ private terminalTailReturnDelayMs;
44
49
  static styles: import("@design.estate/dees-element").CSSResult[];
45
50
  private get descriptor();
46
51
  /** call with mcp meta derived from the name when the adapter didn't set it */
@@ -60,6 +65,11 @@ export declare class DeesHarnessToolCard extends DeesElement {
60
65
  private endOutcomeScan;
61
66
  willUpdate(changedProperties: Map<PropertyKey, unknown>): void;
62
67
  updated(changedProperties: Map<PropertyKey, unknown>): void;
68
+ private readonly handleBodyScroll;
69
+ private scrollTerminalToTail;
70
+ private readonly scheduleTerminalTailReturn;
71
+ private readonly cancelTerminalTailReturn;
72
+ private readonly handleDiffViewChange;
63
73
  private readonly syncSubtaskResultScroll;
64
74
  private connectSubtaskResultScroll;
65
75
  connectedCallback(): Promise<void>;