@daghis/teamcity-mcp 0.9.1 → 0.9.2

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 (1132) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/dist/index.js +1707 -16779
  3. package/dist/index.js.map +4 -4
  4. package/package.json +1 -1
  5. package/.commitlintrc.mjs +0 -25
  6. package/.eslintignore +0 -16
  7. package/.eslintrc.js +0 -166
  8. package/.github/dependabot.yml +0 -38
  9. package/.github/settings.yml +0 -7
  10. package/.github/workflows/ci.yml +0 -115
  11. package/.github/workflows/codeql.yml +0 -35
  12. package/.github/workflows/commitlint.yml +0 -20
  13. package/.github/workflows/publish.yml +0 -67
  14. package/.github/workflows/release-please.yml +0 -21
  15. package/.nvmrc +0 -1
  16. package/.prettierignore +0 -22
  17. package/.prettierrc +0 -28
  18. package/AGENTS.md +0 -129
  19. package/ARCHITECTURE.md +0 -66
  20. package/CONTRIBUTING.md +0 -68
  21. package/dist/src/api-client.d.ts +0 -51
  22. package/dist/src/api-client.d.ts.map +0 -1
  23. package/dist/src/config/index.d.ts +0 -41
  24. package/dist/src/config/index.d.ts.map +0 -1
  25. package/dist/src/errors/index.d.ts +0 -2
  26. package/dist/src/errors/index.d.ts.map +0 -1
  27. package/dist/src/formatters/build-step-formatter.d.ts +0 -5
  28. package/dist/src/formatters/build-step-formatter.d.ts.map +0 -1
  29. package/dist/src/formatters/trigger-formatter.d.ts +0 -4
  30. package/dist/src/formatters/trigger-formatter.d.ts.map +0 -1
  31. package/dist/src/index.d.ts +0 -2
  32. package/dist/src/index.d.ts.map +0 -1
  33. package/dist/src/middleware/error.d.ts +0 -56
  34. package/dist/src/middleware/error.d.ts.map +0 -1
  35. package/dist/src/middleware/global-error-handler.d.ts +0 -22
  36. package/dist/src/middleware/global-error-handler.d.ts.map +0 -1
  37. package/dist/src/middleware/index.d.ts +0 -2
  38. package/dist/src/middleware/index.d.ts.map +0 -1
  39. package/dist/src/server.d.ts +0 -4
  40. package/dist/src/server.d.ts.map +0 -1
  41. package/dist/src/swagger/index.d.ts +0 -43
  42. package/dist/src/swagger/index.d.ts.map +0 -1
  43. package/dist/src/swagger/swagger-cache.d.ts +0 -23
  44. package/dist/src/swagger/swagger-cache.d.ts.map +0 -1
  45. package/dist/src/swagger/swagger-fetcher.d.ts +0 -24
  46. package/dist/src/swagger/swagger-fetcher.d.ts.map +0 -1
  47. package/dist/src/swagger/swagger-validator.d.ts +0 -17
  48. package/dist/src/swagger/swagger-validator.d.ts.map +0 -1
  49. package/dist/src/teamcity/api-types.d.ts +0 -224
  50. package/dist/src/teamcity/api-types.d.ts.map +0 -1
  51. package/dist/src/teamcity/artifact-manager.d.ts +0 -52
  52. package/dist/src/teamcity/artifact-manager.d.ts.map +0 -1
  53. package/dist/src/teamcity/auth.d.ts +0 -22
  54. package/dist/src/teamcity/auth.d.ts.map +0 -1
  55. package/dist/src/teamcity/branch-discovery-manager.d.ts +0 -39
  56. package/dist/src/teamcity/branch-discovery-manager.d.ts.map +0 -1
  57. package/dist/src/teamcity/branch-filtering-service.d.ts +0 -62
  58. package/dist/src/teamcity/branch-filtering-service.d.ts.map +0 -1
  59. package/dist/src/teamcity/branch-specification-parser.d.ts +0 -33
  60. package/dist/src/teamcity/branch-specification-parser.d.ts.map +0 -1
  61. package/dist/src/teamcity/build-config-manager.d.ts +0 -75
  62. package/dist/src/teamcity/build-config-manager.d.ts.map +0 -1
  63. package/dist/src/teamcity/build-config-navigator.d.ts +0 -89
  64. package/dist/src/teamcity/build-config-navigator.d.ts.map +0 -1
  65. package/dist/src/teamcity/build-configuration-clone-manager.d.ts +0 -49
  66. package/dist/src/teamcity/build-configuration-clone-manager.d.ts.map +0 -1
  67. package/dist/src/teamcity/build-configuration-manager.d.ts +0 -82
  68. package/dist/src/teamcity/build-configuration-manager.d.ts.map +0 -1
  69. package/dist/src/teamcity/build-configuration-resolver.d.ts +0 -95
  70. package/dist/src/teamcity/build-configuration-resolver.d.ts.map +0 -1
  71. package/dist/src/teamcity/build-configuration-update-manager.d.ts +0 -76
  72. package/dist/src/teamcity/build-configuration-update-manager.d.ts.map +0 -1
  73. package/dist/src/teamcity/build-list-manager.d.ts +0 -62
  74. package/dist/src/teamcity/build-list-manager.d.ts.map +0 -1
  75. package/dist/src/teamcity/build-parameters-manager.d.ts +0 -143
  76. package/dist/src/teamcity/build-parameters-manager.d.ts.map +0 -1
  77. package/dist/src/teamcity/build-progress-tracker.d.ts +0 -49
  78. package/dist/src/teamcity/build-progress-tracker.d.ts.map +0 -1
  79. package/dist/src/teamcity/build-query-builder.d.ts +0 -27
  80. package/dist/src/teamcity/build-query-builder.d.ts.map +0 -1
  81. package/dist/src/teamcity/build-queue-manager.d.ts +0 -102
  82. package/dist/src/teamcity/build-queue-manager.d.ts.map +0 -1
  83. package/dist/src/teamcity/build-results-manager.d.ts +0 -87
  84. package/dist/src/teamcity/build-results-manager.d.ts.map +0 -1
  85. package/dist/src/teamcity/build-status-manager.d.ts +0 -65
  86. package/dist/src/teamcity/build-status-manager.d.ts.map +0 -1
  87. package/dist/src/teamcity/build-step-manager.d.ts +0 -65
  88. package/dist/src/teamcity/build-step-manager.d.ts.map +0 -1
  89. package/dist/src/teamcity/build-trigger-manager.d.ts +0 -108
  90. package/dist/src/teamcity/build-trigger-manager.d.ts.map +0 -1
  91. package/dist/src/teamcity/circuit-breaker.d.ts +0 -47
  92. package/dist/src/teamcity/circuit-breaker.d.ts.map +0 -1
  93. package/dist/src/teamcity/client-adapter.d.ts +0 -12
  94. package/dist/src/teamcity/client-adapter.d.ts.map +0 -1
  95. package/dist/src/teamcity/client.d.ts +0 -49
  96. package/dist/src/teamcity/client.d.ts.map +0 -1
  97. package/dist/src/teamcity/config.d.ts +0 -41
  98. package/dist/src/teamcity/config.d.ts.map +0 -1
  99. package/dist/src/teamcity/configuration-branch-matcher.d.ts +0 -37
  100. package/dist/src/teamcity/configuration-branch-matcher.d.ts.map +0 -1
  101. package/dist/src/teamcity/errors.d.ts +0 -79
  102. package/dist/src/teamcity/errors.d.ts.map +0 -1
  103. package/dist/src/teamcity/index.d.ts +0 -48
  104. package/dist/src/teamcity/index.d.ts.map +0 -1
  105. package/dist/src/teamcity/pagination.d.ts +0 -32
  106. package/dist/src/teamcity/pagination.d.ts.map +0 -1
  107. package/dist/src/teamcity/project-list-manager.d.ts +0 -19
  108. package/dist/src/teamcity/project-list-manager.d.ts.map +0 -1
  109. package/dist/src/teamcity/project-manager.d.ts +0 -73
  110. package/dist/src/teamcity/project-manager.d.ts.map +0 -1
  111. package/dist/src/teamcity/project-navigator.d.ts +0 -100
  112. package/dist/src/teamcity/project-navigator.d.ts.map +0 -1
  113. package/dist/src/teamcity/test-problem-reporter.d.ts +0 -60
  114. package/dist/src/teamcity/test-problem-reporter.d.ts.map +0 -1
  115. package/dist/src/teamcity/types/api-responses.d.ts +0 -235
  116. package/dist/src/teamcity/types/api-responses.d.ts.map +0 -1
  117. package/dist/src/teamcity-client/api/agent-api.d.ts +0 -97
  118. package/dist/src/teamcity-client/api/agent-api.d.ts.map +0 -1
  119. package/dist/src/teamcity-client/api/agent-pool-api.d.ts +0 -92
  120. package/dist/src/teamcity-client/api/agent-pool-api.d.ts.map +0 -1
  121. package/dist/src/teamcity-client/api/agent-type-api.d.ts +0 -20
  122. package/dist/src/teamcity-client/api/agent-type-api.d.ts.map +0 -1
  123. package/dist/src/teamcity-client/api/audit-api.d.ts +0 -26
  124. package/dist/src/teamcity-client/api/audit-api.d.ts.map +0 -1
  125. package/dist/src/teamcity-client/api/avatar-api.d.ts +0 -34
  126. package/dist/src/teamcity-client/api/avatar-api.d.ts.map +0 -1
  127. package/dist/src/teamcity-client/api/build-api.d.ts +0 -315
  128. package/dist/src/teamcity-client/api/build-api.d.ts.map +0 -1
  129. package/dist/src/teamcity-client/api/build-queue-api.d.ts +0 -90
  130. package/dist/src/teamcity-client/api/build-queue-api.d.ts.map +0 -1
  131. package/dist/src/teamcity-client/api/build-type-api.d.ts +0 -585
  132. package/dist/src/teamcity-client/api/build-type-api.d.ts.map +0 -1
  133. package/dist/src/teamcity-client/api/change-api.d.ts +0 -71
  134. package/dist/src/teamcity-client/api/change-api.d.ts.map +0 -1
  135. package/dist/src/teamcity-client/api/cloud-instance-api.d.ts +0 -70
  136. package/dist/src/teamcity-client/api/cloud-instance-api.d.ts.map +0 -1
  137. package/dist/src/teamcity-client/api/deployment-dashboard-api.d.ts +0 -64
  138. package/dist/src/teamcity-client/api/deployment-dashboard-api.d.ts.map +0 -1
  139. package/dist/src/teamcity-client/api/global-server-settings-api.d.ts +0 -25
  140. package/dist/src/teamcity-client/api/global-server-settings-api.d.ts.map +0 -1
  141. package/dist/src/teamcity-client/api/group-api.d.ts +0 -99
  142. package/dist/src/teamcity-client/api/group-api.d.ts.map +0 -1
  143. package/dist/src/teamcity-client/api/health-api.d.ts +0 -38
  144. package/dist/src/teamcity-client/api/health-api.d.ts.map +0 -1
  145. package/dist/src/teamcity-client/api/investigation-api.d.ts +0 -46
  146. package/dist/src/teamcity-client/api/investigation-api.d.ts.map +0 -1
  147. package/dist/src/teamcity-client/api/mute-api.d.ts +0 -46
  148. package/dist/src/teamcity-client/api/mute-api.d.ts.map +0 -1
  149. package/dist/src/teamcity-client/api/node-api.d.ts +0 -49
  150. package/dist/src/teamcity-client/api/node-api.d.ts.map +0 -1
  151. package/dist/src/teamcity-client/api/problem-api.d.ts +0 -26
  152. package/dist/src/teamcity-client/api/problem-api.d.ts.map +0 -1
  153. package/dist/src/teamcity-client/api/problem-occurrence-api.d.ts +0 -26
  154. package/dist/src/teamcity-client/api/problem-occurrence-api.d.ts.map +0 -1
  155. package/dist/src/teamcity-client/api/project-api.d.ts +0 -271
  156. package/dist/src/teamcity-client/api/project-api.d.ts.map +0 -1
  157. package/dist/src/teamcity-client/api/role-api.d.ts +0 -56
  158. package/dist/src/teamcity-client/api/role-api.d.ts.map +0 -1
  159. package/dist/src/teamcity-client/api/root-api.d.ts +0 -35
  160. package/dist/src/teamcity-client/api/root-api.d.ts.map +0 -1
  161. package/dist/src/teamcity-client/api/server-api.d.ts +0 -112
  162. package/dist/src/teamcity-client/api/server-api.d.ts.map +0 -1
  163. package/dist/src/teamcity-client/api/server-authentication-settings-api.d.ts +0 -25
  164. package/dist/src/teamcity-client/api/server-authentication-settings-api.d.ts.map +0 -1
  165. package/dist/src/teamcity-client/api/test-api.d.ts +0 -26
  166. package/dist/src/teamcity-client/api/test-api.d.ts.map +0 -1
  167. package/dist/src/teamcity-client/api/test-occurrence-api.d.ts +0 -26
  168. package/dist/src/teamcity-client/api/test-occurrence-api.d.ts.map +0 -1
  169. package/dist/src/teamcity-client/api/user-api.d.ts +0 -164
  170. package/dist/src/teamcity-client/api/user-api.d.ts.map +0 -1
  171. package/dist/src/teamcity-client/api/vcs-root-api.d.ts +0 -88
  172. package/dist/src/teamcity-client/api/vcs-root-api.d.ts.map +0 -1
  173. package/dist/src/teamcity-client/api/vcs-root-instance-api.d.ts +0 -104
  174. package/dist/src/teamcity-client/api/vcs-root-instance-api.d.ts.map +0 -1
  175. package/dist/src/teamcity-client/api/versioned-settings-api.d.ts +0 -94
  176. package/dist/src/teamcity-client/api/versioned-settings-api.d.ts.map +0 -1
  177. package/dist/src/teamcity-client/api.d.ts +0 -31
  178. package/dist/src/teamcity-client/api.d.ts.map +0 -1
  179. package/dist/src/teamcity-client/base.d.ts +0 -32
  180. package/dist/src/teamcity-client/base.d.ts.map +0 -1
  181. package/dist/src/teamcity-client/common.d.ts +0 -14
  182. package/dist/src/teamcity-client/common.d.ts.map +0 -1
  183. package/dist/src/teamcity-client/configuration.d.ts +0 -23
  184. package/dist/src/teamcity-client/configuration.d.ts.map +0 -1
  185. package/dist/src/teamcity-client/index.d.ts +0 -4
  186. package/dist/src/teamcity-client/index.d.ts.map +0 -1
  187. package/dist/src/teamcity-client/models/agent-locator.d.ts +0 -34
  188. package/dist/src/teamcity-client/models/agent-locator.d.ts.map +0 -1
  189. package/dist/src/teamcity-client/models/agent-pool-locator.d.ts +0 -10
  190. package/dist/src/teamcity-client/models/agent-pool-locator.d.ts.map +0 -1
  191. package/dist/src/teamcity-client/models/agent-pool.d.ts +0 -16
  192. package/dist/src/teamcity-client/models/agent-pool.d.ts.map +0 -1
  193. package/dist/src/teamcity-client/models/agent-pools.d.ts +0 -9
  194. package/dist/src/teamcity-client/models/agent-pools.d.ts.map +0 -1
  195. package/dist/src/teamcity-client/models/agent-requirement.d.ts +0 -11
  196. package/dist/src/teamcity-client/models/agent-requirement.d.ts.map +0 -1
  197. package/dist/src/teamcity-client/models/agent-requirements.d.ts +0 -6
  198. package/dist/src/teamcity-client/models/agent-requirements.d.ts.map +0 -1
  199. package/dist/src/teamcity-client/models/agent-type-locator.d.ts +0 -8
  200. package/dist/src/teamcity-client/models/agent-type-locator.d.ts.map +0 -1
  201. package/dist/src/teamcity-client/models/agent-type.d.ts +0 -14
  202. package/dist/src/teamcity-client/models/agent-type.d.ts.map +0 -1
  203. package/dist/src/teamcity-client/models/agent-types.d.ts +0 -9
  204. package/dist/src/teamcity-client/models/agent-types.d.ts.map +0 -1
  205. package/dist/src/teamcity-client/models/agent.d.ts +0 -59
  206. package/dist/src/teamcity-client/models/agent.d.ts.map +0 -1
  207. package/dist/src/teamcity-client/models/agents.d.ts +0 -9
  208. package/dist/src/teamcity-client/models/agents.d.ts.map +0 -1
  209. package/dist/src/teamcity-client/models/approvable-build.d.ts +0 -6
  210. package/dist/src/teamcity-client/models/approvable-build.d.ts.map +0 -1
  211. package/dist/src/teamcity-client/models/approval-info.d.ts +0 -24
  212. package/dist/src/teamcity-client/models/approval-info.d.ts.map +0 -1
  213. package/dist/src/teamcity-client/models/artifact-dependencies.d.ts +0 -7
  214. package/dist/src/teamcity-client/models/artifact-dependencies.d.ts.map +0 -1
  215. package/dist/src/teamcity-client/models/artifact-dependency.d.ts +0 -13
  216. package/dist/src/teamcity-client/models/artifact-dependency.d.ts.map +0 -1
  217. package/dist/src/teamcity-client/models/artifact-download-info.d.ts +0 -5
  218. package/dist/src/teamcity-client/models/artifact-download-info.d.ts.map +0 -1
  219. package/dist/src/teamcity-client/models/audit-action.d.ts +0 -6
  220. package/dist/src/teamcity-client/models/audit-action.d.ts.map +0 -1
  221. package/dist/src/teamcity-client/models/audit-event.d.ts +0 -12
  222. package/dist/src/teamcity-client/models/audit-event.d.ts.map +0 -1
  223. package/dist/src/teamcity-client/models/audit-events.d.ts +0 -9
  224. package/dist/src/teamcity-client/models/audit-events.d.ts.map +0 -1
  225. package/dist/src/teamcity-client/models/audit-locator.d.ts +0 -245
  226. package/dist/src/teamcity-client/models/audit-locator.d.ts.map +0 -1
  227. package/dist/src/teamcity-client/models/auth-module.d.ts +0 -6
  228. package/dist/src/teamcity-client/models/auth-module.d.ts.map +0 -1
  229. package/dist/src/teamcity-client/models/auth-modules.d.ts +0 -5
  230. package/dist/src/teamcity-client/models/auth-modules.d.ts.map +0 -1
  231. package/dist/src/teamcity-client/models/authorization-tokens-requirements.d.ts +0 -5
  232. package/dist/src/teamcity-client/models/authorization-tokens-requirements.d.ts.map +0 -1
  233. package/dist/src/teamcity-client/models/authorized-info.d.ts +0 -6
  234. package/dist/src/teamcity-client/models/authorized-info.d.ts.map +0 -1
  235. package/dist/src/teamcity-client/models/branch-locator.d.ts +0 -40
  236. package/dist/src/teamcity-client/models/branch-locator.d.ts.map +0 -1
  237. package/dist/src/teamcity-client/models/branch-version.d.ts +0 -13
  238. package/dist/src/teamcity-client/models/branch-version.d.ts.map +0 -1
  239. package/dist/src/teamcity-client/models/branch.d.ts +0 -12
  240. package/dist/src/teamcity-client/models/branch.d.ts.map +0 -1
  241. package/dist/src/teamcity-client/models/branches.d.ts +0 -7
  242. package/dist/src/teamcity-client/models/branches.d.ts.map +0 -1
  243. package/dist/src/teamcity-client/models/build-cancel-request.d.ts +0 -5
  244. package/dist/src/teamcity-client/models/build-cancel-request.d.ts.map +0 -1
  245. package/dist/src/teamcity-client/models/build-change.d.ts +0 -6
  246. package/dist/src/teamcity-client/models/build-change.d.ts.map +0 -1
  247. package/dist/src/teamcity-client/models/build-changes.d.ts +0 -6
  248. package/dist/src/teamcity-client/models/build-changes.d.ts.map +0 -1
  249. package/dist/src/teamcity-client/models/build-executor.d.ts +0 -4
  250. package/dist/src/teamcity-client/models/build-executor.d.ts.map +0 -1
  251. package/dist/src/teamcity-client/models/build-locator.d.ts +0 -69
  252. package/dist/src/teamcity-client/models/build-locator.d.ts.map +0 -1
  253. package/dist/src/teamcity-client/models/build-queue-locator.d.ts +0 -14
  254. package/dist/src/teamcity-client/models/build-queue-locator.d.ts.map +0 -1
  255. package/dist/src/teamcity-client/models/build-status-update.d.ts +0 -5
  256. package/dist/src/teamcity-client/models/build-status-update.d.ts.map +0 -1
  257. package/dist/src/teamcity-client/models/build-trigger-customization.d.ts +0 -7
  258. package/dist/src/teamcity-client/models/build-trigger-customization.d.ts.map +0 -1
  259. package/dist/src/teamcity-client/models/build-triggering-options.d.ts +0 -12
  260. package/dist/src/teamcity-client/models/build-triggering-options.d.ts.map +0 -1
  261. package/dist/src/teamcity-client/models/build-type-locator.d.ts +0 -18
  262. package/dist/src/teamcity-client/models/build-type-locator.d.ts.map +0 -1
  263. package/dist/src/teamcity-client/models/build-type.d.ts +0 -64
  264. package/dist/src/teamcity-client/models/build-type.d.ts.map +0 -1
  265. package/dist/src/teamcity-client/models/build-types.d.ts +0 -9
  266. package/dist/src/teamcity-client/models/build-types.d.ts.map +0 -1
  267. package/dist/src/teamcity-client/models/build.d.ts +0 -127
  268. package/dist/src/teamcity-client/models/build.d.ts.map +0 -1
  269. package/dist/src/teamcity-client/models/builds-with-reason.d.ts +0 -6
  270. package/dist/src/teamcity-client/models/builds-with-reason.d.ts.map +0 -1
  271. package/dist/src/teamcity-client/models/builds.d.ts +0 -9
  272. package/dist/src/teamcity-client/models/builds.d.ts.map +0 -1
  273. package/dist/src/teamcity-client/models/change-locator.d.ts +0 -21
  274. package/dist/src/teamcity-client/models/change-locator.d.ts.map +0 -1
  275. package/dist/src/teamcity-client/models/change-status.d.ts +0 -19
  276. package/dist/src/teamcity-client/models/change-status.d.ts.map +0 -1
  277. package/dist/src/teamcity-client/models/change.d.ts +0 -35
  278. package/dist/src/teamcity-client/models/change.d.ts.map +0 -1
  279. package/dist/src/teamcity-client/models/changes.d.ts +0 -9
  280. package/dist/src/teamcity-client/models/changes.d.ts.map +0 -1
  281. package/dist/src/teamcity-client/models/cleanup.d.ts +0 -9
  282. package/dist/src/teamcity-client/models/cleanup.d.ts.map +0 -1
  283. package/dist/src/teamcity-client/models/cloud-error.d.ts +0 -5
  284. package/dist/src/teamcity-client/models/cloud-error.d.ts.map +0 -1
  285. package/dist/src/teamcity-client/models/cloud-image-locator.d.ts +0 -17
  286. package/dist/src/teamcity-client/models/cloud-image-locator.d.ts.map +0 -1
  287. package/dist/src/teamcity-client/models/cloud-image.d.ts +0 -18
  288. package/dist/src/teamcity-client/models/cloud-image.d.ts.map +0 -1
  289. package/dist/src/teamcity-client/models/cloud-images.d.ts +0 -9
  290. package/dist/src/teamcity-client/models/cloud-images.d.ts.map +0 -1
  291. package/dist/src/teamcity-client/models/cloud-instance-locator.d.ts +0 -13
  292. package/dist/src/teamcity-client/models/cloud-instance-locator.d.ts.map +0 -1
  293. package/dist/src/teamcity-client/models/cloud-instance.d.ts +0 -16
  294. package/dist/src/teamcity-client/models/cloud-instance.d.ts.map +0 -1
  295. package/dist/src/teamcity-client/models/cloud-instances.d.ts +0 -9
  296. package/dist/src/teamcity-client/models/cloud-instances.d.ts.map +0 -1
  297. package/dist/src/teamcity-client/models/cloud-profile-locator.d.ts +0 -13
  298. package/dist/src/teamcity-client/models/cloud-profile-locator.d.ts.map +0 -1
  299. package/dist/src/teamcity-client/models/cloud-profile.d.ts +0 -13
  300. package/dist/src/teamcity-client/models/cloud-profile.d.ts.map +0 -1
  301. package/dist/src/teamcity-client/models/cloud-profiles.d.ts +0 -9
  302. package/dist/src/teamcity-client/models/cloud-profiles.d.ts.map +0 -1
  303. package/dist/src/teamcity-client/models/comment.d.ts +0 -7
  304. package/dist/src/teamcity-client/models/comment.d.ts.map +0 -1
  305. package/dist/src/teamcity-client/models/commiter.d.ts +0 -6
  306. package/dist/src/teamcity-client/models/commiter.d.ts.map +0 -1
  307. package/dist/src/teamcity-client/models/compatibilities.d.ts +0 -6
  308. package/dist/src/teamcity-client/models/compatibilities.d.ts.map +0 -1
  309. package/dist/src/teamcity-client/models/compatibility-policy.d.ts +0 -6
  310. package/dist/src/teamcity-client/models/compatibility-policy.d.ts.map +0 -1
  311. package/dist/src/teamcity-client/models/compatibility.d.ts +0 -10
  312. package/dist/src/teamcity-client/models/compatibility.d.ts.map +0 -1
  313. package/dist/src/teamcity-client/models/composite-approval-rule.d.ts +0 -10
  314. package/dist/src/teamcity-client/models/composite-approval-rule.d.ts.map +0 -1
  315. package/dist/src/teamcity-client/models/composite-approvals.d.ts +0 -6
  316. package/dist/src/teamcity-client/models/composite-approvals.d.ts.map +0 -1
  317. package/dist/src/teamcity-client/models/cron.d.ts +0 -8
  318. package/dist/src/teamcity-client/models/cron.d.ts.map +0 -1
  319. package/dist/src/teamcity-client/models/customizations.d.ts +0 -15
  320. package/dist/src/teamcity-client/models/customizations.d.ts.map +0 -1
  321. package/dist/src/teamcity-client/models/daily.d.ts +0 -5
  322. package/dist/src/teamcity-client/models/daily.d.ts.map +0 -1
  323. package/dist/src/teamcity-client/models/datas.d.ts +0 -6
  324. package/dist/src/teamcity-client/models/datas.d.ts.map +0 -1
  325. package/dist/src/teamcity-client/models/deployment-dashboard-locator.d.ts +0 -9
  326. package/dist/src/teamcity-client/models/deployment-dashboard-locator.d.ts.map +0 -1
  327. package/dist/src/teamcity-client/models/deployment-dashboard.d.ts +0 -9
  328. package/dist/src/teamcity-client/models/deployment-dashboard.d.ts.map +0 -1
  329. package/dist/src/teamcity-client/models/deployment-dashboards.d.ts +0 -9
  330. package/dist/src/teamcity-client/models/deployment-dashboards.d.ts.map +0 -1
  331. package/dist/src/teamcity-client/models/deployment-history.d.ts +0 -6
  332. package/dist/src/teamcity-client/models/deployment-history.d.ts.map +0 -1
  333. package/dist/src/teamcity-client/models/deployment-instance-locator.d.ts +0 -16
  334. package/dist/src/teamcity-client/models/deployment-instance-locator.d.ts.map +0 -1
  335. package/dist/src/teamcity-client/models/deployment-instance.d.ts +0 -20
  336. package/dist/src/teamcity-client/models/deployment-instance.d.ts.map +0 -1
  337. package/dist/src/teamcity-client/models/deployment-instances.d.ts +0 -9
  338. package/dist/src/teamcity-client/models/deployment-instances.d.ts.map +0 -1
  339. package/dist/src/teamcity-client/models/deployment-state-entries.d.ts +0 -8
  340. package/dist/src/teamcity-client/models/deployment-state-entries.d.ts.map +0 -1
  341. package/dist/src/teamcity-client/models/deployment-state-entry.d.ts +0 -16
  342. package/dist/src/teamcity-client/models/deployment-state-entry.d.ts.map +0 -1
  343. package/dist/src/teamcity-client/models/disabled-responsibilities.d.ts +0 -6
  344. package/dist/src/teamcity-client/models/disabled-responsibilities.d.ts.map +0 -1
  345. package/dist/src/teamcity-client/models/download-info.d.ts +0 -8
  346. package/dist/src/teamcity-client/models/download-info.d.ts.map +0 -1
  347. package/dist/src/teamcity-client/models/downloaded-artifacts.d.ts +0 -7
  348. package/dist/src/teamcity-client/models/downloaded-artifacts.d.ts.map +0 -1
  349. package/dist/src/teamcity-client/models/effective-responsibilities.d.ts +0 -6
  350. package/dist/src/teamcity-client/models/effective-responsibilities.d.ts.map +0 -1
  351. package/dist/src/teamcity-client/models/enabled-info.d.ts +0 -7
  352. package/dist/src/teamcity-client/models/enabled-info.d.ts.map +0 -1
  353. package/dist/src/teamcity-client/models/enabled-responsibilities.d.ts +0 -6
  354. package/dist/src/teamcity-client/models/enabled-responsibilities.d.ts.map +0 -1
  355. package/dist/src/teamcity-client/models/entries.d.ts +0 -6
  356. package/dist/src/teamcity-client/models/entries.d.ts.map +0 -1
  357. package/dist/src/teamcity-client/models/entry.d.ts +0 -5
  358. package/dist/src/teamcity-client/models/entry.d.ts.map +0 -1
  359. package/dist/src/teamcity-client/models/environment.d.ts +0 -5
  360. package/dist/src/teamcity-client/models/environment.d.ts.map +0 -1
  361. package/dist/src/teamcity-client/models/feature.d.ts +0 -11
  362. package/dist/src/teamcity-client/models/feature.d.ts.map +0 -1
  363. package/dist/src/teamcity-client/models/features.d.ts +0 -6
  364. package/dist/src/teamcity-client/models/features.d.ts.map +0 -1
  365. package/dist/src/teamcity-client/models/file-change.d.ts +0 -10
  366. package/dist/src/teamcity-client/models/file-change.d.ts.map +0 -1
  367. package/dist/src/teamcity-client/models/file-changes.d.ts +0 -6
  368. package/dist/src/teamcity-client/models/file-changes.d.ts.map +0 -1
  369. package/dist/src/teamcity-client/models/files.d.ts +0 -6
  370. package/dist/src/teamcity-client/models/files.d.ts.map +0 -1
  371. package/dist/src/teamcity-client/models/group-approval-rule.d.ts +0 -8
  372. package/dist/src/teamcity-client/models/group-approval-rule.d.ts.map +0 -1
  373. package/dist/src/teamcity-client/models/group-approvals.d.ts +0 -6
  374. package/dist/src/teamcity-client/models/group-approvals.d.ts.map +0 -1
  375. package/dist/src/teamcity-client/models/group.d.ts +0 -16
  376. package/dist/src/teamcity-client/models/group.d.ts.map +0 -1
  377. package/dist/src/teamcity-client/models/groups.d.ts +0 -6
  378. package/dist/src/teamcity-client/models/groups.d.ts.map +0 -1
  379. package/dist/src/teamcity-client/models/health-categories.d.ts +0 -9
  380. package/dist/src/teamcity-client/models/health-categories.d.ts.map +0 -1
  381. package/dist/src/teamcity-client/models/health-category.d.ts +0 -7
  382. package/dist/src/teamcity-client/models/health-category.d.ts.map +0 -1
  383. package/dist/src/teamcity-client/models/health-item.d.ts +0 -13
  384. package/dist/src/teamcity-client/models/health-item.d.ts.map +0 -1
  385. package/dist/src/teamcity-client/models/health-status-items.d.ts +0 -9
  386. package/dist/src/teamcity-client/models/health-status-items.d.ts.map +0 -1
  387. package/dist/src/teamcity-client/models/href.d.ts +0 -4
  388. package/dist/src/teamcity-client/models/href.d.ts.map +0 -1
  389. package/dist/src/teamcity-client/models/index.d.ts +0 -230
  390. package/dist/src/teamcity-client/models/index.d.ts.map +0 -1
  391. package/dist/src/teamcity-client/models/investigation-locator.d.ts +0 -35
  392. package/dist/src/teamcity-client/models/investigation-locator.d.ts.map +0 -1
  393. package/dist/src/teamcity-client/models/investigation.d.ts +0 -24
  394. package/dist/src/teamcity-client/models/investigation.d.ts.map +0 -1
  395. package/dist/src/teamcity-client/models/investigations.d.ts +0 -9
  396. package/dist/src/teamcity-client/models/investigations.d.ts.map +0 -1
  397. package/dist/src/teamcity-client/models/issue-usage.d.ts +0 -7
  398. package/dist/src/teamcity-client/models/issue-usage.d.ts.map +0 -1
  399. package/dist/src/teamcity-client/models/issue.d.ts +0 -5
  400. package/dist/src/teamcity-client/models/issue.d.ts.map +0 -1
  401. package/dist/src/teamcity-client/models/issues-usages.d.ts +0 -7
  402. package/dist/src/teamcity-client/models/issues-usages.d.ts.map +0 -1
  403. package/dist/src/teamcity-client/models/issues.d.ts +0 -5
  404. package/dist/src/teamcity-client/models/issues.d.ts.map +0 -1
  405. package/dist/src/teamcity-client/models/items.d.ts +0 -4
  406. package/dist/src/teamcity-client/models/items.d.ts.map +0 -1
  407. package/dist/src/teamcity-client/models/labeled-value.d.ts +0 -5
  408. package/dist/src/teamcity-client/models/labeled-value.d.ts.map +0 -1
  409. package/dist/src/teamcity-client/models/license-key.d.ts +0 -29
  410. package/dist/src/teamcity-client/models/license-key.d.ts.map +0 -1
  411. package/dist/src/teamcity-client/models/license-keys.d.ts +0 -7
  412. package/dist/src/teamcity-client/models/license-keys.d.ts.map +0 -1
  413. package/dist/src/teamcity-client/models/licensing-data.d.ts +0 -26
  414. package/dist/src/teamcity-client/models/licensing-data.d.ts.map +0 -1
  415. package/dist/src/teamcity-client/models/link.d.ts +0 -6
  416. package/dist/src/teamcity-client/models/link.d.ts.map +0 -1
  417. package/dist/src/teamcity-client/models/links.d.ts +0 -6
  418. package/dist/src/teamcity-client/models/links.d.ts.map +0 -1
  419. package/dist/src/teamcity-client/models/matrix-build-feature-descriptor.d.ts +0 -8
  420. package/dist/src/teamcity-client/models/matrix-build-feature-descriptor.d.ts.map +0 -1
  421. package/dist/src/teamcity-client/models/matrix-configuration.d.ts +0 -9
  422. package/dist/src/teamcity-client/models/matrix-configuration.d.ts.map +0 -1
  423. package/dist/src/teamcity-client/models/matrix-dependencies.d.ts +0 -6
  424. package/dist/src/teamcity-client/models/matrix-dependencies.d.ts.map +0 -1
  425. package/dist/src/teamcity-client/models/matrix-dependency.d.ts +0 -7
  426. package/dist/src/teamcity-client/models/matrix-dependency.d.ts.map +0 -1
  427. package/dist/src/teamcity-client/models/matrix-parameter-descriptor.d.ts +0 -7
  428. package/dist/src/teamcity-client/models/matrix-parameter-descriptor.d.ts.map +0 -1
  429. package/dist/src/teamcity-client/models/meta-data.d.ts +0 -6
  430. package/dist/src/teamcity-client/models/meta-data.d.ts.map +0 -1
  431. package/dist/src/teamcity-client/models/metric-tag.d.ts +0 -5
  432. package/dist/src/teamcity-client/models/metric-tag.d.ts.map +0 -1
  433. package/dist/src/teamcity-client/models/metric-tags.d.ts +0 -6
  434. package/dist/src/teamcity-client/models/metric-tags.d.ts.map +0 -1
  435. package/dist/src/teamcity-client/models/metric-value.d.ts +0 -7
  436. package/dist/src/teamcity-client/models/metric-value.d.ts.map +0 -1
  437. package/dist/src/teamcity-client/models/metric-values.d.ts +0 -6
  438. package/dist/src/teamcity-client/models/metric-values.d.ts.map +0 -1
  439. package/dist/src/teamcity-client/models/metric.d.ts +0 -10
  440. package/dist/src/teamcity-client/models/metric.d.ts.map +0 -1
  441. package/dist/src/teamcity-client/models/metrics.d.ts +0 -6
  442. package/dist/src/teamcity-client/models/metrics.d.ts.map +0 -1
  443. package/dist/src/teamcity-client/models/model-file.d.ts +0 -13
  444. package/dist/src/teamcity-client/models/model-file.d.ts.map +0 -1
  445. package/dist/src/teamcity-client/models/multiple-operation-result.d.ts +0 -7
  446. package/dist/src/teamcity-client/models/multiple-operation-result.d.ts.map +0 -1
  447. package/dist/src/teamcity-client/models/mute-locator.d.ts +0 -26
  448. package/dist/src/teamcity-client/models/mute-locator.d.ts.map +0 -1
  449. package/dist/src/teamcity-client/models/mute.d.ts +0 -13
  450. package/dist/src/teamcity-client/models/mute.d.ts.map +0 -1
  451. package/dist/src/teamcity-client/models/mutes.d.ts +0 -9
  452. package/dist/src/teamcity-client/models/mutes.d.ts.map +0 -1
  453. package/dist/src/teamcity-client/models/new-build-type-description.d.ts +0 -13
  454. package/dist/src/teamcity-client/models/new-build-type-description.d.ts.map +0 -1
  455. package/dist/src/teamcity-client/models/new-project-description.d.ts +0 -15
  456. package/dist/src/teamcity-client/models/new-project-description.d.ts.map +0 -1
  457. package/dist/src/teamcity-client/models/node.d.ts +0 -21
  458. package/dist/src/teamcity-client/models/node.d.ts.map +0 -1
  459. package/dist/src/teamcity-client/models/nodes.d.ts +0 -6
  460. package/dist/src/teamcity-client/models/nodes.d.ts.map +0 -1
  461. package/dist/src/teamcity-client/models/operation-result.d.ts +0 -6
  462. package/dist/src/teamcity-client/models/operation-result.d.ts.map +0 -1
  463. package/dist/src/teamcity-client/models/parsed-test-name.d.ts +0 -10
  464. package/dist/src/teamcity-client/models/parsed-test-name.d.ts.map +0 -1
  465. package/dist/src/teamcity-client/models/permission-assignment.d.ts +0 -8
  466. package/dist/src/teamcity-client/models/permission-assignment.d.ts.map +0 -1
  467. package/dist/src/teamcity-client/models/permission-assignments.d.ts +0 -6
  468. package/dist/src/teamcity-client/models/permission-assignments.d.ts.map +0 -1
  469. package/dist/src/teamcity-client/models/permission-restriction.d.ts +0 -8
  470. package/dist/src/teamcity-client/models/permission-restriction.d.ts.map +0 -1
  471. package/dist/src/teamcity-client/models/permission-restrictions.d.ts +0 -6
  472. package/dist/src/teamcity-client/models/permission-restrictions.d.ts.map +0 -1
  473. package/dist/src/teamcity-client/models/permission.d.ts +0 -6
  474. package/dist/src/teamcity-client/models/permission.d.ts.map +0 -1
  475. package/dist/src/teamcity-client/models/permissions.d.ts +0 -6
  476. package/dist/src/teamcity-client/models/permissions.d.ts.map +0 -1
  477. package/dist/src/teamcity-client/models/pin-info.d.ts +0 -6
  478. package/dist/src/teamcity-client/models/pin-info.d.ts.map +0 -1
  479. package/dist/src/teamcity-client/models/plugin.d.ts +0 -9
  480. package/dist/src/teamcity-client/models/plugin.d.ts.map +0 -1
  481. package/dist/src/teamcity-client/models/plugins.d.ts +0 -6
  482. package/dist/src/teamcity-client/models/plugins.d.ts.map +0 -1
  483. package/dist/src/teamcity-client/models/problem-locator.d.ts +0 -15
  484. package/dist/src/teamcity-client/models/problem-locator.d.ts.map +0 -1
  485. package/dist/src/teamcity-client/models/problem-occurrence-locator.d.ts +0 -16
  486. package/dist/src/teamcity-client/models/problem-occurrence-locator.d.ts.map +0 -1
  487. package/dist/src/teamcity-client/models/problem-occurrence.d.ts +0 -20
  488. package/dist/src/teamcity-client/models/problem-occurrence.d.ts.map +0 -1
  489. package/dist/src/teamcity-client/models/problem-occurrences.d.ts +0 -14
  490. package/dist/src/teamcity-client/models/problem-occurrences.d.ts.map +0 -1
  491. package/dist/src/teamcity-client/models/problem-scope.d.ts +0 -9
  492. package/dist/src/teamcity-client/models/problem-scope.d.ts.map +0 -1
  493. package/dist/src/teamcity-client/models/problem-target.d.ts +0 -8
  494. package/dist/src/teamcity-client/models/problem-target.d.ts.map +0 -1
  495. package/dist/src/teamcity-client/models/problem.d.ts +0 -15
  496. package/dist/src/teamcity-client/models/problem.d.ts.map +0 -1
  497. package/dist/src/teamcity-client/models/problems.d.ts +0 -8
  498. package/dist/src/teamcity-client/models/problems.d.ts.map +0 -1
  499. package/dist/src/teamcity-client/models/progress-info.d.ts +0 -13
  500. package/dist/src/teamcity-client/models/progress-info.d.ts.map +0 -1
  501. package/dist/src/teamcity-client/models/project-feature.d.ts +0 -11
  502. package/dist/src/teamcity-client/models/project-feature.d.ts.map +0 -1
  503. package/dist/src/teamcity-client/models/project-features.d.ts +0 -7
  504. package/dist/src/teamcity-client/models/project-features.d.ts.map +0 -1
  505. package/dist/src/teamcity-client/models/project-locator.d.ts +0 -20
  506. package/dist/src/teamcity-client/models/project-locator.d.ts.map +0 -1
  507. package/dist/src/teamcity-client/models/project.d.ts +0 -39
  508. package/dist/src/teamcity-client/models/project.d.ts.map +0 -1
  509. package/dist/src/teamcity-client/models/projects.d.ts +0 -9
  510. package/dist/src/teamcity-client/models/projects.d.ts.map +0 -1
  511. package/dist/src/teamcity-client/models/properties.d.ts +0 -7
  512. package/dist/src/teamcity-client/models/properties.d.ts.map +0 -1
  513. package/dist/src/teamcity-client/models/property.d.ts +0 -8
  514. package/dist/src/teamcity-client/models/property.d.ts.map +0 -1
  515. package/dist/src/teamcity-client/models/related-entities.d.ts +0 -6
  516. package/dist/src/teamcity-client/models/related-entities.d.ts.map +0 -1
  517. package/dist/src/teamcity-client/models/related-entity.d.ts +0 -29
  518. package/dist/src/teamcity-client/models/related-entity.d.ts.map +0 -1
  519. package/dist/src/teamcity-client/models/related.d.ts +0 -5
  520. package/dist/src/teamcity-client/models/related.d.ts.map +0 -1
  521. package/dist/src/teamcity-client/models/repository-state.d.ts +0 -7
  522. package/dist/src/teamcity-client/models/repository-state.d.ts.map +0 -1
  523. package/dist/src/teamcity-client/models/requirements.d.ts +0 -4
  524. package/dist/src/teamcity-client/models/requirements.d.ts.map +0 -1
  525. package/dist/src/teamcity-client/models/resolution.d.ts +0 -11
  526. package/dist/src/teamcity-client/models/resolution.d.ts.map +0 -1
  527. package/dist/src/teamcity-client/models/responsibility.d.ts +0 -5
  528. package/dist/src/teamcity-client/models/responsibility.d.ts.map +0 -1
  529. package/dist/src/teamcity-client/models/revision.d.ts +0 -9
  530. package/dist/src/teamcity-client/models/revision.d.ts.map +0 -1
  531. package/dist/src/teamcity-client/models/revisions.d.ts +0 -7
  532. package/dist/src/teamcity-client/models/revisions.d.ts.map +0 -1
  533. package/dist/src/teamcity-client/models/role.d.ts +0 -6
  534. package/dist/src/teamcity-client/models/role.d.ts.map +0 -1
  535. package/dist/src/teamcity-client/models/roles.d.ts +0 -5
  536. package/dist/src/teamcity-client/models/roles.d.ts.map +0 -1
  537. package/dist/src/teamcity-client/models/server-auth-settings.d.ts +0 -12
  538. package/dist/src/teamcity-client/models/server-auth-settings.d.ts.map +0 -1
  539. package/dist/src/teamcity-client/models/server-global-settings.d.ts +0 -15
  540. package/dist/src/teamcity-client/models/server-global-settings.d.ts.map +0 -1
  541. package/dist/src/teamcity-client/models/server.d.ts +0 -26
  542. package/dist/src/teamcity-client/models/server.d.ts.map +0 -1
  543. package/dist/src/teamcity-client/models/snapshot-dependencies.d.ts +0 -6
  544. package/dist/src/teamcity-client/models/snapshot-dependencies.d.ts.map +0 -1
  545. package/dist/src/teamcity-client/models/snapshot-dependency-link.d.ts +0 -8
  546. package/dist/src/teamcity-client/models/snapshot-dependency-link.d.ts.map +0 -1
  547. package/dist/src/teamcity-client/models/snapshot-dependency.d.ts +0 -13
  548. package/dist/src/teamcity-client/models/snapshot-dependency.d.ts.map +0 -1
  549. package/dist/src/teamcity-client/models/state-field.d.ts +0 -5
  550. package/dist/src/teamcity-client/models/state-field.d.ts.map +0 -1
  551. package/dist/src/teamcity-client/models/step.d.ts +0 -12
  552. package/dist/src/teamcity-client/models/step.d.ts.map +0 -1
  553. package/dist/src/teamcity-client/models/steps.d.ts +0 -6
  554. package/dist/src/teamcity-client/models/steps.d.ts.map +0 -1
  555. package/dist/src/teamcity-client/models/tag-locator.d.ts +0 -6
  556. package/dist/src/teamcity-client/models/tag-locator.d.ts.map +0 -1
  557. package/dist/src/teamcity-client/models/tag.d.ts +0 -7
  558. package/dist/src/teamcity-client/models/tag.d.ts.map +0 -1
  559. package/dist/src/teamcity-client/models/tags.d.ts +0 -6
  560. package/dist/src/teamcity-client/models/tags.d.ts.map +0 -1
  561. package/dist/src/teamcity-client/models/team-city-node-locator.d.ts +0 -6
  562. package/dist/src/teamcity-client/models/team-city-node-locator.d.ts.map +0 -1
  563. package/dist/src/teamcity-client/models/test-counters.d.ts +0 -10
  564. package/dist/src/teamcity-client/models/test-counters.d.ts.map +0 -1
  565. package/dist/src/teamcity-client/models/test-locator.d.ts +0 -14
  566. package/dist/src/teamcity-client/models/test-locator.d.ts.map +0 -1
  567. package/dist/src/teamcity-client/models/test-occurrence-locator.d.ts +0 -31
  568. package/dist/src/teamcity-client/models/test-occurrence-locator.d.ts.map +0 -1
  569. package/dist/src/teamcity-client/models/test-occurrence.d.ts +0 -37
  570. package/dist/src/teamcity-client/models/test-occurrence.d.ts.map +0 -1
  571. package/dist/src/teamcity-client/models/test-occurrences.d.ts +0 -16
  572. package/dist/src/teamcity-client/models/test-occurrences.d.ts.map +0 -1
  573. package/dist/src/teamcity-client/models/test-run-metadata.d.ts +0 -6
  574. package/dist/src/teamcity-client/models/test-run-metadata.d.ts.map +0 -1
  575. package/dist/src/teamcity-client/models/tests.d.ts +0 -10
  576. package/dist/src/teamcity-client/models/tests.d.ts.map +0 -1
  577. package/dist/src/teamcity-client/models/token.d.ts +0 -9
  578. package/dist/src/teamcity-client/models/token.d.ts.map +0 -1
  579. package/dist/src/teamcity-client/models/tokens.d.ts +0 -6
  580. package/dist/src/teamcity-client/models/tokens.d.ts.map +0 -1
  581. package/dist/src/teamcity-client/models/trigger.d.ts +0 -13
  582. package/dist/src/teamcity-client/models/trigger.d.ts.map +0 -1
  583. package/dist/src/teamcity-client/models/triggered-by.d.ts +0 -16
  584. package/dist/src/teamcity-client/models/triggered-by.d.ts.map +0 -1
  585. package/dist/src/teamcity-client/models/triggers.d.ts +0 -6
  586. package/dist/src/teamcity-client/models/triggers.d.ts.map +0 -1
  587. package/dist/src/teamcity-client/models/type.d.ts +0 -4
  588. package/dist/src/teamcity-client/models/type.d.ts.map +0 -1
  589. package/dist/src/teamcity-client/models/typed-value-set.d.ts +0 -10
  590. package/dist/src/teamcity-client/models/typed-value-set.d.ts.map +0 -1
  591. package/dist/src/teamcity-client/models/typed-value-sets.d.ts +0 -6
  592. package/dist/src/teamcity-client/models/typed-value-sets.d.ts.map +0 -1
  593. package/dist/src/teamcity-client/models/typed-value.d.ts +0 -6
  594. package/dist/src/teamcity-client/models/typed-value.d.ts.map +0 -1
  595. package/dist/src/teamcity-client/models/user-approval-rule.d.ts +0 -6
  596. package/dist/src/teamcity-client/models/user-approval-rule.d.ts.map +0 -1
  597. package/dist/src/teamcity-client/models/user-approvals.d.ts +0 -6
  598. package/dist/src/teamcity-client/models/user-approvals.d.ts.map +0 -1
  599. package/dist/src/teamcity-client/models/user-avatars.d.ts +0 -10
  600. package/dist/src/teamcity-client/models/user-avatars.d.ts.map +0 -1
  601. package/dist/src/teamcity-client/models/user-group-locator.d.ts +0 -6
  602. package/dist/src/teamcity-client/models/user-group-locator.d.ts.map +0 -1
  603. package/dist/src/teamcity-client/models/user-locator.d.ts +0 -15
  604. package/dist/src/teamcity-client/models/user-locator.d.ts.map +0 -1
  605. package/dist/src/teamcity-client/models/user.d.ts +0 -22
  606. package/dist/src/teamcity-client/models/user.d.ts.map +0 -1
  607. package/dist/src/teamcity-client/models/users.d.ts +0 -6
  608. package/dist/src/teamcity-client/models/users.d.ts.map +0 -1
  609. package/dist/src/teamcity-client/models/vcs-check-status.d.ts +0 -6
  610. package/dist/src/teamcity-client/models/vcs-check-status.d.ts.map +0 -1
  611. package/dist/src/teamcity-client/models/vcs-label.d.ts +0 -18
  612. package/dist/src/teamcity-client/models/vcs-label.d.ts.map +0 -1
  613. package/dist/src/teamcity-client/models/vcs-labels.d.ts +0 -6
  614. package/dist/src/teamcity-client/models/vcs-labels.d.ts.map +0 -1
  615. package/dist/src/teamcity-client/models/vcs-root-entries.d.ts +0 -6
  616. package/dist/src/teamcity-client/models/vcs-root-entries.d.ts.map +0 -1
  617. package/dist/src/teamcity-client/models/vcs-root-entry.d.ts +0 -8
  618. package/dist/src/teamcity-client/models/vcs-root-entry.d.ts.map +0 -1
  619. package/dist/src/teamcity-client/models/vcs-root-instance-locator.d.ts +0 -38
  620. package/dist/src/teamcity-client/models/vcs-root-instance-locator.d.ts.map +0 -1
  621. package/dist/src/teamcity-client/models/vcs-root-instance.d.ts +0 -24
  622. package/dist/src/teamcity-client/models/vcs-root-instance.d.ts.map +0 -1
  623. package/dist/src/teamcity-client/models/vcs-root-instances.d.ts +0 -9
  624. package/dist/src/teamcity-client/models/vcs-root-instances.d.ts.map +0 -1
  625. package/dist/src/teamcity-client/models/vcs-root-locator.d.ts +0 -37
  626. package/dist/src/teamcity-client/models/vcs-root-locator.d.ts.map +0 -1
  627. package/dist/src/teamcity-client/models/vcs-root.d.ts +0 -20
  628. package/dist/src/teamcity-client/models/vcs-root.d.ts.map +0 -1
  629. package/dist/src/teamcity-client/models/vcs-roots.d.ts +0 -9
  630. package/dist/src/teamcity-client/models/vcs-roots.d.ts.map +0 -1
  631. package/dist/src/teamcity-client/models/vcs-status.d.ts +0 -6
  632. package/dist/src/teamcity-client/models/vcs-status.d.ts.map +0 -1
  633. package/dist/src/teamcity-client/models/versioned-settings-config.d.ts +0 -31
  634. package/dist/src/teamcity-client/models/versioned-settings-config.d.ts.map +0 -1
  635. package/dist/src/teamcity-client/models/versioned-settings-context-parameter.d.ts +0 -5
  636. package/dist/src/teamcity-client/models/versioned-settings-context-parameter.d.ts.map +0 -1
  637. package/dist/src/teamcity-client/models/versioned-settings-context-parameters.d.ts +0 -5
  638. package/dist/src/teamcity-client/models/versioned-settings-context-parameters.d.ts.map +0 -1
  639. package/dist/src/teamcity-client/models/versioned-settings-error.d.ts +0 -7
  640. package/dist/src/teamcity-client/models/versioned-settings-error.d.ts.map +0 -1
  641. package/dist/src/teamcity-client/models/versioned-settings-status.d.ts +0 -15
  642. package/dist/src/teamcity-client/models/versioned-settings-status.d.ts.map +0 -1
  643. package/dist/src/teamcity-client/models/versioned-settings-token.d.ts +0 -6
  644. package/dist/src/teamcity-client/models/versioned-settings-token.d.ts.map +0 -1
  645. package/dist/src/teamcity-client/models/versioned-settings-tokens.d.ts +0 -5
  646. package/dist/src/teamcity-client/models/versioned-settings-tokens.d.ts.map +0 -1
  647. package/dist/src/tools/index.d.ts +0 -2
  648. package/dist/src/tools/index.d.ts.map +0 -1
  649. package/dist/src/tools.d.ts +0 -22
  650. package/dist/src/tools.d.ts.map +0 -1
  651. package/dist/src/types/config.d.ts +0 -129
  652. package/dist/src/types/config.d.ts.map +0 -1
  653. package/dist/src/types/index.d.ts +0 -116
  654. package/dist/src/types/index.d.ts.map +0 -1
  655. package/dist/src/types/mcp.d.ts +0 -68
  656. package/dist/src/types/mcp.d.ts.map +0 -1
  657. package/dist/src/types/project.d.ts +0 -56
  658. package/dist/src/types/project.d.ts.map +0 -1
  659. package/dist/src/types/teamcity.d.ts +0 -258
  660. package/dist/src/types/teamcity.d.ts.map +0 -1
  661. package/dist/src/utils/async/index.d.ts +0 -90
  662. package/dist/src/utils/async/index.d.ts.map +0 -1
  663. package/dist/src/utils/error-logger.d.ts +0 -34
  664. package/dist/src/utils/error-logger.d.ts.map +0 -1
  665. package/dist/src/utils/index.d.ts +0 -23
  666. package/dist/src/utils/index.d.ts.map +0 -1
  667. package/dist/src/utils/logger/index.d.ts +0 -73
  668. package/dist/src/utils/logger/index.d.ts.map +0 -1
  669. package/dist/src/utils/logger.d.ts +0 -11
  670. package/dist/src/utils/logger.d.ts.map +0 -1
  671. package/dist/src/utils/lru-cache.d.ts +0 -20
  672. package/dist/src/utils/lru-cache.d.ts.map +0 -1
  673. package/dist/src/utils/mcp.d.ts +0 -18
  674. package/dist/src/utils/mcp.d.ts.map +0 -1
  675. package/dist/src/utils/validation.d.ts +0 -61
  676. package/dist/src/utils/validation.d.ts.map +0 -1
  677. package/docs/TEAMCITY_MCP_TOOLS_GUIDE.md +0 -1076
  678. package/docs/mcp-tools-mode-matrix.md +0 -68
  679. package/docs/mcp-tools-reference.md +0 -203
  680. package/examples/list-build-configs-usage.ts +0 -276
  681. package/jest.ci.config.js +0 -14
  682. package/jest.config.js +0 -108
  683. package/jest.setup.js +0 -24
  684. package/openapi-generator-config.json +0 -27
  685. package/openapitools.json +0 -7
  686. package/scripts/build.cjs +0 -106
  687. package/scripts/debug-fetch-log.ts +0 -52
  688. package/scripts/emit-coverage-stats.js +0 -42
  689. package/scripts/fetch-swagger-spec.ts +0 -140
  690. package/scripts/generate-third-party-notices.cjs +0 -71
  691. package/scripts/interact.sh +0 -23
  692. package/scripts/print-builds.ts +0 -21
  693. package/scripts/verify-integration-env.cjs +0 -29
  694. package/src/api-client.ts +0 -307
  695. package/src/config/index.ts +0 -286
  696. package/src/errors/index.ts +0 -25
  697. package/src/formatters/build-step-formatter.ts +0 -178
  698. package/src/formatters/trigger-formatter.ts +0 -207
  699. package/src/index.ts +0 -60
  700. package/src/middleware/error.test.ts +0 -274
  701. package/src/middleware/error.ts +0 -314
  702. package/src/middleware/global-error-handler.test.ts +0 -239
  703. package/src/middleware/global-error-handler.ts +0 -214
  704. package/src/middleware/index.ts +0 -5
  705. package/src/server.ts +0 -126
  706. package/src/swagger/index.ts +0 -220
  707. package/src/swagger/swagger-cache.ts +0 -220
  708. package/src/swagger/swagger-fetcher.ts +0 -126
  709. package/src/swagger/swagger-validator.ts +0 -212
  710. package/src/teamcity/api-types.ts +0 -387
  711. package/src/teamcity/artifact-manager.ts +0 -362
  712. package/src/teamcity/auth.ts +0 -219
  713. package/src/teamcity/branch-discovery-manager.ts +0 -311
  714. package/src/teamcity/branch-filtering-service.ts +0 -369
  715. package/src/teamcity/branch-specification-parser.ts +0 -238
  716. package/src/teamcity/build-config-manager.ts +0 -458
  717. package/src/teamcity/build-config-navigator.ts +0 -589
  718. package/src/teamcity/build-configuration-clone-manager.ts +0 -501
  719. package/src/teamcity/build-configuration-manager.ts +0 -447
  720. package/src/teamcity/build-configuration-resolver.ts +0 -725
  721. package/src/teamcity/build-configuration-update-manager.ts +0 -610
  722. package/src/teamcity/build-list-manager.ts +0 -313
  723. package/src/teamcity/build-parameters-manager.ts +0 -875
  724. package/src/teamcity/build-progress-tracker.ts +0 -514
  725. package/src/teamcity/build-query-builder.ts +0 -325
  726. package/src/teamcity/build-queue-manager.ts +0 -622
  727. package/src/teamcity/build-results-manager.ts +0 -589
  728. package/src/teamcity/build-status-manager.ts +0 -564
  729. package/src/teamcity/build-step-manager.ts +0 -508
  730. package/src/teamcity/build-trigger-manager.ts +0 -1083
  731. package/src/teamcity/circuit-breaker.ts +0 -219
  732. package/src/teamcity/client-adapter.ts +0 -35
  733. package/src/teamcity/client.ts +0 -269
  734. package/src/teamcity/config.ts +0 -188
  735. package/src/teamcity/configuration-branch-matcher.ts +0 -327
  736. package/src/teamcity/errors.ts +0 -351
  737. package/src/teamcity/index.ts +0 -266
  738. package/src/teamcity/pagination.ts +0 -209
  739. package/src/teamcity/project-list-manager.ts +0 -267
  740. package/src/teamcity/project-manager.ts +0 -493
  741. package/src/teamcity/project-navigator.ts +0 -664
  742. package/src/teamcity/test-problem-reporter.ts +0 -423
  743. package/src/teamcity/types/api-responses.ts +0 -314
  744. package/src/teamcity-client/.openapi-generator/FILES +0 -274
  745. package/src/teamcity-client/.openapi-generator/VERSION +0 -1
  746. package/src/teamcity-client/.openapi-generator-ignore +0 -23
  747. package/src/teamcity-client/README.md +0 -50
  748. package/src/teamcity-client/api/agent-api.ts +0 -2046
  749. package/src/teamcity-client/api/agent-pool-api.ts +0 -1877
  750. package/src/teamcity-client/api/agent-type-api.ts +0 -213
  751. package/src/teamcity-client/api/audit-api.ts +0 -341
  752. package/src/teamcity-client/api/avatar-api.ts +0 -569
  753. package/src/teamcity-client/api/build-api.ts +0 -7726
  754. package/src/teamcity-client/api/build-queue-api.ts +0 -1922
  755. package/src/teamcity-client/api/build-type-api.ts +0 -15502
  756. package/src/teamcity-client/api/change-api.ts +0 -1311
  757. package/src/teamcity-client/api/cloud-instance-api.ts +0 -1289
  758. package/src/teamcity-client/api/deployment-dashboard-api.ts +0 -1295
  759. package/src/teamcity-client/api/global-server-settings-api.ts +0 -286
  760. package/src/teamcity-client/api/group-api.ts +0 -2084
  761. package/src/teamcity-client/api/health-api.ts +0 -566
  762. package/src/teamcity-client/api/investigation-api.ts +0 -856
  763. package/src/teamcity-client/api/mute-api.ts +0 -824
  764. package/src/teamcity-client/api/node-api.ts +0 -877
  765. package/src/teamcity-client/api/problem-api.ts +0 -337
  766. package/src/teamcity-client/api/problem-occurrence-api.ts +0 -349
  767. package/src/teamcity-client/api/project-api.ts +0 -6511
  768. package/src/teamcity-client/api/role-api.ts +0 -1062
  769. package/src/teamcity-client/api/root-api.ts +0 -439
  770. package/src/teamcity-client/api/server-api.ts +0 -2306
  771. package/src/teamcity-client/api/server-authentication-settings-api.ts +0 -289
  772. package/src/teamcity-client/api/test-api.ts +0 -329
  773. package/src/teamcity-client/api/test-occurrence-api.ts +0 -340
  774. package/src/teamcity-client/api/user-api.ts +0 -3644
  775. package/src/teamcity-client/api/vcs-root-api.ts +0 -1837
  776. package/src/teamcity-client/api/vcs-root-instance-api.ts +0 -2479
  777. package/src/teamcity-client/api/versioned-settings-api.ts +0 -2025
  778. package/src/teamcity-client/api.ts +0 -44
  779. package/src/teamcity-client/base.ts +0 -91
  780. package/src/teamcity-client/common.ts +0 -197
  781. package/src/teamcity-client/configuration.ts +0 -130
  782. package/src/teamcity-client/git_push.sh +0 -57
  783. package/src/teamcity-client/index.ts +0 -17
  784. package/src/teamcity-client/models/agent-locator.ts +0 -124
  785. package/src/teamcity-client/models/agent-pool-locator.ts +0 -63
  786. package/src/teamcity-client/models/agent-pool.ts +0 -87
  787. package/src/teamcity-client/models/agent-pools.ts +0 -54
  788. package/src/teamcity-client/models/agent-requirement.ts +0 -66
  789. package/src/teamcity-client/models/agent-requirements.ts +0 -36
  790. package/src/teamcity-client/models/agent-type-locator.ts +0 -51
  791. package/src/teamcity-client/models/agent-type.ts +0 -81
  792. package/src/teamcity-client/models/agent-types.ts +0 -54
  793. package/src/teamcity-client/models/agent.ts +0 -295
  794. package/src/teamcity-client/models/agents.ts +0 -54
  795. package/src/teamcity-client/models/approvable-build.ts +0 -39
  796. package/src/teamcity-client/models/approval-info.ts +0 -100
  797. package/src/teamcity-client/models/artifact-dependencies.ts +0 -42
  798. package/src/teamcity-client/models/artifact-dependency.ts +0 -75
  799. package/src/teamcity-client/models/artifact-download-info.ts +0 -33
  800. package/src/teamcity-client/models/audit-action.ts +0 -39
  801. package/src/teamcity-client/models/audit-event.ts +0 -66
  802. package/src/teamcity-client/models/audit-events.ts +0 -54
  803. package/src/teamcity-client/models/audit-locator.ts +0 -315
  804. package/src/teamcity-client/models/auth-module.ts +0 -36
  805. package/src/teamcity-client/models/auth-modules.ts +0 -30
  806. package/src/teamcity-client/models/authorization-tokens-requirements.ts +0 -33
  807. package/src/teamcity-client/models/authorized-info.ts +0 -36
  808. package/src/teamcity-client/models/branch-locator.ts +0 -117
  809. package/src/teamcity-client/models/branch-version.ts +0 -78
  810. package/src/teamcity-client/models/branch.ts +0 -72
  811. package/src/teamcity-client/models/branches.ts +0 -42
  812. package/src/teamcity-client/models/build-cancel-request.ts +0 -33
  813. package/src/teamcity-client/models/build-change.ts +0 -36
  814. package/src/teamcity-client/models/build-changes.ts +0 -36
  815. package/src/teamcity-client/models/build-executor.ts +0 -27
  816. package/src/teamcity-client/models/build-locator.ts +0 -277
  817. package/src/teamcity-client/models/build-queue-locator.ts +0 -87
  818. package/src/teamcity-client/models/build-status-update.ts +0 -33
  819. package/src/teamcity-client/models/build-trigger-customization.ts +0 -42
  820. package/src/teamcity-client/models/build-triggering-options.ts +0 -72
  821. package/src/teamcity-client/models/build-type-locator.ts +0 -111
  822. package/src/teamcity-client/models/build-type.ts +0 -305
  823. package/src/teamcity-client/models/build-types.ts +0 -54
  824. package/src/teamcity-client/models/build.ts +0 -631
  825. package/src/teamcity-client/models/builds-with-reason.ts +0 -36
  826. package/src/teamcity-client/models/builds.ts +0 -54
  827. package/src/teamcity-client/models/change-locator.ts +0 -129
  828. package/src/teamcity-client/models/change-status.ts +0 -114
  829. package/src/teamcity-client/models/change.ts +0 -186
  830. package/src/teamcity-client/models/changes.ts +0 -54
  831. package/src/teamcity-client/models/cleanup.ts +0 -51
  832. package/src/teamcity-client/models/cloud-error.ts +0 -33
  833. package/src/teamcity-client/models/cloud-image-locator.ts +0 -105
  834. package/src/teamcity-client/models/cloud-image.ts +0 -102
  835. package/src/teamcity-client/models/cloud-images.ts +0 -54
  836. package/src/teamcity-client/models/cloud-instance-locator.ts +0 -81
  837. package/src/teamcity-client/models/cloud-instance.ts +0 -90
  838. package/src/teamcity-client/models/cloud-instances.ts +0 -54
  839. package/src/teamcity-client/models/cloud-profile-locator.ts +0 -81
  840. package/src/teamcity-client/models/cloud-profile.ts +0 -72
  841. package/src/teamcity-client/models/cloud-profiles.ts +0 -54
  842. package/src/teamcity-client/models/comment.ts +0 -42
  843. package/src/teamcity-client/models/commiter.ts +0 -36
  844. package/src/teamcity-client/models/compatibilities.ts +0 -36
  845. package/src/teamcity-client/models/compatibility-policy.ts +0 -36
  846. package/src/teamcity-client/models/compatibility.ts +0 -54
  847. package/src/teamcity-client/models/composite-approval-rule.ts +0 -54
  848. package/src/teamcity-client/models/composite-approvals.ts +0 -36
  849. package/src/teamcity-client/models/cron.ts +0 -51
  850. package/src/teamcity-client/models/customizations.ts +0 -45
  851. package/src/teamcity-client/models/daily.ts +0 -33
  852. package/src/teamcity-client/models/datas.ts +0 -36
  853. package/src/teamcity-client/models/deployment-dashboard-locator.ts +0 -57
  854. package/src/teamcity-client/models/deployment-dashboard.ts +0 -51
  855. package/src/teamcity-client/models/deployment-dashboards.ts +0 -54
  856. package/src/teamcity-client/models/deployment-history.ts +0 -36
  857. package/src/teamcity-client/models/deployment-instance-locator.ts +0 -62
  858. package/src/teamcity-client/models/deployment-instance.ts +0 -68
  859. package/src/teamcity-client/models/deployment-instances.ts +0 -54
  860. package/src/teamcity-client/models/deployment-state-entries.ts +0 -45
  861. package/src/teamcity-client/models/deployment-state-entry.ts +0 -59
  862. package/src/teamcity-client/models/disabled-responsibilities.ts +0 -36
  863. package/src/teamcity-client/models/download-info.ts +0 -45
  864. package/src/teamcity-client/models/downloaded-artifacts.ts +0 -42
  865. package/src/teamcity-client/models/effective-responsibilities.ts +0 -36
  866. package/src/teamcity-client/models/enabled-info.ts +0 -42
  867. package/src/teamcity-client/models/enabled-responsibilities.ts +0 -36
  868. package/src/teamcity-client/models/entries.ts +0 -36
  869. package/src/teamcity-client/models/entry.ts +0 -33
  870. package/src/teamcity-client/models/environment.ts +0 -33
  871. package/src/teamcity-client/models/feature.ts +0 -66
  872. package/src/teamcity-client/models/features.ts +0 -36
  873. package/src/teamcity-client/models/file-change.ts +0 -63
  874. package/src/teamcity-client/models/file-changes.ts +0 -36
  875. package/src/teamcity-client/models/files.ts +0 -39
  876. package/src/teamcity-client/models/group-approval-rule.ts +0 -45
  877. package/src/teamcity-client/models/group-approvals.ts +0 -36
  878. package/src/teamcity-client/models/group.ts +0 -87
  879. package/src/teamcity-client/models/groups.ts +0 -36
  880. package/src/teamcity-client/models/health-categories.ts +0 -54
  881. package/src/teamcity-client/models/health-category.ts +0 -45
  882. package/src/teamcity-client/models/health-item.ts +0 -51
  883. package/src/teamcity-client/models/health-status-items.ts +0 -54
  884. package/src/teamcity-client/models/href.ts +0 -27
  885. package/src/teamcity-client/models/index.ts +0 -229
  886. package/src/teamcity-client/models/investigation-locator.ts +0 -125
  887. package/src/teamcity-client/models/investigation.ts +0 -100
  888. package/src/teamcity-client/models/investigations.ts +0 -54
  889. package/src/teamcity-client/models/issue-usage.ts +0 -39
  890. package/src/teamcity-client/models/issue.ts +0 -33
  891. package/src/teamcity-client/models/issues-usages.ts +0 -42
  892. package/src/teamcity-client/models/issues.ts +0 -30
  893. package/src/teamcity-client/models/items.ts +0 -27
  894. package/src/teamcity-client/models/labeled-value.ts +0 -33
  895. package/src/teamcity-client/models/license-key.ts +0 -134
  896. package/src/teamcity-client/models/license-keys.ts +0 -42
  897. package/src/teamcity-client/models/licensing-data.ts +0 -114
  898. package/src/teamcity-client/models/link.ts +0 -39
  899. package/src/teamcity-client/models/links.ts +0 -36
  900. package/src/teamcity-client/models/matrix-build-feature-descriptor.ts +0 -48
  901. package/src/teamcity-client/models/matrix-configuration.ts +0 -51
  902. package/src/teamcity-client/models/matrix-dependencies.ts +0 -36
  903. package/src/teamcity-client/models/matrix-dependency.ts +0 -39
  904. package/src/teamcity-client/models/matrix-parameter-descriptor.ts +0 -42
  905. package/src/teamcity-client/models/meta-data.ts +0 -36
  906. package/src/teamcity-client/models/metric-tag.ts +0 -33
  907. package/src/teamcity-client/models/metric-tags.ts +0 -36
  908. package/src/teamcity-client/models/metric-value.ts +0 -42
  909. package/src/teamcity-client/models/metric-values.ts +0 -36
  910. package/src/teamcity-client/models/metric.ts +0 -57
  911. package/src/teamcity-client/models/metrics.ts +0 -36
  912. package/src/teamcity-client/models/model-file.ts +0 -75
  913. package/src/teamcity-client/models/multiple-operation-result.ts +0 -42
  914. package/src/teamcity-client/models/mute-locator.ts +0 -108
  915. package/src/teamcity-client/models/mute.ts +0 -69
  916. package/src/teamcity-client/models/mutes.ts +0 -54
  917. package/src/teamcity-client/models/new-build-type-description.ts +0 -75
  918. package/src/teamcity-client/models/new-project-description.ts +0 -87
  919. package/src/teamcity-client/models/node.ts +0 -87
  920. package/src/teamcity-client/models/nodes.ts +0 -36
  921. package/src/teamcity-client/models/operation-result.ts +0 -36
  922. package/src/teamcity-client/models/parsed-test-name.ts +0 -63
  923. package/src/teamcity-client/models/permission-assignment.ts +0 -45
  924. package/src/teamcity-client/models/permission-assignments.ts +0 -36
  925. package/src/teamcity-client/models/permission-restriction.ts +0 -45
  926. package/src/teamcity-client/models/permission-restrictions.ts +0 -36
  927. package/src/teamcity-client/models/permission.ts +0 -39
  928. package/src/teamcity-client/models/permissions.ts +0 -36
  929. package/src/teamcity-client/models/pin-info.ts +0 -36
  930. package/src/teamcity-client/models/plugin.ts +0 -54
  931. package/src/teamcity-client/models/plugins.ts +0 -36
  932. package/src/teamcity-client/models/problem-locator.ts +0 -93
  933. package/src/teamcity-client/models/problem-occurrence-locator.ts +0 -99
  934. package/src/teamcity-client/models/problem-occurrence.ts +0 -114
  935. package/src/teamcity-client/models/problem-occurrences.ts +0 -84
  936. package/src/teamcity-client/models/problem-scope.ts +0 -48
  937. package/src/teamcity-client/models/problem-target.ts +0 -45
  938. package/src/teamcity-client/models/problem.ts +0 -84
  939. package/src/teamcity-client/models/problems.ts +0 -48
  940. package/src/teamcity-client/models/progress-info.ts +0 -78
  941. package/src/teamcity-client/models/project-feature.ts +0 -66
  942. package/src/teamcity-client/models/project-features.ts +0 -42
  943. package/src/teamcity-client/models/project-locator.ts +0 -123
  944. package/src/teamcity-client/models/project.ts +0 -207
  945. package/src/teamcity-client/models/projects.ts +0 -54
  946. package/src/teamcity-client/models/properties.ts +0 -42
  947. package/src/teamcity-client/models/property.ts +0 -48
  948. package/src/teamcity-client/models/related-entities.ts +0 -36
  949. package/src/teamcity-client/models/related-entity.ts +0 -144
  950. package/src/teamcity-client/models/related.ts +0 -30
  951. package/src/teamcity-client/models/repository-state.ts +0 -42
  952. package/src/teamcity-client/models/requirements.ts +0 -27
  953. package/src/teamcity-client/models/resolution.ts +0 -41
  954. package/src/teamcity-client/models/responsibility.ts +0 -33
  955. package/src/teamcity-client/models/revision.ts +0 -54
  956. package/src/teamcity-client/models/revisions.ts +0 -42
  957. package/src/teamcity-client/models/role.ts +0 -39
  958. package/src/teamcity-client/models/roles.ts +0 -30
  959. package/src/teamcity-client/models/server-auth-settings.ts +0 -72
  960. package/src/teamcity-client/models/server-global-settings.ts +0 -93
  961. package/src/teamcity-client/models/server.ts +0 -156
  962. package/src/teamcity-client/models/snapshot-dependencies.ts +0 -36
  963. package/src/teamcity-client/models/snapshot-dependency-link.ts +0 -45
  964. package/src/teamcity-client/models/snapshot-dependency.ts +0 -75
  965. package/src/teamcity-client/models/state-field.ts +0 -33
  966. package/src/teamcity-client/models/step.ts +0 -72
  967. package/src/teamcity-client/models/steps.ts +0 -36
  968. package/src/teamcity-client/models/tag-locator.ts +0 -39
  969. package/src/teamcity-client/models/tag.ts +0 -42
  970. package/src/teamcity-client/models/tags.ts +0 -36
  971. package/src/teamcity-client/models/team-city-node-locator.ts +0 -39
  972. package/src/teamcity-client/models/test-counters.ts +0 -63
  973. package/src/teamcity-client/models/test-locator.ts +0 -87
  974. package/src/teamcity-client/models/test-occurrence-locator.ts +0 -147
  975. package/src/teamcity-client/models/test-occurrence.ts +0 -173
  976. package/src/teamcity-client/models/test-occurrences.ts +0 -93
  977. package/src/teamcity-client/models/test-run-metadata.ts +0 -36
  978. package/src/teamcity-client/models/tests.ts +0 -57
  979. package/src/teamcity-client/models/token.ts +0 -54
  980. package/src/teamcity-client/models/tokens.ts +0 -36
  981. package/src/teamcity-client/models/trigger.ts +0 -75
  982. package/src/teamcity-client/models/triggered-by.ts +0 -87
  983. package/src/teamcity-client/models/triggers.ts +0 -36
  984. package/src/teamcity-client/models/type.ts +0 -27
  985. package/src/teamcity-client/models/typed-value-set.ts +0 -60
  986. package/src/teamcity-client/models/typed-value-sets.ts +0 -36
  987. package/src/teamcity-client/models/typed-value.ts +0 -39
  988. package/src/teamcity-client/models/user-approval-rule.ts +0 -36
  989. package/src/teamcity-client/models/user-approvals.ts +0 -36
  990. package/src/teamcity-client/models/user-avatars.ts +0 -63
  991. package/src/teamcity-client/models/user-group-locator.ts +0 -39
  992. package/src/teamcity-client/models/user-locator.ts +0 -93
  993. package/src/teamcity-client/models/user.ts +0 -123
  994. package/src/teamcity-client/models/users.ts +0 -36
  995. package/src/teamcity-client/models/vcs-check-status.ts +0 -39
  996. package/src/teamcity-client/models/vcs-label.ts +0 -65
  997. package/src/teamcity-client/models/vcs-labels.ts +0 -36
  998. package/src/teamcity-client/models/vcs-root-entries.ts +0 -36
  999. package/src/teamcity-client/models/vcs-root-entry.ts +0 -48
  1000. package/src/teamcity-client/models/vcs-root-instance-locator.ts +0 -124
  1001. package/src/teamcity-client/models/vcs-root-instance.ts +0 -132
  1002. package/src/teamcity-client/models/vcs-root-instances.ts +0 -54
  1003. package/src/teamcity-client/models/vcs-root-locator.ts +0 -118
  1004. package/src/teamcity-client/models/vcs-root.ts +0 -111
  1005. package/src/teamcity-client/models/vcs-roots.ts +0 -54
  1006. package/src/teamcity-client/models/vcs-status.ts +0 -36
  1007. package/src/teamcity-client/models/versioned-settings-config.ts +0 -111
  1008. package/src/teamcity-client/models/versioned-settings-context-parameter.ts +0 -33
  1009. package/src/teamcity-client/models/versioned-settings-context-parameters.ts +0 -30
  1010. package/src/teamcity-client/models/versioned-settings-error.ts +0 -45
  1011. package/src/teamcity-client/models/versioned-settings-status.ts +0 -68
  1012. package/src/teamcity-client/models/versioned-settings-token.ts +0 -39
  1013. package/src/teamcity-client/models/versioned-settings-tokens.ts +0 -30
  1014. package/src/teamcity-client/package.json +0 -33
  1015. package/src/teamcity-client/tsconfig.esm.json +0 -7
  1016. package/src/teamcity-client/tsconfig.json +0 -13
  1017. package/src/teamcity-client-types.d.ts +0 -27
  1018. package/src/tools/index.ts +0 -2
  1019. package/src/tools.ts +0 -2904
  1020. package/src/types/config.ts +0 -140
  1021. package/src/types/index.ts +0 -171
  1022. package/src/types/mcp.ts +0 -80
  1023. package/src/types/project.ts +0 -128
  1024. package/src/types/teamcity.ts +0 -289
  1025. package/src/utils/async/index.test.ts +0 -664
  1026. package/src/utils/async/index.ts +0 -578
  1027. package/src/utils/error-logger.test.ts +0 -173
  1028. package/src/utils/error-logger.ts +0 -145
  1029. package/src/utils/index.ts +0 -88
  1030. package/src/utils/logger/index.test.ts +0 -271
  1031. package/src/utils/logger/index.ts +0 -441
  1032. package/src/utils/logger.ts +0 -49
  1033. package/src/utils/lru-cache.ts +0 -105
  1034. package/src/utils/mcp.ts +0 -84
  1035. package/src/utils/validation.ts +0 -284
  1036. package/tests/__mocks__/@modelcontextprotocol/sdk/server/index.js +0 -31
  1037. package/tests/__mocks__/@modelcontextprotocol/sdk/server/stdio.js +0 -12
  1038. package/tests/__mocks__/@modelcontextprotocol/sdk/types.js +0 -16
  1039. package/tests/development-tooling.test.ts +0 -207
  1040. package/tests/e2e/cleanup.ts +0 -68
  1041. package/tests/e2e/index.ts +0 -166
  1042. package/tests/e2e/mcp-client.ts +0 -73
  1043. package/tests/e2e/setup-playground.ts +0 -67
  1044. package/tests/integration/branches-and-queue-scenario.test.ts +0 -108
  1045. package/tests/integration/build-config-clone-update-scenario.test.ts +0 -80
  1046. package/tests/integration/build-results-and-logs-scenario.test.ts +0 -136
  1047. package/tests/integration/dev-tools-list.test.ts +0 -103
  1048. package/tests/integration/e2e-scenario.test.ts +0 -147
  1049. package/tests/integration/lib/mcp-runner.ts +0 -59
  1050. package/tests/integration/parameters-scenario.test.ts +0 -85
  1051. package/tests/integration/pause-configs-scenario.test.ts +0 -74
  1052. package/tests/integration/queue-maintenance-scenario.test.ts +0 -132
  1053. package/tests/integration/server-health-scenario.test.ts +0 -59
  1054. package/tests/integration/triggers-scenario.test.ts +0 -80
  1055. package/tests/integration/vcs-scenario.test.ts +0 -78
  1056. package/tests/jest.test.js +0 -122
  1057. package/tests/mcp-server.test.ts +0 -378
  1058. package/tests/setup.test.js +0 -97
  1059. package/tests/setup.ts +0 -88
  1060. package/tests/swagger/swagger-fetcher.test.ts +0 -619
  1061. package/tests/teamcity/auth.test.ts +0 -276
  1062. package/tests/teamcity/circuit-breaker.test.ts +0 -304
  1063. package/tests/teamcity/errors.test.ts +0 -221
  1064. package/tests/test-utils/mock-logger.ts +0 -15
  1065. package/tests/test-utils/mock-teamcity-client.ts +0 -403
  1066. package/tests/testing-infrastructure.test.ts +0 -209
  1067. package/tests/tooling.test.js +0 -118
  1068. package/tests/types/shims.d.ts +0 -20
  1069. package/tests/types/tool-results.ts +0 -68
  1070. package/tests/typescript.test.js +0 -108
  1071. package/tests/unit/mcp/server-lifecycle.test.ts +0 -301
  1072. package/tests/unit/middleware/error.test.ts +0 -283
  1073. package/tests/unit/server.test.ts +0 -102
  1074. package/tests/unit/swagger/swagger-manager.test.ts +0 -89
  1075. package/tests/unit/teamcity/artifact-manager.test.ts +0 -450
  1076. package/tests/unit/teamcity/branch-discovery-manager.test.ts +0 -561
  1077. package/tests/unit/teamcity/branch-filtering-service.test.ts +0 -481
  1078. package/tests/unit/teamcity/branch-specification-parser.test.ts +0 -443
  1079. package/tests/unit/teamcity/build-config-navigator-more.test.ts +0 -245
  1080. package/tests/unit/teamcity/build-config-navigator.test.ts +0 -1452
  1081. package/tests/unit/teamcity/build-configuration-manager.test.ts +0 -750
  1082. package/tests/unit/teamcity/build-configuration-resolver.test.ts +0 -659
  1083. package/tests/unit/teamcity/build-list-manager.test.ts +0 -574
  1084. package/tests/unit/teamcity/build-parameters-manager.test.ts +0 -712
  1085. package/tests/unit/teamcity/build-progress-tracker.test.ts +0 -1030
  1086. package/tests/unit/teamcity/build-query-builder.test.ts +0 -311
  1087. package/tests/unit/teamcity/build-queue-manager.test.ts +0 -879
  1088. package/tests/unit/teamcity/build-results-manager.test.ts +0 -630
  1089. package/tests/unit/teamcity/build-status-manager.test.ts +0 -640
  1090. package/tests/unit/teamcity/build-step-manager.test.ts +0 -886
  1091. package/tests/unit/teamcity/build-trigger-manager.test.ts +0 -1052
  1092. package/tests/unit/teamcity/configuration-branch-matcher.test.ts +0 -692
  1093. package/tests/unit/teamcity/pagination.test.ts +0 -118
  1094. package/tests/unit/teamcity/project-list-manager.test.ts +0 -118
  1095. package/tests/unit/teamcity/project-manager-branches.test.ts +0 -176
  1096. package/tests/unit/teamcity/project-manager-more.test.ts +0 -90
  1097. package/tests/unit/teamcity/project-manager.test.ts +0 -189
  1098. package/tests/unit/teamcity/project-navigator-branches.test.ts +0 -168
  1099. package/tests/unit/teamcity/project-navigator-more.test.ts +0 -58
  1100. package/tests/unit/teamcity/project-navigator.test.ts +0 -791
  1101. package/tests/unit/teamcity/test-problem-reporter-trend-patterns.test.ts +0 -80
  1102. package/tests/unit/teamcity/test-problem-reporter.test.ts +0 -551
  1103. package/tests/unit/tools/agent-vcs-admin.test.ts +0 -121
  1104. package/tests/unit/tools/availability-and-queue.test.ts +0 -118
  1105. package/tests/unit/tools/branches-vcs-agents.test.ts +0 -119
  1106. package/tests/unit/tools/build-actions-and-status.test.ts +0 -125
  1107. package/tests/unit/tools/bulk-surface-coverage.test.ts +0 -116
  1108. package/tests/unit/tools/compatibility-lookups.test.ts +0 -150
  1109. package/tests/unit/tools/fetch-build-log-ambiguity.test.ts +0 -70
  1110. package/tests/unit/tools/fetch-build-log-by-number.test.ts +0 -66
  1111. package/tests/unit/tools/fetch-build-log-pagination.test.ts +0 -73
  1112. package/tests/unit/tools/fetch-build-log-tail.test.ts +0 -33
  1113. package/tests/unit/tools/get-status-and-results.test.ts +0 -67
  1114. package/tests/unit/tools/list-branches-and-parameters.test.ts +0 -36
  1115. package/tests/unit/tools/list-build-configs-pagination.test.ts +0 -39
  1116. package/tests/unit/tools/list-builds-pagination.test.ts +0 -45
  1117. package/tests/unit/tools/list-pagination-all.test.ts +0 -259
  1118. package/tests/unit/tools/list-projects-pagination.test.ts +0 -39
  1119. package/tests/unit/tools/parameters-and-steps-triggers.test.ts +0 -176
  1120. package/tests/unit/tools/project-build-crud.test.ts +0 -110
  1121. package/tests/unit/tools/project-hierarchy.test.ts +0 -46
  1122. package/tests/unit/tools/queue-maintenance.test.ts +0 -130
  1123. package/tests/unit/tools/server-health-and-metrics.test.ts +0 -134
  1124. package/tests/unit/tools/simple-getters.test.ts +0 -88
  1125. package/tests/unit/tools/update_project_settings.test.ts +0 -64
  1126. package/tests/unit/utils/lru-cache.test.ts +0 -77
  1127. package/tests/unit/utils/mcp.test.ts +0 -82
  1128. package/tests/unit/utils/runTool.test.ts +0 -38
  1129. package/tests/unit/utils/validation.test.ts +0 -168
  1130. package/tsconfig.build.json +0 -28
  1131. package/tsconfig.json +0 -60
  1132. package/tsconfig.lint.json +0 -13
@@ -1,1452 +0,0 @@
1
- /**
2
- * Tests for BuildConfigNavigator
3
- */
4
- import { BuildConfigNavigator } from '@/teamcity/build-config-navigator';
5
- import type { TeamCityClient } from '@/teamcity/client';
6
-
7
- // Logger mocked below; direct import not required for behavior-first tests
8
-
9
- jest.mock('@/utils/logger', () => ({
10
- debug: jest.fn(),
11
- info: jest.fn(),
12
- warn: jest.fn(),
13
- error: jest.fn(),
14
- }));
15
-
16
- describe('BuildConfigNavigator', () => {
17
- let navigator: BuildConfigNavigator;
18
- type MockClient = {
19
- buildTypes: { getAllBuildTypes: jest.Mock; getBuildType: jest.Mock };
20
- projects: { getProject: jest.Mock; getProjects: jest.Mock };
21
- };
22
- let mockClient: MockClient;
23
-
24
- beforeEach(() => {
25
- jest.clearAllMocks();
26
- jest.useFakeTimers();
27
-
28
- // Create mock TeamCity client
29
- mockClient = {
30
- buildTypes: {
31
- getAllBuildTypes: jest.fn(),
32
- getBuildType: jest.fn(),
33
- },
34
- projects: {
35
- getProject: jest.fn(),
36
- getProjects: jest.fn(),
37
- },
38
- };
39
-
40
- navigator = new BuildConfigNavigator(mockClient as unknown as TeamCityClient);
41
-
42
- // Clear cache before each test without using `any`
43
- type PrivateNav = { cache: Map<string, unknown> };
44
- (navigator as unknown as PrivateNav).cache.clear();
45
- });
46
-
47
- afterEach(() => {
48
- jest.useRealTimers();
49
- });
50
-
51
- describe('Basic Listing', () => {
52
- it('should fetch build configurations with no filters', async () => {
53
- const mockResponse = {
54
- data: {
55
- count: 2,
56
- buildType: [
57
- {
58
- id: 'Project1_Build',
59
- name: 'Build Configuration 1',
60
- projectId: 'Project1',
61
- projectName: 'Project 1',
62
- description: 'Test build config',
63
- href: '/app/rest/buildTypes/id:Project1_Build',
64
- webUrl:
65
- 'https://teamcity.example.com/admin/editBuild.html?id=buildType:Project1_Build',
66
- },
67
- {
68
- id: 'Project2_Test',
69
- name: 'Test Configuration',
70
- projectId: 'Project2',
71
- projectName: 'Project 2',
72
- description: 'Test configuration',
73
- href: '/app/rest/buildTypes/id:Project2_Test',
74
- webUrl:
75
- 'https://teamcity.example.com/admin/editBuild.html?id=buildType:Project2_Test',
76
- },
77
- ],
78
- },
79
- };
80
-
81
- mockClient.buildTypes.getAllBuildTypes.mockResolvedValue(mockResponse);
82
-
83
- const result = await navigator.listBuildConfigs();
84
-
85
- expect(result.buildConfigs).toHaveLength(2);
86
- expect(result.buildConfigs[0]).toEqual({
87
- id: 'Project1_Build',
88
- name: 'Build Configuration 1',
89
- projectId: 'Project1',
90
- projectName: 'Project 1',
91
- description: 'Test build config',
92
- href: '/app/rest/buildTypes/id:Project1_Build',
93
- webUrl: 'https://teamcity.example.com/admin/editBuild.html?id=buildType:Project1_Build',
94
- });
95
- expect(result.totalCount).toBe(2);
96
- // Behavior-first: verify output content only
97
- });
98
-
99
- it('should handle empty build configuration list', async () => {
100
- const mockResponse = {
101
- data: {
102
- count: 0,
103
- buildType: [],
104
- },
105
- };
106
-
107
- mockClient.buildTypes.getAllBuildTypes.mockResolvedValue(mockResponse);
108
-
109
- const result = await navigator.listBuildConfigs();
110
-
111
- expect(result.buildConfigs).toHaveLength(0);
112
- expect(result.totalCount).toBe(0);
113
- // Behavior-first: verify output content only
114
- });
115
- });
116
-
117
- describe('Project Filtering', () => {
118
- it('should filter build configurations by project ID', async () => {
119
- const mockResponse = {
120
- data: {
121
- count: 1,
122
- buildType: [
123
- {
124
- id: 'Project1_Build',
125
- name: 'Build Configuration 1',
126
- projectId: 'Project1',
127
- projectName: 'Project 1',
128
- description: 'Test build config',
129
- href: '/app/rest/buildTypes/id:Project1_Build',
130
- webUrl:
131
- 'https://teamcity.example.com/admin/editBuild.html?id=buildType:Project1_Build',
132
- },
133
- ],
134
- },
135
- };
136
-
137
- mockClient.buildTypes.getAllBuildTypes.mockResolvedValue(mockResponse);
138
-
139
- const result = await navigator.listBuildConfigs({ projectId: 'Project1' });
140
-
141
- expect(result.buildConfigs).toHaveLength(1);
142
- expect(result.buildConfigs[0]?.projectId).toBe('Project1');
143
- // Behavior-first: verify results are filtered as expected
144
- });
145
-
146
- it('should handle multiple project IDs', async () => {
147
- const mockResponse = {
148
- data: {
149
- count: 2,
150
- buildType: [
151
- {
152
- id: 'Project1_Build',
153
- name: 'Build Configuration 1',
154
- projectId: 'Project1',
155
- projectName: 'Project 1',
156
- },
157
- {
158
- id: 'Project2_Build',
159
- name: 'Build Configuration 2',
160
- projectId: 'Project2',
161
- projectName: 'Project 2',
162
- },
163
- ],
164
- },
165
- };
166
-
167
- mockClient.buildTypes.getAllBuildTypes.mockResolvedValue(mockResponse);
168
-
169
- const result = await navigator.listBuildConfigs({
170
- projectIds: ['Project1', 'Project2'],
171
- });
172
-
173
- expect(result.buildConfigs).toHaveLength(2);
174
- // Behavior-first: verify results contain both projects
175
- });
176
- });
177
-
178
- describe('Name Pattern Filtering', () => {
179
- it('should filter by build configuration name pattern', async () => {
180
- const mockResponse = {
181
- data: {
182
- count: 1,
183
- buildType: [
184
- {
185
- id: 'Project1_Test',
186
- name: 'Test Configuration',
187
- projectId: 'Project1',
188
- projectName: 'Project 1',
189
- },
190
- ],
191
- },
192
- };
193
-
194
- mockClient.buildTypes.getAllBuildTypes.mockResolvedValue(mockResponse);
195
-
196
- const result = await navigator.listBuildConfigs({ namePattern: 'Test*' });
197
-
198
- expect(result.buildConfigs).toHaveLength(1);
199
- expect(result.buildConfigs[0]?.name).toBe('Test Configuration');
200
- });
201
-
202
- it('should support exact name matching', async () => {
203
- const mockResponse = {
204
- data: {
205
- count: 3,
206
- buildType: [
207
- {
208
- id: 'Project1_Build',
209
- name: 'Build Configuration',
210
- projectId: 'Project1',
211
- projectName: 'Project 1',
212
- },
213
- {
214
- id: 'Project1_Deploy',
215
- name: 'Deploy Configuration',
216
- projectId: 'Project1',
217
- projectName: 'Project 1',
218
- },
219
- {
220
- id: 'Project1_Test',
221
- name: 'Test Configuration',
222
- projectId: 'Project1',
223
- projectName: 'Project 1',
224
- },
225
- ],
226
- },
227
- };
228
-
229
- mockClient.buildTypes.getAllBuildTypes.mockResolvedValue(mockResponse);
230
-
231
- const result = await navigator.listBuildConfigs({ namePattern: 'Deploy Configuration' });
232
-
233
- expect(result.buildConfigs).toHaveLength(1);
234
- expect(result.buildConfigs[0]?.name).toBe('Deploy Configuration');
235
- });
236
-
237
- it('should support partial name matching', async () => {
238
- const mockResponse = {
239
- data: {
240
- count: 3,
241
- buildType: [
242
- {
243
- id: 'Project1_Build',
244
- name: 'Build Configuration',
245
- projectId: 'Project1',
246
- projectName: 'Project 1',
247
- },
248
- {
249
- id: 'Project1_Deploy',
250
- name: 'Deploy Configuration',
251
- projectId: 'Project1',
252
- projectName: 'Project 1',
253
- },
254
- {
255
- id: 'Project1_Test',
256
- name: 'Test Configuration',
257
- projectId: 'Project1',
258
- projectName: 'Project 1',
259
- },
260
- ],
261
- },
262
- };
263
-
264
- mockClient.buildTypes.getAllBuildTypes.mockResolvedValue(mockResponse);
265
-
266
- const result = await navigator.listBuildConfigs({ namePattern: 'Config' });
267
-
268
- expect(result.buildConfigs).toHaveLength(3);
269
- expect(result.buildConfigs.every((config) => config.name.includes('Configuration'))).toBe(
270
- true
271
- );
272
- });
273
-
274
- it('should support wildcard patterns at beginning and end', async () => {
275
- const mockResponse = {
276
- data: {
277
- count: 5,
278
- buildType: [
279
- {
280
- id: 'Project1_FastBuild',
281
- name: 'Fast Build',
282
- projectId: 'Project1',
283
- projectName: 'Project 1',
284
- },
285
- {
286
- id: 'Project1_SlowBuild',
287
- name: 'Slow Build',
288
- projectId: 'Project1',
289
- projectName: 'Project 1',
290
- },
291
- {
292
- id: 'Project1_NightlyBuild',
293
- name: 'Nightly Build',
294
- projectId: 'Project1',
295
- projectName: 'Project 1',
296
- },
297
- {
298
- id: 'Project1_Deploy',
299
- name: 'Deploy',
300
- projectId: 'Project1',
301
- projectName: 'Project 1',
302
- },
303
- {
304
- id: 'Project1_Test',
305
- name: 'Test',
306
- projectId: 'Project1',
307
- projectName: 'Project 1',
308
- },
309
- ],
310
- },
311
- };
312
-
313
- mockClient.buildTypes.getAllBuildTypes.mockResolvedValue(mockResponse);
314
-
315
- const result = await navigator.listBuildConfigs({ namePattern: '*Build' });
316
-
317
- expect(result.buildConfigs).toHaveLength(3);
318
- expect(result.buildConfigs.every((config) => config.name.endsWith('Build'))).toBe(true);
319
- });
320
-
321
- it('should support complex wildcard patterns', async () => {
322
- const mockResponse = {
323
- data: {
324
- count: 5,
325
- buildType: [
326
- {
327
- id: 'Project1_Dev_Deploy',
328
- name: 'Dev Deploy',
329
- projectId: 'Project1',
330
- projectName: 'Project 1',
331
- },
332
- {
333
- id: 'Project1_Staging_Deploy',
334
- name: 'Staging Deploy',
335
- projectId: 'Project1',
336
- projectName: 'Project 1',
337
- },
338
- {
339
- id: 'Project1_Prod_Deploy',
340
- name: 'Prod Deploy',
341
- projectId: 'Project1',
342
- projectName: 'Project 1',
343
- },
344
- {
345
- id: 'Project1_Dev_Build',
346
- name: 'Dev Build',
347
- projectId: 'Project1',
348
- projectName: 'Project 1',
349
- },
350
- {
351
- id: 'Project1_Test',
352
- name: 'Test',
353
- projectId: 'Project1',
354
- projectName: 'Project 1',
355
- },
356
- ],
357
- },
358
- };
359
-
360
- mockClient.buildTypes.getAllBuildTypes.mockResolvedValue(mockResponse);
361
-
362
- const result = await navigator.listBuildConfigs({ namePattern: '*Deploy' });
363
-
364
- expect(result.buildConfigs).toHaveLength(3);
365
- expect(result.buildConfigs.every((config) => config.name.includes('Deploy'))).toBe(true);
366
- });
367
-
368
- it('should be case-insensitive for name pattern matching', async () => {
369
- const mockResponse = {
370
- data: {
371
- count: 2,
372
- buildType: [
373
- {
374
- id: 'Project1_Build',
375
- name: 'BUILD Configuration',
376
- projectId: 'Project1',
377
- projectName: 'Project 1',
378
- },
379
- {
380
- id: 'Project1_Test',
381
- name: 'build test',
382
- projectId: 'Project1',
383
- projectName: 'Project 1',
384
- },
385
- ],
386
- },
387
- };
388
-
389
- mockClient.buildTypes.getAllBuildTypes.mockResolvedValue(mockResponse);
390
-
391
- const result = await navigator.listBuildConfigs({ namePattern: 'build*' });
392
-
393
- expect(result.buildConfigs).toHaveLength(2);
394
- });
395
- });
396
-
397
- describe('Pagination', () => {
398
- it('should support pagination parameters', async () => {
399
- const mockResponse = {
400
- data: {
401
- count: 50,
402
- buildType: Array.from({ length: 10 }, (_, i) => ({
403
- id: `Build${i + 1}`,
404
- name: `Build Configuration ${i + 1}`,
405
- projectId: 'TestProject',
406
- projectName: 'Test Project',
407
- })),
408
- },
409
- };
410
-
411
- mockClient.buildTypes.getAllBuildTypes.mockResolvedValue(mockResponse);
412
-
413
- const result = await navigator.listBuildConfigs({
414
- pagination: { limit: 10, offset: 0 },
415
- });
416
-
417
- expect(result.buildConfigs).toHaveLength(10);
418
- expect(result.totalCount).toBe(50);
419
- expect(result.hasMore).toBe(true);
420
- // Behavior-first: verify pagination metadata only
421
- });
422
-
423
- it('should calculate hasMore correctly when at end of results', async () => {
424
- const mockResponse = {
425
- data: {
426
- count: 25,
427
- buildType: Array.from({ length: 5 }, (_, i) => ({
428
- id: `Build${i + 21}`,
429
- name: `Build Configuration ${i + 21}`,
430
- projectId: 'TestProject',
431
- projectName: 'Test Project',
432
- })),
433
- },
434
- };
435
-
436
- mockClient.buildTypes.getAllBuildTypes.mockResolvedValue(mockResponse);
437
-
438
- const result = await navigator.listBuildConfigs({
439
- pagination: { limit: 10, offset: 20 },
440
- });
441
-
442
- expect(result.buildConfigs).toHaveLength(5);
443
- expect(result.totalCount).toBe(25);
444
- expect(result.hasMore).toBe(false);
445
- });
446
- });
447
-
448
- describe('Metadata Extraction', () => {
449
- it('should extract VCS root information when includeVcsRoots is true', async () => {
450
- const mockResponse = {
451
- data: {
452
- count: 1,
453
- buildType: [
454
- {
455
- id: 'Project1_Build',
456
- name: 'Build Configuration 1',
457
- projectId: 'Project1',
458
- projectName: 'Project 1',
459
- 'vcs-root-entries': {
460
- 'vcs-root-entry': [
461
- {
462
- id: 'VcsRoot1',
463
- 'vcs-root': {
464
- id: 'VcsRoot1',
465
- name: 'Main Repository',
466
- vcsName: 'git',
467
- properties: {
468
- property: [
469
- { name: 'url', value: 'https://github.com/example/repo.git' },
470
- { name: 'branch', value: 'main' },
471
- ],
472
- },
473
- },
474
- },
475
- ],
476
- },
477
- },
478
- ],
479
- },
480
- };
481
-
482
- mockClient.buildTypes.getAllBuildTypes.mockResolvedValue(mockResponse);
483
-
484
- const result = await navigator.listBuildConfigs({ includeVcsRoots: true });
485
-
486
- expect(result.buildConfigs).toHaveLength(1);
487
- expect(result.buildConfigs[0]?.vcsRoots).toBeDefined();
488
- expect(result.buildConfigs[0]?.vcsRoots).toHaveLength(1);
489
- expect(result.buildConfigs[0]?.vcsRoots?.[0]).toEqual({
490
- id: 'VcsRoot1',
491
- name: 'Main Repository',
492
- vcsName: 'git',
493
- url: 'https://github.com/example/repo.git',
494
- branch: 'main',
495
- });
496
- });
497
-
498
- it('should extract build parameters when includeParameters is true', async () => {
499
- const mockResponse = {
500
- data: {
501
- count: 1,
502
- buildType: [
503
- {
504
- id: 'Project1_Build',
505
- name: 'Build Configuration 1',
506
- projectId: 'Project1',
507
- projectName: 'Project 1',
508
- parameters: {
509
- property: [
510
- {
511
- name: 'env.NODE_ENV',
512
- value: 'production',
513
- type: { rawValue: 'text' },
514
- },
515
- {
516
- name: 'system.test.timeout',
517
- value: '30',
518
- type: { rawValue: 'text' },
519
- },
520
- ],
521
- },
522
- },
523
- ],
524
- },
525
- };
526
-
527
- mockClient.buildTypes.getAllBuildTypes.mockResolvedValue(mockResponse);
528
-
529
- const result = await navigator.listBuildConfigs({ includeParameters: true });
530
-
531
- expect(result.buildConfigs).toHaveLength(1);
532
- expect(result.buildConfigs[0]?.parameters).toBeDefined();
533
- expect(result.buildConfigs[0]?.parameters).toEqual({
534
- 'env.NODE_ENV': 'production',
535
- 'system.test.timeout': '30',
536
- });
537
- });
538
- });
539
-
540
- describe('Hierarchy Traversal', () => {
541
- it('should include project hierarchy information when includeProjectHierarchy is true', async () => {
542
- const mockBuildTypesResponse = {
543
- data: {
544
- count: 1,
545
- buildType: [
546
- {
547
- id: 'SubProject_Build',
548
- name: 'Sub Project Build',
549
- projectId: 'SubProject',
550
- projectName: 'Sub Project',
551
- },
552
- ],
553
- },
554
- };
555
-
556
- const mockProjectResponse = {
557
- data: {
558
- id: 'SubProject',
559
- name: 'Sub Project',
560
- parentProjectId: 'RootProject',
561
- parentProject: {
562
- id: 'RootProject',
563
- name: 'Root Project',
564
- },
565
- },
566
- };
567
-
568
- mockClient.buildTypes.getAllBuildTypes.mockResolvedValue(mockBuildTypesResponse);
569
- mockClient.projects.getProject.mockResolvedValue(mockProjectResponse);
570
-
571
- const result = await navigator.listBuildConfigs({
572
- includeProjectHierarchy: true,
573
- });
574
-
575
- expect(result.buildConfigs).toHaveLength(1);
576
- expect(result.buildConfigs[0]?.projectHierarchy).toBeDefined();
577
- expect(result.buildConfigs[0]?.projectHierarchy).toEqual([
578
- { id: 'RootProject', name: 'Root Project' },
579
- { id: 'SubProject', name: 'Sub Project' },
580
- ]);
581
- });
582
- });
583
-
584
- describe('Error Handling', () => {
585
- it('should handle 401 authentication errors', async () => {
586
- interface HttpError extends Error {
587
- response?: { status?: number; data?: unknown };
588
- }
589
- const authError: HttpError = new Error('Authentication failed');
590
- authError.response = { status: 401 };
591
-
592
- mockClient.buildTypes.getAllBuildTypes.mockRejectedValue(authError);
593
-
594
- await expect(navigator.listBuildConfigs()).rejects.toThrow(
595
- 'Authentication failed - please check your TeamCity token'
596
- );
597
- });
598
-
599
- it('should handle 403 permission errors', async () => {
600
- interface HttpError extends Error {
601
- response?: { status?: number; data?: unknown };
602
- }
603
- const permissionError: HttpError = new Error('Forbidden');
604
- permissionError.response = { status: 403 };
605
-
606
- mockClient.buildTypes.getAllBuildTypes.mockRejectedValue(permissionError);
607
-
608
- await expect(navigator.listBuildConfigs()).rejects.toThrow(
609
- 'Permission denied - you do not have access to build configurations'
610
- );
611
- });
612
-
613
- it('should handle 404 not found errors for specific projects', async () => {
614
- interface HttpError extends Error {
615
- response?: { status?: number; data?: unknown };
616
- }
617
- const notFoundError: HttpError = new Error('Not found');
618
- notFoundError.response = { status: 404 };
619
-
620
- mockClient.buildTypes.getAllBuildTypes.mockRejectedValue(notFoundError);
621
-
622
- await expect(navigator.listBuildConfigs({ projectId: 'NonExistentProject' })).rejects.toThrow(
623
- 'Project NonExistentProject not found'
624
- );
625
- });
626
-
627
- it('should handle network timeouts', async () => {
628
- const timeoutError = new Error('Timeout');
629
- timeoutError.name = 'ECONNABORTED';
630
-
631
- mockClient.buildTypes.getAllBuildTypes.mockRejectedValue(timeoutError);
632
-
633
- await expect(navigator.listBuildConfigs()).rejects.toThrow(
634
- 'Request timed out - TeamCity server may be overloaded'
635
- );
636
- });
637
-
638
- it('should handle generic API errors', async () => {
639
- interface HttpError extends Error {
640
- response?: { status?: number; data?: unknown };
641
- }
642
- const apiError: HttpError = new Error('Internal Server Error');
643
- apiError.response = { status: 500, data: { message: 'Database error' } };
644
-
645
- mockClient.buildTypes.getAllBuildTypes.mockRejectedValue(apiError);
646
-
647
- await expect(navigator.listBuildConfigs()).rejects.toThrow(
648
- 'TeamCity API error: Internal Server Error'
649
- );
650
- });
651
-
652
- it('should handle malformed API responses', async () => {
653
- const malformedResponse = {
654
- data: null,
655
- };
656
-
657
- mockClient.buildTypes.getAllBuildTypes.mockResolvedValue(malformedResponse);
658
-
659
- await expect(navigator.listBuildConfigs()).rejects.toThrow(
660
- 'Invalid API response from TeamCity'
661
- );
662
- });
663
- });
664
-
665
- describe('Caching', () => {
666
- it('should cache results for identical queries', async () => {
667
- const mockResponse = {
668
- data: {
669
- count: 1,
670
- buildType: [
671
- {
672
- id: 'Project1_Build',
673
- name: 'Build Configuration 1',
674
- projectId: 'Project1',
675
- projectName: 'Project 1',
676
- },
677
- ],
678
- },
679
- };
680
-
681
- mockClient.buildTypes.getAllBuildTypes.mockResolvedValue(mockResponse);
682
-
683
- // First call
684
- const result1 = await navigator.listBuildConfigs({ projectId: 'Project1' });
685
- expect(mockClient.buildTypes.getAllBuildTypes).toHaveBeenCalledTimes(1);
686
- expect(result1.buildConfigs).toHaveLength(1);
687
-
688
- // Second identical call should return same results (behavior)
689
- const result2 = await navigator.listBuildConfigs({ projectId: 'Project1' });
690
- // Verify cache prevented another client call
691
- expect(mockClient.buildTypes.getAllBuildTypes).toHaveBeenCalledTimes(1);
692
- expect(result2.buildConfigs).toEqual(result1.buildConfigs);
693
- });
694
-
695
- it('should expire cache after TTL', async () => {
696
- const mockResponse = {
697
- data: {
698
- count: 1,
699
- buildType: [
700
- {
701
- id: 'Project1_Build',
702
- name: 'Build Configuration 1',
703
- projectId: 'Project1',
704
- projectName: 'Project 1',
705
- },
706
- ],
707
- },
708
- };
709
-
710
- mockClient.buildTypes.getAllBuildTypes.mockResolvedValue(mockResponse);
711
-
712
- // First call
713
- const first = await navigator.listBuildConfigs({ projectId: 'Project1' });
714
- expect(first.buildConfigs).toHaveLength(1);
715
-
716
- // Advance time beyond cache TTL (120 seconds)
717
- jest.advanceTimersByTime(121000);
718
-
719
- // Second call after TTL should still return consistent results
720
- const second = await navigator.listBuildConfigs({ projectId: 'Project1' });
721
- expect(second.buildConfigs).toHaveLength(1);
722
- });
723
-
724
- it('should not cache error responses', async () => {
725
- const apiError = new Error('Server Error');
726
- mockClient.buildTypes.getAllBuildTypes.mockRejectedValue(apiError);
727
-
728
- // First call should fail
729
- await expect(navigator.listBuildConfigs()).rejects.toThrow('Server Error');
730
- expect(mockClient.buildTypes.getAllBuildTypes).toHaveBeenCalledTimes(1);
731
-
732
- // Second call should also make API request (no caching of errors)
733
- await expect(navigator.listBuildConfigs()).rejects.toThrow('Server Error');
734
- expect(mockClient.buildTypes.getAllBuildTypes).toHaveBeenCalledTimes(2);
735
- });
736
-
737
- it('should clear old cache entries when cache limit is exceeded', async () => {
738
- const mockResponse = {
739
- data: {
740
- count: 1,
741
- buildType: [{ id: 'Build1', name: 'Build 1', projectId: 'Project1' }],
742
- },
743
- };
744
-
745
- mockClient.buildTypes.getAllBuildTypes.mockResolvedValue(mockResponse);
746
-
747
- // Fill cache with 101 entries to exceed the 100 entry limit
748
- /* eslint-disable no-await-in-loop */
749
- for (let i = 0; i < 101; i++) {
750
- await navigator.listBuildConfigs({ projectId: `Project${i}` });
751
- }
752
- /* eslint-enable no-await-in-loop */
753
-
754
- // Behavior-first: ensure calls do not throw and produce results
755
- const sample = await navigator.listBuildConfigs({ projectId: 'Project100' });
756
- expect(Array.isArray(sample.buildConfigs)).toBe(true);
757
- });
758
- });
759
-
760
- describe('View Modes', () => {
761
- it('should support list view mode (default)', async () => {
762
- const mockResponse = {
763
- data: {
764
- count: 2,
765
- buildType: [
766
- {
767
- id: 'Project1_Build',
768
- name: 'Build Configuration 1',
769
- projectId: 'Project1',
770
- projectName: 'Project 1',
771
- },
772
- {
773
- id: 'Project2_Build',
774
- name: 'Build Configuration 2',
775
- projectId: 'Project2',
776
- projectName: 'Project 2',
777
- },
778
- ],
779
- },
780
- };
781
-
782
- mockClient.buildTypes.getAllBuildTypes.mockResolvedValue(mockResponse);
783
-
784
- const result = await navigator.listBuildConfigs({ viewMode: 'list' });
785
-
786
- expect(result.viewMode).toBe('list');
787
- expect(result.buildConfigs).toHaveLength(2);
788
- expect(result.groupedByProject).toBeUndefined();
789
- });
790
-
791
- it('should support project-grouped view mode', async () => {
792
- const mockResponse = {
793
- data: {
794
- count: 3,
795
- buildType: [
796
- {
797
- id: 'Project1_Build',
798
- name: 'Build Configuration 1',
799
- projectId: 'Project1',
800
- projectName: 'Project 1',
801
- },
802
- {
803
- id: 'Project1_Test',
804
- name: 'Test Configuration 1',
805
- projectId: 'Project1',
806
- projectName: 'Project 1',
807
- },
808
- {
809
- id: 'Project2_Build',
810
- name: 'Build Configuration 2',
811
- projectId: 'Project2',
812
- projectName: 'Project 2',
813
- },
814
- ],
815
- },
816
- };
817
-
818
- mockClient.buildTypes.getAllBuildTypes.mockResolvedValue(mockResponse);
819
-
820
- const result = await navigator.listBuildConfigs({ viewMode: 'project-grouped' });
821
-
822
- expect(result.viewMode).toBe('project-grouped');
823
- expect(result.groupedByProject).toBeDefined();
824
- expect(result.groupedByProject).toHaveProperty('Project1');
825
- expect(result.groupedByProject).toHaveProperty('Project2');
826
- expect(result.groupedByProject?.['Project1']?.buildConfigs).toHaveLength(2);
827
- expect(result.groupedByProject?.['Project2']?.buildConfigs).toHaveLength(1);
828
- });
829
- });
830
-
831
- describe('Logging and Debugging', () => {
832
- it('should log successful API calls', async () => {
833
- const mockResponse = {
834
- data: {
835
- count: 1,
836
- buildType: [
837
- {
838
- id: 'Project1_Build',
839
- name: 'Build Configuration 1',
840
- projectId: 'Project1',
841
- projectName: 'Project 1',
842
- },
843
- ],
844
- },
845
- };
846
-
847
- mockClient.buildTypes.getAllBuildTypes.mockResolvedValue(mockResponse);
848
-
849
- await navigator.listBuildConfigs({ projectId: 'Project1' });
850
-
851
- // Behavior-first: ensure no throw and results returned
852
- expect(true).toBe(true);
853
- });
854
-
855
- it('should log cache hits', async () => {
856
- const mockResponse = {
857
- data: {
858
- count: 1,
859
- buildType: [
860
- {
861
- id: 'Project1_Build',
862
- name: 'Build Configuration 1',
863
- projectId: 'Project1',
864
- projectName: 'Project 1',
865
- },
866
- ],
867
- },
868
- };
869
-
870
- mockClient.buildTypes.getAllBuildTypes.mockResolvedValue(mockResponse);
871
-
872
- // First call
873
- const result1 = await navigator.listBuildConfigs({ projectId: 'Project1' });
874
-
875
- // Second call (cache hit)
876
- const result2 = await navigator.listBuildConfigs({ projectId: 'Project1' });
877
-
878
- // Behavior-first: ensure second call still returns identical results
879
- expect(result2.buildConfigs).toEqual(result1.buildConfigs);
880
- });
881
-
882
- it('should log errors with context', async () => {
883
- interface HttpError extends Error {
884
- response?: { status?: number; data?: unknown };
885
- }
886
- const apiError: HttpError = new Error('Server Error');
887
- apiError.response = { status: 500 };
888
-
889
- mockClient.buildTypes.getAllBuildTypes.mockRejectedValue(apiError);
890
-
891
- await expect(navigator.listBuildConfigs({ projectId: 'Project1' })).rejects.toThrow();
892
-
893
- // Behavior-first: ensure error surfaced to caller
894
- });
895
- });
896
-
897
- describe('Compound Filtering', () => {
898
- it('should apply multiple filters together', async () => {
899
- // When filtering by projectIds, the API should only return configs from those projects
900
- const mockResponse = {
901
- data: {
902
- count: 4,
903
- buildType: [
904
- {
905
- id: 'Project1_Build',
906
- name: 'Build Configuration',
907
- projectId: 'Project1',
908
- projectName: 'Project 1',
909
- },
910
- {
911
- id: 'Project1_Deploy',
912
- name: 'Deploy Configuration',
913
- projectId: 'Project1',
914
- projectName: 'Project 1',
915
- },
916
- {
917
- id: 'Project2_Build',
918
- name: 'Build Configuration',
919
- projectId: 'Project2',
920
- projectName: 'Project 2',
921
- },
922
- {
923
- id: 'Project2_Deploy',
924
- name: 'Deploy Configuration',
925
- projectId: 'Project2',
926
- projectName: 'Project 2',
927
- },
928
- ],
929
- },
930
- };
931
-
932
- mockClient.buildTypes.getAllBuildTypes.mockResolvedValue(mockResponse);
933
-
934
- const result = await navigator.listBuildConfigs({
935
- projectIds: ['Project1', 'Project2'],
936
- namePattern: 'Build*',
937
- });
938
-
939
- expect(result.buildConfigs).toHaveLength(2);
940
- expect(result.buildConfigs[0]?.id).toBe('Project1_Build');
941
- expect(result.buildConfigs[1]?.id).toBe('Project2_Build');
942
- // Behavior-first: assert filtered result shape only
943
- });
944
-
945
- it('should combine project filter with name pattern and pagination', async () => {
946
- const mockResponse = {
947
- data: {
948
- count: 10,
949
- buildType: Array.from({ length: 5 }, (_, i) => ({
950
- id: `Project1_Deploy${i + 1}`,
951
- name: `Deploy Configuration ${i + 1}`,
952
- projectId: 'Project1',
953
- projectName: 'Project 1',
954
- })),
955
- },
956
- };
957
-
958
- mockClient.buildTypes.getAllBuildTypes.mockResolvedValue(mockResponse);
959
-
960
- const result = await navigator.listBuildConfigs({
961
- projectId: 'Project1',
962
- namePattern: 'Deploy*',
963
- pagination: { limit: 5, offset: 0 },
964
- });
965
-
966
- expect(result.buildConfigs).toHaveLength(5);
967
- expect(result.buildConfigs.every((config) => config.name.startsWith('Deploy'))).toBe(true);
968
- expect(result.buildConfigs.every((config) => config.projectId === 'Project1')).toBe(true);
969
- expect(result.hasMore).toBe(true);
970
- // Behavior-first: assert pagination flags only
971
- });
972
-
973
- it('should apply all filters with metadata extraction', async () => {
974
- const mockResponse = {
975
- data: {
976
- count: 1,
977
- buildType: [
978
- {
979
- id: 'Project1_Deploy',
980
- name: 'Deploy Configuration',
981
- projectId: 'Project1',
982
- projectName: 'Project 1',
983
- 'vcs-root-entries': {
984
- 'vcs-root-entry': [
985
- {
986
- id: 'VcsRoot1',
987
- 'vcs-root': {
988
- id: 'VcsRoot1',
989
- name: 'Main Repository',
990
- vcsName: 'git',
991
- properties: {
992
- property: [
993
- { name: 'url', value: 'https://github.com/example/repo.git' },
994
- { name: 'branch', value: 'main' },
995
- ],
996
- },
997
- },
998
- },
999
- ],
1000
- },
1001
- parameters: {
1002
- property: [
1003
- { name: 'env', value: 'production' },
1004
- { name: 'version', value: '1.0.0' },
1005
- ],
1006
- },
1007
- },
1008
- ],
1009
- },
1010
- };
1011
-
1012
- mockClient.buildTypes.getAllBuildTypes.mockResolvedValue(mockResponse);
1013
- mockClient.projects.getProject.mockResolvedValue({
1014
- data: {
1015
- id: 'Project1',
1016
- name: 'Project 1',
1017
- parentProject: {
1018
- id: '_Root',
1019
- name: '<Root project>',
1020
- },
1021
- },
1022
- });
1023
-
1024
- const result = await navigator.listBuildConfigs({
1025
- projectId: 'Project1',
1026
- namePattern: 'Deploy*',
1027
- includeVcsRoots: true,
1028
- includeParameters: true,
1029
- includeProjectHierarchy: true,
1030
- viewMode: 'project-grouped',
1031
- });
1032
-
1033
- expect(result.buildConfigs).toHaveLength(1);
1034
- const config = result.buildConfigs[0];
1035
- expect(config).toBeDefined();
1036
- if (!config) throw new Error('Expected config');
1037
- expect(config.vcsRoots).toBeDefined();
1038
- expect(config.vcsRoots).toHaveLength(1);
1039
- expect(config.parameters).toBeDefined();
1040
- expect(config.parameters?.['env']).toBe('production');
1041
- expect(config.projectHierarchy).toBeDefined();
1042
- expect(config.projectHierarchy).toHaveLength(2);
1043
- expect(result.viewMode).toBe('project-grouped');
1044
- expect(result.groupedByProject).toBeDefined();
1045
- });
1046
- });
1047
-
1048
- describe('VCS Root Filtering', () => {
1049
- it('should filter configurations by VCS root URL', async () => {
1050
- const mockResponse = {
1051
- data: {
1052
- count: 3,
1053
- buildType: [
1054
- {
1055
- id: 'Project1_Build',
1056
- name: 'Build Configuration',
1057
- projectId: 'Project1',
1058
- projectName: 'Project 1',
1059
- 'vcs-root-entries': {
1060
- 'vcs-root-entry': [
1061
- {
1062
- id: 'VcsRoot1',
1063
- 'vcs-root': {
1064
- id: 'VcsRoot1',
1065
- name: 'Main Repository',
1066
- vcsName: 'git',
1067
- properties: {
1068
- property: [
1069
- { name: 'url', value: 'https://github.com/example/repo.git' },
1070
- { name: 'branch', value: 'main' },
1071
- ],
1072
- },
1073
- },
1074
- },
1075
- ],
1076
- },
1077
- },
1078
- {
1079
- id: 'Project1_Deploy',
1080
- name: 'Deploy Configuration',
1081
- projectId: 'Project1',
1082
- projectName: 'Project 1',
1083
- 'vcs-root-entries': {
1084
- 'vcs-root-entry': [
1085
- {
1086
- id: 'VcsRoot2',
1087
- 'vcs-root': {
1088
- id: 'VcsRoot2',
1089
- name: 'Deploy Repository',
1090
- vcsName: 'git',
1091
- properties: {
1092
- property: [
1093
- { name: 'url', value: 'https://github.com/example/deploy.git' },
1094
- { name: 'branch', value: 'production' },
1095
- ],
1096
- },
1097
- },
1098
- },
1099
- ],
1100
- },
1101
- },
1102
- {
1103
- id: 'Project1_Test',
1104
- name: 'Test Configuration',
1105
- projectId: 'Project1',
1106
- projectName: 'Project 1',
1107
- 'vcs-root-entries': {
1108
- 'vcs-root-entry': [
1109
- {
1110
- id: 'VcsRoot1',
1111
- 'vcs-root': {
1112
- id: 'VcsRoot1',
1113
- name: 'Main Repository',
1114
- vcsName: 'git',
1115
- properties: {
1116
- property: [
1117
- { name: 'url', value: 'https://github.com/example/repo.git' },
1118
- { name: 'branch', value: 'develop' },
1119
- ],
1120
- },
1121
- },
1122
- },
1123
- ],
1124
- },
1125
- },
1126
- ],
1127
- },
1128
- };
1129
-
1130
- mockClient.buildTypes.getAllBuildTypes.mockResolvedValue(mockResponse);
1131
-
1132
- const result = await navigator.listBuildConfigs({
1133
- includeVcsRoots: true,
1134
- });
1135
-
1136
- expect(result.buildConfigs).toHaveLength(3);
1137
- // Verify VCS roots are extracted
1138
- expect(result.buildConfigs[0]?.vcsRoots).toBeDefined();
1139
- expect(result.buildConfigs[0]?.vcsRoots?.[0]?.url).toBe(
1140
- 'https://github.com/example/repo.git'
1141
- );
1142
- expect(result.buildConfigs[1]?.vcsRoots?.[0]?.url).toBe(
1143
- 'https://github.com/example/deploy.git'
1144
- );
1145
- });
1146
-
1147
- it('should handle configurations with multiple VCS roots', async () => {
1148
- const mockResponse = {
1149
- data: {
1150
- count: 1,
1151
- buildType: [
1152
- {
1153
- id: 'Project1_MultiRepo',
1154
- name: 'Multi-Repository Build',
1155
- projectId: 'Project1',
1156
- projectName: 'Project 1',
1157
- 'vcs-root-entries': {
1158
- 'vcs-root-entry': [
1159
- {
1160
- id: 'VcsRoot1',
1161
- 'vcs-root': {
1162
- id: 'VcsRoot1',
1163
- name: 'Main Repository',
1164
- vcsName: 'git',
1165
- properties: {
1166
- property: [
1167
- { name: 'url', value: 'https://github.com/example/main.git' },
1168
- { name: 'branch', value: 'main' },
1169
- ],
1170
- },
1171
- },
1172
- },
1173
- {
1174
- id: 'VcsRoot2',
1175
- 'vcs-root': {
1176
- id: 'VcsRoot2',
1177
- name: 'Shared Libraries',
1178
- vcsName: 'git',
1179
- properties: {
1180
- property: [
1181
- { name: 'url', value: 'https://github.com/example/libs.git' },
1182
- { name: 'branch', value: 'stable' },
1183
- ],
1184
- },
1185
- },
1186
- },
1187
- {
1188
- id: 'VcsRoot3',
1189
- 'vcs-root': {
1190
- id: 'VcsRoot3',
1191
- name: 'Configuration',
1192
- vcsName: 'git',
1193
- properties: {
1194
- property: [
1195
- { name: 'url', value: 'https://github.com/example/config.git' },
1196
- { name: 'branch', value: 'master' },
1197
- ],
1198
- },
1199
- },
1200
- },
1201
- ],
1202
- },
1203
- },
1204
- ],
1205
- },
1206
- };
1207
-
1208
- mockClient.buildTypes.getAllBuildTypes.mockResolvedValue(mockResponse);
1209
-
1210
- const result = await navigator.listBuildConfigs({
1211
- includeVcsRoots: true,
1212
- });
1213
-
1214
- expect(result.buildConfigs).toHaveLength(1);
1215
- const vcsRoots = result.buildConfigs[0]?.vcsRoots ?? [];
1216
- expect(vcsRoots).toHaveLength(3);
1217
- expect(vcsRoots[0]?.name).toBe('Main Repository');
1218
- expect(vcsRoots[1]?.name).toBe('Shared Libraries');
1219
- expect(vcsRoots[2]?.name).toBe('Configuration');
1220
- });
1221
- });
1222
-
1223
- describe('Result Sorting', () => {
1224
- it('should maintain server-provided order by default', async () => {
1225
- const mockResponse = {
1226
- data: {
1227
- count: 3,
1228
- buildType: [
1229
- {
1230
- id: 'Project3_Build',
1231
- name: 'C Build',
1232
- projectId: 'Project3',
1233
- projectName: 'Project 3',
1234
- },
1235
- {
1236
- id: 'Project1_Build',
1237
- name: 'A Build',
1238
- projectId: 'Project1',
1239
- projectName: 'Project 1',
1240
- },
1241
- {
1242
- id: 'Project2_Build',
1243
- name: 'B Build',
1244
- projectId: 'Project2',
1245
- projectName: 'Project 2',
1246
- },
1247
- ],
1248
- },
1249
- };
1250
-
1251
- mockClient.buildTypes.getAllBuildTypes.mockResolvedValue(mockResponse);
1252
-
1253
- const result = await navigator.listBuildConfigs();
1254
-
1255
- expect(result.buildConfigs).toHaveLength(3);
1256
- expect(result.buildConfigs[0]?.name).toBe('C Build');
1257
- expect(result.buildConfigs[1]?.name).toBe('A Build');
1258
- expect(result.buildConfigs[2]?.name).toBe('B Build');
1259
- });
1260
-
1261
- it('should sort configurations in project-grouped view mode', async () => {
1262
- const mockResponse = {
1263
- data: {
1264
- count: 4,
1265
- buildType: [
1266
- {
1267
- id: 'Project2_Build',
1268
- name: 'Build',
1269
- projectId: 'Project2',
1270
- projectName: 'Project 2',
1271
- },
1272
- {
1273
- id: 'Project1_Deploy',
1274
- name: 'Deploy',
1275
- projectId: 'Project1',
1276
- projectName: 'Project 1',
1277
- },
1278
- {
1279
- id: 'Project2_Test',
1280
- name: 'Test',
1281
- projectId: 'Project2',
1282
- projectName: 'Project 2',
1283
- },
1284
- {
1285
- id: 'Project1_Build',
1286
- name: 'Build',
1287
- projectId: 'Project1',
1288
- projectName: 'Project 1',
1289
- },
1290
- ],
1291
- },
1292
- };
1293
-
1294
- mockClient.buildTypes.getAllBuildTypes.mockResolvedValue(mockResponse);
1295
-
1296
- const result = await navigator.listBuildConfigs({
1297
- viewMode: 'project-grouped',
1298
- });
1299
-
1300
- expect(result.viewMode).toBe('project-grouped');
1301
- expect(result.groupedByProject).toBeDefined();
1302
- expect(Object.keys(result.groupedByProject ?? {})).toHaveLength(2);
1303
- expect(result.groupedByProject?.['Project1']?.buildConfigs).toHaveLength(2);
1304
- expect(result.groupedByProject?.['Project2']?.buildConfigs).toHaveLength(2);
1305
- });
1306
- });
1307
-
1308
- describe('Build Status and Activity Filtering', () => {
1309
- it('should handle build configurations with recent activity metadata', async () => {
1310
- const mockResponse = {
1311
- data: {
1312
- count: 3,
1313
- buildType: [
1314
- {
1315
- id: 'Project1_Active',
1316
- name: 'Active Build',
1317
- projectId: 'Project1',
1318
- projectName: 'Project 1',
1319
- lastBuildDate: '2025-08-30T10:00:00Z',
1320
- lastBuildStatus: 'SUCCESS',
1321
- },
1322
- {
1323
- id: 'Project1_Inactive',
1324
- name: 'Inactive Build',
1325
- projectId: 'Project1',
1326
- projectName: 'Project 1',
1327
- lastBuildDate: '2025-01-01T10:00:00Z',
1328
- lastBuildStatus: 'FAILURE',
1329
- },
1330
- {
1331
- id: 'Project1_Never',
1332
- name: 'Never Built',
1333
- projectId: 'Project1',
1334
- projectName: 'Project 1',
1335
- },
1336
- ],
1337
- },
1338
- };
1339
-
1340
- mockClient.buildTypes.getAllBuildTypes.mockResolvedValue(mockResponse);
1341
-
1342
- const result = await navigator.listBuildConfigs();
1343
-
1344
- expect(result.buildConfigs).toHaveLength(3);
1345
- // The navigator currently passes through all configs
1346
- // Build status filtering would need to be implemented
1347
- });
1348
-
1349
- it('should handle paused build configurations', async () => {
1350
- const mockResponse = {
1351
- data: {
1352
- count: 2,
1353
- buildType: [
1354
- {
1355
- id: 'Project1_Active',
1356
- name: 'Active Build',
1357
- projectId: 'Project1',
1358
- projectName: 'Project 1',
1359
- paused: false,
1360
- },
1361
- {
1362
- id: 'Project1_Paused',
1363
- name: 'Paused Build',
1364
- projectId: 'Project1',
1365
- projectName: 'Project 1',
1366
- paused: true,
1367
- },
1368
- ],
1369
- },
1370
- };
1371
-
1372
- mockClient.buildTypes.getAllBuildTypes.mockResolvedValue(mockResponse);
1373
-
1374
- const result = await navigator.listBuildConfigs();
1375
-
1376
- expect(result.buildConfigs).toHaveLength(2);
1377
- // The navigator currently passes through all configs
1378
- // Paused filtering would need to be implemented
1379
- });
1380
- });
1381
-
1382
- describe('Edge Cases and Advanced Scenarios', () => {
1383
- it('should handle special characters in name patterns', async () => {
1384
- const mockResponse = {
1385
- data: {
1386
- count: 2,
1387
- buildType: [
1388
- {
1389
- id: 'Project1_Build',
1390
- name: 'Build [Production]',
1391
- projectId: 'Project1',
1392
- projectName: 'Project 1',
1393
- },
1394
- {
1395
- id: 'Project1_Test',
1396
- name: 'Test (Development)',
1397
- projectId: 'Project1',
1398
- projectName: 'Project 1',
1399
- },
1400
- ],
1401
- },
1402
- };
1403
-
1404
- mockClient.buildTypes.getAllBuildTypes.mockResolvedValue(mockResponse);
1405
-
1406
- const result = await navigator.listBuildConfigs({ namePattern: '[Production]' });
1407
-
1408
- expect(result.buildConfigs).toHaveLength(1);
1409
- expect(result.buildConfigs[0]?.name).toBe('Build [Production]');
1410
- });
1411
-
1412
- it('should handle empty project IDs array', async () => {
1413
- const mockResponse = {
1414
- data: {
1415
- count: 0,
1416
- buildType: [],
1417
- },
1418
- };
1419
-
1420
- mockClient.buildTypes.getAllBuildTypes.mockResolvedValue(mockResponse);
1421
-
1422
- const result = await navigator.listBuildConfigs({ projectIds: [] });
1423
-
1424
- expect(result.buildConfigs).toHaveLength(0);
1425
- // Behavior-first: verify outputs only
1426
- });
1427
-
1428
- it('should handle configurations with missing metadata gracefully', async () => {
1429
- const mockResponse = {
1430
- data: {
1431
- count: 1,
1432
- buildType: [
1433
- {
1434
- id: 'Project1_Build',
1435
- name: 'Build Configuration',
1436
- // Missing projectId and projectName
1437
- },
1438
- ],
1439
- },
1440
- };
1441
-
1442
- mockClient.buildTypes.getAllBuildTypes.mockResolvedValue(mockResponse);
1443
-
1444
- const result = await navigator.listBuildConfigs();
1445
-
1446
- expect(result.buildConfigs).toHaveLength(1);
1447
- expect(result.buildConfigs[0]?.id).toBe('Project1_Build');
1448
- expect(result.buildConfigs[0]?.projectId).toBe('');
1449
- expect(result.buildConfigs[0]?.projectName).toBe('');
1450
- });
1451
- });
1452
- });