@vivantel/virage-cli 0.1.83 → 0.1.86

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 (97) 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/output.d.ts +13 -9
  75. package/dist/output.d.ts.map +1 -1
  76. package/dist/output.js +28 -10
  77. package/dist/output.js.map +1 -1
  78. package/dist/progress/progress-bar.d.ts +1 -12
  79. package/dist/progress/progress-bar.d.ts.map +1 -1
  80. package/dist/progress/progress-bar.js +2 -14
  81. package/dist/progress/progress-bar.js.map +1 -1
  82. package/dist/spinner.d.ts +2 -0
  83. package/dist/spinner.d.ts.map +1 -0
  84. package/dist/spinner.js +65 -0
  85. package/dist/spinner.js.map +1 -0
  86. package/package.json +2 -2
  87. package/dist/dashboard-ui/assets/InterVariable-CWi-zmRD.woff2 +0 -0
  88. package/dist/dashboard-ui/assets/InterVariable-Italic-d6KXgdvN.woff2 +0 -0
  89. package/dist/dashboard-ui/assets/auto-DnuEdD6h.js +0 -3
  90. package/dist/dashboard-ui/assets/index-BKD-_hV9.js +0 -1434
  91. package/dist/dashboard-ui/assets/index-DovqIlG8.css +0 -2
  92. package/dist/dashboard-ui/assets/primeicons-C6QP2o4f.woff2 +0 -0
  93. package/dist/dashboard-ui/assets/primeicons-DMOk5skT.eot +0 -0
  94. package/dist/dashboard-ui/assets/primeicons-Dr5RGzOO.svg +0 -345
  95. package/dist/dashboard-ui/assets/primeicons-MpK4pl85.ttf +0 -0
  96. package/dist/dashboard-ui/assets/primeicons-WjwUDZjB.woff +0 -0
  97. package/dist/dashboard-ui/index.html +0 -13
@@ -1,5 +1,5 @@
1
1
  import { VirageDb, defaultVirageDb } from "@vivantel/virage-core";
2
- import { out } from "../output.js";
2
+ import { createOut } from "../output.js";
3
3
  function percentile(sorted, p) {
4
4
  if (sorted.length === 0)
5
5
  return 0;
@@ -11,7 +11,8 @@ function fmt(ms) {
11
11
  return `${ms}ms`;
12
12
  return `${(ms / 1000).toFixed(2)}s`;
13
13
  }
14
- export async function runReport(dbPath = defaultVirageDb()) {
14
+ export async function runReport(dbPath = defaultVirageDb(), verbosity = 0) {
15
+ const out = createOut(verbosity);
15
16
  let db;
16
17
  let records;
17
18
  try {
@@ -27,58 +28,55 @@ export async function runReport(dbPath = defaultVirageDb()) {
27
28
  out.dim("No pipeline runs found in virage.db.");
28
29
  return;
29
30
  }
30
- // Sort by runAt
31
31
  records.sort((a, b) => a.runAt.localeCompare(b.runAt));
32
32
  const latest = records[records.length - 1];
33
33
  out.section(`📊 Observability Report (${records.length} runs)`);
34
- out.sep();
35
- console.log(` Latest run : ${latest.runAt}`);
36
- console.log(` Total duration : ${fmt(latest.durationMs)}`);
34
+ out.info(` Latest run : ${latest.runAt}`);
35
+ out.info(` Total duration : ${fmt(latest.durationMs)}`);
37
36
  const s = latest.stages;
38
37
  if (s.gitTracking) {
39
- console.log(`\n Git tracking : ${fmt(s.gitTracking.durationMs)}`);
40
- console.log(` Files scanned : ${s.gitTracking.filesScanned}`);
41
- console.log(` To process : ${s.gitTracking.toProcess}`);
42
- console.log(` To delete : ${s.gitTracking.toDelete}`);
38
+ out.info(`\n Git tracking : ${fmt(s.gitTracking.durationMs)}`);
39
+ out.info(` Files scanned : ${s.gitTracking.filesScanned}`);
40
+ out.info(` To process : ${s.gitTracking.toProcess}`);
41
+ out.info(` To delete : ${s.gitTracking.toDelete}`);
43
42
  }
44
43
  if (s.chunking) {
45
- console.log(`\n Chunking : ${fmt(s.chunking.durationMs)}`);
46
- console.log(` Files processed : ${s.chunking.filesProcessed}`);
47
- console.log(` Chunks generated: ${s.chunking.chunksGenerated}`);
44
+ out.info(`\n Chunking : ${fmt(s.chunking.durationMs)}`);
45
+ out.info(` Files processed : ${s.chunking.filesProcessed}`);
46
+ out.info(` Chunks generated: ${s.chunking.chunksGenerated}`);
48
47
  if (s.chunking.errors > 0) {
49
- console.log(` Errors : ${s.chunking.errors}`);
48
+ out.warn(` Errors : ${s.chunking.errors}`);
50
49
  }
51
50
  }
52
51
  if (s.embedding) {
53
52
  const e = s.embedding;
54
53
  const total = e.chunksEmbedded + e.chunksSkipped;
55
54
  const hitRate = total > 0 ? e.chunksSkipped / total : 0;
56
- console.log(`\n Embedding : ${fmt(e.durationMs)}`);
57
- console.log(` Chunks embedded : ${e.chunksEmbedded}`);
58
- console.log(` Chunks skipped : ${e.chunksSkipped} (cache hit rate: ${(hitRate * 100).toFixed(1)}%)`);
55
+ out.info(`\n Embedding : ${fmt(e.durationMs)}`);
56
+ out.info(` Chunks embedded : ${e.chunksEmbedded}`);
57
+ out.info(` Chunks skipped : ${e.chunksSkipped} (cache hit rate: ${(hitRate * 100).toFixed(1)}%)`);
59
58
  if (e.rateLimitEvents !== undefined && e.rateLimitEvents > 0) {
60
- console.log(` Rate limit events: ${e.rateLimitEvents}`);
59
+ out.warn(` Rate limit events: ${e.rateLimitEvents}`);
61
60
  }
62
61
  if (e.latencySamples && e.latencySamples.length > 0) {
63
62
  const sorted = [...e.latencySamples].sort((a, b) => a - b);
64
- console.log(` API latency p50 : ${fmt(percentile(sorted, 50))}`);
65
- console.log(` API latency p95 : ${fmt(percentile(sorted, 95))}`);
66
- console.log(` API latency p99 : ${fmt(percentile(sorted, 99))}`);
63
+ out.info(` API latency p50 : ${fmt(percentile(sorted, 50))}`);
64
+ out.info(` API latency p95 : ${fmt(percentile(sorted, 95))}`);
65
+ out.info(` API latency p99 : ${fmt(percentile(sorted, 99))}`);
67
66
  }
68
67
  }
69
68
  if (s.upload) {
70
- console.log(`\n Upload : ${fmt(s.upload.durationMs)}`);
71
- console.log(` Uploaded : ${s.upload.uploaded}`);
72
- console.log(` Deleted : ${s.upload.deleted}`);
69
+ out.info(`\n Upload : ${fmt(s.upload.durationMs)}`);
70
+ out.info(` Uploaded : ${s.upload.uploaded}`);
71
+ out.info(` Deleted : ${s.upload.deleted}`);
73
72
  }
74
- // Trend across all runs
75
73
  if (records.length > 1) {
76
74
  const durations = records.map((r) => r.durationMs);
77
75
  const avgDuration = durations.reduce((s, v) => s + v, 0) / durations.length;
78
- console.log(`\n Average run time : ${fmt(Math.round(avgDuration))}`);
79
- console.log(` Fastest run : ${fmt(Math.min(...durations))}`);
80
- console.log(` Slowest run : ${fmt(Math.max(...durations))}`);
76
+ out.info(`\n Average run time : ${fmt(Math.round(avgDuration))}`);
77
+ out.info(` Fastest run : ${fmt(Math.min(...durations))}`);
78
+ out.info(` Slowest run : ${fmt(Math.max(...durations))}`);
81
79
  }
82
- out.sep();
80
+ out.divider();
83
81
  }
84
82
  //# sourceMappingURL=report.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"report.js","sourceRoot":"","sources":["../../src/cli/report.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"report.js","sourceRoot":"","sources":["../../src/cli/report.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,11 @@
1
1
  export interface StoreStatsOptions {
2
2
  config: string;
3
+ verbosity: number;
3
4
  }
4
5
  export interface StorePerfOptions {
5
6
  config: string;
6
7
  timeframeHours: number;
8
+ verbosity: number;
7
9
  }
8
10
  export declare function runStoreStats(opts: StoreStatsOptions): Promise<void>;
9
11
  export declare function runStorePerf(opts: StorePerfOptions): Promise<void>;
@@ -1 +1 @@
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"}
1
+ {"version":3,"file":"store-cmd.d.ts","sourceRoot":"","sources":["../../src/cli/store-cmd.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,wBAAsB,aAAa,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAsC1E;AAED,wBAAsB,YAAY,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CA0CxE"}
@@ -1,50 +1,54 @@
1
1
  import { loadConfig } from "@vivantel/virage-core";
2
+ import { createOut } from "../output.js";
3
+ import { withSpinner } from "../spinner.js";
2
4
  export async function runStoreStats(opts) {
3
- console.log("📂 Loading config...");
4
- const cfg = await loadConfig(opts.config);
5
+ const out = createOut(opts.verbosity);
6
+ const cfg = await withSpinner("Loading config", () => loadConfig(opts.config));
5
7
  const store = cfg.vectorStore;
6
8
  if (!store.getIndexStats) {
7
- console.error(`❌ The configured vector store "${store.name}" does not support index stats.`);
9
+ out.error(`The configured vector store "${store.name}" does not support index stats.`);
8
10
  process.exit(1);
9
11
  }
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:");
12
+ const stats = await withSpinner("Fetching index stats", async () => {
13
+ await store.initialize();
14
+ return store.getIndexStats();
15
+ });
16
+ out.section("📊 Vector Index Stats");
17
+ out.info(` Total vectors : ${stats.totalVectors.toLocaleString()}`);
18
+ out.info(` Index type : ${stats.indexType}`);
19
+ out.info(` ANN recall@10 : ${stats.annRecallAt10 >= 0 ? (stats.annRecallAt10 * 100).toFixed(1) + "%" : "N/A"}`);
20
+ out.info(` Index age : ${stats.indexAgeHours >= 0 ? stats.indexAgeHours + " hours" : "unknown"}`);
21
+ out.info(` Dead tuple frac. : ${(stats.deadTupleFraction * 100).toFixed(1)}%`);
22
+ out.divider();
23
+ out.info("Suggestions:");
21
24
  for (const s of stats.suggestions) {
22
- console.log(` • ${s}`);
25
+ out.info(` • ${s}`);
23
26
  }
24
- console.log("─".repeat(40));
27
+ out.divider();
25
28
  }
26
29
  export async function runStorePerf(opts) {
27
- console.log("📂 Loading config...");
28
- const cfg = await loadConfig(opts.config);
30
+ const out = createOut(opts.verbosity);
31
+ const cfg = await withSpinner("Loading config", () => loadConfig(opts.config));
29
32
  const store = cfg.vectorStore;
30
33
  if (!store.getQueryPerfReport) {
31
- console.error(`❌ The configured vector store "${store.name}" does not support query performance reports.`);
34
+ out.error(`The configured vector store "${store.name}" does not support query performance reports.`);
32
35
  process.exit(1);
33
36
  }
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}`);
37
+ const report = await withSpinner(`Fetching query perf for last ${opts.timeframeHours}h`, async () => {
38
+ await store.initialize();
39
+ return store.getQueryPerfReport(opts.timeframeHours);
40
+ });
41
+ out.section("📊 Query Performance Report");
42
+ out.info(` Timeframe : last ${report.timeframeHours}h`);
43
+ out.info(` p50 latency : ${report.p50LatencyMs >= 0 ? report.p50LatencyMs + " ms" : "N/A"}`);
44
+ out.info(` p95 latency : ${report.p95LatencyMs >= 0 ? report.p95LatencyMs + " ms" : "N/A"}`);
45
+ out.info(` p99 latency : ${report.p99LatencyMs >= 0 ? report.p99LatencyMs + " ms" : "N/A"}`);
46
+ out.info(` Slow queries : ${report.slowQueryCount >= 0 ? report.slowQueryCount : "N/A"}`);
47
+ if (report.suggestedIndexes.length > 0) {
48
+ out.divider();
49
+ for (const s of report.suggestedIndexes)
50
+ out.info(` ${s}`);
47
51
  }
48
- console.log("─".repeat(40));
52
+ out.divider();
49
53
  }
50
54
  //# sourceMappingURL=store-cmd.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"store-cmd.js","sourceRoot":"","sources":["../../src/cli/store-cmd.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"store-cmd.js","sourceRoot":"","sources":["../../src/cli/store-cmd.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,11 @@
1
- export declare function runTelemetryStatus(): Promise<void>;
2
- export declare function runTelemetryOn(): Promise<void>;
1
+ export declare function runTelemetryStatus(verbosity?: number): Promise<void>;
2
+ export declare function runTelemetryOn(verbosity?: number): Promise<void>;
3
3
  export declare function runTelemetryOff(opts: {
4
4
  tiers?: string;
5
- }): Promise<void>;
6
- export declare function runTelemetryInit(): Promise<void>;
7
- export declare function runTelemetryPreview(): Promise<void>;
5
+ }, verbosity?: number): Promise<void>;
6
+ export declare function runTelemetryInit(verbosity?: number): Promise<void>;
7
+ export declare function runTelemetryPreview(verbosity?: number): Promise<void>;
8
8
  export declare function runTelemetryFlush(opts: {
9
9
  dryRun: boolean;
10
- }): Promise<void>;
10
+ }, verbosity?: number): Promise<void>;
11
11
  //# sourceMappingURL=telemetry.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"telemetry.d.ts","sourceRoot":"","sources":["../../src/cli/telemetry.ts"],"names":[],"mappings":"AAiDA,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC,CAkDxD;AAED,wBAAsB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAMpD;AAED,wBAAsB,eAAe,CAAC,IAAI,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAmC7E;AAID,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC,CA4FtD;AAED,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC,CAwBzD;AAED,wBAAsB,iBAAiB,CAAC,IAAI,EAAE;IAC5C,MAAM,EAAE,OAAO,CAAC;CACjB,GAAG,OAAO,CAAC,IAAI,CAAC,CA4ChB"}
1
+ {"version":3,"file":"telemetry.d.ts","sourceRoot":"","sources":["../../src/cli/telemetry.ts"],"names":[],"mappings":"AAmDA,wBAAsB,kBAAkB,CAAC,SAAS,SAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAwDrE;AAED,wBAAsB,cAAc,CAAC,SAAS,SAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAOjE;AAED,wBAAsB,eAAe,CACnC,IAAI,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,EACxB,SAAS,SAAI,GACZ,OAAO,CAAC,IAAI,CAAC,CAmCf;AAID,wBAAsB,gBAAgB,CAAC,SAAS,SAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CA6FnE;AAED,wBAAsB,mBAAmB,CAAC,SAAS,SAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CA0BtE;AAED,wBAAsB,iBAAiB,CACrC,IAAI,EAAE;IAAE,MAAM,EAAE,OAAO,CAAA;CAAE,EACzB,SAAS,SAAI,GACZ,OAAO,CAAC,IAAI,CAAC,CA8Cf"}
@@ -3,6 +3,8 @@ import { existsSync } from "fs";
3
3
  import { resolve } from "path";
4
4
  import { input, confirm, select } from "@inquirer/prompts";
5
5
  import { VirageDb, defaultVirageDb, TelemetryFlusher, DEFAULT_TELEMETRY_CONFIG, } from "@vivantel/virage-core";
6
+ import { createOut } from "../output.js";
7
+ import { withSpinner } from "../spinner.js";
6
8
  const CONFIG_FILE = "./virage.config.json";
7
9
  async function readConfig() {
8
10
  try {
@@ -34,33 +36,36 @@ function getTelemetryConfig(cfg) {
34
36
  },
35
37
  };
36
38
  }
37
- export async function runTelemetryStatus() {
39
+ export async function runTelemetryStatus(verbosity = 0) {
40
+ const out = createOut(verbosity);
38
41
  const cfg = await readConfig();
39
42
  const tel = getTelemetryConfig(cfg);
40
- console.log("\n📊 Telemetry Status");
41
- console.log("".repeat(40));
42
- console.log(` Enabled : ${tel.enabled ? "✅ yes" : "❌ no"}`);
43
- console.log(` Tier 1 : ${tel.tiers.implicit ? "✅ on" : "❌ off"} (search quality signals)`);
44
- console.log(` Tier 2 : ${tel.tiers.explicit_feedback.enabled ? "✅ on" : "❌ off"} (rag_feedback tool)`);
43
+ out.section("📊 Telemetry Status");
44
+ out.info(` Enabled : ${tel.enabled ? "✅ yes" : "❌ no"}`);
45
+ out.info(` Tier 1 : ${tel.tiers.implicit ? "✅ on" : "❌ off"} (search quality signals)`);
46
+ out.info(` Tier 2 : ${tel.tiers.explicit_feedback.enabled ? "✅ on" : "❌ off"} (rag_feedback tool)`);
45
47
  if (tel.endpoint) {
46
- console.log(` Endpoint : ${tel.endpoint}`);
47
- // Quick health check
48
- try {
48
+ out.info(` Endpoint : ${tel.endpoint}`);
49
+ const reachable = await withSpinner("Checking endpoint", async () => {
49
50
  const controller = new AbortController();
50
51
  const timer = setTimeout(() => controller.abort(), 5000);
51
- const res = await fetch(tel.endpoint, {
52
- method: "HEAD",
53
- signal: controller.signal,
54
- });
55
- clearTimeout(timer);
56
- console.log(` Endpoint : ${res.ok ? "✅ reachable" : "⚠️ returned " + String(res.status)}`);
57
- }
58
- catch {
59
- console.log(" Endpoint : ⚠️ unreachable (5s timeout)");
60
- }
52
+ try {
53
+ const res = await fetch(tel.endpoint, {
54
+ method: "HEAD",
55
+ signal: controller.signal,
56
+ });
57
+ clearTimeout(timer);
58
+ return res.ok ? "✅ reachable" : `⚠️ returned ${String(res.status)}`;
59
+ }
60
+ catch {
61
+ clearTimeout(timer);
62
+ return "⚠️ unreachable (5s timeout)";
63
+ }
64
+ }, 500);
65
+ out.info(` Endpoint : ${reachable}`);
61
66
  }
62
67
  else {
63
- console.log(" Endpoint : not configured (local-only)");
68
+ out.info(" Endpoint : not configured (local-only)");
64
69
  }
65
70
  const dbPath = defaultVirageDb();
66
71
  if (existsSync(dbPath)) {
@@ -69,26 +74,28 @@ export async function runTelemetryStatus() {
69
74
  const bufferBytes = db.getTelemetryBufferSizeBytes();
70
75
  const unflushed = db.getUnflushedSessions().length;
71
76
  db.close();
72
- console.log(` Buffer size : ~${(bufferBytes / 1024).toFixed(1)} KB`);
73
- console.log(` Unflushed : ${unflushed} session(s)`);
77
+ out.info(` Buffer size : ~${(bufferBytes / 1024).toFixed(1)} KB`);
78
+ out.info(` Unflushed : ${unflushed} session(s)`);
74
79
  }
75
80
  catch {
76
- console.log(" Buffer size : (could not open DB)");
81
+ out.dim(" Buffer size : (could not open DB)");
77
82
  }
78
83
  }
79
84
  else {
80
- console.log(" Buffer size : (no DB yet)");
85
+ out.dim(" Buffer size : (no DB yet)");
81
86
  }
82
- console.log("─".repeat(40));
87
+ out.divider();
83
88
  }
84
- export async function runTelemetryOn() {
89
+ export async function runTelemetryOn(verbosity = 0) {
90
+ const out = createOut(verbosity);
85
91
  const cfg = await readConfig();
86
92
  const existing = cfg["telemetry"] ?? {};
87
93
  cfg["telemetry"] = { ...existing, enabled: true };
88
94
  await writeConfig(cfg);
89
- console.log("Telemetry enabled. Run 'virage telemetry status' to verify.");
95
+ out.success("Telemetry enabled. Run 'virage telemetry status' to verify.");
90
96
  }
91
- export async function runTelemetryOff(opts) {
97
+ export async function runTelemetryOff(opts, verbosity = 0) {
98
+ const out = createOut(verbosity);
92
99
  const cfg = await readConfig();
93
100
  const existing = cfg["telemetry"] ?? {};
94
101
  if (opts.tiers === "explicit_feedback") {
@@ -102,31 +109,31 @@ export async function runTelemetryOff(opts) {
102
109
  },
103
110
  };
104
111
  await writeConfig(cfg);
105
- console.log("Tier 2 (rag_feedback) disabled.");
112
+ out.success("Tier 2 (rag_feedback) disabled.");
106
113
  return;
107
114
  }
108
115
  cfg["telemetry"] = { ...existing, enabled: false };
109
116
  await writeConfig(cfg);
110
- // Clear buffered telemetry
111
117
  const dbPath = defaultVirageDb();
112
118
  if (existsSync(dbPath)) {
113
119
  try {
114
120
  const db = new VirageDb(dbPath);
115
121
  db.clearTelemetryData();
116
122
  db.close();
117
- console.log("🗑️ Local telemetry buffer cleared.");
123
+ out.info("Local telemetry buffer cleared.");
118
124
  }
119
125
  catch {
120
- console.warn("⚠️ Could not clear telemetry buffer (DB open elsewhere?)");
126
+ out.warn("Could not clear telemetry buffer (DB open elsewhere?)");
121
127
  }
122
128
  }
123
- console.log("Telemetry disabled.");
129
+ out.success("Telemetry disabled.");
124
130
  }
125
131
  const COMMUNITY_ENDPOINT = "https://telemetry.virage.vivantel.dev/ingest";
126
- export async function runTelemetryInit() {
132
+ export async function runTelemetryInit(verbosity = 0) {
133
+ const out = createOut(verbosity);
127
134
  const cfg = await readConfig();
128
135
  const existing = getTelemetryConfig(cfg);
129
- console.log("\n🔧 Telemetry setup\n");
136
+ out.section("🔧 Telemetry setup");
130
137
  const endpointChoice = await select({
131
138
  message: "Telemetry endpoint:",
132
139
  choices: [
@@ -198,18 +205,19 @@ export async function runTelemetryInit() {
198
205
  };
199
206
  cfg["telemetry"] = updated;
200
207
  await writeConfig(cfg);
201
- console.log(`\n✅ Telemetry configured in ${resolve(CONFIG_FILE)}`);
208
+ out.success(`Telemetry configured in ${resolve(CONFIG_FILE)}`);
202
209
  if (enableTier2) {
203
- console.log("\nℹ️ Tier 2 disclosure: Claude will call rag_feedback on " +
210
+ out.info("\nTier 2 disclosure: Claude will call rag_feedback on " +
204
211
  `~${Math.round(samplingRate * 100)}% of searches.\n` +
205
212
  " Always-on for anomalies (0 results or >10 results).\n" +
206
213
  ` Capped at 20 calls/session (~${updated.tiers.explicit_feedback.max_token_budget_percent}% of token budget).\n`);
207
214
  }
208
215
  }
209
- export async function runTelemetryPreview() {
216
+ export async function runTelemetryPreview(verbosity = 0) {
217
+ const out = createOut(verbosity);
210
218
  const dbPath = defaultVirageDb();
211
219
  if (!existsSync(dbPath)) {
212
- console.log("ℹ️ No virage.db found. Run the MCP server first.");
220
+ out.info("No virage.db found. Run the MCP server first.");
213
221
  return;
214
222
  }
215
223
  const cfg = await readConfig();
@@ -218,51 +226,53 @@ export async function runTelemetryPreview() {
218
226
  try {
219
227
  const unflushed = db.getUnflushedSessions();
220
228
  if (unflushed.length === 0) {
221
- console.log("ℹ️ No unflushed sessions to preview.");
229
+ out.info("No unflushed sessions to preview.");
222
230
  return;
223
231
  }
224
232
  const latest = unflushed[unflushed.length - 1];
225
233
  const flusher = new TelemetryFlusher(db, tel);
226
234
  const payload = flusher.buildSessionSummaryPayload(latest.id);
235
+ // Raw JSON output — intentional console.log for machine-readable stdout
227
236
  console.log(JSON.stringify(payload, null, 2));
228
237
  }
229
238
  finally {
230
239
  db.close();
231
240
  }
232
241
  }
233
- export async function runTelemetryFlush(opts) {
242
+ export async function runTelemetryFlush(opts, verbosity = 0) {
243
+ const out = createOut(verbosity);
234
244
  if (opts.dryRun) {
235
- await runTelemetryPreview();
245
+ await runTelemetryPreview(verbosity);
236
246
  return;
237
247
  }
238
248
  const dbPath = defaultVirageDb();
239
249
  if (!existsSync(dbPath)) {
240
- console.log("ℹ️ No virage.db found. Nothing to flush.");
250
+ out.info("No virage.db found. Nothing to flush.");
241
251
  return;
242
252
  }
243
253
  const cfg = await readConfig();
244
254
  const tel = getTelemetryConfig(cfg);
245
255
  if (!tel.endpoint) {
246
- console.log("ℹ️ No endpoint configured. Use 'virage telemetry init' to set one.");
256
+ out.info("No endpoint configured. Use 'virage telemetry init' to set one.");
247
257
  return;
248
258
  }
249
259
  const db = new VirageDb(dbPath);
250
260
  try {
251
261
  const unflushed = db.getUnflushedSessions();
252
262
  if (unflushed.length === 0) {
253
- console.log("ℹ️ Nothing to flush.");
263
+ out.info("Nothing to flush.");
254
264
  return;
255
265
  }
256
266
  const flusher = new TelemetryFlusher(db, tel);
257
267
  let succeeded = 0;
258
268
  for (const session of unflushed) {
259
- const ok = await flusher.flush(session.id);
269
+ const ok = await withSpinner(`Flushing session ${session.id.slice(0, 8)}`, () => flusher.flush(session.id));
260
270
  if (ok)
261
271
  succeeded++;
262
272
  }
263
- console.log(`✅ Flushed ${succeeded}/${unflushed.length} session(s).`);
273
+ out.success(`Flushed ${succeeded}/${unflushed.length} session(s).`);
264
274
  if (succeeded < unflushed.length) {
265
- console.warn(`⚠️ ${unflushed.length - succeeded} session(s) failed — will retry on next MCP start.`);
275
+ out.warn(`${unflushed.length - succeeded} session(s) failed — will retry on next MCP start.`);
266
276
  }
267
277
  }
268
278
  finally {
@@ -1 +1 @@
1
- {"version":3,"file":"telemetry.js","sourceRoot":"","sources":["../../src/cli/telemetry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"telemetry.js","sourceRoot":"","sources":["../../src/cli/telemetry.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- export declare function runUpdate(configPath: string): Promise<void>;
1
+ export declare function runUpdate(configPath: string, verbosity?: number): Promise<void>;
2
2
  //# sourceMappingURL=update.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../src/cli/update.ts"],"names":[],"mappings":"AAiPA,wBAAsB,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAwQjE"}
1
+ {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../src/cli/update.ts"],"names":[],"mappings":"AAiPA,wBAAsB,SAAS,CAC7B,UAAU,EAAE,MAAM,EAClB,SAAS,SAAI,GACZ,OAAO,CAAC,IAAI,CAAC,CAqQf"}
@@ -4,7 +4,7 @@ import { existsSync } from "fs";
4
4
  import { join } from "path";
5
5
  import { execFile } from "child_process";
6
6
  import { promisify } from "util";
7
- import { out } from "../output.js";
7
+ import { createOut } from "../output.js";
8
8
  import { discoverAgentPlugins, runAgentPlugin } from "./agent-plugin.js";
9
9
  import { resolveSkillsPackagePath, syncSkills } from "./skills.js";
10
10
  import { detectPackageManager, buildInstallCommand, buildGlobalInstallCommand, getLocalPluginDir, getGlobalPluginDir, buildPluginPrefixInstallCommand, runInstall, } from "./pkg-manager.js";
@@ -161,14 +161,14 @@ async function getPackageInstallLocation(cwd, packageName) {
161
161
  return "node_modules";
162
162
  return "global-npm";
163
163
  }
164
- export async function runUpdate(configPath) {
164
+ export async function runUpdate(configPath, verbosity = 0) {
165
+ const out = createOut(verbosity);
165
166
  const cwd = process.cwd();
166
167
  const hasPackageJson = existsSync(join(cwd, "package.json"));
167
168
  const hasVirageConfig = existsSync(configPath);
168
169
  if (!hasPackageJson && !hasVirageConfig) {
169
170
  out.warn(`No config file found at ${configPath}.`);
170
171
  out.dim("Run `virage init` first to configure your project.");
171
- console.log();
172
172
  return;
173
173
  }
174
174
  const isGlobal = !hasPackageJson;
@@ -199,7 +199,6 @@ export async function runUpdate(configPath) {
199
199
  const unknownLatest = statuses.filter((s) => s.latest === "unknown");
200
200
  if (outdated.length === 0) {
201
201
  out.success("All virage packages are up to date.");
202
- console.log();
203
202
  }
204
203
  else {
205
204
  out.info(`\nFound ${outdated.length} outdated package(s):`);
@@ -215,7 +214,6 @@ export async function runUpdate(configPath) {
215
214
  }
216
215
  if (statuses.length === 0) {
217
216
  out.warn("No virage packages to update.");
218
- console.log();
219
217
  return;
220
218
  }
221
219
  // Let user pick which packages to update
@@ -379,6 +377,5 @@ export async function runUpdate(configPath) {
379
377
  }
380
378
  }
381
379
  out.success("Done.");
382
- console.log();
383
380
  }
384
381
  //# sourceMappingURL=update.js.map