@tyvm/knowhow 0.0.35 → 0.0.36
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/package.json +1 -1
- package/src/agents/tools/ycmd/tools/diagnostics.ts +2 -0
- package/src/plugins/downloader/downloader.ts +30 -120
- package/ts_build/src/agents/tools/ycmd/tools/diagnostics.js +1 -0
- package/ts_build/src/agents/tools/ycmd/tools/diagnostics.js.map +1 -1
- package/ts_build/src/plugins/downloader/downloader.d.ts +0 -3
- package/ts_build/src/plugins/downloader/downloader.js +22 -93
- package/ts_build/src/plugins/downloader/downloader.js.map +1 -1
package/package.json
CHANGED
|
@@ -92,6 +92,8 @@ export async function ycmdDiagnostics(params: YcmdDiagnosticsParams): Promise<{
|
|
|
92
92
|
column_num
|
|
93
93
|
);
|
|
94
94
|
|
|
95
|
+
console.log("Diagnostics response:", response);
|
|
96
|
+
|
|
95
97
|
// Parse diagnostics
|
|
96
98
|
const diagnostics: Diagnostic[] = response.map((diag: any) => ({
|
|
97
99
|
kind: diag.kind,
|
|
@@ -65,36 +65,6 @@ export class DownloaderService {
|
|
|
65
65
|
return info;
|
|
66
66
|
}
|
|
67
67
|
|
|
68
|
-
private async acquireLock(
|
|
69
|
-
lockPath: string,
|
|
70
|
-
timeoutMs = 30000
|
|
71
|
-
): Promise<() => void> {
|
|
72
|
-
const startTime = Date.now();
|
|
73
|
-
|
|
74
|
-
while (Date.now() - startTime < timeoutMs) {
|
|
75
|
-
try {
|
|
76
|
-
await fs.promises.writeFile(lockPath, process.pid.toString(), {
|
|
77
|
-
flag: "wx",
|
|
78
|
-
});
|
|
79
|
-
console.log(`Lock acquired: ${lockPath}`);
|
|
80
|
-
return async () => {
|
|
81
|
-
try {
|
|
82
|
-
await fs.promises.unlink(lockPath);
|
|
83
|
-
console.log(`Lock released: ${lockPath}`);
|
|
84
|
-
} catch (error) {
|
|
85
|
-
console.warn(`Failed to release lock ${lockPath}:`, error);
|
|
86
|
-
}
|
|
87
|
-
};
|
|
88
|
-
} catch (error) {
|
|
89
|
-
if (error.code !== "EEXIST") {
|
|
90
|
-
throw error;
|
|
91
|
-
}
|
|
92
|
-
await new Promise((resolve) => setTimeout(resolve, 100));
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
throw new Error(`Failed to acquire lock ${lockPath} within ${timeoutMs}ms`);
|
|
96
|
-
}
|
|
97
|
-
|
|
98
68
|
public async chunk(
|
|
99
69
|
filePath: string,
|
|
100
70
|
outputDir: string,
|
|
@@ -107,54 +77,43 @@ export class DownloaderService {
|
|
|
107
77
|
console.log({ fileName, fileExt });
|
|
108
78
|
console.log("Chunking file", filePath);
|
|
109
79
|
|
|
110
|
-
//
|
|
111
|
-
const
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
try {
|
|
115
|
-
// create a temp directory
|
|
116
|
-
const outputDirPath = path.join(outputDir, `${fileName}/chunks`);
|
|
117
|
-
await fs.promises.mkdir(outputDirPath, { recursive: true });
|
|
118
|
-
const existingFolderFiles = await fs.promises.readdir(outputDirPath);
|
|
119
|
-
const existingChunkNames = existingFolderFiles.filter(
|
|
120
|
-
(f) => f.includes("chunk") && f.endsWith(".mp3")
|
|
121
|
-
);
|
|
80
|
+
// create a temp directory
|
|
81
|
+
const outputDirPath = path.join(outputDir, `${fileName}/chunks`);
|
|
82
|
+
await fs.promises.mkdir(outputDirPath, { recursive: true });
|
|
83
|
+
const doneFilePath = path.join(outputDirPath, ".chunking_done");
|
|
122
84
|
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
85
|
+
const doneFileExists = await fileExists(doneFilePath);
|
|
86
|
+
const existingFolderFiles = await fs.promises.readdir(outputDirPath);
|
|
87
|
+
const existingChunkNames = existingFolderFiles.filter(
|
|
88
|
+
(f) => f.includes("chunk") && f.endsWith(".mp3")
|
|
89
|
+
);
|
|
90
|
+
|
|
91
|
+
if (existingChunkNames.length > 0 && doneFileExists) {
|
|
92
|
+
if (reuseExistingChunks) {
|
|
93
|
+
console.log("Chunks already exist, skipping");
|
|
94
|
+
const names = existingChunkNames.map((chunkName) =>
|
|
95
|
+
path.join(outputDirPath, chunkName)
|
|
96
|
+
);
|
|
97
|
+
return names;
|
|
98
|
+
} else {
|
|
99
|
+
for (const file of existingFolderFiles) {
|
|
100
|
+
fs.rmSync(path.join(outputDirPath, file), { recursive: true });
|
|
135
101
|
}
|
|
136
102
|
}
|
|
103
|
+
}
|
|
137
104
|
|
|
138
|
-
|
|
139
|
-
|
|
105
|
+
const command = `ffmpeg -i "${filePath}" -f segment -segment_time ${CHUNK_LENGTH_SECONDS} -map 0:a:0 -acodec mp3 -vn "${outputDirPath}/chunk%04d.mp3"`;
|
|
106
|
+
await execAsync(command);
|
|
107
|
+
await fs.promises.writeFile(doneFilePath, "done");
|
|
140
108
|
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
} catch (error) {
|
|
148
|
-
console.error("Error during chunking:", error);
|
|
149
|
-
throw error;
|
|
150
|
-
} finally {
|
|
151
|
-
await releaseLock();
|
|
152
|
-
}
|
|
109
|
+
const folderFiles = await fs.promises.readdir(outputDirPath);
|
|
110
|
+
const chunkNames = folderFiles.filter(
|
|
111
|
+
(f) => f.includes("chunk") && f.endsWith(".mp3")
|
|
112
|
+
);
|
|
113
|
+
console.log("Chunked into", chunkNames.length, "chunks");
|
|
114
|
+
return chunkNames.map((chunkName) => path.join(outputDirPath, chunkName));
|
|
153
115
|
}
|
|
154
116
|
|
|
155
|
-
// Add transcription locking to prevent race conditions
|
|
156
|
-
private transcriptionLocks = new Map<string, Promise<TranscriptChunk[]>>();
|
|
157
|
-
|
|
158
117
|
public async *streamTranscription(
|
|
159
118
|
files: string[],
|
|
160
119
|
outputPath: string,
|
|
@@ -171,55 +130,6 @@ export class DownloaderService {
|
|
|
171
130
|
return;
|
|
172
131
|
}
|
|
173
132
|
|
|
174
|
-
// Prevent concurrent transcription of the same output file
|
|
175
|
-
const lockKey = outputPath;
|
|
176
|
-
if (this.transcriptionLocks.has(lockKey)) {
|
|
177
|
-
console.log("Waiting for concurrent transcription to complete...");
|
|
178
|
-
await this.transcriptionLocks.get(lockKey);
|
|
179
|
-
// After waiting, check again if file exists
|
|
180
|
-
const existsNow = await fileExists(outputPath);
|
|
181
|
-
if (existsNow && reusePreviousTranscript) {
|
|
182
|
-
console.log(
|
|
183
|
-
"Transcription completed by concurrent process, using cached data"
|
|
184
|
-
);
|
|
185
|
-
const contents = await readFile(outputPath);
|
|
186
|
-
const data = JSON.parse(contents.toString()) as TranscriptChunk[];
|
|
187
|
-
for (const item of data) {
|
|
188
|
-
yield item;
|
|
189
|
-
}
|
|
190
|
-
return;
|
|
191
|
-
}
|
|
192
|
-
}
|
|
193
|
-
|
|
194
|
-
// Create a promise for this transcription operation
|
|
195
|
-
const transcriptionPromise = (async () => {
|
|
196
|
-
const results: TranscriptChunk[] = [];
|
|
197
|
-
for await (const chunk of this.performTranscription(
|
|
198
|
-
files,
|
|
199
|
-
outputPath,
|
|
200
|
-
reusePreviousTranscript
|
|
201
|
-
)) {
|
|
202
|
-
results.push(chunk);
|
|
203
|
-
}
|
|
204
|
-
return results;
|
|
205
|
-
})();
|
|
206
|
-
this.transcriptionLocks.set(lockKey, transcriptionPromise);
|
|
207
|
-
|
|
208
|
-
try {
|
|
209
|
-
const results = await transcriptionPromise;
|
|
210
|
-
for (const chunk of results) {
|
|
211
|
-
yield chunk;
|
|
212
|
-
}
|
|
213
|
-
} finally {
|
|
214
|
-
this.transcriptionLocks.delete(lockKey);
|
|
215
|
-
}
|
|
216
|
-
}
|
|
217
|
-
|
|
218
|
-
private async *performTranscription(
|
|
219
|
-
files: string[],
|
|
220
|
-
outputPath: string,
|
|
221
|
-
reusePreviousTranscript: boolean
|
|
222
|
-
): AsyncGenerator<TranscriptChunk> {
|
|
223
133
|
const allTranscripts = [];
|
|
224
134
|
for (const file of files) {
|
|
225
135
|
const chunkName = path.parse(file).name;
|
|
@@ -26,6 +26,7 @@ async function ycmdDiagnostics(params) {
|
|
|
26
26
|
}
|
|
27
27
|
}
|
|
28
28
|
const response = await client.getDiagnostics(resolvedFilePath, contents, filetypes, line_num, column_num);
|
|
29
|
+
console.log("Diagnostics response:", response);
|
|
29
30
|
const diagnostics = response.map((diag) => ({
|
|
30
31
|
kind: diag.kind,
|
|
31
32
|
text: diag.text,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diagnostics.js","sourceRoot":"","sources":["../../../../../../src/agents/tools/ycmd/tools/diagnostics.ts"],"names":[],"mappings":";;;AAAA,oDAAqD;AACrD,iDAAyD;AA4ClD,KAAK,UAAU,eAAe,CAAC,MAA6B;IAKjE,IAAI;QAEF,MAAM,WAAW,GAAG,MAAM,iCAAiB,CAAC,wBAAwB,CAAC;YACnE,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,YAAY,EAAE,MAAM,CAAC,YAAY;SAClC,CAAC,CAAC;QAEH,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE;YACxB,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,OAAO,EAAE,WAAW,CAAC,OAAO;aAC7B,CAAC;SACH;QAED,MAAM,EAAE,MAAM,EAAE,gBAAgB,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,WAAW,CAAC;QAGtE,IAAI,QAAQ,GAAG,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC;QAChC,IAAI,UAAU,GAAG,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC;QAGpC,IAAI,MAAM,CAAC,YAAY,EAAE;YACvB,MAAM,QAAQ,GAAG,MAAM,IAAA,sCAAuB,EAC5C,MAAM,CAAC,QAAQ,EACf,MAAM,CAAC,YAAY,EACnB,QAAQ,EACR,MAAM,CAAC,SAAS,IAAI,OAAO,CAC5B,CAAC;YAEF,IAAI,QAAQ,EAAE;gBACZ,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC;gBACzB,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC;aAC9B;SACF;QAGD,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,cAAc,CAC1C,gBAAgB,EAChB,QAAQ,EACR,SAAS,EACT,QAAQ,EACR,UAAU,CACX,CAAC;
|
|
1
|
+
{"version":3,"file":"diagnostics.js","sourceRoot":"","sources":["../../../../../../src/agents/tools/ycmd/tools/diagnostics.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,11 +8,8 @@ export declare class DownloaderService {
|
|
|
8
8
|
askGptVision(imageUrl: string, question: string, provider?: string, model?: string): Promise<import("../../clients").CompletionResponse>;
|
|
9
9
|
download(url: string, outputDir: string): Promise<import("youtube-dl-exec").Payload>;
|
|
10
10
|
info(url: string): Promise<import("youtube-dl-exec").Payload>;
|
|
11
|
-
private acquireLock;
|
|
12
11
|
chunk(filePath: string, outputDir: string, CHUNK_LENGTH_SECONDS?: number, reuseExistingChunks?: boolean): Promise<string[]>;
|
|
13
|
-
private transcriptionLocks;
|
|
14
12
|
streamTranscription(files: string[], outputPath: string, reusePreviousTranscript?: boolean): AsyncGenerator<TranscriptChunk>;
|
|
15
|
-
private performTranscription;
|
|
16
13
|
transcribeChunks(files: string[], outputPath: string, reusePreviousTranscript?: boolean): Promise<string[]>;
|
|
17
14
|
streamKeyFrameExtraction(filePath: string, videoJsonPath: string, reusePreviousKeyframes?: boolean, interval?: number): AsyncGenerator<KeyframeInfo>;
|
|
18
15
|
extractKeyframes(filePath: string, outputPath: string, reusePreviousKeyframes?: boolean, interval?: number): Promise<KeyframeInfo[]>;
|
|
@@ -81,75 +81,38 @@ class DownloaderService {
|
|
|
81
81
|
console.log(info);
|
|
82
82
|
return info;
|
|
83
83
|
}
|
|
84
|
-
async acquireLock(lockPath, timeoutMs = 30000) {
|
|
85
|
-
const startTime = Date.now();
|
|
86
|
-
while (Date.now() - startTime < timeoutMs) {
|
|
87
|
-
try {
|
|
88
|
-
await fs.promises.writeFile(lockPath, process.pid.toString(), {
|
|
89
|
-
flag: "wx",
|
|
90
|
-
});
|
|
91
|
-
console.log(`Lock acquired: ${lockPath}`);
|
|
92
|
-
return async () => {
|
|
93
|
-
try {
|
|
94
|
-
await fs.promises.unlink(lockPath);
|
|
95
|
-
console.log(`Lock released: ${lockPath}`);
|
|
96
|
-
}
|
|
97
|
-
catch (error) {
|
|
98
|
-
console.warn(`Failed to release lock ${lockPath}:`, error);
|
|
99
|
-
}
|
|
100
|
-
};
|
|
101
|
-
}
|
|
102
|
-
catch (error) {
|
|
103
|
-
if (error.code !== "EEXIST") {
|
|
104
|
-
throw error;
|
|
105
|
-
}
|
|
106
|
-
await new Promise((resolve) => setTimeout(resolve, 100));
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
throw new Error(`Failed to acquire lock ${lockPath} within ${timeoutMs}ms`);
|
|
110
|
-
}
|
|
111
84
|
async chunk(filePath, outputDir, CHUNK_LENGTH_SECONDS = 30, reuseExistingChunks = true) {
|
|
112
85
|
const parsed = path.parse(filePath);
|
|
113
86
|
const fileName = parsed.name;
|
|
114
87
|
const fileExt = parsed.ext;
|
|
115
88
|
console.log({ fileName, fileExt });
|
|
116
89
|
console.log("Chunking file", filePath);
|
|
117
|
-
const
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
if (
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
for (const file of existingFolderFiles) {
|
|
133
|
-
fs.rmSync(path.join(outputDirPath, file), { recursive: true });
|
|
134
|
-
}
|
|
90
|
+
const outputDirPath = path.join(outputDir, `${fileName}/chunks`);
|
|
91
|
+
await fs.promises.mkdir(outputDirPath, { recursive: true });
|
|
92
|
+
const doneFilePath = path.join(outputDirPath, ".chunking_done");
|
|
93
|
+
const doneFileExists = await (0, utils_1.fileExists)(doneFilePath);
|
|
94
|
+
const existingFolderFiles = await fs.promises.readdir(outputDirPath);
|
|
95
|
+
const existingChunkNames = existingFolderFiles.filter((f) => f.includes("chunk") && f.endsWith(".mp3"));
|
|
96
|
+
if (existingChunkNames.length > 0 && doneFileExists) {
|
|
97
|
+
if (reuseExistingChunks) {
|
|
98
|
+
console.log("Chunks already exist, skipping");
|
|
99
|
+
const names = existingChunkNames.map((chunkName) => path.join(outputDirPath, chunkName));
|
|
100
|
+
return names;
|
|
101
|
+
}
|
|
102
|
+
else {
|
|
103
|
+
for (const file of existingFolderFiles) {
|
|
104
|
+
fs.rmSync(path.join(outputDirPath, file), { recursive: true });
|
|
135
105
|
}
|
|
136
106
|
}
|
|
137
|
-
const command = `ffmpeg -i "${filePath}" -f segment -segment_time ${CHUNK_LENGTH_SECONDS} -map 0:a:0 -acodec mp3 -vn "${outputDirPath}/chunk%04d.mp3"`;
|
|
138
|
-
await (0, utils_1.execAsync)(command);
|
|
139
|
-
const folderFiles = await fs.promises.readdir(outputDirPath);
|
|
140
|
-
const chunkNames = folderFiles.filter((f) => f.includes("chunk") && f.endsWith(".mp3"));
|
|
141
|
-
console.log("Chunked into", chunkNames.length, "chunks");
|
|
142
|
-
return chunkNames.map((chunkName) => path.join(outputDirPath, chunkName));
|
|
143
|
-
}
|
|
144
|
-
catch (error) {
|
|
145
|
-
console.error("Error during chunking:", error);
|
|
146
|
-
throw error;
|
|
147
|
-
}
|
|
148
|
-
finally {
|
|
149
|
-
await releaseLock();
|
|
150
107
|
}
|
|
108
|
+
const command = `ffmpeg -i "${filePath}" -f segment -segment_time ${CHUNK_LENGTH_SECONDS} -map 0:a:0 -acodec mp3 -vn "${outputDirPath}/chunk%04d.mp3"`;
|
|
109
|
+
await (0, utils_1.execAsync)(command);
|
|
110
|
+
await fs.promises.writeFile(doneFilePath, "done");
|
|
111
|
+
const folderFiles = await fs.promises.readdir(outputDirPath);
|
|
112
|
+
const chunkNames = folderFiles.filter((f) => f.includes("chunk") && f.endsWith(".mp3"));
|
|
113
|
+
console.log("Chunked into", chunkNames.length, "chunks");
|
|
114
|
+
return chunkNames.map((chunkName) => path.join(outputDirPath, chunkName));
|
|
151
115
|
}
|
|
152
|
-
transcriptionLocks = new Map();
|
|
153
116
|
async *streamTranscription(files, outputPath, reusePreviousTranscript = true) {
|
|
154
117
|
const exists = await (0, utils_1.fileExists)(outputPath);
|
|
155
118
|
if (exists && reusePreviousTranscript) {
|
|
@@ -161,40 +124,6 @@ class DownloaderService {
|
|
|
161
124
|
}
|
|
162
125
|
return;
|
|
163
126
|
}
|
|
164
|
-
const lockKey = outputPath;
|
|
165
|
-
if (this.transcriptionLocks.has(lockKey)) {
|
|
166
|
-
console.log("Waiting for concurrent transcription to complete...");
|
|
167
|
-
await this.transcriptionLocks.get(lockKey);
|
|
168
|
-
const existsNow = await (0, utils_1.fileExists)(outputPath);
|
|
169
|
-
if (existsNow && reusePreviousTranscript) {
|
|
170
|
-
console.log("Transcription completed by concurrent process, using cached data");
|
|
171
|
-
const contents = await (0, utils_1.readFile)(outputPath);
|
|
172
|
-
const data = JSON.parse(contents.toString());
|
|
173
|
-
for (const item of data) {
|
|
174
|
-
yield item;
|
|
175
|
-
}
|
|
176
|
-
return;
|
|
177
|
-
}
|
|
178
|
-
}
|
|
179
|
-
const transcriptionPromise = (async () => {
|
|
180
|
-
const results = [];
|
|
181
|
-
for await (const chunk of this.performTranscription(files, outputPath, reusePreviousTranscript)) {
|
|
182
|
-
results.push(chunk);
|
|
183
|
-
}
|
|
184
|
-
return results;
|
|
185
|
-
})();
|
|
186
|
-
this.transcriptionLocks.set(lockKey, transcriptionPromise);
|
|
187
|
-
try {
|
|
188
|
-
const results = await transcriptionPromise;
|
|
189
|
-
for (const chunk of results) {
|
|
190
|
-
yield chunk;
|
|
191
|
-
}
|
|
192
|
-
}
|
|
193
|
-
finally {
|
|
194
|
-
this.transcriptionLocks.delete(lockKey);
|
|
195
|
-
}
|
|
196
|
-
}
|
|
197
|
-
async *performTranscription(files, outputPath, reusePreviousTranscript) {
|
|
198
127
|
const allTranscripts = [];
|
|
199
128
|
for (const file of files) {
|
|
200
129
|
const chunkName = path.parse(file).name;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"downloader.js","sourceRoot":"","sources":["../../../../src/plugins/downloader/downloader.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"downloader.js","sourceRoot":"","sources":["../../../../src/plugins/downloader/downloader.ts"],"names":[],"mappings":"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"}
|