@flyingrobots/bijou-node 7.1.0 → 7.2.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 (73) hide show
  1. package/dist/gifenc-runtime.d.ts +5 -0
  2. package/dist/gifenc-runtime.d.ts.map +1 -0
  3. package/dist/gifenc-runtime.js +30 -0
  4. package/dist/gifenc-runtime.js.map +1 -0
  5. package/dist/index.d.ts +6 -45
  6. package/dist/index.d.ts.map +1 -1
  7. package/dist/index.js +20 -10
  8. package/dist/index.js.map +1 -1
  9. package/dist/index.test-support.d.ts +11 -0
  10. package/dist/index.test-support.d.ts.map +1 -0
  11. package/dist/index.test-support.js +9 -0
  12. package/dist/index.test-support.js.map +1 -0
  13. package/dist/index.test-support.part01.d.ts +28 -0
  14. package/dist/index.test-support.part01.d.ts.map +1 -0
  15. package/dist/index.test-support.part01.js +89 -0
  16. package/dist/index.test-support.part01.js.map +1 -0
  17. package/dist/index.test-support.part02.d.ts +5 -0
  18. package/dist/index.test-support.part02.d.ts.map +1 -0
  19. package/dist/index.test-support.part02.js +63 -0
  20. package/dist/index.test-support.part02.js.map +1 -0
  21. package/dist/io-types.d.ts +26 -0
  22. package/dist/io-types.d.ts.map +1 -0
  23. package/dist/io-types.js +2 -0
  24. package/dist/io-types.js.map +1 -0
  25. package/dist/io.d.ts +3 -18
  26. package/dist/io.d.ts.map +1 -1
  27. package/dist/io.js +10 -17
  28. package/dist/io.js.map +1 -1
  29. package/dist/io.test-support.d.ts +5 -0
  30. package/dist/io.test-support.d.ts.map +1 -0
  31. package/dist/io.test-support.js +13 -0
  32. package/dist/io.test-support.js.map +1 -0
  33. package/dist/oled-font.d.ts +8 -0
  34. package/dist/oled-font.d.ts.map +1 -0
  35. package/dist/oled-font.js +28 -0
  36. package/dist/oled-font.js.map +1 -0
  37. package/dist/options.d.ts +48 -0
  38. package/dist/options.d.ts.map +1 -0
  39. package/dist/options.js +2 -0
  40. package/dist/options.js.map +1 -0
  41. package/dist/readline-output.d.ts +3 -0
  42. package/dist/readline-output.d.ts.map +1 -0
  43. package/dist/readline-output.js +20 -0
  44. package/dist/readline-output.js.map +1 -0
  45. package/dist/recorder.d.ts.map +1 -1
  46. package/dist/recorder.js +23 -24
  47. package/dist/recorder.js.map +1 -1
  48. package/dist/runtime.d.ts.map +1 -1
  49. package/dist/runtime.js +10 -4
  50. package/dist/runtime.js.map +1 -1
  51. package/dist/style.d.ts +1 -8
  52. package/dist/style.d.ts.map +1 -1
  53. package/dist/style.js +8 -3
  54. package/dist/style.js.map +1 -1
  55. package/dist/worker/fixtures/echo-worker.js +7 -6
  56. package/dist/worker/fixtures/echo-worker.js.map +1 -1
  57. package/dist/worker/worker-data.d.ts +25 -0
  58. package/dist/worker/worker-data.d.ts.map +1 -0
  59. package/dist/worker/worker-data.js +44 -0
  60. package/dist/worker/worker-data.js.map +1 -0
  61. package/dist/worker/worker-mouse-mode.d.ts +10 -0
  62. package/dist/worker/worker-mouse-mode.d.ts.map +1 -0
  63. package/dist/worker/worker-mouse-mode.js +14 -0
  64. package/dist/worker/worker-mouse-mode.js.map +1 -0
  65. package/dist/worker/worker-options.d.ts +33 -0
  66. package/dist/worker/worker-options.d.ts.map +1 -0
  67. package/dist/worker/worker-options.js +2 -0
  68. package/dist/worker/worker-options.js.map +1 -0
  69. package/dist/worker/worker.d.ts +7 -36
  70. package/dist/worker/worker.d.ts.map +1 -1
  71. package/dist/worker/worker.js +56 -44
  72. package/dist/worker/worker.js.map +1 -1
  73. package/package.json +3 -3
@@ -0,0 +1,44 @@
1
+ export function hasBijouWorkerFlag(value) {
2
+ return isObjectRecord(value) && value['isBijouWorker'] === true;
3
+ }
4
+ export function readBijouWorkerData(value) {
5
+ if (!hasBijouWorkerFlag(value)) {
6
+ throw new Error('startWorkerApp requires Bijou worker data');
7
+ }
8
+ const options = value.options;
9
+ const runtime = value.runtime;
10
+ if (!isWorkerSerializableOptions(options) || !isRuntimeViewportData(runtime)) {
11
+ throw new Error('startWorkerApp received malformed Bijou worker data');
12
+ }
13
+ return {
14
+ isBijouWorker: true,
15
+ options,
16
+ runtime,
17
+ };
18
+ }
19
+ export function isObjectRecord(value) {
20
+ return value !== null && typeof value === 'object' && !Array.isArray(value);
21
+ }
22
+ function isWorkerSerializableOptions(value) {
23
+ return isObjectRecord(value)
24
+ && optionalBoolean(value['altScreen'])
25
+ && optionalBoolean(value['hideCursor'])
26
+ && optionalBoolean(value['mouse'])
27
+ && optionalMouseMode(value['mouseMode'])
28
+ && optionalString(value['css']);
29
+ }
30
+ function isRuntimeViewportData(value) {
31
+ return isObjectRecord(value)
32
+ && typeof value['columns'] === 'number'
33
+ && typeof value['rows'] === 'number';
34
+ }
35
+ function optionalBoolean(value) {
36
+ return value === undefined || typeof value === 'boolean';
37
+ }
38
+ function optionalMouseMode(value) {
39
+ return value === undefined || value === 'press' || value === 'drag' || value === 'any';
40
+ }
41
+ function optionalString(value) {
42
+ return value === undefined || typeof value === 'string';
43
+ }
44
+ //# sourceMappingURL=worker-data.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worker-data.js","sourceRoot":"","sources":["../../src/worker/worker-data.ts"],"names":[],"mappings":"AAuBA,MAAM,UAAU,kBAAkB,CAAC,KAAc;IAC/C,OAAO,cAAc,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,eAAe,CAAC,KAAK,IAAI,CAAC;AAClE,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,KAAc;IAChD,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;IAC/D,CAAC;IAED,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;IAC9B,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;IAC9B,IAAI,CAAC,2BAA2B,CAAC,OAAO,CAAC,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,EAAE,CAAC;QAC7E,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;IACzE,CAAC;IAED,OAAO;QACL,aAAa,EAAE,IAAI;QACnB,OAAO;QACP,OAAO;KACR,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,KAAc;IAC3C,OAAO,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC;AAED,SAAS,2BAA2B,CAAC,KAAc;IACjD,OAAO,cAAc,CAAC,KAAK,CAAC;WACvB,eAAe,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;WACnC,eAAe,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;WACpC,eAAe,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;WAC/B,iBAAiB,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;WACrC,cAAc,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;AACpC,CAAC;AAED,SAAS,qBAAqB,CAAC,KAAc;IAC3C,OAAO,cAAc,CAAC,KAAK,CAAC;WACvB,OAAO,KAAK,CAAC,SAAS,CAAC,KAAK,QAAQ;WACpC,OAAO,KAAK,CAAC,MAAM,CAAC,KAAK,QAAQ,CAAC;AACzC,CAAC;AAED,SAAS,eAAe,CAAC,KAAc;IACrC,OAAO,KAAK,KAAK,SAAS,IAAI,OAAO,KAAK,KAAK,SAAS,CAAC;AAC3D,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAc;IACvC,OAAO,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,OAAO,IAAI,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,KAAK,CAAC;AACzF,CAAC;AAED,SAAS,cAAc,CAAC,KAAc;IACpC,OAAO,KAAK,KAAK,SAAS,IAAI,OAAO,KAAK,KAAK,QAAQ,CAAC;AAC1D,CAAC"}
@@ -0,0 +1,10 @@
1
+ export type WorkerMouseTrackingMode = 'press' | 'drag' | 'any';
2
+ export declare const DISABLE_MOUSE = "\u001B[?1000l\u001B[?1002l\u001B[?1003l\u001B[?1006l";
3
+ interface WorkerMouseModeOptions {
4
+ readonly mouse?: boolean;
5
+ readonly mouseMode?: WorkerMouseTrackingMode;
6
+ }
7
+ export declare function resolveWorkerMouseMode(options: WorkerMouseModeOptions): WorkerMouseTrackingMode | undefined;
8
+ export declare function mouseModeEnableSequence(mode: WorkerMouseTrackingMode): string;
9
+ export {};
10
+ //# sourceMappingURL=worker-mouse-mode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worker-mouse-mode.d.ts","sourceRoot":"","sources":["../../src/worker/worker-mouse-mode.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,uBAAuB,GAAG,OAAO,GAAG,MAAM,GAAG,KAAK,CAAC;AAE/D,eAAO,MAAM,aAAa,yDAAiD,CAAC;AAE5E,UAAU,sBAAsB;IAC9B,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,SAAS,CAAC,EAAE,uBAAuB,CAAC;CAC9C;AAED,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,sBAAsB,GAC9B,uBAAuB,GAAG,SAAS,CAGrC;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,uBAAuB,GAAG,MAAM,CAI7E"}
@@ -0,0 +1,14 @@
1
+ export const DISABLE_MOUSE = '\x1b[?1000l\x1b[?1002l\x1b[?1003l\x1b[?1006l';
2
+ export function resolveWorkerMouseMode(options) {
3
+ if (options.mouseMode !== undefined)
4
+ return options.mouseMode;
5
+ return options.mouse === true ? 'drag' : undefined;
6
+ }
7
+ export function mouseModeEnableSequence(mode) {
8
+ if (mode === 'press')
9
+ return '\x1b[?1000h\x1b[?1002l\x1b[?1003l\x1b[?1006h';
10
+ if (mode === 'any')
11
+ return '\x1b[?1000h\x1b[?1002l\x1b[?1003h\x1b[?1006h';
12
+ return '\x1b[?1000h\x1b[?1002h\x1b[?1003l\x1b[?1006h';
13
+ }
14
+ //# sourceMappingURL=worker-mouse-mode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worker-mouse-mode.js","sourceRoot":"","sources":["../../src/worker/worker-mouse-mode.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,aAAa,GAAG,8CAA8C,CAAC;AAO5E,MAAM,UAAU,sBAAsB,CACpC,OAA+B;IAE/B,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS;QAAE,OAAO,OAAO,CAAC,SAAS,CAAC;IAC9D,OAAO,OAAO,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;AACrD,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,IAA6B;IACnE,IAAI,IAAI,KAAK,OAAO;QAAE,OAAO,8CAA8C,CAAC;IAC5E,IAAI,IAAI,KAAK,KAAK;QAAE,OAAO,8CAA8C,CAAC;IAC1E,OAAO,8CAA8C,CAAC;AACxD,CAAC"}
@@ -0,0 +1,33 @@
1
+ import type { BijouContext } from '@flyingrobots/bijou';
2
+ import type { WorkerMouseTrackingMode } from './worker-mouse-mode.js';
3
+ /** Options for starting an app in a background worker. */
4
+ export interface RunWorkerOptions {
5
+ /** The absolute path to the worker entry file. */
6
+ entry: string;
7
+ /** Optional Bijou context for the host thread. */
8
+ ctx?: BijouContext;
9
+ /** Enter the alternate screen buffer on startup. */
10
+ altScreen?: boolean;
11
+ /** Hide the cursor on startup. */
12
+ hideCursor?: boolean;
13
+ /** Enable mouse input. */
14
+ mouse?: boolean;
15
+ /** Mouse tracking mode. Supplying this implies `mouse: true`. */
16
+ mouseMode?: WorkerMouseTrackingMode;
17
+ /** Optional BCSS stylesheet string. */
18
+ css?: string;
19
+ /** Callback for custom data messages sent from the worker. */
20
+ onMessage?: (payload: unknown) => void;
21
+ /** Optional arguments passed to the Node.js worker process. */
22
+ execArgv?: string[];
23
+ }
24
+ /** Handle for a running background worker. */
25
+ export interface WorkerHandle {
26
+ /** Sends a custom data message to the worker thread. */
27
+ send(payload: unknown): void;
28
+ /** Forcefully terminate the worker thread. */
29
+ terminate(): Promise<void>;
30
+ /** Resolves when the worker exits cleanly. */
31
+ onExit: Promise<void>;
32
+ }
33
+ //# sourceMappingURL=worker-options.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worker-options.d.ts","sourceRoot":"","sources":["../../src/worker/worker-options.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AAEtE,0DAA0D;AAC1D,MAAM,WAAW,gBAAgB;IAC/B,kDAAkD;IAClD,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,0BAA0B;IAC1B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,iEAAiE;IACjE,SAAS,CAAC,EAAE,uBAAuB,CAAC;IACpC,uCAAuC;IACvC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,8DAA8D;IAC9D,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IACvC,+DAA+D;IAC/D,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB;AAED,8CAA8C;AAC9C,MAAM,WAAW,YAAY;IAC3B,wDAAwD;IACxD,IAAI,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IAC7B,8CAA8C;IAC9C,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3B,8CAA8C;IAC9C,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;CACvB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=worker-options.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worker-options.js","sourceRoot":"","sources":["../../src/worker/worker-options.ts"],"names":[],"mappings":""}
@@ -1,13 +1,17 @@
1
1
  import { type BijouContext } from '@flyingrobots/bijou';
2
2
  import type { App, RunOptions } from '@flyingrobots/bijou-tui';
3
+ import type { RunWorkerOptions, WorkerHandle } from './worker-options.js';
4
+ export type { RunWorkerOptions, WorkerHandle } from './worker-options.js';
3
5
  interface WorkerInstance {
4
6
  postMessage(message: unknown): void;
5
- on(event: string, handler: (value: any) => void): void;
7
+ on(event: 'message', handler: (value: MainMessage) => void): void;
8
+ on(event: 'error', handler: (value: Error) => void): void;
9
+ on(event: 'exit', handler: (value: number) => void): void;
6
10
  terminate(): Promise<number>;
7
11
  }
8
12
  interface WorkerParentPort {
9
- on(event: string, listener: (msg: any) => void): void;
10
- off(event: string, listener: (msg: any) => void): void;
13
+ on(event: 'message', listener: (msg: unknown) => void): void;
14
+ off(event: 'message', listener: (msg: unknown) => void): void;
11
15
  postMessage(message: unknown): void;
12
16
  }
13
17
  interface WorkerThreadBindings {
@@ -53,38 +57,6 @@ export declare function isBijouWorker(): boolean;
53
57
  * This will be received via the `onMessage` callback in `runInWorker`.
54
58
  */
55
59
  export declare function sendToMain(payload: unknown): void;
56
- /**
57
- * Options for starting an app in a background worker.
58
- */
59
- export interface RunWorkerOptions {
60
- /** The absolute path to the file containing the worker entry point. */
61
- entry: string;
62
- /** Optional Bijou context for the host thread. */
63
- ctx?: BijouContext;
64
- /** Enter the alternate screen buffer on startup. */
65
- altScreen?: boolean;
66
- /** Hide the cursor on startup. */
67
- hideCursor?: boolean;
68
- /** Enable mouse input (SGR mode). */
69
- mouse?: boolean;
70
- /** Optional BCSS stylesheet string. */
71
- css?: string;
72
- /** Optional callback for custom data messages sent from the worker via `sendToMain`. */
73
- onMessage?: (payload: unknown) => void;
74
- /** Optional arguments passed to the Node.js worker process (e.g. ['--import', 'tsx']). */
75
- execArgv?: string[];
76
- }
77
- /**
78
- * Handle for a running background worker.
79
- */
80
- export interface WorkerHandle {
81
- /** Sends a custom data message to the worker thread. */
82
- send(payload: unknown): void;
83
- /** Forcefully terminates the worker thread. */
84
- terminate(): Promise<void>;
85
- /** A promise that resolves when the worker exits cleanly. */
86
- onExit: Promise<void>;
87
- }
88
60
  /**
89
61
  * Spawns a background worker thread to run the TEA application.
90
62
  * The main thread delegates all logic to the worker, only handling raw I/O
@@ -103,5 +75,4 @@ export declare function runInWorker(options: RunWorkerOptions, bindings?: Worker
103
75
  * @param app - The TEA app to run.
104
76
  */
105
77
  export declare function startWorkerApp<Model, M>(app: App<Model, M>, bindings?: WorkerThreadBindings): Promise<void>;
106
- export {};
107
78
  //# sourceMappingURL=worker.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"worker.d.ts","sourceRoot":"","sources":["../../src/worker/worker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"worker.d.ts","sourceRoot":"","sources":["../../src/worker/worker.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,8 @@ import { resolve as resolvePath } from 'node:path';
3
3
  import { installRuntimeViewportOverlay, readRuntimeViewport, updateRuntimeViewport, } from '@flyingrobots/bijou';
4
4
  import { run } from '@flyingrobots/bijou-tui';
5
5
  import { createNodeContext } from '../index.js';
6
+ import { hasBijouWorkerFlag, isObjectRecord, readBijouWorkerData, } from './worker-data.js';
7
+ import { DISABLE_MOUSE, mouseModeEnableSequence, resolveWorkerMouseMode, } from './worker-mouse-mode.js';
6
8
  function defaultWorkerThreadBindings() {
7
9
  return {
8
10
  isMainThread,
@@ -18,15 +20,12 @@ function defaultWorkerThreadBindings() {
18
20
  },
19
21
  };
20
22
  }
21
- // ---------------------------------------------------------------------------
22
- // Worker Environment API
23
- // ---------------------------------------------------------------------------
24
23
  /**
25
24
  * Checks if the current environment is running inside a Bijou Worker.
26
25
  */
27
26
  export function isBijouWorker() {
28
27
  const bindings = defaultWorkerThreadBindings();
29
- return !bindings.isMainThread && bindings.workerData?.isBijouWorker === true;
28
+ return !bindings.isMainThread && hasBijouWorkerFlag(bindings.workerData);
30
29
  }
31
30
  /**
32
31
  * Sends a custom data message from the worker to the main thread.
@@ -54,21 +53,24 @@ export function runInWorker(options, bindings = defaultWorkerThreadBindings()) {
54
53
  installRuntimeViewportOverlay(ctx);
55
54
  const useAltScreen = options.altScreen ?? true;
56
55
  const useHideCursor = options.hideCursor ?? true;
57
- const useMouse = options.mouse ?? false;
58
- // Setup main thread screen
56
+ const mouseMode = resolveWorkerMouseMode(options);
57
+ const useMouse = mouseMode !== undefined;
59
58
  if (useAltScreen || useHideCursor) {
60
59
  ctx.io.write('\x1b[?1049h'); // ENTER_ALT_SCREEN
61
60
  if (useHideCursor)
62
61
  ctx.io.write('\x1b[?25l'); // HIDE_CURSOR
63
62
  }
64
63
  if (useMouse) {
65
- ctx.io.write('\x1b[?1000h\x1b[?1002h\x1b[?1006h'); // ENABLE_MOUSE
64
+ ctx.io.write(mouseModeEnableSequence(mouseMode)); // ENABLE_MOUSE
65
+ }
66
+ else {
67
+ ctx.io.write(DISABLE_MOUSE);
66
68
  }
67
- // Spawn the worker with structured-clone-safe options only.
68
69
  const serializableOptions = {
69
70
  altScreen: options.altScreen,
70
71
  hideCursor: options.hideCursor,
71
72
  mouse: options.mouse,
73
+ mouseMode: options.mouseMode,
72
74
  css: options.css,
73
75
  };
74
76
  const worker = bindings.createWorker(resolvePath(options.entry), {
@@ -80,7 +82,6 @@ export function runInWorker(options, bindings = defaultWorkerThreadBindings()) {
80
82
  execArgv: options.execArgv,
81
83
  // Pipe stdout/stderr so we can capture logs if needed, but primarily use IPC
82
84
  });
83
- // 1. Pipe Main Stdin -> Worker IPC
84
85
  const inputHandle = ctx.io.rawInput((data) => {
85
86
  worker.postMessage({ type: 'io:data', data });
86
87
  });
@@ -91,22 +92,17 @@ export function runInWorker(options, bindings = defaultWorkerThreadBindings()) {
91
92
  const onExit = new Promise((resolve, reject) => {
92
93
  let requestedQuit = false;
93
94
  let forcedTerminate = false;
94
- // 2. Pipe Worker IPC -> Main Stdout
95
95
  worker.on('message', (msg) => {
96
96
  if (msg.type === 'render:frame') {
97
97
  ctx.io.write(msg.output);
98
98
  }
99
99
  else if (msg.type === 'error') {
100
- if (ctx.io.writeError)
101
- ctx.io.writeError(msg.message);
102
- else
103
- ctx.io.write(msg.message);
100
+ ctx.io.writeError(msg.message);
104
101
  }
105
102
  else if (msg.type === 'data') {
106
- if (options.onMessage)
107
- options.onMessage(msg.payload);
103
+ options.onMessage?.(msg.payload);
108
104
  }
109
- else if (msg.type === 'quit') {
105
+ else {
110
106
  requestedQuit = true;
111
107
  bindings.scheduleTimeout(() => {
112
108
  if (requestedQuit) {
@@ -127,7 +123,7 @@ export function runInWorker(options, bindings = defaultWorkerThreadBindings()) {
127
123
  return;
128
124
  }
129
125
  if (code !== 0)
130
- reject(new Error(`Worker stopped with exit code ${code}`));
126
+ reject(new Error(`Worker stopped with exit code ${String(code)}`));
131
127
  else
132
128
  resolve();
133
129
  });
@@ -135,7 +131,7 @@ export function runInWorker(options, bindings = defaultWorkerThreadBindings()) {
135
131
  inputHandle.dispose();
136
132
  resizeHandle.dispose();
137
133
  if (useMouse) {
138
- ctx.io.write('\x1b[?1000l\x1b[?1002l\x1b[?1006l'); // DISABLE_MOUSE
134
+ ctx.io.write(DISABLE_MOUSE);
139
135
  }
140
136
  if (useAltScreen || useHideCursor) {
141
137
  ctx.io.write('\x1b[?1049l'); // EXIT_ALT_SCREEN
@@ -145,14 +141,11 @@ export function runInWorker(options, bindings = defaultWorkerThreadBindings()) {
145
141
  }
146
142
  });
147
143
  return {
148
- send: (payload) => worker.postMessage({ type: 'data', payload }),
144
+ send: (payload) => { worker.postMessage({ type: 'data', payload }); },
149
145
  terminate: async () => { await worker.terminate(); },
150
146
  onExit
151
147
  };
152
148
  }
153
- // ---------------------------------------------------------------------------
154
- // Worker Thread Logic
155
- // ---------------------------------------------------------------------------
156
149
  /**
157
150
  * The entry point for the worker thread. Must be called in the file
158
151
  * specified by `options.entry` in `runInWorker()`.
@@ -162,68 +155,87 @@ export function runInWorker(options, bindings = defaultWorkerThreadBindings()) {
162
155
  * @param app - The TEA app to run.
163
156
  */
164
157
  export async function startWorkerApp(app, bindings = defaultWorkerThreadBindings()) {
165
- if (bindings.isMainThread || !bindings.parentPort) {
158
+ const port = bindings.parentPort;
159
+ if (bindings.isMainThread || port === null) {
166
160
  throw new Error('startWorkerApp must be called from within a worker thread.');
167
161
  }
168
- const initData = bindings.workerData;
169
- // Create a proxy Context that speaks IPC instead of true I/O
162
+ const initData = readBijouWorkerData(bindings.workerData);
170
163
  const proxyCtx = bindings.createNodeContext();
171
164
  installRuntimeViewportOverlay(proxyCtx);
172
165
  const { setDefaultContext } = await import('@flyingrobots/bijou');
173
166
  setDefaultContext(proxyCtx);
174
- updateRuntimeViewport(proxyCtx.runtime, initData.runtime?.columns ?? proxyCtx.runtime.columns, initData.runtime?.rows ?? proxyCtx.runtime.rows);
175
- // Hijack the WritePort to send frames back to main thread
167
+ updateRuntimeViewport(proxyCtx.runtime, initData.runtime.columns, initData.runtime.rows);
168
+ const proxyMouseMode = resolveWorkerMouseMode(initData.options);
169
+ const ignoredProxyWrites = new Set([DISABLE_MOUSE]);
170
+ if (proxyMouseMode !== undefined) {
171
+ ignoredProxyWrites.add(mouseModeEnableSequence(proxyMouseMode));
172
+ }
176
173
  proxyCtx.io.write = (data) => {
177
- bindings.parentPort.postMessage({ type: 'render:frame', output: data });
174
+ if (ignoredProxyWrites.has(data))
175
+ return;
176
+ port.postMessage({ type: 'render:frame', output: data });
178
177
  };
179
178
  proxyCtx.io.writeError = (data) => {
180
- bindings.parentPort.postMessage({ type: 'error', message: data });
179
+ port.postMessage({ type: 'error', message: data });
181
180
  };
182
- // We need to bypass the standard run() setup since the main thread
183
- // already handled alt screen and mouse modes. We tell run() to do nothing.
181
+ // The main thread owns terminal mode; the worker still parses forwarded input.
184
182
  const proxyOptions = {
185
- ...initData.options,
183
+ css: initData.options.css,
186
184
  ctx: proxyCtx,
187
185
  altScreen: false,
188
186
  hideCursor: false,
189
- mouse: false,
187
+ mouse: initData.options.mouse,
188
+ mouseMode: initData.options.mouseMode,
190
189
  };
191
- // Override the io.rawInput to listen to IPC messages instead of process.stdin
192
190
  proxyCtx.io.rawInput = (handler) => {
193
191
  const listener = (msg) => {
192
+ if (!isWorkerMessage(msg))
193
+ return;
194
194
  if (msg.type === 'io:data')
195
195
  handler(msg.data);
196
196
  };
197
- bindings.parentPort.on('message', listener);
197
+ port.on('message', listener);
198
198
  return {
199
- dispose: () => bindings.parentPort.off('message', listener)
199
+ dispose: () => { port.off('message', listener); }
200
200
  };
201
201
  };
202
202
  proxyCtx.io.onResize = (handler) => {
203
203
  const listener = (msg) => {
204
+ if (!isWorkerMessage(msg))
205
+ return;
204
206
  if (msg.type === 'io:resize') {
205
207
  const nextViewport = updateRuntimeViewport(proxyCtx.runtime, msg.columns, msg.rows);
206
208
  handler(nextViewport.columns, nextViewport.rows);
207
209
  }
208
210
  };
209
- bindings.parentPort.on('message', listener);
211
+ port.on('message', listener);
210
212
  return {
211
- dispose: () => bindings.parentPort.off('message', listener)
213
+ dispose: () => { port.off('message', listener); }
212
214
  };
213
215
  };
214
216
  proxyCtx.io.onData = (handler) => {
215
217
  const listener = (msg) => {
218
+ if (!isWorkerMessage(msg))
219
+ return;
216
220
  if (msg.type === 'data')
217
221
  handler(msg.payload);
218
222
  };
219
- bindings.parentPort.on('message', listener);
223
+ port.on('message', listener);
220
224
  return {
221
- dispose: () => bindings.parentPort.off('message', listener)
225
+ dispose: () => { port.off('message', listener); }
222
226
  };
223
227
  };
224
- // Run the app using the proxy context
225
228
  await bindings.runApp(app, proxyOptions);
226
- // Signal main thread to shut down
227
- bindings.parentPort.postMessage({ type: 'quit' });
229
+ port.postMessage({ type: 'quit' });
230
+ }
231
+ function isWorkerMessage(msg) {
232
+ if (!isObjectRecord(msg))
233
+ return false;
234
+ if (msg['type'] === 'io:data')
235
+ return typeof msg['data'] === 'string';
236
+ if (msg['type'] === 'io:resize') {
237
+ return typeof msg['columns'] === 'number' && typeof msg['rows'] === 'number';
238
+ }
239
+ return msg['type'] === 'data' || msg['type'] === 'quit';
228
240
  }
229
241
  //# 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": "7.1.0",
3
+ "version": "7.2.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": "7.1.0",
27
+ "@flyingrobots/bijou-tui": "7.2.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": "7.1.0"
33
+ "@flyingrobots/bijou": "7.2.0"
34
34
  },
35
35
  "devDependencies": {
36
36
  "@types/node": "^22.0.0",