- Simplified auth module by removing unused imports and code - Cleaned up shared models by removing unused structs (Organization, User, Bot, etc.) - Updated add-req.sh to comment out unused directories - Modified LLM fallback strategy in README with additional notes about model behaviors The changes focus on removing unused code and improving documentation while maintaining existing functionality. The auth module was significantly reduced by removing redundant code, and similar cleanup was applied to shared models. The build script was adjusted to reflect currently used directories.
101 lines
2.2 KiB
Bash
Executable file
101 lines
2.2 KiB
Bash
Executable file
#!/bin/bash
|
|
|
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
PROJECT_ROOT="$SCRIPT_DIR"
|
|
OUTPUT_FILE="/tmp/prompt.out"
|
|
|
|
echo "Consolidated LLM Context" > "$OUTPUT_FILE"
|
|
|
|
prompts=(
|
|
"./prompts/dev/platform/shared.md"
|
|
"./prompts/dev/platform/cli.md"
|
|
"./prompts/dev/platform/ide.md"
|
|
"./Cargo.toml"
|
|
)
|
|
|
|
for file in "${prompts[@]}"; do
|
|
if [ -f "$file" ]; then
|
|
cat "$file" >> "$OUTPUT_FILE"
|
|
echo "" >> "$OUTPUT_FILE"
|
|
fi
|
|
done
|
|
|
|
dirs=(
|
|
"auth"
|
|
# "automation"
|
|
# "basic"
|
|
# "bootstrap"
|
|
"bot"
|
|
# "channels"
|
|
# "config"
|
|
# "context"
|
|
# "drive_monitor"
|
|
# "email"
|
|
# "file"
|
|
# "kb"
|
|
# "llm"
|
|
# "llm_models"
|
|
# "org"
|
|
# "package"
|
|
# "package_manager"
|
|
# "riot_compiler"
|
|
"session"
|
|
"shared"
|
|
# "tests"
|
|
# "tools"
|
|
# "ui"
|
|
# "web_server"
|
|
# "web_automation"
|
|
# "whatsapp"
|
|
)
|
|
|
|
filter_rust_file() {
|
|
sed -E '/^\s*\/\//d' "$1" | \
|
|
sed -E '/info!\s*\(/d' | \
|
|
sed -E '/debug!\s*\(/d' | \
|
|
sed -E '/trace!\s*\(/d'
|
|
}
|
|
|
|
for dir in "${dirs[@]}"; do
|
|
find "$PROJECT_ROOT/src/$dir" -name "*.rs" | while read -r file; do
|
|
echo "$file" >> "$OUTPUT_FILE"
|
|
filter_rust_file "$file" >> "$OUTPUT_FILE"
|
|
echo "" >> "$OUTPUT_FILE"
|
|
done
|
|
done
|
|
|
|
# Additional specific files
|
|
files=(
|
|
"$PROJECT_ROOT/src/main.rs"
|
|
#"$PROJECT_ROOT/src/basic/keywords/mod.rs"
|
|
|
|
)
|
|
|
|
for file in "${files[@]}"; do
|
|
if [[ "$file" == *.rs ]]; then
|
|
echo "$file" >> "$OUTPUT_FILE"
|
|
filter_rust_file "$file" >> "$OUTPUT_FILE"
|
|
else
|
|
echo "$file" >> "$OUTPUT_FILE"
|
|
cat "$file" >> "$OUTPUT_FILE"
|
|
fi
|
|
done
|
|
|
|
# Remove all blank lines and reduce whitespace greater than 1 space
|
|
sed -i 's/[[:space:]]*$//' "$OUTPUT_FILE"
|
|
sed -i '/^$/d' "$OUTPUT_FILE"
|
|
sed -i 's/ \+/ /g' "$OUTPUT_FILE"
|
|
|
|
# Calculate and display token count (approximation: words * 1.3)
|
|
WORD_COUNT=$(wc -w < "$OUTPUT_FILE")
|
|
TOKEN_COUNT=$(echo "$WORD_COUNT * 1.3 / 1" | bc)
|
|
FILE_SIZE=$(wc -c < "$OUTPUT_FILE")
|
|
|
|
echo "" >> "$OUTPUT_FILE"
|
|
|
|
echo "Approximate token count: $TOKEN_COUNT"
|
|
echo "Context size: $FILE_SIZE bytes"
|
|
|
|
cat "$OUTPUT_FILE" | xclip -selection clipboard
|
|
echo "Content copied to clipboard (xclip)"
|
|
rm -f "$OUTPUT_FILE"
|