@taiga-ai/mcp-server 0.36.0-dev.889 → 0.36.0-dev.891

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 +29 -12
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -26220,12 +26220,6 @@ function isFixableFinding(finding) {
26220
26220
  if (finding.kind === "vulnerable_dependency" && isMaliciousPackageFinding(finding)) return true;
26221
26221
  return isCodeRemediationKind(finding.kind) || !!finding.recommendedVersion;
26222
26222
  }
26223
- /**
26224
- * Whether moving the base images a finding names to the builds their tags
26225
- * name now removes its advisory (PRO-1728): every base it names moves and the
26226
- * sweep found the advisory gone from each newer build
26227
- * (`data.baseImage.bases[].removed`), as the move itself requires.
26228
- */
26229
26223
  function baseImageMoveRemoves(data) {
26230
26224
  const baseImage = typeof data === "object" && data !== null ? data.baseImage : null;
26231
26225
  const bases = typeof baseImage === "object" && baseImage !== null ? baseImage.bases : null;
@@ -28384,6 +28378,7 @@ const FINDING_ROW_FIELDS = [
28384
28378
  "kevListedAt",
28385
28379
  "malicious",
28386
28380
  "baseMove",
28381
+ "baseImageMove",
28387
28382
  "removal",
28388
28383
  "replaceable",
28389
28384
  "status",
@@ -28688,11 +28683,26 @@ const SWEEP_FIELDS = [
28688
28683
  */
28689
28684
  const BASE_IMAGES_SHOWN = 10;
28690
28685
  function notReadBases(sweep) {
28691
- const notRead = (sweep.baseImages ?? []).filter((b) => b.state === "not_read");
28692
- if (notRead.length === 0) return {};
28686
+ const bases = sweep.baseImages ?? [];
28687
+ const notRead = bases.filter((b) => b.state === "not_read" || b.packages?.state === "not_read");
28688
+ const read = bases.flatMap((b) => b.packages?.state === "read" ? [{
28689
+ image: b.image,
28690
+ path: b.path,
28691
+ os: b.os ?? null,
28692
+ vulnerabilities: b.packages.vulnerabilities,
28693
+ removedByMoving: b.packages.candidate?.removes ?? 0,
28694
+ noDistroFix: b.packages.noDistroFix ?? null,
28695
+ movesTo: b.packages.candidate?.image ?? null
28696
+ }] : []);
28693
28697
  return {
28694
- baseImagesNotRead: notRead.slice(0, BASE_IMAGES_SHOWN),
28695
- ...notRead.length > BASE_IMAGES_SHOWN ? { baseImagesNotReadCount: notRead.length } : {}
28698
+ ...read.length > 0 ? {
28699
+ baseImages: read.slice(0, BASE_IMAGES_SHOWN),
28700
+ ...read.length > BASE_IMAGES_SHOWN ? { baseImagesCount: read.length } : {}
28701
+ } : {},
28702
+ ...notRead.length > 0 ? {
28703
+ baseImagesNotRead: notRead.slice(0, BASE_IMAGES_SHOWN),
28704
+ ...notRead.length > BASE_IMAGES_SHOWN ? { baseImagesNotReadCount: notRead.length } : {}
28705
+ } : {}
28696
28706
  };
28697
28707
  }
28698
28708
  /** A policy violation in a list: what it is, how bad, and what is being done about it. */
@@ -31326,6 +31336,10 @@ function standing(item) {
31326
31336
  const life = item["lifecycle"];
31327
31337
  const run = life?.latestBuild;
31328
31338
  const situation = situationOf(item);
31339
+ const open = (life?.openPullRequests ?? []).flatMap((pull) => typeof pull.repositoryFullName === "string" && typeof pull.prNumber === "number" ? [{
31340
+ repository: pull.repositoryFullName,
31341
+ prNumber: pull.prNumber
31342
+ }] : []);
31329
31343
  return {
31330
31344
  column: typeof item["state"] === "string" ? item["state"] : null,
31331
31345
  turn: typeof life?.turn === "string" ? life.turn : null,
@@ -31333,7 +31347,8 @@ function standing(item) {
31333
31347
  latestRun: run && typeof run.id === "string" ? {
31334
31348
  id: run.id,
31335
31349
  ...typeof run.prNumber === "number" ? { prNumber: run.prNumber } : {}
31336
- } : null
31350
+ } : null,
31351
+ ...open.length > 1 ? { pullRequests: open } : {}
31337
31352
  };
31338
31353
  }
31339
31354
  /** The move each call to action is, in the tools' words. */
@@ -31664,10 +31679,12 @@ function registerBacklogReads(server, client) {
31664
31679
  ...revised
31665
31680
  });
31666
31681
  const steps = Array.isArray(plan.steps) ? plan.steps : [];
31682
+ const several = (plan.repositories?.length ?? 0) > 1;
31667
31683
  return toolResult({
31668
31684
  ...pickFields([plan], PLAN_SUMMARY_FIELDS)[0],
31685
+ ...several ? { repositories: plan.repositories } : {},
31669
31686
  ...revised,
31670
- steps: pickFields(steps, PLAN_STEP_SUMMARY_FIELDS)
31687
+ steps: several ? pickFields(steps, [...PLAN_STEP_SUMMARY_FIELDS, "repositoryName"]) : pickFields(steps, PLAN_STEP_SUMMARY_FIELDS)
31671
31688
  });
31672
31689
  }));
31673
31690
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@taiga-ai/mcp-server",
3
- "version": "0.36.0-dev.889",
3
+ "version": "0.36.0-dev.891",
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",