@structured-world/gitlab-mcp 4.5.0 → 5.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (141) hide show
  1. package/README.md +18 -0
  2. package/dist/config.js +23 -23
  3. package/dist/config.js.map +1 -1
  4. package/dist/entities/core/index.d.ts +5 -5
  5. package/dist/entities/core/index.js +1 -1
  6. package/dist/entities/core/registry.d.ts +1 -1
  7. package/dist/entities/core/registry.js +149 -149
  8. package/dist/entities/core/registry.js.map +1 -1
  9. package/dist/entities/core/schema-readonly.d.ts +1 -1
  10. package/dist/entities/core/schema-readonly.js +132 -132
  11. package/dist/entities/core/schema-readonly.js.map +1 -1
  12. package/dist/entities/core/schema.d.ts +1 -1
  13. package/dist/entities/core/schema.js +59 -59
  14. package/dist/entities/files/index.d.ts +5 -5
  15. package/dist/entities/files/index.js +1 -1
  16. package/dist/entities/files/registry.d.ts +1 -1
  17. package/dist/entities/files/registry.js +32 -32
  18. package/dist/entities/files/registry.js.map +1 -1
  19. package/dist/entities/files/schema-readonly.d.ts +1 -1
  20. package/dist/entities/files/schema-readonly.js +10 -10
  21. package/dist/entities/files/schema.d.ts +1 -1
  22. package/dist/entities/files/schema.js +19 -19
  23. package/dist/entities/index.d.ts +10 -10
  24. package/dist/entities/labels/index.d.ts +5 -5
  25. package/dist/entities/labels/index.js +1 -1
  26. package/dist/entities/labels/registry.d.ts +1 -1
  27. package/dist/entities/labels/registry.js +31 -31
  28. package/dist/entities/labels/registry.js.map +1 -1
  29. package/dist/entities/labels/schema-readonly.d.ts +1 -1
  30. package/dist/entities/labels/schema-readonly.js +7 -7
  31. package/dist/entities/labels/schema.d.ts +1 -1
  32. package/dist/entities/labels/schema.js +11 -11
  33. package/dist/entities/milestones/index.d.ts +5 -5
  34. package/dist/entities/milestones/index.js +1 -1
  35. package/dist/entities/milestones/registry.d.ts +1 -1
  36. package/dist/entities/milestones/registry.js +49 -49
  37. package/dist/entities/milestones/registry.js.map +1 -1
  38. package/dist/entities/milestones/schema-readonly.d.ts +2 -2
  39. package/dist/entities/milestones/schema-readonly.js +11 -11
  40. package/dist/entities/milestones/schema.d.ts +1 -1
  41. package/dist/entities/milestones/schema.js +18 -18
  42. package/dist/entities/milestones/schema.js.map +1 -1
  43. package/dist/entities/mrs/index.d.ts +5 -5
  44. package/dist/entities/mrs/index.js +1 -1
  45. package/dist/entities/mrs/registry.d.ts +1 -1
  46. package/dist/entities/mrs/registry.js +118 -118
  47. package/dist/entities/mrs/registry.js.map +1 -1
  48. package/dist/entities/mrs/schema-readonly.d.ts +1 -1
  49. package/dist/entities/mrs/schema-readonly.js +47 -47
  50. package/dist/entities/mrs/schema-readonly.js.map +1 -1
  51. package/dist/entities/mrs/schema.d.ts +1 -1
  52. package/dist/entities/mrs/schema.js +86 -86
  53. package/dist/entities/mrs/schema.js.map +1 -1
  54. package/dist/entities/pipelines/index.d.ts +5 -5
  55. package/dist/entities/pipelines/index.js +1 -1
  56. package/dist/entities/pipelines/registry.d.ts +1 -1
  57. package/dist/entities/pipelines/registry.js +58 -58
  58. package/dist/entities/pipelines/registry.js.map +1 -1
  59. package/dist/entities/pipelines/schema-readonly.d.ts +1 -1
  60. package/dist/entities/pipelines/schema-readonly.js +65 -65
  61. package/dist/entities/pipelines/schema.d.ts +1 -1
  62. package/dist/entities/pipelines/schema.js +15 -15
  63. package/dist/entities/shared.d.ts +1 -1
  64. package/dist/entities/shared.js +7 -7
  65. package/dist/entities/utils.d.ts +1 -1
  66. package/dist/entities/utils.js +5 -5
  67. package/dist/entities/utils.js.map +1 -1
  68. package/dist/entities/variables/index.d.ts +5 -5
  69. package/dist/entities/variables/index.js +1 -1
  70. package/dist/entities/variables/registry.d.ts +1 -1
  71. package/dist/entities/variables/registry.js +29 -29
  72. package/dist/entities/variables/registry.js.map +1 -1
  73. package/dist/entities/variables/schema-readonly.d.ts +1 -1
  74. package/dist/entities/variables/schema-readonly.js +4 -4
  75. package/dist/entities/variables/schema.d.ts +1 -1
  76. package/dist/entities/variables/schema.js +32 -32
  77. package/dist/entities/variables/schema.js.map +1 -1
  78. package/dist/entities/wiki/index.d.ts +5 -5
  79. package/dist/entities/wiki/index.js +1 -1
  80. package/dist/entities/wiki/registry.d.ts +1 -1
  81. package/dist/entities/wiki/registry.js +26 -26
  82. package/dist/entities/wiki/registry.js.map +1 -1
  83. package/dist/entities/wiki/schema-readonly.d.ts +1 -1
  84. package/dist/entities/wiki/schema-readonly.js +4 -4
  85. package/dist/entities/wiki/schema.d.ts +1 -1
  86. package/dist/entities/wiki/schema.js +11 -11
  87. package/dist/entities/workitems/index.d.ts +5 -5
  88. package/dist/entities/workitems/index.js +1 -1
  89. package/dist/entities/workitems/registry.d.ts +1 -1
  90. package/dist/entities/workitems/registry.js +55 -55
  91. package/dist/entities/workitems/registry.js.map +1 -1
  92. package/dist/entities/workitems/schema-readonly.d.ts +1 -1
  93. package/dist/entities/workitems/schema-readonly.js +25 -25
  94. package/dist/entities/workitems/schema-readonly.js.map +1 -1
  95. package/dist/entities/workitems/schema.d.ts +1 -1
  96. package/dist/entities/workitems/schema.js +11 -11
  97. package/dist/graphql/DynamicWorkItemsQuery.d.ts +2 -2
  98. package/dist/graphql/DynamicWorkItemsQuery.js +47 -47
  99. package/dist/graphql/DynamicWorkItemsQuery.js.map +1 -1
  100. package/dist/graphql/client.d.ts +1 -1
  101. package/dist/graphql/client.js +4 -4
  102. package/dist/graphql/client.js.map +1 -1
  103. package/dist/graphql/index.d.ts +2 -2
  104. package/dist/graphql/workItems.d.ts +33 -33
  105. package/dist/graphql/workItems.js +29 -29
  106. package/dist/handlers.d.ts +1 -1
  107. package/dist/handlers.js +20 -20
  108. package/dist/handlers.js.map +1 -1
  109. package/dist/http-client.js +3 -3
  110. package/dist/logger.js +4 -4
  111. package/dist/registry-manager.d.ts +1 -1
  112. package/dist/registry-manager.js +27 -27
  113. package/dist/server.d.ts +1 -1
  114. package/dist/server.js +46 -46
  115. package/dist/services/ConnectionManager.d.ts +4 -4
  116. package/dist/services/ConnectionManager.js +13 -13
  117. package/dist/services/GitLabVersionDetector.d.ts +2 -2
  118. package/dist/services/GitLabVersionDetector.js +41 -41
  119. package/dist/services/GitLabVersionDetector.js.map +1 -1
  120. package/dist/services/SchemaIntrospector.d.ts +1 -1
  121. package/dist/services/SchemaIntrospector.js +42 -42
  122. package/dist/services/SchemaIntrospector.js.map +1 -1
  123. package/dist/services/ToolAvailability.d.ts +2 -2
  124. package/dist/services/ToolAvailability.js +279 -279
  125. package/dist/services/ToolAvailability.js.map +1 -1
  126. package/dist/services/WidgetAvailability.d.ts +3 -3
  127. package/dist/services/WidgetAvailability.js +32 -32
  128. package/dist/structured-world-gitlab-mcp-5.2.0.tgz +0 -0
  129. package/dist/tsconfig.build.tsbuildinfo +1 -1
  130. package/dist/types.js +4 -4
  131. package/dist/utils/fetch.d.ts +4 -4
  132. package/dist/utils/fetch.js +15 -15
  133. package/dist/utils/fetch.js.map +1 -1
  134. package/dist/utils/idConversion.js +33 -33
  135. package/dist/utils/idConversion.js.map +1 -1
  136. package/dist/utils/namespace.d.ts +2 -2
  137. package/dist/utils/namespace.js +13 -13
  138. package/dist/utils/smart-user-search.d.ts +1 -1
  139. package/dist/utils/smart-user-search.js +10 -10
  140. package/package.json +1 -1
  141. package/dist/structured-world-gitlab-mcp-4.5.0.tgz +0 -0
package/dist/types.js CHANGED
@@ -2,10 +2,10 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.TransportMode = void 0;
4
4
  const TransportModeObj = {
5
- STDIO: 'stdio',
6
- SSE: 'sse',
7
- STREAMABLE_HTTP: 'streamable-http',
8
- DUAL: 'dual',
5
+ STDIO: "stdio",
6
+ SSE: "sse",
7
+ STREAMABLE_HTTP: "streamable-http",
8
+ DUAL: "dual",
9
9
  };
10
10
  exports.TransportMode = TransportModeObj;
11
11
  //# sourceMappingURL=types.js.map
@@ -1,7 +1,7 @@
1
- import * as https from 'https';
2
- import { HttpProxyAgent } from 'http-proxy-agent';
3
- import { HttpsProxyAgent } from 'https-proxy-agent';
4
- import { SocksProxyAgent } from 'socks-proxy-agent';
1
+ import * as https from "https";
2
+ import { HttpProxyAgent } from "http-proxy-agent";
3
+ import { HttpsProxyAgent } from "https-proxy-agent";
4
+ import { SocksProxyAgent } from "socks-proxy-agent";
5
5
  export declare const DEFAULT_HEADERS: Record<string, string>;
6
6
  export declare function createFetchOptions(): RequestInit & {
7
7
  agent?: HttpProxyAgent<string> | HttpsProxyAgent<string> | SocksProxyAgent | https.Agent;
@@ -48,12 +48,12 @@ function loadCookieHeader() {
48
48
  return null;
49
49
  }
50
50
  try {
51
- const cookieString = fs.readFileSync(config_1.GITLAB_AUTH_COOKIE_PATH, 'utf-8');
51
+ const cookieString = fs.readFileSync(config_1.GITLAB_AUTH_COOKIE_PATH, "utf-8");
52
52
  const cookies = [];
53
- cookieString.split('\n').forEach((line) => {
53
+ cookieString.split("\n").forEach(line => {
54
54
  const trimmed = line.trim();
55
- if (trimmed && !trimmed.startsWith('#')) {
56
- const parts = trimmed.split('\t');
55
+ if (trimmed && !trimmed.startsWith("#")) {
56
+ const parts = trimmed.split("\t");
57
57
  if (parts.length >= 7) {
58
58
  const name = parts[5];
59
59
  const value = parts[6];
@@ -61,10 +61,10 @@ function loadCookieHeader() {
61
61
  }
62
62
  }
63
63
  });
64
- return cookies.length > 0 ? cookies.join('; ') : null;
64
+ return cookies.length > 0 ? cookies.join("; ") : null;
65
65
  }
66
66
  catch (error) {
67
- logger_1.logger.warn({ err: error }, 'Failed to load GitLab authentication cookies');
67
+ logger_1.logger.warn({ err: error }, "Failed to load GitLab authentication cookies");
68
68
  return null;
69
69
  }
70
70
  }
@@ -73,10 +73,10 @@ function getProxyAgent() {
73
73
  if (!proxyUrl) {
74
74
  return undefined;
75
75
  }
76
- if (proxyUrl.startsWith('socks4://') || proxyUrl.startsWith('socks5://')) {
76
+ if (proxyUrl.startsWith("socks4://") || proxyUrl.startsWith("socks5://")) {
77
77
  return new socks_proxy_agent_1.SocksProxyAgent(proxyUrl);
78
78
  }
79
- else if (proxyUrl.startsWith('https://')) {
79
+ else if (proxyUrl.startsWith("https://")) {
80
80
  return new https_proxy_agent_1.HttpsProxyAgent(proxyUrl);
81
81
  }
82
82
  else {
@@ -98,9 +98,9 @@ function loadCACertificate() {
98
98
  }
99
99
  }
100
100
  exports.DEFAULT_HEADERS = {
101
- 'User-Agent': 'GitLab MCP Server',
102
- 'Content-Type': 'application/json',
103
- Accept: 'application/json',
101
+ "User-Agent": "GitLab MCP Server",
102
+ "Content-Type": "application/json",
103
+ Accept: "application/json",
104
104
  };
105
105
  if (config_1.GITLAB_TOKEN) {
106
106
  exports.DEFAULT_HEADERS.Authorization = `Bearer ${config_1.GITLAB_TOKEN}`;
@@ -112,16 +112,16 @@ function createFetchOptions() {
112
112
  options.agent = proxyAgent;
113
113
  logger_1.logger.info(`Using proxy: ${config_1.HTTPS_PROXY ?? config_1.HTTP_PROXY}`);
114
114
  }
115
- if (config_1.SKIP_TLS_VERIFY || config_1.NODE_TLS_REJECT_UNAUTHORIZED === '0') {
115
+ if (config_1.SKIP_TLS_VERIFY || config_1.NODE_TLS_REJECT_UNAUTHORIZED === "0") {
116
116
  const agent = new https.Agent({
117
117
  rejectUnauthorized: false,
118
118
  });
119
119
  options.agent = agent;
120
120
  if (config_1.SKIP_TLS_VERIFY) {
121
- logger_1.logger.warn('TLS certificate verification disabled via SKIP_TLS_VERIFY');
121
+ logger_1.logger.warn("TLS certificate verification disabled via SKIP_TLS_VERIFY");
122
122
  }
123
- if (config_1.NODE_TLS_REJECT_UNAUTHORIZED === '0') {
124
- logger_1.logger.warn('TLS certificate verification disabled via NODE_TLS_REJECT_UNAUTHORIZED');
123
+ if (config_1.NODE_TLS_REJECT_UNAUTHORIZED === "0") {
124
+ logger_1.logger.warn("TLS certificate verification disabled via NODE_TLS_REJECT_UNAUTHORIZED");
125
125
  }
126
126
  }
127
127
  const ca = loadCACertificate();
@@ -1 +1 @@
1
- {"version":3,"file":"fetch.js","sourceRoot":"","sources":["../../src/utils/fetch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fetch.js","sourceRoot":"","sources":["../../src/utils/fetch.ts"],"names":[],"mappings":"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"}
@@ -8,56 +8,56 @@ exports.cleanGidsFromObject = cleanGidsFromObject;
8
8
  exports.cleanWorkItemResponse = cleanWorkItemResponse;
9
9
  exports.convertTypeNamesToGids = convertTypeNamesToGids;
10
10
  const GID_PREFIXES = {
11
- WorkItem: 'gid://gitlab/WorkItem/',
12
- User: 'gid://gitlab/User/',
13
- Project: 'gid://gitlab/Project/',
14
- Group: 'gid://gitlab/Group/',
15
- Label: 'gid://gitlab/ProjectLabel/',
16
- Milestone: 'gid://gitlab/Milestone/',
17
- MergeRequest: 'gid://gitlab/MergeRequest/',
18
- Pipeline: 'gid://gitlab/Ci::Pipeline/',
19
- Job: 'gid://gitlab/Ci::Build/',
20
- Variable: 'gid://gitlab/Ci::Variable/',
21
- Wiki: 'gid://gitlab/Wiki/',
22
- Note: 'gid://gitlab/Note/',
23
- Discussion: 'gid://gitlab/Discussion/',
11
+ WorkItem: "gid://gitlab/WorkItem/",
12
+ User: "gid://gitlab/User/",
13
+ Project: "gid://gitlab/Project/",
14
+ Group: "gid://gitlab/Group/",
15
+ Label: "gid://gitlab/ProjectLabel/",
16
+ Milestone: "gid://gitlab/Milestone/",
17
+ MergeRequest: "gid://gitlab/MergeRequest/",
18
+ Pipeline: "gid://gitlab/Ci::Pipeline/",
19
+ Job: "gid://gitlab/Ci::Build/",
20
+ Variable: "gid://gitlab/Ci::Variable/",
21
+ Wiki: "gid://gitlab/Wiki/",
22
+ Note: "gid://gitlab/Note/",
23
+ Discussion: "gid://gitlab/Discussion/",
24
24
  };
25
25
  function extractSimpleId(gid) {
26
- if (!gid || typeof gid !== 'string') {
26
+ if (!gid || typeof gid !== "string") {
27
27
  return gid;
28
28
  }
29
- if (gid.startsWith('gid://gitlab/')) {
30
- const parts = gid.split('/');
29
+ if (gid.startsWith("gid://gitlab/")) {
30
+ const parts = gid.split("/");
31
31
  return parts[parts.length - 1];
32
32
  }
33
33
  return gid;
34
34
  }
35
35
  function toGid(id, entityType) {
36
- if (id.startsWith('gid://gitlab/')) {
36
+ if (id.startsWith("gid://gitlab/")) {
37
37
  return id;
38
38
  }
39
39
  return GID_PREFIXES[entityType] + id;
40
40
  }
41
41
  function toGids(ids, entityType) {
42
- return ids.map((id) => toGid(id, entityType));
42
+ return ids.map(id => toGid(id, entityType));
43
43
  }
44
44
  function extractSimpleIds(gids) {
45
- return gids.map((gid) => extractSimpleId(gid));
45
+ return gids.map(gid => extractSimpleId(gid));
46
46
  }
47
47
  function cleanGidsFromObject(obj) {
48
- if (!obj || typeof obj !== 'object') {
48
+ if (!obj || typeof obj !== "object") {
49
49
  return obj;
50
50
  }
51
51
  if (Array.isArray(obj)) {
52
- const cleanedArray = obj.map((item) => cleanGidsFromObject(item));
52
+ const cleanedArray = obj.map(item => cleanGidsFromObject(item));
53
53
  return cleanedArray;
54
54
  }
55
55
  const cleaned = {};
56
56
  for (const [key, value] of Object.entries(obj)) {
57
- if (typeof value === 'string' && value.startsWith('gid://gitlab/')) {
57
+ if (typeof value === "string" && value.startsWith("gid://gitlab/")) {
58
58
  cleaned[key] = extractSimpleId(value);
59
59
  }
60
- else if (typeof value === 'object' && value !== null) {
60
+ else if (typeof value === "object" && value !== null) {
61
61
  cleaned[key] = cleanGidsFromObject(value);
62
62
  }
63
63
  else {
@@ -74,7 +74,7 @@ function cleanWorkItemResponse(workItem) {
74
74
  id: extractSimpleId(workItem.id),
75
75
  };
76
76
  if (workItem.workItemType) {
77
- if (typeof workItem.workItemType === 'string') {
77
+ if (typeof workItem.workItemType === "string") {
78
78
  result.workItemType = workItem.workItemType;
79
79
  }
80
80
  else if (workItem.workItemType.name) {
@@ -90,31 +90,31 @@ function cleanWorkItemResponse(workItem) {
90
90
  if (workItem.widgets) {
91
91
  result.widgets = workItem.widgets.map((widget) => {
92
92
  const cleanedWidget = { ...widget };
93
- if (widget.type === 'ASSIGNEES' && widget.assignees?.nodes) {
93
+ if (widget.type === "ASSIGNEES" && widget.assignees?.nodes) {
94
94
  cleanedWidget.assignees = {
95
95
  ...widget.assignees,
96
- nodes: widget.assignees.nodes.map((assignee) => ({
96
+ nodes: widget.assignees.nodes.map(assignee => ({
97
97
  ...assignee,
98
98
  id: extractSimpleId(assignee.id),
99
99
  })),
100
100
  };
101
101
  }
102
- if (widget.type === 'LABELS' && widget.labels?.nodes) {
102
+ if (widget.type === "LABELS" && widget.labels?.nodes) {
103
103
  cleanedWidget.labels = {
104
104
  ...widget.labels,
105
- nodes: widget.labels.nodes.map((label) => ({
105
+ nodes: widget.labels.nodes.map(label => ({
106
106
  ...label,
107
107
  id: extractSimpleId(label.id),
108
108
  })),
109
109
  };
110
110
  }
111
- if (widget.type === 'MILESTONE' && widget.milestone?.id) {
111
+ if (widget.type === "MILESTONE" && widget.milestone?.id) {
112
112
  cleanedWidget.milestone = {
113
113
  ...widget.milestone,
114
114
  id: extractSimpleId(widget.milestone.id),
115
115
  };
116
116
  }
117
- if (widget.type === 'HIERARCHY' && widget.parent?.id) {
117
+ if (widget.type === "HIERARCHY" && widget.parent?.id) {
118
118
  cleanedWidget.parent = {
119
119
  ...widget.parent,
120
120
  id: extractSimpleId(widget.parent.id),
@@ -132,16 +132,16 @@ async function convertTypeNamesToGids(typeNames, namespacePath, getWorkItemTypes
132
132
  const workItemTypes = await getWorkItemTypes(namespacePath);
133
133
  const resolvedTypes = [];
134
134
  for (const typeName of typeNames) {
135
- const workItemTypeObj = workItemTypes.find((t) => t.name.toUpperCase() === typeName.toUpperCase());
135
+ const workItemTypeObj = workItemTypes.find(t => t.name.toUpperCase() === typeName.toUpperCase());
136
136
  if (workItemTypeObj) {
137
137
  resolvedTypes.push(workItemTypeObj.id);
138
138
  }
139
139
  else {
140
- console.warn(`Work item type "${typeName}" not found in namespace "${namespacePath}". Available types: ${workItemTypes.map((t) => t.name).join(', ')}`);
140
+ console.warn(`Work item type "${typeName}" not found in namespace "${namespacePath}". Available types: ${workItemTypes.map(t => t.name).join(", ")}`);
141
141
  }
142
142
  }
143
143
  if (resolvedTypes.length === 0) {
144
- console.warn('No valid work item types found for filtering. Using no type filter.');
144
+ console.warn("No valid work item types found for filtering. Using no type filter.");
145
145
  return [];
146
146
  }
147
147
  return resolvedTypes;
@@ -1 +1 @@
1
- {"version":3,"file":"idConversion.js","sourceRoot":"","sources":["../../src/utils/idConversion.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"idConversion.js","sourceRoot":"","sources":["../../src/utils/idConversion.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  export declare function isLikelyProjectPath(namespacePath: string): boolean;
2
- export declare function detectNamespaceType(namespacePath: string): Promise<'project' | 'group'>;
2
+ export declare function detectNamespaceType(namespacePath: string): Promise<"project" | "group">;
3
3
  export declare function resolveNamespaceForAPI(namespacePath: string): Promise<{
4
- entityType: 'projects' | 'groups';
4
+ entityType: "projects" | "groups";
5
5
  encodedPath: string;
6
6
  }>;
@@ -5,31 +5,31 @@ exports.detectNamespaceType = detectNamespaceType;
5
5
  exports.resolveNamespaceForAPI = resolveNamespaceForAPI;
6
6
  const fetch_1 = require("./fetch");
7
7
  function isLikelyProjectPath(namespacePath) {
8
- return namespacePath.includes('/');
8
+ return namespacePath.includes("/");
9
9
  }
10
10
  async function detectNamespaceType(namespacePath) {
11
11
  if (isLikelyProjectPath(namespacePath)) {
12
- const isProject = await verifyNamespaceType(namespacePath, 'project');
12
+ const isProject = await verifyNamespaceType(namespacePath, "project");
13
13
  if (isProject)
14
- return 'project';
15
- const isGroup = await verifyNamespaceType(namespacePath, 'group');
14
+ return "project";
15
+ const isGroup = await verifyNamespaceType(namespacePath, "group");
16
16
  if (isGroup)
17
- return 'group';
18
- return 'project';
17
+ return "group";
18
+ return "project";
19
19
  }
20
20
  else {
21
- const isGroup = await verifyNamespaceType(namespacePath, 'group');
21
+ const isGroup = await verifyNamespaceType(namespacePath, "group");
22
22
  if (isGroup)
23
- return 'group';
24
- const isProject = await verifyNamespaceType(namespacePath, 'project');
23
+ return "group";
24
+ const isProject = await verifyNamespaceType(namespacePath, "project");
25
25
  if (isProject)
26
- return 'project';
27
- return 'group';
26
+ return "project";
27
+ return "group";
28
28
  }
29
29
  }
30
30
  async function verifyNamespaceType(namespacePath, type) {
31
31
  try {
32
- const entityType = type === 'project' ? 'projects' : 'groups';
32
+ const entityType = type === "project" ? "projects" : "groups";
33
33
  const apiUrl = `${process.env.GITLAB_API_URL}/api/v4/${entityType}/${encodeURIComponent(namespacePath)}`;
34
34
  const response = await (0, fetch_1.enhancedFetch)(apiUrl, {
35
35
  headers: {
@@ -45,7 +45,7 @@ async function verifyNamespaceType(namespacePath, type) {
45
45
  async function resolveNamespaceForAPI(namespacePath) {
46
46
  const namespaceType = await detectNamespaceType(namespacePath);
47
47
  return {
48
- entityType: namespaceType === 'project' ? 'projects' : 'groups',
48
+ entityType: namespaceType === "project" ? "projects" : "groups",
49
49
  encodedPath: encodeURIComponent(namespacePath),
50
50
  };
51
51
  }
@@ -1,4 +1,4 @@
1
- export type QueryType = 'email' | 'username' | 'name';
1
+ export type QueryType = "email" | "username" | "name";
2
2
  export interface QueryPattern {
3
3
  type: QueryType;
4
4
  hasTransliteration: boolean;
@@ -16,7 +16,7 @@ function analyzeQuery(query) {
16
16
  const trimmedQuery = query.trim();
17
17
  if (/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(trimmedQuery)) {
18
18
  return {
19
- type: 'email',
19
+ type: "email",
20
20
  hasTransliteration: false,
21
21
  originalQuery: trimmedQuery,
22
22
  };
@@ -24,7 +24,7 @@ function analyzeQuery(query) {
24
24
  if (trimmedQuery.length >= 3 && trimmedQuery.length <= 30 && !/\s/.test(trimmedQuery)) {
25
25
  const hasTransliterationNeeded = hasNonLatin(trimmedQuery);
26
26
  return {
27
- type: 'username',
27
+ type: "username",
28
28
  hasTransliteration: hasTransliterationNeeded,
29
29
  originalQuery: trimmedQuery,
30
30
  transliteratedQuery: hasTransliterationNeeded ? transliterateText(trimmedQuery) : undefined,
@@ -32,7 +32,7 @@ function analyzeQuery(query) {
32
32
  }
33
33
  const hasTransliterationNeeded = hasNonLatin(trimmedQuery);
34
34
  return {
35
- type: 'name',
35
+ type: "name",
36
36
  hasTransliteration: hasTransliterationNeeded,
37
37
  originalQuery: trimmedQuery,
38
38
  transliteratedQuery: hasTransliterationNeeded ? transliterateText(trimmedQuery) : undefined,
@@ -69,13 +69,13 @@ async function smartUserSearch(query, additionalParams = {}) {
69
69
  let totalApiCalls = 0;
70
70
  let targetParams;
71
71
  switch (pattern.type) {
72
- case 'email':
72
+ case "email":
73
73
  targetParams = { public_email: pattern.originalQuery, ...additionalParams };
74
74
  break;
75
- case 'username':
75
+ case "username":
76
76
  targetParams = { username: pattern.originalQuery, ...additionalParams };
77
77
  break;
78
- case 'name':
78
+ case "name":
79
79
  targetParams = { search: pattern.originalQuery, ...additionalParams };
80
80
  break;
81
81
  }
@@ -98,12 +98,12 @@ async function smartUserSearch(query, additionalParams = {}) {
98
98
  },
99
99
  };
100
100
  }
101
- if (pattern.type !== 'name') {
101
+ if (pattern.type !== "name") {
102
102
  const broadParams = { search: pattern.originalQuery, ...additionalParams };
103
103
  users = await callUsersAPI(broadParams);
104
104
  totalApiCalls++;
105
105
  searchPhases.push({
106
- phase: 'broad-search',
106
+ phase: "broad-search",
107
107
  params: broadParams,
108
108
  resultCount: users.length,
109
109
  });
@@ -124,14 +124,14 @@ async function smartUserSearch(query, additionalParams = {}) {
124
124
  users = await callUsersAPI(translitParams);
125
125
  totalApiCalls++;
126
126
  searchPhases.push({
127
- phase: 'transliteration',
127
+ phase: "transliteration",
128
128
  params: translitParams,
129
129
  resultCount: users.length,
130
130
  });
131
131
  }
132
132
  }
133
133
  catch (error) {
134
- console.error('Smart user search error:', error);
134
+ console.error("Smart user search error:", error);
135
135
  }
136
136
  return {
137
137
  users,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@structured-world/gitlab-mcp",
3
- "version": "4.5.0",
3
+ "version": "5.2.0",
4
4
  "description": "MCP server for using the GitLab API",
5
5
  "license": "MIT",
6
6
  "author": "Dmitry Prudnikov <mail@polaz.com>",