@codacy/verity-cli 0.29.4-experimental.5cc6a16 → 0.29.4-experimental.5fcba03

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 (2) hide show
  1. package/bin/verity.js +35 -4
  2. package/package.json +1 -1
package/bin/verity.js CHANGED
@@ -16749,6 +16749,22 @@ function formatRunEvidence(run, startedAt) {
16749
16749
  out += row("withheld", "(nothing \u2014 every changed file was reviewed)");
16750
16750
  }
16751
16751
  }
16752
+ const cov = run.foldResult?.coverage;
16753
+ if (cov) {
16754
+ const delegated = run.foldResult.authored.filter((a) => a.owner === "subagent").length;
16755
+ if (cov.dispatched > 0 || cov.subagentFiles > 0 || cov.subagentSkipped > 0) {
16756
+ out += row("delegated", `${cov.dispatched} dispatched \xB7 ${cov.subagentFiles} agent log(s) read \xB7 ${delegated} path(s) attributed to subagents`);
16757
+ }
16758
+ if (cov.subagentSkipped > 0) {
16759
+ out += row("", `\u26A0 ${cov.subagentSkipped} agent log(s) REFUSED by the byte budget \u2014 the authored set above is PARTIAL`);
16760
+ }
16761
+ if (cov.dispatched > 0 && cov.subagentFiles === 0) {
16762
+ out += row("", `\u26A0 this turn dispatched ${cov.dispatched} agent(s) but no agent log was found \u2014 delegated work is unattributed (has the transcript layout moved?)`);
16763
+ }
16764
+ if (cov.outsideRepo > 0) {
16765
+ out += row("", `${cov.outsideRepo} authored path(s) refused as outside the repo`);
16766
+ }
16767
+ }
16752
16768
  if (run.staticResults.findings.length > 0) {
16753
16769
  out += row("static", `${run.staticResults.findings.length} finding(s) from ${run.staticResults.summary.tools_run.join(", ") || "no tools"}`);
16754
16770
  }
@@ -17200,7 +17216,7 @@ function channelSilence(input) {
17200
17216
  // src/lib/cli-version.ts
17201
17217
  function cliVersion() {
17202
17218
  try {
17203
- return true ? "0.29.4-experimental.5cc6a16" : "dev";
17219
+ return true ? "0.29.4-experimental.5fcba03" : "dev";
17204
17220
  } catch {
17205
17221
  return "dev";
17206
17222
  }
@@ -18190,6 +18206,12 @@ function toRepoRelative(path, repoRoot2) {
18190
18206
  }
18191
18207
  return p.replace(/^\/+/, "");
18192
18208
  }
18209
+ function isInsideRepo(path, repoRoot2) {
18210
+ const p = path.replace(/\\/g, "/");
18211
+ if (!p.startsWith("/")) return true;
18212
+ if (!repoRoot2) return true;
18213
+ return candidateRoots(repoRoot2).some((root) => p === root || p.startsWith(root + "/"));
18214
+ }
18193
18215
  function fold(transcriptPath, opts = {}) {
18194
18216
  const result = {
18195
18217
  authored: [],
@@ -18201,6 +18223,7 @@ function fold(transcriptPath, opts = {}) {
18201
18223
  totalRecords: 0,
18202
18224
  malformed: 0,
18203
18225
  subagentFiles: 0,
18226
+ outsideRepo: 0,
18204
18227
  dispatched: 0,
18205
18228
  userMessages: 0,
18206
18229
  subagentSkipped: 0,
@@ -18241,7 +18264,11 @@ function fold(transcriptPath, opts = {}) {
18241
18264
  return result;
18242
18265
  }
18243
18266
  try {
18244
- const sidecarDir = (0, import_node_path18.join)((0, import_node_path18.dirname)(transcriptPath), "subagents");
18267
+ const sidecarDir = (0, import_node_path18.join)(
18268
+ (0, import_node_path18.dirname)(transcriptPath),
18269
+ (0, import_node_path18.basename)(transcriptPath).replace(/\.jsonl$/, ""),
18270
+ "subagents"
18271
+ );
18245
18272
  if ((0, import_node_fs23.existsSync)(sidecarDir)) {
18246
18273
  const maxFiles = opts.maxSidecars ?? 200;
18247
18274
  const maxBytes = opts.maxSidecarBytes ?? 16 * 1024 * 1024;
@@ -18313,6 +18340,10 @@ function collectFromRecord(record, owner, byPath, commandStats, pendingByToolUse
18313
18340
  const input = block.input ?? {};
18314
18341
  if (EDIT_TOOLS.has(name)) {
18315
18342
  const rawPath = typeof input.notebook_path === "string" ? input.notebook_path : typeof input.file_path === "string" ? input.file_path : null;
18343
+ if (rawPath && !isInsideRepo(rawPath, repoRoot2)) {
18344
+ if (tally) tally.outsideRepo += 1;
18345
+ continue;
18346
+ }
18316
18347
  const path = rawPath ? toRepoRelative(rawPath, repoRoot2) : null;
18317
18348
  if (path) {
18318
18349
  const entry = byPath.get(path) ?? { p: path, h: 0, a: 0, d: 0, owner };
@@ -21965,8 +21996,8 @@ function registerTelemetryCommands(program2) {
21965
21996
  }
21966
21997
 
21967
21998
  // src/cli.ts
21968
- program.name("verity").description("CLI for Verity quality gate service").version("0.29.4-experimental.5cc6a16").option("--token <token>", "Override authentication token").option("--service-url <url>", "Override service URL").option("--verbose", "Log HTTP requests/responses to stderr").hook("preAction", async (_thisCommand, actionCommand) => {
21969
- installStderrLog(actionCommand.name(), process.argv.slice(2), "0.29.4-experimental.5cc6a16");
21999
+ program.name("verity").description("CLI for Verity quality gate service").version("0.29.4-experimental.5fcba03").option("--token <token>", "Override authentication token").option("--service-url <url>", "Override service URL").option("--verbose", "Log HTTP requests/responses to stderr").hook("preAction", async (_thisCommand, actionCommand) => {
22000
+ installStderrLog(actionCommand.name(), process.argv.slice(2), "0.29.4-experimental.5fcba03");
21970
22001
  setUserNamedServiceUrl(program.opts().serviceUrl);
21971
22002
  try {
21972
22003
  await foldLegacyLocalCredential();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@codacy/verity-cli",
3
- "version": "0.29.4-experimental.5cc6a16",
3
+ "version": "0.29.4-experimental.5fcba03",
4
4
  "description": "CLI for Verity quality gate service",
5
5
  "license": "SEE LICENSE IN LICENSE",
6
6
  "homepage": "https://verity.md",