@bike4mind/cli 0.2.17-feat-ripgrep-integration.17657 → 0.2.17-feat-auto-context-customization.17673
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/dist/{artifactExtractor-MNVIKVBH.js → artifactExtractor-6OWA6GIP.js} +1 -1
- package/dist/{chunk-NMWRXDTN.js → chunk-AZ7I44K7.js} +2 -2
- package/dist/{chunk-CHBAKX4C.js → chunk-D2RBSVLE.js} +14 -1
- package/dist/{chunk-6EEN6XHK.js → chunk-E4K7LPQC.js} +2 -2
- package/dist/{chunk-QDWMIP2Q.js → chunk-GRCMDIFP.js} +1 -1
- package/dist/{chunk-WULZDTLD.js → chunk-KZNSOBD6.js} +2 -2
- package/dist/{create-SR7Q7HAF.js → create-WVVHEPCQ.js} +3 -3
- package/dist/index.js +174 -95
- package/dist/{llmMarkdownGenerator-2APZC4H3.js → llmMarkdownGenerator-PYQLOSEU.js} +1 -1
- package/dist/{markdownGenerator-S7OHONSP.js → markdownGenerator-LFZJI3XC.js} +1 -1
- package/dist/{mementoService-UMJ5BYDO.js → mementoService-PUP3VFSA.js} +3 -3
- package/dist/{src-NBBLECSQ.js → src-CZKPMIOS.js} +1 -1
- package/dist/{src-VEJGC5KU.js → src-KALIUGCJ.js} +2 -2
- package/dist/{subtractCredits-N7Y27C34.js → subtractCredits-2HDKUWLJ.js} +3 -3
- package/package.json +6 -9
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
CurationArtifactType
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-D2RBSVLE.js";
|
|
5
5
|
|
|
6
6
|
// ../../b4m-core/packages/services/dist/src/notebookCurationService/artifactExtractor.js
|
|
7
7
|
var ARTIFACT_TAG_REGEX = /<artifact\s+(.*?)>([\s\S]*?)<\/artifact>/gi;
|
|
@@ -6,12 +6,12 @@ import {
|
|
|
6
6
|
getSettingsByNames,
|
|
7
7
|
obfuscateApiKey,
|
|
8
8
|
secureParameters
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-GRCMDIFP.js";
|
|
10
10
|
import {
|
|
11
11
|
ApiKeyType,
|
|
12
12
|
MementoTier,
|
|
13
13
|
isSupportedEmbeddingModel
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-D2RBSVLE.js";
|
|
15
15
|
|
|
16
16
|
// ../../b4m-core/packages/services/dist/src/apiKeyService/get.js
|
|
17
17
|
import { z } from "zod";
|
|
@@ -232,6 +232,8 @@ var b4mLLMTools = z3.enum([
|
|
|
232
232
|
"glob_files",
|
|
233
233
|
"grep_search",
|
|
234
234
|
"delete_file",
|
|
235
|
+
// Knowledge base search
|
|
236
|
+
"search_knowledge_base",
|
|
235
237
|
// Shell execution
|
|
236
238
|
"bash_execute"
|
|
237
239
|
]);
|
|
@@ -2018,6 +2020,7 @@ var SettingKeySchema = z19.enum([
|
|
|
2018
2020
|
"voyageApiKey",
|
|
2019
2021
|
"FirecrawlApiKey",
|
|
2020
2022
|
"EnableDeepResearch",
|
|
2023
|
+
"EnableKnowledgeBaseSearch",
|
|
2021
2024
|
"DefaultChunkSize",
|
|
2022
2025
|
"DefaultAPIModel",
|
|
2023
2026
|
"AutoNameNotebook",
|
|
@@ -2495,7 +2498,8 @@ var API_SERVICE_GROUPS = {
|
|
|
2495
2498
|
{ key: "EnableRapidReply", order: 7 },
|
|
2496
2499
|
{ key: "EnableResearchEngine", order: 8 },
|
|
2497
2500
|
{ key: "EnableReactViewer", order: 9 },
|
|
2498
|
-
{ key: "EnableDeepResearch", order: 10 }
|
|
2501
|
+
{ key: "EnableDeepResearch", order: 10 },
|
|
2502
|
+
{ key: "EnableKnowledgeBaseSearch", order: 11 }
|
|
2499
2503
|
]
|
|
2500
2504
|
},
|
|
2501
2505
|
NOTEBOOK: {
|
|
@@ -3397,6 +3401,15 @@ var settingsMap = {
|
|
|
3397
3401
|
group: API_SERVICE_GROUPS.EXPERIMENTAL.id,
|
|
3398
3402
|
order: 9
|
|
3399
3403
|
}),
|
|
3404
|
+
EnableKnowledgeBaseSearch: makeBooleanSetting({
|
|
3405
|
+
key: "EnableKnowledgeBaseSearch",
|
|
3406
|
+
name: "Enable Knowledge Base Search",
|
|
3407
|
+
defaultValue: false,
|
|
3408
|
+
description: "Allow AI to search user uploaded documents. When enabled, users can toggle the Knowledge Base Search tool in AI Settings.",
|
|
3409
|
+
category: "Experimental",
|
|
3410
|
+
group: API_SERVICE_GROUPS.EXPERIMENTAL.id,
|
|
3411
|
+
order: 11
|
|
3412
|
+
}),
|
|
3400
3413
|
enableVoiceSession: makeBooleanSetting({
|
|
3401
3414
|
key: "enableVoiceSession",
|
|
3402
3415
|
name: "Enable Voice Session",
|
|
@@ -7,11 +7,11 @@ import {
|
|
|
7
7
|
getSettingsMap,
|
|
8
8
|
getSettingsValue,
|
|
9
9
|
secureParameters
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-GRCMDIFP.js";
|
|
11
11
|
import {
|
|
12
12
|
KnowledgeType,
|
|
13
13
|
SupportedFabFileMimeTypes
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-D2RBSVLE.js";
|
|
15
15
|
|
|
16
16
|
// ../../b4m-core/packages/services/dist/src/fabFileService/create.js
|
|
17
17
|
import { z } from "zod";
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import {
|
|
3
3
|
BadRequestError,
|
|
4
4
|
secureParameters
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-GRCMDIFP.js";
|
|
6
6
|
import {
|
|
7
7
|
CompletionApiUsageTransaction,
|
|
8
8
|
GenericCreditDeductTransaction,
|
|
@@ -11,7 +11,7 @@ import {
|
|
|
11
11
|
RealtimeVoiceUsageTransaction,
|
|
12
12
|
TextGenerationUsageTransaction,
|
|
13
13
|
TransferCreditTransaction
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-D2RBSVLE.js";
|
|
15
15
|
|
|
16
16
|
// ../../b4m-core/packages/services/dist/src/creditService/subtractCredits.js
|
|
17
17
|
import { z } from "zod";
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
import {
|
|
3
3
|
createFabFile,
|
|
4
4
|
createFabFileSchema
|
|
5
|
-
} from "./chunk-
|
|
6
|
-
import "./chunk-
|
|
7
|
-
import "./chunk-
|
|
5
|
+
} from "./chunk-E4K7LPQC.js";
|
|
6
|
+
import "./chunk-GRCMDIFP.js";
|
|
7
|
+
import "./chunk-D2RBSVLE.js";
|
|
8
8
|
import "./chunk-OCYRD7D6.js";
|
|
9
9
|
export {
|
|
10
10
|
createFabFile,
|
package/dist/index.js
CHANGED
|
@@ -4,12 +4,12 @@ import {
|
|
|
4
4
|
getEffectiveApiKey,
|
|
5
5
|
getOpenWeatherKey,
|
|
6
6
|
getSerperKey
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-AZ7I44K7.js";
|
|
8
8
|
import {
|
|
9
9
|
ConfigStore
|
|
10
10
|
} from "./chunk-FFJX3FF3.js";
|
|
11
|
-
import "./chunk-
|
|
12
|
-
import "./chunk-
|
|
11
|
+
import "./chunk-KZNSOBD6.js";
|
|
12
|
+
import "./chunk-E4K7LPQC.js";
|
|
13
13
|
import {
|
|
14
14
|
BFLImageService,
|
|
15
15
|
BaseStorage,
|
|
@@ -21,7 +21,7 @@ import {
|
|
|
21
21
|
OpenAIBackend,
|
|
22
22
|
OpenAIImageService,
|
|
23
23
|
XAIImageService
|
|
24
|
-
} from "./chunk-
|
|
24
|
+
} from "./chunk-GRCMDIFP.js";
|
|
25
25
|
import {
|
|
26
26
|
AiEvents,
|
|
27
27
|
ApiKeyEvents,
|
|
@@ -75,7 +75,7 @@ import {
|
|
|
75
75
|
XAI_IMAGE_MODELS,
|
|
76
76
|
b4mLLMTools,
|
|
77
77
|
getMcpProviderMetadata
|
|
78
|
-
} from "./chunk-
|
|
78
|
+
} from "./chunk-D2RBSVLE.js";
|
|
79
79
|
import {
|
|
80
80
|
Logger
|
|
81
81
|
} from "./chunk-OCYRD7D6.js";
|
|
@@ -3986,7 +3986,9 @@ var updateSchema = z76.object({
|
|
|
3986
3986
|
name: z76.string().optional(),
|
|
3987
3987
|
description: z76.string().optional(),
|
|
3988
3988
|
billingContact: z76.string().optional(),
|
|
3989
|
-
currentCredits: z76.coerce.number().optional()
|
|
3989
|
+
currentCredits: z76.coerce.number().optional(),
|
|
3990
|
+
systemPrompt: z76.string().max(1e4).optional()
|
|
3991
|
+
// ~2500 tokens
|
|
3990
3992
|
});
|
|
3991
3993
|
|
|
3992
3994
|
// ../../b4m-core/packages/services/dist/src/organizationService/delete.js
|
|
@@ -8509,39 +8511,40 @@ var globFilesTool = {
|
|
|
8509
8511
|
};
|
|
8510
8512
|
|
|
8511
8513
|
// ../../b4m-core/packages/services/dist/src/llm/tools/implementation/grepSearch/index.js
|
|
8512
|
-
import {
|
|
8514
|
+
import { globStream } from "glob";
|
|
8515
|
+
import { readFile, stat as stat2 } from "fs/promises";
|
|
8513
8516
|
import path9 from "path";
|
|
8514
|
-
|
|
8515
|
-
|
|
8516
|
-
|
|
8517
|
-
|
|
8518
|
-
|
|
8519
|
-
|
|
8517
|
+
var MAX_FILE_SIZE3 = 10 * 1024 * 1024;
|
|
8518
|
+
var DEFAULT_IGNORE_PATTERNS3 = [
|
|
8519
|
+
"**/node_modules/**",
|
|
8520
|
+
"**/.git/**",
|
|
8521
|
+
"**/dist/**",
|
|
8522
|
+
"**/build/**",
|
|
8523
|
+
"**/.next/**",
|
|
8524
|
+
"**/coverage/**",
|
|
8525
|
+
"**/*.min.js",
|
|
8526
|
+
"**/*.min.css",
|
|
8527
|
+
"**/package-lock.json",
|
|
8528
|
+
"**/pnpm-lock.yaml",
|
|
8529
|
+
"**/yarn.lock"
|
|
8530
|
+
];
|
|
8531
|
+
async function isBinaryFile2(filePath) {
|
|
8520
8532
|
try {
|
|
8521
|
-
const
|
|
8522
|
-
const
|
|
8523
|
-
const
|
|
8524
|
-
|
|
8525
|
-
|
|
8526
|
-
|
|
8533
|
+
const { openSync, readSync, closeSync } = await import("fs");
|
|
8534
|
+
const buffer = Buffer.alloc(8192);
|
|
8535
|
+
const fd = openSync(filePath, "r");
|
|
8536
|
+
const bytesRead = readSync(fd, buffer, 0, 8192, 0);
|
|
8537
|
+
closeSync(fd);
|
|
8538
|
+
const chunk = buffer.slice(0, bytesRead);
|
|
8539
|
+
return chunk.includes(0);
|
|
8540
|
+
} catch {
|
|
8541
|
+
return true;
|
|
8527
8542
|
}
|
|
8528
8543
|
}
|
|
8529
8544
|
function isPathWithinWorkspace(targetPath, baseCwd) {
|
|
8530
8545
|
const resolvedTarget = path9.resolve(targetPath);
|
|
8531
8546
|
const resolvedBase = path9.resolve(baseCwd);
|
|
8532
|
-
|
|
8533
|
-
return !relativePath.startsWith("..") && !path9.isAbsolute(relativePath);
|
|
8534
|
-
}
|
|
8535
|
-
function convertGlobToRipgrepGlobs(globPattern) {
|
|
8536
|
-
if (!globPattern || globPattern === "**/*") {
|
|
8537
|
-
return [];
|
|
8538
|
-
}
|
|
8539
|
-
const braceMatch = globPattern.match(/\*\.{([^}]+)}/);
|
|
8540
|
-
if (braceMatch) {
|
|
8541
|
-
const extensions = braceMatch[1].split(",");
|
|
8542
|
-
return extensions.map((ext) => `*.${ext.trim()}`);
|
|
8543
|
-
}
|
|
8544
|
-
return [globPattern];
|
|
8547
|
+
return resolvedTarget.startsWith(resolvedBase);
|
|
8545
8548
|
}
|
|
8546
8549
|
async function searchFiles2(params) {
|
|
8547
8550
|
const { pattern, dir_path, include } = params;
|
|
@@ -8561,69 +8564,59 @@ async function searchFiles2(params) {
|
|
|
8561
8564
|
}
|
|
8562
8565
|
throw error;
|
|
8563
8566
|
}
|
|
8564
|
-
|
|
8565
|
-
const rgArgs = [
|
|
8566
|
-
"--json",
|
|
8567
|
-
// Machine-readable output
|
|
8568
|
-
"--max-count",
|
|
8569
|
-
"500",
|
|
8570
|
-
// Limit matches per file
|
|
8571
|
-
"--ignore-case",
|
|
8572
|
-
// Case-insensitive search
|
|
8573
|
-
"--max-filesize",
|
|
8574
|
-
"10M"
|
|
8575
|
-
// Skip files larger than 10MB
|
|
8576
|
-
];
|
|
8577
|
-
const globs = convertGlobToRipgrepGlobs(include || "");
|
|
8578
|
-
if (globs.length > 0) {
|
|
8579
|
-
globs.forEach((glob2) => {
|
|
8580
|
-
rgArgs.push("--glob", glob2);
|
|
8581
|
-
});
|
|
8582
|
-
}
|
|
8583
|
-
rgArgs.push(pattern, targetDir);
|
|
8584
|
-
let stdout;
|
|
8567
|
+
let searchRegex;
|
|
8585
8568
|
try {
|
|
8586
|
-
|
|
8587
|
-
maxBuffer: 50 * 1024 * 1024
|
|
8588
|
-
// 50MB buffer for large results
|
|
8589
|
-
});
|
|
8590
|
-
stdout = result2.stdout;
|
|
8569
|
+
searchRegex = new RegExp(pattern, "i");
|
|
8591
8570
|
} catch (error) {
|
|
8592
|
-
|
|
8593
|
-
if (execError.code === 1 && execError.stdout) {
|
|
8594
|
-
stdout = execError.stdout;
|
|
8595
|
-
} else if (execError.code === 2) {
|
|
8596
|
-
const errorMsg = execError.stderr || "Unknown ripgrep error";
|
|
8597
|
-
throw new Error(`Ripgrep error: ${errorMsg}`);
|
|
8598
|
-
} else {
|
|
8599
|
-
throw error;
|
|
8600
|
-
}
|
|
8571
|
+
throw new Error(`Invalid regex pattern: ${pattern}`);
|
|
8601
8572
|
}
|
|
8602
|
-
const
|
|
8573
|
+
const globPattern = include || "**/*";
|
|
8574
|
+
const filesStream = globStream(globPattern, {
|
|
8575
|
+
cwd: targetDir,
|
|
8576
|
+
dot: false,
|
|
8577
|
+
// Skip hidden files
|
|
8578
|
+
ignore: DEFAULT_IGNORE_PATTERNS3,
|
|
8579
|
+
absolute: true,
|
|
8580
|
+
nodir: true
|
|
8581
|
+
// Only match files, not directories
|
|
8582
|
+
});
|
|
8603
8583
|
const allMatches = [];
|
|
8604
8584
|
let filesSearched = 0;
|
|
8605
|
-
|
|
8585
|
+
const maxMatches = 500;
|
|
8586
|
+
for await (const filePath of filesStream) {
|
|
8587
|
+
if (allMatches.length >= maxMatches) {
|
|
8588
|
+
break;
|
|
8589
|
+
}
|
|
8590
|
+
const fileAbsPath = filePath;
|
|
8606
8591
|
try {
|
|
8607
|
-
const
|
|
8608
|
-
if (
|
|
8609
|
-
|
|
8610
|
-
|
|
8611
|
-
|
|
8612
|
-
|
|
8613
|
-
|
|
8614
|
-
|
|
8615
|
-
|
|
8616
|
-
|
|
8617
|
-
|
|
8618
|
-
|
|
8592
|
+
const stats = await stat2(fileAbsPath);
|
|
8593
|
+
if (stats.size > MAX_FILE_SIZE3) {
|
|
8594
|
+
continue;
|
|
8595
|
+
}
|
|
8596
|
+
if (await isBinaryFile2(fileAbsPath)) {
|
|
8597
|
+
continue;
|
|
8598
|
+
}
|
|
8599
|
+
filesSearched++;
|
|
8600
|
+
const content = await readFile(fileAbsPath, "utf8");
|
|
8601
|
+
const lines = content.split(/\r?\n/);
|
|
8602
|
+
lines.forEach((line, index) => {
|
|
8603
|
+
if (allMatches.length < maxMatches && searchRegex.test(line)) {
|
|
8604
|
+
allMatches.push({
|
|
8605
|
+
filePath: path9.relative(targetDir, fileAbsPath) || path9.basename(fileAbsPath),
|
|
8606
|
+
lineNumber: index + 1,
|
|
8607
|
+
line
|
|
8608
|
+
});
|
|
8609
|
+
}
|
|
8610
|
+
});
|
|
8611
|
+
} catch (readError) {
|
|
8612
|
+
const errCode = readError.code;
|
|
8613
|
+
if (errCode !== "ENOENT" && errCode !== "EACCES") {
|
|
8614
|
+
console.debug(`Could not read ${fileAbsPath}: ${readError.message}`);
|
|
8619
8615
|
}
|
|
8620
|
-
} catch {
|
|
8621
|
-
continue;
|
|
8622
8616
|
}
|
|
8623
8617
|
}
|
|
8624
8618
|
const searchDirDisplay = dir_path || ".";
|
|
8625
8619
|
const filterInfo = include ? ` (filter: "${include}")` : "";
|
|
8626
|
-
const maxMatches = 500;
|
|
8627
8620
|
if (allMatches.length === 0) {
|
|
8628
8621
|
return `No matches found for pattern "${pattern}" in "${searchDirDisplay}"${filterInfo}.
|
|
8629
8622
|
Searched ${filesSearched} file(s).`;
|
|
@@ -8633,6 +8626,7 @@ Searched ${filesSearched} file(s).`;
|
|
|
8633
8626
|
acc[match.filePath] = [];
|
|
8634
8627
|
}
|
|
8635
8628
|
acc[match.filePath].push(match);
|
|
8629
|
+
acc[match.filePath].sort((a, b) => a.lineNumber - b.lineNumber);
|
|
8636
8630
|
return acc;
|
|
8637
8631
|
}, {});
|
|
8638
8632
|
const matchCount = allMatches.length;
|
|
@@ -8771,6 +8765,92 @@ var deleteFileTool = {
|
|
|
8771
8765
|
})
|
|
8772
8766
|
};
|
|
8773
8767
|
|
|
8768
|
+
// ../../b4m-core/packages/services/dist/src/llm/tools/implementation/knowledgeBaseSearch/index.js
|
|
8769
|
+
function formatSearchResults(files) {
|
|
8770
|
+
if (files.length === 0) {
|
|
8771
|
+
return "No documents found matching your search query in your knowledge base.";
|
|
8772
|
+
}
|
|
8773
|
+
const formattedFiles = files.map((file, index) => {
|
|
8774
|
+
const tags = file.tags?.map((t) => t.name).join(", ") || "none";
|
|
8775
|
+
const notes = file.notes ? `
|
|
8776
|
+
Notes: ${file.notes}` : "";
|
|
8777
|
+
const fileType = file.type || "FILE";
|
|
8778
|
+
return `${index + 1}. **${file.fileName}**
|
|
8779
|
+
Type: ${fileType} | MIME: ${file.mimeType}
|
|
8780
|
+
Tags: ${tags}${notes}`;
|
|
8781
|
+
});
|
|
8782
|
+
return `Found ${files.length} document(s) in your knowledge base:
|
|
8783
|
+
|
|
8784
|
+
` + formattedFiles.join("\n\n") + "\n\n*To use these documents in your conversation, you can ask me to reference specific files by name.*";
|
|
8785
|
+
}
|
|
8786
|
+
var knowledgeBaseSearchTool = {
|
|
8787
|
+
name: "search_knowledge_base",
|
|
8788
|
+
implementation: (context) => ({
|
|
8789
|
+
toolFn: async (value) => {
|
|
8790
|
+
const params = value;
|
|
8791
|
+
const { query, tags, file_type, max_results = 5 } = params;
|
|
8792
|
+
console.log("\u{1F4DA} Knowledge Base Search: Starting search for query:", query);
|
|
8793
|
+
if (!context.db.fabfiles) {
|
|
8794
|
+
console.error("\u274C Knowledge Base Search: fabfiles repository not available");
|
|
8795
|
+
return "Knowledge base search is not available at this time.";
|
|
8796
|
+
}
|
|
8797
|
+
try {
|
|
8798
|
+
const searchResults = await context.db.fabfiles.search(context.userId, query, {
|
|
8799
|
+
tags: tags || [],
|
|
8800
|
+
type: file_type,
|
|
8801
|
+
shared: false
|
|
8802
|
+
// Search all accessible files, not just shared
|
|
8803
|
+
}, {
|
|
8804
|
+
page: 1,
|
|
8805
|
+
limit: Math.min(max_results, 10)
|
|
8806
|
+
// Cap at 10 results
|
|
8807
|
+
}, {
|
|
8808
|
+
by: "fileName",
|
|
8809
|
+
direction: "asc"
|
|
8810
|
+
}, {
|
|
8811
|
+
includeShared: true
|
|
8812
|
+
// Include organization and explicitly shared files
|
|
8813
|
+
});
|
|
8814
|
+
console.log("\u{1F4DA} Knowledge Base Search: Found", searchResults.data.length, "results");
|
|
8815
|
+
return formatSearchResults(searchResults.data);
|
|
8816
|
+
} catch (error) {
|
|
8817
|
+
console.error("\u274C Knowledge Base Search: Error during search:", error);
|
|
8818
|
+
return "An error occurred while searching your knowledge base. Please try again.";
|
|
8819
|
+
}
|
|
8820
|
+
},
|
|
8821
|
+
toolSchema: {
|
|
8822
|
+
name: "search_knowledge_base",
|
|
8823
|
+
description: "Search the user's uploaded knowledge base (fab files). Returns relevant documents from the user's own files, organization-shared files, and files explicitly shared with them. Use this tool when the user asks about their own documents, uploaded files, or organization knowledge.",
|
|
8824
|
+
parameters: {
|
|
8825
|
+
type: "object",
|
|
8826
|
+
properties: {
|
|
8827
|
+
query: {
|
|
8828
|
+
type: "string",
|
|
8829
|
+
description: "The search query to find relevant documents by filename or content"
|
|
8830
|
+
},
|
|
8831
|
+
tags: {
|
|
8832
|
+
type: "array",
|
|
8833
|
+
items: { type: "string" },
|
|
8834
|
+
description: "Optional: filter results to only include files with these tags"
|
|
8835
|
+
},
|
|
8836
|
+
file_type: {
|
|
8837
|
+
type: "string",
|
|
8838
|
+
enum: ["pdf", "text", "image", "excel", "word", "json", "csv", "markdown", "code", "url"],
|
|
8839
|
+
description: "Optional: filter results by file type"
|
|
8840
|
+
},
|
|
8841
|
+
max_results: {
|
|
8842
|
+
type: "number",
|
|
8843
|
+
description: "Maximum number of results to return (default: 5, max: 10)",
|
|
8844
|
+
minimum: 1,
|
|
8845
|
+
maximum: 10
|
|
8846
|
+
}
|
|
8847
|
+
},
|
|
8848
|
+
required: ["query"]
|
|
8849
|
+
}
|
|
8850
|
+
}
|
|
8851
|
+
})
|
|
8852
|
+
};
|
|
8853
|
+
|
|
8774
8854
|
// ../../b4m-core/packages/services/dist/src/llm/tools/implementation/bashExecute/index.js
|
|
8775
8855
|
import { spawn } from "child_process";
|
|
8776
8856
|
import path11 from "path";
|
|
@@ -9273,6 +9353,8 @@ var tools = {
|
|
|
9273
9353
|
glob_files: globFilesTool,
|
|
9274
9354
|
grep_search: grepSearchTool,
|
|
9275
9355
|
delete_file: deleteFileTool,
|
|
9356
|
+
// Knowledge base search
|
|
9357
|
+
search_knowledge_base: knowledgeBaseSearchTool,
|
|
9276
9358
|
// Shell execution
|
|
9277
9359
|
bash_execute: bashExecuteTool
|
|
9278
9360
|
};
|
|
@@ -9512,7 +9594,7 @@ var ToolErrorType;
|
|
|
9512
9594
|
|
|
9513
9595
|
// src/utils/diffPreview.ts
|
|
9514
9596
|
import * as Diff from "diff";
|
|
9515
|
-
import { readFile } from "fs/promises";
|
|
9597
|
+
import { readFile as readFile2 } from "fs/promises";
|
|
9516
9598
|
import { existsSync as existsSync7 } from "fs";
|
|
9517
9599
|
async function generateFileDiffPreview(args) {
|
|
9518
9600
|
try {
|
|
@@ -9527,7 +9609,7 @@ ${preview}${hasMore ? `
|
|
|
9527
9609
|
|
|
9528
9610
|
... (${lines2.length - 20} more lines)` : ""}`;
|
|
9529
9611
|
}
|
|
9530
|
-
const currentContent = await
|
|
9612
|
+
const currentContent = await readFile2(args.path, "utf-8");
|
|
9531
9613
|
const patch = Diff.createPatch(
|
|
9532
9614
|
args.path,
|
|
9533
9615
|
currentContent,
|
|
@@ -11438,7 +11520,7 @@ import { isAxiosError as isAxiosError2 } from "axios";
|
|
|
11438
11520
|
// package.json
|
|
11439
11521
|
var package_default = {
|
|
11440
11522
|
name: "@bike4mind/cli",
|
|
11441
|
-
version: "0.2.17-feat-
|
|
11523
|
+
version: "0.2.17-feat-auto-context-customization.17673+211fa5fe5",
|
|
11442
11524
|
type: "module",
|
|
11443
11525
|
description: "Interactive CLI tool for Bike4Mind with ReAct agents",
|
|
11444
11526
|
license: "UNLICENSED",
|
|
@@ -11545,10 +11627,10 @@ var package_default = {
|
|
|
11545
11627
|
},
|
|
11546
11628
|
devDependencies: {
|
|
11547
11629
|
"@bike4mind/agents": "0.1.0",
|
|
11548
|
-
"@bike4mind/common": "2.43.1-feat-
|
|
11549
|
-
"@bike4mind/mcp": "1.22.3-feat-
|
|
11550
|
-
"@bike4mind/services": "2.40.1-feat-
|
|
11551
|
-
"@bike4mind/utils": "2.2.1-feat-
|
|
11630
|
+
"@bike4mind/common": "2.43.1-feat-auto-context-customization.17673+211fa5fe5",
|
|
11631
|
+
"@bike4mind/mcp": "1.22.3-feat-auto-context-customization.17673+211fa5fe5",
|
|
11632
|
+
"@bike4mind/services": "2.40.1-feat-auto-context-customization.17673+211fa5fe5",
|
|
11633
|
+
"@bike4mind/utils": "2.2.1-feat-auto-context-customization.17673+211fa5fe5",
|
|
11552
11634
|
"@types/better-sqlite3": "^7.6.13",
|
|
11553
11635
|
"@types/diff": "^5.0.9",
|
|
11554
11636
|
"@types/jsonwebtoken": "^9.0.4",
|
|
@@ -11562,10 +11644,7 @@ var package_default = {
|
|
|
11562
11644
|
typescript: "^5.9.3",
|
|
11563
11645
|
vitest: "^3.2.4"
|
|
11564
11646
|
},
|
|
11565
|
-
|
|
11566
|
-
"@vscode/ripgrep": "^1.17.0"
|
|
11567
|
-
},
|
|
11568
|
-
gitHead: "4afb7200575f2747c86e639a873bfb6a2f523f78"
|
|
11647
|
+
gitHead: "211fa5fe5ec713135648307a46624bffb4746173"
|
|
11569
11648
|
};
|
|
11570
11649
|
|
|
11571
11650
|
// src/config/constants.ts
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
import {
|
|
3
3
|
findMostSimilarMemento,
|
|
4
4
|
getRelevantMementos
|
|
5
|
-
} from "./chunk-
|
|
6
|
-
import "./chunk-
|
|
7
|
-
import "./chunk-
|
|
5
|
+
} from "./chunk-AZ7I44K7.js";
|
|
6
|
+
import "./chunk-GRCMDIFP.js";
|
|
7
|
+
import "./chunk-D2RBSVLE.js";
|
|
8
8
|
import "./chunk-OCYRD7D6.js";
|
|
9
9
|
export {
|
|
10
10
|
findMostSimilarMemento,
|
|
@@ -129,8 +129,8 @@ import {
|
|
|
129
129
|
validateMermaidSyntax,
|
|
130
130
|
warmUpSettingsCache,
|
|
131
131
|
withRetry
|
|
132
|
-
} from "./chunk-
|
|
133
|
-
import "./chunk-
|
|
132
|
+
} from "./chunk-GRCMDIFP.js";
|
|
133
|
+
import "./chunk-D2RBSVLE.js";
|
|
134
134
|
import {
|
|
135
135
|
Logger,
|
|
136
136
|
NotificationDeduplicator,
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
import {
|
|
3
3
|
SubtractCreditsSchema,
|
|
4
4
|
subtractCredits
|
|
5
|
-
} from "./chunk-
|
|
6
|
-
import "./chunk-
|
|
7
|
-
import "./chunk-
|
|
5
|
+
} from "./chunk-KZNSOBD6.js";
|
|
6
|
+
import "./chunk-GRCMDIFP.js";
|
|
7
|
+
import "./chunk-D2RBSVLE.js";
|
|
8
8
|
import "./chunk-OCYRD7D6.js";
|
|
9
9
|
export {
|
|
10
10
|
SubtractCreditsSchema,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bike4mind/cli",
|
|
3
|
-
"version": "0.2.17-feat-
|
|
3
|
+
"version": "0.2.17-feat-auto-context-customization.17673+211fa5fe5",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Interactive CLI tool for Bike4Mind with ReAct agents",
|
|
6
6
|
"license": "UNLICENSED",
|
|
@@ -107,10 +107,10 @@
|
|
|
107
107
|
},
|
|
108
108
|
"devDependencies": {
|
|
109
109
|
"@bike4mind/agents": "0.1.0",
|
|
110
|
-
"@bike4mind/common": "2.43.1-feat-
|
|
111
|
-
"@bike4mind/mcp": "1.22.3-feat-
|
|
112
|
-
"@bike4mind/services": "2.40.1-feat-
|
|
113
|
-
"@bike4mind/utils": "2.2.1-feat-
|
|
110
|
+
"@bike4mind/common": "2.43.1-feat-auto-context-customization.17673+211fa5fe5",
|
|
111
|
+
"@bike4mind/mcp": "1.22.3-feat-auto-context-customization.17673+211fa5fe5",
|
|
112
|
+
"@bike4mind/services": "2.40.1-feat-auto-context-customization.17673+211fa5fe5",
|
|
113
|
+
"@bike4mind/utils": "2.2.1-feat-auto-context-customization.17673+211fa5fe5",
|
|
114
114
|
"@types/better-sqlite3": "^7.6.13",
|
|
115
115
|
"@types/diff": "^5.0.9",
|
|
116
116
|
"@types/jsonwebtoken": "^9.0.4",
|
|
@@ -124,8 +124,5 @@
|
|
|
124
124
|
"typescript": "^5.9.3",
|
|
125
125
|
"vitest": "^3.2.4"
|
|
126
126
|
},
|
|
127
|
-
"
|
|
128
|
-
"@vscode/ripgrep": "^1.17.0"
|
|
129
|
-
},
|
|
130
|
-
"gitHead": "4afb7200575f2747c86e639a873bfb6a2f523f78"
|
|
127
|
+
"gitHead": "211fa5fe5ec713135648307a46624bffb4746173"
|
|
131
128
|
}
|