chore(vendor): import pi 1.3.0

Imported as a linear vendor commit so forge rebases do not replay the upstream root tree.

git-subtree-dir: third_party/pi

git-subtree-split: 71023aec1546d6d677a65669c5665c0927ce0dd0
This commit is contained in:
2026-10-15 17:58:48 -04:00
parent 719370c8f7
commit 6081e3e325
1743 changed files with 205460 additions and 131705 deletions

View File

@@ -152,6 +152,20 @@ export function assistantMsg(text: string) {
};
}
/**
* Read a session JSONL file and return one label per record: the message role for
* message entries, otherwise the entry type (e.g. "session", "model_change").
*/
export function readSessionFileRoles(file: string): string[] {
return readFileSync(file, "utf-8")
.trim()
.split("\n")
.map((line) => {
const record = JSON.parse(line);
return record.message?.role ?? record.type;
});
}
/**
* Options for creating a test session.
*/