@rezi-ui/node 0.1.0-alpha.23 → 0.1.0-alpha.25

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.
@@ -0,0 +1,113 @@
1
+ import { open, stat } from "node:fs/promises";
2
+ const DEFAULT_POLL_MS = 200;
3
+ const READ_CHUNK_BYTES = 64 * 1024;
4
+ function normalizePositiveInteger(value, fallback) {
5
+ if (!Number.isFinite(value) || value <= 0)
6
+ return fallback;
7
+ return Math.floor(value);
8
+ }
9
+ function isNodeErrorWithCode(error) {
10
+ if (!error || typeof error !== "object")
11
+ return false;
12
+ const code = error.code;
13
+ return typeof code === "string";
14
+ }
15
+ async function readUtf8Slice(filePath, start, end) {
16
+ if (end <= start)
17
+ return "";
18
+ const handle = await open(filePath, "r");
19
+ let offset = start;
20
+ let output = "";
21
+ try {
22
+ while (offset < end) {
23
+ const bytesToRead = Math.min(READ_CHUNK_BYTES, end - offset);
24
+ const buffer = Buffer.allocUnsafe(bytesToRead);
25
+ const { bytesRead } = await handle.read(buffer, 0, bytesToRead, offset);
26
+ if (bytesRead <= 0)
27
+ break;
28
+ output += buffer.toString("utf8", 0, bytesRead);
29
+ offset += bytesRead;
30
+ }
31
+ return output;
32
+ }
33
+ finally {
34
+ await handle.close();
35
+ }
36
+ }
37
+ /**
38
+ * Node.js tail source factory for `useTail`.
39
+ */
40
+ export const createNodeTailSource = (filePath, options) => {
41
+ const pollMs = normalizePositiveInteger(options.pollMs, DEFAULT_POLL_MS);
42
+ const fromEnd = options.fromEnd;
43
+ let closed = false;
44
+ let sleepState = { timer: null, resolve: null };
45
+ const wakeSleep = () => {
46
+ if (sleepState.timer !== null) {
47
+ clearTimeout(sleepState.timer);
48
+ }
49
+ if (sleepState.resolve) {
50
+ sleepState.resolve();
51
+ }
52
+ sleepState = { timer: null, resolve: null };
53
+ };
54
+ const sleep = async (ms) => {
55
+ if (ms <= 0)
56
+ return;
57
+ await new Promise((resolve) => {
58
+ const timer = setTimeout(() => {
59
+ sleepState = { timer: null, resolve: null };
60
+ resolve();
61
+ }, ms);
62
+ sleepState = { timer, resolve };
63
+ });
64
+ };
65
+ async function* iterator() {
66
+ let initialized = false;
67
+ let offset = 0;
68
+ let carry = "";
69
+ while (!closed) {
70
+ let fileSize;
71
+ try {
72
+ const stats = await stat(filePath);
73
+ fileSize = Number(stats.size);
74
+ }
75
+ catch (error) {
76
+ if (isNodeErrorWithCode(error) && error.code === "ENOENT") {
77
+ await sleep(pollMs);
78
+ continue;
79
+ }
80
+ throw error;
81
+ }
82
+ if (!initialized) {
83
+ initialized = true;
84
+ offset = fromEnd ? fileSize : 0;
85
+ }
86
+ if (fileSize < offset) {
87
+ // File was truncated/rotated.
88
+ offset = 0;
89
+ carry = "";
90
+ }
91
+ if (fileSize > offset) {
92
+ const delta = await readUtf8Slice(filePath, offset, fileSize);
93
+ offset = fileSize;
94
+ const segments = `${carry}${delta}`.split(/\r?\n/);
95
+ carry = segments.pop() ?? "";
96
+ for (const line of segments) {
97
+ if (closed)
98
+ return;
99
+ yield line;
100
+ }
101
+ }
102
+ await sleep(pollMs);
103
+ }
104
+ }
105
+ return {
106
+ [Symbol.asyncIterator]: iterator,
107
+ close: () => {
108
+ closed = true;
109
+ wakeSleep();
110
+ },
111
+ };
112
+ };
113
+ //# sourceMappingURL=tail.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tail.js","sourceRoot":"","sources":["../../src/streams/tail.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ export declare const native: {
2
+ readonly engineCreate: (config?: object | null) => number;
3
+ readonly engineDestroy: (engineId: number) => void;
4
+ readonly engineSubmitDrawlist: (engineId: number, _drawlist: Uint8Array) => number;
5
+ readonly enginePresent: (engineId: number) => number;
6
+ readonly enginePollEvents: (engineId: number, _timeoutMs: number, _out: Uint8Array) => number;
7
+ readonly enginePostUserEvent: (engineId: number, _tag: number, _payload: Uint8Array) => number;
8
+ readonly engineSetConfig: (engineId: number, _cfg?: object | null) => number;
9
+ readonly engineGetCaps: (engineId: number) => {
10
+ colorMode: number;
11
+ supportsMouse: boolean;
12
+ supportsBracketedPaste: boolean;
13
+ supportsFocusEvents: boolean;
14
+ supportsOsc52: boolean;
15
+ supportsSyncUpdate: boolean;
16
+ supportsScrollRegion: boolean;
17
+ supportsCursorShape: boolean;
18
+ supportsOutputWaitWritable: boolean;
19
+ sgrAttrsSupported: number;
20
+ };
21
+ };
22
+ //# sourceMappingURL=limitsExpectNative.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"limitsExpectNative.d.ts","sourceRoot":"","sources":["../../../src/worker/testShims/limitsExpectNative.ts"],"names":[],"mappings":"AAoCA,eAAO,MAAM,MAAM;qCACK,MAAM,GAAG,IAAI,KAAG,MAAM;uCAYpB,MAAM,KAAG,IAAI;8CAIN,MAAM,aAAa,UAAU,KAAG,MAAM;uCAI7C,MAAM,KAAG,MAAM;0CAIZ,MAAM,cAAc,MAAM,QAAQ,UAAU,KAAG,MAAM;6CAIlD,MAAM,QAAQ,MAAM,YAAY,UAAU,KAAG,MAAM;yCAIvD,MAAM,SAAS,MAAM,GAAG,IAAI,KAAG,MAAM;uCAIvC,MAAM;;;;;;;;;;;;CA4BtB,CAAC"}
@@ -0,0 +1,85 @@
1
+ let nextEngineId = 1;
2
+ const engines = new Map();
3
+ function parsePositiveInt(v) {
4
+ if (typeof v !== "number")
5
+ return null;
6
+ if (!Number.isFinite(v) || !Number.isInteger(v))
7
+ return null;
8
+ if (v <= 0)
9
+ return null;
10
+ return v;
11
+ }
12
+ function readLimits(cfg) {
13
+ if (typeof cfg !== "object" || cfg === null)
14
+ return null;
15
+ const rec = cfg;
16
+ if (typeof rec.limits !== "object" || rec.limits === null)
17
+ return null;
18
+ return rec.limits;
19
+ }
20
+ function readLimitU32(lim, camel, snake) {
21
+ return parsePositiveInt(lim[camel]) ?? parsePositiveInt(lim[snake]);
22
+ }
23
+ export const native = {
24
+ engineCreate(config) {
25
+ const lim = readLimits(config);
26
+ if (lim === null)
27
+ return -1;
28
+ const outMax = readLimitU32(lim, "outMaxBytesPerFrame", "out_max_bytes_per_frame");
29
+ const dlMax = readLimitU32(lim, "dlMaxTotalBytes", "dl_max_total_bytes");
30
+ if (outMax !== 3333333)
31
+ return -1;
32
+ if (dlMax !== 2222222)
33
+ return -1;
34
+ const id = nextEngineId++;
35
+ engines.set(id, Object.freeze({ destroyed: false }));
36
+ return id;
37
+ },
38
+ engineDestroy(engineId) {
39
+ engines.delete(engineId);
40
+ },
41
+ engineSubmitDrawlist(engineId, _drawlist) {
42
+ return engines.has(engineId) ? 0 : -1;
43
+ },
44
+ enginePresent(engineId) {
45
+ return engines.has(engineId) ? 0 : -1;
46
+ },
47
+ enginePollEvents(engineId, _timeoutMs, _out) {
48
+ return engines.has(engineId) ? 0 : -1;
49
+ },
50
+ enginePostUserEvent(engineId, _tag, _payload) {
51
+ return engines.has(engineId) ? 0 : -1;
52
+ },
53
+ engineSetConfig(engineId, _cfg) {
54
+ return engines.has(engineId) ? 0 : -1;
55
+ },
56
+ engineGetCaps(engineId) {
57
+ if (!engines.has(engineId)) {
58
+ return {
59
+ colorMode: 0,
60
+ supportsMouse: false,
61
+ supportsBracketedPaste: false,
62
+ supportsFocusEvents: false,
63
+ supportsOsc52: false,
64
+ supportsSyncUpdate: false,
65
+ supportsScrollRegion: false,
66
+ supportsCursorShape: false,
67
+ supportsOutputWaitWritable: false,
68
+ sgrAttrsSupported: 0,
69
+ };
70
+ }
71
+ return {
72
+ colorMode: 2,
73
+ supportsMouse: true,
74
+ supportsBracketedPaste: true,
75
+ supportsFocusEvents: true,
76
+ supportsOsc52: false,
77
+ supportsSyncUpdate: true,
78
+ supportsScrollRegion: true,
79
+ supportsCursorShape: true,
80
+ supportsOutputWaitWritable: true,
81
+ sgrAttrsSupported: 0xffffffff,
82
+ };
83
+ },
84
+ };
85
+ //# sourceMappingURL=limitsExpectNative.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"limitsExpectNative.js","sourceRoot":"","sources":["../../../src/worker/testShims/limitsExpectNative.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ export declare const native: {
2
+ readonly engineCreate: (config?: object | null) => number;
3
+ readonly engineDestroy: (engineId: number) => void;
4
+ readonly engineSubmitDrawlist: (engineId: number, _drawlist: Uint8Array) => number;
5
+ readonly enginePresent: (engineId: number) => number;
6
+ readonly enginePollEvents: (engineId: number, _timeoutMs: number, _out: Uint8Array) => number;
7
+ readonly enginePostUserEvent: (engineId: number, _tag: number, _payload: Uint8Array) => number;
8
+ readonly engineSetConfig: (engineId: number, _cfg?: object | null) => number;
9
+ readonly engineGetCaps: (engineId: number) => {
10
+ colorMode: number;
11
+ supportsMouse: boolean;
12
+ supportsBracketedPaste: boolean;
13
+ supportsFocusEvents: boolean;
14
+ supportsOsc52: boolean;
15
+ supportsSyncUpdate: boolean;
16
+ supportsScrollRegion: boolean;
17
+ supportsCursorShape: boolean;
18
+ supportsOutputWaitWritable: boolean;
19
+ sgrAttrsSupported: number;
20
+ };
21
+ };
22
+ //# sourceMappingURL=limitsNative.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"limitsNative.d.ts","sourceRoot":"","sources":["../../../src/worker/testShims/limitsNative.ts"],"names":[],"mappings":"AAsCA,eAAO,MAAM,MAAM;qCACK,MAAM,GAAG,IAAI,KAAG,MAAM;uCAgBpB,MAAM,KAAG,IAAI;8CAIN,MAAM,aAAa,UAAU,KAAG,MAAM;uCAI7C,MAAM,KAAG,MAAM;0CAIZ,MAAM,cAAc,MAAM,QAAQ,UAAU,KAAG,MAAM;6CAIlD,MAAM,QAAQ,MAAM,YAAY,UAAU,KAAG,MAAM;yCAIvD,MAAM,SAAS,MAAM,GAAG,IAAI,KAAG,MAAM;uCAIvC,MAAM;;;;;;;;;;;;CA4BtB,CAAC"}
@@ -0,0 +1,90 @@
1
+ let nextEngineId = 1;
2
+ const engines = new Map();
3
+ function parsePositiveInt(v) {
4
+ if (typeof v !== "number")
5
+ return null;
6
+ if (!Number.isFinite(v) || !Number.isInteger(v))
7
+ return null;
8
+ if (v <= 0)
9
+ return null;
10
+ return v;
11
+ }
12
+ function readLimits(cfg) {
13
+ if (typeof cfg !== "object" || cfg === null)
14
+ return null;
15
+ const rec = cfg;
16
+ if (typeof rec.limits !== "object" || rec.limits === null)
17
+ return null;
18
+ return rec.limits;
19
+ }
20
+ function readLimitU32(lim, camel, snake) {
21
+ return parsePositiveInt(lim[camel]) ?? parsePositiveInt(lim[snake]);
22
+ }
23
+ export const native = {
24
+ engineCreate(config) {
25
+ const lim = readLimits(config);
26
+ if (lim === null)
27
+ return -1;
28
+ const outMax = readLimitU32(lim, "outMaxBytesPerFrame", "out_max_bytes_per_frame");
29
+ const dlMax = readLimitU32(lim, "dlMaxTotalBytes", "dl_max_total_bytes");
30
+ const cmdMax = readLimitU32(lim, "dlMaxCmds", "dl_max_cmds");
31
+ if (outMax === null || dlMax === null || cmdMax === null)
32
+ return -1;
33
+ if (outMax < 2 * 1024 * 1024)
34
+ return -1;
35
+ if (dlMax < 2 * 1024 * 1024)
36
+ return -1;
37
+ if (cmdMax < 100_000)
38
+ return -1;
39
+ const id = nextEngineId++;
40
+ engines.set(id, Object.freeze({ destroyed: false }));
41
+ return id;
42
+ },
43
+ engineDestroy(engineId) {
44
+ engines.delete(engineId);
45
+ },
46
+ engineSubmitDrawlist(engineId, _drawlist) {
47
+ return engines.has(engineId) ? 0 : -1;
48
+ },
49
+ enginePresent(engineId) {
50
+ return engines.has(engineId) ? 0 : -1;
51
+ },
52
+ enginePollEvents(engineId, _timeoutMs, _out) {
53
+ return engines.has(engineId) ? 0 : -1;
54
+ },
55
+ enginePostUserEvent(engineId, _tag, _payload) {
56
+ return engines.has(engineId) ? 0 : -1;
57
+ },
58
+ engineSetConfig(engineId, _cfg) {
59
+ return engines.has(engineId) ? 0 : -1;
60
+ },
61
+ engineGetCaps(engineId) {
62
+ if (!engines.has(engineId)) {
63
+ return {
64
+ colorMode: 0,
65
+ supportsMouse: false,
66
+ supportsBracketedPaste: false,
67
+ supportsFocusEvents: false,
68
+ supportsOsc52: false,
69
+ supportsSyncUpdate: false,
70
+ supportsScrollRegion: false,
71
+ supportsCursorShape: false,
72
+ supportsOutputWaitWritable: false,
73
+ sgrAttrsSupported: 0,
74
+ };
75
+ }
76
+ return {
77
+ colorMode: 2,
78
+ supportsMouse: true,
79
+ supportsBracketedPaste: true,
80
+ supportsFocusEvents: true,
81
+ supportsOsc52: false,
82
+ supportsSyncUpdate: true,
83
+ supportsScrollRegion: true,
84
+ supportsCursorShape: true,
85
+ supportsOutputWaitWritable: true,
86
+ sgrAttrsSupported: 0xffffffff,
87
+ };
88
+ },
89
+ };
90
+ //# sourceMappingURL=limitsNative.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"limitsNative.js","sourceRoot":"","sources":["../../../src/worker/testShims/limitsNative.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "name": "@rezi-ui/node",
3
- "version": "0.1.0-alpha.23",
3
+ "version": "0.1.0-alpha.25",
4
4
  "description": "Node.js/Bun backend for Rezi (worker-thread engine ownership, scheduling, IO).",
5
5
  "license": "Apache-2.0",
6
- "homepage": "https://rtlzeromemory.github.io/Rezi/",
6
+ "homepage": "https://rezitui.dev",
7
7
  "repository": {
8
8
  "type": "git",
9
9
  "url": "git+https://github.com/RtlZeroMemory/Rezi.git",
@@ -31,8 +31,8 @@
31
31
  "bun": ">=1.3.0"
32
32
  },
33
33
  "dependencies": {
34
- "@rezi-ui/core": "0.1.0-alpha.23",
35
- "@rezi-ui/native": "0.1.0-alpha.23"
34
+ "@rezi-ui/core": "0.1.0-alpha.25",
35
+ "@rezi-ui/native": "0.1.0-alpha.25"
36
36
  },
37
37
  "devDependencies": {
38
38
  "@xterm/headless": "^6.0.0",