@opentui/core 0.4.1 → 0.4.2

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.
@@ -2,10 +2,9 @@ import type { RendererHandle, RenderLib } from "../zig.js";
2
2
  export declare enum ClipboardTarget {
3
3
  Clipboard = 0,
4
4
  Primary = 1,
5
- Secondary = 2,
6
- Query = 3
5
+ Select = 2,
6
+ Secondary = 3
7
7
  }
8
- export declare function encodeOsc52Payload(text: string, encoder?: TextEncoder): Uint8Array;
9
8
  export declare class Clipboard {
10
9
  private lib;
11
10
  private rendererPtr;
package/lib/index.d.ts CHANGED
@@ -18,4 +18,5 @@ export * from "./data-paths.js";
18
18
  export * from "./extmarks.js";
19
19
  export * from "./terminal-palette.js";
20
20
  export * from "./paste.js";
21
+ export * from "./clipboard.js";
21
22
  export { detectLinks } from "./detect-links.js";
package/package.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "main": "index.js",
5
5
  "types": "index.d.ts",
6
6
  "type": "module",
7
- "version": "0.4.1",
7
+ "version": "0.4.2",
8
8
  "description": "OpenTUI is a TypeScript library on a native Zig core for building terminal user interfaces (TUIs)",
9
9
  "license": "MIT",
10
10
  "repository": {
@@ -65,13 +65,13 @@
65
65
  "web-tree-sitter": "0.25.10"
66
66
  },
67
67
  "optionalDependencies": {
68
- "@opentui/core-darwin-x64": "0.4.1",
69
- "@opentui/core-darwin-arm64": "0.4.1",
70
- "@opentui/core-linux-x64": "0.4.1",
71
- "@opentui/core-linux-arm64": "0.4.1",
72
- "@opentui/core-win32-x64": "0.4.1",
73
- "@opentui/core-win32-arm64": "0.4.1",
74
- "@opentui/core-linux-x64-musl": "0.4.1",
75
- "@opentui/core-linux-arm64-musl": "0.4.1"
68
+ "@opentui/core-darwin-x64": "0.4.2",
69
+ "@opentui/core-darwin-arm64": "0.4.2",
70
+ "@opentui/core-linux-x64": "0.4.2",
71
+ "@opentui/core-linux-arm64": "0.4.2",
72
+ "@opentui/core-win32-x64": "0.4.2",
73
+ "@opentui/core-win32-arm64": "0.4.2",
74
+ "@opentui/core-linux-x64-musl": "0.4.2",
75
+ "@opentui/core-linux-arm64-musl": "0.4.2"
76
76
  }
77
77
  }
package/testing.js CHANGED
@@ -1,11 +1,11 @@
1
1
  import {
2
2
  ANSI,
3
3
  CliRenderer
4
- } from "./index-07zpr2dg.js";
4
+ } from "./index-6xr3rbbe.js";
5
5
  import {
6
6
  SystemClock,
7
7
  TreeSitterClient
8
- } from "./index-pcvh9d34.js";
8
+ } from "./index-x7n320jr.js";
9
9
 
10
10
  // src/testing/mock-keys.ts
11
11
  import { Buffer as Buffer2 } from "node:buffer";
@@ -792,6 +792,7 @@ function createTerminalCapabilities(overrides = {}) {
792
792
  bracketed_paste: false,
793
793
  hyperlinks: false,
794
794
  osc52: false,
795
+ osc52_support: "unknown",
795
796
  notifications: false,
796
797
  explicit_cursor_positioning: false,
797
798
  remote: false,
@@ -999,5 +1000,5 @@ export {
999
1000
  KeyCodes
1000
1001
  };
1001
1002
 
1002
- //# debugId=884B8CD1F6ACF7CC64756E2164756E21
1003
+ //# debugId=08D19767EB8430A064756E2164756E21
1003
1004
  //# sourceMappingURL=testing.js.map
package/testing.js.map CHANGED
@@ -7,12 +7,12 @@
7
7
  "import { Readable, Writable } from \"stream\"\n\nexport class TestWriteStream extends Writable {\n public readonly isTTY = true\n public readonly columns: number\n public readonly rows: number\n\n constructor(columns = 80, rows = 24) {\n super()\n this.columns = columns\n this.rows = rows\n }\n\n override _write(_chunk: any, _encoding: BufferEncoding, callback: (error?: Error | null) => void): void {\n callback()\n }\n\n getColorDepth(): number {\n return 24\n }\n}\n\nexport type TestStdout = TestWriteStream & NodeJS.WriteStream\n\nexport function createTestStdin(): NodeJS.ReadStream {\n return new Readable({ read() {} }) as NodeJS.ReadStream\n}\n\nexport function createTestStdout(columns = 80, rows = 24): NodeJS.WriteStream {\n return new TestWriteStream(columns, rows) as TestStdout\n}\n",
8
8
  "import {\n CliRenderer,\n CliRenderEvents,\n type CliRendererConfig,\n type CliRendererExternalOutputEvent,\n type CliRendererFrameEvent,\n} from \"../renderer.js\"\nimport type { NativeSpanFeed } from \"../NativeSpanFeed.js\"\nimport type { NativeRenderStats } from \"../zig.js\"\nimport { createMockKeys } from \"./mock-keys.js\"\nimport { createMockMouse } from \"./mock-mouse.js\"\nimport { createTestStdin, createTestStdout } from \"./test-streams.js\"\nimport type { CapturedFrame } from \"../types.js\"\n\nexport interface TestRendererOptions extends CliRendererConfig {\n width?: number\n height?: number\n kittyKeyboard?: boolean\n otherModifiersMode?: boolean\n}\nexport type TestRenderer = CliRenderer\nexport type MockInput = ReturnType<typeof createMockKeys>\nexport type MockMouse = ReturnType<typeof createMockMouse>\n\ntype RendererFeedAccess = {\n _feed?: NativeSpanFeed | null\n}\n\nexport interface TestFlushOptions {\n maxPasses?: number\n}\n\nexport interface TestVisualIdleOptions {\n quietFrames?: number\n maxFrames?: number\n}\n\nexport interface TestWaitForOptions {\n maxPasses?: number\n}\n\nexport interface TestExternalOutputCommit {\n text: string\n rows: string[]\n width: number\n height: number\n rowColumns: number\n startOnNewLine: boolean\n trailingNewline: boolean\n}\n\nexport interface TestExternalOutput {\n take(): TestExternalOutputCommit[]\n takeText(): string\n clear(): void\n}\n\nexport interface TestRendererSetup {\n renderer: TestRenderer\n mockInput: MockInput\n mockMouse: MockMouse\n renderOnce: () => Promise<void>\n flush: (options?: TestFlushOptions) => Promise<void>\n waitFor: (predicate: () => boolean | Promise<boolean>, options?: TestWaitForOptions) => Promise<void>\n waitForFrame: (\n predicate: (frame: string) => boolean | Promise<boolean>,\n options?: TestWaitForOptions,\n ) => Promise<string>\n waitForVisualIdle: (options?: TestVisualIdleOptions) => Promise<void>\n externalOutput: TestExternalOutput\n getNativeStats: () => NativeRenderStats\n captureCharFrame: () => string\n captureSpans: () => CapturedFrame\n resize: (width: number, height: number) => void\n}\n\nconst decoder = new TextDecoder()\nconst DEFAULT_MAX_PASSES = 20\nconst DEFAULT_MAX_VISUAL_IDLE_FRAMES = 20\nconst DEFAULT_QUIET_FRAMES = 1\n\nasync function drainImmediateWork(): Promise<void> {\n await Promise.resolve()\n await new Promise<void>((resolve) => process.nextTick(resolve))\n await Promise.resolve()\n}\n\nfunction normalizePositiveInteger(value: number | undefined, fallback: number): number {\n if (typeof value !== \"number\" || !Number.isFinite(value) || value <= 0) {\n return fallback\n }\n\n return Math.floor(value)\n}\n\nfunction createWaitError(renderer: TestRenderer, message: string, frame?: string): Error {\n const stats = renderer.getStats()\n const scheduler = renderer.getSchedulerState()\n const details = [\n message,\n `frameId: ${renderer.frameId}`,\n `nativeFrameCount: ${stats.nativeFrameCount}`,\n `cellsUpdated: ${stats.cellsUpdated}`,\n `isRunning: ${scheduler.isRunning}`,\n `isRendering: ${scheduler.isRendering}`,\n `hasScheduledRender: ${scheduler.hasScheduledRender}`,\n ]\n\n if (frame !== undefined) {\n details.push(`lastFrame:\\n${frame}`)\n }\n\n return new Error(details.join(\"\\n\"))\n}\n\nclass TestExternalOutputRecorder implements TestExternalOutput {\n private commits: TestExternalOutputCommit[] = []\n\n constructor(renderer: TestRenderer) {\n renderer.on(CliRenderEvents.EXTERNAL_OUTPUT, this.record)\n renderer.once(CliRenderEvents.DESTROY, () => {\n renderer.off(CliRenderEvents.EXTERNAL_OUTPUT, this.record)\n })\n }\n\n private record = (event: CliRendererExternalOutputEvent): void => {\n const raw = decoder.decode(event.snapshot.getRealCharBytes(false))\n const rows = Array.from({ length: event.snapshot.height }, (_, index) =>\n raw.slice(index * event.snapshot.width, (index + 1) * event.snapshot.width).trimEnd(),\n )\n\n this.commits.push({\n text: rows.join(\"\\n\"),\n rows,\n width: event.snapshot.width,\n height: event.snapshot.height,\n rowColumns: event.rowColumns,\n startOnNewLine: event.startOnNewLine,\n trailingNewline: event.trailingNewline,\n })\n }\n\n public take(): TestExternalOutputCommit[] {\n const commits = this.commits\n this.commits = []\n return commits\n }\n\n public takeText(): string {\n return this.take()\n .flatMap((commit) => commit.rows)\n .join(\"\\n\")\n }\n\n public clear(): void {\n this.commits = []\n }\n}\n\nfunction waitForNextFrameOrIdle(renderer: TestRenderer): Promise<CliRendererFrameEvent | null> {\n const scheduler = renderer.getSchedulerState()\n if (!scheduler.isRunning && !scheduler.isRendering && !scheduler.hasScheduledRender) {\n return Promise.resolve(null)\n }\n\n return new Promise((resolve) => {\n let settled = false\n\n const cleanup = () => {\n renderer.off(CliRenderEvents.FRAME, onFrame)\n renderer.off(CliRenderEvents.DESTROY, onDestroy)\n }\n\n const finish = (event: CliRendererFrameEvent | null) => {\n if (settled) return\n settled = true\n cleanup()\n resolve(event)\n }\n\n const onFrame = (event: CliRendererFrameEvent) => {\n finish(event)\n }\n\n const onDestroy = () => {\n finish(null)\n }\n\n renderer.on(CliRenderEvents.FRAME, onFrame)\n renderer.once(CliRenderEvents.DESTROY, onDestroy)\n\n if (!scheduler.isRunning) {\n renderer.idle().then(() => finish(null))\n }\n })\n}\n\nexport async function createTestRenderer(options: TestRendererOptions): Promise<TestRendererSetup> {\n // Convert legacy kittyKeyboard boolean to new format\n const useKittyKeyboard = options.kittyKeyboard ? { events: true } : options.useKittyKeyboard\n\n const renderer = await setupTestRenderer({\n ...options,\n useKittyKeyboard,\n screenMode: options.screenMode ?? \"main-screen\",\n footerHeight: options.footerHeight ?? 12,\n consoleMode: options.consoleMode ?? \"disabled\",\n externalOutputMode: options.externalOutputMode ?? \"passthrough\",\n })\n const externalOutput = new TestExternalOutputRecorder(renderer)\n\n const mockInput = createMockKeys(renderer, {\n kittyKeyboard: options.kittyKeyboard,\n otherModifiersMode: options.otherModifiersMode,\n })\n const mockMouse = createMockMouse(renderer)\n\n const renderOnce = async () => {\n const feed = (renderer as unknown as RendererFeedAccess)._feed\n if (feed?.isBackpressured()) {\n await feed.idle()\n }\n //@ts-expect-error - this is a test renderer\n await renderer.loop()\n }\n\n const captureCharFrame = () => {\n const currentBuffer = renderer.currentRenderBuffer\n const frameBytes = currentBuffer.getRealCharBytes(true)\n return decoder.decode(frameBytes)\n }\n\n const waitForVisualIdle = async (waitOptions: TestVisualIdleOptions = {}): Promise<void> => {\n const maxFrames = normalizePositiveInteger(waitOptions.maxFrames, DEFAULT_MAX_VISUAL_IDLE_FRAMES)\n const quietFrames = normalizePositiveInteger(waitOptions.quietFrames, DEFAULT_QUIET_FRAMES)\n let consecutiveQuietFrames = 0\n\n for (let frame = 0; frame < maxFrames; frame++) {\n await drainImmediateWork()\n\n const scheduler = renderer.getSchedulerState()\n if (!scheduler.isRunning && !scheduler.isRendering && !scheduler.hasScheduledRender) {\n return\n }\n\n const event = await waitForNextFrameOrIdle(renderer)\n if (!event) {\n return\n }\n\n if (renderer.getNativeStats().cellsUpdated === 0) {\n consecutiveQuietFrames++\n if (consecutiveQuietFrames >= quietFrames) {\n return\n }\n } else {\n consecutiveQuietFrames = 0\n }\n }\n\n await drainImmediateWork()\n const scheduler = renderer.getSchedulerState()\n if (!scheduler.isRunning && !scheduler.isRendering && !scheduler.hasScheduledRender) {\n return\n }\n\n throw createWaitError(renderer, `Timed out waiting for visual idle after ${maxFrames} frames`)\n }\n\n const flush = async (flushOptions: TestFlushOptions = {}): Promise<void> => {\n await waitForVisualIdle({ maxFrames: normalizePositiveInteger(flushOptions.maxPasses, DEFAULT_MAX_PASSES) })\n }\n\n const waitFor = async (\n predicate: () => boolean | Promise<boolean>,\n waitOptions: TestWaitForOptions = {},\n ): Promise<void> => {\n const maxPasses = normalizePositiveInteger(waitOptions.maxPasses, DEFAULT_MAX_PASSES)\n\n for (let pass = 0; pass <= maxPasses; pass++) {\n await drainImmediateWork()\n if (await predicate()) {\n return\n }\n\n if (pass === maxPasses) {\n break\n }\n\n const scheduler = renderer.getSchedulerState()\n if (!scheduler.isRunning && !scheduler.isRendering && !scheduler.hasScheduledRender) {\n break\n }\n\n await waitForNextFrameOrIdle(renderer)\n }\n\n throw createWaitError(renderer, `Timed out waiting for predicate after ${maxPasses} passes`)\n }\n\n const waitForFrame = async (\n predicate: (frame: string) => boolean | Promise<boolean>,\n waitOptions: TestWaitForOptions = {},\n ): Promise<string> => {\n const maxPasses = normalizePositiveInteger(waitOptions.maxPasses, DEFAULT_MAX_PASSES)\n let frame = captureCharFrame()\n\n for (let pass = 0; pass <= maxPasses; pass++) {\n await drainImmediateWork()\n frame = captureCharFrame()\n if (await predicate(frame)) {\n return frame\n }\n\n if (pass === maxPasses) {\n break\n }\n\n const scheduler = renderer.getSchedulerState()\n if (!scheduler.isRunning && !scheduler.isRendering && !scheduler.hasScheduledRender) {\n break\n }\n\n await waitForNextFrameOrIdle(renderer)\n }\n\n frame = captureCharFrame()\n throw createWaitError(renderer, `Timed out waiting for frame predicate after ${maxPasses} passes`, frame)\n }\n\n return {\n renderer,\n mockInput,\n mockMouse,\n renderOnce,\n flush,\n waitFor,\n waitForFrame,\n waitForVisualIdle,\n externalOutput,\n getNativeStats: () => renderer.getNativeStats(),\n captureCharFrame,\n captureSpans: () => {\n const currentBuffer = renderer.currentRenderBuffer\n const lines = currentBuffer.getSpanLines()\n const cursorState = renderer.getCursorState()\n return {\n cols: currentBuffer.width,\n rows: currentBuffer.height,\n cursor: [cursorState.x, cursorState.y] as [number, number],\n lines,\n }\n },\n resize: (width: number, height: number) => {\n //@ts-expect-error - this is a test renderer\n renderer.processResize(width, height)\n },\n }\n}\n\nasync function setupTestRenderer(config: TestRendererOptions) {\n const stdin = config.stdin || createTestStdin()\n const width = config.width || config.stdout?.columns || process.stdout.columns || 80\n const height = config.height || config.stdout?.rows || process.stdout.rows || 24\n const stdout = config.stdout || createTestStdout(width, height)\n\n // Direct construction skips setupTerminal(); native bytes are routed to an\n // explicit memory destination so tests do not depend on process stdout or feed\n // backpressure behavior. CliRenderer still owns native renderer creation and\n // applies the same useThread defaults as production construction.\n return new CliRenderer(stdin, stdout, width, height, {\n ...config,\n bufferedOutput: config.bufferedOutput ?? \"memory\",\n })\n}\n",
9
9
  "import { TreeSitterClient } from \"../lib/tree-sitter/index.js\"\nimport { SystemClock, type Clock, type TimerHandle } from \"../lib/clock.js\"\nimport type { SimpleHighlight } from \"../lib/tree-sitter/types.js\"\n\nexport class MockTreeSitterClient extends TreeSitterClient {\n private _highlightPromises: Array<{\n promise: Promise<{ highlights?: SimpleHighlight[]; warning?: string; error?: string }>\n resolve: (result: { highlights?: SimpleHighlight[]; warning?: string; error?: string }) => void\n timeout?: TimerHandle\n }> = []\n private _mockResult: { highlights?: SimpleHighlight[]; warning?: string; error?: string } = { highlights: [] }\n private _autoResolveTimeout?: number\n private readonly _clock: Clock\n\n constructor(options?: { autoResolveTimeout?: number; clock?: Clock }) {\n super({ dataPath: \"/tmp/mock\" }, { autoStartWorker: false })\n this._autoResolveTimeout = options?.autoResolveTimeout\n this._clock = options?.clock ?? new SystemClock()\n }\n\n override async destroy(): Promise<void> {\n this.resolveAllHighlightOnce()\n await super.destroy()\n }\n\n async highlightOnce(\n content: string,\n filetype: string,\n ): Promise<{ highlights?: SimpleHighlight[]; warning?: string; error?: string }> {\n const { promise, resolve } = Promise.withResolvers<{\n highlights?: SimpleHighlight[]\n warning?: string\n error?: string\n }>()\n\n let timeout: TimerHandle | undefined\n\n if (this._autoResolveTimeout !== undefined) {\n timeout = this._clock.setTimeout(() => {\n const index = this._highlightPromises.findIndex((p) => p.promise === promise)\n if (index !== -1) {\n resolve(this._mockResult)\n this._highlightPromises.splice(index, 1)\n }\n }, this._autoResolveTimeout)\n }\n\n this._highlightPromises.push({ promise, resolve, timeout })\n\n return promise\n }\n\n setMockResult(result: { highlights?: SimpleHighlight[]; warning?: string; error?: string }) {\n this._mockResult = result\n }\n\n resolveHighlightOnce(index: number = 0) {\n if (index >= 0 && index < this._highlightPromises.length) {\n const item = this._highlightPromises[index]\n if (item.timeout) {\n this._clock.clearTimeout(item.timeout)\n }\n item.resolve(this._mockResult)\n this._highlightPromises.splice(index, 1)\n }\n }\n\n resolveAllHighlightOnce() {\n for (const { resolve, timeout } of this._highlightPromises) {\n if (timeout) {\n this._clock.clearTimeout(timeout)\n }\n resolve(this._mockResult)\n }\n this._highlightPromises = []\n }\n\n isHighlighting(): boolean {\n return this._highlightPromises.length > 0\n }\n}\n",
10
- "import type { CliRenderer } from \"../renderer.js\"\nimport type { TerminalCapabilities, TerminalInfo } from \"../types.js\"\n\nexport interface TerminalCapabilitiesOverrides extends Partial<Omit<TerminalCapabilities, \"terminal\">> {\n terminal?: Partial<TerminalInfo>\n}\n\nexport function createTerminalCapabilities(overrides: TerminalCapabilitiesOverrides = {}): TerminalCapabilities {\n return {\n kitty_keyboard: false,\n kitty_graphics: false,\n rgb: false,\n ansi256: false,\n unicode: \"unicode\",\n sgr_pixels: false,\n color_scheme_updates: false,\n explicit_width: false,\n scaled_text: false,\n sixel: false,\n focus_tracking: false,\n sync: false,\n bracketed_paste: false,\n hyperlinks: false,\n osc52: false,\n notifications: false,\n explicit_cursor_positioning: false,\n remote: false,\n multiplexer: \"none\",\n ...overrides,\n terminal: {\n name: \"\",\n version: \"\",\n from_xtversion: false,\n ...overrides.terminal,\n },\n }\n}\n\nexport function setRendererCapabilities(\n renderer: CliRenderer,\n overrides: TerminalCapabilitiesOverrides = {},\n): TerminalCapabilities {\n const capabilities = createTerminalCapabilities(overrides)\n ;(renderer as unknown as { _capabilities: TerminalCapabilities })._capabilities = capabilities\n return capabilities\n}\n",
10
+ "import type { CliRenderer } from \"../renderer.js\"\nimport type { TerminalCapabilities, TerminalInfo } from \"../types.js\"\n\nexport interface TerminalCapabilitiesOverrides extends Partial<Omit<TerminalCapabilities, \"terminal\">> {\n terminal?: Partial<TerminalInfo>\n}\n\nexport function createTerminalCapabilities(overrides: TerminalCapabilitiesOverrides = {}): TerminalCapabilities {\n return {\n kitty_keyboard: false,\n kitty_graphics: false,\n rgb: false,\n ansi256: false,\n unicode: \"unicode\",\n sgr_pixels: false,\n color_scheme_updates: false,\n explicit_width: false,\n scaled_text: false,\n sixel: false,\n focus_tracking: false,\n sync: false,\n bracketed_paste: false,\n hyperlinks: false,\n osc52: false,\n osc52_support: \"unknown\",\n notifications: false,\n explicit_cursor_positioning: false,\n remote: false,\n multiplexer: \"none\",\n ...overrides,\n terminal: {\n name: \"\",\n version: \"\",\n from_xtversion: false,\n ...overrides.terminal,\n },\n }\n}\n\nexport function setRendererCapabilities(\n renderer: CliRenderer,\n overrides: TerminalCapabilitiesOverrides = {},\n): TerminalCapabilities {\n const capabilities = createTerminalCapabilities(overrides)\n ;(renderer as unknown as { _capabilities: TerminalCapabilities })._capabilities = capabilities\n return capabilities\n}\n",
11
11
  "export function createSpy() {\n const calls: any[][] = []\n const spy = (...args: any[]) => {\n calls.push(args)\n }\n spy.calls = calls\n spy.callCount = () => calls.length\n spy.calledWith = (...expected: any[]) => {\n return calls.some((call) => JSON.stringify(call) === JSON.stringify(expected))\n }\n spy.reset = () => (calls.length = 0)\n return spy\n}\n",
12
12
  "import type { Clock, TimerHandle } from \"../lib/clock.js\"\n\ninterface ScheduledTimer {\n id: number\n fireAt: number\n order: number\n delayMs: number\n repeat: boolean\n fn: () => void\n}\n\nfunction compareTimers(left: ScheduledTimer, right: ScheduledTimer): number {\n if (left.fireAt !== right.fireAt) {\n return left.fireAt - right.fireAt\n }\n\n return left.order - right.order\n}\n\nexport class ManualClock implements Clock {\n private time = 0\n private nextId = 1\n private nextOrder = 0\n private readonly timers = new Map<number, ScheduledTimer>()\n\n public now(): number {\n return this.time\n }\n\n public setTime(time: number): void {\n const targetTime = Math.floor(time)\n\n if (targetTime >= this.time) {\n this.advance(targetTime - this.time)\n return\n }\n\n this.time = targetTime\n }\n\n public setTimeout(fn: () => void, delayMs: number): TimerHandle {\n return this.schedule(fn, delayMs, false)\n }\n\n public clearTimeout(handle: TimerHandle): void {\n this.timers.delete(Number(handle))\n }\n\n public setInterval(fn: () => void, delayMs: number): TimerHandle {\n return this.schedule(fn, delayMs, true)\n }\n\n public clearInterval(handle: TimerHandle): void {\n this.clearTimeout(handle)\n }\n\n public advance(delayMs: number): void {\n const targetTime = this.time + Math.max(0, Math.floor(delayMs))\n\n while (true) {\n const nextTimer = this.peekNextTimer()\n if (!nextTimer || nextTimer.fireAt > targetTime) {\n break\n }\n\n this.timers.delete(nextTimer.id)\n this.time = nextTimer.fireAt\n nextTimer.fn()\n\n if (nextTimer.repeat && !this.timers.has(nextTimer.id)) {\n this.timers.set(nextTimer.id, {\n ...nextTimer,\n fireAt: this.time + nextTimer.delayMs,\n order: this.nextOrder++,\n })\n }\n }\n\n this.time = targetTime\n }\n\n public runAll(): void {\n while (true) {\n const nextTimer = this.peekNextTimer()\n if (!nextTimer) {\n return\n }\n\n this.advance(nextTimer.fireAt - this.time)\n }\n }\n\n private schedule(fn: () => void, delayMs: number, repeat: boolean): number {\n const id = this.nextId++\n const normalizedDelay = Math.max(0, Math.floor(delayMs))\n this.timers.set(id, {\n id,\n fireAt: this.time + normalizedDelay,\n order: this.nextOrder++,\n delayMs: normalizedDelay,\n repeat,\n fn,\n })\n return id\n }\n\n private peekNextTimer(): ScheduledTimer | null {\n let nextTimer: ScheduledTimer | null = null\n for (const timer of this.timers.values()) {\n if (!nextTimer || compareTimers(timer, nextTimer) < 0) {\n nextTimer = timer\n }\n }\n\n return nextTimer\n }\n}\n",
13
13
  "import type { TestRenderer } from \"./test-renderer.js\"\nimport { CliRenderEvents } from \"../renderer.js\"\n\nexport interface RecordBuffersOptions {\n fg?: boolean\n bg?: boolean\n attributes?: boolean\n}\n\nexport interface RecordedBuffers {\n fg?: Uint16Array\n bg?: Uint16Array\n attributes?: Uint8Array\n}\n\nexport interface RecordedFrame {\n frame: string\n timestamp: number\n frameNumber: number\n buffers?: RecordedBuffers\n}\n\nexport interface TestRecorderOptions {\n recordBuffers?: RecordBuffersOptions\n now?: () => number\n}\n\n/**\n * TestRecorder records frames from a TestRenderer by listening to rendered frame events.\n * It captures the character frame after each native render pass.\n */\nexport class TestRecorder {\n private renderer: TestRenderer\n private frames: RecordedFrame[] = []\n private recording: boolean = false\n private frameNumber: number = 0\n private startTime: number = 0\n private decoder = new TextDecoder()\n private recordBuffers: RecordBuffersOptions\n private now: () => number\n private readonly onFrame = () => {\n if (!this.recording) return\n this.captureFrame()\n }\n\n constructor(renderer: TestRenderer, options?: TestRecorderOptions) {\n this.renderer = renderer\n this.recordBuffers = options?.recordBuffers || {}\n this.now = options?.now ?? (() => performance.now())\n }\n\n /**\n * Start recording frames.\n */\n public rec(): void {\n if (this.recording) {\n return\n }\n\n this.recording = true\n this.frames = []\n this.frameNumber = 0\n this.startTime = this.now()\n this.renderer.on(CliRenderEvents.FRAME, this.onFrame)\n }\n\n /**\n * Stop recording frames.\n */\n public stop(): void {\n if (!this.recording) {\n return\n }\n\n this.recording = false\n this.renderer.off(CliRenderEvents.FRAME, this.onFrame)\n }\n\n /**\n * Get the recorded frames.\n */\n public get recordedFrames(): RecordedFrame[] {\n return [...this.frames]\n }\n\n /**\n * Clear all recorded frames.\n */\n public clear(): void {\n this.frames = []\n this.frameNumber = 0\n }\n\n /**\n * Check if currently recording.\n */\n public get isRecording(): boolean {\n return this.recording\n }\n\n /**\n * Capture the current frame from the renderer's buffer.\n */\n private captureFrame(): void {\n const currentBuffer = this.renderer.currentRenderBuffer\n const frameBytes = currentBuffer.getRealCharBytes(true)\n const frame = this.decoder.decode(frameBytes)\n\n const recordedFrame: RecordedFrame = {\n frame,\n timestamp: this.now() - this.startTime,\n frameNumber: this.frameNumber++,\n }\n\n // Optionally record buffer data from currentRenderBuffer\n if (this.recordBuffers.fg || this.recordBuffers.bg || this.recordBuffers.attributes) {\n const buffers = currentBuffer.buffers\n recordedFrame.buffers = {}\n\n if (this.recordBuffers.fg) {\n recordedFrame.buffers.fg = new Uint16Array(buffers.fg)\n }\n if (this.recordBuffers.bg) {\n recordedFrame.buffers.bg = new Uint16Array(buffers.bg)\n }\n if (this.recordBuffers.attributes) {\n recordedFrame.buffers.attributes = new Uint8Array(buffers.attributes)\n }\n }\n\n this.frames.push(recordedFrame)\n }\n}\n"
14
14
  ],
15
- "mappings": "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",
16
- "debugId": "884B8CD1F6ACF7CC64756E2164756E21",
15
+ "mappings": "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",
16
+ "debugId": "08D19767EB8430A064756E2164756E21",
17
17
  "names": []
18
18
  }
package/types.d.ts CHANGED
@@ -44,6 +44,7 @@ export declare enum TargetChannel {
44
44
  }
45
45
  export type WidthMethod = "wcwidth" | "unicode";
46
46
  export type TerminalMultiplexer = "none" | "tmux" | "zellij" | "screen" | "unknown";
47
+ export type TerminalCapabilityState = "unknown" | "supported" | "unsupported";
47
48
  export interface TerminalInfo {
48
49
  name: string;
49
50
  version: string;
@@ -65,6 +66,7 @@ export interface TerminalCapabilities {
65
66
  bracketed_paste: boolean;
66
67
  hyperlinks: boolean;
67
68
  osc52: boolean;
69
+ osc52_support: TerminalCapabilityState;
68
70
  notifications: boolean;
69
71
  explicit_cursor_positioning: boolean;
70
72
  remote: boolean;
package/yoga.js CHANGED
@@ -92,7 +92,7 @@ import {
92
92
  WRAP_WRAP_REVERSE,
93
93
  Wrap,
94
94
  yoga_default
95
- } from "./index-pcvh9d34.js";
95
+ } from "./index-x7n320jr.js";
96
96
  export {
97
97
  yoga_default as default,
98
98
  Wrap,
package/zig-structs.d.ts CHANGED
@@ -48,7 +48,11 @@ export declare const TerminalCapabilitiesStruct: import("bun-ffi-structs").Defin
48
48
  readonly lengthOf: "term_name";
49
49
  }], readonly ["term_version", "char*"], readonly ["term_version_len", "u64", {
50
50
  readonly lengthOf: "term_version";
51
- }], readonly ["term_from_xtversion", "bool_u8"]], {}>;
51
+ }], readonly ["term_from_xtversion", "bool_u8"], readonly ["osc52_support", import("bun-ffi-structs").EnumDef<{
52
+ unknown: number;
53
+ supported: number;
54
+ unsupported: number;
55
+ }>]], {}>;
52
56
  export declare const EncodedCharStruct: import("bun-ffi-structs").DefineStructReturnType<[readonly ["width", "u8"], readonly ["char", "u32"]], {}>;
53
57
  export declare const LineInfoStruct: import("bun-ffi-structs").DefineStructReturnType<[readonly ["startCols", readonly ["u32"]], readonly ["startColsLen", "u32", {
54
58
  readonly lengthOf: "startCols";
package/zig.d.ts CHANGED
@@ -168,7 +168,7 @@ export interface RenderLib extends AudioEngineLib {
168
168
  setDebugOverlay: (renderer: RendererHandle, enabled: boolean, corner: DebugOverlayCorner) => void;
169
169
  clearTerminal: (renderer: RendererHandle) => void;
170
170
  setTerminalTitle: (renderer: RendererHandle, title: string) => void;
171
- copyToClipboardOSC52: (renderer: RendererHandle, target: number, payload: Uint8Array) => boolean;
171
+ copyToClipboardOSC52: (renderer: RendererHandle, target: number, textUtf8: Uint8Array) => boolean;
172
172
  clearClipboardOSC52: (renderer: RendererHandle, target: number) => boolean;
173
173
  triggerNotification: (renderer: RendererHandle, message: string, title?: string) => boolean;
174
174
  addToHitGrid: (renderer: RendererHandle, x: number, y: number, width: number, height: number, id: number) => void;