autogit-tool 1.0.16 → 1.0.17

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,18 +1,16 @@
1
1
  import type { ScanResult } from '../scanner/file-scanner.js';
2
2
  export interface CodeSummary {
3
- /** Concatenated content of source files, cleaned and truncated for the AI */
4
3
  content: string;
5
- /** Total source files read */
6
4
  filesRead: number;
7
- /** Total characters sent */
8
5
  charCount: number;
9
6
  }
10
7
  /**
11
- * Read source files and build a compact content string for the AI.
12
- * Strategy:
13
- * 1. Read all source files, largest-first (main app files tend to be bigger)
14
- * 2. For each file strip comments-only lines, blank runs, and CSS/HTML style blocks
15
- * 3. Concatenate with file headers until the token budget is used up
8
+ * Build a smart code summary extracts meaningful logic, strips boilerplate.
9
+ *
10
+ * For Python: keeps imports, constants, and each function with its docstring
11
+ * + first 30 lines of body. Skips pure UI rendering functions.
12
+ * For JS/TS: keeps imports, type definitions, and exported functions.
13
+ * Result stays under ~7k tokens so it works on Groq free tier.
16
14
  */
17
15
  export declare function buildCodeSummary(rootDir: string, scan: ScanResult): Promise<CodeSummary>;
18
16
  //# sourceMappingURL=code-reader.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"code-reader.d.ts","sourceRoot":"","sources":["../../src/ai/code-reader.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAE7D,MAAM,WAAW,WAAW;IAC1B,6EAA6E;IAC7E,OAAO,EAAE,MAAM,CAAC;IAChB,8BAA8B;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,4BAA4B;IAC5B,SAAS,EAAE,MAAM,CAAC;CACnB;AAgBD;;;;;;GAMG;AACH,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,UAAU,GACf,OAAO,CAAC,WAAW,CAAC,CAoDtB"}
1
+ {"version":3,"file":"code-reader.d.ts","sourceRoot":"","sources":["../../src/ai/code-reader.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAE7D,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAgBD;;;;;;;GAOG;AACH,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,UAAU,GACf,OAAO,CAAC,WAAW,CAAC,CAkDtB"}
@@ -4,24 +4,25 @@ const IGNORED_PATTERNS = [
4
4
  ];
5
5
  const SOURCE_EXTS = new Set([
6
6
  '.py', '.ts', '.tsx', '.js', '.jsx', '.go', '.rs', '.java',
7
- '.kt', '.cs', '.rb', '.php', '.swift', '.c', '.cpp', '.h',
8
- '.vue', '.svelte', '.ex', '.exs',
7
+ '.kt', '.cs', '.rb', '.php', '.swift', '.vue', '.svelte',
9
8
  ]);
10
- const MAX_TOTAL_CHARS = 80_000; // ~20k tokens — enough for the AI to understand the codebase
11
- const MAX_FILE_CHARS = 60_000; // single large file cap
9
+ // Keep under ~7k tokens (≈28k chars) safe for Groq free tier (12k TPM limit)
10
+ const MAX_TOTAL_CHARS = 22_000;
11
+ const MAX_FILE_CHARS = 18_000;
12
12
  /**
13
- * Read source files and build a compact content string for the AI.
14
- * Strategy:
15
- * 1. Read all source files, largest-first (main app files tend to be bigger)
16
- * 2. For each file strip comments-only lines, blank runs, and CSS/HTML style blocks
17
- * 3. Concatenate with file headers until the token budget is used up
13
+ * Build a smart code summary extracts meaningful logic, strips boilerplate.
14
+ *
15
+ * For Python: keeps imports, constants, and each function with its docstring
16
+ * + first 30 lines of body. Skips pure UI rendering functions.
17
+ * For JS/TS: keeps imports, type definitions, and exported functions.
18
+ * Result stays under ~7k tokens so it works on Groq free tier.
18
19
  */
19
20
  export async function buildCodeSummary(rootDir, scan) {
20
21
  const { readFileSync } = await import('fs');
21
22
  const sourceFiles = scan.files
22
23
  .filter(f => SOURCE_EXTS.has(f.extension) &&
23
24
  !IGNORED_PATTERNS.some(p => p.test(f.relativePath)))
24
- .sort((a, b) => b.size - a.size); // largest first — usually the main files
25
+ .sort((a, b) => b.size - a.size);
25
26
  const parts = [];
26
27
  let totalChars = 0;
27
28
  let filesRead = 0;
@@ -30,34 +31,159 @@ export async function buildCodeSummary(rootDir, scan) {
30
31
  break;
31
32
  let raw;
32
33
  try {
33
- // latin1 handles emoji/special chars in Python files without throwing
34
34
  raw = readFileSync(file.path, 'latin1');
35
35
  }
36
36
  catch {
37
37
  continue;
38
38
  }
39
- // Strip non-ASCII to make content clean for the AI
40
- let content = raw.replace(/[^\x09\x0A\x0D\x20-\x7E]/g, '');
41
- // Strip large CSS style blocks (common in Streamlit apps)
42
- content = content.replace(/st\.markdown\s*\(\s*"""[\s\S]*?"""\s*,\s*unsafe_allow_html=True\)/g, '# [CSS/HTML block removed for brevity]');
43
- // Condense runs of blank lines to single blank
44
- content = content.replace(/\n{3,}/g, '\n\n');
45
- // Cap individual file
46
- if (content.length > MAX_FILE_CHARS) {
47
- content = content.slice(0, MAX_FILE_CHARS) + '\n# ... [truncated]';
39
+ raw = raw.replace(/[^\x09\x0A\x0D\x20-\x7E]/g, '');
40
+ // Strip Streamlit CSS/HTML style blocks
41
+ raw = raw
42
+ .replace(/st\.markdown\s*\(\s*f?"""[\s\S]*?"""\s*,\s*unsafe_allow_html=True\)/g, '# [style block]')
43
+ .replace(/\/\*[\s\S]*?\*\//g, '')
44
+ .replace(/\n{3,}/g, '\n\n');
45
+ let content;
46
+ if (file.extension === '.py') {
47
+ content = extractPythonCore(raw);
48
48
  }
49
- const remaining = MAX_TOTAL_CHARS - totalChars;
50
- if (content.length > remaining) {
51
- content = content.slice(0, remaining) + '\n# ... [truncated]';
49
+ else if (['.ts', '.tsx', '.js', '.jsx'].includes(file.extension)) {
50
+ content = extractJSCore(raw);
51
+ }
52
+ else {
53
+ content = raw.slice(0, 6000);
52
54
  }
53
- parts.push(`\n${'─'.repeat(60)}\n# FILE: ${file.relativePath}\n${'─'.repeat(60)}\n${content}`);
55
+ const remaining = MAX_TOTAL_CHARS - totalChars;
56
+ if (content.length > remaining)
57
+ content = content.slice(0, remaining) + '\n# [truncated]';
58
+ if (content.length > MAX_FILE_CHARS)
59
+ content = content.slice(0, MAX_FILE_CHARS) + '\n# [truncated]';
60
+ if (!content.trim())
61
+ continue;
62
+ parts.push(`\n${'─'.repeat(50)}\n# FILE: ${file.relativePath}\n${'─'.repeat(50)}\n${content}`);
54
63
  totalChars += content.length;
55
64
  filesRead++;
56
65
  }
57
- return {
58
- content: parts.join('\n'),
59
- filesRead,
60
- charCount: totalChars,
61
- };
66
+ return { content: parts.join('\n'), filesRead, charCount: totalChars };
67
+ }
68
+ /**
69
+ * Python: imports + constants + each function (docstring + first 30 body lines)
70
+ * Skips functions that are >40% st.markdown/HTML rendering calls.
71
+ */
72
+ function extractPythonCore(raw) {
73
+ const lines = raw.split('\n');
74
+ const out = [];
75
+ // Imports
76
+ const imports = lines.filter(l => l.match(/^(?:import|from)\s+\w/)).slice(0, 20);
77
+ if (imports.length) {
78
+ out.push('# Imports:', ...imports, '');
79
+ }
80
+ // Module-level constants
81
+ const constants = lines
82
+ .filter(l => l.match(/^[A-Z_]{2,}\s*=/) || l.match(/^[a-z_]+\s*=\s*["'\d\[\{]/))
83
+ .slice(0, 8);
84
+ if (constants.length) {
85
+ out.push('# Constants:', ...constants, '');
86
+ }
87
+ // Functions
88
+ let i = 0;
89
+ while (i < lines.length) {
90
+ const line = lines[i];
91
+ const funcMatch = line.match(/^(async\s+)?def ([a-zA-Z_]\w*)\s*\(/);
92
+ if (!funcMatch) {
93
+ i++;
94
+ continue;
95
+ }
96
+ const funcLines = [line];
97
+ i++;
98
+ let bodyLines = 0;
99
+ let docDone = false;
100
+ let inDoc = false;
101
+ let docChar = '';
102
+ while (i < lines.length) {
103
+ const bl = lines[i];
104
+ if (bl.match(/^(async\s+)?def |^class /))
105
+ break;
106
+ funcLines.push(bl);
107
+ i++;
108
+ // Track docstring end
109
+ if (!docDone) {
110
+ if (!inDoc && (bl.trimStart().startsWith('"""') || bl.trimStart().startsWith("'''"))) {
111
+ inDoc = true;
112
+ docChar = bl.includes('"""') ? '"""' : "'''";
113
+ if ((bl.split(docChar).length - 1) >= 2) {
114
+ inDoc = false;
115
+ docDone = true;
116
+ }
117
+ }
118
+ else if (inDoc && bl.includes(docChar)) {
119
+ inDoc = false;
120
+ docDone = true;
121
+ }
122
+ }
123
+ else {
124
+ bodyLines++;
125
+ if (bodyLines > 30) {
126
+ funcLines.push(' # [body continues...]');
127
+ while (i < lines.length && !lines[i].match(/^(async\s+)?def |^class /))
128
+ i++;
129
+ break;
130
+ }
131
+ }
132
+ }
133
+ // Skip pure UI rendering functions
134
+ const uiLines = funcLines.filter(l => l.includes('st.markdown') || l.includes('unsafe_allow_html') || l.includes('html_block')).length;
135
+ if (uiLines > funcLines.length * 0.4 && funcLines.length > 10) {
136
+ out.push(`# [UI rendering function ${funcMatch[2]}() skipped]`, '');
137
+ continue;
138
+ }
139
+ out.push(...funcLines, '');
140
+ }
141
+ return out.join('\n');
142
+ }
143
+ /**
144
+ * JS/TS: imports + type definitions + exported functions (first 25 lines each)
145
+ */
146
+ function extractJSCore(raw) {
147
+ const lines = raw.split('\n');
148
+ const out = [];
149
+ const imports = lines.filter(l => l.match(/^import\s/)).slice(0, 20);
150
+ if (imports.length) {
151
+ out.push(...imports, '');
152
+ }
153
+ const types = lines
154
+ .filter(l => l.match(/^(?:export\s+)?(?:interface|type|enum)\s/))
155
+ .slice(0, 15);
156
+ if (types.length) {
157
+ out.push('// Types:', ...types, '');
158
+ }
159
+ let i = 0;
160
+ while (i < lines.length) {
161
+ const line = lines[i];
162
+ const isExport = line.match(/^export\s+(?:async\s+)?function\s/) ||
163
+ line.match(/^export\s+(?:default\s+)?class\s/) ||
164
+ line.match(/^export\s+const\s+\w+\s*=\s*(?:async\s+)?\(/) ||
165
+ line.match(/^(?:async\s+)?function\s+[A-Z]/);
166
+ if (!isExport) {
167
+ i++;
168
+ continue;
169
+ }
170
+ const block = [line];
171
+ i++;
172
+ let depth = (line.match(/\{/g) || []).length - (line.match(/\}/g) || []).length;
173
+ let bodyLines = 0;
174
+ while (i < lines.length && bodyLines < 25) {
175
+ const bl = lines[i];
176
+ depth += (bl.match(/\{/g) || []).length - (bl.match(/\}/g) || []).length;
177
+ block.push(bl);
178
+ i++;
179
+ bodyLines++;
180
+ if (depth <= 0)
181
+ break;
182
+ }
183
+ if (depth > 0)
184
+ block.push(' // [truncated]');
185
+ out.push(...block, '');
186
+ }
187
+ return out.join('\n');
62
188
  }
63
189
  //# sourceMappingURL=code-reader.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"code-reader.js","sourceRoot":"","sources":["../../src/ai/code-reader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"code-reader.js","sourceRoot":"","sources":["../../src/ai/code-reader.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "autogit-tool",
3
- "version": "1.0.16",
3
+ "version": "1.0.17",
4
4
  "description": "Automate project documentation, GitHub publishing, and social media content generation — run autogit in any project folder",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",