@vivantel/virage-cli 0.1.84 → 0.1.87

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.
Files changed (89) hide show
  1. package/dist/ansi.d.ts +14 -0
  2. package/dist/ansi.d.ts.map +1 -0
  3. package/dist/ansi.js +25 -0
  4. package/dist/ansi.js.map +1 -0
  5. package/dist/bin/virage.js +85 -22
  6. package/dist/bin/virage.js.map +1 -1
  7. package/dist/cli/benchmark.d.ts +1 -0
  8. package/dist/cli/benchmark.d.ts.map +1 -1
  9. package/dist/cli/benchmark.js +41 -43
  10. package/dist/cli/benchmark.js.map +1 -1
  11. package/dist/cli/check.d.ts +1 -0
  12. package/dist/cli/check.d.ts.map +1 -1
  13. package/dist/cli/check.js +20 -16
  14. package/dist/cli/check.js.map +1 -1
  15. package/dist/cli/chunks-report.d.ts +1 -1
  16. package/dist/cli/chunks-report.d.ts.map +1 -1
  17. package/dist/cli/chunks-report.js +16 -11
  18. package/dist/cli/chunks-report.js.map +1 -1
  19. package/dist/cli/eval-suite.d.ts.map +1 -1
  20. package/dist/cli/eval-suite.js +6 -6
  21. package/dist/cli/eval-suite.js.map +1 -1
  22. package/dist/cli/evaluate.d.ts +1 -0
  23. package/dist/cli/evaluate.d.ts.map +1 -1
  24. package/dist/cli/evaluate.js +37 -34
  25. package/dist/cli/evaluate.js.map +1 -1
  26. package/dist/cli/experiment.d.ts +3 -1
  27. package/dist/cli/experiment.d.ts.map +1 -1
  28. package/dist/cli/experiment.js +41 -39
  29. package/dist/cli/experiment.js.map +1 -1
  30. package/dist/cli/init.d.ts +1 -1
  31. package/dist/cli/init.d.ts.map +1 -1
  32. package/dist/cli/init.js +25 -24
  33. package/dist/cli/init.js.map +1 -1
  34. package/dist/cli/install-hooks.d.ts +1 -0
  35. package/dist/cli/install-hooks.d.ts.map +1 -1
  36. package/dist/cli/install-hooks.js +24 -11
  37. package/dist/cli/install-hooks.js.map +1 -1
  38. package/dist/cli/pack.d.ts +1 -0
  39. package/dist/cli/pack.d.ts.map +1 -1
  40. package/dist/cli/pack.js +9 -16
  41. package/dist/cli/pack.js.map +1 -1
  42. package/dist/cli/query-cmd.d.ts +1 -0
  43. package/dist/cli/query-cmd.d.ts.map +1 -1
  44. package/dist/cli/query-cmd.js +26 -21
  45. package/dist/cli/query-cmd.js.map +1 -1
  46. package/dist/cli/report.d.ts +1 -1
  47. package/dist/cli/report.d.ts.map +1 -1
  48. package/dist/cli/report.js +27 -29
  49. package/dist/cli/report.js.map +1 -1
  50. package/dist/cli/store-cmd.d.ts +2 -0
  51. package/dist/cli/store-cmd.d.ts.map +1 -1
  52. package/dist/cli/store-cmd.js +37 -33
  53. package/dist/cli/store-cmd.js.map +1 -1
  54. package/dist/cli/telemetry.d.ts +6 -6
  55. package/dist/cli/telemetry.d.ts.map +1 -1
  56. package/dist/cli/telemetry.js +58 -48
  57. package/dist/cli/telemetry.js.map +1 -1
  58. package/dist/cli/update.d.ts +1 -1
  59. package/dist/cli/update.d.ts.map +1 -1
  60. package/dist/cli/update.js +3 -6
  61. package/dist/cli/update.js.map +1 -1
  62. package/dist/cli/validate.d.ts +1 -1
  63. package/dist/cli/validate.d.ts.map +1 -1
  64. package/dist/cli/validate.js +9 -14
  65. package/dist/cli/validate.js.map +1 -1
  66. package/dist/cli/viz.d.ts +1 -0
  67. package/dist/cli/viz.d.ts.map +1 -1
  68. package/dist/cli/viz.js +15 -14
  69. package/dist/cli/viz.js.map +1 -1
  70. package/dist/cli-telemetry.d.ts +12 -0
  71. package/dist/cli-telemetry.d.ts.map +1 -0
  72. package/dist/cli-telemetry.js +83 -0
  73. package/dist/cli-telemetry.js.map +1 -0
  74. package/dist/dashboard-ui/assets/index-CJcTSfAz.js +1434 -0
  75. package/dist/dashboard-ui/index.html +1 -1
  76. package/dist/output.d.ts +13 -9
  77. package/dist/output.d.ts.map +1 -1
  78. package/dist/output.js +28 -10
  79. package/dist/output.js.map +1 -1
  80. package/dist/progress/progress-bar.d.ts +1 -12
  81. package/dist/progress/progress-bar.d.ts.map +1 -1
  82. package/dist/progress/progress-bar.js +2 -14
  83. package/dist/progress/progress-bar.js.map +1 -1
  84. package/dist/spinner.d.ts +2 -0
  85. package/dist/spinner.d.ts.map +1 -0
  86. package/dist/spinner.js +65 -0
  87. package/dist/spinner.js.map +1 -0
  88. package/package.json +3 -2
  89. package/dist/dashboard-ui/assets/index-BKD-_hV9.js +0 -1434
package/dist/ansi.d.ts ADDED
@@ -0,0 +1,14 @@
1
+ export declare const ansi: {
2
+ reset: string;
3
+ bold: string;
4
+ dim: string;
5
+ red: string;
6
+ green: string;
7
+ yellow: string;
8
+ cyan: string;
9
+ gray: string;
10
+ boldRed: string;
11
+ dimGray: string;
12
+ };
13
+ export declare const SPINNER_FRAMES: string[];
14
+ //# sourceMappingURL=ansi.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ansi.d.ts","sourceRoot":"","sources":["../src/ansi.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,IAAI;;;;;;;;;;;CAWhB,CAAC;AAEF,eAAO,MAAM,cAAc,UAW1B,CAAC"}
package/dist/ansi.js ADDED
@@ -0,0 +1,25 @@
1
+ export const ansi = {
2
+ reset: "\x1b[0m",
3
+ bold: "\x1b[1m",
4
+ dim: "\x1b[2m",
5
+ red: "\x1b[31m",
6
+ green: "\x1b[32m",
7
+ yellow: "\x1b[33m",
8
+ cyan: "\x1b[36m",
9
+ gray: "\x1b[90m",
10
+ boldRed: "\x1b[1;31m",
11
+ dimGray: "\x1b[2;90m",
12
+ };
13
+ export const SPINNER_FRAMES = [
14
+ "ā ‹",
15
+ "ā ™",
16
+ "ā ¹",
17
+ "ā ø",
18
+ "ā ¼",
19
+ "ā “",
20
+ "ā ¦",
21
+ "ā §",
22
+ "ā ‡",
23
+ "ā ",
24
+ ];
25
+ //# sourceMappingURL=ansi.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ansi.js","sourceRoot":"","sources":["../src/ansi.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,IAAI,GAAG;IAClB,KAAK,EAAE,SAAS;IAChB,IAAI,EAAE,SAAS;IACf,GAAG,EAAE,SAAS;IACd,GAAG,EAAE,UAAU;IACf,KAAK,EAAE,UAAU;IACjB,MAAM,EAAE,UAAU;IAClB,IAAI,EAAE,UAAU;IAChB,IAAI,EAAE,UAAU;IAChB,OAAO,EAAE,YAAY;IACrB,OAAO,EAAE,YAAY;CACtB,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;CACJ,CAAC"}
@@ -3,7 +3,10 @@ import { Command } from "commander";
3
3
  import { config } from "dotenv";
4
4
  import { loadConfig, Orchestrator, RagError, VirageDb, defaultVirageDb, getVirageDir, } from "@vivantel/virage-core";
5
5
  import { createLogger } from "../logger/index.js";
6
- import { PipelineRenderer, ansi } from "../progress/progress-bar.js";
6
+ import { PipelineRenderer } from "../progress/progress-bar.js";
7
+ import { ansi } from "../ansi.js";
8
+ import { createOut } from "../output.js";
9
+ import { CliTelemetry } from "../cli-telemetry.js";
7
10
  import { runInit } from "../cli/init.js";
8
11
  import { runUpdate } from "../cli/update.js";
9
12
  import { runUsage } from "../cli/usage.js";
@@ -34,9 +37,9 @@ const argv = process.argv.flatMap((arg) => /^-v+$/.test(arg)
34
37
  : [arg]);
35
38
  const program = new Command();
36
39
  function handleError(error) {
37
- console.error(`${ansi.boldRed}āŒ Error:${ansi.reset}`, error instanceof Error ? error.message : error);
40
+ createOut(0).error(error instanceof Error ? error.message : String(error));
38
41
  if (error instanceof RagError && error.suggestion) {
39
- console.error(" šŸ’”", error.suggestion);
42
+ console.error(` šŸ’” ${error.suggestion}`);
40
43
  }
41
44
  process.exit(1);
42
45
  }
@@ -159,10 +162,15 @@ program
159
162
  logger,
160
163
  verbosity: verbose,
161
164
  };
165
+ const t0 = Date.now();
166
+ const tel = await CliTelemetry.fromConfigPath(cmdOpts.config);
167
+ tel.start();
162
168
  try {
163
169
  await runOnce(runOptions);
170
+ tel.record("index", Date.now() - t0, true);
164
171
  }
165
172
  catch (error) {
173
+ tel.record("index", Date.now() - t0, false);
166
174
  handleError(error);
167
175
  }
168
176
  if (!cmdOpts.watch)
@@ -196,12 +204,13 @@ program
196
204
  .command("init")
197
205
  .description("Generate a virage.config.json template interactively")
198
206
  .action(async () => {
207
+ const verbose = program.opts().verbose;
199
208
  try {
200
- await runInit();
209
+ await runInit(verbose);
201
210
  }
202
211
  catch (error) {
203
212
  if (error.name === "ExitPromptError") {
204
- console.log("\nCancelled.");
213
+ createOut(0).dim("\nCancelled.");
205
214
  process.exit(0);
206
215
  }
207
216
  handleError(error);
@@ -213,12 +222,13 @@ program
213
222
  .description("Update virage ecosystem packages (embedders, chunkers, agent plugins)")
214
223
  .option("-c, --config <path>", "Path to config file", "./virage.config.json")
215
224
  .action(async (opts) => {
225
+ const verbose = program.opts().verbose;
216
226
  try {
217
- await runUpdate(opts.config);
227
+ await runUpdate(opts.config, verbose);
218
228
  }
219
229
  catch (error) {
220
230
  if (error.name === "ExitPromptError") {
221
- console.log("\nCancelled.");
231
+ createOut(0).dim("\nCancelled.");
222
232
  process.exit(0);
223
233
  }
224
234
  handleError(error);
@@ -255,10 +265,16 @@ program
255
265
  .description("Validate that the current embedder config matches the stored index")
256
266
  .option("-c, --config <path>", "Path to config file", "./virage.config.json")
257
267
  .action(async (opts) => {
268
+ const verbose = program.opts().verbose;
269
+ const t0 = Date.now();
270
+ const tel = await CliTelemetry.fromConfigPath(opts.config);
271
+ tel.start();
258
272
  try {
259
- await runCheck({ config: opts.config });
273
+ await runCheck({ config: opts.config, verbosity: verbose });
274
+ tel.record("check", Date.now() - t0, true);
260
275
  }
261
276
  catch (error) {
277
+ tel.record("check", Date.now() - t0, false);
262
278
  handleError(error);
263
279
  }
264
280
  });
@@ -268,10 +284,16 @@ program
268
284
  .description("Validate config without running the pipeline")
269
285
  .option("-c, --config <path>", "Path to config file", "./virage.config.json")
270
286
  .action(async (opts) => {
287
+ const verbose = program.opts().verbose;
288
+ const t0 = Date.now();
289
+ const tel = await CliTelemetry.fromConfigPath(opts.config);
290
+ tel.start();
271
291
  try {
272
- await runValidate(opts.config);
292
+ await runValidate(opts.config, verbose);
293
+ tel.record("validate", Date.now() - t0, true);
273
294
  }
274
295
  catch (error) {
296
+ tel.record("validate", Date.now() - t0, false);
275
297
  handleError(error);
276
298
  }
277
299
  });
@@ -280,8 +302,9 @@ program
280
302
  .alias("r")
281
303
  .description("Show observability report from pipeline runs")
282
304
  .action(async () => {
305
+ const verbose = program.opts().verbose;
283
306
  try {
284
- await runReport();
307
+ await runReport(undefined, verbose);
285
308
  }
286
309
  catch (error) {
287
310
  handleError(error);
@@ -304,6 +327,10 @@ evalCmd
304
327
  .option("--ci", "Exit with code 1 if quality gate fails")
305
328
  .option("--suite <type>", "Evaluation suite: retrieval (default) or ecosystem", "retrieval")
306
329
  .action(async (opts) => {
330
+ const verbose = program.opts().verbose;
331
+ const t0 = Date.now();
332
+ const tel = await CliTelemetry.fromConfigPath(opts.config);
333
+ tel.start();
307
334
  try {
308
335
  await runEvaluate({
309
336
  config: opts.config,
@@ -312,9 +339,12 @@ evalCmd
312
339
  thresholdMrr: opts.thresholdMrr,
313
340
  ci: opts.ci ?? false,
314
341
  suite: opts.suite === "ecosystem" ? "ecosystem" : undefined,
342
+ verbosity: verbose,
315
343
  });
344
+ tel.record("eval.run", Date.now() - t0, true);
316
345
  }
317
346
  catch (error) {
347
+ tel.record("eval.run", Date.now() - t0, false);
318
348
  handleError(error);
319
349
  }
320
350
  });
@@ -347,11 +377,13 @@ evalCmd
347
377
  .option("-c, --config <path>", "Path to config file", "./virage.config.json")
348
378
  .option("-d, --dataset <path>", "Eval dataset path", `${getVirageDir()}/eval-dataset.json`)
349
379
  .action(async (opts) => {
380
+ const verbose = program.opts().verbose;
350
381
  try {
351
382
  await runExperimentRun({
352
383
  name: opts.name,
353
384
  config: opts.config,
354
385
  dataset: opts.dataset,
386
+ verbosity: verbose,
355
387
  });
356
388
  }
357
389
  catch (error) {
@@ -362,8 +394,9 @@ evalCmd
362
394
  .command("list")
363
395
  .description("List saved evaluation runs")
364
396
  .action(async () => {
397
+ const verbose = program.opts().verbose;
365
398
  try {
366
- await runExperimentList();
399
+ await runExperimentList(verbose);
367
400
  }
368
401
  catch (error) {
369
402
  handleError(error);
@@ -375,10 +408,12 @@ evalCmd
375
408
  .requiredOption("--baseline <id>", "Baseline run name or id")
376
409
  .requiredOption("--candidate <id>", "Candidate run name or id")
377
410
  .action(async (opts) => {
411
+ const verbose = program.opts().verbose;
378
412
  try {
379
413
  await runExperimentCompare({
380
414
  baseline: opts.baseline,
381
415
  candidate: opts.candidate,
416
+ verbosity: verbose,
382
417
  });
383
418
  }
384
419
  catch (error) {
@@ -419,8 +454,13 @@ program
419
454
  .requiredOption("--output <path>", "Output archive path (e.g. ./archive.tar.gz)")
420
455
  .option("--database <path>", "Path to the LanceDB directory to pack (default: .virage/lancedb)")
421
456
  .action(async (cmdOpts) => {
457
+ const verbose = program.opts().verbose;
422
458
  try {
423
- await runPack({ output: cmdOpts.output, database: cmdOpts.database });
459
+ await runPack({
460
+ output: cmdOpts.output,
461
+ database: cmdOpts.database,
462
+ verbosity: verbose,
463
+ });
424
464
  }
425
465
  catch (error) {
426
466
  handleError(error);
@@ -433,11 +473,13 @@ viz
433
473
  .option("--output <path>", "Output HTML file", "umap.html")
434
474
  .option("--projection <type>", "Projection type: umap or tsne", "umap")
435
475
  .action(async (opts) => {
476
+ const verbose = program.opts().verbose;
436
477
  try {
437
478
  await runVizEmbeddings({
438
479
  dbPath: defaultVirageDb(),
439
480
  output: opts.output,
440
481
  projection: opts.projection,
482
+ verbosity: verbose,
441
483
  });
442
484
  }
443
485
  catch (error) {
@@ -449,8 +491,9 @@ chunks
449
491
  .command("report")
450
492
  .description("Show chunk cohesion report")
451
493
  .action(async () => {
494
+ const verbose = program.opts().verbose;
452
495
  try {
453
- await runChunksReport(defaultVirageDb());
496
+ await runChunksReport(defaultVirageDb(), verbose);
454
497
  }
455
498
  catch (error) {
456
499
  handleError(error);
@@ -486,11 +529,13 @@ benchmark
486
529
  .option("--samples <n>", "Number of latency samples", parseInt, 20)
487
530
  .option("--warmup <n>", "Number of warm-up runs", parseInt, 3)
488
531
  .action(async (opts) => {
532
+ const verbose = program.opts().verbose;
489
533
  try {
490
534
  await runBenchmarkEmbedder({
491
535
  config: opts.config,
492
536
  samples: opts.samples,
493
537
  warmup: opts.warmup,
538
+ verbosity: verbose,
494
539
  });
495
540
  }
496
541
  catch (error) {
@@ -503,8 +548,9 @@ store
503
548
  .description("Show vector index quality metrics")
504
549
  .option("-c, --config <path>", "Path to config file", "./virage.config.json")
505
550
  .action(async (opts) => {
551
+ const verbose = program.opts().verbose;
506
552
  try {
507
- await runStoreStats({ config: opts.config });
553
+ await runStoreStats({ config: opts.config, verbosity: verbose });
508
554
  }
509
555
  catch (error) {
510
556
  handleError(error);
@@ -516,10 +562,12 @@ store
516
562
  .option("-c, --config <path>", "Path to config file", "./virage.config.json")
517
563
  .option("--timeframe <hours>", "Timeframe in hours", parseInt, 24)
518
564
  .action(async (opts) => {
565
+ const verbose = program.opts().verbose;
519
566
  try {
520
567
  await runStorePerf({
521
568
  config: opts.config,
522
569
  timeframeHours: opts.timeframe,
570
+ verbosity: verbose,
523
571
  });
524
572
  }
525
573
  catch (error) {
@@ -533,8 +581,9 @@ telemetry
533
581
  .command("status")
534
582
  .description("Show telemetry status, buffer size, and endpoint health")
535
583
  .action(async () => {
584
+ const verbose = program.opts().verbose;
536
585
  try {
537
- await runTelemetryStatus();
586
+ await runTelemetryStatus(verbose);
538
587
  }
539
588
  catch (error) {
540
589
  handleError(error);
@@ -544,8 +593,9 @@ telemetry
544
593
  .command("on")
545
594
  .description("Enable telemetry collection")
546
595
  .action(async () => {
596
+ const verbose = program.opts().verbose;
547
597
  try {
548
- await runTelemetryOn();
598
+ await runTelemetryOn(verbose);
549
599
  }
550
600
  catch (error) {
551
601
  handleError(error);
@@ -556,12 +606,13 @@ telemetry
556
606
  .description("Disable telemetry collection and clear local buffer")
557
607
  .option("--tiers <name>", "Disable only a specific tier (e.g. explicit_feedback)")
558
608
  .action(async (opts) => {
609
+ const verbose = program.opts().verbose;
559
610
  try {
560
- await runTelemetryOff({ tiers: opts.tiers });
611
+ await runTelemetryOff({ tiers: opts.tiers }, verbose);
561
612
  }
562
613
  catch (error) {
563
614
  if (error.name === "ExitPromptError") {
564
- console.log("\nCancelled.");
615
+ createOut(0).dim("\nCancelled.");
565
616
  process.exit(0);
566
617
  }
567
618
  handleError(error);
@@ -571,12 +622,13 @@ telemetry
571
622
  .command("init")
572
623
  .description("Interactive telemetry configuration wizard")
573
624
  .action(async () => {
625
+ const verbose = program.opts().verbose;
574
626
  try {
575
- await runTelemetryInit();
627
+ await runTelemetryInit(verbose);
576
628
  }
577
629
  catch (error) {
578
630
  if (error.name === "ExitPromptError") {
579
- console.log("\nCancelled.");
631
+ createOut(0).dim("\nCancelled.");
580
632
  process.exit(0);
581
633
  }
582
634
  handleError(error);
@@ -586,8 +638,9 @@ telemetry
586
638
  .command("preview")
587
639
  .description("Preview the telemetry payload that would be sent (no transmission)")
588
640
  .action(async () => {
641
+ const verbose = program.opts().verbose;
589
642
  try {
590
- await runTelemetryPreview();
643
+ await runTelemetryPreview(verbose);
591
644
  }
592
645
  catch (error) {
593
646
  handleError(error);
@@ -598,8 +651,9 @@ telemetry
598
651
  .description("Flush buffered telemetry to the configured endpoint")
599
652
  .option("--dry-run", "Preview payload without transmitting", false)
600
653
  .action(async (opts) => {
654
+ const verbose = program.opts().verbose;
601
655
  try {
602
- await runTelemetryFlush({ dryRun: opts.dryRun });
656
+ await runTelemetryFlush({ dryRun: opts.dryRun }, verbose);
603
657
  }
604
658
  catch (error) {
605
659
  handleError(error);
@@ -618,6 +672,10 @@ program
618
672
  .option("--hybrid-alpha <number>", "Hybrid blend: 0 = pure BM25, 1 = pure vector (default: 0.6)", (v) => parseFloat(v))
619
673
  .option("--rerank", "Re-rank results with a cross-encoder (requires @vivantel/virage-reranker-cross-encoder)", false)
620
674
  .action(async (queryText, cmdOpts) => {
675
+ const verbose = program.opts().verbose;
676
+ const t0 = Date.now();
677
+ const tel = await CliTelemetry.fromConfigPath(cmdOpts.config);
678
+ tel.start();
621
679
  try {
622
680
  await runQuery(queryText, {
623
681
  config: cmdOpts.config,
@@ -627,9 +685,12 @@ program
627
685
  hybrid: cmdOpts.hybrid || undefined,
628
686
  hybridAlpha: cmdOpts.hybridAlpha,
629
687
  rerank: cmdOpts.rerank || undefined,
688
+ verbosity: verbose,
630
689
  });
690
+ tel.record("query", Date.now() - t0, true);
631
691
  }
632
692
  catch (error) {
693
+ tel.record("query", Date.now() - t0, false);
633
694
  handleError(error);
634
695
  }
635
696
  });
@@ -640,10 +701,12 @@ program
640
701
  .option("--uninstall", "Remove Virage-added hooks", false)
641
702
  .option("--git-dir <path>", "Path to .git directory (defaults to ./.git)")
642
703
  .action(async (cmdOpts) => {
704
+ const verbose = program.opts().verbose;
643
705
  try {
644
706
  await runInstallHooks({
645
707
  uninstall: cmdOpts.uninstall,
646
708
  gitDir: cmdOpts.gitDir,
709
+ verbosity: verbose,
647
710
  });
648
711
  }
649
712
  catch (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"virage.js","sourceRoot":"","sources":["../../src/bin/virage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"virage.js","sourceRoot":"","sources":["../../src/bin/virage.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ export interface BenchmarkEmbedderOptions {
2
2
  config: string;
3
3
  samples: number;
4
4
  warmup: number;
5
+ verbosity: number;
5
6
  }
6
7
  export declare function runBenchmarkEmbedder(opts: BenchmarkEmbedderOptions): Promise<void>;
7
8
  //# sourceMappingURL=benchmark.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"benchmark.d.ts","sourceRoot":"","sources":["../../src/cli/benchmark.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,wBAAwB;IACvC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAChB;AAeD,wBAAsB,oBAAoB,CACxC,IAAI,EAAE,wBAAwB,GAC7B,OAAO,CAAC,IAAI,CAAC,CAgFf"}
1
+ {"version":3,"file":"benchmark.d.ts","sourceRoot":"","sources":["../../src/cli/benchmark.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,wBAAwB;IACvC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACnB;AAeD,wBAAsB,oBAAoB,CACxC,IAAI,EAAE,wBAAwB,GAC7B,OAAO,CAAC,IAAI,CAAC,CAwFf"}
@@ -1,4 +1,6 @@
1
1
  import { loadConfig } from "@vivantel/virage-core";
2
+ import { createOut } from "../output.js";
3
+ import { withSpinner } from "../spinner.js";
2
4
  const SAMPLE_TEXTS = [
3
5
  "What is the capital of France?",
4
6
  "Explain the concept of machine learning in simple terms.",
@@ -11,67 +13,63 @@ function percentile(sorted, p) {
11
13
  return sorted[Math.min(idx, sorted.length - 1)];
12
14
  }
13
15
  export async function runBenchmarkEmbedder(opts) {
16
+ const out = createOut(opts.verbosity);
14
17
  const cfg = await loadConfig(opts.config);
15
18
  const embedder = cfg.embedder;
16
- console.log(`\nšŸ”¬ Benchmarking embedder: ${embedder.name}`);
19
+ out.section(`šŸ”¬ Benchmarking embedder: ${embedder.name}`);
17
20
  if (embedder.model)
18
- console.log(` Model : ${embedder.model}`);
19
- console.log(` Config : ${opts.config}`);
20
- console.log(` Samples: ${opts.samples} Warmup: ${opts.warmup}\n`);
21
- // Build sample texts by cycling through SAMPLE_TEXTS
21
+ out.dim(` Model : ${embedder.model}`);
22
+ out.dim(` Config : ${opts.config}`);
23
+ out.dim(` Samples: ${opts.samples} Warmup: ${opts.warmup}`);
22
24
  const texts = Array.from({ length: opts.samples }, (_, i) => SAMPLE_TEXTS[i % SAMPLE_TEXTS.length]);
23
- // Warm-up
24
- console.log(`ā³ Warming up (${opts.warmup} run${opts.warmup !== 1 ? "s" : ""})...`);
25
- for (let i = 0; i < opts.warmup; i++) {
26
- await embedder.embed(SAMPLE_TEXTS[0]);
27
- }
28
- // Latency phase — embed each text individually
29
- console.log(`ā± Running ${opts.samples} individual embeds...`);
25
+ await withSpinner(`Warm-up (${opts.warmup} run${opts.warmup !== 1 ? "s" : ""})`, async () => {
26
+ for (let i = 0; i < opts.warmup; i++) {
27
+ await embedder.embed(SAMPLE_TEXTS[0]);
28
+ }
29
+ }, 0);
30
30
  const latencies = [];
31
- for (const text of texts) {
32
- const t0 = performance.now();
33
- await embedder.embed(text);
34
- latencies.push(performance.now() - t0);
35
- }
31
+ await withSpinner(`Running ${opts.samples} individual embeds`, async () => {
32
+ for (const text of texts) {
33
+ const t0 = performance.now();
34
+ await embedder.embed(text);
35
+ latencies.push(performance.now() - t0);
36
+ }
37
+ }, 0);
36
38
  latencies.sort((a, b) => a - b);
37
39
  const p50 = percentile(latencies, 50);
38
40
  const p95 = percentile(latencies, 95);
39
41
  const p99 = percentile(latencies, 99);
40
42
  const singleThroughput = 1000 / p50;
41
- // Batch phase (conditional)
42
43
  let batchTotalMs = null;
43
44
  let batchPerItemMs = null;
44
45
  if (typeof embedder.embedBatch === "function") {
45
- console.log(`šŸ“¦ Running batch embed (${opts.samples} items)...`);
46
- const t0 = performance.now();
47
- await embedder.embedBatch(texts);
48
- batchTotalMs = performance.now() - t0;
49
- batchPerItemMs = batchTotalMs / opts.samples;
46
+ await withSpinner(`Running batch embed (${opts.samples} items)`, async () => {
47
+ const t0 = performance.now();
48
+ await embedder.embedBatch(texts);
49
+ batchTotalMs = performance.now() - t0;
50
+ batchPerItemMs = batchTotalMs / opts.samples;
51
+ }, 0);
50
52
  }
51
- // Get dimensions from a single embed if not exposed directly
52
53
  const dims = embedder.dimensions > 0
53
54
  ? embedder.dimensions
54
55
  : (await embedder.embed(SAMPLE_TEXTS[0])).length;
55
- // Report
56
- const line = "─".repeat(46);
57
- console.log(`\nšŸ“Š Benchmark Results`);
58
- console.log(line);
59
- console.log(` Provider : ${embedder.name}`);
60
- console.log(` Model : ${embedder.model ?? "(not specified)"}`);
61
- console.log(` Dimensions : ${dims}`);
62
- console.log(line);
63
- console.log(` Single-embed latency`);
64
- console.log(` p50 : ${p50.toFixed(1)} ms`);
65
- console.log(` p95 : ${p95.toFixed(1)} ms`);
66
- console.log(` p99 : ${p99.toFixed(1)} ms`);
67
- console.log(` throughput (est) : ${singleThroughput.toFixed(1)} embeds/sec`);
56
+ out.section("šŸ“Š Benchmark Results");
57
+ out.info(` Provider : ${embedder.name}`);
58
+ out.info(` Model : ${embedder.model ?? "(not specified)"}`);
59
+ out.info(` Dimensions : ${dims}`);
60
+ out.divider();
61
+ out.info(` Single-embed latency`);
62
+ out.info(` p50 : ${p50.toFixed(1)} ms`);
63
+ out.info(` p95 : ${p95.toFixed(1)} ms`);
64
+ out.info(` p99 : ${p99.toFixed(1)} ms`);
65
+ out.info(` throughput (est) : ${singleThroughput.toFixed(1)} embeds/sec`);
68
66
  if (batchPerItemMs !== null && batchTotalMs !== null) {
69
- console.log(line);
70
- console.log(` Batch-embed (${opts.samples} items)`);
71
- console.log(` total : ${batchTotalMs.toFixed(1)} ms`);
72
- console.log(` per-item : ${batchPerItemMs.toFixed(1)} ms`);
73
- console.log(` throughput (est) : ${(1000 / batchPerItemMs).toFixed(1)} embeds/sec`);
67
+ out.divider();
68
+ out.info(` Batch-embed (${opts.samples} items)`);
69
+ out.info(` total : ${batchTotalMs.toFixed(1)} ms`);
70
+ out.info(` per-item : ${batchPerItemMs.toFixed(1)} ms`);
71
+ out.info(` throughput (est) : ${(1000 / batchPerItemMs).toFixed(1)} embeds/sec`);
74
72
  }
75
- console.log(line);
73
+ out.divider();
76
74
  }
77
75
  //# sourceMappingURL=benchmark.js.map