@flyingrobots/bijou-node 3.0.0 → 3.1.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.
package/dist/io.d.ts CHANGED
@@ -1,4 +1,9 @@
1
- import type { IOPort } from '@flyingrobots/bijou';
1
+ import { type ClockPort, type IOPort } from '@flyingrobots/bijou';
2
+ /** Optional overrides for {@link nodeIO}. */
3
+ export interface NodeIOOptions {
4
+ /** Clock override for deterministic timer scheduling in tests. */
5
+ clock?: ClockPort;
6
+ }
2
7
  /**
3
8
  * Create an {@link IOPort} backed by Node.js I/O primitives.
4
9
  *
@@ -7,7 +12,8 @@ import type { IOPort } from '@flyingrobots/bijou';
7
12
  * `rawInput`, `onResize`, and `setInterval` clean up their underlying
8
13
  * resources when `dispose()` is called.
9
14
  *
15
+ * @param options - Optional runtime overrides such as a deterministic clock for tests.
10
16
  * @returns An {@link IOPort} bound to the current Node.js process.
11
17
  */
12
- export declare function nodeIO(): IOPort;
18
+ export declare function nodeIO(options?: NodeIOOptions): IOPort;
13
19
  //# sourceMappingURL=io.d.ts.map
package/dist/io.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"io.d.ts","sourceRoot":"","sources":["../src/io.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAA+B,MAAM,qBAAqB,CAAC;AAE/E;;;;;;;;;GASG;AACH,wBAAgB,MAAM,IAAI,MAAM,CAuJ/B"}
1
+ {"version":3,"file":"io.d.ts","sourceRoot":"","sources":["../src/io.ts"],"names":[],"mappings":"AAGA,OAAO,EAAgB,KAAK,SAAS,EAAE,KAAK,MAAM,EAAyC,MAAM,qBAAqB,CAAC;AAEvH,6CAA6C;AAC7C,MAAM,WAAW,aAAa;IAC5B,kEAAkE;IAClE,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,MAAM,CAAC,OAAO,GAAE,aAAkB,GAAG,MAAM,CAkJ1D"}
package/dist/io.js CHANGED
@@ -1,6 +1,7 @@
1
1
  import * as readline from 'readline';
2
2
  import { readFileSync, readdirSync } from 'fs';
3
3
  import { join } from 'path';
4
+ import { resolveClock } from '@flyingrobots/bijou';
4
5
  /**
5
6
  * Create an {@link IOPort} backed by Node.js I/O primitives.
6
7
  *
@@ -9,9 +10,11 @@ import { join } from 'path';
9
10
  * `rawInput`, `onResize`, and `setInterval` clean up their underlying
10
11
  * resources when `dispose()` is called.
11
12
  *
13
+ * @param options - Optional runtime overrides such as a deterministic clock for tests.
12
14
  * @returns An {@link IOPort} bound to the current Node.js process.
13
15
  */
14
- export function nodeIO() {
16
+ export function nodeIO(options = {}) {
17
+ const clock = resolveClock(options.clock);
15
18
  return {
16
19
  /**
17
20
  * Write a string directly to `process.stdout`.
@@ -109,13 +112,7 @@ export function nodeIO() {
109
112
  * @returns A {@link TimerHandle} that cancels the timer on disposal.
110
113
  */
111
114
  setInterval(callback, ms) {
112
- const id = globalThis.setInterval(callback, ms);
113
- return {
114
- /** Cancel the repeating timer. */
115
- dispose() {
116
- clearInterval(id);
117
- },
118
- };
115
+ return clock.setInterval(callback, ms);
119
116
  },
120
117
  /**
121
118
  * Read an entire file synchronously as a UTF-8 string.
package/dist/io.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"io.js","sourceRoot":"","sources":["../src/io.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"io.js","sourceRoot":"","sources":["../src/io.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,24 @@
1
- import type { BijouContext } from '@flyingrobots/bijou';
2
- import type { App } from '@flyingrobots/bijou-tui';
1
+ import { type BijouContext } from '@flyingrobots/bijou';
2
+ import type { App, RunOptions } from '@flyingrobots/bijou-tui';
3
+ interface WorkerInstance {
4
+ postMessage(message: unknown): void;
5
+ on(event: string, handler: (value: any) => void): void;
6
+ terminate(): Promise<number>;
7
+ }
8
+ interface WorkerParentPort {
9
+ on(event: string, listener: (msg: any) => void): void;
10
+ off(event: string, listener: (msg: any) => void): void;
11
+ postMessage(message: unknown): void;
12
+ }
13
+ interface WorkerThreadBindings {
14
+ isMainThread: boolean;
15
+ parentPort: WorkerParentPort | null;
16
+ workerData: unknown;
17
+ createWorker(entry: string, options: Record<string, unknown>): WorkerInstance;
18
+ createNodeContext(): BijouContext;
19
+ runApp<Model, M>(app: App<Model, M>, options: RunOptions<M>): Promise<void>;
20
+ scheduleTimeout(callback: () => void, ms: number): ReturnType<typeof setTimeout>;
21
+ }
3
22
  export type WorkerMessage = {
4
23
  type: 'io:data';
5
24
  data: string;
@@ -74,7 +93,7 @@ export interface WorkerHandle {
74
93
  * @param options - Configuration including the path to the worker entry file.
75
94
  * @returns A handle to the running worker.
76
95
  */
77
- export declare function runInWorker(options: RunWorkerOptions): WorkerHandle;
96
+ export declare function runInWorker(options: RunWorkerOptions, bindings?: WorkerThreadBindings): WorkerHandle;
78
97
  /**
79
98
  * The entry point for the worker thread. Must be called in the file
80
99
  * specified by `options.entry` in `runInWorker()`.
@@ -83,5 +102,6 @@ export declare function runInWorker(options: RunWorkerOptions): WorkerHandle;
83
102
  *
84
103
  * @param app - The TEA app to run.
85
104
  */
86
- export declare function startWorkerApp<Model, M>(app: App<Model, M>): Promise<void>;
105
+ export declare function startWorkerApp<Model, M>(app: App<Model, M>, bindings?: WorkerThreadBindings): Promise<void>;
106
+ export {};
87
107
  //# sourceMappingURL=worker.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"worker.d.ts","sourceRoot":"","sources":["../../src/worker/worker.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAe,MAAM,qBAAqB,CAAC;AACrE,OAAO,KAAK,EAAE,GAAG,EAAc,MAAM,yBAAyB,CAAC;AAQ/D,MAAM,MAAM,aAAa,GACrB;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACjC;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACpD;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,GAClC;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAErB,MAAM,MAAM,WAAW,GACnB;IAAE,IAAI,EAAE,cAAc,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACxC;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAClC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,GAClC;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAMrB;;GAEG;AACH,wBAAgB,aAAa,IAAI,OAAO,CAEvC;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAIjD;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,uEAAuE;IACvE,KAAK,EAAE,MAAM,CAAC;IACd,kDAAkD;IAClD,GAAG,CAAC,EAAE,YAAY,CAAC;IACnB,oDAAoD;IACpD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,kCAAkC;IAClC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,qCAAqC;IACrC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,uCAAuC;IACvC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,wFAAwF;IACxF,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IACvC,0FAA0F;IAC1F,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB;AAsBD;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,wDAAwD;IACxD,IAAI,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IAC7B,+CAA+C;IAC/C,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3B,6DAA6D;IAC7D,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;CACvB;AAED;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,gBAAgB,GAAG,YAAY,CAgHnE;AAMD;;;;;;;GAOG;AACH,wBAAsB,cAAc,CAAC,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAyEhF"}
1
+ {"version":3,"file":"worker.d.ts","sourceRoot":"","sources":["../../src/worker/worker.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,23 @@
1
1
  import { Worker, isMainThread, parentPort, workerData } from 'node:worker_threads';
2
2
  import { resolve as resolvePath } from 'node:path';
3
+ import { installRuntimeViewportOverlay, readRuntimeViewport, updateRuntimeViewport, } from '@flyingrobots/bijou';
3
4
  import { run } from '@flyingrobots/bijou-tui';
4
5
  import { createNodeContext } from '../index.js';
6
+ function defaultWorkerThreadBindings() {
7
+ return {
8
+ isMainThread,
9
+ parentPort,
10
+ workerData,
11
+ createWorker(entry, options) {
12
+ return new Worker(entry, options);
13
+ },
14
+ createNodeContext,
15
+ runApp: run,
16
+ scheduleTimeout(callback, ms) {
17
+ return setTimeout(callback, ms);
18
+ },
19
+ };
20
+ }
5
21
  // ---------------------------------------------------------------------------
6
22
  // Worker Environment API
7
23
  // ---------------------------------------------------------------------------
@@ -9,15 +25,17 @@ import { createNodeContext } from '../index.js';
9
25
  * Checks if the current environment is running inside a Bijou Worker.
10
26
  */
11
27
  export function isBijouWorker() {
12
- return !isMainThread && workerData?.isBijouWorker === true;
28
+ const bindings = defaultWorkerThreadBindings();
29
+ return !bindings.isMainThread && bindings.workerData?.isBijouWorker === true;
13
30
  }
14
31
  /**
15
32
  * Sends a custom data message from the worker to the main thread.
16
33
  * This will be received via the `onMessage` callback in `runInWorker`.
17
34
  */
18
35
  export function sendToMain(payload) {
19
- if (parentPort) {
20
- parentPort.postMessage({ type: 'data', payload });
36
+ const bindings = defaultWorkerThreadBindings();
37
+ if (bindings.parentPort) {
38
+ bindings.parentPort.postMessage({ type: 'data', payload });
21
39
  }
22
40
  }
23
41
  /**
@@ -28,12 +46,12 @@ export function sendToMain(payload) {
28
46
  * @param options - Configuration including the path to the worker entry file.
29
47
  * @returns A handle to the running worker.
30
48
  */
31
- export function runInWorker(options) {
32
- if (!isMainThread) {
49
+ export function runInWorker(options, bindings = defaultWorkerThreadBindings()) {
50
+ if (!bindings.isMainThread) {
33
51
  throw new Error('runInWorker must be called from the main thread.');
34
52
  }
35
- const ctx = options.ctx ?? createNodeContext();
36
- installRuntimeOverlay(ctx);
53
+ const ctx = options.ctx ?? bindings.createNodeContext();
54
+ installRuntimeViewportOverlay(ctx);
37
55
  const useAltScreen = options.altScreen ?? true;
38
56
  const useHideCursor = options.hideCursor ?? true;
39
57
  const useMouse = options.mouse ?? false;
@@ -53,14 +71,11 @@ export function runInWorker(options) {
53
71
  mouse: options.mouse,
54
72
  css: options.css,
55
73
  };
56
- const worker = new Worker(resolvePath(options.entry), {
74
+ const worker = bindings.createWorker(resolvePath(options.entry), {
57
75
  workerData: {
58
76
  isBijouWorker: true,
59
77
  options: serializableOptions,
60
- runtime: {
61
- columns: sanitizeDimension(ctx.runtime.columns),
62
- rows: sanitizeDimension(ctx.runtime.rows),
63
- },
78
+ runtime: readRuntimeViewport(ctx.runtime),
64
79
  },
65
80
  execArgv: options.execArgv,
66
81
  // Pipe stdout/stderr so we can capture logs if needed, but primarily use IPC
@@ -70,11 +85,8 @@ export function runInWorker(options) {
70
85
  worker.postMessage({ type: 'io:data', data });
71
86
  });
72
87
  const resizeHandle = ctx.io.onResize((columns, rows) => {
73
- const nextColumns = sanitizeDimension(columns);
74
- const nextRows = sanitizeDimension(rows);
75
- ctx.runtime.columns = nextColumns;
76
- ctx.runtime.rows = nextRows;
77
- worker.postMessage({ type: 'io:resize', columns: nextColumns, rows: nextRows });
88
+ const nextViewport = updateRuntimeViewport(ctx.runtime, columns, rows);
89
+ worker.postMessage({ type: 'io:resize', ...nextViewport });
78
90
  });
79
91
  const onExit = new Promise((resolve, reject) => {
80
92
  let requestedQuit = false;
@@ -96,7 +108,7 @@ export function runInWorker(options) {
96
108
  }
97
109
  else if (msg.type === 'quit') {
98
110
  requestedQuit = true;
99
- setTimeout(() => {
111
+ bindings.scheduleTimeout(() => {
100
112
  if (requestedQuit) {
101
113
  forcedTerminate = true;
102
114
  void worker.terminate();
@@ -149,24 +161,23 @@ export function runInWorker(options) {
149
161
  *
150
162
  * @param app - The TEA app to run.
151
163
  */
152
- export async function startWorkerApp(app) {
153
- if (isMainThread || !parentPort) {
164
+ export async function startWorkerApp(app, bindings = defaultWorkerThreadBindings()) {
165
+ if (bindings.isMainThread || !bindings.parentPort) {
154
166
  throw new Error('startWorkerApp must be called from within a worker thread.');
155
167
  }
156
- const initData = workerData;
168
+ const initData = bindings.workerData;
157
169
  // Create a proxy Context that speaks IPC instead of true I/O
158
- const proxyCtx = createNodeContext();
159
- installRuntimeOverlay(proxyCtx);
170
+ const proxyCtx = bindings.createNodeContext();
171
+ installRuntimeViewportOverlay(proxyCtx);
160
172
  const { setDefaultContext } = await import('@flyingrobots/bijou');
161
173
  setDefaultContext(proxyCtx);
162
- proxyCtx.runtime.columns = sanitizeDimension(initData.runtime?.columns ?? proxyCtx.runtime.columns);
163
- proxyCtx.runtime.rows = sanitizeDimension(initData.runtime?.rows ?? proxyCtx.runtime.rows);
174
+ updateRuntimeViewport(proxyCtx.runtime, initData.runtime?.columns ?? proxyCtx.runtime.columns, initData.runtime?.rows ?? proxyCtx.runtime.rows);
164
175
  // Hijack the WritePort to send frames back to main thread
165
176
  proxyCtx.io.write = (data) => {
166
- parentPort.postMessage({ type: 'render:frame', output: data });
177
+ bindings.parentPort.postMessage({ type: 'render:frame', output: data });
167
178
  };
168
179
  proxyCtx.io.writeError = (data) => {
169
- parentPort.postMessage({ type: 'error', message: data });
180
+ bindings.parentPort.postMessage({ type: 'error', message: data });
170
181
  };
171
182
  // We need to bypass the standard run() setup since the main thread
172
183
  // already handled alt screen and mouse modes. We tell run() to do nothing.
@@ -183,22 +194,21 @@ export async function startWorkerApp(app) {
183
194
  if (msg.type === 'io:data')
184
195
  handler(msg.data);
185
196
  };
186
- parentPort.on('message', listener);
197
+ bindings.parentPort.on('message', listener);
187
198
  return {
188
- dispose: () => parentPort.off('message', listener)
199
+ dispose: () => bindings.parentPort.off('message', listener)
189
200
  };
190
201
  };
191
202
  proxyCtx.io.onResize = (handler) => {
192
203
  const listener = (msg) => {
193
204
  if (msg.type === 'io:resize') {
194
- proxyCtx.runtime.columns = sanitizeDimension(msg.columns);
195
- proxyCtx.runtime.rows = sanitizeDimension(msg.rows);
196
- handler(proxyCtx.runtime.columns, proxyCtx.runtime.rows);
205
+ const nextViewport = updateRuntimeViewport(proxyCtx.runtime, msg.columns, msg.rows);
206
+ handler(nextViewport.columns, nextViewport.rows);
197
207
  }
198
208
  };
199
- parentPort.on('message', listener);
209
+ bindings.parentPort.on('message', listener);
200
210
  return {
201
- dispose: () => parentPort.off('message', listener)
211
+ dispose: () => bindings.parentPort.off('message', listener)
202
212
  };
203
213
  };
204
214
  proxyCtx.io.onData = (handler) => {
@@ -206,54 +216,14 @@ export async function startWorkerApp(app) {
206
216
  if (msg.type === 'data')
207
217
  handler(msg.payload);
208
218
  };
209
- parentPort.on('message', listener);
219
+ bindings.parentPort.on('message', listener);
210
220
  return {
211
- dispose: () => parentPort.off('message', listener)
221
+ dispose: () => bindings.parentPort.off('message', listener)
212
222
  };
213
223
  };
214
224
  // Run the app using the proxy context
215
- await run(app, proxyOptions);
225
+ await bindings.runApp(app, proxyOptions);
216
226
  // Signal main thread to shut down
217
- parentPort.postMessage({ type: 'quit' });
218
- }
219
- function sanitizeDimension(value) {
220
- if (!Number.isFinite(value))
221
- return 0;
222
- return Math.max(0, Math.floor(value));
223
- }
224
- function installRuntimeOverlay(ctx) {
225
- const baseRuntime = ctx.runtime;
226
- const state = {
227
- columns: sanitizeDimension(baseRuntime.columns),
228
- rows: sanitizeDimension(baseRuntime.rows),
229
- };
230
- const runtime = {
231
- env(key) {
232
- return baseRuntime.env(key);
233
- },
234
- get stdoutIsTTY() {
235
- return baseRuntime.stdoutIsTTY;
236
- },
237
- get stdinIsTTY() {
238
- return baseRuntime.stdinIsTTY;
239
- },
240
- get columns() {
241
- return state.columns;
242
- },
243
- set columns(value) {
244
- state.columns = sanitizeDimension(value);
245
- },
246
- get rows() {
247
- return state.rows;
248
- },
249
- set rows(value) {
250
- state.rows = sanitizeDimension(value);
251
- },
252
- get refreshRate() {
253
- return baseRuntime.refreshRate;
254
- },
255
- };
256
- ctx.runtime = runtime;
257
- return runtime;
227
+ bindings.parentPort.postMessage({ type: 'quit' });
258
228
  }
259
229
  //# sourceMappingURL=worker.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"worker.js","sourceRoot":"","sources":["../../src/worker/worker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"worker.js","sourceRoot":"","sources":["../../src/worker/worker.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@flyingrobots/bijou-node",
3
- "version": "3.0.0",
3
+ "version": "3.1.0",
4
4
  "description": "Node.js adapter for bijou — chalk styling, readline I/O, process runtime.",
5
5
  "type": "module",
6
6
  "sideEffects": false,
@@ -24,13 +24,13 @@
24
24
  "lint": "tsc --noEmit"
25
25
  },
26
26
  "dependencies": {
27
- "@flyingrobots/bijou-tui": "3.0.0",
27
+ "@flyingrobots/bijou-tui": "3.1.0",
28
28
  "chalk": "^5.6.2",
29
29
  "gifenc": "^1.0.3",
30
30
  "oled-font-5x7": "^1.0.3"
31
31
  },
32
32
  "peerDependencies": {
33
- "@flyingrobots/bijou": "3.0.0"
33
+ "@flyingrobots/bijou": "3.1.0"
34
34
  },
35
35
  "devDependencies": {
36
36
  "@types/node": "^22.0.0",