five-on-it / apps/api/src/plain
apps/api/src/plain
The model's answers as an owner reads them in ?create: plain words for someone who has never written code. plainReply takes what the model said and leaves its sentences alone, without what only the model and the tools understand: fenced blocks (a map, a spec), JSON, the lines of a map drawn in characters, inline code, Markdown's marks (headings, bold, bullets, links but for their words), the platform's internal ids (draft-…, job-…, g-…, foi://…) and the tools' and fields' names (draft_build, level_spec_set); its whitespace collapsed and cut to about 600 characters at the end of a sentence. The card and the rules already ask the model to answer this way (apps/creator's card.ts); this is the runner's guard (runner.ts) and the API's second one, when a turn finishes (creations.ts). The creator runner imports it from here, as it does the API's settings.