@taiga-ai/mcp-server 0.36.0-dev.871 → 0.36.0-dev.873

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/dist/index.js +31 -3
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -26189,10 +26189,22 @@ function isFixableFinding(finding) {
26189
26189
  if (finding.status !== "open") return false;
26190
26190
  if (finding.location?.historyOnly) return false;
26191
26191
  if (!isAgentRemediable(finding)) return false;
26192
+ if (finding.fingerprint?.startsWith("base-image:")) return typeof finding.baseMove === "boolean" ? finding.baseMove : baseImageMoveRemoves(finding.data);
26192
26193
  if (finding.kind === "vulnerable_dependency" && isMaliciousPackageFinding(finding)) return true;
26193
26194
  return isCodeRemediationKind(finding.kind) || !!finding.recommendedVersion;
26194
26195
  }
26195
26196
  /**
26197
+ * Whether moving the base images a finding names to the builds their tags
26198
+ * name now removes its advisory (PRO-1728): every base it names moves and the
26199
+ * sweep found the advisory gone from each newer build
26200
+ * (`data.baseImage.bases[].removed`), as the move itself requires.
26201
+ */
26202
+ function baseImageMoveRemoves(data) {
26203
+ const baseImage = typeof data === "object" && data !== null ? data.baseImage : null;
26204
+ const bases = typeof baseImage === "object" && baseImage !== null ? baseImage.bases : null;
26205
+ return Array.isArray(bases) && bases.length > 0 && bases.every((b) => typeof b === "object" && b !== null && typeof b.movesTo === "string" && b.removed === true);
26206
+ }
26207
+ /**
26196
26208
  * A malicious package (OSV `MAL-*`): its advisory id or one of its aliases
26197
26209
  * says so, or its tier is Act now with no KEV listing, which only a malware
26198
26210
  * advisory earns (`findingTierReason`). The id and aliases come first: a
@@ -26424,10 +26436,16 @@ object({
26424
26436
  commit: d.commit
26425
26437
  }));
26426
26438
  /**
26427
- * The judges the API runs over what a sweep read (PRO-4070): the runtime
26428
- * judge (PRO-3659) and the base OS judge (PRO-4074). Never an agent's scanner.
26439
+ * The sources whose findings no agent scanner's outcome decides (PRO-4070):
26440
+ * the API's runtime judge (PRO-3659) and base OS judge (PRO-4074), and the
26441
+ * base image reading (PRO-1728), whose findings the agent drafts but only a
26442
+ * sweep that read the images may settle.
26429
26443
  */
26430
- const MAINTENANCE_JUDGED_SOURCES = ["runtime", "base_os"];
26444
+ const MAINTENANCE_JUDGED_SOURCES = [
26445
+ "runtime",
26446
+ "base_os",
26447
+ "base_image"
26448
+ ];
26431
26449
  [...MAINTENANCE_SCANNERS, ...MAINTENANCE_JUDGED_SOURCES];
26432
26450
  new Set(MAINTENANCE_SCANNERS);
26433
26451
  /**
@@ -28320,6 +28338,7 @@ const FINDING_ROW_FIELDS = [
28320
28338
  "tier",
28321
28339
  "kevListedAt",
28322
28340
  "malicious",
28341
+ "baseMove",
28323
28342
  "removal",
28324
28343
  "replaceable",
28325
28344
  "status",
@@ -28486,6 +28505,15 @@ function withFixability(row) {
28486
28505
  fixable: true,
28487
28506
  fixNote: "A malicious package: taiga_fix_finding removes it (or replaces it), with every advisory on that version."
28488
28507
  } : row;
28508
+ if (typeof row["baseMove"] === "boolean" && isAgentRemediable({ remediableBy: typeof row["remediableBy"] === "string" ? row["remediableBy"] : null })) return row["baseMove"] === true && row["status"] === "open" ? {
28509
+ ...row,
28510
+ fixable: true,
28511
+ fixNote: "taiga_fix_finding moves the base images it is in to the builds their tags name now, the FROM line alone, with every other advisory that move removes."
28512
+ } : {
28513
+ ...row,
28514
+ fixable: false,
28515
+ fixNote: "Inside a base image no newer build of which removes it yet: it is fixed by a base move, not a package bump, and is held until one does."
28516
+ };
28489
28517
  if (dependency && !row["recommendedVersion"] && row["remediableBy"] === "coding_agent") return {
28490
28518
  ...row,
28491
28519
  fixable: false,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@taiga-ai/mcp-server",
3
- "version": "0.36.0-dev.871",
3
+ "version": "0.36.0-dev.873",
4
4
  "description": "Taiga for AI coding assistants: read products, policies, initiatives and runs, and operate the line, over MCP",
5
5
  "mcpName": "ga.tai/mcp-server",
6
6
  "license": "UNLICENSED",