@tyvm/knowhow 0.0.26 → 0.0.27
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/CONFIG.md +38 -0
- package/PROCESSING.md +429 -0
- package/WORKER.md +425 -0
- package/package.json +1 -1
- package/src/chat.ts +5 -5
- package/src/embeddings.ts +24 -9
- package/ts_build/src/chat.js +1 -1
- package/ts_build/src/chat.js.map +1 -1
- package/ts_build/src/embeddings.js +12 -8
- package/ts_build/src/embeddings.js.map +1 -1
package/CONFIG.md
CHANGED
|
@@ -88,6 +88,44 @@ Here is an overview of examples from various `knowhow.json` configuration files
|
|
|
88
88
|
],
|
|
89
89
|
```
|
|
90
90
|
|
|
91
|
+
## Expose Tools to Knowhow Site via workers
|
|
92
|
+
After you've connected via `knowhow login` you can connect tools from your local machine
|
|
93
|
+
Run `knowhow worker` to generate a block like below. Edit it to include the tools you want to expose.
|
|
94
|
+
Then run `knowhow worker` again to connect
|
|
95
|
+
```json
|
|
96
|
+
"worker": {
|
|
97
|
+
"allowedTools": [
|
|
98
|
+
"embeddingSearch",
|
|
99
|
+
"finalAnswer",
|
|
100
|
+
"callPlugin",
|
|
101
|
+
"readFile",
|
|
102
|
+
"readBlocks",
|
|
103
|
+
"patchFile",
|
|
104
|
+
"lintFile",
|
|
105
|
+
"textSearch",
|
|
106
|
+
"fileSearch",
|
|
107
|
+
"writeFileChunk",
|
|
108
|
+
"createAiCompletion",
|
|
109
|
+
"listAllModels",
|
|
110
|
+
"listAllProviders",
|
|
111
|
+
"getPullRequest",
|
|
112
|
+
"getPullRequestBuildStatuses",
|
|
113
|
+
"getRunLogs",
|
|
114
|
+
"getPullRequestBuildFailureLogs",
|
|
115
|
+
"addLanguageTerm",
|
|
116
|
+
"getAllLanguageTerms",
|
|
117
|
+
"lookupLanguageTerm",
|
|
118
|
+
"mcp_0_puppeteer_navigate",
|
|
119
|
+
"mcp_0_puppeteer_screenshot",
|
|
120
|
+
"mcp_0_puppeteer_click",
|
|
121
|
+
"mcp_0_puppeteer_fill",
|
|
122
|
+
"mcp_0_puppeteer_select",
|
|
123
|
+
"mcp_0_puppeteer_hover",
|
|
124
|
+
"mcp_0_puppeteer_evaluate"
|
|
125
|
+
]
|
|
126
|
+
},
|
|
127
|
+
```
|
|
128
|
+
|
|
91
129
|
## Custom Models Via LMS Studio
|
|
92
130
|
```json
|
|
93
131
|
"modelProviders": [
|
package/PROCESSING.md
ADDED
|
@@ -0,0 +1,429 @@
|
|
|
1
|
+
# Media Processing with Knowhow
|
|
2
|
+
|
|
3
|
+
This guide covers how to process audio, video, and PDF files using Knowhow's configuration system. Knowhow automatically converts media files to text for AI processing, supports pipeline chaining where outputs become inputs, and allows assignment of processing tasks to specific agents.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Supported File Types
|
|
8
|
+
|
|
9
|
+
Knowhow's `convertToText()` function automatically handles these file types:
|
|
10
|
+
|
|
11
|
+
**Audio Files:**
|
|
12
|
+
- `.mp3` - MP3 audio files
|
|
13
|
+
- `.wav` - WAV audio files
|
|
14
|
+
- `.m4a` - M4A audio files
|
|
15
|
+
- `.mpga` - MPEG audio files
|
|
16
|
+
|
|
17
|
+
**Video Files:**
|
|
18
|
+
- `.mp4` - MP4 video files
|
|
19
|
+
- `.webm` - WebM video files
|
|
20
|
+
- `.mov` - QuickTime video files
|
|
21
|
+
- `.mpeg` - MPEG video files
|
|
22
|
+
|
|
23
|
+
**Document Files:**
|
|
24
|
+
- `.pdf` - PDF documents
|
|
25
|
+
|
|
26
|
+
All other file types are processed as plain text files.
|
|
27
|
+
|
|
28
|
+
---
|
|
29
|
+
|
|
30
|
+
## Audio Processing
|
|
31
|
+
|
|
32
|
+
### Basic Audio Transcription
|
|
33
|
+
|
|
34
|
+
```json
|
|
35
|
+
{
|
|
36
|
+
"sources": [
|
|
37
|
+
{
|
|
38
|
+
"input": "./recordings/**/*.mp3",
|
|
39
|
+
"output": "./transcripts/",
|
|
40
|
+
"prompt": "BasicTranscript"
|
|
41
|
+
}
|
|
42
|
+
]
|
|
43
|
+
}
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
Audio files are automatically:
|
|
47
|
+
1. Split into 30-second chunks by default (configurable via `chunkTime` parameter)
|
|
48
|
+
2. Transcribed using speech-to-text via `Downloader.transcribeChunks()`
|
|
49
|
+
3. Saved as `transcript.json` in a folder named after the audio file
|
|
50
|
+
4. Formatted with timestamps: `[0:30s] transcript text [30:60s] more text`
|
|
51
|
+
|
|
52
|
+
### Audio with Agent Assignment
|
|
53
|
+
|
|
54
|
+
```json
|
|
55
|
+
{
|
|
56
|
+
"sources": [
|
|
57
|
+
{
|
|
58
|
+
"input": "./meetings/**/*.wav",
|
|
59
|
+
"output": "./meeting-notes/",
|
|
60
|
+
"prompt": "MeetingNotes",
|
|
61
|
+
"agent": "patcher"
|
|
62
|
+
}
|
|
63
|
+
]
|
|
64
|
+
}
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
### Meeting Recording Pipeline
|
|
68
|
+
|
|
69
|
+
```json
|
|
70
|
+
{
|
|
71
|
+
"sources": [
|
|
72
|
+
{
|
|
73
|
+
"input": "./meetings/**/*.m4a",
|
|
74
|
+
"output": "./meetings/transcripts/",
|
|
75
|
+
"prompt": "MeetingTranscriber"
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
"input": "./meetings/transcripts/**/*.mdx",
|
|
79
|
+
"output": "./meetings/summaries/",
|
|
80
|
+
"prompt": "MeetingSummarizer"
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
"input": "./meetings/summaries/**/*.mdx",
|
|
84
|
+
"output": "./meetings/action-items.txt",
|
|
85
|
+
"prompt": "ActionItemExtractor"
|
|
86
|
+
}
|
|
87
|
+
]
|
|
88
|
+
}
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
This pipeline demonstrates chaining:
|
|
92
|
+
1. Audio files → transcripts (multi-output to directory)
|
|
93
|
+
2. Transcripts → summaries (multi-output to directory)
|
|
94
|
+
3. Summaries → single action items file (single output)
|
|
95
|
+
|
|
96
|
+
---
|
|
97
|
+
|
|
98
|
+
## Video Processing
|
|
99
|
+
|
|
100
|
+
### Basic Video Processing
|
|
101
|
+
|
|
102
|
+
```json
|
|
103
|
+
{
|
|
104
|
+
"sources": [
|
|
105
|
+
{
|
|
106
|
+
"input": "./videos/**/*.mp4",
|
|
107
|
+
"output": "./video-analysis/",
|
|
108
|
+
"prompt": "VideoAnalyzer"
|
|
109
|
+
}
|
|
110
|
+
]
|
|
111
|
+
}
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
Video files are processed by:
|
|
115
|
+
1. Extracting and transcribing audio (same process as audio files)
|
|
116
|
+
2. Extracting keyframes at regular intervals using `Downloader.extractKeyframes()`
|
|
117
|
+
3. Analyzing visual content of each keyframe
|
|
118
|
+
4. Combining transcript and visual analysis with timestamps
|
|
119
|
+
|
|
120
|
+
The actual output format from `convertVideoToText()` includes:
|
|
121
|
+
```
|
|
122
|
+
Chunk: (1/10):
|
|
123
|
+
Start Timestamp: [0s]
|
|
124
|
+
Visual: description of keyframe
|
|
125
|
+
Audio: transcribed audio
|
|
126
|
+
End Timestamp: [30s]
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
### Video Content Organization
|
|
130
|
+
|
|
131
|
+
```json
|
|
132
|
+
{
|
|
133
|
+
"sources": [
|
|
134
|
+
{
|
|
135
|
+
"input": "./raw-videos/**/*.webm",
|
|
136
|
+
"output": "./organized-videos/",
|
|
137
|
+
"prompt": "VideoOrganizer",
|
|
138
|
+
"agent": "patcher"
|
|
139
|
+
}
|
|
140
|
+
]
|
|
141
|
+
}
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
This example shows assigning video processing to the "patcher" agent.
|
|
145
|
+
|
|
146
|
+
---
|
|
147
|
+
|
|
148
|
+
## PDF Processing
|
|
149
|
+
|
|
150
|
+
### Document Analysis
|
|
151
|
+
|
|
152
|
+
```json
|
|
153
|
+
{
|
|
154
|
+
"sources": [
|
|
155
|
+
{
|
|
156
|
+
"input": "./documents/**/*.pdf",
|
|
157
|
+
"output": "./document-summaries/",
|
|
158
|
+
"prompt": "DocumentSummarizer"
|
|
159
|
+
}
|
|
160
|
+
]
|
|
161
|
+
}
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
PDF files are processed by:
|
|
165
|
+
1. Reading the file using `fs.readFileSync()`
|
|
166
|
+
2. Extracting text content using the `pdf-parse` library
|
|
167
|
+
3. Returning the extracted text via `data.text`
|
|
168
|
+
4. Applying the specified prompt for analysis
|
|
169
|
+
|
|
170
|
+
### Multi-Document Research Pipeline
|
|
171
|
+
|
|
172
|
+
```json
|
|
173
|
+
{
|
|
174
|
+
"sources": [
|
|
175
|
+
{
|
|
176
|
+
"input": "./research-papers/**/*.pdf",
|
|
177
|
+
"output": "./paper-summaries/",
|
|
178
|
+
"prompt": "AcademicSummarizer"
|
|
179
|
+
},
|
|
180
|
+
{
|
|
181
|
+
"input": "./paper-summaries/**/*.mdx",
|
|
182
|
+
"output": "./research-synthesis.md",
|
|
183
|
+
"prompt": "ResearchSynthesizer"
|
|
184
|
+
}
|
|
185
|
+
]
|
|
186
|
+
}
|
|
187
|
+
```
|
|
188
|
+
|
|
189
|
+
---
|
|
190
|
+
|
|
191
|
+
## Agent Assignment
|
|
192
|
+
|
|
193
|
+
### Assigning Processing to Specific Agents
|
|
194
|
+
|
|
195
|
+
```json
|
|
196
|
+
{
|
|
197
|
+
"sources": [
|
|
198
|
+
{
|
|
199
|
+
"input": "./meetings/**/*.mov",
|
|
200
|
+
"output": "./meeting-notes/",
|
|
201
|
+
"prompt": "MeetingNotes",
|
|
202
|
+
"agent": "patcher"
|
|
203
|
+
}
|
|
204
|
+
]
|
|
205
|
+
}
|
|
206
|
+
```
|
|
207
|
+
|
|
208
|
+
The `agent` parameter assigns processing to a specific agent defined in your configuration. The agent receives the file content and prompt, then processes it according to its instructions and capabilities.
|
|
209
|
+
|
|
210
|
+
### Multi-Agent Pipeline
|
|
211
|
+
|
|
212
|
+
```json
|
|
213
|
+
{
|
|
214
|
+
"sources": [
|
|
215
|
+
{
|
|
216
|
+
"input": "./interviews/**/*.wav",
|
|
217
|
+
"output": "./interview-transcripts/",
|
|
218
|
+
"prompt": "InterviewTranscriber",
|
|
219
|
+
"agent": "transcriber"
|
|
220
|
+
},
|
|
221
|
+
{
|
|
222
|
+
"input": "./interview-transcripts/**/*.mdx",
|
|
223
|
+
"output": "./interview-insights/",
|
|
224
|
+
"prompt": "InsightExtractor",
|
|
225
|
+
"agent": "analyst"
|
|
226
|
+
}
|
|
227
|
+
]
|
|
228
|
+
}
|
|
229
|
+
```
|
|
230
|
+
|
|
231
|
+
This assigns transcription to a "transcriber" agent and analysis to an "analyst" agent, each specialized for their respective tasks.
|
|
232
|
+
|
|
233
|
+
---
|
|
234
|
+
|
|
235
|
+
## Embedding Generation from Processed Media
|
|
236
|
+
|
|
237
|
+
### Audio Embeddings
|
|
238
|
+
|
|
239
|
+
```json
|
|
240
|
+
{
|
|
241
|
+
"embedSources": [
|
|
242
|
+
{
|
|
243
|
+
"input": "./podcasts/**/*.mp3",
|
|
244
|
+
"output": ".knowhow/embeddings/podcasts.json",
|
|
245
|
+
"chunkSize": 2000,
|
|
246
|
+
"prompt": "PodcastEmbeddingExplainer"
|
|
247
|
+
}
|
|
248
|
+
]
|
|
249
|
+
}
|
|
250
|
+
```
|
|
251
|
+
|
|
252
|
+
Audio files are automatically transcribed using `convertAudioToText()`, then chunked and embedded for semantic search.
|
|
253
|
+
|
|
254
|
+
### Video Embeddings
|
|
255
|
+
|
|
256
|
+
```json
|
|
257
|
+
{
|
|
258
|
+
"embedSources": [
|
|
259
|
+
{
|
|
260
|
+
"input": "./tutorials/**/*.mp4",
|
|
261
|
+
"output": ".knowhow/embeddings/tutorials.json",
|
|
262
|
+
"chunkSize": 1500
|
|
263
|
+
}
|
|
264
|
+
]
|
|
265
|
+
}
|
|
266
|
+
```
|
|
267
|
+
|
|
268
|
+
Video files are processed using `convertVideoToText()` to extract both visual and audio content, then embedded for search.
|
|
269
|
+
|
|
270
|
+
### PDF Document Embeddings
|
|
271
|
+
|
|
272
|
+
```json
|
|
273
|
+
{
|
|
274
|
+
"embedSources": [
|
|
275
|
+
{
|
|
276
|
+
"input": "./documentation/**/*.pdf",
|
|
277
|
+
"output": ".knowhow/embeddings/docs.json",
|
|
278
|
+
"chunkSize": 2000,
|
|
279
|
+
"prompt": "DocumentChunker"
|
|
280
|
+
}
|
|
281
|
+
]
|
|
282
|
+
}
|
|
283
|
+
```
|
|
284
|
+
|
|
285
|
+
---
|
|
286
|
+
|
|
287
|
+
## Pipeline Chaining Examples
|
|
288
|
+
|
|
289
|
+
### Complete Media Processing Workflow
|
|
290
|
+
|
|
291
|
+
```json
|
|
292
|
+
{
|
|
293
|
+
"sources": [
|
|
294
|
+
{
|
|
295
|
+
"input": "./raw-content/**/*.{mp4,mp3,pdf}",
|
|
296
|
+
"output": "./processed-content/",
|
|
297
|
+
"prompt": "ContentProcessor"
|
|
298
|
+
},
|
|
299
|
+
{
|
|
300
|
+
"input": "./processed-content/**/*.mdx",
|
|
301
|
+
"output": "./content-categories/",
|
|
302
|
+
"prompt": "ContentCategorizer"
|
|
303
|
+
},
|
|
304
|
+
{
|
|
305
|
+
"input": "./content-categories/**/*.mdx",
|
|
306
|
+
"output": "./final-report.md",
|
|
307
|
+
"prompt": "ReportGenerator"
|
|
308
|
+
}
|
|
309
|
+
]
|
|
310
|
+
}
|
|
311
|
+
```
|
|
312
|
+
|
|
313
|
+
This three-stage pipeline:
|
|
314
|
+
1. Processes mixed media files (video, audio, PDF) into text summaries
|
|
315
|
+
2. Categorizes the processed content
|
|
316
|
+
3. Generates a final consolidated report
|
|
317
|
+
|
|
318
|
+
### Meeting-to-Tasks Pipeline
|
|
319
|
+
|
|
320
|
+
```json
|
|
321
|
+
{
|
|
322
|
+
"sources": [
|
|
323
|
+
{
|
|
324
|
+
"input": "./weekly-meetings/**/*.mov",
|
|
325
|
+
"output": "./meeting-transcripts/",
|
|
326
|
+
"prompt": "MeetingTranscriber"
|
|
327
|
+
},
|
|
328
|
+
{
|
|
329
|
+
"input": "./meeting-transcripts/**/*.mdx",
|
|
330
|
+
"output": "./extracted-tasks/",
|
|
331
|
+
"prompt": "TaskExtractor"
|
|
332
|
+
},
|
|
333
|
+
{
|
|
334
|
+
"input": "./extracted-tasks/**/*.mdx",
|
|
335
|
+
"output": "./project-tasks.json",
|
|
336
|
+
"prompt": "TaskConsolidator",
|
|
337
|
+
"agent": "patcher"
|
|
338
|
+
}
|
|
339
|
+
]
|
|
340
|
+
}
|
|
341
|
+
```
|
|
342
|
+
|
|
343
|
+
---
|
|
344
|
+
|
|
345
|
+
## Processing Workflow Details
|
|
346
|
+
|
|
347
|
+
### Transcript Caching and Reuse
|
|
348
|
+
|
|
349
|
+
The system implements intelligent caching for audio/video processing:
|
|
350
|
+
|
|
351
|
+
**Audio Processing (`processAudio()`):**
|
|
352
|
+
- Transcripts saved as `transcript.json` in `{dir}/{filename}/transcript.json`
|
|
353
|
+
- Uses `reusePreviousTranscript` parameter (default: true)
|
|
354
|
+
- Checks if transcript exists with `fileExists()` before reprocessing
|
|
355
|
+
- Enables fast re-processing with different prompts
|
|
356
|
+
|
|
357
|
+
**Video Processing (`processVideo()`):**
|
|
358
|
+
- Audio transcripts cached the same way as audio files
|
|
359
|
+
- Video analysis cached as `video.json` in `{dir}/{filename}/video.json`
|
|
360
|
+
- Keyframes extracted using `Downloader.extractKeyframes()`
|
|
361
|
+
|
|
362
|
+
### Chunking Behavior
|
|
363
|
+
|
|
364
|
+
**Audio Files:**
|
|
365
|
+
- Default chunk time: 30 seconds (configurable via `chunkTime` parameter)
|
|
366
|
+
- Uses `Downloader.chunk()` to split audio files
|
|
367
|
+
- Each chunk transcribed separately then combined with timestamps
|
|
368
|
+
|
|
369
|
+
**Video Files:**
|
|
370
|
+
- Same 30-second default chunking for audio track
|
|
371
|
+
- Keyframes extracted at chunk intervals
|
|
372
|
+
- Visual and audio analysis combined per chunk
|
|
373
|
+
|
|
374
|
+
### Output Structure
|
|
375
|
+
|
|
376
|
+
**Multi-Output (directory ending with `/`):**
|
|
377
|
+
- Creates one output file per input file
|
|
378
|
+
- Preserves directory structure relative to input pattern
|
|
379
|
+
- Uses `outputExt` (default: "mdx") for file extensions
|
|
380
|
+
- Uses `outputName` or original filename
|
|
381
|
+
|
|
382
|
+
**Single Output (specific filename):**
|
|
383
|
+
- Combines all input files into one output
|
|
384
|
+
- Useful for reports, summaries, and consolidated documents
|
|
385
|
+
|
|
386
|
+
---
|
|
387
|
+
|
|
388
|
+
## Troubleshooting
|
|
389
|
+
|
|
390
|
+
### Common Issues
|
|
391
|
+
|
|
392
|
+
**Audio/Video Processing Fails:**
|
|
393
|
+
- Ensure ffmpeg is installed and accessible (required by Downloader)
|
|
394
|
+
- Check file permissions and disk space
|
|
395
|
+
- Verify audio/video files aren't corrupted
|
|
396
|
+
- Check that `Downloader.chunk()` and `Downloader.transcribeChunks()` are working
|
|
397
|
+
|
|
398
|
+
**PDF Processing Fails:**
|
|
399
|
+
- Some PDFs may have restrictions or encryption
|
|
400
|
+
- Scanned PDFs without OCR won't extract text properly with `pdf-parse`
|
|
401
|
+
- Large PDFs may cause memory issues when loading with `fs.readFileSync()`
|
|
402
|
+
- Ensure PDF file isn't corrupted
|
|
403
|
+
|
|
404
|
+
**Pipeline Chaining Issues:**
|
|
405
|
+
- Ensure output directory of one stage matches input pattern of next stage
|
|
406
|
+
- Check that intermediate files are being created successfully
|
|
407
|
+
- Verify file extensions match between stages (default: .mdx)
|
|
408
|
+
|
|
409
|
+
**Agent Assignment Problems:**
|
|
410
|
+
- Ensure the specified agent exists in your configuration
|
|
411
|
+
- Check that the agent has appropriate permissions and tools
|
|
412
|
+
- Verify the agent can handle the specific prompt and content type
|
|
413
|
+
|
|
414
|
+
### Performance Optimization
|
|
415
|
+
|
|
416
|
+
**Large File Processing:**
|
|
417
|
+
- Audio/video files are automatically chunked (30s default) for efficient processing
|
|
418
|
+
- Consider adjusting `chunkTime` parameter for very long recordings
|
|
419
|
+
- Transcript caching avoids reprocessing unchanged files
|
|
420
|
+
|
|
421
|
+
**Batch Processing:**
|
|
422
|
+
- Process files in smaller batches if memory becomes an issue
|
|
423
|
+
- Use specific file patterns rather than overly broad glob patterns
|
|
424
|
+
- Consider processing different file types in separate pipeline stages
|
|
425
|
+
|
|
426
|
+
**File System Considerations:**
|
|
427
|
+
- Transcripts create subdirectories: `{filename}/transcript.json`
|
|
428
|
+
- Video processing creates: `{filename}/video.json`
|
|
429
|
+
- Ensure sufficient disk space for intermediate files
|
package/WORKER.md
ADDED
|
@@ -0,0 +1,425 @@
|
|
|
1
|
+
# Knowhow Workers Guide
|
|
2
|
+
|
|
3
|
+
Knowhow workers allow you to expose your local tools and development environment to the Knowhow platform, enabling remote agents to execute commands, access files, and leverage your local setup through a secure WebSocket connection.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Quick Start
|
|
8
|
+
|
|
9
|
+
### 1. Initial Setup
|
|
10
|
+
|
|
11
|
+
First, authenticate with the Knowhow platform:
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
knowhow login
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
This will open your browser and guide you through the authentication process.
|
|
18
|
+
|
|
19
|
+
### 2. Generate Worker Configuration
|
|
20
|
+
|
|
21
|
+
Run the worker command to generate the initial configuration:
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
knowhow worker
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
This will:
|
|
28
|
+
- Generate a `worker` configuration block in your `knowhow.json`
|
|
29
|
+
- Display available tools that can be exposed
|
|
30
|
+
- Create a secure connection to the Knowhow platform
|
|
31
|
+
|
|
32
|
+
### 3. Configure Allowed Tools
|
|
33
|
+
|
|
34
|
+
Edit your `knowhow.json` to specify which tools you want to expose:
|
|
35
|
+
|
|
36
|
+
```json
|
|
37
|
+
{
|
|
38
|
+
"worker": {
|
|
39
|
+
"allowedTools": [
|
|
40
|
+
"readFile",
|
|
41
|
+
"writeFileChunk",
|
|
42
|
+
"patchFile",
|
|
43
|
+
"execCommand",
|
|
44
|
+
"textSearch",
|
|
45
|
+
"fileSearch",
|
|
46
|
+
"embeddingSearch"
|
|
47
|
+
]
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
### 4. Start the Worker
|
|
53
|
+
|
|
54
|
+
Run the worker again to start the connection:
|
|
55
|
+
|
|
56
|
+
```bash
|
|
57
|
+
knowhow worker
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
Your local tools are now available to Knowhow behaviors and agents!
|
|
61
|
+
|
|
62
|
+
---
|
|
63
|
+
|
|
64
|
+
## Worker Architecture
|
|
65
|
+
|
|
66
|
+
### WebSocket Connection
|
|
67
|
+
|
|
68
|
+
Workers establish a secure WebSocket connection to the Knowhow platform:
|
|
69
|
+
|
|
70
|
+
- **Authentication**: Uses your login credentials for secure access
|
|
71
|
+
- **Real-time Communication**: Enables instant tool execution requests
|
|
72
|
+
- **Automatic Reconnection**: Handles network interruptions gracefully
|
|
73
|
+
- **Tool Allowlisting**: Only exposed tools can be executed remotely
|
|
74
|
+
|
|
75
|
+
### MCP Integration
|
|
76
|
+
|
|
77
|
+
Workers leverage the Model Context Protocol (MCP) to expose tools:
|
|
78
|
+
|
|
79
|
+
- **Tool Registration**: Local tools are registered as MCP resources
|
|
80
|
+
- **Parameter Validation**: Ensures proper argument types and requirements
|
|
81
|
+
- **Error Handling**: Provides detailed error messages for debugging
|
|
82
|
+
- **Response Formatting**: Standardizes tool outputs for agent consumption
|
|
83
|
+
|
|
84
|
+
---
|
|
85
|
+
|
|
86
|
+
## Configuration
|
|
87
|
+
|
|
88
|
+
### Basic Worker Configuration
|
|
89
|
+
|
|
90
|
+
```json
|
|
91
|
+
{
|
|
92
|
+
"worker": {
|
|
93
|
+
"allowedTools": [
|
|
94
|
+
"readFile",
|
|
95
|
+
"writeFileChunk",
|
|
96
|
+
"patchFile",
|
|
97
|
+
"lintFile",
|
|
98
|
+
"execCommand",
|
|
99
|
+
"textSearch",
|
|
100
|
+
"fileSearch",
|
|
101
|
+
"embeddingSearch"
|
|
102
|
+
]
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
### Advanced Configuration
|
|
108
|
+
|
|
109
|
+
```json
|
|
110
|
+
{
|
|
111
|
+
"worker": {
|
|
112
|
+
"allowedTools": [
|
|
113
|
+
"readFile",
|
|
114
|
+
"writeFileChunk",
|
|
115
|
+
"patchFile",
|
|
116
|
+
"lintFile",
|
|
117
|
+
"execCommand",
|
|
118
|
+
"textSearch",
|
|
119
|
+
"fileSearch",
|
|
120
|
+
"embeddingSearch",
|
|
121
|
+
"createAiCompletion",
|
|
122
|
+
"listAllModels",
|
|
123
|
+
"callPlugin"
|
|
124
|
+
]
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
---
|
|
130
|
+
|
|
131
|
+
## Available Tools
|
|
132
|
+
|
|
133
|
+
### File Operations
|
|
134
|
+
|
|
135
|
+
#### Core File Tools
|
|
136
|
+
- **`readFile`** - Read complete file contents
|
|
137
|
+
- **`writeFileChunk`** - Write content to files (supports chunking for large files)
|
|
138
|
+
- **`patchFile`** - Apply unified diff patches to files
|
|
139
|
+
- **`readBlocks`** - Read specific blocks from files
|
|
140
|
+
|
|
141
|
+
#### Search Tools
|
|
142
|
+
- **`textSearch`** - Search for exact text matches across files
|
|
143
|
+
- **`fileSearch`** - Search for files by path patterns
|
|
144
|
+
- **`embeddingSearch`** - Semantic search using embeddings
|
|
145
|
+
|
|
146
|
+
### Development Tools
|
|
147
|
+
|
|
148
|
+
#### Code Quality
|
|
149
|
+
- **`lintFile`** - Run linters on files based on extension
|
|
150
|
+
- **`execCommand`** - Execute shell commands with timeout support
|
|
151
|
+
|
|
152
|
+
#### AI Integration
|
|
153
|
+
- **`createAiCompletion`** - Create AI completions using configured models
|
|
154
|
+
- **`listAllModels`** - List available AI models
|
|
155
|
+
- **`listAllProviders`** - List available AI providers
|
|
156
|
+
|
|
157
|
+
### Plugin System
|
|
158
|
+
- **`callPlugin`** - Execute plugin functions
|
|
159
|
+
- **`addLanguageTerm`** - Add language terms for context loading
|
|
160
|
+
- **`getAllLanguageTerms`** - Retrieve all configured language terms
|
|
161
|
+
- **`lookupLanguageTerm`** - Look up specific language terms
|
|
162
|
+
|
|
163
|
+
### Integration Tools
|
|
164
|
+
|
|
165
|
+
#### Version Control
|
|
166
|
+
- **`getPullRequest`** - Fetch GitHub pull request information
|
|
167
|
+
- **`getPullRequestBuildStatuses`** - Get build status for PRs
|
|
168
|
+
- **`getRunLogs`** - Retrieve GitHub Actions run logs
|
|
169
|
+
- **`getPullRequestBuildFailureLogs`** - Get failure logs from PR builds
|
|
170
|
+
|
|
171
|
+
### MCP Server Tools
|
|
172
|
+
|
|
173
|
+
When MCP servers are configured, their tools become available with prefixed names:
|
|
174
|
+
|
|
175
|
+
```json
|
|
176
|
+
{
|
|
177
|
+
"mcps": [
|
|
178
|
+
{
|
|
179
|
+
"name": "browser",
|
|
180
|
+
"command": "npx",
|
|
181
|
+
"args": ["-y", "@modelcontextprotocol/server-puppeteer"]
|
|
182
|
+
}
|
|
183
|
+
],
|
|
184
|
+
"worker": {
|
|
185
|
+
"allowedTools": [
|
|
186
|
+
"mcp_0_browser_navigate",
|
|
187
|
+
"mcp_0_browser_screenshot",
|
|
188
|
+
"mcp_0_browser_click",
|
|
189
|
+
"mcp_0_browser_fill",
|
|
190
|
+
"mcp_0_browser_select"
|
|
191
|
+
]
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
```
|
|
195
|
+
|
|
196
|
+
---
|
|
197
|
+
|
|
198
|
+
## Security Considerations
|
|
199
|
+
|
|
200
|
+
### Tool Allowlisting
|
|
201
|
+
|
|
202
|
+
Only tools explicitly listed in `allowedTools` can be executed remotely:
|
|
203
|
+
|
|
204
|
+
```json
|
|
205
|
+
{
|
|
206
|
+
"worker": {
|
|
207
|
+
"allowedTools": [
|
|
208
|
+
"readFile", // ✅ Allowed
|
|
209
|
+
"writeFileChunk", // ✅ Allowed
|
|
210
|
+
// "execCommand" // ❌ Not allowed - commented out
|
|
211
|
+
]
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
```
|
|
215
|
+
|
|
216
|
+
### File System Access
|
|
217
|
+
|
|
218
|
+
Workers respect the project directory boundaries:
|
|
219
|
+
- **Limited Scope**: Only files within the project directory are accessible
|
|
220
|
+
- **Path Validation**: Prevents directory traversal attacks
|
|
221
|
+
- **Permission Checks**: Respects file system permissions
|
|
222
|
+
|
|
223
|
+
### Command Execution
|
|
224
|
+
|
|
225
|
+
When `execCommand` is enabled:
|
|
226
|
+
- **Timeout Protection**: Commands have configurable timeouts
|
|
227
|
+
- **Process Isolation**: Commands run in separate processes
|
|
228
|
+
- **Error Handling**: Captures both stdout and stderr
|
|
229
|
+
- **Security Warning**: Be cautious with command execution in untrusted environments
|
|
230
|
+
|
|
231
|
+
### Network Security
|
|
232
|
+
|
|
233
|
+
- **Encrypted Connection**: All communication uses WebSocket Secure (WSS)
|
|
234
|
+
- **Authentication Required**: Valid Knowhow credentials required
|
|
235
|
+
- **Session Management**: Automatic session expiration and renewal
|
|
236
|
+
|
|
237
|
+
---
|
|
238
|
+
|
|
239
|
+
## Integration with Knowhow Behaviors
|
|
240
|
+
|
|
241
|
+
### Creating Worker-Enabled Behaviors
|
|
242
|
+
|
|
243
|
+
Behaviors can leverage worker tools through the Knowhow platform:
|
|
244
|
+
|
|
245
|
+
```json
|
|
246
|
+
{
|
|
247
|
+
"name": "Code Reviewer",
|
|
248
|
+
"description": "Reviews code changes and provides feedback",
|
|
249
|
+
"instructions": "Use readFile to examine code, textSearch to find patterns, and writeFileChunk to create review comments",
|
|
250
|
+
"tools": ["worker_0_readFile", "worker_0_textSearch", "worker_0_writeFileChunk"],
|
|
251
|
+
"workers": ["worker_connection_id"]
|
|
252
|
+
}
|
|
253
|
+
```
|
|
254
|
+
|
|
255
|
+
### Tool Usage in Agents
|
|
256
|
+
|
|
257
|
+
Agents can call worker tools directly:
|
|
258
|
+
|
|
259
|
+
```javascript
|
|
260
|
+
// Agent can read local files
|
|
261
|
+
const fileContent = await callTool('readFile', {
|
|
262
|
+
filePath: './src/components/Header.tsx'
|
|
263
|
+
});
|
|
264
|
+
|
|
265
|
+
// Search for patterns in codebase
|
|
266
|
+
const searchResults = await callTool('textSearch', {
|
|
267
|
+
searchTerm: 'useState'
|
|
268
|
+
});
|
|
269
|
+
|
|
270
|
+
// Apply code changes
|
|
271
|
+
await callTool('patchFile', {
|
|
272
|
+
filePath: './src/utils/helpers.ts',
|
|
273
|
+
patch: `--- a/src/utils/helpers.ts
|
|
274
|
+
+++ b/src/utils/helpers.ts
|
|
275
|
+
@@ -10,6 +10,7 @@
|
|
276
|
+
export function formatDate(date: Date): string {
|
|
277
|
+
+ if (!date) return '';
|
|
278
|
+
return date.toISOString().split('T')[0];
|
|
279
|
+
}`
|
|
280
|
+
});
|
|
281
|
+
```
|
|
282
|
+
|
|
283
|
+
---
|
|
284
|
+
|
|
285
|
+
## Command Line Usage
|
|
286
|
+
|
|
287
|
+
### Basic Commands
|
|
288
|
+
|
|
289
|
+
```bash
|
|
290
|
+
# Authenticate with Knowhow
|
|
291
|
+
knowhow login
|
|
292
|
+
|
|
293
|
+
# Generate worker configuration
|
|
294
|
+
knowhow worker
|
|
295
|
+
|
|
296
|
+
# Start worker with default config
|
|
297
|
+
knowhow worker
|
|
298
|
+
```
|
|
299
|
+
|
|
300
|
+
### Environment Variables
|
|
301
|
+
|
|
302
|
+
---
|
|
303
|
+
|
|
304
|
+
## Troubleshooting
|
|
305
|
+
|
|
306
|
+
### Common Issues
|
|
307
|
+
|
|
308
|
+
#### Connection Problems
|
|
309
|
+
|
|
310
|
+
**Issue**: Worker fails to connect
|
|
311
|
+
```
|
|
312
|
+
Error: WebSocket connection failed
|
|
313
|
+
```
|
|
314
|
+
|
|
315
|
+
**Solutions**:
|
|
316
|
+
1. Check internet connection
|
|
317
|
+
2. Verify authentication: `knowhow login`
|
|
318
|
+
3. Check firewall settings for WebSocket connections
|
|
319
|
+
|
|
320
|
+
#### Authentication Errors
|
|
321
|
+
|
|
322
|
+
**Issue**: Authentication failed
|
|
323
|
+
```
|
|
324
|
+
Error: Invalid credentials
|
|
325
|
+
```
|
|
326
|
+
|
|
327
|
+
**Solutions**:
|
|
328
|
+
1. Re-authenticate: `knowhow login`
|
|
329
|
+
2. Check token expiration
|
|
330
|
+
3. Verify organization permissions
|
|
331
|
+
|
|
332
|
+
#### Tool Execution Failures
|
|
333
|
+
|
|
334
|
+
**Issue**: Tool not found or not allowed
|
|
335
|
+
```
|
|
336
|
+
Error: Function readFile not enabled
|
|
337
|
+
```
|
|
338
|
+
|
|
339
|
+
**Solutions**:
|
|
340
|
+
1. Add tool to `allowedTools` in `knowhow.json`
|
|
341
|
+
2. Restart worker after configuration changes
|
|
342
|
+
3. Verify tool name spelling
|
|
343
|
+
|
|
344
|
+
## Best Practices
|
|
345
|
+
|
|
346
|
+
### Security
|
|
347
|
+
|
|
348
|
+
1. **Principle of Least Privilege**: Only expose necessary tools
|
|
349
|
+
2. **Regular Audits**: Review `allowedTools` periodically
|
|
350
|
+
3. **Environment Separation**: Use different configurations for dev/prod
|
|
351
|
+
4. **Command Restrictions**: Be cautious with `execCommand` permissions
|
|
352
|
+
|
|
353
|
+
### Development Workflow
|
|
354
|
+
|
|
355
|
+
1. **Version Control**: Include `knowhow.json` in version control
|
|
356
|
+
2. **Team Coordination**: Document tool requirements for team members
|
|
357
|
+
3. **Testing**: Test worker configuration before deploying behaviors
|
|
358
|
+
4. **Documentation**: Document custom tools and their usage
|
|
359
|
+
|
|
360
|
+
### Maintenance
|
|
361
|
+
1. **Regular Updates**: Keep Knowhow CLI updated
|
|
362
|
+
2. **Log Monitoring**: Review worker logs for issues
|
|
363
|
+
3. **Configuration Backup**: Backup working configurations
|
|
364
|
+
4. **Health Checks**: Implement monitoring for worker connectivity
|
|
365
|
+
|
|
366
|
+
---
|
|
367
|
+
|
|
368
|
+
## Examples
|
|
369
|
+
|
|
370
|
+
### Development Environment Setup
|
|
371
|
+
|
|
372
|
+
```json
|
|
373
|
+
{
|
|
374
|
+
"worker": {
|
|
375
|
+
"allowedTools": [
|
|
376
|
+
"readFile",
|
|
377
|
+
"writeFileChunk",
|
|
378
|
+
"patchFile",
|
|
379
|
+
"textSearch",
|
|
380
|
+
"fileSearch",
|
|
381
|
+
"embeddingSearch",
|
|
382
|
+
"execCommand",
|
|
383
|
+
"lintFile"
|
|
384
|
+
]
|
|
385
|
+
},
|
|
386
|
+
"mcps": [
|
|
387
|
+
{
|
|
388
|
+
"name": "browser",
|
|
389
|
+
"command": "npx",
|
|
390
|
+
"args": ["-y", "@modelcontextprotocol/server-puppeteer"]
|
|
391
|
+
}
|
|
392
|
+
]
|
|
393
|
+
}
|
|
394
|
+
```
|
|
395
|
+
|
|
396
|
+
### Production Environment (Restricted)
|
|
397
|
+
|
|
398
|
+
```json
|
|
399
|
+
{
|
|
400
|
+
"worker": {
|
|
401
|
+
"allowedTools": [
|
|
402
|
+
"readFile",
|
|
403
|
+
"textSearch",
|
|
404
|
+
"fileSearch",
|
|
405
|
+
"embeddingSearch"
|
|
406
|
+
]
|
|
407
|
+
}
|
|
408
|
+
}
|
|
409
|
+
```
|
|
410
|
+
|
|
411
|
+
### Code Review Workflow
|
|
412
|
+
|
|
413
|
+
```json
|
|
414
|
+
{
|
|
415
|
+
"worker": {
|
|
416
|
+
"allowedTools": [
|
|
417
|
+
"readFile",
|
|
418
|
+
"textSearch",
|
|
419
|
+
"getPullRequest",
|
|
420
|
+
"getPullRequestBuildStatuses",
|
|
421
|
+
"lintFile"
|
|
422
|
+
]
|
|
423
|
+
}
|
|
424
|
+
}
|
|
425
|
+
```
|
package/package.json
CHANGED
package/src/chat.ts
CHANGED
|
@@ -293,11 +293,6 @@ export async function chatLoop<E extends GptQuestionEmbedding>(
|
|
|
293
293
|
default:
|
|
294
294
|
console.log("Thinking...");
|
|
295
295
|
console.log(input);
|
|
296
|
-
const formattedPrompt = await formatChatInput(
|
|
297
|
-
input,
|
|
298
|
-
plugins,
|
|
299
|
-
chatHistory
|
|
300
|
-
);
|
|
301
296
|
const interaction = {
|
|
302
297
|
input,
|
|
303
298
|
output: "",
|
|
@@ -311,6 +306,11 @@ export async function chatLoop<E extends GptQuestionEmbedding>(
|
|
|
311
306
|
interaction,
|
|
312
307
|
});
|
|
313
308
|
} else {
|
|
309
|
+
const formattedPrompt = await formatChatInput(
|
|
310
|
+
input,
|
|
311
|
+
plugins,
|
|
312
|
+
chatHistory
|
|
313
|
+
);
|
|
314
314
|
results = await askAI(formattedPrompt, provider, model);
|
|
315
315
|
interaction.output = results;
|
|
316
316
|
console.log(Marked.parse(results || "No response from the AI"));
|
package/src/embeddings.ts
CHANGED
|
@@ -1,7 +1,14 @@
|
|
|
1
1
|
import glob from "glob";
|
|
2
2
|
import * as path from "path";
|
|
3
3
|
import { getConfig, loadPrompt } from "./config";
|
|
4
|
-
import {
|
|
4
|
+
import {
|
|
5
|
+
Config,
|
|
6
|
+
Hashes,
|
|
7
|
+
Embeddable,
|
|
8
|
+
EmbeddingBase,
|
|
9
|
+
Models,
|
|
10
|
+
EmbeddingModels,
|
|
11
|
+
} from "./types";
|
|
5
12
|
import {
|
|
6
13
|
readFile,
|
|
7
14
|
writeFile,
|
|
@@ -75,25 +82,33 @@ export async function embedSource(
|
|
|
75
82
|
}
|
|
76
83
|
|
|
77
84
|
console.log("Embedding", source.input, "to", source.output);
|
|
78
|
-
let
|
|
85
|
+
let inputs = [];
|
|
86
|
+
|
|
87
|
+
const kind = source.kind || "file";
|
|
79
88
|
|
|
80
|
-
|
|
81
|
-
|
|
89
|
+
// Don't glob a paragraph or some other kind of input
|
|
90
|
+
if (kind !== "file") {
|
|
91
|
+
inputs = await glob.sync(source.input, { ignore: ignorePattern });
|
|
82
92
|
}
|
|
83
93
|
|
|
84
|
-
|
|
85
|
-
if (
|
|
94
|
+
// It wasn't a file glob, so we need to loop through input
|
|
95
|
+
if (source.kind && inputs.length === 0) {
|
|
96
|
+
inputs = [source.input];
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
console.log(`Found ${inputs.length} files`);
|
|
100
|
+
if (inputs.length > 100) {
|
|
86
101
|
console.error(
|
|
87
102
|
"woah there, that's a lot of files. I'm not going to embed that many"
|
|
88
103
|
);
|
|
89
104
|
}
|
|
90
|
-
console.log(
|
|
105
|
+
console.log(inputs);
|
|
91
106
|
const embeddings: Embeddable[] = await loadEmbedding(source.output);
|
|
92
107
|
let batch = [];
|
|
93
108
|
let index = 0;
|
|
94
|
-
for (const file of
|
|
109
|
+
for (const file of inputs) {
|
|
95
110
|
index++;
|
|
96
|
-
const shouldSave = batch.length > 20 || index ===
|
|
111
|
+
const shouldSave = batch.length > 20 || index === inputs.length;
|
|
97
112
|
if (shouldSave) {
|
|
98
113
|
await Promise.all(batch);
|
|
99
114
|
batch = [];
|
package/ts_build/src/chat.js
CHANGED
|
@@ -229,7 +229,6 @@ async function chatLoop(aiName, embeddings, plugins = []) {
|
|
|
229
229
|
default:
|
|
230
230
|
console.log("Thinking...");
|
|
231
231
|
console.log(input);
|
|
232
|
-
const formattedPrompt = await formatChatInput(input, plugins, chatHistory);
|
|
233
232
|
const interaction = {
|
|
234
233
|
input,
|
|
235
234
|
output: "",
|
|
@@ -244,6 +243,7 @@ async function chatLoop(aiName, embeddings, plugins = []) {
|
|
|
244
243
|
});
|
|
245
244
|
}
|
|
246
245
|
else {
|
|
246
|
+
const formattedPrompt = await formatChatInput(input, plugins, chatHistory);
|
|
247
247
|
results = await askAI(formattedPrompt, provider, model);
|
|
248
248
|
interaction.output = results;
|
|
249
249
|
console.log(utils_1.Marked.parse(results || "No response from the AI"));
|
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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"}
|
|
@@ -84,21 +84,25 @@ async function embedSource(model, source, ignorePattern) {
|
|
|
84
84
|
return;
|
|
85
85
|
}
|
|
86
86
|
console.log("Embedding", source.input, "to", source.output);
|
|
87
|
-
let
|
|
88
|
-
|
|
89
|
-
|
|
87
|
+
let inputs = [];
|
|
88
|
+
const kind = source.kind || "file";
|
|
89
|
+
if (kind !== "file") {
|
|
90
|
+
inputs = await glob_1.default.sync(source.input, { ignore: ignorePattern });
|
|
90
91
|
}
|
|
91
|
-
|
|
92
|
-
|
|
92
|
+
if (source.kind && inputs.length === 0) {
|
|
93
|
+
inputs = [source.input];
|
|
94
|
+
}
|
|
95
|
+
console.log(`Found ${inputs.length} files`);
|
|
96
|
+
if (inputs.length > 100) {
|
|
93
97
|
console.error("woah there, that's a lot of files. I'm not going to embed that many");
|
|
94
98
|
}
|
|
95
|
-
console.log(
|
|
99
|
+
console.log(inputs);
|
|
96
100
|
const embeddings = await loadEmbedding(source.output);
|
|
97
101
|
let batch = [];
|
|
98
102
|
let index = 0;
|
|
99
|
-
for (const file of
|
|
103
|
+
for (const file of inputs) {
|
|
100
104
|
index++;
|
|
101
|
-
const shouldSave = batch.length > 20 || index ===
|
|
105
|
+
const shouldSave = batch.length > 20 || index === inputs.length;
|
|
102
106
|
if (shouldSave) {
|
|
103
107
|
await Promise.all(batch);
|
|
104
108
|
batch = [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"embeddings.js","sourceRoot":"","sources":["../../src/embeddings.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"embeddings.js","sourceRoot":"","sources":["../../src/embeddings.ts"],"names":[],"mappings":"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"}
|