@taiga-ai/mcp-server 0.36.0-rc.776 → 0.36.0-rc.778
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.js +3 -42
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -23814,14 +23814,6 @@ var TaigaClient = class {
|
|
|
23814
23814
|
async getActivePlan(itemId) {
|
|
23815
23815
|
return this.request("GET", `/backlog/${seg(itemId)}/plans/active`);
|
|
23816
23816
|
}
|
|
23817
|
-
/** Every plan version of an initiative with the verdict it received, newest first unless `order` says otherwise. */
|
|
23818
|
-
async listPlanHistory(itemId, order) {
|
|
23819
|
-
return this.request("GET", `/backlog/${seg(itemId)}/plans/history${query$1({ order })}`);
|
|
23820
|
-
}
|
|
23821
|
-
/** One plan version with its steps, whether or not it is the active one. */
|
|
23822
|
-
async getPlan(planId) {
|
|
23823
|
-
return this.request("GET", `/plans/${seg(planId)}`);
|
|
23824
|
-
}
|
|
23825
23817
|
async approvePlan(planId) {
|
|
23826
23818
|
return this.request("POST", `/plans/${seg(planId)}/approve`);
|
|
23827
23819
|
}
|
|
@@ -26596,7 +26588,6 @@ const TOOLSET_OF = {
|
|
|
26596
26588
|
taiga_list_initiatives: "core",
|
|
26597
26589
|
taiga_get_initiative: "core",
|
|
26598
26590
|
taiga_get_plan: "core",
|
|
26599
|
-
taiga_list_plans: "core",
|
|
26600
26591
|
taiga_list_runs: "core",
|
|
26601
26592
|
taiga_get_run: "core",
|
|
26602
26593
|
taiga_get_line: "core",
|
|
@@ -26927,7 +26918,7 @@ const ITEM_ID_HINT = "taiga_list_initiatives lists a product's initiatives with
|
|
|
26927
26918
|
const BY_ARGUMENT = {
|
|
26928
26919
|
initiativeId: ITEM_ID_HINT,
|
|
26929
26920
|
runId: "taiga_list_runs lists the runs, of one product or of every product the key can see.",
|
|
26930
|
-
planId: "taiga_get_plan gives the initiative's active plan and its ID
|
|
26921
|
+
planId: "taiga_get_plan gives the initiative's active plan and its ID.",
|
|
26931
26922
|
linkId: "taiga_list_product_repositories lists the product's repository links; a linkable repository id is not a link ID.",
|
|
26932
26923
|
replacesLinkId: "taiga_list_product_repositories lists the product's repository links.",
|
|
26933
26924
|
linkableRepositoryId: "taiga_list_linkable_repositories lists the repositories the GitHub and GitLab connections reach, with their ids.",
|
|
@@ -30562,57 +30553,27 @@ function registerBacklogReads(server, client) {
|
|
|
30562
30553
|
}));
|
|
30563
30554
|
server.registerTool("taiga_get_plan", {
|
|
30564
30555
|
title: "Get the active plan",
|
|
30565
|
-
description: "Read an initiative's active plan, step by step: what each builds, the files it writes and reads, and what it depends on. Enough to approve or reject it; full: true adds each step's complete instructions (long). A plan a request for changes revised says so in revision: the steps it added, edited and dropped, and the committed steps it reverts.
|
|
30556
|
+
description: "Read an initiative's active plan, step by step: what each builds, the files it writes and reads, and what it depends on. Enough to approve or reject it; full: true adds each step's complete instructions (long). A plan a request for changes revised says so in revision: the steps it added, edited and dropped, and the committed steps it reverts. NOT_FOUND when there is no active plan, the initiative's situation says why.",
|
|
30566
30557
|
inputSchema: object({
|
|
30567
30558
|
initiativeId,
|
|
30568
|
-
version: number$1().int().min(1).optional().describe("A plan version to read, such as 1 (default: the active plan); taiga_list_plans lists the versions"),
|
|
30569
30559
|
full: boolean().optional().describe("Carry each step's complete instructions (default false: a summary)")
|
|
30570
30560
|
}),
|
|
30571
30561
|
annotations: READ_ONLY
|
|
30572
30562
|
}, (params) => runTool(async () => {
|
|
30573
|
-
|
|
30574
|
-
let versionNote = {};
|
|
30575
|
-
if (params.version === void 0) plan = (await client.getActivePlan(params.initiativeId)).data;
|
|
30576
|
-
else {
|
|
30577
|
-
const history = (await client.listPlanHistory(params.initiativeId, "oldest")).data;
|
|
30578
|
-
const entry = history.find((candidate) => candidate.version === params.version);
|
|
30579
|
-
if (!entry) {
|
|
30580
|
-
const have = history.map((candidate) => candidate.version).sort((a, b) => a - b);
|
|
30581
|
-
return toolError("NOT_FOUND", have.length > 0 ? `This initiative has no plan version ${params.version}; it has version${have.length > 1 ? "s" : ""} ${have.join(", ")}.` : `This initiative has no plan version ${params.version}: it has never been planned.`);
|
|
30582
|
-
}
|
|
30583
|
-
plan = (await client.getPlan(entry.planId)).data;
|
|
30584
|
-
versionNote = {
|
|
30585
|
-
verdict: entry.verdict,
|
|
30586
|
-
answers: entry.answers
|
|
30587
|
-
};
|
|
30588
|
-
}
|
|
30563
|
+
const plan = (await client.getActivePlan(params.initiativeId)).data;
|
|
30589
30564
|
const revision = await planRevisionOf(client, params.initiativeId, plan.id);
|
|
30590
30565
|
const revised = revision ? { revision } : {};
|
|
30591
30566
|
if (params.full) return toolResult({
|
|
30592
30567
|
...plan,
|
|
30593
|
-
...versionNote,
|
|
30594
30568
|
...revised
|
|
30595
30569
|
});
|
|
30596
30570
|
const steps = Array.isArray(plan.steps) ? plan.steps : [];
|
|
30597
30571
|
return toolResult({
|
|
30598
30572
|
...pickFields([plan], PLAN_SUMMARY_FIELDS)[0],
|
|
30599
|
-
...versionNote,
|
|
30600
30573
|
...revised,
|
|
30601
30574
|
steps: pickFields(steps, PLAN_STEP_SUMMARY_FIELDS)
|
|
30602
30575
|
});
|
|
30603
30576
|
}));
|
|
30604
|
-
server.registerTool("taiga_list_plans", {
|
|
30605
|
-
title: "List plan versions and their verdicts",
|
|
30606
|
-
description: "List every plan version of an initiative, newest first (order: 'oldest' reverses it). Each version has its status, its verdict (approved, rejected, changes_requested, awaiting_review, or none when none was recorded), who gave it by name, when and the comment, and the earlier version and comment it answers. taiga_get_plan with version reads one in full. An initiative never planned returns an empty list.",
|
|
30607
|
-
inputSchema: object({
|
|
30608
|
-
initiativeId,
|
|
30609
|
-
order: _enum(["newest", "oldest"]).optional().describe("Order of the versions (default 'newest')")
|
|
30610
|
-
}),
|
|
30611
|
-
annotations: READ_ONLY
|
|
30612
|
-
}, (params) => runTool(async () => {
|
|
30613
|
-
const versions = (await client.listPlanHistory(params.initiativeId, params.order)).data;
|
|
30614
|
-
return toolResult({ versions });
|
|
30615
|
-
}));
|
|
30616
30577
|
}
|
|
30617
30578
|
function registerRequest(server, client) {
|
|
30618
30579
|
server.registerTool("taiga_request_initiatives", {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@taiga-ai/mcp-server",
|
|
3
|
-
"version": "0.36.0-rc.
|
|
3
|
+
"version": "0.36.0-rc.778",
|
|
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",
|