char-slop/berry

multipurpose self-modifiable agentic harness

git clone https://git.t4t.associates/char-slop/berry

Charlotte Sommcp: implement bounded environment-aware stdio transport77bec20

main
904 B23 linesraw
1import { Buffer } from "node:buffer";
2
3/** Bounded newline frames, including a final frame without a newline. */
4export async function* lines(reader: ReadableStreamDefaultReader<Uint8Array>) {
5  const limit = 16 * 1024 * 1024;
6  let buffered = "";
7  const decoder = new TextDecoder("utf-8");
8  while (true) {
9    const { done, value } = await reader.read();
10    if (done) break;
11    buffered += decoder.decode(value, { stream: true });
12    let newline: number;
13    while ((newline = buffered.indexOf("\n")) >= 0) {
14      const line = buffered.slice(0, newline);
15      if (Buffer.byteLength(line) > limit) throw new Error("MCP frame exceeds 16 MiB");
16      buffered = buffered.slice(newline + 1);
17      if (line.trim()) yield line;
18    }
19    if (Buffer.byteLength(buffered) > limit) throw new Error("MCP frame exceeds 16 MiB");
20  }
21  buffered += decoder.decode();
22  if (buffered.trim()) yield buffered;
23}