@tyvm/knowhow 0.0.29 → 0.0.30
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/executeScript/definition.ts +7 -1
- package/src/agents/tools/visionTool.ts +2 -1
- package/src/ai.ts +1 -1
- package/src/chat.ts +10 -6
- package/src/plugins/downloader/downloader.ts +234 -28
- package/src/plugins/downloader/types.ts +7 -0
- package/src/plugins/figma.ts +6 -1
- package/ts_build/src/agents/tools/executeScript/definition.js +7 -1
- package/ts_build/src/agents/tools/executeScript/definition.js.map +1 -1
- package/ts_build/src/agents/tools/visionTool.js +2 -1
- package/ts_build/src/agents/tools/visionTool.js.map +1 -1
- package/ts_build/src/ai.d.ts +1 -1
- package/ts_build/src/ai.js +1 -1
- package/ts_build/src/ai.js.map +1 -1
- package/ts_build/src/chat.js +5 -3
- package/ts_build/src/chat.js.map +1 -1
- package/ts_build/src/plugins/downloader/downloader.d.ts +21 -4
- package/ts_build/src/plugins/downloader/downloader.js +141 -24
- package/ts_build/src/plugins/downloader/downloader.js.map +1 -1
- package/ts_build/src/plugins/downloader/types.d.ts +6 -0
- package/ts_build/src/plugins/downloader/types.js.map +1 -1
- package/ts_build/src/plugins/figma.js +3 -1
- package/ts_build/src/plugins/figma.js.map +1 -1
package/package.json
CHANGED
|
@@ -7,7 +7,9 @@ export const executeScriptDefinition: Tool = {
|
|
|
7
7
|
type: "function",
|
|
8
8
|
function: {
|
|
9
9
|
name: "executeScript",
|
|
10
|
-
description: `
|
|
10
|
+
description: `Used to contruct a script that calls tools and analyzes data, not for general purpose scripting.
|
|
11
|
+
|
|
12
|
+
This is most useful for complex workflows of tool calls that need conditional logic based off tool responses.
|
|
11
13
|
|
|
12
14
|
The script has access to:
|
|
13
15
|
- callTool(toolName, parameters): Call any available tool
|
|
@@ -17,6 +19,10 @@ export const executeScriptDefinition: Tool = {
|
|
|
17
19
|
- getQuotaUsage(): Check resource usage
|
|
18
20
|
- sleep(ms): Pause execution for a specified time, max 2000ms
|
|
19
21
|
|
|
22
|
+
The script cannot:
|
|
23
|
+
- import or require
|
|
24
|
+
- make external network requests, outside of callTool and llm
|
|
25
|
+
|
|
20
26
|
Example:
|
|
21
27
|
\`\`\`typescript
|
|
22
28
|
// Call a tool
|
package/src/ai.ts
CHANGED
package/src/chat.ts
CHANGED
|
@@ -359,12 +359,16 @@ export async function startAgent(
|
|
|
359
359
|
),
|
|
360
360
|
]);
|
|
361
361
|
|
|
362
|
-
|
|
363
|
-
activeAgent.eventTypes.toolUsed
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
362
|
+
if (
|
|
363
|
+
!activeAgent.agentEvents.listenerCount(activeAgent.eventTypes.toolUsed)
|
|
364
|
+
) {
|
|
365
|
+
activeAgent.agentEvents.on(
|
|
366
|
+
activeAgent.eventTypes.toolUsed,
|
|
367
|
+
(responseMsg) => {
|
|
368
|
+
console.log(` 🔨 Tool used: ${JSON.stringify(responseMsg, null, 2)}`);
|
|
369
|
+
}
|
|
370
|
+
);
|
|
371
|
+
}
|
|
368
372
|
|
|
369
373
|
activeAgent.agentEvents.once(activeAgent.eventTypes.done, (doneMsg) => {
|
|
370
374
|
console.log("Agent has finished.");
|
|
@@ -2,14 +2,46 @@ import * as fs from "fs";
|
|
|
2
2
|
import * as path from "path";
|
|
3
3
|
import ytdl from "youtube-dl-exec";
|
|
4
4
|
import Logger from "progress-estimator";
|
|
5
|
-
import { DownloadInfo, KeyframeInfo } from "./types";
|
|
5
|
+
import { DownloadInfo, KeyframeInfo, TranscriptChunk } from "./types";
|
|
6
6
|
import { visionTool } from "../../agents/tools/visionTool";
|
|
7
7
|
import { execAsync, fileExists, readFile, mkdir } from "../../utils";
|
|
8
8
|
import { openai } from "../../ai";
|
|
9
|
+
import { Clients } from "../../clients";
|
|
10
|
+
import { Models } from "../../types";
|
|
9
11
|
|
|
10
12
|
const logger = Logger();
|
|
11
13
|
|
|
12
|
-
class DownloaderService {
|
|
14
|
+
export class DownloaderService {
|
|
15
|
+
constructor(private openAi: typeof openai, private clients: typeof Clients) {}
|
|
16
|
+
|
|
17
|
+
async askGptVision(
|
|
18
|
+
imageUrl: string,
|
|
19
|
+
question: string,
|
|
20
|
+
provider = "openai",
|
|
21
|
+
model = Models.openai.GPT_4o
|
|
22
|
+
) {
|
|
23
|
+
const response = await this.clients.createCompletion(provider, {
|
|
24
|
+
model,
|
|
25
|
+
max_tokens: 2500,
|
|
26
|
+
messages: [
|
|
27
|
+
{
|
|
28
|
+
role: "user",
|
|
29
|
+
content: [
|
|
30
|
+
{ type: "text", text: question },
|
|
31
|
+
{
|
|
32
|
+
type: "image_url",
|
|
33
|
+
image_url: {
|
|
34
|
+
url: imageUrl,
|
|
35
|
+
},
|
|
36
|
+
},
|
|
37
|
+
],
|
|
38
|
+
},
|
|
39
|
+
],
|
|
40
|
+
});
|
|
41
|
+
|
|
42
|
+
return response;
|
|
43
|
+
}
|
|
44
|
+
|
|
13
45
|
async download(url: string, outputDir: string) {
|
|
14
46
|
const info = await this.info(url);
|
|
15
47
|
const exists = await fileExists(`${outputDir}/${info.id}.${info.ext}`);
|
|
@@ -77,19 +109,11 @@ class DownloaderService {
|
|
|
77
109
|
return chunkNames.map((chunkName) => path.join(outputDirPath, chunkName));
|
|
78
110
|
}
|
|
79
111
|
|
|
80
|
-
public async
|
|
112
|
+
public async *streamTranscription(
|
|
81
113
|
files: string[],
|
|
82
114
|
outputPath: string,
|
|
83
115
|
reusePreviousTranscript = true
|
|
84
|
-
) {
|
|
85
|
-
const exists = await fileExists(outputPath);
|
|
86
|
-
if (exists && reusePreviousTranscript) {
|
|
87
|
-
console.log("Transcription already exists, skipping");
|
|
88
|
-
const contents = await readFile(outputPath);
|
|
89
|
-
return JSON.parse(contents.toString()) as string[];
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
const fullText = [];
|
|
116
|
+
): AsyncGenerator<TranscriptChunk> {
|
|
93
117
|
for (const file of files) {
|
|
94
118
|
const chunkName = path.parse(file).name;
|
|
95
119
|
const chunkTranscriptPath = path.join(
|
|
@@ -101,12 +125,16 @@ class DownloaderService {
|
|
|
101
125
|
if (chunkExists && reusePreviousTranscript) {
|
|
102
126
|
console.log("Chunk transcription already exists, skipping");
|
|
103
127
|
const contents = await readFile(chunkTranscriptPath);
|
|
104
|
-
|
|
128
|
+
yield {
|
|
129
|
+
chunkPath: chunkTranscriptPath,
|
|
130
|
+
text: contents.toString(),
|
|
131
|
+
usd_cost: 0,
|
|
132
|
+
};
|
|
105
133
|
continue;
|
|
106
134
|
}
|
|
107
135
|
|
|
108
136
|
console.log("Transcribing", file);
|
|
109
|
-
const transcript = await
|
|
137
|
+
const transcript = await this.openAi.audio.transcriptions
|
|
110
138
|
.create({
|
|
111
139
|
file: fs.createReadStream(file),
|
|
112
140
|
model: "whisper-1",
|
|
@@ -120,22 +148,53 @@ class DownloaderService {
|
|
|
120
148
|
await fs.promises.writeFile(chunkTranscriptPath, transcript.text);
|
|
121
149
|
|
|
122
150
|
// save chunk transcript to file
|
|
123
|
-
|
|
151
|
+
yield {
|
|
152
|
+
chunkPath: chunkTranscriptPath,
|
|
153
|
+
text: transcript.text,
|
|
154
|
+
usd_cost: 30 * 0.0001 // assume 30 seconds,
|
|
155
|
+
};
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
public async transcribeChunks(
|
|
160
|
+
files: string[],
|
|
161
|
+
outputPath: string,
|
|
162
|
+
reusePreviousTranscript = true
|
|
163
|
+
): Promise<string[]> {
|
|
164
|
+
const exists = await fileExists(outputPath);
|
|
165
|
+
if (exists && reusePreviousTranscript) {
|
|
166
|
+
console.log("Transcription already exists, skipping");
|
|
167
|
+
const contents = await readFile(outputPath);
|
|
168
|
+
return JSON.parse(contents.toString()) as string[];
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
const fullText = [];
|
|
172
|
+
for await (const { chunkPath, text } of this.streamTranscription(
|
|
173
|
+
files,
|
|
174
|
+
outputPath,
|
|
175
|
+
reusePreviousTranscript
|
|
176
|
+
)) {
|
|
177
|
+
console.log("Chunk transcribed:", chunkPath);
|
|
178
|
+
fullText.push(text);
|
|
124
179
|
}
|
|
125
180
|
|
|
126
181
|
await fs.promises.writeFile(outputPath, JSON.stringify(fullText));
|
|
127
182
|
return fullText;
|
|
128
183
|
}
|
|
129
184
|
|
|
130
|
-
public async
|
|
185
|
+
public async *streamKeyFrameExtraction(
|
|
131
186
|
filePath: string,
|
|
132
187
|
outputPath: string,
|
|
133
188
|
interval: number = 10
|
|
134
|
-
):
|
|
189
|
+
): AsyncGenerator<KeyframeInfo> {
|
|
135
190
|
if (fs.existsSync(outputPath)) {
|
|
136
191
|
console.log("Keyframes already exist, skipping");
|
|
137
192
|
const contents = await readFile(outputPath);
|
|
138
|
-
|
|
193
|
+
const data = JSON.parse(contents.toString()) as KeyframeInfo[];
|
|
194
|
+
for (const keyframe of data) {
|
|
195
|
+
yield { ...keyframe, usd_cost: 0 };
|
|
196
|
+
}
|
|
197
|
+
return;
|
|
139
198
|
}
|
|
140
199
|
|
|
141
200
|
const parsed = path.parse(filePath);
|
|
@@ -148,7 +207,6 @@ class DownloaderService {
|
|
|
148
207
|
await execAsync(command);
|
|
149
208
|
|
|
150
209
|
const keyframes = await fs.promises.readdir(keyframesDir);
|
|
151
|
-
const keyframeInfos: KeyframeInfo[] = [];
|
|
152
210
|
|
|
153
211
|
for (const keyframe of keyframes) {
|
|
154
212
|
const keyframePath = path.join(keyframesDir, keyframe);
|
|
@@ -162,43 +220,191 @@ class DownloaderService {
|
|
|
162
220
|
if (descriptionExists) {
|
|
163
221
|
const cached = await readFile(keyframeDescriptionPath);
|
|
164
222
|
const cachedJson = JSON.parse(cached.toString()) as KeyframeInfo;
|
|
165
|
-
|
|
223
|
+
yield { ...cachedJson, usd_cost: 0 };
|
|
166
224
|
continue;
|
|
167
225
|
}
|
|
168
226
|
|
|
169
227
|
const description = await this.describeKeyframe(keyframePath);
|
|
170
228
|
const keyframeJson = {
|
|
171
229
|
path: keyframePath,
|
|
172
|
-
description,
|
|
230
|
+
description: description.choices[0].message.content,
|
|
173
231
|
timestamp: this.extractTimestamp(keyframe, interval),
|
|
232
|
+
usd_cost: description.usd_cost,
|
|
174
233
|
};
|
|
175
234
|
await fs.promises.writeFile(
|
|
176
235
|
keyframeDescriptionPath,
|
|
177
236
|
JSON.stringify(keyframeJson, null, 2)
|
|
178
237
|
);
|
|
179
|
-
|
|
238
|
+
yield keyframeJson;
|
|
180
239
|
}
|
|
240
|
+
}
|
|
181
241
|
|
|
182
|
-
|
|
242
|
+
public async extractKeyframes(
|
|
243
|
+
filePath: string,
|
|
244
|
+
outputPath: string,
|
|
245
|
+
interval: number = 10
|
|
246
|
+
): Promise<KeyframeInfo[]> {
|
|
247
|
+
const keyframes: KeyframeInfo[] = [];
|
|
248
|
+
for await (const keyframe of this.streamKeyFrameExtraction(
|
|
249
|
+
filePath,
|
|
250
|
+
outputPath,
|
|
251
|
+
interval
|
|
252
|
+
)) {
|
|
253
|
+
keyframes.push(keyframe);
|
|
254
|
+
}
|
|
183
255
|
|
|
184
|
-
|
|
256
|
+
await fs.promises.writeFile(outputPath, JSON.stringify(keyframes, null, 2));
|
|
257
|
+
return keyframes;
|
|
185
258
|
}
|
|
186
259
|
|
|
187
|
-
private async describeKeyframe(keyframePath: string)
|
|
260
|
+
private async describeKeyframe(keyframePath: string) {
|
|
188
261
|
const question =
|
|
189
262
|
"Describe this image in detail, focusing on the main elements and actions visible.";
|
|
190
263
|
const base64 = await fs.promises.readFile(keyframePath, {
|
|
191
264
|
encoding: "base64",
|
|
192
265
|
});
|
|
193
266
|
const image = `data:image/jpeg;base64,${base64}`;
|
|
194
|
-
const
|
|
195
|
-
return
|
|
267
|
+
const response = await this.askGptVision(image, question);
|
|
268
|
+
return response;
|
|
196
269
|
}
|
|
197
270
|
|
|
198
271
|
private extractTimestamp(keyframeName: string, interval: number): number {
|
|
199
272
|
const frameNumber = parseInt(keyframeName.match(/\d+/)[0], 10);
|
|
200
273
|
return frameNumber * interval;
|
|
201
274
|
}
|
|
275
|
+
|
|
276
|
+
async processAudio(
|
|
277
|
+
filePath: string,
|
|
278
|
+
reusePreviousTranscript = true,
|
|
279
|
+
chunkTime = 30
|
|
280
|
+
): Promise<string[]> {
|
|
281
|
+
const parsed = path.parse(filePath);
|
|
282
|
+
const outputPath = `${parsed.dir}/${parsed.name}/transcript.json`;
|
|
283
|
+
|
|
284
|
+
// Skip chunking if the full output exists
|
|
285
|
+
const exists = await fileExists(outputPath);
|
|
286
|
+
if (exists && reusePreviousTranscript) {
|
|
287
|
+
console.log(`Transcription ${outputPath} already exists, skipping`);
|
|
288
|
+
const fileContent = await readFile(outputPath, "utf8");
|
|
289
|
+
return outputPath.endsWith("txt")
|
|
290
|
+
? fileContent.split("\n")
|
|
291
|
+
: JSON.parse(fileContent);
|
|
292
|
+
}
|
|
293
|
+
|
|
294
|
+
const chunks = await this.chunk(
|
|
295
|
+
filePath,
|
|
296
|
+
parsed.dir,
|
|
297
|
+
chunkTime,
|
|
298
|
+
reusePreviousTranscript
|
|
299
|
+
);
|
|
300
|
+
const transcription = await this.transcribeChunks(
|
|
301
|
+
chunks,
|
|
302
|
+
outputPath,
|
|
303
|
+
reusePreviousTranscript
|
|
304
|
+
);
|
|
305
|
+
|
|
306
|
+
return transcription;
|
|
307
|
+
}
|
|
308
|
+
|
|
309
|
+
async *streamProcessAudio(
|
|
310
|
+
filePath: string,
|
|
311
|
+
reusePreviousTranscript = true,
|
|
312
|
+
chunkTime = 30
|
|
313
|
+
): AsyncGenerator<TranscriptChunk> {
|
|
314
|
+
const parsed = path.parse(filePath);
|
|
315
|
+
const outputPath = `${parsed.dir}/${parsed.name}/transcript.json`;
|
|
316
|
+
|
|
317
|
+
// Skip chunking if the full output exists
|
|
318
|
+
const exists = await fileExists(outputPath);
|
|
319
|
+
if (exists && reusePreviousTranscript) {
|
|
320
|
+
console.log(`Transcription ${outputPath} already exists, skipping`);
|
|
321
|
+
const fileContent = await readFile(outputPath, "utf8");
|
|
322
|
+
const lines = outputPath.endsWith("txt")
|
|
323
|
+
? fileContent.split("\n")
|
|
324
|
+
: JSON.parse(fileContent);
|
|
325
|
+
|
|
326
|
+
for (const line of lines)
|
|
327
|
+
yield { chunkPath: "", text: line, usd_cost: 0 };
|
|
328
|
+
return;
|
|
329
|
+
}
|
|
330
|
+
|
|
331
|
+
const chunks = await this.chunk(
|
|
332
|
+
filePath,
|
|
333
|
+
parsed.dir,
|
|
334
|
+
chunkTime,
|
|
335
|
+
reusePreviousTranscript
|
|
336
|
+
);
|
|
337
|
+
|
|
338
|
+
for await (const chunk of this.streamTranscription(
|
|
339
|
+
chunks,
|
|
340
|
+
outputPath,
|
|
341
|
+
reusePreviousTranscript
|
|
342
|
+
)) {
|
|
343
|
+
yield chunk;
|
|
344
|
+
}
|
|
345
|
+
}
|
|
346
|
+
|
|
347
|
+
async processVideo(
|
|
348
|
+
filePath: string,
|
|
349
|
+
reusePreviousTranscript = true,
|
|
350
|
+
chunkTime = 30
|
|
351
|
+
) {
|
|
352
|
+
const parsed = path.parse(filePath);
|
|
353
|
+
const outputPath = `${parsed.dir}/${parsed.name}/video.json`;
|
|
354
|
+
|
|
355
|
+
console.log("Processing audio...");
|
|
356
|
+
const transcriptions = await this.processAudio(
|
|
357
|
+
filePath,
|
|
358
|
+
reusePreviousTranscript,
|
|
359
|
+
chunkTime
|
|
360
|
+
);
|
|
361
|
+
|
|
362
|
+
console.log("Extracting keyframes...");
|
|
363
|
+
const videoAnalysis = await this.extractKeyframes(
|
|
364
|
+
filePath,
|
|
365
|
+
outputPath,
|
|
366
|
+
chunkTime
|
|
367
|
+
);
|
|
368
|
+
|
|
369
|
+
return videoAnalysis.map((frame, index) => {
|
|
370
|
+
return {
|
|
371
|
+
frame,
|
|
372
|
+
transcription: transcriptions[index],
|
|
373
|
+
};
|
|
374
|
+
});
|
|
375
|
+
}
|
|
376
|
+
|
|
377
|
+
async *streamProcessVideo(
|
|
378
|
+
filePath: string,
|
|
379
|
+
reusePreviousTranscript = true,
|
|
380
|
+
chunkTime = 30
|
|
381
|
+
) {
|
|
382
|
+
const parsed = path.parse(filePath);
|
|
383
|
+
const outputPath = `${parsed.dir}/${parsed.name}/video.json`;
|
|
384
|
+
|
|
385
|
+
console.log("Processing audio...");
|
|
386
|
+
const transcriptions = await this.streamProcessAudio(
|
|
387
|
+
filePath,
|
|
388
|
+
reusePreviousTranscript,
|
|
389
|
+
chunkTime
|
|
390
|
+
);
|
|
391
|
+
|
|
392
|
+
console.log("Extracting keyframes...");
|
|
393
|
+
const videoAnalysis = await this.streamKeyFrameExtraction(
|
|
394
|
+
filePath,
|
|
395
|
+
outputPath,
|
|
396
|
+
chunkTime
|
|
397
|
+
);
|
|
398
|
+
|
|
399
|
+
for await (const frame of videoAnalysis) {
|
|
400
|
+
const transcription = (await transcriptions.next())
|
|
401
|
+
?.value as TranscriptChunk;
|
|
402
|
+
yield {
|
|
403
|
+
frame,
|
|
404
|
+
transcription,
|
|
405
|
+
};
|
|
406
|
+
}
|
|
407
|
+
}
|
|
202
408
|
}
|
|
203
409
|
|
|
204
|
-
export const Downloader = new DownloaderService();
|
|
410
|
+
export const Downloader = new DownloaderService(openai, Clients);
|
|
@@ -19,6 +19,13 @@ export interface KeyframeInfo {
|
|
|
19
19
|
path: string;
|
|
20
20
|
description: string;
|
|
21
21
|
timestamp: number;
|
|
22
|
+
usd_cost: number | null;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
export interface TranscriptChunk {
|
|
26
|
+
chunkPath: string;
|
|
27
|
+
text: string;
|
|
28
|
+
usd_cost: number | null;
|
|
22
29
|
}
|
|
23
30
|
|
|
24
31
|
export class RequestedDownload {
|
package/src/plugins/figma.ts
CHANGED
|
@@ -135,13 +135,18 @@ export class FigmaPlugin extends PluginBase implements Plugin {
|
|
|
135
135
|
const responses = [];
|
|
136
136
|
for (const data of figmaDataFiltered) {
|
|
137
137
|
for (const nodeId in data.images) {
|
|
138
|
+
if (!data.images.hasOwnProperty(nodeId)) continue;
|
|
139
|
+
|
|
138
140
|
const imageUrl = data.images[nodeId];
|
|
139
141
|
const imageDescription = await askGptVision(
|
|
140
142
|
imageUrl,
|
|
141
143
|
`Describe the image with relavant information for this user question: ${userPrompt}`
|
|
142
144
|
);
|
|
143
145
|
|
|
144
|
-
console.log(
|
|
146
|
+
console.log(
|
|
147
|
+
"FIGMA PLUGIN: Image description",
|
|
148
|
+
imageDescription.choices[0].message.content
|
|
149
|
+
);
|
|
145
150
|
responses.push({ nodeId, imageDescription });
|
|
146
151
|
}
|
|
147
152
|
}
|
|
@@ -5,7 +5,9 @@ exports.executeScriptDefinition = {
|
|
|
5
5
|
type: "function",
|
|
6
6
|
function: {
|
|
7
7
|
name: "executeScript",
|
|
8
|
-
description: `
|
|
8
|
+
description: `Used to contruct a script that calls tools and analyzes data, not for general purpose scripting.
|
|
9
|
+
|
|
10
|
+
This is most useful for complex workflows of tool calls that need conditional logic based off tool responses.
|
|
9
11
|
|
|
10
12
|
The script has access to:
|
|
11
13
|
- callTool(toolName, parameters): Call any available tool
|
|
@@ -15,6 +17,10 @@ exports.executeScriptDefinition = {
|
|
|
15
17
|
- getQuotaUsage(): Check resource usage
|
|
16
18
|
- sleep(ms): Pause execution for a specified time, max 2000ms
|
|
17
19
|
|
|
20
|
+
The script cannot:
|
|
21
|
+
- import or require
|
|
22
|
+
- make external network requests, outside of callTool and llm
|
|
23
|
+
|
|
18
24
|
Example:
|
|
19
25
|
\`\`\`typescript
|
|
20
26
|
// Call a tool
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"definition.js","sourceRoot":"","sources":["../../../../../src/agents/tools/executeScript/definition.ts"],"names":[],"mappings":";;;AAKa,QAAA,uBAAuB,GAAS;IAC3C,IAAI,EAAE,UAAU;IAChB,QAAQ,EAAE;QACR,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE
|
|
1
|
+
{"version":3,"file":"definition.js","sourceRoot":"","sources":["../../../../../src/agents/tools/executeScript/definition.ts"],"names":[],"mappings":";;;AAKa,QAAA,uBAAuB,GAAS;IAC3C,IAAI,EAAE,UAAU;IAChB,QAAQ,EAAE;QACR,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wFAuCuE;QAEpF,UAAU,EAAE;YACV,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,MAAM,EAAE;oBACN,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,gCAAgC;iBAC9C;gBACD,YAAY,EAAE;oBACZ,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,oDAAoD;iBAClE;gBACD,SAAS,EAAE;oBACT,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,+CAA+C;iBAC7D;gBACD,kBAAkB,EAAE;oBAClB,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,yDAAyD;iBAC5D;gBACD,UAAU,EAAE;oBACV,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,oCAAoC;iBAClD;aACF;YACD,QAAQ,EAAE,CAAC,QAAQ,CAAC;SACrB;KACF;CACF,CAAC"}
|
|
@@ -3,7 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.visionTool = void 0;
|
|
4
4
|
const ai_1 = require("../../ai");
|
|
5
5
|
async function visionTool(imageUrl, question) {
|
|
6
|
-
|
|
6
|
+
const response = await (0, ai_1.askGptVision)(imageUrl, question);
|
|
7
|
+
return response.choices[0].message.content;
|
|
7
8
|
}
|
|
8
9
|
exports.visionTool = visionTool;
|
|
9
10
|
//# sourceMappingURL=visionTool.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"visionTool.js","sourceRoot":"","sources":["../../../../src/agents/tools/visionTool.ts"],"names":[],"mappings":";;;AAAA,iCAAwC;AAEjC,KAAK,UAAU,UAAU,CAAC,QAAgB,EAAE,QAAgB;IACjE,
|
|
1
|
+
{"version":3,"file":"visionTool.js","sourceRoot":"","sources":["../../../../src/agents/tools/visionTool.ts"],"names":[],"mappings":";;;AAAA,iCAAwC;AAEjC,KAAK,UAAU,UAAU,CAAC,QAAgB,EAAE,QAAgB;IACjE,MAAM,QAAQ,GAAG,MAAM,IAAA,iBAAY,EAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IACxD,OAAO,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;AAC7C,CAAC;AAHD,gCAGC"}
|
package/ts_build/src/ai.d.ts
CHANGED
|
@@ -7,4 +7,4 @@ export declare function summarizeTexts(texts: string[], template: string, model?
|
|
|
7
7
|
export declare function chunkText(text: string, chunkSize?: number): Promise<any[]>;
|
|
8
8
|
export declare function summarizeFiles(files: string[], template: string, model?: string, agent?: string): Promise<any>;
|
|
9
9
|
export declare function summarizeFile(file: string, template: string, model?: string, agent?: string): Promise<any>;
|
|
10
|
-
export declare function askGptVision(imageUrl: string, question: string, provider?: string, model?: string): Promise<
|
|
10
|
+
export declare function askGptVision(imageUrl: string, question: string, provider?: string, model?: string): Promise<import("./clients").CompletionResponse>;
|
package/ts_build/src/ai.js
CHANGED
package/ts_build/src/ai.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai.js","sourceRoot":"","sources":["../../src/ai.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"ai.js","sourceRoot":"","sources":["../../src/ai.ts"],"names":[],"mappings":"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"}
|
package/ts_build/src/chat.js
CHANGED
|
@@ -274,9 +274,11 @@ async function startAgent(activeAgent, newTask, attach = false) {
|
|
|
274
274
|
new ToolResponseCache_1.ToolResponseCache(activeAgent.tools).createProcessor(),
|
|
275
275
|
new TokenCompressor_1.TokenCompressor(activeAgent.tools).createProcessor((msg) => Boolean(msg.role === "tool" && msg.tool_call_id)),
|
|
276
276
|
]);
|
|
277
|
-
activeAgent.agentEvents.
|
|
278
|
-
|
|
279
|
-
|
|
277
|
+
if (!activeAgent.agentEvents.listenerCount(activeAgent.eventTypes.toolUsed)) {
|
|
278
|
+
activeAgent.agentEvents.on(activeAgent.eventTypes.toolUsed, (responseMsg) => {
|
|
279
|
+
console.log(` 🔨 Tool used: ${JSON.stringify(responseMsg, null, 2)}`);
|
|
280
|
+
});
|
|
281
|
+
}
|
|
280
282
|
activeAgent.agentEvents.once(activeAgent.eventTypes.done, (doneMsg) => {
|
|
281
283
|
console.log("Agent has finished.");
|
|
282
284
|
done = true;
|
package/ts_build/src/chat.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat.js","sourceRoot":"","sources":["../../src/chat.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"chat.js","sourceRoot":"","sources":["../../src/chat.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,29 @@
|
|
|
1
|
-
import { KeyframeInfo } from "./types";
|
|
2
|
-
|
|
1
|
+
import { KeyframeInfo, TranscriptChunk } from "./types";
|
|
2
|
+
import { openai } from "../../ai";
|
|
3
|
+
import { Clients } from "../../clients";
|
|
4
|
+
export declare class DownloaderService {
|
|
5
|
+
private openAi;
|
|
6
|
+
private clients;
|
|
7
|
+
constructor(openAi: typeof openai, clients: typeof Clients);
|
|
8
|
+
askGptVision(imageUrl: string, question: string, provider?: string, model?: string): Promise<import("../../clients").CompletionResponse>;
|
|
3
9
|
download(url: string, outputDir: string): Promise<import("youtube-dl-exec").Payload>;
|
|
4
10
|
info(url: string): Promise<import("youtube-dl-exec").Payload>;
|
|
5
11
|
chunk(filePath: string, outputDir: string, CHUNK_LENGTH_SECONDS?: number, reuseExistingChunks?: boolean): Promise<string[]>;
|
|
6
|
-
|
|
12
|
+
streamTranscription(files: string[], outputPath: string, reusePreviousTranscript?: boolean): AsyncGenerator<TranscriptChunk>;
|
|
13
|
+
transcribeChunks(files: string[], outputPath: string, reusePreviousTranscript?: boolean): Promise<string[]>;
|
|
14
|
+
streamKeyFrameExtraction(filePath: string, outputPath: string, interval?: number): AsyncGenerator<KeyframeInfo>;
|
|
7
15
|
extractKeyframes(filePath: string, outputPath: string, interval?: number): Promise<KeyframeInfo[]>;
|
|
8
16
|
private describeKeyframe;
|
|
9
17
|
private extractTimestamp;
|
|
18
|
+
processAudio(filePath: string, reusePreviousTranscript?: boolean, chunkTime?: number): Promise<string[]>;
|
|
19
|
+
streamProcessAudio(filePath: string, reusePreviousTranscript?: boolean, chunkTime?: number): AsyncGenerator<TranscriptChunk>;
|
|
20
|
+
processVideo(filePath: string, reusePreviousTranscript?: boolean, chunkTime?: number): Promise<{
|
|
21
|
+
frame: KeyframeInfo;
|
|
22
|
+
transcription: string;
|
|
23
|
+
}[]>;
|
|
24
|
+
streamProcessVideo(filePath: string, reusePreviousTranscript?: boolean, chunkTime?: number): AsyncGenerator<{
|
|
25
|
+
frame: KeyframeInfo;
|
|
26
|
+
transcription: TranscriptChunk;
|
|
27
|
+
}, void, unknown>;
|
|
10
28
|
}
|
|
11
29
|
export declare const Downloader: DownloaderService;
|
|
12
|
-
export {};
|
|
@@ -26,16 +26,44 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
26
26
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
27
|
};
|
|
28
28
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
-
exports.Downloader = void 0;
|
|
29
|
+
exports.Downloader = exports.DownloaderService = void 0;
|
|
30
30
|
const fs = __importStar(require("fs"));
|
|
31
31
|
const path = __importStar(require("path"));
|
|
32
32
|
const youtube_dl_exec_1 = __importDefault(require("youtube-dl-exec"));
|
|
33
33
|
const progress_estimator_1 = __importDefault(require("progress-estimator"));
|
|
34
|
-
const visionTool_1 = require("../../agents/tools/visionTool");
|
|
35
34
|
const utils_1 = require("../../utils");
|
|
36
35
|
const ai_1 = require("../../ai");
|
|
36
|
+
const clients_1 = require("../../clients");
|
|
37
|
+
const types_1 = require("../../types");
|
|
37
38
|
const logger = (0, progress_estimator_1.default)();
|
|
38
39
|
class DownloaderService {
|
|
40
|
+
openAi;
|
|
41
|
+
clients;
|
|
42
|
+
constructor(openAi, clients) {
|
|
43
|
+
this.openAi = openAi;
|
|
44
|
+
this.clients = clients;
|
|
45
|
+
}
|
|
46
|
+
async askGptVision(imageUrl, question, provider = "openai", model = types_1.Models.openai.GPT_4o) {
|
|
47
|
+
const response = await this.clients.createCompletion(provider, {
|
|
48
|
+
model,
|
|
49
|
+
max_tokens: 2500,
|
|
50
|
+
messages: [
|
|
51
|
+
{
|
|
52
|
+
role: "user",
|
|
53
|
+
content: [
|
|
54
|
+
{ type: "text", text: question },
|
|
55
|
+
{
|
|
56
|
+
type: "image_url",
|
|
57
|
+
image_url: {
|
|
58
|
+
url: imageUrl,
|
|
59
|
+
},
|
|
60
|
+
},
|
|
61
|
+
],
|
|
62
|
+
},
|
|
63
|
+
],
|
|
64
|
+
});
|
|
65
|
+
return response;
|
|
66
|
+
}
|
|
39
67
|
async download(url, outputDir) {
|
|
40
68
|
const info = await this.info(url);
|
|
41
69
|
const exists = await (0, utils_1.fileExists)(`${outputDir}/${info.id}.${info.ext}`);
|
|
@@ -83,14 +111,7 @@ class DownloaderService {
|
|
|
83
111
|
console.log("Chunked into", chunkNames.length, "chunks");
|
|
84
112
|
return chunkNames.map((chunkName) => path.join(outputDirPath, chunkName));
|
|
85
113
|
}
|
|
86
|
-
async
|
|
87
|
-
const exists = await (0, utils_1.fileExists)(outputPath);
|
|
88
|
-
if (exists && reusePreviousTranscript) {
|
|
89
|
-
console.log("Transcription already exists, skipping");
|
|
90
|
-
const contents = await (0, utils_1.readFile)(outputPath);
|
|
91
|
-
return JSON.parse(contents.toString());
|
|
92
|
-
}
|
|
93
|
-
const fullText = [];
|
|
114
|
+
async *streamTranscription(files, outputPath, reusePreviousTranscript = true) {
|
|
94
115
|
for (const file of files) {
|
|
95
116
|
const chunkName = path.parse(file).name;
|
|
96
117
|
const chunkTranscriptPath = path.join(path.dirname(outputPath), `/chunks/${chunkName}.txt`);
|
|
@@ -98,11 +119,15 @@ class DownloaderService {
|
|
|
98
119
|
if (chunkExists && reusePreviousTranscript) {
|
|
99
120
|
console.log("Chunk transcription already exists, skipping");
|
|
100
121
|
const contents = await (0, utils_1.readFile)(chunkTranscriptPath);
|
|
101
|
-
|
|
122
|
+
yield {
|
|
123
|
+
chunkPath: chunkTranscriptPath,
|
|
124
|
+
text: contents.toString(),
|
|
125
|
+
usd_cost: 0,
|
|
126
|
+
};
|
|
102
127
|
continue;
|
|
103
128
|
}
|
|
104
129
|
console.log("Transcribing", file);
|
|
105
|
-
const transcript = await
|
|
130
|
+
const transcript = await this.openAi.audio.transcriptions
|
|
106
131
|
.create({
|
|
107
132
|
file: fs.createReadStream(file),
|
|
108
133
|
model: "whisper-1",
|
|
@@ -113,16 +138,37 @@ class DownloaderService {
|
|
|
113
138
|
});
|
|
114
139
|
await (0, utils_1.mkdir)(path.dirname(chunkTranscriptPath), { recursive: true });
|
|
115
140
|
await fs.promises.writeFile(chunkTranscriptPath, transcript.text);
|
|
116
|
-
|
|
141
|
+
yield {
|
|
142
|
+
chunkPath: chunkTranscriptPath,
|
|
143
|
+
text: transcript.text,
|
|
144
|
+
usd_cost: 30 * 0.0001
|
|
145
|
+
};
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
async transcribeChunks(files, outputPath, reusePreviousTranscript = true) {
|
|
149
|
+
const exists = await (0, utils_1.fileExists)(outputPath);
|
|
150
|
+
if (exists && reusePreviousTranscript) {
|
|
151
|
+
console.log("Transcription already exists, skipping");
|
|
152
|
+
const contents = await (0, utils_1.readFile)(outputPath);
|
|
153
|
+
return JSON.parse(contents.toString());
|
|
154
|
+
}
|
|
155
|
+
const fullText = [];
|
|
156
|
+
for await (const { chunkPath, text } of this.streamTranscription(files, outputPath, reusePreviousTranscript)) {
|
|
157
|
+
console.log("Chunk transcribed:", chunkPath);
|
|
158
|
+
fullText.push(text);
|
|
117
159
|
}
|
|
118
160
|
await fs.promises.writeFile(outputPath, JSON.stringify(fullText));
|
|
119
161
|
return fullText;
|
|
120
162
|
}
|
|
121
|
-
async
|
|
163
|
+
async *streamKeyFrameExtraction(filePath, outputPath, interval = 10) {
|
|
122
164
|
if (fs.existsSync(outputPath)) {
|
|
123
165
|
console.log("Keyframes already exist, skipping");
|
|
124
166
|
const contents = await (0, utils_1.readFile)(outputPath);
|
|
125
|
-
|
|
167
|
+
const data = JSON.parse(contents.toString());
|
|
168
|
+
for (const keyframe of data) {
|
|
169
|
+
yield { ...keyframe, usd_cost: 0 };
|
|
170
|
+
}
|
|
171
|
+
return;
|
|
126
172
|
}
|
|
127
173
|
const parsed = path.parse(filePath);
|
|
128
174
|
const outputDir = path.dirname(outputPath);
|
|
@@ -132,7 +178,6 @@ class DownloaderService {
|
|
|
132
178
|
const command = `ffmpeg -i "${filePath}" -vf "fps=1/${interval},scale=640:-1" "${keyframesDir}/frame%04d.jpg"`;
|
|
133
179
|
await (0, utils_1.execAsync)(command);
|
|
134
180
|
const keyframes = await fs.promises.readdir(keyframesDir);
|
|
135
|
-
const keyframeInfos = [];
|
|
136
181
|
for (const keyframe of keyframes) {
|
|
137
182
|
const keyframePath = path.join(keyframesDir, keyframe);
|
|
138
183
|
const keyframeName = path.parse(keyframe).name;
|
|
@@ -141,20 +186,27 @@ class DownloaderService {
|
|
|
141
186
|
if (descriptionExists) {
|
|
142
187
|
const cached = await (0, utils_1.readFile)(keyframeDescriptionPath);
|
|
143
188
|
const cachedJson = JSON.parse(cached.toString());
|
|
144
|
-
|
|
189
|
+
yield { ...cachedJson, usd_cost: 0 };
|
|
145
190
|
continue;
|
|
146
191
|
}
|
|
147
192
|
const description = await this.describeKeyframe(keyframePath);
|
|
148
193
|
const keyframeJson = {
|
|
149
194
|
path: keyframePath,
|
|
150
|
-
description,
|
|
195
|
+
description: description.choices[0].message.content,
|
|
151
196
|
timestamp: this.extractTimestamp(keyframe, interval),
|
|
197
|
+
usd_cost: description.usd_cost,
|
|
152
198
|
};
|
|
153
199
|
await fs.promises.writeFile(keyframeDescriptionPath, JSON.stringify(keyframeJson, null, 2));
|
|
154
|
-
|
|
200
|
+
yield keyframeJson;
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
async extractKeyframes(filePath, outputPath, interval = 10) {
|
|
204
|
+
const keyframes = [];
|
|
205
|
+
for await (const keyframe of this.streamKeyFrameExtraction(filePath, outputPath, interval)) {
|
|
206
|
+
keyframes.push(keyframe);
|
|
155
207
|
}
|
|
156
|
-
await fs.promises.writeFile(outputPath, JSON.stringify(
|
|
157
|
-
return
|
|
208
|
+
await fs.promises.writeFile(outputPath, JSON.stringify(keyframes, null, 2));
|
|
209
|
+
return keyframes;
|
|
158
210
|
}
|
|
159
211
|
async describeKeyframe(keyframePath) {
|
|
160
212
|
const question = "Describe this image in detail, focusing on the main elements and actions visible.";
|
|
@@ -162,13 +214,78 @@ class DownloaderService {
|
|
|
162
214
|
encoding: "base64",
|
|
163
215
|
});
|
|
164
216
|
const image = `data:image/jpeg;base64,${base64}`;
|
|
165
|
-
const
|
|
166
|
-
return
|
|
217
|
+
const response = await this.askGptVision(image, question);
|
|
218
|
+
return response;
|
|
167
219
|
}
|
|
168
220
|
extractTimestamp(keyframeName, interval) {
|
|
169
221
|
const frameNumber = parseInt(keyframeName.match(/\d+/)[0], 10);
|
|
170
222
|
return frameNumber * interval;
|
|
171
223
|
}
|
|
224
|
+
async processAudio(filePath, reusePreviousTranscript = true, chunkTime = 30) {
|
|
225
|
+
const parsed = path.parse(filePath);
|
|
226
|
+
const outputPath = `${parsed.dir}/${parsed.name}/transcript.json`;
|
|
227
|
+
const exists = await (0, utils_1.fileExists)(outputPath);
|
|
228
|
+
if (exists && reusePreviousTranscript) {
|
|
229
|
+
console.log(`Transcription ${outputPath} already exists, skipping`);
|
|
230
|
+
const fileContent = await (0, utils_1.readFile)(outputPath, "utf8");
|
|
231
|
+
return outputPath.endsWith("txt")
|
|
232
|
+
? fileContent.split("\n")
|
|
233
|
+
: JSON.parse(fileContent);
|
|
234
|
+
}
|
|
235
|
+
const chunks = await this.chunk(filePath, parsed.dir, chunkTime, reusePreviousTranscript);
|
|
236
|
+
const transcription = await this.transcribeChunks(chunks, outputPath, reusePreviousTranscript);
|
|
237
|
+
return transcription;
|
|
238
|
+
}
|
|
239
|
+
async *streamProcessAudio(filePath, reusePreviousTranscript = true, chunkTime = 30) {
|
|
240
|
+
const parsed = path.parse(filePath);
|
|
241
|
+
const outputPath = `${parsed.dir}/${parsed.name}/transcript.json`;
|
|
242
|
+
const exists = await (0, utils_1.fileExists)(outputPath);
|
|
243
|
+
if (exists && reusePreviousTranscript) {
|
|
244
|
+
console.log(`Transcription ${outputPath} already exists, skipping`);
|
|
245
|
+
const fileContent = await (0, utils_1.readFile)(outputPath, "utf8");
|
|
246
|
+
const lines = outputPath.endsWith("txt")
|
|
247
|
+
? fileContent.split("\n")
|
|
248
|
+
: JSON.parse(fileContent);
|
|
249
|
+
for (const line of lines)
|
|
250
|
+
yield { chunkPath: "", text: line, usd_cost: 0 };
|
|
251
|
+
return;
|
|
252
|
+
}
|
|
253
|
+
const chunks = await this.chunk(filePath, parsed.dir, chunkTime, reusePreviousTranscript);
|
|
254
|
+
for await (const chunk of this.streamTranscription(chunks, outputPath, reusePreviousTranscript)) {
|
|
255
|
+
yield chunk;
|
|
256
|
+
}
|
|
257
|
+
}
|
|
258
|
+
async processVideo(filePath, reusePreviousTranscript = true, chunkTime = 30) {
|
|
259
|
+
const parsed = path.parse(filePath);
|
|
260
|
+
const outputPath = `${parsed.dir}/${parsed.name}/video.json`;
|
|
261
|
+
console.log("Processing audio...");
|
|
262
|
+
const transcriptions = await this.processAudio(filePath, reusePreviousTranscript, chunkTime);
|
|
263
|
+
console.log("Extracting keyframes...");
|
|
264
|
+
const videoAnalysis = await this.extractKeyframes(filePath, outputPath, chunkTime);
|
|
265
|
+
return videoAnalysis.map((frame, index) => {
|
|
266
|
+
return {
|
|
267
|
+
frame,
|
|
268
|
+
transcription: transcriptions[index],
|
|
269
|
+
};
|
|
270
|
+
});
|
|
271
|
+
}
|
|
272
|
+
async *streamProcessVideo(filePath, reusePreviousTranscript = true, chunkTime = 30) {
|
|
273
|
+
const parsed = path.parse(filePath);
|
|
274
|
+
const outputPath = `${parsed.dir}/${parsed.name}/video.json`;
|
|
275
|
+
console.log("Processing audio...");
|
|
276
|
+
const transcriptions = await this.streamProcessAudio(filePath, reusePreviousTranscript, chunkTime);
|
|
277
|
+
console.log("Extracting keyframes...");
|
|
278
|
+
const videoAnalysis = await this.streamKeyFrameExtraction(filePath, outputPath, chunkTime);
|
|
279
|
+
for await (const frame of videoAnalysis) {
|
|
280
|
+
const transcription = (await transcriptions.next())
|
|
281
|
+
?.value;
|
|
282
|
+
yield {
|
|
283
|
+
frame,
|
|
284
|
+
transcription,
|
|
285
|
+
};
|
|
286
|
+
}
|
|
287
|
+
}
|
|
172
288
|
}
|
|
173
|
-
exports.
|
|
289
|
+
exports.DownloaderService = DownloaderService;
|
|
290
|
+
exports.Downloader = new DownloaderService(ai_1.openai, clients_1.Clients);
|
|
174
291
|
//# sourceMappingURL=downloader.js.map
|
|
@@ -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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"}
|
|
@@ -18,6 +18,12 @@ export interface KeyframeInfo {
|
|
|
18
18
|
path: string;
|
|
19
19
|
description: string;
|
|
20
20
|
timestamp: number;
|
|
21
|
+
usd_cost: number | null;
|
|
22
|
+
}
|
|
23
|
+
export interface TranscriptChunk {
|
|
24
|
+
chunkPath: string;
|
|
25
|
+
text: string;
|
|
26
|
+
usd_cost: number | null;
|
|
21
27
|
}
|
|
22
28
|
export declare class RequestedDownload {
|
|
23
29
|
ext: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/plugins/downloader/types.ts"],"names":[],"mappings":";;;AAAA,MAAa,WAAW;IACtB,GAAG,CAAS;IACZ,KAAK,CAAgB;IACrB,MAAM,CAAgB;IACtB,GAAG,CAAgB;IACnB,SAAS,CAAS;IAClB,GAAG,CAAS;IACZ,MAAM,CAAS;IACf,YAAY,CAAyB;IACrC,QAAQ,CAAS;IACjB,UAAU,CAAS;IACnB,YAAY,CAAgB;IAC5B,SAAS,CAAS;IAClB,SAAS,CAAS;IAClB,MAAM,CAAS;CAChB;AAfD,kCAeC;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/plugins/downloader/types.ts"],"names":[],"mappings":";;;AAAA,MAAa,WAAW;IACtB,GAAG,CAAS;IACZ,KAAK,CAAgB;IACrB,MAAM,CAAgB;IACtB,GAAG,CAAgB;IACnB,SAAS,CAAS;IAClB,GAAG,CAAS;IACZ,MAAM,CAAS;IACf,YAAY,CAAyB;IACrC,QAAQ,CAAS;IACjB,UAAU,CAAS;IACnB,YAAY,CAAgB;IAC5B,SAAS,CAAS;IAClB,SAAS,CAAS;IAClB,MAAM,CAAS;CAChB;AAfD,kCAeC;AAeD,MAAa,iBAAiB;IAC5B,GAAG,CAAS;IACZ,SAAS,CAAS;IAClB,GAAG,CAAS;IACZ,MAAM,CAAS;IACf,YAAY,CAAyB;IACrC,QAAQ,CAAS;IACjB,UAAU,CAAS;IACnB,SAAS,CAAS;IAClB,SAAS,CAAS;IAClB,MAAM,CAAS;IACf,KAAK,CAAS;IACd,SAAS,CAAS;IAClB,wBAAwB,CAAU;CACnC;AAdD,8CAcC;AAED,MAAa,YAAY;IACvB,EAAE,CAAS;IACX,KAAK,CAAS;IACd,SAAS,CAAc;IACvB,WAAW,CAAgB;IAC3B,SAAS,CAAgB;IACzB,SAAS,CAAS;IAClB,OAAO,CAAgB;IACvB,SAAS,CAAyB;IAClC,gBAAgB,CAAW;IAC3B,SAAS,CAAS;IAClB,aAAa,CAAS;IACtB,WAAW,CAAS;IACpB,YAAY,CAAS;IACrB,oBAAoB,CAAS;IAC7B,kBAAkB,CAAS;IAC3B,QAAQ,CAAgB;IACxB,cAAc,CAAgB;IAC9B,UAAU,CAAS;IACnB,SAAS,CAAS;IAClB,mBAAmB,CAAgC;IACnD,QAAQ,CAAiB;IACzB,mBAAmB,CAAsB;IACzC,GAAG,CAAS;IACZ,KAAK,CAAgB;IACrB,MAAM,CAAgB;IACtB,GAAG,CAAgB;IACnB,SAAS,CAAS;IAClB,GAAG,CAAS;IACZ,MAAM,CAAS;IACf,YAAY,CAAyB;IACrC,QAAQ,CAAS;IACjB,UAAU,CAAS;IACnB,YAAY,CAAgB;IAC5B,SAAS,CAAS;IAClB,SAAS,CAAS;IAClB,MAAM,CAAS;IACf,KAAK,CAAS;IACd,KAAK,CAAS;IACd,QAAQ,CAKN;CACH;AA7CD,oCA6CC"}
|
|
@@ -95,9 +95,11 @@ class FigmaPlugin extends PluginBase_1.PluginBase {
|
|
|
95
95
|
const responses = [];
|
|
96
96
|
for (const data of figmaDataFiltered) {
|
|
97
97
|
for (const nodeId in data.images) {
|
|
98
|
+
if (!data.images.hasOwnProperty(nodeId))
|
|
99
|
+
continue;
|
|
98
100
|
const imageUrl = data.images[nodeId];
|
|
99
101
|
const imageDescription = await (0, ai_1.askGptVision)(imageUrl, `Describe the image with relavant information for this user question: ${userPrompt}`);
|
|
100
|
-
console.log("FIGMA PLUGIN: Image description", imageDescription);
|
|
102
|
+
console.log("FIGMA PLUGIN: Image description", imageDescription.choices[0].message.content);
|
|
101
103
|
responses.push({ nodeId, imageDescription });
|
|
102
104
|
}
|
|
103
105
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"figma.js","sourceRoot":"","sources":["../../../src/plugins/figma.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"figma.js","sourceRoot":"","sources":["../../../src/plugins/figma.ts"],"names":[],"mappings":"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"}
|