From 87ddc2b73a87788b2c0805cb3c8aae8f24ed091f Mon Sep 17 00:00:00 2001 From: -Puter <22245429+puterhimself@users.noreply.github.com> Date: Sun, 19 Jul 2026 06:30:32 +0530 Subject: [PATCH] Limit documentation update prompts --- scripts/update-docs.ts | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/scripts/update-docs.ts b/scripts/update-docs.ts index 6751fc4..1cebf2a 100644 --- a/scripts/update-docs.ts +++ b/scripts/update-docs.ts @@ -14,6 +14,11 @@ const excludedPrefixes = [ "apps/native/web-build/", "packages/backend/convex/_generated/", ]; +const maxPromptCharacters = 900_000; + +const diffExclusions = excludedPrefixes.map( + (prefix) => `:(exclude,glob)${prefix}**` +); const documentationNames = new Set([ "AGENTS.md", @@ -229,16 +234,7 @@ try { const [changedFiles, documentationFiles, diffResult] = await Promise.all([ listChangedFiles(range), listDocumentationFiles(), - run([ - "git", - "diff", - "--binary", - "--find-renames", - range, - "--", - ".", - ":(exclude)repos/**", - ]), + run(["git", "diff", "--find-renames", range, "--", ".", ...diffExclusions]), ]); if (diffResult.exitCode !== 0) { throw new Error( @@ -253,10 +249,16 @@ try { documentationFiles, diff: diffResult.stdout, }); + if (prompt.length > maxPromptCharacters) { + throw new Error( + `Generated documentation prompt is ${prompt.length} characters, exceeding the ${maxPromptCharacters} character safety limit. Use a smaller revision range.` + ); + } console.log(`Revision: ${range}`); console.log(`Agent: ${agent}`); console.log(`Changed first-party files: ${changedFiles.length}`); + console.log(`Prompt characters: ${prompt.length}`); console.log(`Command: ${formatCommand(command)} < generated-prompt`); if (values["dry-run"]) {