repoburg 1.0.68 → 1.0.69
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.
- package/backend/.env +2 -2
- package/backend/dist/tsconfig.build.tsbuildinfo +1 -1
- package/backend/dist/workspace/dto/file-tree.dto.d.ts +8 -0
- package/backend/dist/workspace/dto/file-tree.dto.js +10 -0
- package/backend/dist/workspace/dto/file-tree.dto.js.map +1 -0
- package/backend/dist/workspace/workspace.controller.d.ts +2 -5
- package/backend/dist/workspace/workspace.controller.js.map +1 -1
- package/backend/dist/workspace/workspace.service.d.ts +2 -6
- package/backend/dist/workspace/workspace.service.js +61 -12
- package/backend/dist/workspace/workspace.service.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.FileTreeResponseDto = exports.TreeNodeDto = void 0;
|
|
4
|
+
class TreeNodeDto {
|
|
5
|
+
}
|
|
6
|
+
exports.TreeNodeDto = TreeNodeDto;
|
|
7
|
+
class FileTreeResponseDto {
|
|
8
|
+
}
|
|
9
|
+
exports.FileTreeResponseDto = FileTreeResponseDto;
|
|
10
|
+
//# sourceMappingURL=file-tree.dto.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"file-tree.dto.js","sourceRoot":"","sources":["../../../src/workspace/dto/file-tree.dto.ts"],"names":[],"mappings":";;;AAAA,MAAa,WAAW;CAIvB;AAJD,kCAIC;AAED,MAAa,mBAAmB;CAE/B;AAFD,kDAEC"}
|
|
@@ -1,16 +1,13 @@
|
|
|
1
1
|
import { WorkspaceService } from './workspace.service';
|
|
2
2
|
import { SearchWorkspaceQueryDto, SearchWorkspaceResponseDto } from './dto/search-workspace.dto';
|
|
3
|
-
|
|
4
|
-
files: string[];
|
|
5
|
-
folders: string[];
|
|
6
|
-
}
|
|
3
|
+
import { FileTreeResponseDto } from './dto/file-tree.dto';
|
|
7
4
|
interface FileContentResponse {
|
|
8
5
|
content: string;
|
|
9
6
|
}
|
|
10
7
|
export declare class WorkspaceController {
|
|
11
8
|
private readonly workspaceService;
|
|
12
9
|
constructor(workspaceService: WorkspaceService);
|
|
13
|
-
getFileTree(): Promise<
|
|
10
|
+
getFileTree(): Promise<FileTreeResponseDto>;
|
|
14
11
|
invalidateFileTreeCache(): Promise<void>;
|
|
15
12
|
search(query: SearchWorkspaceQueryDto): Promise<SearchWorkspaceResponseDto>;
|
|
16
13
|
getFileContent(path: string): Promise<FileContentResponse>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workspace.controller.js","sourceRoot":"","sources":["../../src/workspace/workspace.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAOwB;AACxB,2DAAuD;AACvD,qEAGoC;
|
|
1
|
+
{"version":3,"file":"workspace.controller.js","sourceRoot":"","sources":["../../src/workspace/workspace.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAOwB;AACxB,2DAAuD;AACvD,qEAGoC;AAQ7B,IAAM,mBAAmB,GAAzB,MAAM,mBAAmB;IAC9B,YAA6B,gBAAkC;QAAlC,qBAAgB,GAAhB,gBAAgB,CAAkB;IAAG,CAAC;IAG7D,AAAN,KAAK,CAAC,WAAW;QACf,OAAO,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,CAAC;IAC7C,CAAC;IAIK,AAAN,KAAK,CAAC,uBAAuB;QAC3B,OAAO,IAAI,CAAC,gBAAgB,CAAC,uBAAuB,EAAE,CAAC;IACzD,CAAC;IAGK,AAAN,KAAK,CAAC,MAAM,CACD,KAA8B;QAEvC,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC;QACvC,OAAO,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;IAC5D,CAAC;IAGK,AAAN,KAAK,CAAC,cAAc,CACH,IAAY;QAE3B,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QACjE,OAAO,EAAE,OAAO,EAAE,CAAC;IACrB,CAAC;CACF,CAAA;AA7BY,kDAAmB;AAIxB;IADL,IAAA,YAAG,EAAC,WAAW,CAAC;;;;sDAGhB;AAIK;IAFL,IAAA,aAAI,EAAC,sBAAsB,CAAC;IAC5B,IAAA,iBAAQ,EAAC,mBAAU,CAAC,UAAU,CAAC;;;;kEAG/B;AAGK;IADL,IAAA,YAAG,EAAC,QAAQ,CAAC;IAEX,WAAA,IAAA,cAAK,GAAE,CAAA;;qCAAQ,8CAAuB;;iDAIxC;AAGK;IADL,IAAA,YAAG,EAAC,cAAc,CAAC;IAEjB,WAAA,IAAA,cAAK,EAAC,MAAM,CAAC,CAAA;;;;yDAIf;8BA5BU,mBAAmB;IAD/B,IAAA,mBAAU,EAAC,WAAW,CAAC;qCAEyB,oCAAgB;GADpD,mBAAmB,CA6B/B"}
|
|
@@ -1,9 +1,6 @@
|
|
|
1
1
|
import { ContextGenerationService } from '../context-generation/context-generation.service';
|
|
2
2
|
import { SearchWorkspaceResponseDto } from './dto/search-workspace.dto';
|
|
3
|
-
|
|
4
|
-
files: string[];
|
|
5
|
-
folders: string[];
|
|
6
|
-
}
|
|
3
|
+
import { FileTreeResponseDto } from './dto/file-tree.dto';
|
|
7
4
|
export declare class WorkspaceService {
|
|
8
5
|
private readonly contextGenerationService;
|
|
9
6
|
private readonly logger;
|
|
@@ -23,9 +20,8 @@ export declare class WorkspaceService {
|
|
|
23
20
|
valid: boolean;
|
|
24
21
|
invalidPaths: string[];
|
|
25
22
|
}>;
|
|
26
|
-
getFileTree(): Promise<
|
|
23
|
+
getFileTree(): Promise<FileTreeResponseDto>;
|
|
27
24
|
invalidateFileTreeCache(): Promise<void>;
|
|
28
25
|
search(query: string, type: 'files' | 'folders' | 'all', page: number, limit: number): Promise<SearchWorkspaceResponseDto>;
|
|
29
26
|
getFileContent(filePath: string): Promise<string>;
|
|
30
27
|
}
|
|
31
|
-
export {};
|
|
@@ -101,21 +101,50 @@ let WorkspaceService = WorkspaceService_1 = class WorkspaceService {
|
|
|
101
101
|
this.logger.log('Returning file tree from cache.');
|
|
102
102
|
return this.fileTreeCache;
|
|
103
103
|
}
|
|
104
|
-
this.logger.log(`
|
|
104
|
+
this.logger.log(`Building file tree from filesystem with rg: ${this.projectRoot}`);
|
|
105
105
|
try {
|
|
106
106
|
const files = await this.getFilesFromRg();
|
|
107
|
-
const
|
|
108
|
-
files.forEach((
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
107
|
+
const fileTree = {};
|
|
108
|
+
files.forEach((filePath) => {
|
|
109
|
+
filePath.split(path.sep).reduce((level, part) => {
|
|
110
|
+
if (!level[part]) {
|
|
111
|
+
level[part] = {};
|
|
112
|
+
}
|
|
113
|
+
return level[part];
|
|
114
|
+
}, fileTree);
|
|
113
115
|
});
|
|
114
|
-
const
|
|
115
|
-
|
|
116
|
-
|
|
116
|
+
const toArboristData = (subtree, pathPrefix = '') => {
|
|
117
|
+
return Object.entries(subtree)
|
|
118
|
+
.map(([name, children]) => {
|
|
119
|
+
const id = pathPrefix ? `${pathPrefix}/${name}` : name;
|
|
120
|
+
const isFile = Object.keys(children).length === 0;
|
|
121
|
+
if (isFile) {
|
|
122
|
+
return { id, name };
|
|
123
|
+
}
|
|
124
|
+
else {
|
|
125
|
+
return {
|
|
126
|
+
id,
|
|
127
|
+
name,
|
|
128
|
+
children: toArboristData(children, id),
|
|
129
|
+
};
|
|
130
|
+
}
|
|
131
|
+
})
|
|
132
|
+
.sort((a, b) => {
|
|
133
|
+
const isAFolder = !!a.children;
|
|
134
|
+
const isBFolder = !!b.children;
|
|
135
|
+
if (isAFolder && !isBFolder)
|
|
136
|
+
return -1;
|
|
137
|
+
if (!isAFolder && isBFolder)
|
|
138
|
+
return 1;
|
|
139
|
+
return a.name.localeCompare(b.name);
|
|
140
|
+
});
|
|
141
|
+
};
|
|
142
|
+
const treeData = toArboristData(fileTree);
|
|
143
|
+
const response = { tree: treeData };
|
|
144
|
+
this.fileTreeCache = response;
|
|
117
145
|
this.fileTreeCacheTimestamp = now;
|
|
118
|
-
|
|
146
|
+
this.logger.log(`Built and cached file tree with ${files.length} total entries.`);
|
|
147
|
+
return response;
|
|
119
148
|
}
|
|
120
149
|
catch (error) {
|
|
121
150
|
this.logger.error('Failed to get file tree:', error);
|
|
@@ -129,7 +158,27 @@ let WorkspaceService = WorkspaceService_1 = class WorkspaceService {
|
|
|
129
158
|
}
|
|
130
159
|
async search(query, type, page, limit) {
|
|
131
160
|
this.logger.log(`Searching for "${query}" (type: ${type})`);
|
|
132
|
-
const {
|
|
161
|
+
const { tree } = await this.getFileTree();
|
|
162
|
+
const { files, folders } = this.tracer.startActiveSpan('workspace.search#flattenTree', (span) => {
|
|
163
|
+
const filesList = [];
|
|
164
|
+
const foldersList = [];
|
|
165
|
+
const flatten = (nodes) => {
|
|
166
|
+
for (const node of nodes) {
|
|
167
|
+
if (node.children) {
|
|
168
|
+
foldersList.push(node.id);
|
|
169
|
+
flatten(node.children);
|
|
170
|
+
}
|
|
171
|
+
else {
|
|
172
|
+
filesList.push(node.id);
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
};
|
|
176
|
+
flatten(tree);
|
|
177
|
+
span.setAttribute('files.count', filesList.length);
|
|
178
|
+
span.setAttribute('folders.count', foldersList.length);
|
|
179
|
+
span.end();
|
|
180
|
+
return { files: filesList, folders: foldersList };
|
|
181
|
+
});
|
|
133
182
|
const searchPool = this.tracer.startActiveSpan('workspace.search#prepareSearchPool', (span) => {
|
|
134
183
|
let pool = [];
|
|
135
184
|
if (type === 'all') {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workspace.service.js","sourceRoot":"","sources":["../../src/workspace/workspace.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,2CAAyE;AACzE,iGAA4F;AAK5F,kCAAkC;AAClC,6BAA6B;AAC7B,oCAA8C;AAC9C,iDAAkD;AAClD,4CAA2C;
|
|
1
|
+
{"version":3,"file":"workspace.service.js","sourceRoot":"","sources":["../../src/workspace/workspace.service.ts"],"names":[],"mappings":"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"}
|