@floegence/floeterm-terminal-web 0.14.0 → 0.15.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 (156) hide show
  1. package/README.md +78 -445
  2. package/dist/core/TerminalInputBridge.d.ts +7 -3
  3. package/dist/core/TerminalInputBridge.d.ts.map +1 -1
  4. package/dist/core/TerminalInputBridge.js +63 -4
  5. package/dist/core/TerminalInputBridge.js.map +1 -1
  6. package/dist/entries/live.d.ts +4 -4
  7. package/dist/entries/live.d.ts.map +1 -1
  8. package/dist/entries/live.js +2 -2
  9. package/dist/entries/live.js.map +1 -1
  10. package/dist/entries/semantic.d.ts +9 -0
  11. package/dist/entries/semantic.d.ts.map +1 -0
  12. package/dist/entries/semantic.js +5 -0
  13. package/dist/entries/semantic.js.map +1 -0
  14. package/dist/entries/sessions.d.ts +1 -1
  15. package/dist/entries/sessions.d.ts.map +1 -1
  16. package/dist/index.d.ts +4 -26
  17. package/dist/index.d.ts.map +1 -1
  18. package/dist/index.js +3 -16
  19. package/dist/index.js.map +1 -1
  20. package/dist/live/client.d.ts +4 -6
  21. package/dist/live/client.d.ts.map +1 -1
  22. package/dist/live/client.js +19 -72
  23. package/dist/live/client.js.map +1 -1
  24. package/dist/live/codec.d.ts +8 -21
  25. package/dist/live/codec.d.ts.map +1 -1
  26. package/dist/live/codec.js +79 -111
  27. package/dist/live/codec.js.map +1 -1
  28. package/dist/live/transport.d.ts +38 -18
  29. package/dist/live/transport.d.ts.map +1 -1
  30. package/dist/live/transport.js +59 -133
  31. package/dist/live/transport.js.map +1 -1
  32. package/dist/semantic/RendererSurface.d.ts +65 -0
  33. package/dist/semantic/RendererSurface.d.ts.map +1 -0
  34. package/dist/semantic/RendererSurface.js +566 -0
  35. package/dist/semantic/RendererSurface.js.map +1 -0
  36. package/dist/semantic/presentation.d.ts +97 -0
  37. package/dist/semantic/presentation.d.ts.map +1 -0
  38. package/dist/semantic/presentation.js +102 -0
  39. package/dist/semantic/presentation.js.map +1 -0
  40. package/dist/types.d.ts +13 -494
  41. package/dist/types.d.ts.map +1 -1
  42. package/dist/types.js +1 -37
  43. package/dist/types.js.map +1 -1
  44. package/package.json +11 -19
  45. package/dist/checkpoint/GhosttyCheckpoint.worker.d.ts +0 -2
  46. package/dist/checkpoint/GhosttyCheckpoint.worker.d.ts.map +0 -1
  47. package/dist/checkpoint/GhosttyCheckpoint.worker.js +0 -9
  48. package/dist/checkpoint/GhosttyCheckpoint.worker.js.map +0 -1
  49. package/dist/checkpoint/GhosttyCheckpointActor.d.ts +0 -44
  50. package/dist/checkpoint/GhosttyCheckpointActor.d.ts.map +0 -1
  51. package/dist/checkpoint/GhosttyCheckpointActor.js +0 -284
  52. package/dist/checkpoint/GhosttyCheckpointActor.js.map +0 -1
  53. package/dist/checkpoint/GhosttyCheckpointEngine.d.ts +0 -62
  54. package/dist/checkpoint/GhosttyCheckpointEngine.d.ts.map +0 -1
  55. package/dist/checkpoint/GhosttyCheckpointEngine.js +0 -175
  56. package/dist/checkpoint/GhosttyCheckpointEngine.js.map +0 -1
  57. package/dist/checkpoint/GhosttyCheckpointWorkerRuntime.d.ts +0 -31
  58. package/dist/checkpoint/GhosttyCheckpointWorkerRuntime.d.ts.map +0 -1
  59. package/dist/checkpoint/GhosttyCheckpointWorkerRuntime.js +0 -112
  60. package/dist/checkpoint/GhosttyCheckpointWorkerRuntime.js.map +0 -1
  61. package/dist/core/PagedTerminalOutputCoordinator.d.ts +0 -130
  62. package/dist/core/PagedTerminalOutputCoordinator.d.ts.map +0 -1
  63. package/dist/core/PagedTerminalOutputCoordinator.js +0 -1197
  64. package/dist/core/PagedTerminalOutputCoordinator.js.map +0 -1
  65. package/dist/core/TerminalCore.d.ts +0 -286
  66. package/dist/core/TerminalCore.d.ts.map +0 -1
  67. package/dist/core/TerminalCore.js +0 -3566
  68. package/dist/core/TerminalCore.js.map +0 -1
  69. package/dist/core/TerminalOutputPipeline.d.ts +0 -86
  70. package/dist/core/TerminalOutputPipeline.d.ts.map +0 -1
  71. package/dist/core/TerminalOutputPipeline.js +0 -511
  72. package/dist/core/TerminalOutputPipeline.js.map +0 -1
  73. package/dist/core/TerminalRenderScheduler.d.ts +0 -45
  74. package/dist/core/TerminalRenderScheduler.d.ts.map +0 -1
  75. package/dist/core/TerminalRenderScheduler.js +0 -145
  76. package/dist/core/TerminalRenderScheduler.js.map +0 -1
  77. package/dist/core/TerminalScrollbarOverlay.d.ts +0 -63
  78. package/dist/core/TerminalScrollbarOverlay.d.ts.map +0 -1
  79. package/dist/core/TerminalScrollbarOverlay.js +0 -493
  80. package/dist/core/TerminalScrollbarOverlay.js.map +0 -1
  81. package/dist/entries/history.d.ts +0 -4
  82. package/dist/entries/history.d.ts.map +0 -1
  83. package/dist/entries/history.js +0 -2
  84. package/dist/entries/history.js.map +0 -1
  85. package/dist/entries/preload.d.ts +0 -3
  86. package/dist/entries/preload.d.ts.map +0 -1
  87. package/dist/entries/preload.js +0 -2
  88. package/dist/entries/preload.js.map +0 -1
  89. package/dist/fabric/BeamtermFabricRenderer.d.ts +0 -67
  90. package/dist/fabric/BeamtermFabricRenderer.d.ts.map +0 -1
  91. package/dist/fabric/BeamtermFabricRenderer.js +0 -659
  92. package/dist/fabric/BeamtermFabricRenderer.js.map +0 -1
  93. package/dist/fabric/TerminalFabricCoordinator.d.ts +0 -40
  94. package/dist/fabric/TerminalFabricCoordinator.d.ts.map +0 -1
  95. package/dist/fabric/TerminalFabricCoordinator.js +0 -141
  96. package/dist/fabric/TerminalFabricCoordinator.js.map +0 -1
  97. package/dist/fabric/TerminalLiveFabric.d.ts +0 -44
  98. package/dist/fabric/TerminalLiveFabric.d.ts.map +0 -1
  99. package/dist/fabric/TerminalLiveFabric.js +0 -117
  100. package/dist/fabric/TerminalLiveFabric.js.map +0 -1
  101. package/dist/fabric/types.d.ts +0 -152
  102. package/dist/fabric/types.d.ts.map +0 -1
  103. package/dist/fabric/types.js +0 -2
  104. package/dist/fabric/types.js.map +0 -1
  105. package/dist/internal/BeamtermResourceLoader.d.ts +0 -3
  106. package/dist/internal/BeamtermResourceLoader.d.ts.map +0 -1
  107. package/dist/internal/BeamtermResourceLoader.js +0 -14
  108. package/dist/internal/BeamtermResourceLoader.js.map +0 -1
  109. package/dist/internal/GhosttyCompatibilityVersion.d.ts +0 -2
  110. package/dist/internal/GhosttyCompatibilityVersion.d.ts.map +0 -1
  111. package/dist/internal/GhosttyCompatibilityVersion.js +0 -2
  112. package/dist/internal/GhosttyCompatibilityVersion.js.map +0 -1
  113. package/dist/internal/GhosttyScrollbackCompat.d.ts +0 -16
  114. package/dist/internal/GhosttyScrollbackCompat.d.ts.map +0 -1
  115. package/dist/internal/GhosttyScrollbackCompat.js +0 -43
  116. package/dist/internal/GhosttyScrollbackCompat.js.map +0 -1
  117. package/dist/internal/GhosttyScrollbarCompat.d.ts +0 -12
  118. package/dist/internal/GhosttyScrollbarCompat.d.ts.map +0 -1
  119. package/dist/internal/GhosttyScrollbarCompat.js +0 -160
  120. package/dist/internal/GhosttyScrollbarCompat.js.map +0 -1
  121. package/dist/internal/SequenceBuffer.d.ts +0 -19
  122. package/dist/internal/SequenceBuffer.d.ts.map +0 -1
  123. package/dist/internal/SequenceBuffer.js +0 -83
  124. package/dist/internal/SequenceBuffer.js.map +0 -1
  125. package/dist/internal/TerminalInitializationScheduler.d.ts +0 -38
  126. package/dist/internal/TerminalInitializationScheduler.d.ts.map +0 -1
  127. package/dist/internal/TerminalInitializationScheduler.js +0 -112
  128. package/dist/internal/TerminalInitializationScheduler.js.map +0 -1
  129. package/dist/internal/TerminalResourceLoader.d.ts +0 -40
  130. package/dist/internal/TerminalResourceLoader.d.ts.map +0 -1
  131. package/dist/internal/TerminalResourceLoader.js +0 -165
  132. package/dist/internal/TerminalResourceLoader.js.map +0 -1
  133. package/dist/internal/UnicodeSafeUrlProvider.d.ts +0 -17
  134. package/dist/internal/UnicodeSafeUrlProvider.d.ts.map +0 -1
  135. package/dist/internal/UnicodeSafeUrlProvider.js +0 -32
  136. package/dist/internal/UnicodeSafeUrlProvider.js.map +0 -1
  137. package/dist/internal/scheduleUiTurn.d.ts +0 -5
  138. package/dist/internal/scheduleUiTurn.d.ts.map +0 -1
  139. package/dist/internal/scheduleUiTurn.js +0 -37
  140. package/dist/internal/scheduleUiTurn.js.map +0 -1
  141. package/dist/manager/TerminalInstanceController.d.ts +0 -88
  142. package/dist/manager/TerminalInstanceController.d.ts.map +0 -1
  143. package/dist/manager/TerminalInstanceController.js +0 -1076
  144. package/dist/manager/TerminalInstanceController.js.map +0 -1
  145. package/dist/utils/errors.d.ts +0 -3
  146. package/dist/utils/errors.d.ts.map +0 -1
  147. package/dist/utils/errors.js +0 -11
  148. package/dist/utils/errors.js.map +0 -1
  149. package/dist/utils/history.d.ts +0 -2
  150. package/dist/utils/history.d.ts.map +0 -1
  151. package/dist/utils/history.js +0 -12
  152. package/dist/utils/history.js.map +0 -1
  153. package/dist/utils/xtermAutoResponseFilter.d.ts +0 -2
  154. package/dist/utils/xtermAutoResponseFilter.d.ts.map +0 -1
  155. package/dist/utils/xtermAutoResponseFilter.js +0 -109
  156. package/dist/utils/xtermAutoResponseFilter.js.map +0 -1
@@ -1,165 +0,0 @@
1
- import { noopLogger } from '../utils/logger.js';
2
- import { loadBeamtermModule } from './BeamtermResourceLoader.js';
3
- import { EXPECTED_GHOSTTY_WEB_COMPAT_VERSION } from './GhosttyCompatibilityVersion.js';
4
- import { terminalInitializationScheduler, } from './TerminalInitializationScheduler.js';
5
- const REQUIRED_GHOSTTY_EXPORTS = [
6
- 'Terminal',
7
- 'FitAddon',
8
- 'LinkDetector',
9
- 'OSC8LinkProvider',
10
- 'UrlRegexProvider',
11
- 'Ghostty',
12
- ];
13
- export const resolveGhosttyRuntime = (module) => {
14
- for (const exportName of REQUIRED_GHOSTTY_EXPORTS) {
15
- if (typeof module[exportName] !== 'function') {
16
- throw new Error(`@floegence/ghostty-web is missing the required ${exportName} export`);
17
- }
18
- }
19
- return module;
20
- };
21
- const abortError = () => {
22
- if (typeof DOMException !== 'undefined')
23
- return new DOMException('Operation aborted', 'AbortError');
24
- const error = new Error('Operation aborted');
25
- error.name = 'AbortError';
26
- return error;
27
- };
28
- export const waitWithAbort = (promise, signal) => {
29
- if (!signal)
30
- return promise;
31
- if (signal.aborted)
32
- return Promise.reject(abortError());
33
- return new Promise((resolve, reject) => {
34
- const onAbort = () => reject(abortError());
35
- signal.addEventListener('abort', onAbort, { once: true });
36
- promise.then(value => {
37
- signal.removeEventListener('abort', onAbort);
38
- resolve(value);
39
- }, error => {
40
- signal.removeEventListener('abort', onAbort);
41
- reject(error);
42
- });
43
- });
44
- };
45
- const runtimeMemoryCompatibilityError = () => new Error(`@floegence/ghostty-web@${EXPECTED_GHOSTTY_WEB_COMPAT_VERSION} compatibility check failed: `
46
- + 'the owned Ghostty runtime does not expose a WebAssembly.Memory at "memory"; '
47
- + 'review or remove the version-bound compatibility adapters before changing @floegence/ghostty-web');
48
- export const inspectGhosttyRuntimeMemory = (runtime) => {
49
- let memory;
50
- try {
51
- memory = Reflect.get(runtime, 'memory');
52
- }
53
- catch {
54
- throw runtimeMemoryCompatibilityError();
55
- }
56
- if (typeof WebAssembly === 'undefined' || !(memory instanceof WebAssembly.Memory)) {
57
- throw runtimeMemoryCompatibilityError();
58
- }
59
- return memory;
60
- };
61
- export class GhosttyResourceLoader {
62
- constructor(importModule = () => import('@floegence/ghostty-web'), scheduler = terminalInitializationScheduler) {
63
- this.importModule = importModule;
64
- this.scheduler = scheduler;
65
- this.module = null;
66
- this.modulePromise = null;
67
- this.reservation = null;
68
- }
69
- async loadModules(logger, signal) {
70
- await waitWithAbort(this.loadModule(logger), signal);
71
- }
72
- async acquireRuntime(logger) {
73
- const reservation = this.reservation;
74
- if (reservation) {
75
- this.reservation = null;
76
- logger.debug('[TerminalCore] Consuming preloaded @floegence/ghostty-web WASM runtime');
77
- return reservation.promise;
78
- }
79
- const module = await this.loadModule(logger);
80
- logger.debug('[TerminalCore] Creating isolated @floegence/ghostty-web WASM runtime');
81
- return module.Ghostty.load();
82
- }
83
- preloadRuntime(logger) {
84
- if (this.reservation)
85
- return this.reservation.promise;
86
- const request = this.scheduler.request('background');
87
- const loadPromise = (async () => {
88
- const permit = await request.permit;
89
- if (!permit) {
90
- throw new Error('@floegence/ghostty-web runtime preload was cancelled before it started');
91
- }
92
- try {
93
- const module = await this.loadModule(logger);
94
- logger.debug('[TerminalCore] Preloading one isolated @floegence/ghostty-web WASM runtime');
95
- return await module.Ghostty.load();
96
- }
97
- finally {
98
- permit.release();
99
- }
100
- })();
101
- const promise = loadPromise.catch((error) => {
102
- if (this.reservation?.promise === promise) {
103
- this.reservation = null;
104
- }
105
- throw error;
106
- });
107
- const reservation = { promise };
108
- this.reservation = reservation;
109
- return reservation.promise;
110
- }
111
- getTerminalConstructor() {
112
- return this.module?.Terminal ?? null;
113
- }
114
- getFitAddonConstructor() {
115
- return this.module?.FitAddon ?? null;
116
- }
117
- getLinkConstructors() {
118
- if (!this.module) {
119
- throw new Error('Required @floegence/ghostty-web link providers not loaded');
120
- }
121
- return {
122
- LinkDetector: this.module.LinkDetector,
123
- OSC8LinkProvider: this.module.OSC8LinkProvider,
124
- UrlRegexProvider: this.module.UrlRegexProvider,
125
- };
126
- }
127
- loadModule(logger) {
128
- if (typeof window === 'undefined') {
129
- return Promise.reject(new Error('@floegence/ghostty-web can only be loaded in a browser environment'));
130
- }
131
- if (this.module)
132
- return Promise.resolve(this.module);
133
- if (!this.modulePromise) {
134
- logger.debug('[TerminalCore] Loading @floegence/ghostty-web module');
135
- const modulePromise = this.importModule()
136
- .then(resolveGhosttyRuntime)
137
- .then(module => {
138
- this.module = module;
139
- return module;
140
- })
141
- .catch((error) => {
142
- this.module = null;
143
- if (this.modulePromise === modulePromise)
144
- this.modulePromise = null;
145
- throw error;
146
- });
147
- this.modulePromise = modulePromise;
148
- }
149
- return this.modulePromise;
150
- }
151
- }
152
- const ghosttyResourceLoader = new GhosttyResourceLoader();
153
- export const loadGhosttyModules = (logger, signal) => (ghosttyResourceLoader.loadModules(logger, signal));
154
- export const acquireGhosttyRuntime = (logger) => (ghosttyResourceLoader.acquireRuntime(logger));
155
- export const getGhosttyTerminalConstructor = () => (ghosttyResourceLoader.getTerminalConstructor());
156
- export const getGhosttyFitAddonConstructor = () => (ghosttyResourceLoader.getFitAddonConstructor());
157
- export const getGhosttyLinkConstructors = () => ghosttyResourceLoader.getLinkConstructors();
158
- export const preloadTerminalResources = async (options = {}) => {
159
- const resources = Promise.all([
160
- ghosttyResourceLoader.preloadRuntime(options.logger ?? noopLogger),
161
- loadBeamtermModule(),
162
- ]).then(() => undefined);
163
- await waitWithAbort(resources, options.signal);
164
- };
165
- //# sourceMappingURL=TerminalResourceLoader.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TerminalResourceLoader.js","sourceRoot":"","sources":["../../src/internal/TerminalResourceLoader.ts"],"names":[],"mappings":"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"}
@@ -1,17 +0,0 @@
1
- type UrlProviderCell = {
2
- getCodepoint(): number;
3
- };
4
- type UrlProviderLine = {
5
- readonly length: number;
6
- getCell(column: number): UrlProviderCell | undefined;
7
- };
8
- export type UrlProviderTerminal = {
9
- readonly buffer: {
10
- readonly active: {
11
- getLine(row: number): UrlProviderLine | undefined;
12
- };
13
- };
14
- };
15
- export declare const createUnicodeSafeUrlProviderTerminal: (terminal: UrlProviderTerminal) => UrlProviderTerminal;
16
- export {};
17
- //# sourceMappingURL=UnicodeSafeUrlProvider.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"UnicodeSafeUrlProvider.d.ts","sourceRoot":"","sources":["../../src/internal/UnicodeSafeUrlProvider.ts"],"names":[],"mappings":"AAAA,KAAK,eAAe,GAAG;IACrB,YAAY,IAAI,MAAM,CAAC;CACxB,CAAC;AAEF,KAAK,eAAe,GAAG;IACrB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS,CAAC;CACtD,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,CAAC,MAAM,EAAE;QACf,QAAQ,CAAC,MAAM,EAAE;YACf,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS,CAAC;SACnD,CAAC;KACH,CAAC;CACH,CAAC;AASF,eAAO,MAAM,oCAAoC,GAC/C,UAAU,mBAAmB,KAC5B,mBAyBD,CAAC"}
@@ -1,32 +0,0 @@
1
- const isUnicodeScalar = (codepoint) => (Number.isInteger(codepoint)
2
- && codepoint >= 0
3
- && codepoint <= 0x10ffff
4
- && (codepoint < 0xd800 || codepoint > 0xdfff));
5
- export const createUnicodeSafeUrlProviderTerminal = (terminal) => ({
6
- buffer: {
7
- active: {
8
- getLine(row) {
9
- const line = terminal.buffer.active.getLine(row);
10
- if (!line)
11
- return undefined;
12
- return {
13
- length: line.length,
14
- getCell(column) {
15
- const cell = line.getCell(column);
16
- if (!cell)
17
- return undefined;
18
- return {
19
- getCodepoint() {
20
- const codepoint = cell.getCodepoint();
21
- if (!isUnicodeScalar(codepoint))
22
- return 0;
23
- return codepoint <= 0xffff ? codepoint : 0xfffd;
24
- },
25
- };
26
- },
27
- };
28
- },
29
- },
30
- },
31
- });
32
- //# sourceMappingURL=UnicodeSafeUrlProvider.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"UnicodeSafeUrlProvider.js","sourceRoot":"","sources":["../../src/internal/UnicodeSafeUrlProvider.ts"],"names":[],"mappings":"AAiBA,MAAM,eAAe,GAAG,CAAC,SAAiB,EAAW,EAAE,CAAC,CACtD,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC;OACxB,SAAS,IAAI,CAAC;OACd,SAAS,IAAI,QAAQ;OACrB,CAAC,SAAS,GAAG,MAAM,IAAI,SAAS,GAAG,MAAM,CAAC,CAC9C,CAAC;AAEF,MAAM,CAAC,MAAM,oCAAoC,GAAG,CAClD,QAA6B,EACR,EAAE,CAAC,CAAC;IACzB,MAAM,EAAE;QACN,MAAM,EAAE;YACN,OAAO,CAAC,GAAG;gBACT,MAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;gBACjD,IAAI,CAAC,IAAI;oBAAE,OAAO,SAAS,CAAC;gBAE5B,OAAO;oBACL,MAAM,EAAE,IAAI,CAAC,MAAM;oBACnB,OAAO,CAAC,MAAM;wBACZ,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;wBAClC,IAAI,CAAC,IAAI;4BAAE,OAAO,SAAS,CAAC;wBAE5B,OAAO;4BACL,YAAY;gCACV,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;gCACtC,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC;oCAAE,OAAO,CAAC,CAAC;gCAC1C,OAAO,SAAS,IAAI,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC;4BAClD,CAAC;yBACF,CAAC;oBACJ,CAAC;iBACF,CAAC;YACJ,CAAC;SACF;KACF;CACF,CAAC,CAAC"}
@@ -1,5 +0,0 @@
1
- export type ScheduledTurnCancel = () => void;
2
- export type ScheduleTurn = (callback: () => void) => void;
3
- export declare const scheduleUiTurn: (callback: () => void) => ScheduledTurnCancel;
4
- export declare const scheduleNextFrame: ScheduleTurn;
5
- //# sourceMappingURL=scheduleUiTurn.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"scheduleUiTurn.d.ts","sourceRoot":"","sources":["../../src/internal/scheduleUiTurn.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,mBAAmB,GAAG,MAAM,IAAI,CAAC;AAC7C,MAAM,MAAM,YAAY,GAAG,CAAC,QAAQ,EAAE,MAAM,IAAI,KAAK,IAAI,CAAC;AAI1D,eAAO,MAAM,cAAc,GAAI,UAAU,MAAM,IAAI,KAAG,mBAiCrD,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,YAE/B,CAAC"}
@@ -1,37 +0,0 @@
1
- const NEXT_FRAME_FALLBACK_MS = 32;
2
- export const scheduleUiTurn = (callback) => {
3
- let completed = false;
4
- let rafId = null;
5
- let timeoutId = null;
6
- const run = () => {
7
- if (completed) {
8
- return;
9
- }
10
- completed = true;
11
- if (timeoutId !== null) {
12
- clearTimeout(timeoutId);
13
- timeoutId = null;
14
- }
15
- callback();
16
- };
17
- if (typeof requestAnimationFrame === 'function') {
18
- rafId = requestAnimationFrame(run);
19
- timeoutId = setTimeout(run, NEXT_FRAME_FALLBACK_MS);
20
- }
21
- else {
22
- timeoutId = setTimeout(run, 0);
23
- }
24
- return () => {
25
- completed = true;
26
- if (rafId !== null && typeof cancelAnimationFrame === 'function') {
27
- cancelAnimationFrame(rafId);
28
- }
29
- if (timeoutId !== null) {
30
- clearTimeout(timeoutId);
31
- }
32
- };
33
- };
34
- export const scheduleNextFrame = callback => {
35
- scheduleUiTurn(callback);
36
- };
37
- //# sourceMappingURL=scheduleUiTurn.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"scheduleUiTurn.js","sourceRoot":"","sources":["../../src/internal/scheduleUiTurn.ts"],"names":[],"mappings":"AAGA,MAAM,sBAAsB,GAAG,EAAE,CAAC;AAElC,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,QAAoB,EAAuB,EAAE;IAC1E,IAAI,SAAS,GAAG,KAAK,CAAC;IACtB,IAAI,KAAK,GAAkB,IAAI,CAAC;IAChC,IAAI,SAAS,GAAyC,IAAI,CAAC;IAE3D,MAAM,GAAG,GAAG,GAAG,EAAE;QACf,IAAI,SAAS,EAAE,CAAC;YACd,OAAO;QACT,CAAC;QACD,SAAS,GAAG,IAAI,CAAC;QACjB,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;YACvB,YAAY,CAAC,SAAS,CAAC,CAAC;YACxB,SAAS,GAAG,IAAI,CAAC;QACnB,CAAC;QACD,QAAQ,EAAE,CAAC;IACb,CAAC,CAAC;IAEF,IAAI,OAAO,qBAAqB,KAAK,UAAU,EAAE,CAAC;QAChD,KAAK,GAAG,qBAAqB,CAAC,GAAG,CAAC,CAAC;QACnC,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE,sBAAsB,CAAC,CAAC;IACtD,CAAC;SAAM,CAAC;QACN,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IACjC,CAAC;IAED,OAAO,GAAG,EAAE;QACV,SAAS,GAAG,IAAI,CAAC;QACjB,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,oBAAoB,KAAK,UAAU,EAAE,CAAC;YACjE,oBAAoB,CAAC,KAAK,CAAC,CAAC;QAC9B,CAAC;QACD,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;YACvB,YAAY,CAAC,SAAS,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAiB,QAAQ,CAAC,EAAE;IACxD,cAAc,CAAC,QAAQ,CAAC,CAAC;AAC3B,CAAC,CAAC"}
@@ -1,88 +0,0 @@
1
- import { type TerminalConnectionController, type TerminalCoreLike, type TerminalInstanceController, type TerminalInstanceListener, type TerminalInstanceMutableOptions, type TerminalInstanceOptions, type TerminalInstanceSnapshot, type TerminalManagerActions } from '../types.js';
2
- export declare class FrameworkNeutralTerminalInstanceController implements TerminalInstanceController {
3
- private options;
4
- private readonly logger;
5
- private readonly scheduler;
6
- private readonly listeners;
7
- private container;
8
- private terminalCore;
9
- private isInitializing;
10
- private terminalDataUnsubscribe;
11
- private terminalGeometryUnsubscribe;
12
- private lastGeometryGeneration;
13
- private pendingGeometryEvents;
14
- private checkpointActor;
15
- private checkpointActorTail;
16
- private checkpointBytesSinceCommit;
17
- private checkpointActorGeneration;
18
- private sequenceBuffer;
19
- private replayCompleteReceived;
20
- private isReplayActive;
21
- private lastAppliedSequence;
22
- private loadingState;
23
- private loadingMessage;
24
- private connectionState;
25
- private connectionError;
26
- private retryCount;
27
- private connectGeneration;
28
- private resizeGeneration;
29
- private retryTimeout;
30
- private initializationAbortController;
31
- private queueRetryTimeout;
32
- private state;
33
- private dimensions;
34
- private dataQueue;
35
- private isProcessing;
36
- private queueGeneration;
37
- private flushRaf;
38
- private flushMicrotaskScheduled;
39
- private flushMicrotaskGeneration;
40
- private immediateFlushEligible;
41
- private disposed;
42
- readonly actions: TerminalManagerActions;
43
- constructor(options: TerminalInstanceOptions);
44
- get connection(): TerminalConnectionController;
45
- mount(container: HTMLElement): Promise<void>;
46
- unmount(): void;
47
- dispose(): void;
48
- updateOptions(options: TerminalInstanceMutableOptions): void;
49
- getSnapshot(): TerminalInstanceSnapshot;
50
- subscribe(listener: TerminalInstanceListener): () => void;
51
- getCore(): TerminalCoreLike | null;
52
- private emit;
53
- private updateState;
54
- private setLoading;
55
- private setConnectionState;
56
- private setConnectionError;
57
- private createConnectionState;
58
- private resetSessionState;
59
- private handleStateChange;
60
- private handleResize;
61
- private handleError;
62
- private handleUserInput;
63
- private scheduleFocus;
64
- private cleanupTerminal;
65
- private finishReplayIfIdle;
66
- private scheduleDataQueueFlush;
67
- private cancelDataQueueFlush;
68
- private processDataQueue;
69
- private addChunkToQueue;
70
- private applyCoreAppearance;
71
- private scheduleInitialize;
72
- private initializeTerminal;
73
- private connectToSession;
74
- private recoverAtomicHistory;
75
- private configureCheckpointActor;
76
- private scheduleCheckpointChunks;
77
- private disableCheckpointActor;
78
- private disposeCheckpointActor;
79
- private scheduleConnectionRetry;
80
- private clearRetryTimeout;
81
- private clearQueueRetryTimeout;
82
- private subscribeToTerminalData;
83
- private subscribeToTerminalGeometry;
84
- private applyPendingGeometryEvents;
85
- private reinitialize;
86
- }
87
- export declare const createTerminalInstance: (options: TerminalInstanceOptions) => TerminalInstanceController;
88
- //# sourceMappingURL=TerminalInstanceController.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TerminalInstanceController.d.ts","sourceRoot":"","sources":["../../src/manager/TerminalInstanceController.ts"],"names":[],"mappings":"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"}