@taiga-ai/mcp-server 0.36.0-dev.888 → 0.36.0-dev.890

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 +26 -2
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -23938,6 +23938,10 @@ var TaigaClient = class {
23938
23938
  async updateFinding(id, body) {
23939
23939
  return this.request("PATCH", `/maintenance/findings/${seg(id)}`, body);
23940
23940
  }
23941
+ /** Ship notices (PRO-4165): raise the initiative that builds the product's open-source notices, or get the open one. */
23942
+ async shipNotices(productId) {
23943
+ return this.request("POST", `/products/${seg(productId)}/maintenance/notices`, {});
23944
+ }
23941
23945
  async remediateFinding(productId, findingId) {
23942
23946
  return this.request("POST", `/products/${seg(productId)}/maintenance/findings/${seg(findingId)}/remediate`, {});
23943
23947
  }
@@ -27171,6 +27175,9 @@ strictObject({ type: productDocumentType }), object({
27171
27175
  }), strictObject({ license: string$2().trim().min(1).max(MAINTENANCE_LICENSE_FILTER_MAX) }), object({
27172
27176
  backlogItemIds: array(string$2()),
27173
27177
  findingCount: number$1()
27178
+ }), strictObject({}), object({
27179
+ backlogItemId: string$2(),
27180
+ created: boolean()
27174
27181
  }), strictObject({ host: string$2().trim().toLowerCase().refine(isProductNetworkHost, { message: "A host is one exact DNS name, such as api.example.com: no wildcard, scheme, port or path" }).refine((host) => !isSharedHostingDomain(host), { message: "Anyone can host content on this domain, so it cannot be listed whole; list the one host you need under it" }) }), strictObject({
27175
27182
  type: _enum(AGENT_JOB_TYPES),
27176
27183
  documentType: string$2().max(30).optional(),
@@ -27537,6 +27544,7 @@ const TOOLSET_OF = {
27537
27544
  taiga_pause_line: "setup",
27538
27545
  taiga_create_environment: "setup",
27539
27546
  taiga_update_environment: "setup",
27547
+ taiga_ship_notices: "setup",
27540
27548
  taiga_get_deployments: "observe",
27541
27549
  taiga_get_monitoring: "observe",
27542
27550
  taiga_get_delivery_metrics: "observe",
@@ -27588,6 +27596,7 @@ const DELIVERY_TOOLS = /* @__PURE__ */ new Set([
27588
27596
  "taiga_request_initiatives",
27589
27597
  "taiga_fix_finding",
27590
27598
  "taiga_fix_policy_violation",
27599
+ "taiga_ship_notices",
27591
27600
  "taiga_set_auto_build",
27592
27601
  "taiga_set_auto_merge",
27593
27602
  "taiga_pause_line",
@@ -29111,6 +29120,13 @@ function registerMaintenanceTools(server, client) {
29111
29120
  const body = { refuseIfFixedSinceAssessment: params.fixAgain !== true };
29112
29121
  return toolResult((params.controlId ? await client.remediatePolicyControl(params.productId, params.controlId, body) : await client.remediatePolicyViolation(params.productId, params.violationId, body)).data);
29113
29122
  }));
29123
+ if (!client.hasCapability("backlog:write")) return;
29124
+ server.registerTool("taiga_ship_notices", {
29125
+ title: "Ship open-source notices",
29126
+ description: "Raise the initiative that builds open-source notices into a product's Vite web app: every production build writes the license texts and NOTICE files of the packages in its browser bundle, and the app shows them at /legal/open-source. Taiga writes the brief from the inventory; the plan waits for review before it builds. One that is already open is handed back (created: false) rather than raised again. Refused where no repository of the product declares Vite.",
29127
+ inputSchema: object({ productId }),
29128
+ annotations: OPERATE
29129
+ }, (params) => runTool(async () => toolResult((await client.shipNotices(params.productId)).data)));
29114
29130
  }
29115
29131
  //#endregion
29116
29132
  //#region src/tools/sections.ts
@@ -31310,6 +31326,10 @@ function standing(item) {
31310
31326
  const life = item["lifecycle"];
31311
31327
  const run = life?.latestBuild;
31312
31328
  const situation = situationOf(item);
31329
+ const open = (life?.openPullRequests ?? []).flatMap((pull) => typeof pull.repositoryFullName === "string" && typeof pull.prNumber === "number" ? [{
31330
+ repository: pull.repositoryFullName,
31331
+ prNumber: pull.prNumber
31332
+ }] : []);
31313
31333
  return {
31314
31334
  column: typeof item["state"] === "string" ? item["state"] : null,
31315
31335
  turn: typeof life?.turn === "string" ? life.turn : null,
@@ -31317,7 +31337,8 @@ function standing(item) {
31317
31337
  latestRun: run && typeof run.id === "string" ? {
31318
31338
  id: run.id,
31319
31339
  ...typeof run.prNumber === "number" ? { prNumber: run.prNumber } : {}
31320
- } : null
31340
+ } : null,
31341
+ ...open.length > 1 ? { pullRequests: open } : {}
31321
31342
  };
31322
31343
  }
31323
31344
  /** The move each call to action is, in the tools' words. */
@@ -31648,10 +31669,12 @@ function registerBacklogReads(server, client) {
31648
31669
  ...revised
31649
31670
  });
31650
31671
  const steps = Array.isArray(plan.steps) ? plan.steps : [];
31672
+ const several = (plan.repositories?.length ?? 0) > 1;
31651
31673
  return toolResult({
31652
31674
  ...pickFields([plan], PLAN_SUMMARY_FIELDS)[0],
31675
+ ...several ? { repositories: plan.repositories } : {},
31653
31676
  ...revised,
31654
- steps: pickFields(steps, PLAN_STEP_SUMMARY_FIELDS)
31677
+ steps: several ? pickFields(steps, [...PLAN_STEP_SUMMARY_FIELDS, "repositoryName"]) : pickFields(steps, PLAN_STEP_SUMMARY_FIELDS)
31655
31678
  });
31656
31679
  }));
31657
31680
  }
@@ -49639,6 +49662,7 @@ const PAID_WORK = /* @__PURE__ */ new Set([
49639
49662
  "taiga_request_changes",
49640
49663
  "taiga_request_initiatives",
49641
49664
  "taiga_resume_initiative",
49665
+ "taiga_ship_notices",
49642
49666
  "taiga_retry_knowledge",
49643
49667
  "taiga_review_plan",
49644
49668
  "taiga_set_auto_build",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@taiga-ai/mcp-server",
3
- "version": "0.36.0-dev.888",
3
+ "version": "0.36.0-dev.890",
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",