@daghis/teamcity-mcp 2.4.2 → 2.5.0
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/CHANGELOG.md +15 -0
- package/dist/index.js +140 -45
- package/package.json +1 -1
- package/server.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,20 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [2.5.0](https://github.com/Daghis/teamcity-mcp/compare/teamcity-mcp-v2.4.3...teamcity-mcp-v2.5.0) (2026-03-18)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Features
|
|
7
|
+
|
|
8
|
+
* add wait_for_build tool to poll until build completes ([#430](https://github.com/Daghis/teamcity-mcp/issues/430)) ([#433](https://github.com/Daghis/teamcity-mcp/issues/433)) ([a83e6cf](https://github.com/Daghis/teamcity-mcp/commit/a83e6cf99e4c523103bf894ee3d58c91734853f6))
|
|
9
|
+
|
|
10
|
+
## [2.4.3](https://github.com/Daghis/teamcity-mcp/compare/teamcity-mcp-v2.4.2...teamcity-mcp-v2.4.3) (2026-03-18)
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
### Bug Fixes
|
|
14
|
+
|
|
15
|
+
* use individual property PUTs in update_vcs_root_properties to prevent wiping existing properties ([#431](https://github.com/Daghis/teamcity-mcp/issues/431)) ([85bac24](https://github.com/Daghis/teamcity-mcp/commit/85bac244cb55f458bc2d22844c993d7f0446ea57)), closes [#428](https://github.com/Daghis/teamcity-mcp/issues/428)
|
|
16
|
+
* use z.coerce.number() to accept string-encoded numeric params ([#432](https://github.com/Daghis/teamcity-mcp/issues/432)) ([6de9aa4](https://github.com/Daghis/teamcity-mcp/commit/6de9aa4c9b11e9c78a261c57381fc44e5f3ffd7b)), closes [#429](https://github.com/Daghis/teamcity-mcp/issues/429)
|
|
17
|
+
|
|
3
18
|
## [2.4.2](https://github.com/Daghis/teamcity-mcp/compare/teamcity-mcp-v2.4.1...teamcity-mcp-v2.4.2) (2026-03-17)
|
|
4
19
|
|
|
5
20
|
|
package/dist/index.js
CHANGED
|
@@ -1205,7 +1205,7 @@ function debug2(message, meta) {
|
|
|
1205
1205
|
// package.json
|
|
1206
1206
|
var package_default = {
|
|
1207
1207
|
name: "@daghis/teamcity-mcp",
|
|
1208
|
-
version: "2.
|
|
1208
|
+
version: "2.5.0",
|
|
1209
1209
|
description: "Model Control Protocol server for TeamCity CI/CD integration with AI coding assistants",
|
|
1210
1210
|
mcpName: "io.github.Daghis/teamcity",
|
|
1211
1211
|
main: "dist/index.js",
|
|
@@ -4140,6 +4140,11 @@ async function fetchAllPages(fetchFn, options = {}) {
|
|
|
4140
4140
|
return allItems;
|
|
4141
4141
|
}
|
|
4142
4142
|
|
|
4143
|
+
// src/utils/async/index.ts
|
|
4144
|
+
function sleep(ms) {
|
|
4145
|
+
return new Promise((resolve2) => setTimeout(resolve2, ms));
|
|
4146
|
+
}
|
|
4147
|
+
|
|
4143
4148
|
// src/utils/list-builds-locator.ts
|
|
4144
4149
|
var SIMPLE_BRANCH_VALUES = /* @__PURE__ */ new Set([
|
|
4145
4150
|
"default:true",
|
|
@@ -38770,7 +38775,7 @@ var isReadableStream = (value) => typeof value === "object" && value !== null &&
|
|
|
38770
38775
|
var isAxios4042 = (error3) => (0, import_axios36.isAxiosError)(error3) && error3.response?.status === 404;
|
|
38771
38776
|
var buildIdentifierSchema = import_zod4.z.object({
|
|
38772
38777
|
buildId: import_zod4.z.string().min(1).optional(),
|
|
38773
|
-
buildNumber: import_zod4.z.union([import_zod4.z.string().min(1), import_zod4.z.number().int()]).optional(),
|
|
38778
|
+
buildNumber: import_zod4.z.union([import_zod4.z.string().min(1), import_zod4.z.coerce.number().int()]).optional(),
|
|
38774
38779
|
buildTypeId: import_zod4.z.string().min(1).optional()
|
|
38775
38780
|
}).superRefine((value, ctx) => {
|
|
38776
38781
|
if (!value.buildId && value.buildNumber === void 0) {
|
|
@@ -39142,8 +39147,8 @@ var DEV_TOOLS = [
|
|
|
39142
39147
|
const schema = import_zod4.z.object({
|
|
39143
39148
|
locator: import_zod4.z.string().min(1).optional(),
|
|
39144
39149
|
parentProjectId: import_zod4.z.string().min(1).optional(),
|
|
39145
|
-
pageSize: import_zod4.z.number().int().min(1).max(1e3).optional(),
|
|
39146
|
-
maxPages: import_zod4.z.number().int().min(1).max(1e3).optional(),
|
|
39150
|
+
pageSize: import_zod4.z.coerce.number().int().min(1).max(1e3).optional(),
|
|
39151
|
+
maxPages: import_zod4.z.coerce.number().int().min(1).max(1e3).optional(),
|
|
39147
39152
|
all: import_zod4.z.boolean().optional(),
|
|
39148
39153
|
fields: import_zod4.z.string().min(1).optional()
|
|
39149
39154
|
});
|
|
@@ -39245,9 +39250,9 @@ var DEV_TOOLS = [
|
|
|
39245
39250
|
buildTypeId: import_zod4.z.string().min(1).optional(),
|
|
39246
39251
|
branch: import_zod4.z.string().min(1).optional(),
|
|
39247
39252
|
status: import_zod4.z.enum(["SUCCESS", "FAILURE", "ERROR"]).optional(),
|
|
39248
|
-
count: import_zod4.z.number().int().min(1).max(1e3).default(10).optional(),
|
|
39249
|
-
pageSize: import_zod4.z.number().int().min(1).max(1e3).optional(),
|
|
39250
|
-
maxPages: import_zod4.z.number().int().min(1).max(1e3).optional(),
|
|
39253
|
+
count: import_zod4.z.coerce.number().int().min(1).max(1e3).default(10).optional(),
|
|
39254
|
+
pageSize: import_zod4.z.coerce.number().int().min(1).max(1e3).optional(),
|
|
39255
|
+
maxPages: import_zod4.z.coerce.number().int().min(1).max(1e3).optional(),
|
|
39251
39256
|
all: import_zod4.z.boolean().optional(),
|
|
39252
39257
|
fields: import_zod4.z.string().min(1).optional()
|
|
39253
39258
|
});
|
|
@@ -39622,6 +39627,95 @@ var DEV_TOOLS = [
|
|
|
39622
39627
|
);
|
|
39623
39628
|
}
|
|
39624
39629
|
},
|
|
39630
|
+
{
|
|
39631
|
+
name: "wait_for_build",
|
|
39632
|
+
description: "Wait for a build to complete by polling until it reaches a terminal state (finished, canceled, failed) or timeout",
|
|
39633
|
+
inputSchema: {
|
|
39634
|
+
type: "object",
|
|
39635
|
+
properties: {
|
|
39636
|
+
buildId: { type: "string", description: "Build ID to wait for" },
|
|
39637
|
+
buildNumber: {
|
|
39638
|
+
type: "string",
|
|
39639
|
+
description: "Human build number (requires buildTypeId)"
|
|
39640
|
+
},
|
|
39641
|
+
buildTypeId: {
|
|
39642
|
+
type: "string",
|
|
39643
|
+
description: "Build configuration ID (required with buildNumber)"
|
|
39644
|
+
},
|
|
39645
|
+
timeout: {
|
|
39646
|
+
type: "number",
|
|
39647
|
+
description: "Max seconds to wait (default 600, max 3600)"
|
|
39648
|
+
},
|
|
39649
|
+
pollInterval: {
|
|
39650
|
+
type: "number",
|
|
39651
|
+
description: "Seconds between polls (default 15, min 5)"
|
|
39652
|
+
},
|
|
39653
|
+
includeTests: { type: "boolean", description: "Include test summary in result" },
|
|
39654
|
+
includeProblems: { type: "boolean", description: "Include build problems in result" }
|
|
39655
|
+
}
|
|
39656
|
+
},
|
|
39657
|
+
handler: async (args) => {
|
|
39658
|
+
const schema = import_zod4.z.object({
|
|
39659
|
+
buildId: import_zod4.z.string().min(1).optional(),
|
|
39660
|
+
buildNumber: import_zod4.z.string().min(1).optional(),
|
|
39661
|
+
buildTypeId: import_zod4.z.string().min(1).optional(),
|
|
39662
|
+
timeout: import_zod4.z.coerce.number().int().min(1).max(3600).default(600),
|
|
39663
|
+
pollInterval: import_zod4.z.coerce.number().int().min(5).max(300).default(15),
|
|
39664
|
+
includeTests: import_zod4.z.boolean().optional(),
|
|
39665
|
+
includeProblems: import_zod4.z.boolean().optional()
|
|
39666
|
+
}).superRefine((value, ctx) => {
|
|
39667
|
+
if (!value.buildId && !value.buildNumber) {
|
|
39668
|
+
ctx.addIssue({
|
|
39669
|
+
code: import_zod4.z.ZodIssueCode.custom,
|
|
39670
|
+
path: ["buildId"],
|
|
39671
|
+
message: "Either buildId or buildNumber must be provided"
|
|
39672
|
+
});
|
|
39673
|
+
}
|
|
39674
|
+
if (value.buildNumber && !value.buildTypeId) {
|
|
39675
|
+
ctx.addIssue({
|
|
39676
|
+
code: import_zod4.z.ZodIssueCode.custom,
|
|
39677
|
+
path: ["buildTypeId"],
|
|
39678
|
+
message: "buildTypeId is required when querying by buildNumber"
|
|
39679
|
+
});
|
|
39680
|
+
}
|
|
39681
|
+
});
|
|
39682
|
+
return runTool(
|
|
39683
|
+
"wait_for_build",
|
|
39684
|
+
schema,
|
|
39685
|
+
async (typed) => {
|
|
39686
|
+
const adapter = createAdapterFromTeamCityAPI(TeamCityAPI.getInstance());
|
|
39687
|
+
const statusManager = new (await Promise.resolve().then(() => (init_build_status_manager(), build_status_manager_exports))).BuildStatusManager(adapter);
|
|
39688
|
+
const deadline = Date.now() + typed.timeout * 1e3;
|
|
39689
|
+
const terminalStates = /* @__PURE__ */ new Set(["finished", "canceled", "failed"]);
|
|
39690
|
+
let pollCount = 0;
|
|
39691
|
+
const startTime = Date.now();
|
|
39692
|
+
while (true) {
|
|
39693
|
+
pollCount++;
|
|
39694
|
+
const result = await statusManager.getBuildStatus({
|
|
39695
|
+
buildId: typed.buildId,
|
|
39696
|
+
buildNumber: typed.buildNumber,
|
|
39697
|
+
buildTypeId: typed.buildTypeId,
|
|
39698
|
+
includeTests: typed.includeTests,
|
|
39699
|
+
includeProblems: typed.includeProblems,
|
|
39700
|
+
forceRefresh: true
|
|
39701
|
+
});
|
|
39702
|
+
const waitSeconds = Math.round((Date.now() - startTime) / 1e3);
|
|
39703
|
+
debug2(
|
|
39704
|
+
`wait_for_build poll #${pollCount}: state=${result.state} (${waitSeconds}s elapsed)`
|
|
39705
|
+
);
|
|
39706
|
+
if (terminalStates.has(result.state)) {
|
|
39707
|
+
return json({ ...result, pollCount, waitSeconds });
|
|
39708
|
+
}
|
|
39709
|
+
if (Date.now() >= deadline) {
|
|
39710
|
+
return json({ ...result, timedOut: true, pollCount, waitSeconds });
|
|
39711
|
+
}
|
|
39712
|
+
await sleep(typed.pollInterval * 1e3);
|
|
39713
|
+
}
|
|
39714
|
+
},
|
|
39715
|
+
args
|
|
39716
|
+
);
|
|
39717
|
+
}
|
|
39718
|
+
},
|
|
39625
39719
|
{
|
|
39626
39720
|
name: "fetch_build_log",
|
|
39627
39721
|
description: "Fetch build log with pagination (by lines)",
|
|
@@ -39658,12 +39752,12 @@ var DEV_TOOLS = [
|
|
|
39658
39752
|
handler: async (args) => {
|
|
39659
39753
|
const schema = import_zod4.z.object({
|
|
39660
39754
|
buildId: import_zod4.z.string().min(1).optional(),
|
|
39661
|
-
buildNumber: import_zod4.z.union([import_zod4.z.string().min(1), import_zod4.z.number().int().min(0)]).optional(),
|
|
39755
|
+
buildNumber: import_zod4.z.union([import_zod4.z.string().min(1), import_zod4.z.coerce.number().int().min(0)]).optional(),
|
|
39662
39756
|
buildTypeId: import_zod4.z.string().min(1).optional(),
|
|
39663
|
-
page: import_zod4.z.number().int().min(1).optional(),
|
|
39664
|
-
pageSize: import_zod4.z.number().int().min(1).max(5e3).optional(),
|
|
39665
|
-
startLine: import_zod4.z.number().int().min(0).optional(),
|
|
39666
|
-
lineCount: import_zod4.z.number().int().min(1).max(5e3).optional(),
|
|
39757
|
+
page: import_zod4.z.coerce.number().int().min(1).optional(),
|
|
39758
|
+
pageSize: import_zod4.z.coerce.number().int().min(1).max(5e3).optional(),
|
|
39759
|
+
startLine: import_zod4.z.coerce.number().int().min(0).optional(),
|
|
39760
|
+
lineCount: import_zod4.z.coerce.number().int().min(1).max(5e3).optional(),
|
|
39667
39761
|
tail: import_zod4.z.boolean().optional(),
|
|
39668
39762
|
encoding: import_zod4.z.enum(["text", "stream"]).default("text"),
|
|
39669
39763
|
outputPath: import_zod4.z.string().min(1).optional()
|
|
@@ -39897,8 +39991,8 @@ var DEV_TOOLS = [
|
|
|
39897
39991
|
const schema = import_zod4.z.object({
|
|
39898
39992
|
locator: import_zod4.z.string().min(1).optional(),
|
|
39899
39993
|
projectId: import_zod4.z.string().min(1).optional(),
|
|
39900
|
-
pageSize: import_zod4.z.number().int().min(1).max(1e3).optional(),
|
|
39901
|
-
maxPages: import_zod4.z.number().int().min(1).max(1e3).optional(),
|
|
39994
|
+
pageSize: import_zod4.z.coerce.number().int().min(1).max(1e3).optional(),
|
|
39995
|
+
maxPages: import_zod4.z.coerce.number().int().min(1).max(1e3).optional(),
|
|
39902
39996
|
all: import_zod4.z.boolean().optional(),
|
|
39903
39997
|
fields: import_zod4.z.string().min(1).optional()
|
|
39904
39998
|
});
|
|
@@ -39987,8 +40081,8 @@ var DEV_TOOLS = [
|
|
|
39987
40081
|
handler: async (args) => {
|
|
39988
40082
|
const schema = buildIdentifierSchema.and(
|
|
39989
40083
|
import_zod4.z.object({
|
|
39990
|
-
pageSize: import_zod4.z.number().int().min(1).max(1e3).optional(),
|
|
39991
|
-
maxPages: import_zod4.z.number().int().min(1).max(1e3).optional(),
|
|
40084
|
+
pageSize: import_zod4.z.coerce.number().int().min(1).max(1e3).optional(),
|
|
40085
|
+
maxPages: import_zod4.z.coerce.number().int().min(1).max(1e3).optional(),
|
|
39992
40086
|
all: import_zod4.z.boolean().optional(),
|
|
39993
40087
|
fields: import_zod4.z.string().min(1).optional()
|
|
39994
40088
|
})
|
|
@@ -40049,8 +40143,8 @@ var DEV_TOOLS = [
|
|
|
40049
40143
|
handler: async (args) => {
|
|
40050
40144
|
const schema = import_zod4.z.object({
|
|
40051
40145
|
projectId: import_zod4.z.string().min(1).optional(),
|
|
40052
|
-
pageSize: import_zod4.z.number().int().min(1).max(1e3).optional(),
|
|
40053
|
-
maxPages: import_zod4.z.number().int().min(1).max(1e3).optional(),
|
|
40146
|
+
pageSize: import_zod4.z.coerce.number().int().min(1).max(1e3).optional(),
|
|
40147
|
+
maxPages: import_zod4.z.coerce.number().int().min(1).max(1e3).optional(),
|
|
40054
40148
|
all: import_zod4.z.boolean().optional(),
|
|
40055
40149
|
fields: import_zod4.z.string().min(1).optional()
|
|
40056
40150
|
});
|
|
@@ -40246,11 +40340,12 @@ var DEV_TOOLS = [
|
|
|
40246
40340
|
updated: 0
|
|
40247
40341
|
});
|
|
40248
40342
|
}
|
|
40249
|
-
await
|
|
40250
|
-
|
|
40251
|
-
|
|
40252
|
-
|
|
40253
|
-
|
|
40343
|
+
await Promise.all(
|
|
40344
|
+
properties.map(
|
|
40345
|
+
(p) => adapter.modules.vcsRoots.setVcsRootProperty(typed.id, p.name, p.value, {
|
|
40346
|
+
headers: { "Content-Type": "text/plain", Accept: "text/plain" }
|
|
40347
|
+
})
|
|
40348
|
+
)
|
|
40254
40349
|
);
|
|
40255
40350
|
return json({
|
|
40256
40351
|
success: true,
|
|
@@ -40287,8 +40382,8 @@ var DEV_TOOLS = [
|
|
|
40287
40382
|
handler: async (args) => {
|
|
40288
40383
|
const schema = import_zod4.z.object({
|
|
40289
40384
|
locator: import_zod4.z.string().min(1).optional(),
|
|
40290
|
-
pageSize: import_zod4.z.number().int().min(1).max(1e3).optional(),
|
|
40291
|
-
maxPages: import_zod4.z.number().int().min(1).max(1e3).optional(),
|
|
40385
|
+
pageSize: import_zod4.z.coerce.number().int().min(1).max(1e3).optional(),
|
|
40386
|
+
maxPages: import_zod4.z.coerce.number().int().min(1).max(1e3).optional(),
|
|
40292
40387
|
all: import_zod4.z.boolean().optional(),
|
|
40293
40388
|
fields: import_zod4.z.string().min(1).optional()
|
|
40294
40389
|
});
|
|
@@ -40698,8 +40793,8 @@ var DEV_TOOLS = [
|
|
|
40698
40793
|
handler: async (args) => {
|
|
40699
40794
|
const schema = import_zod4.z.object({
|
|
40700
40795
|
locator: import_zod4.z.string().min(1).optional(),
|
|
40701
|
-
pageSize: import_zod4.z.number().int().min(1).max(1e3).optional(),
|
|
40702
|
-
maxPages: import_zod4.z.number().int().min(1).max(1e3).optional(),
|
|
40796
|
+
pageSize: import_zod4.z.coerce.number().int().min(1).max(1e3).optional(),
|
|
40797
|
+
maxPages: import_zod4.z.coerce.number().int().min(1).max(1e3).optional(),
|
|
40703
40798
|
all: import_zod4.z.boolean().optional(),
|
|
40704
40799
|
fields: import_zod4.z.string().min(1).optional()
|
|
40705
40800
|
});
|
|
@@ -40757,8 +40852,8 @@ var DEV_TOOLS = [
|
|
|
40757
40852
|
},
|
|
40758
40853
|
handler: async (args) => {
|
|
40759
40854
|
const schema = import_zod4.z.object({
|
|
40760
|
-
pageSize: import_zod4.z.number().int().min(1).max(1e3).optional(),
|
|
40761
|
-
maxPages: import_zod4.z.number().int().min(1).max(1e3).optional(),
|
|
40855
|
+
pageSize: import_zod4.z.coerce.number().int().min(1).max(1e3).optional(),
|
|
40856
|
+
maxPages: import_zod4.z.coerce.number().int().min(1).max(1e3).optional(),
|
|
40762
40857
|
all: import_zod4.z.boolean().optional(),
|
|
40763
40858
|
fields: import_zod4.z.string().min(1).optional()
|
|
40764
40859
|
});
|
|
@@ -40845,13 +40940,13 @@ var DEV_TOOLS = [
|
|
|
40845
40940
|
const schema = import_zod4.z.object({
|
|
40846
40941
|
buildId: import_zod4.z.string().min(1).optional(),
|
|
40847
40942
|
buildTypeId: import_zod4.z.string().min(1).optional(),
|
|
40848
|
-
buildNumber: import_zod4.z.union([import_zod4.z.string().min(1), import_zod4.z.number().int()]).optional(),
|
|
40943
|
+
buildNumber: import_zod4.z.union([import_zod4.z.string().min(1), import_zod4.z.coerce.number().int()]).optional(),
|
|
40849
40944
|
includeArtifacts: import_zod4.z.boolean().optional(),
|
|
40850
40945
|
includeStatistics: import_zod4.z.boolean().optional(),
|
|
40851
40946
|
includeChanges: import_zod4.z.boolean().optional(),
|
|
40852
40947
|
includeDependencies: import_zod4.z.boolean().optional(),
|
|
40853
40948
|
artifactFilter: import_zod4.z.string().min(1).optional(),
|
|
40854
|
-
maxArtifactSize: import_zod4.z.number().int().min(1).optional(),
|
|
40949
|
+
maxArtifactSize: import_zod4.z.coerce.number().int().min(1).optional(),
|
|
40855
40950
|
artifactEncoding: import_zod4.z.enum(["base64", "stream"]).default("base64")
|
|
40856
40951
|
}).superRefine((value, ctx) => {
|
|
40857
40952
|
const hasBuildId = typeof value.buildId === "string" && value.buildId.trim().length > 0;
|
|
@@ -40949,7 +41044,7 @@ var DEV_TOOLS = [
|
|
|
40949
41044
|
import_zod4.z.object({
|
|
40950
41045
|
artifactPath: import_zod4.z.string().min(1),
|
|
40951
41046
|
encoding: import_zod4.z.enum(["base64", "text", "stream"]).default("base64"),
|
|
40952
|
-
maxSize: import_zod4.z.number().int().positive().optional(),
|
|
41047
|
+
maxSize: import_zod4.z.coerce.number().int().positive().optional(),
|
|
40953
41048
|
outputPath: import_zod4.z.string().min(1).optional()
|
|
40954
41049
|
})
|
|
40955
41050
|
);
|
|
@@ -41036,7 +41131,7 @@ var DEV_TOOLS = [
|
|
|
41036
41131
|
import_zod4.z.object({
|
|
41037
41132
|
artifactPaths: import_zod4.z.array(artifactInputSchema).min(1),
|
|
41038
41133
|
encoding: import_zod4.z.enum(["base64", "text", "stream"]).default("base64"),
|
|
41039
|
-
maxSize: import_zod4.z.number().int().positive().optional(),
|
|
41134
|
+
maxSize: import_zod4.z.coerce.number().int().positive().optional(),
|
|
41040
41135
|
outputDir: import_zod4.z.string().min(1).optional().refine((value) => value == null || (0, import_node_path.isAbsolute)(value), {
|
|
41041
41136
|
message: "outputDir must be an absolute path"
|
|
41042
41137
|
})
|
|
@@ -41227,8 +41322,8 @@ var DEV_TOOLS = [
|
|
|
41227
41322
|
locator: import_zod4.z.string().min(1).optional(),
|
|
41228
41323
|
projectId: import_zod4.z.string().min(1).optional(),
|
|
41229
41324
|
buildId: import_zod4.z.string().min(1).optional(),
|
|
41230
|
-
pageSize: import_zod4.z.number().int().min(1).max(1e3).optional(),
|
|
41231
|
-
maxPages: import_zod4.z.number().int().min(1).max(1e3).optional(),
|
|
41325
|
+
pageSize: import_zod4.z.coerce.number().int().min(1).max(1e3).optional(),
|
|
41326
|
+
maxPages: import_zod4.z.coerce.number().int().min(1).max(1e3).optional(),
|
|
41232
41327
|
all: import_zod4.z.boolean().optional(),
|
|
41233
41328
|
fields: import_zod4.z.string().min(1).optional()
|
|
41234
41329
|
});
|
|
@@ -41297,8 +41392,8 @@ var DEV_TOOLS = [
|
|
|
41297
41392
|
locator: import_zod4.z.string().min(1).optional(),
|
|
41298
41393
|
projectId: import_zod4.z.string().min(1).optional(),
|
|
41299
41394
|
buildId: import_zod4.z.string().min(1).optional(),
|
|
41300
|
-
pageSize: import_zod4.z.number().int().min(1).max(1e3).optional(),
|
|
41301
|
-
maxPages: import_zod4.z.number().int().min(1).max(1e3).optional(),
|
|
41395
|
+
pageSize: import_zod4.z.coerce.number().int().min(1).max(1e3).optional(),
|
|
41396
|
+
maxPages: import_zod4.z.coerce.number().int().min(1).max(1e3).optional(),
|
|
41302
41397
|
all: import_zod4.z.boolean().optional(),
|
|
41303
41398
|
fields: import_zod4.z.string().min(1).optional()
|
|
41304
41399
|
});
|
|
@@ -41373,8 +41468,8 @@ var DEV_TOOLS = [
|
|
|
41373
41468
|
locator: import_zod4.z.string().min(1).optional(),
|
|
41374
41469
|
buildId: import_zod4.z.string().min(1).optional(),
|
|
41375
41470
|
problemId: import_zod4.z.string().min(1).optional(),
|
|
41376
|
-
pageSize: import_zod4.z.number().int().min(1).max(1e3).optional(),
|
|
41377
|
-
maxPages: import_zod4.z.number().int().min(1).max(1e3).optional(),
|
|
41471
|
+
pageSize: import_zod4.z.coerce.number().int().min(1).max(1e3).optional(),
|
|
41472
|
+
maxPages: import_zod4.z.coerce.number().int().min(1).max(1e3).optional(),
|
|
41378
41473
|
all: import_zod4.z.boolean().optional(),
|
|
41379
41474
|
fields: import_zod4.z.string().min(1).optional()
|
|
41380
41475
|
});
|
|
@@ -41454,8 +41549,8 @@ var DEV_TOOLS = [
|
|
|
41454
41549
|
projectId: import_zod4.z.string().min(1).optional(),
|
|
41455
41550
|
buildTypeId: import_zod4.z.string().min(1).optional(),
|
|
41456
41551
|
assigneeUsername: import_zod4.z.string().min(1).optional(),
|
|
41457
|
-
pageSize: import_zod4.z.number().int().min(1).max(1e3).optional(),
|
|
41458
|
-
maxPages: import_zod4.z.number().int().min(1).max(1e3).optional(),
|
|
41552
|
+
pageSize: import_zod4.z.coerce.number().int().min(1).max(1e3).optional(),
|
|
41553
|
+
maxPages: import_zod4.z.coerce.number().int().min(1).max(1e3).optional(),
|
|
41459
41554
|
all: import_zod4.z.boolean().optional(),
|
|
41460
41555
|
fields: import_zod4.z.string().min(1).optional()
|
|
41461
41556
|
});
|
|
@@ -41531,8 +41626,8 @@ var DEV_TOOLS = [
|
|
|
41531
41626
|
projectId: import_zod4.z.string().min(1).optional(),
|
|
41532
41627
|
buildTypeId: import_zod4.z.string().min(1).optional(),
|
|
41533
41628
|
testNameId: import_zod4.z.string().min(1).optional(),
|
|
41534
|
-
pageSize: import_zod4.z.number().int().min(1).max(1e3).optional(),
|
|
41535
|
-
maxPages: import_zod4.z.number().int().min(1).max(1e3).optional(),
|
|
41629
|
+
pageSize: import_zod4.z.coerce.number().int().min(1).max(1e3).optional(),
|
|
41630
|
+
maxPages: import_zod4.z.coerce.number().int().min(1).max(1e3).optional(),
|
|
41536
41631
|
all: import_zod4.z.boolean().optional(),
|
|
41537
41632
|
fields: import_zod4.z.string().min(1).optional()
|
|
41538
41633
|
});
|
|
@@ -41638,8 +41733,8 @@ var DEV_TOOLS = [
|
|
|
41638
41733
|
const schema = import_zod4.z.object({
|
|
41639
41734
|
locator: import_zod4.z.string().min(1).optional(),
|
|
41640
41735
|
groupId: import_zod4.z.string().min(1).optional(),
|
|
41641
|
-
pageSize: import_zod4.z.number().int().min(1).max(1e3).optional(),
|
|
41642
|
-
maxPages: import_zod4.z.number().int().min(1).max(1e3).optional(),
|
|
41736
|
+
pageSize: import_zod4.z.coerce.number().int().min(1).max(1e3).optional(),
|
|
41737
|
+
maxPages: import_zod4.z.coerce.number().int().min(1).max(1e3).optional(),
|
|
41643
41738
|
all: import_zod4.z.boolean().optional(),
|
|
41644
41739
|
fields: import_zod4.z.string().min(1).optional()
|
|
41645
41740
|
});
|
package/package.json
CHANGED
package/server.json
CHANGED
|
@@ -7,13 +7,13 @@
|
|
|
7
7
|
"source": "github"
|
|
8
8
|
},
|
|
9
9
|
"websiteUrl": "https://github.com/Daghis/teamcity-mcp",
|
|
10
|
-
"version": "2.
|
|
10
|
+
"version": "2.5.0",
|
|
11
11
|
"packages": [
|
|
12
12
|
{
|
|
13
13
|
"registryType": "npm",
|
|
14
14
|
"registryBaseUrl": "https://registry.npmjs.org",
|
|
15
15
|
"identifier": "@daghis/teamcity-mcp",
|
|
16
|
-
"version": "2.
|
|
16
|
+
"version": "2.5.0",
|
|
17
17
|
"runtimeHint": "npx",
|
|
18
18
|
"runtimeArguments": [
|
|
19
19
|
{
|