vent-hq 0.4.3 → 0.4.5

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/index.mjs CHANGED
@@ -494,8 +494,12 @@ function printSummary(testResults, runComplete, runId, jsonMode) {
494
494
  process.stderr.write(dim(`Full details: vent status ${runId} --json`) + "\n");
495
495
  }
496
496
  function printError(message) {
497
- process.stderr.write(red(bold("error")) + ` ${message}
498
- `);
497
+ const line = red(bold("error")) + ` ${message}
498
+ `;
499
+ process.stderr.write(line);
500
+ if (!isTTY) {
501
+ process.stdout.write(line);
502
+ }
499
503
  }
500
504
  function printInfo(message) {
501
505
  process.stderr.write(blue("\u25B8") + ` ${message}
@@ -508,6 +512,9 @@ function printSuccess(message) {
508
512
 
509
513
  // src/commands/run.ts
510
514
  async function runCommand(args) {
515
+ const dbg = (label) => process.stdout.write(`[vent:debug] ${label}
516
+ `);
517
+ dbg("runCommand:start");
511
518
  const apiKey = args.apiKey ?? await loadApiKey();
512
519
  if (!apiKey) {
513
520
  printError("No API key found. Set VENT_API_KEY, run `npx vent-hq login`, or pass --api-key.");
@@ -554,6 +561,7 @@ async function runCommand(args) {
554
561
  const freePort = await findFreePort();
555
562
  cfg.connection.agent_port = freePort;
556
563
  }
564
+ dbg("submit:start");
557
565
  printInfo("Submitting run\u2026");
558
566
  let submitResult;
559
567
  try {
@@ -571,6 +579,7 @@ async function runCommand(args) {
571
579
  printError("Server returned no run_id. Response: " + JSON.stringify(submitResult));
572
580
  return 2;
573
581
  }
582
+ dbg(`submit:done run_id=${run_id} has_relay=${!!submitResult.relay_config}`);
574
583
  printInfo(`Run ${run_id} created.`);
575
584
  if (args.submit) {
576
585
  if (submitResult.relay_config) {
@@ -590,15 +599,19 @@ async function runCommand(args) {
590
599
  }
591
600
  let relay = null;
592
601
  if (submitResult.relay_config) {
602
+ dbg("relay:start");
593
603
  printInfo("Starting relay for local agent\u2026");
594
604
  try {
595
605
  relay = await startRelay(submitResult.relay_config);
606
+ dbg("relay:connected");
596
607
  printInfo("Relay connected, agent started.");
597
608
  } catch (err) {
609
+ dbg(`relay:error ${err.message}`);
598
610
  printError(`Relay failed: ${err.message}`);
599
611
  return 2;
600
612
  }
601
613
  }
614
+ dbg("stream:start");
602
615
  printInfo(`Streaming results for run ${run_id}\u2026`);
603
616
  const abortController = new AbortController();
604
617
  let exitCode = 0;
@@ -611,6 +624,7 @@ async function runCommand(args) {
611
624
  process.on("SIGTERM", onSignal);
612
625
  try {
613
626
  for await (const event of streamRunEvents(run_id, apiKey, abortController.signal)) {
627
+ dbg(`event:${event.event_type} meta_keys=${Object.keys(event.metadata_json ?? {}).join(",")}`);
614
628
  printEvent(event, args.json);
615
629
  if (event.event_type === "test_completed") {
616
630
  testResults.push(event);
@@ -634,9 +648,14 @@ async function runCommand(args) {
634
648
  await relay.cleanup();
635
649
  }
636
650
  }
651
+ dbg(`summary: testResults=${testResults.length} runComplete=${!!runCompleteData} exitCode=${exitCode}`);
637
652
  if (runCompleteData && testResults.length > 0) {
638
653
  printSummary(testResults, runCompleteData, run_id, args.json);
654
+ } else if (testResults.length === 0 && exitCode !== 2) {
655
+ process.stdout.write(`run_id: ${run_id} \u2014 no test results received
656
+ `);
639
657
  }
658
+ dbg(`exit:${exitCode}`);
640
659
  return exitCode;
641
660
  }
642
661
  function findFreePort() {
@@ -6266,7 +6285,7 @@ async function main() {
6266
6285
  process.exit(0);
6267
6286
  }
6268
6287
  if (command === "--version" || command === "-v") {
6269
- const pkg = await import("./package-LQLI2UW5.mjs");
6288
+ const pkg = await import("./package-7YSGSSFT.mjs");
6270
6289
  process.stdout.write(`vent-hq ${pkg.default.version}
6271
6290
  `);
6272
6291
  process.exit(0);
@@ -0,0 +1,51 @@
1
+ #!/usr/bin/env node
2
+ import "./chunk-U4M3XDTH.mjs";
3
+
4
+ // package.json
5
+ var package_default = {
6
+ name: "vent-hq",
7
+ version: "0.4.5",
8
+ type: "module",
9
+ description: "Vent CLI \u2014 CI/CD for voice AI agents",
10
+ bin: {
11
+ "vent-hq": "dist/index.mjs"
12
+ },
13
+ files: [
14
+ "dist"
15
+ ],
16
+ scripts: {
17
+ build: "node scripts/bundle.mjs",
18
+ clean: "rm -rf dist"
19
+ },
20
+ keywords: [
21
+ "vent",
22
+ "cli",
23
+ "voice",
24
+ "agent",
25
+ "testing",
26
+ "ci-cd"
27
+ ],
28
+ license: "MIT",
29
+ publishConfig: {
30
+ access: "public"
31
+ },
32
+ repository: {
33
+ type: "git",
34
+ url: "https://github.com/vent-hq/vent",
35
+ directory: "packages/cli"
36
+ },
37
+ homepage: "https://ventmcp.dev",
38
+ dependencies: {
39
+ "@clack/prompts": "^1.1.0",
40
+ ws: "^8.18.0"
41
+ },
42
+ devDependencies: {
43
+ "@types/ws": "^8.5.0",
44
+ "@vent/relay-client": "workspace:*",
45
+ "@vent/shared": "workspace:*",
46
+ esbuild: "^0.24.0"
47
+ }
48
+ };
49
+ export {
50
+ package_default as default
51
+ };
@@ -0,0 +1,51 @@
1
+ #!/usr/bin/env node
2
+ import "./chunk-U4M3XDTH.mjs";
3
+
4
+ // package.json
5
+ var package_default = {
6
+ name: "vent-hq",
7
+ version: "0.4.4",
8
+ type: "module",
9
+ description: "Vent CLI \u2014 CI/CD for voice AI agents",
10
+ bin: {
11
+ "vent-hq": "dist/index.mjs"
12
+ },
13
+ files: [
14
+ "dist"
15
+ ],
16
+ scripts: {
17
+ build: "node scripts/bundle.mjs",
18
+ clean: "rm -rf dist"
19
+ },
20
+ keywords: [
21
+ "vent",
22
+ "cli",
23
+ "voice",
24
+ "agent",
25
+ "testing",
26
+ "ci-cd"
27
+ ],
28
+ license: "MIT",
29
+ publishConfig: {
30
+ access: "public"
31
+ },
32
+ repository: {
33
+ type: "git",
34
+ url: "https://github.com/vent-hq/vent",
35
+ directory: "packages/cli"
36
+ },
37
+ homepage: "https://ventmcp.dev",
38
+ dependencies: {
39
+ "@clack/prompts": "^1.1.0",
40
+ ws: "^8.18.0"
41
+ },
42
+ devDependencies: {
43
+ "@types/ws": "^8.5.0",
44
+ "@vent/relay-client": "workspace:*",
45
+ "@vent/shared": "workspace:*",
46
+ esbuild: "^0.24.0"
47
+ }
48
+ };
49
+ export {
50
+ package_default as default
51
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vent-hq",
3
- "version": "0.4.3",
3
+ "version": "0.4.5",
4
4
  "type": "module",
5
5
  "description": "Vent CLI — CI/CD for voice AI agents",
6
6
  "bin": {