mirror of
https://github.com/morluto/rea.git
synced 2026-10-22 13:52:32 -05:00
* perf(test): reuse one compiled CLI process per JavaScript application file analyzeJavaScriptDirectory CLI cases were still starting a fresh process after stdio MCP reuse. Keep one compiled process for the same child environment so later cases skip Node and CLI startup. Co-authored-by: morluto <morluto@users.noreply.github.com> * fix(test): bound shared CLI worker lifetime Retire a worker that reports a fatal failure before resolving that command, and wait for it to exit before the next command starts. Join a session frame once its bytes are complete instead of copying the unfinished buffer on every chunk. Restart the shared process after 32 commands or a reported 1 GiB resident set so one file does not keep a single heap high-water mark. Co-authored-by: morluto <morluto@users.noreply.github.com> * fix(test): retire a shared CLI worker after a transport failure A malformed session frame rejected the command and sent SIGTERM without clearing the worker. signalCode stays unset until the process exits, so the next queued command could write to that same process. Transport failures now use the fatal-reply retirement path and the queue waits for that exit. Co-authored-by: morluto <morluto@users.noreply.github.com> --------- Co-authored-by: Cursor Agent <cursoragent@cursor.com> Co-authored-by: morluto <morluto@users.noreply.github.com>
14 lines
539 B
TypeScript
14 lines
539 B
TypeScript
/** Largest accepted session message, including the encoded command result. */
|
|
export const MAX_CLI_SESSION_FRAME_BYTES: number;
|
|
|
|
/** Length-prefixed JSON frame shared by the session parent and worker. */
|
|
export function encodeCliSessionFrame(value: unknown): Buffer;
|
|
|
|
/**
|
|
* Parse complete frames from a byte stream. An oversized or malformed frame
|
|
* fails the reader instead of resynchronizing on a later length.
|
|
*/
|
|
export function createCliSessionFrameReader(
|
|
onFrame: (value: unknown) => void,
|
|
): (chunk: Buffer | string) => void;
|