From ee137774d3ffe77fa0eff48ba425cd8cdf65d593 Mon Sep 17 00:00:00 2001 From: geoffsee <> Date: Fri, 13 Jun 2025 14:03:53 -0400 Subject: [PATCH] wip --- .gitignore | 1 + bun.lockb | Bin 82793 -> 83845 bytes package.json | 4 +++- scripts/download_optimization_model.sh | 4 ++++ scripts/optimize-ignore.ts | 30 +++++++++++++++++++++++++ src/cli.ts | 25 ++++++++++++++++++++- 6 files changed, 62 insertions(+), 2 deletions(-) create mode 100644 scripts/download_optimization_model.sh create mode 100755 scripts/optimize-ignore.ts diff --git a/.gitignore b/.gitignore index 4076ee1..941af50 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,4 @@ prompt.md todo .toak-ignore +/google_gemma-3-1b-it-Q6_K.llamafile diff --git a/bun.lockb b/bun.lockb index 45b6afc62f40df2bccc9b0fb0b1c691be350afcd..11d9545960da6fe148d6cc0c5d24627cb89ea986 100755 GIT binary patch delta 14317 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 V$e`3;la>@Vz delta 13804 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 setTimeout(resolve, 5000)); + + const prompt = `You are a helpful assistant. +## Context +~~~ +${content} +~~~ +Respond with a list of files that should be added to the .toak-ignore file to reduce noise in the context. No extra text or explanations.`; + + async function run() { + try { + const response = await fetch('http://127.0.0.1:8080/completion', { + method: 'POST', + body: JSON.stringify({ + prompt, + n_predict: 512, + }), + }); + const data = await response.json(); + console.log(data.content); + } catch (error) { + console.error('Error:', error); + } + } + await run(); + inferenceProcess.kill(); +} \ No newline at end of file diff --git a/src/cli.ts b/src/cli.ts index 8d519b4..e9c63fc 100644 --- a/src/cli.ts +++ b/src/cli.ts @@ -3,10 +3,22 @@ import type { PresetPrompt } from './prompts'; console.log('RUNNING TOKENIZER'); import { MarkdownGenerator, type MarkdownGeneratorOptions } from './MarkdownGenerator'; +import { optimizeToakIgnore } from '../scripts/optimize-ignore.ts'; + +let output = ''; +process.stdout.write = (write => { + return (str: string | Uint8Array, ...args: any) => { + output += str.toString(); + return write.apply(process.stdout, [str, ...args]); + }; +})(process.stdout.write); + +let optimizeIgnore = false; const args = process.argv.slice(2); const options: { prompt?: PresetPrompt; } & MarkdownGeneratorOptions = { + }; type ValidArg = keyof MarkdownGeneratorOptions; @@ -18,6 +30,10 @@ for (let i = 0; i < args.length; i++) { options["todoPrompt"] = args[i + 1] i++; } + if (args[i] === '--optimize-ignore') { + optimizeIgnore = true; + i++; + } const arg = args[i].replace(/^--/, ''); if (arg as any satisfies ValidArg) { // @ts-ignore - arg can't be used to index options @@ -30,12 +46,19 @@ for (let i = 0; i < args.length; i++) { } const generator = new MarkdownGenerator(options); + + + + generator .createMarkdownDocument() - .then((result: { success: boolean }) => { + .then(async (result: { success: boolean }) => { if (!result.success) { process.exit(1); } + if (optimizeIgnore) { + await optimizeToakIgnore(output); + } }) .catch((error: any) => { console.error('Error:', error);