@structured-world/gitlab-mcp 6.62.1 → 6.62.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 (414) hide show
  1. package/README.md +1 -1
  2. package/dist/generated/prisma/client.js.map +1 -1
  3. package/dist/generated/prisma/internal/class.js +2 -2
  4. package/dist/generated/prisma/internal/class.js.map +1 -1
  5. package/dist/generated/prisma/internal/prismaNamespace.js +2 -2
  6. package/dist/src/cli/docker/container-runtime.d.ts +1 -1
  7. package/dist/src/cli/docker/container-runtime.js +14 -14
  8. package/dist/src/cli/docker/docker-command.d.ts +1 -1
  9. package/dist/src/cli/docker/docker-command.js +113 -113
  10. package/dist/src/cli/docker/docker-command.js.map +1 -1
  11. package/dist/src/cli/docker/docker-utils.d.ts +3 -3
  12. package/dist/src/cli/docker/docker-utils.js +74 -74
  13. package/dist/src/cli/docker/docker-utils.js.map +1 -1
  14. package/dist/src/cli/docker/index.d.ts +4 -4
  15. package/dist/src/cli/docker/types.d.ts +3 -3
  16. package/dist/src/cli/docker/types.js +5 -5
  17. package/dist/src/cli/init/browser.js +2 -2
  18. package/dist/src/cli/init/config-generator.d.ts +2 -2
  19. package/dist/src/cli/init/config-generator.js +22 -22
  20. package/dist/src/cli/init/connection.d.ts +1 -1
  21. package/dist/src/cli/init/connection.js +17 -17
  22. package/dist/src/cli/init/index.d.ts +4 -4
  23. package/dist/src/cli/init/types.d.ts +3 -3
  24. package/dist/src/cli/init/types.js +36 -36
  25. package/dist/src/cli/init/wizard.js +80 -80
  26. package/dist/src/cli/init/wizard.js.map +1 -1
  27. package/dist/src/cli/inject-tool-refs.js +47 -47
  28. package/dist/src/cli/inject-tool-refs.js.map +1 -1
  29. package/dist/src/cli/install/backup.d.ts +1 -1
  30. package/dist/src/cli/install/backup.js +3 -3
  31. package/dist/src/cli/install/detector.d.ts +2 -2
  32. package/dist/src/cli/install/detector.js +18 -18
  33. package/dist/src/cli/install/detector.js.map +1 -1
  34. package/dist/src/cli/install/index.d.ts +5 -5
  35. package/dist/src/cli/install/install-command.d.ts +2 -2
  36. package/dist/src/cli/install/install-command.js +68 -68
  37. package/dist/src/cli/install/install-command.js.map +1 -1
  38. package/dist/src/cli/install/installers.d.ts +2 -2
  39. package/dist/src/cli/install/installers.js +55 -55
  40. package/dist/src/cli/install/installers.js.map +1 -1
  41. package/dist/src/cli/install/types.d.ts +4 -4
  42. package/dist/src/cli/install/types.js +48 -48
  43. package/dist/src/cli/instances/index.d.ts +2 -2
  44. package/dist/src/cli/instances/instances-command.d.ts +1 -1
  45. package/dist/src/cli/instances/instances-command.js +65 -65
  46. package/dist/src/cli/instances/instances-command.js.map +1 -1
  47. package/dist/src/cli/list-tools.js +396 -396
  48. package/dist/src/cli/list-tools.js.map +1 -1
  49. package/dist/src/cli/setup/discovery.d.ts +1 -1
  50. package/dist/src/cli/setup/discovery.js +10 -10
  51. package/dist/src/cli/setup/discovery.js.map +1 -1
  52. package/dist/src/cli/setup/flows/configure-existing.d.ts +1 -1
  53. package/dist/src/cli/setup/flows/configure-existing.js +57 -57
  54. package/dist/src/cli/setup/flows/configure-existing.js.map +1 -1
  55. package/dist/src/cli/setup/flows/local-setup.d.ts +1 -1
  56. package/dist/src/cli/setup/flows/local-setup.js +51 -51
  57. package/dist/src/cli/setup/flows/local-setup.js.map +1 -1
  58. package/dist/src/cli/setup/flows/server-setup.d.ts +1 -1
  59. package/dist/src/cli/setup/flows/server-setup.js +50 -50
  60. package/dist/src/cli/setup/flows/server-setup.js.map +1 -1
  61. package/dist/src/cli/setup/flows/tool-selection.d.ts +1 -1
  62. package/dist/src/cli/setup/flows/tool-selection.js +94 -94
  63. package/dist/src/cli/setup/flows/tool-selection.js.map +1 -1
  64. package/dist/src/cli/setup/index.d.ts +4 -4
  65. package/dist/src/cli/setup/presets.d.ts +1 -1
  66. package/dist/src/cli/setup/presets.js +157 -157
  67. package/dist/src/cli/setup/presets.js.map +1 -1
  68. package/dist/src/cli/setup/types.d.ts +7 -7
  69. package/dist/src/cli/setup/wizard.d.ts +1 -1
  70. package/dist/src/cli/setup/wizard.js +25 -25
  71. package/dist/src/cli/utils/index.d.ts +1 -1
  72. package/dist/src/cli/utils/path-utils.js +3 -3
  73. package/dist/src/cli-utils.d.ts +2 -2
  74. package/dist/src/cli-utils.js +46 -46
  75. package/dist/src/config/index.d.ts +4 -4
  76. package/dist/src/config/instances-loader.d.ts +3 -3
  77. package/dist/src/config/instances-loader.js +53 -53
  78. package/dist/src/config/instances-loader.js.map +1 -1
  79. package/dist/src/config/instances-schema.d.ts +1 -1
  80. package/dist/src/config/instances-schema.js +33 -33
  81. package/dist/src/config/instances-schema.js.map +1 -1
  82. package/dist/src/config.d.ts +4 -4
  83. package/dist/src/config.js +89 -89
  84. package/dist/src/config.js.map +1 -1
  85. package/dist/src/dashboard/handler.d.ts +2 -2
  86. package/dist/src/dashboard/handler.js +7 -7
  87. package/dist/src/dashboard/html-template.d.ts +1 -1
  88. package/dist/src/dashboard/html-template.js +44 -44
  89. package/dist/src/dashboard/html-template.js.map +1 -1
  90. package/dist/src/dashboard/index.d.ts +4 -4
  91. package/dist/src/dashboard/metrics.d.ts +3 -3
  92. package/dist/src/dashboard/metrics.js +42 -42
  93. package/dist/src/discovery/auto.d.ts +3 -3
  94. package/dist/src/discovery/auto.js +28 -28
  95. package/dist/src/discovery/git-remote.d.ts +2 -2
  96. package/dist/src/discovery/git-remote.js +18 -18
  97. package/dist/src/discovery/index.d.ts +3 -3
  98. package/dist/src/discovery/profile-matcher.d.ts +2 -2
  99. package/dist/src/discovery/profile-matcher.js +8 -8
  100. package/dist/src/discovery/profile-matcher.js.map +1 -1
  101. package/dist/src/entities/context/context-manager.d.ts +3 -3
  102. package/dist/src/entities/context/context-manager.js +34 -34
  103. package/dist/src/entities/context/context-manager.js.map +1 -1
  104. package/dist/src/entities/context/handlers.d.ts +2 -2
  105. package/dist/src/entities/context/handlers.js +8 -8
  106. package/dist/src/entities/context/index.d.ts +8 -8
  107. package/dist/src/entities/context/index.js +1 -1
  108. package/dist/src/entities/context/registry.d.ts +1 -1
  109. package/dist/src/entities/context/registry.js +4 -4
  110. package/dist/src/entities/context/schema.d.ts +1 -1
  111. package/dist/src/entities/context/schema.js +19 -19
  112. package/dist/src/entities/context/types.d.ts +9 -9
  113. package/dist/src/entities/context/whoami.d.ts +1 -1
  114. package/dist/src/entities/context/whoami.js +31 -31
  115. package/dist/src/entities/context/whoami.js.map +1 -1
  116. package/dist/src/entities/core/index.d.ts +5 -5
  117. package/dist/src/entities/core/index.js +1 -1
  118. package/dist/src/entities/core/registry.d.ts +1 -1
  119. package/dist/src/entities/core/registry.js +194 -194
  120. package/dist/src/entities/core/registry.js.map +1 -1
  121. package/dist/src/entities/core/schema-readonly.d.ts +1 -1
  122. package/dist/src/entities/core/schema-readonly.js +117 -117
  123. package/dist/src/entities/core/schema.d.ts +1 -1
  124. package/dist/src/entities/core/schema.js +67 -67
  125. package/dist/src/entities/files/index.d.ts +5 -5
  126. package/dist/src/entities/files/index.js +1 -1
  127. package/dist/src/entities/files/registry.d.ts +1 -1
  128. package/dist/src/entities/files/registry.js +45 -45
  129. package/dist/src/entities/files/registry.js.map +1 -1
  130. package/dist/src/entities/files/schema-readonly.d.ts +1 -1
  131. package/dist/src/entities/files/schema-readonly.js +13 -13
  132. package/dist/src/entities/files/schema.d.ts +1 -1
  133. package/dist/src/entities/files/schema.js +29 -29
  134. package/dist/src/entities/index.d.ts +17 -17
  135. package/dist/src/entities/integrations/index.d.ts +4 -4
  136. package/dist/src/entities/integrations/registry.d.ts +1 -1
  137. package/dist/src/entities/integrations/registry.js +17 -17
  138. package/dist/src/entities/integrations/registry.js.map +1 -1
  139. package/dist/src/entities/integrations/schema-readonly.d.ts +1 -1
  140. package/dist/src/entities/integrations/schema-readonly.js +5 -5
  141. package/dist/src/entities/integrations/schema.d.ts +1 -1
  142. package/dist/src/entities/integrations/schema.js +69 -69
  143. package/dist/src/entities/iterations/index.d.ts +2 -2
  144. package/dist/src/entities/iterations/registry.d.ts +1 -1
  145. package/dist/src/entities/iterations/registry.js +13 -13
  146. package/dist/src/entities/iterations/registry.js.map +1 -1
  147. package/dist/src/entities/iterations/schema-readonly.d.ts +1 -1
  148. package/dist/src/entities/iterations/schema-readonly.js +9 -9
  149. package/dist/src/entities/labels/index.d.ts +5 -5
  150. package/dist/src/entities/labels/index.js +1 -1
  151. package/dist/src/entities/labels/registry.d.ts +1 -1
  152. package/dist/src/entities/labels/registry.js +19 -19
  153. package/dist/src/entities/labels/registry.js.map +1 -1
  154. package/dist/src/entities/labels/schema-readonly.d.ts +1 -1
  155. package/dist/src/entities/labels/schema-readonly.js +8 -8
  156. package/dist/src/entities/labels/schema.d.ts +1 -1
  157. package/dist/src/entities/labels/schema.js +11 -11
  158. package/dist/src/entities/members/index.d.ts +3 -3
  159. package/dist/src/entities/members/registry.d.ts +1 -1
  160. package/dist/src/entities/members/registry.js +26 -26
  161. package/dist/src/entities/members/registry.js.map +1 -1
  162. package/dist/src/entities/members/schema-readonly.d.ts +1 -1
  163. package/dist/src/entities/members/schema-readonly.js +32 -32
  164. package/dist/src/entities/members/schema-readonly.js.map +1 -1
  165. package/dist/src/entities/members/schema.d.ts +1 -1
  166. package/dist/src/entities/members/schema.js +28 -28
  167. package/dist/src/entities/milestones/index.d.ts +5 -5
  168. package/dist/src/entities/milestones/index.js +1 -1
  169. package/dist/src/entities/milestones/registry.d.ts +1 -1
  170. package/dist/src/entities/milestones/registry.js +25 -25
  171. package/dist/src/entities/milestones/registry.js.map +1 -1
  172. package/dist/src/entities/milestones/schema-readonly.d.ts +2 -2
  173. package/dist/src/entities/milestones/schema-readonly.js +15 -15
  174. package/dist/src/entities/milestones/schema.d.ts +1 -1
  175. package/dist/src/entities/milestones/schema.js +16 -16
  176. package/dist/src/entities/milestones/schema.js.map +1 -1
  177. package/dist/src/entities/mrs/index.d.ts +5 -5
  178. package/dist/src/entities/mrs/index.js +1 -1
  179. package/dist/src/entities/mrs/registry.d.ts +1 -1
  180. package/dist/src/entities/mrs/registry.js +102 -102
  181. package/dist/src/entities/mrs/registry.js.map +1 -1
  182. package/dist/src/entities/mrs/schema-readonly.d.ts +1 -1
  183. package/dist/src/entities/mrs/schema-readonly.js +126 -126
  184. package/dist/src/entities/mrs/schema-readonly.js.map +1 -1
  185. package/dist/src/entities/mrs/schema.d.ts +1 -1
  186. package/dist/src/entities/mrs/schema.js +111 -111
  187. package/dist/src/entities/mrs/schema.js.map +1 -1
  188. package/dist/src/entities/pipelines/index.d.ts +5 -5
  189. package/dist/src/entities/pipelines/index.js +1 -1
  190. package/dist/src/entities/pipelines/registry.d.ts +1 -1
  191. package/dist/src/entities/pipelines/registry.js +45 -45
  192. package/dist/src/entities/pipelines/registry.js.map +1 -1
  193. package/dist/src/entities/pipelines/schema-readonly.d.ts +1 -1
  194. package/dist/src/entities/pipelines/schema-readonly.js +73 -73
  195. package/dist/src/entities/pipelines/schema.d.ts +1 -1
  196. package/dist/src/entities/pipelines/schema.js +21 -21
  197. package/dist/src/entities/refs/index.d.ts +3 -3
  198. package/dist/src/entities/refs/registry.d.ts +1 -1
  199. package/dist/src/entities/refs/registry.js +31 -31
  200. package/dist/src/entities/refs/registry.js.map +1 -1
  201. package/dist/src/entities/refs/schema-readonly.d.ts +1 -1
  202. package/dist/src/entities/refs/schema-readonly.js +21 -21
  203. package/dist/src/entities/refs/schema.d.ts +1 -1
  204. package/dist/src/entities/refs/schema.js +56 -56
  205. package/dist/src/entities/releases/index.d.ts +3 -3
  206. package/dist/src/entities/releases/registry.d.ts +1 -1
  207. package/dist/src/entities/releases/registry.js +21 -21
  208. package/dist/src/entities/releases/registry.js.map +1 -1
  209. package/dist/src/entities/releases/schema-readonly.d.ts +1 -1
  210. package/dist/src/entities/releases/schema-readonly.js +13 -13
  211. package/dist/src/entities/releases/schema.d.ts +1 -1
  212. package/dist/src/entities/releases/schema.js +21 -21
  213. package/dist/src/entities/search/index.d.ts +2 -2
  214. package/dist/src/entities/search/registry.d.ts +1 -1
  215. package/dist/src/entities/search/registry.js +13 -13
  216. package/dist/src/entities/search/schema-readonly.d.ts +1 -1
  217. package/dist/src/entities/search/schema-readonly.js +23 -23
  218. package/dist/src/entities/shared.d.ts +1 -1
  219. package/dist/src/entities/shared.js +5 -5
  220. package/dist/src/entities/snippets/index.d.ts +5 -5
  221. package/dist/src/entities/snippets/index.js +1 -1
  222. package/dist/src/entities/snippets/registry.d.ts +1 -1
  223. package/dist/src/entities/snippets/registry.js +24 -24
  224. package/dist/src/entities/snippets/registry.js.map +1 -1
  225. package/dist/src/entities/snippets/schema-readonly.d.ts +1 -1
  226. package/dist/src/entities/snippets/schema-readonly.js +11 -11
  227. package/dist/src/entities/snippets/schema.d.ts +1 -1
  228. package/dist/src/entities/snippets/schema.js +27 -27
  229. package/dist/src/entities/snippets/schema.js.map +1 -1
  230. package/dist/src/entities/utils.d.ts +2 -2
  231. package/dist/src/entities/utils.js +8 -8
  232. package/dist/src/entities/utils.js.map +1 -1
  233. package/dist/src/entities/variables/index.d.ts +5 -5
  234. package/dist/src/entities/variables/index.js +1 -1
  235. package/dist/src/entities/variables/registry.d.ts +1 -1
  236. package/dist/src/entities/variables/registry.js +22 -22
  237. package/dist/src/entities/variables/registry.js.map +1 -1
  238. package/dist/src/entities/variables/schema-readonly.d.ts +1 -1
  239. package/dist/src/entities/variables/schema-readonly.js +6 -6
  240. package/dist/src/entities/variables/schema.d.ts +1 -1
  241. package/dist/src/entities/variables/schema.js +21 -21
  242. package/dist/src/entities/variables/schema.js.map +1 -1
  243. package/dist/src/entities/webhooks/index.d.ts +4 -4
  244. package/dist/src/entities/webhooks/registry.d.ts +1 -1
  245. package/dist/src/entities/webhooks/registry.js +29 -29
  246. package/dist/src/entities/webhooks/registry.js.map +1 -1
  247. package/dist/src/entities/webhooks/schema-readonly.d.ts +1 -1
  248. package/dist/src/entities/webhooks/schema-readonly.js +9 -9
  249. package/dist/src/entities/webhooks/schema.d.ts +1 -1
  250. package/dist/src/entities/webhooks/schema.js +59 -59
  251. package/dist/src/entities/wiki/index.d.ts +5 -5
  252. package/dist/src/entities/wiki/index.js +1 -1
  253. package/dist/src/entities/wiki/registry.d.ts +1 -1
  254. package/dist/src/entities/wiki/registry.js +19 -19
  255. package/dist/src/entities/wiki/registry.js.map +1 -1
  256. package/dist/src/entities/wiki/schema-readonly.d.ts +1 -1
  257. package/dist/src/entities/wiki/schema-readonly.js +6 -6
  258. package/dist/src/entities/wiki/schema.d.ts +1 -1
  259. package/dist/src/entities/wiki/schema.js +12 -12
  260. package/dist/src/entities/workitems/index.d.ts +5 -5
  261. package/dist/src/entities/workitems/index.js +1 -1
  262. package/dist/src/entities/workitems/registry.d.ts +1 -1
  263. package/dist/src/entities/workitems/registry.js +101 -101
  264. package/dist/src/entities/workitems/registry.js.map +1 -1
  265. package/dist/src/entities/workitems/schema-readonly.d.ts +1 -1
  266. package/dist/src/entities/workitems/schema-readonly.js +27 -27
  267. package/dist/src/entities/workitems/schema-readonly.js.map +1 -1
  268. package/dist/src/entities/workitems/schema.d.ts +1 -1
  269. package/dist/src/entities/workitems/schema.js +58 -58
  270. package/dist/src/graphql/DynamicWorkItemsQuery.d.ts +2 -2
  271. package/dist/src/graphql/DynamicWorkItemsQuery.js +47 -47
  272. package/dist/src/graphql/DynamicWorkItemsQuery.js.map +1 -1
  273. package/dist/src/graphql/client.d.ts +1 -1
  274. package/dist/src/graphql/client.js +4 -4
  275. package/dist/src/graphql/client.js.map +1 -1
  276. package/dist/src/graphql/index.d.ts +2 -2
  277. package/dist/src/graphql/workItems.d.ts +38 -38
  278. package/dist/src/graphql/workItems.js +30 -30
  279. package/dist/src/handlers.d.ts +1 -1
  280. package/dist/src/handlers.js +55 -55
  281. package/dist/src/handlers.js.map +1 -1
  282. package/dist/src/http-client.js +3 -3
  283. package/dist/src/logger.js +25 -25
  284. package/dist/src/logging/access-log.d.ts +2 -2
  285. package/dist/src/logging/access-log.js +25 -25
  286. package/dist/src/logging/connection-tracker.d.ts +1 -1
  287. package/dist/src/logging/connection-tracker.js +3 -3
  288. package/dist/src/logging/index.d.ts +5 -5
  289. package/dist/src/logging/request-tracker.d.ts +3 -3
  290. package/dist/src/logging/request-tracker.js +4 -4
  291. package/dist/src/logging/types.d.ts +3 -3
  292. package/dist/src/logging/types.js +1 -1
  293. package/dist/src/main.js +28 -28
  294. package/dist/src/middleware/index.d.ts +2 -2
  295. package/dist/src/middleware/oauth-auth.d.ts +1 -1
  296. package/dist/src/middleware/oauth-auth.js +17 -17
  297. package/dist/src/middleware/rate-limiter.d.ts +1 -1
  298. package/dist/src/middleware/rate-limiter.js +32 -32
  299. package/dist/src/oauth/config.d.ts +1 -1
  300. package/dist/src/oauth/config.js +18 -18
  301. package/dist/src/oauth/config.js.map +1 -1
  302. package/dist/src/oauth/endpoints/authorize.d.ts +1 -1
  303. package/dist/src/oauth/endpoints/authorize.js +32 -32
  304. package/dist/src/oauth/endpoints/callback.d.ts +1 -1
  305. package/dist/src/oauth/endpoints/callback.js +26 -26
  306. package/dist/src/oauth/endpoints/index.d.ts +5 -5
  307. package/dist/src/oauth/endpoints/metadata.d.ts +1 -1
  308. package/dist/src/oauth/endpoints/metadata.js +12 -12
  309. package/dist/src/oauth/endpoints/register.d.ts +1 -1
  310. package/dist/src/oauth/endpoints/register.js +9 -9
  311. package/dist/src/oauth/endpoints/token.d.ts +1 -1
  312. package/dist/src/oauth/endpoints/token.js +28 -28
  313. package/dist/src/oauth/gitlab-device-flow.d.ts +2 -2
  314. package/dist/src/oauth/gitlab-device-flow.js +46 -46
  315. package/dist/src/oauth/gitlab-device-flow.js.map +1 -1
  316. package/dist/src/oauth/index.d.ts +10 -10
  317. package/dist/src/oauth/session-store.d.ts +2 -2
  318. package/dist/src/oauth/session-store.js +40 -40
  319. package/dist/src/oauth/session-store.js.map +1 -1
  320. package/dist/src/oauth/storage/factory.d.ts +2 -2
  321. package/dist/src/oauth/storage/factory.js +16 -16
  322. package/dist/src/oauth/storage/file.d.ts +2 -2
  323. package/dist/src/oauth/storage/file.js +22 -22
  324. package/dist/src/oauth/storage/file.js.map +1 -1
  325. package/dist/src/oauth/storage/index.d.ts +5 -5
  326. package/dist/src/oauth/storage/memory.d.ts +2 -2
  327. package/dist/src/oauth/storage/memory.js +18 -18
  328. package/dist/src/oauth/storage/memory.js.map +1 -1
  329. package/dist/src/oauth/storage/postgresql.d.ts +2 -2
  330. package/dist/src/oauth/storage/postgresql.js +11 -11
  331. package/dist/src/oauth/storage/postgresql.js.map +1 -1
  332. package/dist/src/oauth/storage/types.d.ts +3 -3
  333. package/dist/src/oauth/token-context.d.ts +1 -1
  334. package/dist/src/oauth/token-context.js +1 -1
  335. package/dist/src/oauth/token-utils.d.ts +1 -1
  336. package/dist/src/oauth/token-utils.js +20 -20
  337. package/dist/src/oauth/types.d.ts +3 -3
  338. package/dist/src/profiles/applicator.d.ts +1 -1
  339. package/dist/src/profiles/applicator.js +48 -48
  340. package/dist/src/profiles/index.d.ts +5 -5
  341. package/dist/src/profiles/loader.d.ts +3 -3
  342. package/dist/src/profiles/loader.js +25 -25
  343. package/dist/src/profiles/loader.js.map +1 -1
  344. package/dist/src/profiles/project-loader.d.ts +1 -1
  345. package/dist/src/profiles/project-loader.js +23 -23
  346. package/dist/src/profiles/project-loader.js.map +1 -1
  347. package/dist/src/profiles/scope-enforcer.d.ts +2 -2
  348. package/dist/src/profiles/scope-enforcer.js +25 -25
  349. package/dist/src/profiles/scope-enforcer.js.map +1 -1
  350. package/dist/src/profiles/types.d.ts +2 -2
  351. package/dist/src/profiles/types.js +50 -48
  352. package/dist/src/profiles/types.js.map +1 -1
  353. package/dist/src/registry-manager.d.ts +1 -1
  354. package/dist/src/registry-manager.js +64 -64
  355. package/dist/src/registry-manager.js.map +1 -1
  356. package/dist/src/server.js +136 -136
  357. package/dist/src/server.js.map +1 -1
  358. package/dist/src/services/ConnectionManager.d.ts +5 -5
  359. package/dist/src/services/ConnectionManager.js +45 -45
  360. package/dist/src/services/ConnectionManager.js.map +1 -1
  361. package/dist/src/services/GitLabVersionDetector.d.ts +2 -2
  362. package/dist/src/services/GitLabVersionDetector.js +45 -45
  363. package/dist/src/services/GitLabVersionDetector.js.map +1 -1
  364. package/dist/src/services/InstanceConnectionPool.d.ts +2 -2
  365. package/dist/src/services/InstanceConnectionPool.js +13 -13
  366. package/dist/src/services/InstanceConnectionPool.js.map +1 -1
  367. package/dist/src/services/InstanceRateLimiter.js +6 -6
  368. package/dist/src/services/InstanceRateLimiter.js.map +1 -1
  369. package/dist/src/services/InstanceRegistry.d.ts +4 -4
  370. package/dist/src/services/InstanceRegistry.js +23 -23
  371. package/dist/src/services/InstanceRegistry.js.map +1 -1
  372. package/dist/src/services/NamespaceTierDetector.d.ts +2 -2
  373. package/dist/src/services/NamespaceTierDetector.js +30 -30
  374. package/dist/src/services/NamespaceTierDetector.js.map +1 -1
  375. package/dist/src/services/SchemaIntrospector.d.ts +1 -1
  376. package/dist/src/services/SchemaIntrospector.js +42 -42
  377. package/dist/src/services/SchemaIntrospector.js.map +1 -1
  378. package/dist/src/services/TokenScopeDetector.d.ts +2 -2
  379. package/dist/src/services/TokenScopeDetector.js +80 -80
  380. package/dist/src/services/TokenScopeDetector.js.map +1 -1
  381. package/dist/src/services/ToolAvailability.d.ts +6 -6
  382. package/dist/src/services/ToolAvailability.js +122 -122
  383. package/dist/src/services/ToolAvailability.js.map +1 -1
  384. package/dist/src/services/WidgetAvailability.d.ts +2 -2
  385. package/dist/src/services/WidgetAvailability.js +34 -34
  386. package/dist/src/session-manager.d.ts +3 -2
  387. package/dist/src/session-manager.js +17 -14
  388. package/dist/src/session-manager.js.map +1 -1
  389. package/dist/src/types.js +4 -4
  390. package/dist/src/utils/description-utils.js +4 -4
  391. package/dist/src/utils/description-utils.js.map +1 -1
  392. package/dist/src/utils/error-handler.d.ts +9 -9
  393. package/dist/src/utils/error-handler.js +187 -187
  394. package/dist/src/utils/error-handler.js.map +1 -1
  395. package/dist/src/utils/fetch.js +85 -85
  396. package/dist/src/utils/fetch.js.map +1 -1
  397. package/dist/src/utils/gitlab-api.d.ts +1 -1
  398. package/dist/src/utils/gitlab-api.js +24 -24
  399. package/dist/src/utils/idConversion.js +47 -47
  400. package/dist/src/utils/idConversion.js.map +1 -1
  401. package/dist/src/utils/namespace.d.ts +2 -2
  402. package/dist/src/utils/namespace.js +15 -15
  403. package/dist/src/utils/projectIdentifier.js +4 -4
  404. package/dist/src/utils/request-logger.d.ts +4 -4
  405. package/dist/src/utils/request-logger.js +5 -5
  406. package/dist/src/utils/schema-utils.js +24 -24
  407. package/dist/src/utils/schema-utils.js.map +1 -1
  408. package/dist/src/utils/smart-user-search.d.ts +1 -1
  409. package/dist/src/utils/smart-user-search.js +10 -10
  410. package/dist/src/utils/version.js +1 -1
  411. package/dist/structured-world-gitlab-mcp-6.62.2.tgz +0 -0
  412. package/dist/tsconfig.build.tsbuildinfo +1 -1
  413. package/package.json +18 -21
  414. package/dist/structured-world-gitlab-mcp-6.62.1.tgz +0 -0
@@ -1,4 +1,4 @@
1
- import { Request, Response } from "express";
2
- import { DashboardMetrics } from "./metrics.js";
1
+ import { Request, Response } from 'express';
2
+ import { DashboardMetrics } from './metrics.js';
3
3
  export declare function dashboardHandler(req: Request, res: Response): void;
4
4
  export declare function getMetrics(): DashboardMetrics;
@@ -6,29 +6,29 @@ const metrics_js_1 = require("./metrics.js");
6
6
  const html_template_js_1 = require("./html-template.js");
7
7
  const logger_js_1 = require("../logger.js");
8
8
  function prefersHtml(req) {
9
- const accept = req.headers.accept ?? "*/*";
10
- if (accept.includes("application/json") && !accept.includes("text/html")) {
9
+ const accept = req.headers.accept ?? '*/*';
10
+ if (accept.includes('application/json') && !accept.includes('text/html')) {
11
11
  return false;
12
12
  }
13
- return accept.includes("text/html") || accept.includes("*/*");
13
+ return accept.includes('text/html') || accept.includes('*/*');
14
14
  }
15
15
  function dashboardHandler(req, res) {
16
16
  try {
17
17
  const metrics = (0, metrics_js_1.collectMetrics)();
18
- (0, logger_js_1.logDebug)("Dashboard request", {
18
+ (0, logger_js_1.logDebug)('Dashboard request', {
19
19
  accept: req.headers.accept,
20
20
  prefersHtml: prefersHtml(req),
21
21
  });
22
22
  if (prefersHtml(req)) {
23
- res.type("text/html").send((0, html_template_js_1.renderDashboard)(metrics));
23
+ res.type('text/html').send((0, html_template_js_1.renderDashboard)(metrics));
24
24
  }
25
25
  else {
26
26
  res.json(metrics);
27
27
  }
28
28
  }
29
29
  catch (error) {
30
- (0, logger_js_1.logError)("Dashboard error", { err: error });
31
- res.status(500).json({ error: "Failed to generate dashboard" });
30
+ (0, logger_js_1.logError)('Dashboard error', { err: error });
31
+ res.status(500).json({ error: 'Failed to generate dashboard' });
32
32
  }
33
33
  }
34
34
  function getMetrics() {
@@ -1,2 +1,2 @@
1
- import { DashboardMetrics } from "./metrics.js";
1
+ import { DashboardMetrics } from './metrics.js';
2
2
  export declare function renderDashboard(metrics: DashboardMetrics): string;
@@ -4,18 +4,18 @@ exports.renderDashboard = renderDashboard;
4
4
  const metrics_js_1 = require("./metrics.js");
5
5
  function getStatusIndicator(status) {
6
6
  switch (status) {
7
- case "healthy":
8
- return { symbol: "", colorClass: "status-healthy" };
9
- case "degraded":
10
- return { symbol: "", colorClass: "status-degraded" };
11
- case "offline":
12
- return { symbol: "", colorClass: "status-offline" };
7
+ case 'healthy':
8
+ return { symbol: '', colorClass: 'status-healthy' };
9
+ case 'degraded':
10
+ return { symbol: '', colorClass: 'status-degraded' };
11
+ case 'offline':
12
+ return { symbol: '', colorClass: 'status-offline' };
13
13
  default:
14
- return { symbol: "?", colorClass: "status-unknown" };
14
+ return { symbol: '?', colorClass: 'status-unknown' };
15
15
  }
16
16
  }
17
17
  function formatNumber(num) {
18
- return num.toLocaleString("en-US");
18
+ return num.toLocaleString('en-US');
19
19
  }
20
20
  function renderInstanceCard(instance) {
21
21
  const { symbol, colorClass } = getStatusIndicator(instance.status);
@@ -30,10 +30,10 @@ function renderInstanceCard(instance) {
30
30
  const displayName = instance.label ?? hostname;
31
31
  const warnings = [];
32
32
  if (instance.latency.avgMs > 2000) {
33
- warnings.push("High latency detected");
33
+ warnings.push('High latency detected');
34
34
  }
35
35
  if (instance.rateLimit.queuedRequests > instance.rateLimit.queueSize * 0.5) {
36
- warnings.push("Queue filling up");
36
+ warnings.push('Queue filling up');
37
37
  }
38
38
  return `
39
39
  <div class="instance-card">
@@ -51,13 +51,13 @@ function renderInstanceCard(instance) {
51
51
  ? `
52
52
  <div class="detail-row">
53
53
  <span class="detail-label">Version:</span>
54
- <span class="detail-value">${escapeHtml(instance.version)}${instance.tier ? ` | Tier: ${escapeHtml(instance.tier.charAt(0).toUpperCase() + instance.tier.slice(1))}` : ""}</span>
54
+ <span class="detail-value">${escapeHtml(instance.version)}${instance.tier ? ` | Tier: ${escapeHtml(instance.tier.charAt(0).toUpperCase() + instance.tier.slice(1))}` : ''}</span>
55
55
  </div>
56
56
  `
57
- : ""}
57
+ : ''}
58
58
  <div class="detail-row">
59
59
  <span class="detail-label">Introspected:</span>
60
- <span class="detail-value">${instance.introspected ? "" : ""}</span>
60
+ <span class="detail-value">${instance.introspected ? '' : ''}</span>
61
61
  </div>
62
62
  <div class="detail-row">
63
63
  <span class="detail-label">Requests:</span>
@@ -65,18 +65,18 @@ function renderInstanceCard(instance) {
65
65
  </div>
66
66
  <div class="detail-row">
67
67
  <span class="detail-label">Avg latency:</span>
68
- <span class="detail-value">${formatNumber(instance.latency.avgMs)}ms${instance.lastHealthCheck ? ` | Last check: ${formatRelativeTime(instance.lastHealthCheck)}` : ""}</span>
68
+ <span class="detail-value">${formatNumber(instance.latency.avgMs)}ms${instance.lastHealthCheck ? ` | Last check: ${formatRelativeTime(instance.lastHealthCheck)}` : ''}</span>
69
69
  </div>
70
70
  ${warnings.length > 0
71
71
  ? warnings
72
- .map(w => `
72
+ .map((w) => `
73
73
  <div class="detail-row warning">
74
74
  <span class="warning-icon">⚠</span>
75
75
  <span class="warning-text">${escapeHtml(w)}</span>
76
76
  </div>
77
77
  `)
78
- .join("")
79
- : ""}
78
+ .join('')
79
+ : ''}
80
80
  </div>
81
81
  </div>
82
82
  `;
@@ -87,14 +87,14 @@ function formatRelativeTime(isoString) {
87
87
  const diffMs = now.getTime() - date.getTime();
88
88
  const diffMinutes = Math.floor(diffMs / 60000);
89
89
  if (diffMinutes < 1)
90
- return "just now";
90
+ return 'just now';
91
91
  if (diffMinutes === 1)
92
- return "1m ago";
92
+ return '1m ago';
93
93
  if (diffMinutes < 60)
94
94
  return `${diffMinutes}m ago`;
95
95
  const diffHours = Math.floor(diffMinutes / 60);
96
96
  if (diffHours === 1)
97
- return "1h ago";
97
+ return '1h ago';
98
98
  if (diffHours < 24)
99
99
  return `${diffHours}h ago`;
100
100
  const diffDays = Math.floor(diffHours / 24);
@@ -102,32 +102,32 @@ function formatRelativeTime(isoString) {
102
102
  }
103
103
  function escapeHtml(str) {
104
104
  return str
105
- .replace(/&/g, "&amp;")
106
- .replace(/</g, "&lt;")
107
- .replace(/>/g, "&gt;")
108
- .replace(/"/g, "&quot;")
109
- .replace(/'/g, "&#039;");
105
+ .replace(/&/g, '&amp;')
106
+ .replace(/</g, '&lt;')
107
+ .replace(/>/g, '&gt;')
108
+ .replace(/"/g, '&quot;')
109
+ .replace(/'/g, '&#039;');
110
110
  }
111
111
  function getOverallStatus(instances) {
112
112
  if (instances.length === 0)
113
- return "healthy";
114
- const statuses = instances.map(i => i.status);
115
- if (statuses.every(s => s === "offline"))
116
- return "offline";
117
- if (statuses.some(s => s === "offline" || s === "degraded"))
118
- return "degraded";
119
- return "healthy";
113
+ return 'healthy';
114
+ const statuses = instances.map((i) => i.status);
115
+ if (statuses.every((s) => s === 'offline'))
116
+ return 'offline';
117
+ if (statuses.some((s) => s === 'offline' || s === 'degraded'))
118
+ return 'degraded';
119
+ return 'healthy';
120
120
  }
121
121
  function renderDashboard(metrics) {
122
122
  const overallStatus = getOverallStatus(metrics.instances);
123
123
  const { colorClass: statusClass } = getStatusIndicator(overallStatus);
124
124
  const statusLabel = overallStatus.charAt(0).toUpperCase() + overallStatus.slice(1);
125
- const authModeDisplay = metrics.server.mode === "oauth"
126
- ? "OAuth 2.1"
127
- : metrics.server.mode === "token"
128
- ? "Static Token"
129
- : "None";
130
- const currentTime = new Date().toLocaleTimeString("en-US", { hour12: false });
125
+ const authModeDisplay = metrics.server.mode === 'oauth'
126
+ ? 'OAuth 2.1'
127
+ : metrics.server.mode === 'token'
128
+ ? 'Static Token'
129
+ : 'None';
130
+ const currentTime = new Date().toLocaleTimeString('en-US', { hour12: false });
131
131
  return `<!DOCTYPE html>
132
132
  <html lang="en">
133
133
  <head>
@@ -362,7 +362,7 @@ function renderDashboard(metrics) {
362
362
  <div class="section">
363
363
  <div class="section-title">Registered Instances</div>
364
364
  ${metrics.instances.length > 0
365
- ? metrics.instances.map(renderInstanceCard).join("")
365
+ ? metrics.instances.map(renderInstanceCard).join('')
366
366
  : `
367
367
  <div class="instance-card">
368
368
  <div class="instance-header">
@@ -387,7 +387,7 @@ function renderDashboard(metrics) {
387
387
  </div>
388
388
  <div class="config-item">
389
389
  <span class="config-key">Read-only:</span>
390
- <span>${metrics.server.readOnly ? "Yes" : "No"}</span>
390
+ <span>${metrics.server.readOnly ? 'Yes' : 'No'}</span>
391
391
  </div>
392
392
  <div class="config-item">
393
393
  <span class="config-key">Tools enabled:</span>
@@ -395,7 +395,7 @@ function renderDashboard(metrics) {
395
395
  </div>
396
396
  <div class="config-item">
397
397
  <span class="config-key">Config source:</span>
398
- <span>${escapeHtml(metrics.config.source)}${metrics.config.sourceDetails ? ` (${escapeHtml(metrics.config.sourceDetails)})` : ""}</span>
398
+ <span>${escapeHtml(metrics.config.source)}${metrics.config.sourceDetails ? ` (${escapeHtml(metrics.config.sourceDetails)})` : ''}</span>
399
399
  </div>
400
400
  </div>
401
401
  </div>
@@ -406,7 +406,7 @@ function renderDashboard(metrics) {
406
406
  ${metrics.sessions.total > 0
407
407
  ? `
408
408
  <div class="session-item">
409
- <span>Total: ${metrics.sessions.total} session${metrics.sessions.total === 1 ? "" : "s"}</span>
409
+ <span>Total: ${metrics.sessions.total} session${metrics.sessions.total === 1 ? '' : 's'}</span>
410
410
  </div>
411
411
  ${Object.entries(metrics.sessions.byInstance)
412
412
  .map(([url, count]) => {
@@ -419,11 +419,11 @@ function renderDashboard(metrics) {
419
419
  }
420
420
  return `
421
421
  <div class="session-item">
422
- <span>${escapeHtml(hostname)}: ${count} session${count === 1 ? "" : "s"}</span>
422
+ <span>${escapeHtml(hostname)}: ${count} session${count === 1 ? '' : 's'}</span>
423
423
  </div>
424
424
  `;
425
425
  })
426
- .join("")}
426
+ .join('')}
427
427
  `
428
428
  : `
429
429
  <div class="session-item">
@@ -1 +1 @@
1
- {"version":3,"file":"html-template.js","sourceRoot":"","sources":["../../../src/dashboard/html-template.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"html-template.js","sourceRoot":"","sources":["../../../src/dashboard/html-template.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- export { dashboardHandler, getMetrics } from "./handler.js";
2
- export { collectMetrics, formatUptime, determineInstanceStatus, DashboardMetricsSchema, InstanceStatusSchema, } from "./metrics.js";
3
- export type { DashboardMetrics, InstanceStatus } from "./metrics.js";
4
- export { renderDashboard } from "./html-template.js";
1
+ export { dashboardHandler, getMetrics } from './handler.js';
2
+ export { collectMetrics, formatUptime, determineInstanceStatus, DashboardMetricsSchema, InstanceStatusSchema, } from './metrics.js';
3
+ export type { DashboardMetrics, InstanceStatus } from './metrics.js';
4
+ export { renderDashboard } from './html-template.js';
@@ -1,6 +1,6 @@
1
- import { z } from "zod";
2
- import { InstanceSummary } from "../services/InstanceRegistry.js";
3
- import { ConnectionStatus } from "../config/instances-schema.js";
1
+ import { z } from 'zod';
2
+ import { InstanceSummary } from '../services/InstanceRegistry.js';
3
+ import { ConnectionStatus } from '../config/instances-schema.js';
4
4
  export declare const InstanceStatusSchema: z.ZodObject<{
5
5
  url: z.ZodString;
6
6
  label: z.ZodNullable<z.ZodString>;
@@ -12,76 +12,76 @@ const index_js_1 = require("../oauth/index.js");
12
12
  const registry_manager_js_1 = require("../registry-manager.js");
13
13
  const serverStartTime = Date.now();
14
14
  exports.InstanceStatusSchema = zod_1.z.object({
15
- url: zod_1.z.string().describe("GitLab instance URL"),
16
- label: zod_1.z.string().nullable().describe("Human-readable label for UI display"),
17
- status: zod_1.z.enum(["healthy", "degraded", "offline"]).describe("Instance health status"),
18
- version: zod_1.z.string().nullable().describe("GitLab version"),
19
- tier: zod_1.z.string().nullable().describe("Instance tier (free/premium/ultimate)"),
20
- introspected: zod_1.z.boolean().describe("Whether schema introspection was successful"),
15
+ url: zod_1.z.string().describe('GitLab instance URL'),
16
+ label: zod_1.z.string().nullable().describe('Human-readable label for UI display'),
17
+ status: zod_1.z.enum(['healthy', 'degraded', 'offline']).describe('Instance health status'),
18
+ version: zod_1.z.string().nullable().describe('GitLab version'),
19
+ tier: zod_1.z.string().nullable().describe('Instance tier (free/premium/ultimate)'),
20
+ introspected: zod_1.z.boolean().describe('Whether schema introspection was successful'),
21
21
  rateLimit: zod_1.z
22
22
  .object({
23
- activeRequests: zod_1.z.number().describe("Current number of active requests"),
24
- maxConcurrent: zod_1.z.number().describe("Maximum concurrent requests allowed"),
25
- queuedRequests: zod_1.z.number().describe("Current number of queued requests"),
26
- queueSize: zod_1.z.number().describe("Maximum queue size"),
27
- totalRequests: zod_1.z.number().describe("Total requests processed"),
28
- rejectedRequests: zod_1.z.number().describe("Total requests rejected due to full queue"),
23
+ activeRequests: zod_1.z.number().describe('Current number of active requests'),
24
+ maxConcurrent: zod_1.z.number().describe('Maximum concurrent requests allowed'),
25
+ queuedRequests: zod_1.z.number().describe('Current number of queued requests'),
26
+ queueSize: zod_1.z.number().describe('Maximum queue size'),
27
+ totalRequests: zod_1.z.number().describe('Total requests processed'),
28
+ rejectedRequests: zod_1.z.number().describe('Total requests rejected due to full queue'),
29
29
  })
30
- .describe("Rate limit metrics for this instance"),
30
+ .describe('Rate limit metrics for this instance'),
31
31
  latency: zod_1.z
32
32
  .object({
33
- avgMs: zod_1.z.number().describe("Average queue wait time in milliseconds"),
33
+ avgMs: zod_1.z.number().describe('Average queue wait time in milliseconds'),
34
34
  })
35
- .describe("Latency metrics"),
36
- lastHealthCheck: zod_1.z.string().nullable().describe("ISO timestamp of last health check"),
35
+ .describe('Latency metrics'),
36
+ lastHealthCheck: zod_1.z.string().nullable().describe('ISO timestamp of last health check'),
37
37
  });
38
38
  exports.DashboardMetricsSchema = zod_1.z.object({
39
39
  server: zod_1.z
40
40
  .object({
41
- version: zod_1.z.string().describe("Server version"),
42
- uptime: zod_1.z.number().describe("Server uptime in seconds"),
43
- mode: zod_1.z.enum(["oauth", "token", "none"]).describe("Authentication mode"),
44
- readOnly: zod_1.z.boolean().describe("Whether server is in read-only mode"),
45
- toolsEnabled: zod_1.z.number().describe("Number of enabled tools"),
46
- toolsTotal: zod_1.z.number().describe("Total number of available tools"),
41
+ version: zod_1.z.string().describe('Server version'),
42
+ uptime: zod_1.z.number().describe('Server uptime in seconds'),
43
+ mode: zod_1.z.enum(['oauth', 'token', 'none']).describe('Authentication mode'),
44
+ readOnly: zod_1.z.boolean().describe('Whether server is in read-only mode'),
45
+ toolsEnabled: zod_1.z.number().describe('Number of enabled tools'),
46
+ toolsTotal: zod_1.z.number().describe('Total number of available tools'),
47
47
  })
48
- .describe("Server information"),
49
- instances: zod_1.z.array(exports.InstanceStatusSchema).describe("Registered GitLab instances"),
48
+ .describe('Server information'),
49
+ instances: zod_1.z.array(exports.InstanceStatusSchema).describe('Registered GitLab instances'),
50
50
  sessions: zod_1.z
51
51
  .object({
52
- total: zod_1.z.number().describe("Total active sessions"),
53
- byInstance: zod_1.z.record(zod_1.z.string(), zod_1.z.number()).describe("Sessions per instance URL"),
52
+ total: zod_1.z.number().describe('Total active sessions'),
53
+ byInstance: zod_1.z.record(zod_1.z.string(), zod_1.z.number()).describe('Sessions per instance URL'),
54
54
  })
55
- .describe("Session statistics (anonymized)"),
55
+ .describe('Session statistics (anonymized)'),
56
56
  config: zod_1.z
57
57
  .object({
58
- source: zod_1.z.string().describe("Configuration source type"),
59
- sourceDetails: zod_1.z.string().describe("Configuration source details"),
60
- oauthEnabled: zod_1.z.boolean().describe("Whether OAuth is enabled"),
58
+ source: zod_1.z.string().describe('Configuration source type'),
59
+ sourceDetails: zod_1.z.string().describe('Configuration source details'),
60
+ oauthEnabled: zod_1.z.boolean().describe('Whether OAuth is enabled'),
61
61
  })
62
- .describe("Configuration information"),
62
+ .describe('Configuration information'),
63
63
  });
64
64
  function determineInstanceStatus(instance) {
65
65
  const now = Date.now();
66
66
  const fiveMinutesAgo = now - 5 * 60 * 1000;
67
67
  if (instance.lastHealthCheck === null) {
68
- return "healthy";
68
+ return 'healthy';
69
69
  }
70
70
  const lastCheckMs = instance.lastHealthCheck.getTime();
71
71
  if (lastCheckMs < fiveMinutesAgo) {
72
- return "offline";
72
+ return 'offline';
73
73
  }
74
74
  const metrics = instance.rateLimit;
75
75
  if (metrics.avgQueueWaitMs > 2000) {
76
- return "degraded";
76
+ return 'degraded';
77
77
  }
78
78
  if (metrics.queuedRequests > metrics.queueSize * 0.5) {
79
- return "degraded";
79
+ return 'degraded';
80
80
  }
81
81
  if (metrics.requestsTotal > 0 && metrics.requestsRejected / metrics.requestsTotal > 0.1) {
82
- return "degraded";
82
+ return 'degraded';
83
83
  }
84
- return "healthy";
84
+ return 'healthy';
85
85
  }
86
86
  function toInstanceStatus(summary) {
87
87
  const status = determineInstanceStatus(summary);
@@ -108,12 +108,12 @@ function toInstanceStatus(summary) {
108
108
  }
109
109
  function getAuthMode() {
110
110
  if ((0, index_js_1.isOAuthEnabled)()) {
111
- return "oauth";
111
+ return 'oauth';
112
112
  }
113
113
  if (config_js_1.GITLAB_TOKEN) {
114
- return "token";
114
+ return 'token';
115
115
  }
116
- return "none";
116
+ return 'none';
117
117
  }
118
118
  function getToolCounts() {
119
119
  try {
@@ -137,7 +137,7 @@ function collectMetrics() {
137
137
  instances.push({
138
138
  url: config_js_1.GITLAB_BASE_URL,
139
139
  label: null,
140
- status: "healthy",
140
+ status: 'healthy',
141
141
  version: null,
142
142
  tier: null,
143
143
  introspected: false,
@@ -189,6 +189,6 @@ function formatUptime(seconds) {
189
189
  parts.push(`${hours}h`);
190
190
  if (minutes > 0 || parts.length === 0)
191
191
  parts.push(`${minutes}m`);
192
- return parts.join(" ");
192
+ return parts.join(' ');
193
193
  }
194
194
  //# sourceMappingURL=metrics.js.map
@@ -1,6 +1,6 @@
1
- import { GitRemoteInfo } from "./git-remote";
2
- import { ProfileMatchResult } from "./profile-matcher";
3
- import { ProjectConfig } from "../profiles";
1
+ import { GitRemoteInfo } from './git-remote';
2
+ import { ProfileMatchResult } from './profile-matcher';
3
+ import { ProjectConfig } from '../profiles';
4
4
  export interface AutoDiscoveryOptions {
5
5
  repoPath?: string;
6
6
  remoteName?: string;
@@ -9,16 +9,16 @@ const logger_1 = require("../logger");
9
9
  const namespace_1 = require("../utils/namespace");
10
10
  async function autoDiscover(options = {}) {
11
11
  const repoPath = options.repoPath ?? process.cwd();
12
- (0, logger_1.logInfo)("Starting auto-discovery", { path: repoPath });
12
+ (0, logger_1.logInfo)('Starting auto-discovery', { path: repoPath });
13
13
  const remote = await (0, git_remote_1.parseGitRemote)({
14
14
  repoPath,
15
15
  remoteName: options.remoteName,
16
16
  });
17
17
  if (!remote) {
18
- (0, logger_1.logWarn)("Auto-discovery: No git remote found", { path: repoPath });
18
+ (0, logger_1.logWarn)('Auto-discovery: No git remote found', { path: repoPath });
19
19
  return null;
20
20
  }
21
- (0, logger_1.logInfo)("Detected git remote", {
21
+ (0, logger_1.logInfo)('Detected git remote', {
22
22
  host: remote.host,
23
23
  projectPath: remote.projectPath,
24
24
  remote: remote.remoteName,
@@ -26,19 +26,19 @@ async function autoDiscover(options = {}) {
26
26
  const availableRemotes = await (0, git_remote_1.listGitRemotes)(repoPath);
27
27
  const matchedProfile = await (0, profile_matcher_1.findProfileByHost)(remote.host);
28
28
  if (matchedProfile) {
29
- (0, logger_1.logInfo)("Matched host to user profile", {
29
+ (0, logger_1.logInfo)('Matched host to user profile', {
30
30
  profile: matchedProfile.profileName,
31
31
  matchType: matchedProfile.matchType,
32
32
  });
33
33
  }
34
34
  else {
35
- (0, logger_1.logDebug)("No matching user profile found", { host: remote.host });
35
+ (0, logger_1.logDebug)('No matching user profile found', { host: remote.host });
36
36
  }
37
37
  let projectConfig = null;
38
38
  if (!options.noProjectConfig) {
39
39
  projectConfig = await (0, profiles_1.findProjectConfig)(repoPath);
40
40
  if (projectConfig) {
41
- (0, logger_1.logInfo)("Found project configuration", { path: projectConfig.configPath });
41
+ (0, logger_1.logInfo)('Found project configuration', { path: projectConfig.configPath });
42
42
  }
43
43
  }
44
44
  const apiUrl = `https://${remote.host}`;
@@ -58,22 +58,22 @@ async function autoDiscover(options = {}) {
58
58
  try {
59
59
  await (0, profiles_1.loadAndApplyProfile)(matchedProfile.profileName);
60
60
  result.profileApplied = true;
61
- (0, logger_1.logInfo)("Applied matched profile", { profile: matchedProfile.profileName });
61
+ (0, logger_1.logInfo)('Applied matched profile', { profile: matchedProfile.profileName });
62
62
  }
63
63
  catch (error) {
64
64
  const message = error instanceof Error ? error.message : String(error);
65
- (0, logger_1.logError)("Failed to apply matched profile", { error: message });
65
+ (0, logger_1.logError)('Failed to apply matched profile', { error: message });
66
66
  }
67
67
  }
68
68
  else {
69
69
  if (!process.env.GITLAB_API_URL) {
70
70
  process.env.GITLAB_API_URL = apiUrl;
71
- (0, logger_1.logInfo)("Set GITLAB_API_URL from discovered host", { apiUrl });
71
+ (0, logger_1.logInfo)('Set GITLAB_API_URL from discovered host', { apiUrl });
72
72
  }
73
73
  }
74
74
  if (projectConfig) {
75
75
  result.projectConfigApplied = true;
76
- (0, logger_1.logDebug)("Project config loaded (enforcement pending)", { config: projectConfig });
76
+ (0, logger_1.logDebug)('Project config loaded (enforcement pending)', { config: projectConfig });
77
77
  }
78
78
  setDefaultContext(remote.projectPath);
79
79
  }
@@ -82,37 +82,37 @@ async function autoDiscover(options = {}) {
82
82
  function setDefaultContext(projectPath) {
83
83
  if (!process.env.GITLAB_DEFAULT_PROJECT) {
84
84
  process.env.GITLAB_DEFAULT_PROJECT = projectPath;
85
- (0, logger_1.logDebug)("Set default project context", { project: projectPath });
85
+ (0, logger_1.logDebug)('Set default project context', { project: projectPath });
86
86
  }
87
87
  if (!process.env.GITLAB_DEFAULT_NAMESPACE) {
88
88
  const namespace = (0, namespace_1.extractNamespaceFromPath)(projectPath);
89
89
  if (namespace) {
90
90
  process.env.GITLAB_DEFAULT_NAMESPACE = namespace;
91
- (0, logger_1.logDebug)("Set default namespace context", { namespace });
91
+ (0, logger_1.logDebug)('Set default namespace context', { namespace });
92
92
  }
93
93
  }
94
94
  }
95
95
  function formatDiscoveryResult(result) {
96
96
  const lines = [];
97
- lines.push("Auto-discovery Results");
98
- lines.push("======================");
99
- lines.push("");
100
- lines.push("Git Remote:");
97
+ lines.push('Auto-discovery Results');
98
+ lines.push('======================');
99
+ lines.push('');
100
+ lines.push('Git Remote:');
101
101
  lines.push(` Remote: ${result.remote.remoteName}`);
102
102
  lines.push(` Host: ${result.host}`);
103
103
  lines.push(` Project: ${result.projectPath}`);
104
104
  lines.push(` Protocol: ${result.remote.protocol}`);
105
105
  lines.push(` URL: ${result.remote.url}`);
106
- lines.push("");
106
+ lines.push('');
107
107
  if (result.availableRemotes.length > 1) {
108
- lines.push("Available Remotes:");
108
+ lines.push('Available Remotes:');
109
109
  for (const remote of result.availableRemotes) {
110
- const selected = remote.remoteName === result.remote.remoteName ? " (selected)" : "";
110
+ const selected = remote.remoteName === result.remote.remoteName ? ' (selected)' : '';
111
111
  lines.push(` ${remote.remoteName}: ${remote.host}/${remote.projectPath}${selected}`);
112
112
  }
113
- lines.push("");
113
+ lines.push('');
114
114
  }
115
- lines.push("Profile Match:");
115
+ lines.push('Profile Match:');
116
116
  if (result.matchedProfile) {
117
117
  lines.push(` Profile: ${result.matchedProfile.profileName}`);
118
118
  lines.push(` Match Type: ${result.matchedProfile.matchType}`);
@@ -128,12 +128,12 @@ function formatDiscoveryResult(result) {
128
128
  lines.push(` Will use: ${result.apiUrl} (from discovered host)`);
129
129
  lines.push(` Auth: GITLAB_TOKEN environment variable required`);
130
130
  }
131
- lines.push("");
132
- lines.push("Project Configuration:");
131
+ lines.push('');
132
+ lines.push('Project Configuration:');
133
133
  if (result.projectConfig) {
134
134
  lines.push(` Path: ${result.projectConfig.configPath}`);
135
135
  if (result.projectConfig.preset) {
136
- lines.push(` Preset: ${result.projectConfig.preset.description ?? "custom restrictions"}`);
136
+ lines.push(` Preset: ${result.projectConfig.preset.description ?? 'custom restrictions'}`);
137
137
  if (result.projectConfig.preset.scope) {
138
138
  const scope = result.projectConfig.preset.scope;
139
139
  if (scope.project) {
@@ -151,7 +151,7 @@ function formatDiscoveryResult(result) {
151
151
  }
152
152
  }
153
153
  if (result.projectConfig.profile) {
154
- lines.push(` Profile: ${result.projectConfig.profile.description ?? "custom tool selection"}`);
154
+ lines.push(` Profile: ${result.projectConfig.profile.description ?? 'custom tool selection'}`);
155
155
  if (result.projectConfig.profile.extends) {
156
156
  lines.push(` Extends: ${result.projectConfig.profile.extends}`);
157
157
  }
@@ -160,11 +160,11 @@ function formatDiscoveryResult(result) {
160
160
  else {
161
161
  lines.push(` No .gitlab-mcp/ directory found`);
162
162
  }
163
- lines.push("");
164
- lines.push("Default Context:");
163
+ lines.push('');
164
+ lines.push('Default Context:');
165
165
  lines.push(` Project: ${result.projectPath}`);
166
166
  const namespace = (0, namespace_1.extractNamespaceFromPath)(result.projectPath) ?? result.projectPath;
167
167
  lines.push(` Namespace: ${namespace}`);
168
- return lines.join("\n");
168
+ return lines.join('\n');
169
169
  }
170
170
  //# sourceMappingURL=auto.js.map
@@ -1,7 +1,7 @@
1
1
  export interface GitRemoteInfo {
2
2
  host: string;
3
3
  projectPath: string;
4
- protocol: "ssh" | "https";
4
+ protocol: 'ssh' | 'https';
5
5
  url: string;
6
6
  remoteName: string;
7
7
  }
@@ -9,7 +9,7 @@ export interface ParseGitRemoteOptions {
9
9
  remoteName?: string;
10
10
  repoPath?: string;
11
11
  }
12
- export declare function parseRemoteUrl(url: string): Omit<GitRemoteInfo, "remoteName"> | null;
12
+ export declare function parseRemoteUrl(url: string): Omit<GitRemoteInfo, 'remoteName'> | null;
13
13
  export declare function parseGitConfig(content: string): Map<string, string>;
14
14
  export declare function selectBestRemote(remotes: Map<string, string>, preferredRemote?: string): {
15
15
  name: string;