@vivantel/virage-core 0.2.5 ā 0.2.7
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/core/git-tracker.js +1 -1
- package/dist/core/git-tracker.js.map +1 -1
- package/dist/core/orchestrator.d.ts +3 -0
- package/dist/core/orchestrator.d.ts.map +1 -1
- package/dist/core/orchestrator.js +8 -33
- package/dist/core/orchestrator.js.map +1 -1
- package/dist/core/virage-defaults.d.ts +1 -0
- package/dist/core/virage-defaults.d.ts.map +1 -1
- package/dist/core/virage-defaults.js +11 -0
- package/dist/core/virage-defaults.js.map +1 -1
- package/dist/index.d.ts +6 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -1
- package/dist/index.js.map +1 -1
- package/dist/strategies/chunk/markdown-headers.d.ts.map +1 -1
- package/dist/strategies/chunk/markdown-headers.js +5 -2
- package/dist/strategies/chunk/markdown-headers.js.map +1 -1
- package/dist/strategies/chunk/semantic.d.ts.map +1 -1
- package/dist/strategies/chunk/semantic.js +7 -1
- package/dist/strategies/chunk/semantic.js.map +1 -1
- package/dist/strategies/chunk/token.d.ts.map +1 -1
- package/dist/strategies/chunk/token.js +14 -4
- package/dist/strategies/chunk/token.js.map +1 -1
- package/package.json +1 -10
- package/dist/bin/virage.d.ts +0 -3
- package/dist/bin/virage.d.ts.map +0 -1
- package/dist/bin/virage.js +0 -345
- package/dist/bin/virage.js.map +0 -1
- package/dist/cli/benchmark.d.ts +0 -6
- package/dist/cli/benchmark.d.ts.map +0 -1
- package/dist/cli/benchmark.js +0 -26
- package/dist/cli/benchmark.js.map +0 -1
- package/dist/cli/chunks-report.d.ts +0 -2
- package/dist/cli/chunks-report.d.ts.map +0 -1
- package/dist/cli/chunks-report.js +0 -74
- package/dist/cli/chunks-report.js.map +0 -1
- package/dist/cli/dashboard.d.ts +0 -7
- package/dist/cli/dashboard.d.ts.map +0 -1
- package/dist/cli/dashboard.js +0 -190
- package/dist/cli/dashboard.js.map +0 -1
- package/dist/cli/evaluate.d.ts +0 -9
- package/dist/cli/evaluate.d.ts.map +0 -1
- package/dist/cli/evaluate.js +0 -67
- package/dist/cli/evaluate.js.map +0 -1
- package/dist/cli/experiment.d.ts +0 -13
- package/dist/cli/experiment.d.ts.map +0 -1
- package/dist/cli/experiment.js +0 -99
- package/dist/cli/experiment.js.map +0 -1
- package/dist/cli/file-detect.d.ts +0 -10
- package/dist/cli/file-detect.d.ts.map +0 -1
- package/dist/cli/file-detect.js +0 -55
- package/dist/cli/file-detect.js.map +0 -1
- package/dist/cli/init.d.ts +0 -2
- package/dist/cli/init.d.ts.map +0 -1
- package/dist/cli/init.js +0 -382
- package/dist/cli/init.js.map +0 -1
- package/dist/cli/report.d.ts +0 -2
- package/dist/cli/report.d.ts.map +0 -1
- package/dist/cli/report.js +0 -96
- package/dist/cli/report.js.map +0 -1
- package/dist/cli/store-cmd.d.ts +0 -10
- package/dist/cli/store-cmd.d.ts.map +0 -1
- package/dist/cli/store-cmd.js +0 -50
- package/dist/cli/store-cmd.js.map +0 -1
- package/dist/cli/validate.d.ts +0 -2
- package/dist/cli/validate.d.ts.map +0 -1
- package/dist/cli/validate.js +0 -74
- package/dist/cli/validate.js.map +0 -1
- package/dist/cli/viz.d.ts +0 -7
- package/dist/cli/viz.d.ts.map +0 -1
- package/dist/cli/viz.js +0 -163
- package/dist/cli/viz.js.map +0 -1
- package/dist/logger/consola-logger.d.ts +0 -18
- package/dist/logger/consola-logger.d.ts.map +0 -1
- package/dist/logger/consola-logger.js +0 -76
- package/dist/logger/consola-logger.js.map +0 -1
- package/dist/logger/index.d.ts +0 -5
- package/dist/logger/index.d.ts.map +0 -1
- package/dist/logger/index.js +0 -7
- package/dist/logger/index.js.map +0 -1
- package/dist/progress/progress-bar.d.ts +0 -6
- package/dist/progress/progress-bar.d.ts.map +0 -1
- package/dist/progress/progress-bar.js +0 -23
- package/dist/progress/progress-bar.js.map +0 -1
package/dist/cli/init.js
DELETED
|
@@ -1,382 +0,0 @@
|
|
|
1
|
-
import { checkbox, input, select } from "@inquirer/prompts";
|
|
2
|
-
import { existsSync } from "fs";
|
|
3
|
-
import { readFile, rename, writeFile } from "fs/promises";
|
|
4
|
-
import { join } from "path";
|
|
5
|
-
import { spawn } from "child_process";
|
|
6
|
-
import { loadRegistry } from "../plugin-registry.js";
|
|
7
|
-
import { defaultChunksFile, defaultEmbeddingsFile, getVirageDir, } from "../core/virage-defaults.js";
|
|
8
|
-
import { EXT_GROUPS, detectFileExtensions, } from "./file-detect.js";
|
|
9
|
-
// āāā Back-navigation support āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā
|
|
10
|
-
const BACK_VALUE = "__back__";
|
|
11
|
-
function withBack(choices) {
|
|
12
|
-
return [
|
|
13
|
-
...choices,
|
|
14
|
-
{ name: "ā Back", value: BACK_VALUE },
|
|
15
|
-
];
|
|
16
|
-
}
|
|
17
|
-
function isBack(value) {
|
|
18
|
-
return value === BACK_VALUE;
|
|
19
|
-
}
|
|
20
|
-
// āāā Package helpers āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā
|
|
21
|
-
function getRequiredPackages(state, registry) {
|
|
22
|
-
const embedderEntry = registry.embedders.find((e) => e.key === state.embedder);
|
|
23
|
-
const storeEntry = registry.stores.find((s) => s.key === state.vectorStore);
|
|
24
|
-
const pkgs = new Set();
|
|
25
|
-
if (embedderEntry && embedderEntry.key !== "custom")
|
|
26
|
-
pkgs.add(embedderEntry.package);
|
|
27
|
-
if (storeEntry && storeEntry.key !== "custom")
|
|
28
|
-
pkgs.add(storeEntry.package);
|
|
29
|
-
return Array.from(pkgs);
|
|
30
|
-
}
|
|
31
|
-
async function detectPackageManager(projectRoot) {
|
|
32
|
-
if (existsSync(join(projectRoot, "bun.lockb")))
|
|
33
|
-
return "bun";
|
|
34
|
-
if (existsSync(join(projectRoot, "pnpm-lock.yaml")))
|
|
35
|
-
return "pnpm";
|
|
36
|
-
if (existsSync(join(projectRoot, "yarn.lock")))
|
|
37
|
-
return "yarn";
|
|
38
|
-
return "npm";
|
|
39
|
-
}
|
|
40
|
-
function buildInstallCommand(pm, packages) {
|
|
41
|
-
switch (pm) {
|
|
42
|
-
case "yarn":
|
|
43
|
-
return { cmd: "yarn", args: ["add", ...packages] };
|
|
44
|
-
case "pnpm":
|
|
45
|
-
return { cmd: "pnpm", args: ["add", ...packages] };
|
|
46
|
-
case "bun":
|
|
47
|
-
return { cmd: "bun", args: ["add", ...packages] };
|
|
48
|
-
default:
|
|
49
|
-
return { cmd: "npm", args: ["install", ...packages] };
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
function buildGlobalInstallCommand(pm, packages) {
|
|
53
|
-
switch (pm) {
|
|
54
|
-
case "yarn":
|
|
55
|
-
return { cmd: "yarn", args: ["global", "add", ...packages] };
|
|
56
|
-
case "pnpm":
|
|
57
|
-
return { cmd: "pnpm", args: ["add", "-g", ...packages] };
|
|
58
|
-
case "bun":
|
|
59
|
-
return { cmd: "bun", args: ["add", "-g", ...packages] };
|
|
60
|
-
default:
|
|
61
|
-
return { cmd: "npm", args: ["install", "-g", ...packages] };
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
async function rotateConfigBackups(configPath) {
|
|
65
|
-
const bak = (n) => `${configPath}.bak.${n}`;
|
|
66
|
-
// Delete oldest backup if present
|
|
67
|
-
try {
|
|
68
|
-
await rename(bak(5), bak(5) + ".del");
|
|
69
|
-
const { unlink } = await import("fs/promises");
|
|
70
|
-
await unlink(bak(5) + ".del");
|
|
71
|
-
}
|
|
72
|
-
catch {
|
|
73
|
-
// No .bak.5 to remove
|
|
74
|
-
}
|
|
75
|
-
// Shift .bak.4 ā .bak.5, .bak.3 ā .bak.4, ... .bak.1 ā .bak.2
|
|
76
|
-
for (let i = 4; i >= 1; i--) {
|
|
77
|
-
try {
|
|
78
|
-
await rename(bak(i), bak(i + 1));
|
|
79
|
-
}
|
|
80
|
-
catch {
|
|
81
|
-
// No backup at this slot
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
// Rename current file to .bak.1
|
|
85
|
-
if (existsSync(configPath)) {
|
|
86
|
-
await rename(configPath, bak(1));
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
function runInstall(cmd, args) {
|
|
90
|
-
return new Promise((resolve, reject) => {
|
|
91
|
-
const proc = spawn(cmd, args, {
|
|
92
|
-
stdio: "inherit",
|
|
93
|
-
shell: process.platform === "win32",
|
|
94
|
-
});
|
|
95
|
-
proc.on("close", (code) => code === 0
|
|
96
|
-
? resolve()
|
|
97
|
-
: reject(new Error(`Install failed with exit code ${code}`)));
|
|
98
|
-
proc.on("error", reject);
|
|
99
|
-
});
|
|
100
|
-
}
|
|
101
|
-
// āāā Config generation āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā
|
|
102
|
-
const STRATEGY_FN_TO_JSON = {
|
|
103
|
-
markdownHeadersStrategy: "markdownHeaders",
|
|
104
|
-
tokenStrategy: "token",
|
|
105
|
-
wholeFileStrategy: "wholeFile",
|
|
106
|
-
semanticStrategy: "semantic",
|
|
107
|
-
};
|
|
108
|
-
function generateJsonConfig(state, registry) {
|
|
109
|
-
const effectiveGroups = state.groups.length > 0
|
|
110
|
-
? state.groups
|
|
111
|
-
: [EXT_GROUPS.find((g) => g.name === "typescript")];
|
|
112
|
-
const chunkers = effectiveGroups.map((g) => ({
|
|
113
|
-
name: g.name,
|
|
114
|
-
patterns: g.exts.map((e) => `**/*${e}`),
|
|
115
|
-
strategy: STRATEGY_FN_TO_JSON[g.strategyFn] ?? g.strategyFn,
|
|
116
|
-
}));
|
|
117
|
-
const embedderEntry = registry.embedders.find((e) => e.key === state.embedder);
|
|
118
|
-
const storeEntry = registry.stores.find((s) => s.key === state.vectorStore);
|
|
119
|
-
// For local file-based stores, resolve paths relative to the virage dir so
|
|
120
|
-
// the VIRAGE_DIR env var override is respected at config generation time
|
|
121
|
-
// (same pattern as chunksFile/embeddingsFile).
|
|
122
|
-
const resolvedStoreConfig = storeEntry.key === "lancedb"
|
|
123
|
-
? { ...storeEntry.defaultConfig, uri: `${getVirageDir()}/lancedb` }
|
|
124
|
-
: storeEntry.defaultConfig;
|
|
125
|
-
const config = {
|
|
126
|
-
$schema: "./node_modules/@vivantel/virage-core/schemas/virage.config.schema.json",
|
|
127
|
-
chunkers,
|
|
128
|
-
embedder: {
|
|
129
|
-
package: embedderEntry.package,
|
|
130
|
-
config: embedderEntry.defaultConfig,
|
|
131
|
-
},
|
|
132
|
-
vectorStore: {
|
|
133
|
-
package: storeEntry.package,
|
|
134
|
-
config: resolvedStoreConfig,
|
|
135
|
-
},
|
|
136
|
-
options: {
|
|
137
|
-
chunksFile: defaultChunksFile(),
|
|
138
|
-
embeddingsFile: defaultEmbeddingsFile(),
|
|
139
|
-
},
|
|
140
|
-
};
|
|
141
|
-
return JSON.stringify(config, null, 2) + "\n";
|
|
142
|
-
}
|
|
143
|
-
// āāā .env writing āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā
|
|
144
|
-
async function writeEnvVars(envPath, vars) {
|
|
145
|
-
let existing = "";
|
|
146
|
-
if (existsSync(envPath)) {
|
|
147
|
-
existing = await readFile(envPath, "utf-8");
|
|
148
|
-
}
|
|
149
|
-
const written = [];
|
|
150
|
-
const skipped = [];
|
|
151
|
-
const lines = existing.endsWith("\n")
|
|
152
|
-
? [existing]
|
|
153
|
-
: existing
|
|
154
|
-
? [existing, ""]
|
|
155
|
-
: [];
|
|
156
|
-
for (const [key, value] of Object.entries(vars)) {
|
|
157
|
-
const alreadyDefined = existing
|
|
158
|
-
.split("\n")
|
|
159
|
-
.some((line) => line.startsWith(`${key}=`) || line.startsWith(`${key} =`));
|
|
160
|
-
if (alreadyDefined) {
|
|
161
|
-
skipped.push(key);
|
|
162
|
-
}
|
|
163
|
-
else {
|
|
164
|
-
lines.push(`${key}=${value}`);
|
|
165
|
-
written.push(key);
|
|
166
|
-
}
|
|
167
|
-
}
|
|
168
|
-
if (written.length > 0) {
|
|
169
|
-
await writeFile(envPath, lines.join("\n").trimStart() + "\n", "utf-8");
|
|
170
|
-
}
|
|
171
|
-
return { written, skipped };
|
|
172
|
-
}
|
|
173
|
-
// āāā Main wizard āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā
|
|
174
|
-
export async function runInit() {
|
|
175
|
-
console.log("\nVirage Config Generator\n");
|
|
176
|
-
const defaultConfigPath = "./virage.config.json";
|
|
177
|
-
if (existsSync(defaultConfigPath)) {
|
|
178
|
-
const overwrite = await select({
|
|
179
|
-
message: `Config file ${defaultConfigPath} already exists. Overwrite?`,
|
|
180
|
-
choices: [
|
|
181
|
-
{ name: "Yes (backup & overwrite)", value: true },
|
|
182
|
-
{ name: "No, cancel", value: false },
|
|
183
|
-
],
|
|
184
|
-
});
|
|
185
|
-
if (!overwrite) {
|
|
186
|
-
console.log("\nCancelled.");
|
|
187
|
-
return;
|
|
188
|
-
}
|
|
189
|
-
}
|
|
190
|
-
const cwd = process.cwd();
|
|
191
|
-
console.log("Scanning project for file types...");
|
|
192
|
-
const detectedGroups = await detectFileExtensions(cwd);
|
|
193
|
-
const registry = await loadRegistry(cwd);
|
|
194
|
-
const state = {};
|
|
195
|
-
let step = 0;
|
|
196
|
-
while (step < 4) {
|
|
197
|
-
switch (step) {
|
|
198
|
-
// āā Step 0: chunker selection āā
|
|
199
|
-
case 0: {
|
|
200
|
-
if (detectedGroups.length > 0) {
|
|
201
|
-
const confirmed = await checkbox({
|
|
202
|
-
message: "Detected file types ā select which to index:",
|
|
203
|
-
choices: [
|
|
204
|
-
...detectedGroups.map((g) => ({
|
|
205
|
-
name: `${g.name} (${g.exts.join(", ")}) ā ${g.strategyFn}`,
|
|
206
|
-
value: g.name,
|
|
207
|
-
checked: true,
|
|
208
|
-
})),
|
|
209
|
-
{ name: "ā Back (cancel init)", value: "__back__" },
|
|
210
|
-
],
|
|
211
|
-
});
|
|
212
|
-
if (confirmed.includes("__back__")) {
|
|
213
|
-
console.log("\nCancelled.");
|
|
214
|
-
return;
|
|
215
|
-
}
|
|
216
|
-
state.groups = detectedGroups.filter((g) => confirmed.includes(g.name));
|
|
217
|
-
}
|
|
218
|
-
else {
|
|
219
|
-
console.log("No known file types detected. Choose strategies manually:");
|
|
220
|
-
const chosen = await checkbox({
|
|
221
|
-
message: "Which chunking strategies do you need?",
|
|
222
|
-
choices: [
|
|
223
|
-
...EXT_GROUPS.map((g) => ({
|
|
224
|
-
name: `${g.name} (${g.strategyFn})`,
|
|
225
|
-
value: g.name,
|
|
226
|
-
})),
|
|
227
|
-
{ name: "ā Back (cancel init)", value: "__back__" },
|
|
228
|
-
],
|
|
229
|
-
});
|
|
230
|
-
if (chosen.includes("__back__")) {
|
|
231
|
-
console.log("\nCancelled.");
|
|
232
|
-
return;
|
|
233
|
-
}
|
|
234
|
-
state.groups = EXT_GROUPS.filter((g) => chosen.includes(g.name));
|
|
235
|
-
}
|
|
236
|
-
step++;
|
|
237
|
-
break;
|
|
238
|
-
}
|
|
239
|
-
// āā Step 1: embedder selection āā
|
|
240
|
-
case 1: {
|
|
241
|
-
const choice = await select({
|
|
242
|
-
message: "Which embedding provider?",
|
|
243
|
-
choices: withBack(registry.embedders.map((e) => ({ name: e.label, value: e.key }))),
|
|
244
|
-
});
|
|
245
|
-
if (isBack(choice)) {
|
|
246
|
-
step--;
|
|
247
|
-
break;
|
|
248
|
-
}
|
|
249
|
-
state.embedder = choice;
|
|
250
|
-
step++;
|
|
251
|
-
break;
|
|
252
|
-
}
|
|
253
|
-
// āā Step 2: vector store selection āā
|
|
254
|
-
case 2: {
|
|
255
|
-
const choice = await select({
|
|
256
|
-
message: "Which vector store?",
|
|
257
|
-
choices: withBack(registry.stores.map((s) => ({ name: s.label, value: s.key }))),
|
|
258
|
-
});
|
|
259
|
-
if (isBack(choice)) {
|
|
260
|
-
step--;
|
|
261
|
-
break;
|
|
262
|
-
}
|
|
263
|
-
state.vectorStore = choice;
|
|
264
|
-
step++;
|
|
265
|
-
break;
|
|
266
|
-
}
|
|
267
|
-
// āā Step 3: output path āā
|
|
268
|
-
case 3: {
|
|
269
|
-
const defaultOutput = "./virage.config.json";
|
|
270
|
-
const outputPath = await input({
|
|
271
|
-
message: "Output path for the config file? (leave blank to go back)",
|
|
272
|
-
default: defaultOutput,
|
|
273
|
-
});
|
|
274
|
-
if (outputPath.trim() === "") {
|
|
275
|
-
step--;
|
|
276
|
-
break;
|
|
277
|
-
}
|
|
278
|
-
state.outputPath = outputPath.trim();
|
|
279
|
-
step++;
|
|
280
|
-
break;
|
|
281
|
-
}
|
|
282
|
-
}
|
|
283
|
-
}
|
|
284
|
-
const finalState = state;
|
|
285
|
-
// āā Overwrite safety net for custom output path āā
|
|
286
|
-
if (finalState.outputPath !== defaultConfigPath &&
|
|
287
|
-
existsSync(finalState.outputPath)) {
|
|
288
|
-
const overwrite = await select({
|
|
289
|
-
message: `${finalState.outputPath} already exists. What would you like to do?`,
|
|
290
|
-
choices: [
|
|
291
|
-
{ name: "Yes (backup & overwrite)", value: true },
|
|
292
|
-
{ name: "No, cancel (keep existing file)", value: false },
|
|
293
|
-
],
|
|
294
|
-
});
|
|
295
|
-
if (!overwrite) {
|
|
296
|
-
console.log("\nCancelled.");
|
|
297
|
-
return;
|
|
298
|
-
}
|
|
299
|
-
}
|
|
300
|
-
// āā Write config āā
|
|
301
|
-
await rotateConfigBackups(finalState.outputPath);
|
|
302
|
-
const configContent = generateJsonConfig(finalState, registry);
|
|
303
|
-
await writeFile(finalState.outputPath, configContent, "utf-8");
|
|
304
|
-
console.log(`\nCreated ${finalState.outputPath}`);
|
|
305
|
-
// āā Secrets step āā
|
|
306
|
-
const embedderEntry = registry.embedders.find((e) => e.key === finalState.embedder);
|
|
307
|
-
const storeEntry = registry.stores.find((s) => s.key === finalState.vectorStore);
|
|
308
|
-
const requiredVars = [
|
|
309
|
-
...(embedderEntry?.envVars ?? []),
|
|
310
|
-
...(storeEntry?.envVars ?? []),
|
|
311
|
-
];
|
|
312
|
-
if (requiredVars.length > 0) {
|
|
313
|
-
console.log("\nThis configuration requires the following secrets:");
|
|
314
|
-
const envValues = {};
|
|
315
|
-
for (const varName of requiredVars) {
|
|
316
|
-
const value = await input({
|
|
317
|
-
message: `Enter value for ${varName} (leave blank to skip):`,
|
|
318
|
-
default: "",
|
|
319
|
-
});
|
|
320
|
-
if (value.trim()) {
|
|
321
|
-
envValues[varName] = value.trim();
|
|
322
|
-
}
|
|
323
|
-
}
|
|
324
|
-
if (Object.keys(envValues).length > 0) {
|
|
325
|
-
const envPath = "./.env";
|
|
326
|
-
const { written, skipped } = await writeEnvVars(envPath, envValues);
|
|
327
|
-
if (written.length > 0) {
|
|
328
|
-
console.log(`\nWrote to ${envPath}: ${written.join(", ")}`);
|
|
329
|
-
}
|
|
330
|
-
if (skipped.length > 0) {
|
|
331
|
-
console.log(`Already defined (skipped): ${skipped.join(", ")}`);
|
|
332
|
-
}
|
|
333
|
-
}
|
|
334
|
-
else {
|
|
335
|
-
console.log("\nNo secrets entered ā add them to your .env file manually.");
|
|
336
|
-
}
|
|
337
|
-
}
|
|
338
|
-
else {
|
|
339
|
-
console.log("\nNo secrets required for this combination.");
|
|
340
|
-
}
|
|
341
|
-
// āā Auto-install āā
|
|
342
|
-
const pkgs = getRequiredPackages(finalState, registry);
|
|
343
|
-
if (pkgs.length > 0) {
|
|
344
|
-
const pm = await detectPackageManager(cwd);
|
|
345
|
-
const localCmd = buildInstallCommand(pm, pkgs);
|
|
346
|
-
const globalCmd = buildGlobalInstallCommand(pm, pkgs);
|
|
347
|
-
const installChoice = await select({
|
|
348
|
-
message: `Install ${pkgs.join(", ")} using ${pm}?`,
|
|
349
|
-
choices: [
|
|
350
|
-
{
|
|
351
|
-
name: "Yes, install in current folder (recommended)",
|
|
352
|
-
value: "local",
|
|
353
|
-
},
|
|
354
|
-
{ name: "Yes, install globally", value: "global" },
|
|
355
|
-
{ name: "No, I'll install manually", value: "manual" },
|
|
356
|
-
],
|
|
357
|
-
});
|
|
358
|
-
if (installChoice === "local" || installChoice === "global") {
|
|
359
|
-
const { cmd, args } = installChoice === "global" ? globalCmd : localCmd;
|
|
360
|
-
try {
|
|
361
|
-
await runInstall(cmd, args);
|
|
362
|
-
console.log("\nPackages installed successfully.");
|
|
363
|
-
}
|
|
364
|
-
catch {
|
|
365
|
-
console.log(`\nInstall failed. Run manually:\n ${cmd} ${args.join(" ")}`);
|
|
366
|
-
}
|
|
367
|
-
}
|
|
368
|
-
else {
|
|
369
|
-
console.log(`\nRun manually:\n ${localCmd.cmd} ${localCmd.args.join(" ")}`);
|
|
370
|
-
}
|
|
371
|
-
}
|
|
372
|
-
// āā Next steps āā
|
|
373
|
-
console.log("\nNext steps:");
|
|
374
|
-
let nextStep = 1;
|
|
375
|
-
if (finalState.vectorStore === "qdrant") {
|
|
376
|
-
console.log(` ${nextStep++}. Qdrant local: docker run -p 6333:6333 qdrant/qdrant`);
|
|
377
|
-
console.log(` Set QDRANT_URL=http://localhost:6333 (local) or your cluster URL (cloud).`);
|
|
378
|
-
}
|
|
379
|
-
console.log(` ${nextStep++}. Run \`virage validate\` to check the config`);
|
|
380
|
-
console.log(` ${nextStep}. Run \`virage\` to start indexing\n`);
|
|
381
|
-
}
|
|
382
|
-
//# sourceMappingURL=init.js.map
|
package/dist/cli/init.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/cli/init.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/report.d.ts
DELETED
package/dist/cli/report.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"report.d.ts","sourceRoot":"","sources":["../../src/cli/report.ts"],"names":[],"mappings":"AA2CA,wBAAsB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAgG1D"}
|
package/dist/cli/report.js
DELETED
|
@@ -1,96 +0,0 @@
|
|
|
1
|
-
import { readdir, readFile } from "fs/promises";
|
|
2
|
-
import { join } from "path";
|
|
3
|
-
function percentile(sorted, p) {
|
|
4
|
-
if (sorted.length === 0)
|
|
5
|
-
return 0;
|
|
6
|
-
const idx = Math.floor((p / 100) * sorted.length);
|
|
7
|
-
return sorted[Math.min(idx, sorted.length - 1)];
|
|
8
|
-
}
|
|
9
|
-
function fmt(ms) {
|
|
10
|
-
if (ms < 1000)
|
|
11
|
-
return `${ms}ms`;
|
|
12
|
-
return `${(ms / 1000).toFixed(2)}s`;
|
|
13
|
-
}
|
|
14
|
-
export async function runReport(dir) {
|
|
15
|
-
let files;
|
|
16
|
-
try {
|
|
17
|
-
files = (await readdir(dir)).filter((f) => f.endsWith(".json"));
|
|
18
|
-
}
|
|
19
|
-
catch {
|
|
20
|
-
console.error(`ā Could not read telemetry directory "${dir}".\n` +
|
|
21
|
-
` Run the pipeline first to generate telemetry files.`);
|
|
22
|
-
process.exit(1);
|
|
23
|
-
}
|
|
24
|
-
if (files.length === 0) {
|
|
25
|
-
console.log(`ā¹ļø No telemetry files found in "${dir}".`);
|
|
26
|
-
return;
|
|
27
|
-
}
|
|
28
|
-
const records = [];
|
|
29
|
-
for (const file of files) {
|
|
30
|
-
try {
|
|
31
|
-
const raw = await readFile(join(dir, file), "utf-8");
|
|
32
|
-
records.push(JSON.parse(raw));
|
|
33
|
-
}
|
|
34
|
-
catch {
|
|
35
|
-
// Skip malformed files
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
if (records.length === 0) {
|
|
39
|
-
console.log("ā¹ļø No valid telemetry records found.");
|
|
40
|
-
return;
|
|
41
|
-
}
|
|
42
|
-
// Sort by runAt
|
|
43
|
-
records.sort((a, b) => a.runAt.localeCompare(b.runAt));
|
|
44
|
-
const latest = records[records.length - 1];
|
|
45
|
-
console.log(`\nš Observability Report (${records.length} runs)`);
|
|
46
|
-
console.log("ā".repeat(50));
|
|
47
|
-
console.log(` Latest run : ${latest.runAt}`);
|
|
48
|
-
console.log(` Total duration : ${fmt(latest.durationMs)}`);
|
|
49
|
-
const s = latest.stages;
|
|
50
|
-
if (s.gitTracking) {
|
|
51
|
-
console.log(`\n Git tracking : ${fmt(s.gitTracking.durationMs)}`);
|
|
52
|
-
console.log(` Files scanned : ${s.gitTracking.filesScanned}`);
|
|
53
|
-
console.log(` To process : ${s.gitTracking.toProcess}`);
|
|
54
|
-
console.log(` To delete : ${s.gitTracking.toDelete}`);
|
|
55
|
-
}
|
|
56
|
-
if (s.chunking) {
|
|
57
|
-
console.log(`\n Chunking : ${fmt(s.chunking.durationMs)}`);
|
|
58
|
-
console.log(` Files processed : ${s.chunking.filesProcessed}`);
|
|
59
|
-
console.log(` Chunks generated: ${s.chunking.chunksGenerated}`);
|
|
60
|
-
if (s.chunking.errors > 0) {
|
|
61
|
-
console.log(` Errors : ${s.chunking.errors}`);
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
if (s.embedding) {
|
|
65
|
-
const e = s.embedding;
|
|
66
|
-
const total = e.chunksEmbedded + e.chunksSkipped;
|
|
67
|
-
const hitRate = total > 0 ? e.chunksSkipped / total : 0;
|
|
68
|
-
console.log(`\n Embedding : ${fmt(e.durationMs)}`);
|
|
69
|
-
console.log(` Chunks embedded : ${e.chunksEmbedded}`);
|
|
70
|
-
console.log(` Chunks skipped : ${e.chunksSkipped} (cache hit rate: ${(hitRate * 100).toFixed(1)}%)`);
|
|
71
|
-
if (e.rateLimitEvents !== undefined && e.rateLimitEvents > 0) {
|
|
72
|
-
console.log(` Rate limit events: ${e.rateLimitEvents}`);
|
|
73
|
-
}
|
|
74
|
-
if (e.latencySamples && e.latencySamples.length > 0) {
|
|
75
|
-
const sorted = [...e.latencySamples].sort((a, b) => a - b);
|
|
76
|
-
console.log(` API latency p50 : ${fmt(percentile(sorted, 50))}`);
|
|
77
|
-
console.log(` API latency p95 : ${fmt(percentile(sorted, 95))}`);
|
|
78
|
-
console.log(` API latency p99 : ${fmt(percentile(sorted, 99))}`);
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
if (s.upload) {
|
|
82
|
-
console.log(`\n Upload : ${fmt(s.upload.durationMs)}`);
|
|
83
|
-
console.log(` Uploaded : ${s.upload.uploaded}`);
|
|
84
|
-
console.log(` Deleted : ${s.upload.deleted}`);
|
|
85
|
-
}
|
|
86
|
-
// Trend across all runs
|
|
87
|
-
if (records.length > 1) {
|
|
88
|
-
const durations = records.map((r) => r.durationMs);
|
|
89
|
-
const avgDuration = durations.reduce((s, v) => s + v, 0) / durations.length;
|
|
90
|
-
console.log(`\n Average run time : ${fmt(Math.round(avgDuration))}`);
|
|
91
|
-
console.log(` Fastest run : ${fmt(Math.min(...durations))}`);
|
|
92
|
-
console.log(` Slowest run : ${fmt(Math.max(...durations))}`);
|
|
93
|
-
}
|
|
94
|
-
console.log("ā".repeat(50));
|
|
95
|
-
}
|
|
96
|
-
//# sourceMappingURL=report.js.map
|
package/dist/cli/report.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"report.js","sourceRoot":"","sources":["../../src/cli/report.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/store-cmd.d.ts
DELETED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
export interface StoreStatsOptions {
|
|
2
|
-
config: string;
|
|
3
|
-
}
|
|
4
|
-
export interface StorePerfOptions {
|
|
5
|
-
config: string;
|
|
6
|
-
timeframeHours: number;
|
|
7
|
-
}
|
|
8
|
-
export declare function runStoreStats(opts: StoreStatsOptions): Promise<void>;
|
|
9
|
-
export declare function runStorePerf(opts: StorePerfOptions): Promise<void>;
|
|
10
|
-
//# sourceMappingURL=store-cmd.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"store-cmd.d.ts","sourceRoot":"","sources":["../../src/cli/store-cmd.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,wBAAsB,aAAa,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAmC1E;AAED,wBAAsB,YAAY,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAqCxE"}
|
package/dist/cli/store-cmd.js
DELETED
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
import { loadConfig } from "../config-loader.js";
|
|
2
|
-
export async function runStoreStats(opts) {
|
|
3
|
-
console.log("š Loading config...");
|
|
4
|
-
const cfg = await loadConfig(opts.config);
|
|
5
|
-
const store = cfg.vectorStore;
|
|
6
|
-
if (!store.getIndexStats) {
|
|
7
|
-
console.error(`ā The configured vector store "${store.name}" does not support index stats.`);
|
|
8
|
-
process.exit(1);
|
|
9
|
-
}
|
|
10
|
-
console.log("š Fetching index stats...");
|
|
11
|
-
await store.initialize();
|
|
12
|
-
const stats = await store.getIndexStats();
|
|
13
|
-
console.log("\nš Vector Index Stats");
|
|
14
|
-
console.log("ā".repeat(40));
|
|
15
|
-
console.log(` Total vectors : ${stats.totalVectors.toLocaleString()}`);
|
|
16
|
-
console.log(` Index type : ${stats.indexType}`);
|
|
17
|
-
console.log(` ANN recall@10 : ${stats.annRecallAt10 >= 0 ? (stats.annRecallAt10 * 100).toFixed(1) + "%" : "N/A"}`);
|
|
18
|
-
console.log(` Index age : ${stats.indexAgeHours >= 0 ? stats.indexAgeHours + " hours" : "unknown"}`);
|
|
19
|
-
console.log(` Dead tuple frac. : ${(stats.deadTupleFraction * 100).toFixed(1)}%`);
|
|
20
|
-
console.log("\nš” Suggestions:");
|
|
21
|
-
for (const s of stats.suggestions) {
|
|
22
|
-
console.log(` ⢠${s}`);
|
|
23
|
-
}
|
|
24
|
-
console.log("ā".repeat(40));
|
|
25
|
-
}
|
|
26
|
-
export async function runStorePerf(opts) {
|
|
27
|
-
console.log("š Loading config...");
|
|
28
|
-
const cfg = await loadConfig(opts.config);
|
|
29
|
-
const store = cfg.vectorStore;
|
|
30
|
-
if (!store.getQueryPerfReport) {
|
|
31
|
-
console.error(`ā The configured vector store "${store.name}" does not support query performance reports.`);
|
|
32
|
-
process.exit(1);
|
|
33
|
-
}
|
|
34
|
-
console.log(`š Fetching query perf for last ${opts.timeframeHours}h...`);
|
|
35
|
-
await store.initialize();
|
|
36
|
-
const report = await store.getQueryPerfReport(opts.timeframeHours);
|
|
37
|
-
console.log("\nš Query Performance Report");
|
|
38
|
-
console.log("ā".repeat(40));
|
|
39
|
-
console.log(` Timeframe : last ${report.timeframeHours}h`);
|
|
40
|
-
console.log(` p50 latency : ${report.p50LatencyMs >= 0 ? report.p50LatencyMs + " ms" : "N/A"}`);
|
|
41
|
-
console.log(` p95 latency : ${report.p95LatencyMs >= 0 ? report.p95LatencyMs + " ms" : "N/A"}`);
|
|
42
|
-
console.log(` p99 latency : ${report.p99LatencyMs >= 0 ? report.p99LatencyMs + " ms" : "N/A"}`);
|
|
43
|
-
console.log(` Slow queries : ${report.slowQueryCount >= 0 ? report.slowQueryCount : "N/A"}`);
|
|
44
|
-
console.log("\nš” Suggestions:");
|
|
45
|
-
for (const s of report.suggestedIndexes) {
|
|
46
|
-
console.log(` ⢠${s}`);
|
|
47
|
-
}
|
|
48
|
-
console.log("ā".repeat(40));
|
|
49
|
-
}
|
|
50
|
-
//# sourceMappingURL=store-cmd.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"store-cmd.js","sourceRoot":"","sources":["../../src/cli/store-cmd.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/validate.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../src/cli/validate.ts"],"names":[],"mappings":"AAMA,wBAAsB,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA8EnE"}
|