@floegence/floeterm-terminal-web 0.13.6 → 0.14.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 (49) hide show
  1. package/README.md +3 -3
  2. package/dist/checkpoint/GhosttyCheckpoint.worker.d.ts +2 -0
  3. package/dist/checkpoint/GhosttyCheckpoint.worker.d.ts.map +1 -0
  4. package/dist/checkpoint/GhosttyCheckpoint.worker.js +9 -0
  5. package/dist/checkpoint/GhosttyCheckpoint.worker.js.map +1 -0
  6. package/dist/checkpoint/GhosttyCheckpointActor.d.ts +44 -0
  7. package/dist/checkpoint/GhosttyCheckpointActor.d.ts.map +1 -0
  8. package/dist/checkpoint/GhosttyCheckpointActor.js +284 -0
  9. package/dist/checkpoint/GhosttyCheckpointActor.js.map +1 -0
  10. package/dist/checkpoint/GhosttyCheckpointEngine.d.ts +62 -0
  11. package/dist/checkpoint/GhosttyCheckpointEngine.d.ts.map +1 -0
  12. package/dist/checkpoint/GhosttyCheckpointEngine.js +175 -0
  13. package/dist/checkpoint/GhosttyCheckpointEngine.js.map +1 -0
  14. package/dist/checkpoint/GhosttyCheckpointWorkerRuntime.d.ts +31 -0
  15. package/dist/checkpoint/GhosttyCheckpointWorkerRuntime.d.ts.map +1 -0
  16. package/dist/checkpoint/GhosttyCheckpointWorkerRuntime.js +112 -0
  17. package/dist/checkpoint/GhosttyCheckpointWorkerRuntime.js.map +1 -0
  18. package/dist/core/PagedTerminalOutputCoordinator.d.ts +5 -1
  19. package/dist/core/PagedTerminalOutputCoordinator.d.ts.map +1 -1
  20. package/dist/core/PagedTerminalOutputCoordinator.js +66 -4
  21. package/dist/core/PagedTerminalOutputCoordinator.js.map +1 -1
  22. package/dist/core/TerminalCore.d.ts +7 -0
  23. package/dist/core/TerminalCore.d.ts.map +1 -1
  24. package/dist/core/TerminalCore.js +93 -13
  25. package/dist/core/TerminalCore.js.map +1 -1
  26. package/dist/index.d.ts +3 -1
  27. package/dist/index.d.ts.map +1 -1
  28. package/dist/index.js +1 -0
  29. package/dist/index.js.map +1 -1
  30. package/dist/internal/GhosttyCompatibilityVersion.d.ts +1 -1
  31. package/dist/internal/GhosttyCompatibilityVersion.d.ts.map +1 -1
  32. package/dist/internal/GhosttyCompatibilityVersion.js +1 -1
  33. package/dist/internal/GhosttyCompatibilityVersion.js.map +1 -1
  34. package/dist/internal/TerminalResourceLoader.d.ts +14 -14
  35. package/dist/internal/TerminalResourceLoader.d.ts.map +1 -1
  36. package/dist/internal/TerminalResourceLoader.js +11 -11
  37. package/dist/internal/TerminalResourceLoader.js.map +1 -1
  38. package/dist/live/transport.d.ts +2 -1
  39. package/dist/live/transport.d.ts.map +1 -1
  40. package/dist/live/transport.js +1 -0
  41. package/dist/live/transport.js.map +1 -1
  42. package/dist/manager/TerminalInstanceController.d.ts +8 -0
  43. package/dist/manager/TerminalInstanceController.d.ts.map +1 -1
  44. package/dist/manager/TerminalInstanceController.js +158 -1
  45. package/dist/manager/TerminalInstanceController.js.map +1 -1
  46. package/dist/types.d.ts +39 -0
  47. package/dist/types.d.ts.map +1 -1
  48. package/dist/types.js.map +1 -1
  49. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"TerminalCore.d.ts","sourceRoot":"","sources":["../../src/core/TerminalCore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TerminalCore.d.ts","sourceRoot":"","sources":["../../src/core/TerminalCore.ts"],"names":[],"mappings":"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"}
@@ -18,6 +18,13 @@ const DEFAULT_TERMINAL_SNAPSHOT_MAX_BYTES = 2 * 1024 * 1024;
18
18
  const ESTIMATED_RENDERER_BYTES = 4 * 1024 * 1024;
19
19
  const SNAPSHOT_RESET_PREFIX = '\x1bc\x1b[2J\x1b[H';
20
20
  const encodedByteLength = (value) => new TextEncoder().encode(value).byteLength;
21
+ const sha256Hex = async (bytes) => {
22
+ if (typeof crypto === 'undefined' || !crypto.subtle) {
23
+ throw new Error('Web Crypto SHA-256 is unavailable for checkpoint validation');
24
+ }
25
+ const digest = await crypto.subtle.digest('SHA-256', bytes.slice());
26
+ return Array.from(new Uint8Array(digest), byte => byte.toString(16).padStart(2, '0')).join('');
27
+ };
21
28
  const TERMINAL_SEARCH_MAX_RESULTS = 5000;
22
29
  const PRESENTATION_SCALE_EPSILON = 0.0001;
23
30
  const GHOSTTY_DEFAULT_SCROLLBAR_RESERVE_PX = 15;
@@ -303,7 +310,7 @@ function normalizeHoverRange(value) {
303
310
  function normalizeFabricIdentifier(value) {
304
311
  return value.trim().replace(/[^a-zA-Z0-9_-]+/g, '-').replace(/^-+|-+$/g, '') || 'terminal';
305
312
  }
306
- // TerminalCore provides a focused wrapper around ghostty-web (xterm.js API-compatible) and its fit addon.
313
+ // TerminalCore provides a focused wrapper around @floegence/ghostty-web (xterm.js API-compatible) and its fit addon.
307
314
  export class TerminalCore {
308
315
  constructor(container, config = {}, eventHandlers = {}, logger = createConsoleLogger()) {
309
316
  this.container = container;
@@ -410,7 +417,7 @@ export class TerminalCore {
410
417
  this.fabricViewId = `floeterm-view-${this.renderTask.id}`;
411
418
  TerminalCore.nextRenderTaskId += 1;
412
419
  }
413
- // initialize creates the ghostty-web terminal instance and binds addons.
420
+ // initialize creates the @floegence/ghostty-web terminal instance and binds addons.
414
421
  async initialize(options = {}) {
415
422
  if (this.isDisposed) {
416
423
  throw new Error('Cannot initialize a disposed TerminalCore');
@@ -558,10 +565,10 @@ export class TerminalCore {
558
565
  async createTerminalInstance(signal) {
559
566
  const TerminalCtor = getGhosttyTerminalConstructor();
560
567
  if (!TerminalCtor) {
561
- throw new Error('ghostty-web module not loaded');
568
+ throw new Error('@floegence/ghostty-web module not loaded');
562
569
  }
563
570
  if (!this.ownedRuntime) {
564
- throw new Error('ghostty-web runtime not acquired');
571
+ throw new Error('@floegence/ghostty-web runtime not acquired');
565
572
  }
566
573
  const defaultConfig = {
567
574
  cols: 80,
@@ -613,7 +620,7 @@ export class TerminalCore {
613
620
  }
614
621
  const FitAddonCtor = getGhosttyFitAddonConstructor();
615
622
  if (!FitAddonCtor) {
616
- throw new Error('Required ghostty-web addons not loaded');
623
+ throw new Error('Required @floegence/ghostty-web addons not loaded');
617
624
  }
618
625
  this.fitAddon = new FitAddonCtor();
619
626
  this.terminal.loadAddon(this.fitAddon);
@@ -654,7 +661,7 @@ export class TerminalCore {
654
661
  mountInputElement(renderHost) {
655
662
  const input = resolveTerminalInputElement(renderHost);
656
663
  if (!input) {
657
- throw new Error('ghostty-web terminal input element was not created');
664
+ throw new Error('@floegence/ghostty-web terminal input element was not created');
658
665
  }
659
666
  const body = this.container.ownerDocument.body;
660
667
  if (!body) {
@@ -964,7 +971,7 @@ export class TerminalCore {
964
971
  return;
965
972
  }
966
973
  terminalAny.__floetermDemandRenderLoopPatched = true;
967
- // ghostty-web currently starts a perpetual RAF loop from open(). TerminalCore
974
+ // @floegence/ghostty-web currently starts a perpetual RAF loop from open(). TerminalCore
968
975
  // already knows every meaningful invalidation point, so keep rendering
969
976
  // demand-driven while preserving the upstream terminal surface.
970
977
  terminalAny.startRenderLoop = () => {
@@ -1629,6 +1636,12 @@ export class TerminalCore {
1629
1636
  this.hasFocus = true;
1630
1637
  this.scheduleFocusResize();
1631
1638
  };
1639
+ const onDocumentFocusIn = () => {
1640
+ this.hasFocus = this.isContainerFocused();
1641
+ if (this.hasFocus) {
1642
+ this.scheduleFocusResize();
1643
+ }
1644
+ };
1632
1645
  const onFocusOut = () => {
1633
1646
  // focusout fires even when moving focus within the subtree; re-check on next frame.
1634
1647
  requestAnimationFrame(() => {
@@ -1646,11 +1659,15 @@ export class TerminalCore {
1646
1659
  this.container.addEventListener('focusin', onFocusIn);
1647
1660
  this.container.addEventListener('focusout', onFocusOut);
1648
1661
  this.container.addEventListener('pointerdown', onPointerDown);
1662
+ this.container.ownerDocument.addEventListener('focusin', onDocumentFocusIn);
1663
+ this.container.ownerDocument.addEventListener('focusout', onFocusOut);
1649
1664
  this.hasFocus = this.isContainerFocused();
1650
1665
  this.unbindResponsiveListeners = () => {
1651
1666
  this.container.removeEventListener('focusin', onFocusIn);
1652
1667
  this.container.removeEventListener('focusout', onFocusOut);
1653
1668
  this.container.removeEventListener('pointerdown', onPointerDown);
1669
+ this.container.ownerDocument.removeEventListener('focusin', onDocumentFocusIn);
1670
+ this.container.ownerDocument.removeEventListener('focusout', onFocusOut);
1654
1671
  };
1655
1672
  }
1656
1673
  startSizeWatching() {
@@ -1727,7 +1744,7 @@ export class TerminalCore {
1727
1744
  catch (error) {
1728
1745
  this.logger.debug('[TerminalCore] Resize failed', { error });
1729
1746
  }
1730
- // Some ghostty-web builds may not always emit onResize for programmatic fit().
1747
+ // Some @floegence/ghostty-web builds may not always emit onResize for programmatic fit().
1731
1748
  // Emit a deduped notification based on the actual terminal dimensions.
1732
1749
  if (this.resizeNotifySeq !== startSeq) {
1733
1750
  return;
@@ -1776,7 +1793,7 @@ export class TerminalCore {
1776
1793
  this.emitResize(hostDimensions, { source: 'core', force });
1777
1794
  return;
1778
1795
  }
1779
- // Some ghostty-web builds may not emit onResize for programmatic resize().
1796
+ // Some @floegence/ghostty-web builds may not emit onResize for programmatic resize().
1780
1797
  if (this.resizeNotifySeq !== startSeq) {
1781
1798
  return;
1782
1799
  }
@@ -1833,7 +1850,7 @@ export class TerminalCore {
1833
1850
  if (!el) {
1834
1851
  return false;
1835
1852
  }
1836
- return this.container.contains(el);
1853
+ return this.container.contains(el) || this.inputBridge?.containsTarget(el) === true;
1837
1854
  }
1838
1855
  setState(newState) {
1839
1856
  if (this.state !== newState) {
@@ -1995,6 +2012,69 @@ export class TerminalCore {
1995
2012
  });
1996
2013
  });
1997
2014
  }
2015
+ /**
2016
+ * Restores a validated checkpoint produced by the published Ghostty engine.
2017
+ * The terminal must already be at the checkpoint geometry; geometry changes
2018
+ * remain owned by the history boundary before restore is attempted.
2019
+ */
2020
+ async restoreAuthoritativeCheckpoint(checkpoint) {
2021
+ if (!this.terminal || !this.isReady()) {
2022
+ throw new Error('Cannot restore a checkpoint before initialization completes');
2023
+ }
2024
+ if (checkpoint.formatVersion !== 1
2025
+ || checkpoint.engineId !== 'floegence-ghostty-web'
2026
+ || !Number.isSafeInteger(checkpoint.coveredThroughSequence)
2027
+ || checkpoint.coveredThroughSequence <= 0
2028
+ || !Number.isSafeInteger(checkpoint.geometryGeneration)
2029
+ || checkpoint.geometryGeneration <= 0
2030
+ || !Number.isSafeInteger(checkpoint.parserEpoch)
2031
+ || checkpoint.parserEpoch <= 0
2032
+ || !Number.isSafeInteger(checkpoint.cols)
2033
+ || checkpoint.cols <= 0
2034
+ || !Number.isSafeInteger(checkpoint.rows)
2035
+ || checkpoint.rows <= 0
2036
+ || !(checkpoint.bytes instanceof Uint8Array)
2037
+ || checkpoint.bytes.byteLength === 0
2038
+ || !/^[0-9a-f]{64}$/.test(checkpoint.stateDigestSha256)) {
2039
+ throw new Error('Invalid authoritative terminal checkpoint metadata');
2040
+ }
2041
+ const terminalAny = this.terminal;
2042
+ const wasmTerm = terminalAny.wasmTerm;
2043
+ if (!wasmTerm
2044
+ || typeof wasmTerm.validateCheckpoint !== 'function'
2045
+ || typeof wasmTerm.restoreCheckpoint !== 'function'
2046
+ || typeof wasmTerm.getStateDigest !== 'function') {
2047
+ throw new Error('Published Ghostty terminal checkpoint API is unavailable');
2048
+ }
2049
+ if (terminalAny.cols !== checkpoint.cols || terminalAny.rows !== checkpoint.rows) {
2050
+ throw new Error('Terminal geometry does not match authoritative checkpoint');
2051
+ }
2052
+ const bytes = checkpoint.bytes.slice();
2053
+ if (await sha256Hex(bytes) !== checkpoint.checksumSha256) {
2054
+ throw new Error('Authoritative terminal checkpoint checksum mismatch');
2055
+ }
2056
+ const coordinates = {
2057
+ historySequence: BigInt(checkpoint.coveredThroughSequence),
2058
+ geometryGeneration: BigInt(checkpoint.geometryGeneration),
2059
+ parserEpoch: BigInt(checkpoint.parserEpoch),
2060
+ };
2061
+ const metadata = wasmTerm.validateCheckpoint(bytes);
2062
+ if (metadata.formatVersion !== checkpoint.formatVersion
2063
+ || metadata.cols !== checkpoint.cols
2064
+ || metadata.rows !== checkpoint.rows
2065
+ || metadata.historySequence !== coordinates.historySequence
2066
+ || metadata.geometryGeneration !== coordinates.geometryGeneration
2067
+ || metadata.parserEpoch !== coordinates.parserEpoch) {
2068
+ throw new Error('Authoritative terminal checkpoint coordinates do not match');
2069
+ }
2070
+ wasmTerm.restoreCheckpoint(bytes, coordinates);
2071
+ if (wasmTerm.getStateDigest() !== checkpoint.stateDigestSha256) {
2072
+ throw new Error('Authoritative terminal checkpoint state digest mismatch');
2073
+ }
2074
+ this.needsFullRenderOnNextWrite = true;
2075
+ this.forceFullRender();
2076
+ await this.forceResizeAndWaitForCommittedFrame();
2077
+ }
1998
2078
  getResourceEstimate() {
1999
2079
  const wasmMemoryBytes = this.ownedRuntimeMemory?.buffer.byteLength ?? 0;
2000
2080
  if (wasmMemoryBytes <= 0) {
@@ -2462,7 +2542,7 @@ export class TerminalCore {
2462
2542
  sm.selectionEnd = { col: endCol, absoluteRow: match.row };
2463
2543
  sm.markCurrentSelectionDirty?.();
2464
2544
  sm.selectionChangedEmitter?.fire?.();
2465
- // ghostty-web 不会因为 selection change 自动触发 render;主动刷新以保证 UI(按钮/快捷键)操作立即可见。
2545
+ // @floegence/ghostty-web 不会因为 selection change 自动触发 render;主动刷新以保证 UI(按钮/快捷键)操作立即可见。
2466
2546
  this.forceFullRender();
2467
2547
  return;
2468
2548
  }
@@ -2487,7 +2567,7 @@ export class TerminalCore {
2487
2567
  catch {
2488
2568
  }
2489
2569
  }
2490
- // ghostty-web 不会因为 clearSelection 自动触发 render;主动刷新以清除残留高亮。
2570
+ // @floegence/ghostty-web 不会因为 clearSelection 自动触发 render;主动刷新以清除残留高亮。
2491
2571
  this.forceFullRender();
2492
2572
  }
2493
2573
  patchSearchSelectionManager(sm) {
@@ -2537,7 +2617,7 @@ export class TerminalCore {
2537
2617
  };
2538
2618
  }
2539
2619
  applyRendererTheme(terminalAny, theme) {
2540
- // ghostty-web emits a warning when mutating options.theme after open().
2620
+ // @floegence/ghostty-web emits a warning when mutating options.theme after open().
2541
2621
  // Apply theme directly to the renderer to avoid noisy console output.
2542
2622
  if (!terminalAny.isOpen && this.terminal) {
2543
2623
  this.terminal.options.theme = theme;