@structured-world/gitlab-mcp 6.7.0 → 6.9.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 (115) hide show
  1. package/LICENSE +202 -21
  2. package/LICENSE.MIT +21 -0
  3. package/README.md +182 -3
  4. package/dist/src/config.d.ts +6 -0
  5. package/dist/src/config.js +89 -1
  6. package/dist/src/config.js.map +1 -1
  7. package/dist/src/entities/core/registry.js +68 -63
  8. package/dist/src/entities/core/registry.js.map +1 -1
  9. package/dist/src/entities/core/schema-readonly.d.ts +93 -36
  10. package/dist/src/entities/core/schema-readonly.js +146 -121
  11. package/dist/src/entities/core/schema-readonly.js.map +1 -1
  12. package/dist/src/entities/core/schema.d.ts +33 -23
  13. package/dist/src/entities/core/schema.js +65 -60
  14. package/dist/src/entities/core/schema.js.map +1 -1
  15. package/dist/src/entities/files/registry.js +14 -21
  16. package/dist/src/entities/files/registry.js.map +1 -1
  17. package/dist/src/entities/files/schema-readonly.d.ts +8 -7
  18. package/dist/src/entities/files/schema-readonly.js +20 -25
  19. package/dist/src/entities/files/schema-readonly.js.map +1 -1
  20. package/dist/src/entities/files/schema.d.ts +22 -15
  21. package/dist/src/entities/files/schema.js +32 -73
  22. package/dist/src/entities/files/schema.js.map +1 -1
  23. package/dist/src/entities/integrations/index.d.ts +7 -0
  24. package/dist/src/entities/integrations/index.js +31 -0
  25. package/dist/src/entities/integrations/index.js.map +1 -0
  26. package/dist/src/entities/integrations/registry.d.ts +5 -0
  27. package/dist/src/entities/integrations/registry.js +120 -0
  28. package/dist/src/entities/integrations/registry.js.map +1 -0
  29. package/dist/src/entities/integrations/schema-readonly.d.ts +7 -0
  30. package/dist/src/entities/integrations/schema-readonly.js +10 -0
  31. package/dist/src/entities/integrations/schema-readonly.js.map +1 -0
  32. package/dist/src/entities/integrations/schema.d.ts +235 -0
  33. package/dist/src/entities/integrations/schema.js +112 -0
  34. package/dist/src/entities/integrations/schema.js.map +1 -0
  35. package/dist/src/entities/labels/registry.js +8 -7
  36. package/dist/src/entities/labels/registry.js.map +1 -1
  37. package/dist/src/entities/labels/schema-readonly.d.ts +8 -7
  38. package/dist/src/entities/labels/schema-readonly.js +20 -18
  39. package/dist/src/entities/labels/schema-readonly.js.map +1 -1
  40. package/dist/src/entities/labels/schema.d.ts +15 -8
  41. package/dist/src/entities/labels/schema.js +36 -27
  42. package/dist/src/entities/labels/schema.js.map +1 -1
  43. package/dist/src/entities/milestones/registry.js +7 -8
  44. package/dist/src/entities/milestones/registry.js.map +1 -1
  45. package/dist/src/entities/milestones/schema-readonly.d.ts +25 -10
  46. package/dist/src/entities/milestones/schema-readonly.js +47 -26
  47. package/dist/src/entities/milestones/schema-readonly.js.map +1 -1
  48. package/dist/src/entities/milestones/schema.d.ts +19 -9
  49. package/dist/src/entities/milestones/schema.js +31 -20
  50. package/dist/src/entities/milestones/schema.js.map +1 -1
  51. package/dist/src/entities/mrs/registry.js +75 -79
  52. package/dist/src/entities/mrs/registry.js.map +1 -1
  53. package/dist/src/entities/mrs/schema-readonly.d.ts +36 -23
  54. package/dist/src/entities/mrs/schema-readonly.js +197 -338
  55. package/dist/src/entities/mrs/schema-readonly.js.map +1 -1
  56. package/dist/src/entities/mrs/schema.d.ts +113 -37
  57. package/dist/src/entities/mrs/schema.js +140 -258
  58. package/dist/src/entities/mrs/schema.js.map +1 -1
  59. package/dist/src/entities/pipelines/registry.js +10 -4
  60. package/dist/src/entities/pipelines/registry.js.map +1 -1
  61. package/dist/src/entities/pipelines/schema-readonly.d.ts +30 -14
  62. package/dist/src/entities/pipelines/schema-readonly.js +62 -52
  63. package/dist/src/entities/pipelines/schema-readonly.js.map +1 -1
  64. package/dist/src/entities/pipelines/schema.d.ts +23 -16
  65. package/dist/src/entities/pipelines/schema.js +44 -26
  66. package/dist/src/entities/pipelines/schema.js.map +1 -1
  67. package/dist/src/entities/snippets/registry.js +79 -67
  68. package/dist/src/entities/snippets/registry.js.map +1 -1
  69. package/dist/src/entities/snippets/schema-readonly.d.ts +8 -9
  70. package/dist/src/entities/snippets/schema-readonly.js +30 -35
  71. package/dist/src/entities/snippets/schema-readonly.js.map +1 -1
  72. package/dist/src/entities/snippets/schema.d.ts +7 -11
  73. package/dist/src/entities/snippets/schema.js +31 -65
  74. package/dist/src/entities/snippets/schema.js.map +1 -1
  75. package/dist/src/entities/variables/registry.js +9 -5
  76. package/dist/src/entities/variables/registry.js.map +1 -1
  77. package/dist/src/entities/variables/schema-readonly.d.ts +9 -9
  78. package/dist/src/entities/variables/schema-readonly.js +22 -18
  79. package/dist/src/entities/variables/schema-readonly.js.map +1 -1
  80. package/dist/src/entities/variables/schema.d.ts +24 -7
  81. package/dist/src/entities/variables/schema.js +67 -38
  82. package/dist/src/entities/variables/schema.js.map +1 -1
  83. package/dist/src/entities/webhooks/registry.js +48 -46
  84. package/dist/src/entities/webhooks/registry.js.map +1 -1
  85. package/dist/src/entities/webhooks/schema-readonly.d.ts +9 -8
  86. package/dist/src/entities/webhooks/schema-readonly.js +14 -9
  87. package/dist/src/entities/webhooks/schema-readonly.js.map +1 -1
  88. package/dist/src/entities/webhooks/schema.d.ts +79 -26
  89. package/dist/src/entities/webhooks/schema.js +70 -61
  90. package/dist/src/entities/webhooks/schema.js.map +1 -1
  91. package/dist/src/entities/wiki/registry.js +7 -4
  92. package/dist/src/entities/wiki/registry.js.map +1 -1
  93. package/dist/src/entities/wiki/schema-readonly.d.ts +7 -7
  94. package/dist/src/entities/wiki/schema-readonly.js +11 -15
  95. package/dist/src/entities/wiki/schema-readonly.js.map +1 -1
  96. package/dist/src/entities/wiki/schema.d.ts +19 -8
  97. package/dist/src/entities/wiki/schema.js +32 -29
  98. package/dist/src/entities/wiki/schema.js.map +1 -1
  99. package/dist/src/entities/workitems/registry.js +7 -8
  100. package/dist/src/entities/workitems/registry.js.map +1 -1
  101. package/dist/src/entities/workitems/schema-readonly.d.ts +7 -8
  102. package/dist/src/entities/workitems/schema-readonly.js +12 -14
  103. package/dist/src/entities/workitems/schema-readonly.js.map +1 -1
  104. package/dist/src/entities/workitems/schema.d.ts +17 -11
  105. package/dist/src/entities/workitems/schema.js +25 -25
  106. package/dist/src/entities/workitems/schema.js.map +1 -1
  107. package/dist/src/registry-manager.js +32 -11
  108. package/dist/src/registry-manager.js.map +1 -1
  109. package/dist/src/utils/schema-utils.d.ts +28 -0
  110. package/dist/src/utils/schema-utils.js +244 -0
  111. package/dist/src/utils/schema-utils.js.map +1 -0
  112. package/dist/structured-world-gitlab-mcp-6.9.0.tgz +0 -0
  113. package/dist/tsconfig.build.tsbuildinfo +1 -1
  114. package/package.json +2 -2
  115. package/dist/structured-world-gitlab-mcp-6.7.0.tgz +0 -0
@@ -3,87 +3,46 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ManageFilesSchema = void 0;
4
4
  const zod_1 = require("zod");
5
5
  const utils_1 = require("../utils");
6
+ const projectIdField = utils_1.requiredId.describe("Project ID or URL-encoded path");
6
7
  const BatchFileActionSchema = zod_1.z.object({
7
8
  file_path: zod_1.z.string().describe("Path to the file"),
8
9
  content: zod_1.z.string().describe("File content"),
9
10
  encoding: zod_1.z.enum(["text", "base64"]).optional().describe("Content encoding"),
10
11
  execute_filemode: utils_1.flexibleBoolean.optional().describe("Set executable permission"),
11
12
  });
12
- exports.ManageFilesSchema = zod_1.z
13
- .object({
14
- action: zod_1.z.enum(["single", "batch", "upload"]).describe("Action to perform"),
15
- project_id: utils_1.requiredId.describe("Project ID or URL-encoded path"),
16
- file_path: zod_1.z.string().optional().describe("Path to the file. Required for 'single' action."),
17
- content: zod_1.z
18
- .string()
19
- .optional()
20
- .describe("File content (text or base64 encoded). Required for 'single' action."),
21
- commit_message: zod_1.z
22
- .string()
23
- .optional()
24
- .describe("Commit message. Required for 'single' and 'batch' actions."),
25
- branch: zod_1.z
26
- .string()
27
- .optional()
28
- .describe("Target branch name. Required for 'single' and 'batch' actions."),
13
+ const SingleActionSchema = zod_1.z.object({
14
+ action: zod_1.z.literal("single").describe("Create or update a single file"),
15
+ project_id: projectIdField,
16
+ file_path: zod_1.z.string().describe("Path to the file"),
17
+ content: zod_1.z.string().describe("File content (text or base64 encoded)"),
18
+ commit_message: zod_1.z.string().describe("Commit message"),
19
+ branch: zod_1.z.string().describe("Target branch name"),
29
20
  start_branch: zod_1.z.string().optional().describe("Base branch to start from"),
30
- encoding: zod_1.z
31
- .enum(["text", "base64"])
32
- .optional()
33
- .describe("Content encoding (default: text). For 'single' action."),
21
+ encoding: zod_1.z.enum(["text", "base64"]).optional().describe("Content encoding (default: text)"),
34
22
  author_email: zod_1.z.string().optional().describe("Commit author email"),
35
23
  author_name: zod_1.z.string().optional().describe("Commit author name"),
36
- last_commit_id: zod_1.z
37
- .string()
38
- .optional()
39
- .describe("Last known commit ID for conflict detection. For 'single' action."),
40
- execute_filemode: utils_1.flexibleBoolean
41
- .optional()
42
- .describe("Set executable permission. For 'single' action."),
43
- files: zod_1.z
44
- .array(BatchFileActionSchema)
45
- .optional()
46
- .describe("Files to commit. Required for 'batch' action."),
47
- file: zod_1.z
48
- .string()
49
- .optional()
50
- .describe("Base64 encoded file content. Required for 'upload' action."),
51
- filename: zod_1.z.string().optional().describe("Name of the file. Required for 'upload' action."),
52
- })
53
- .refine(data => data.action !== "single" || data.file_path !== undefined, {
54
- message: "file_path is required for 'single' action",
55
- path: ["file_path"],
56
- })
57
- .refine(data => data.action !== "single" || data.content !== undefined, {
58
- message: "content is required for 'single' action",
59
- path: ["content"],
60
- })
61
- .refine(data => data.action !== "single" || data.commit_message !== undefined, {
62
- message: "commit_message is required for 'single' action",
63
- path: ["commit_message"],
64
- })
65
- .refine(data => data.action !== "single" || data.branch !== undefined, {
66
- message: "branch is required for 'single' action",
67
- path: ["branch"],
68
- })
69
- .refine(data => data.action !== "batch" || data.branch !== undefined, {
70
- message: "branch is required for 'batch' action",
71
- path: ["branch"],
72
- })
73
- .refine(data => data.action !== "batch" || data.commit_message !== undefined, {
74
- message: "commit_message is required for 'batch' action",
75
- path: ["commit_message"],
76
- })
77
- .refine(data => data.action !== "batch" || (data.files && data.files.length > 0), {
78
- message: "files array with at least one file is required for 'batch' action",
79
- path: ["files"],
80
- })
81
- .refine(data => data.action !== "upload" || data.file !== undefined, {
82
- message: "file is required for 'upload' action",
83
- path: ["file"],
84
- })
85
- .refine(data => data.action !== "upload" || data.filename !== undefined, {
86
- message: "filename is required for 'upload' action",
87
- path: ["filename"],
24
+ last_commit_id: zod_1.z.string().optional().describe("Last known commit ID for conflict detection"),
25
+ execute_filemode: utils_1.flexibleBoolean.optional().describe("Set executable permission"),
26
+ });
27
+ const BatchActionSchema = zod_1.z.object({
28
+ action: zod_1.z.literal("batch").describe("Commit multiple files atomically"),
29
+ project_id: projectIdField,
30
+ branch: zod_1.z.string().describe("Target branch name"),
31
+ commit_message: zod_1.z.string().describe("Commit message"),
32
+ files: zod_1.z.array(BatchFileActionSchema).min(1).describe("Files to commit (at least one required)"),
33
+ start_branch: zod_1.z.string().optional().describe("Base branch to start from"),
34
+ author_email: zod_1.z.string().optional().describe("Commit author email"),
35
+ author_name: zod_1.z.string().optional().describe("Commit author name"),
36
+ });
37
+ const UploadActionSchema = zod_1.z.object({
38
+ action: zod_1.z.literal("upload").describe("Upload a file as markdown attachment"),
39
+ project_id: projectIdField,
40
+ file: zod_1.z.string().describe("Base64 encoded file content"),
41
+ filename: zod_1.z.string().describe("Name of the file"),
88
42
  });
43
+ exports.ManageFilesSchema = zod_1.z.discriminatedUnion("action", [
44
+ SingleActionSchema,
45
+ BatchActionSchema,
46
+ UploadActionSchema,
47
+ ]);
89
48
  //# sourceMappingURL=schema.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../../src/entities/files/schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../../src/entities/files/schema.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ export * from "../shared";
2
+ export * from "./schema-readonly";
3
+ export * from "./schema";
4
+ export * from "./registry";
5
+ import type { ToolDefinition } from "../../types";
6
+ export declare const integrationsTools: ToolDefinition[];
7
+ export declare const integrationsReadOnlyTools: string[];
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.integrationsReadOnlyTools = exports.integrationsTools = void 0;
18
+ __exportStar(require("../shared"), exports);
19
+ __exportStar(require("./schema-readonly"), exports);
20
+ __exportStar(require("./schema"), exports);
21
+ __exportStar(require("./registry"), exports);
22
+ const registry_1 = require("./registry");
23
+ const isReadOnly = process.env.GITLAB_READONLY === "true";
24
+ const integrationsToolsFromRegistry = (0, registry_1.getFilteredIntegrationsTools)(isReadOnly);
25
+ exports.integrationsTools = integrationsToolsFromRegistry.map((tool) => ({
26
+ name: tool.name,
27
+ description: tool.description,
28
+ inputSchema: tool.inputSchema,
29
+ }));
30
+ exports.integrationsReadOnlyTools = (0, registry_1.getIntegrationsReadOnlyToolNames)();
31
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/entities/integrations/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AACA,4CAA0B;AAG1B,oDAAkC;AAGlC,2CAAyB;AAGzB,6CAA2B;AAG3B,yCAA4F;AAI5F,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,KAAK,MAAM,CAAC;AAG1D,MAAM,6BAA6B,GAAG,IAAA,uCAA4B,EAAC,UAAU,CAAC,CAAC;AAGlE,QAAA,iBAAiB,GAAqB,6BAA6B,CAAC,GAAG,CAClF,CAAC,IAAI,EAAkB,EAAE,CAAC,CAAC;IACzB,IAAI,EAAE,IAAI,CAAC,IAAI;IACf,WAAW,EAAE,IAAI,CAAC,WAAW;IAC7B,WAAW,EAAE,IAAI,CAAC,WAAW;CAC9B,CAAC,CACH,CAAC;AAGW,QAAA,yBAAyB,GAAG,IAAA,2CAAgC,GAAE,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { ToolRegistry, EnhancedToolDefinition } from "../../types";
2
+ export declare const integrationsToolRegistry: ToolRegistry;
3
+ export declare function getIntegrationsReadOnlyToolNames(): string[];
4
+ export declare function getIntegrationsToolDefinitions(): EnhancedToolDefinition[];
5
+ export declare function getFilteredIntegrationsTools(readOnlyMode?: boolean): EnhancedToolDefinition[];
@@ -0,0 +1,120 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.integrationsToolRegistry = void 0;
37
+ exports.getIntegrationsReadOnlyToolNames = getIntegrationsReadOnlyToolNames;
38
+ exports.getIntegrationsToolDefinitions = getIntegrationsToolDefinitions;
39
+ exports.getFilteredIntegrationsTools = getFilteredIntegrationsTools;
40
+ const z = __importStar(require("zod"));
41
+ const schema_readonly_1 = require("./schema-readonly");
42
+ const schema_1 = require("./schema");
43
+ const gitlab_api_1 = require("../../utils/gitlab-api");
44
+ const config_1 = require("../../config");
45
+ exports.integrationsToolRegistry = new Map([
46
+ [
47
+ "list_integrations",
48
+ {
49
+ name: "list_integrations",
50
+ description: "LIST all active integrations for a project. Returns integrations like Slack, Jira, Discord, Microsoft Teams, Jenkins, etc. Only shows enabled/configured integrations.",
51
+ inputSchema: z.toJSONSchema(schema_readonly_1.ListIntegrationsSchema, {}),
52
+ handler: async (args) => {
53
+ const input = schema_readonly_1.ListIntegrationsSchema.parse(args);
54
+ const projectId = (0, config_1.getEffectiveProjectId)(input.project_id);
55
+ const query = (0, gitlab_api_1.toQuery)({
56
+ per_page: input.per_page,
57
+ page: input.page,
58
+ }, []);
59
+ return gitlab_api_1.gitlab.get(`projects/${encodeURIComponent(projectId)}/integrations`, { query });
60
+ },
61
+ },
62
+ ],
63
+ [
64
+ "manage_integration",
65
+ {
66
+ name: "manage_integration",
67
+ description: 'MANAGE project integrations. Actions: "get" retrieves integration settings (read-only), "update" modifies or enables integration with specific config, "disable" removes integration. Supports 50+ integrations: Slack, Jira, Discord, Teams, Jenkins, etc. Note: gitlab-slack-application cannot be created via API - requires OAuth install from UI.',
68
+ inputSchema: z.toJSONSchema(schema_1.ManageIntegrationSchema, {}),
69
+ handler: async (args) => {
70
+ const input = schema_1.ManageIntegrationSchema.parse(args);
71
+ if ((0, config_1.isActionDenied)("manage_integration", input.action)) {
72
+ throw new Error(`Action '${input.action}' is not allowed for manage_integration tool`);
73
+ }
74
+ const projectId = (0, config_1.getEffectiveProjectId)(input.project_id);
75
+ const integrationSlug = input.integration;
76
+ const isReadOnly = process.env.GITLAB_READ_ONLY_MODE === "true";
77
+ if (isReadOnly && (input.action === "update" || input.action === "disable")) {
78
+ throw new Error(`Action '${input.action}' is not allowed in read-only mode. Only 'get' action is permitted.`);
79
+ }
80
+ switch (input.action) {
81
+ case "get": {
82
+ return gitlab_api_1.gitlab.get(`projects/${encodeURIComponent(projectId)}/integrations/${integrationSlug}`);
83
+ }
84
+ case "update": {
85
+ const { action: _action, project_id: _project_id, integration: _integration, ...body } = input;
86
+ let finalBody = { ...body };
87
+ if (body.config) {
88
+ const { config, ...rest } = body;
89
+ finalBody = { ...rest, ...config };
90
+ }
91
+ return gitlab_api_1.gitlab.put(`projects/${encodeURIComponent(projectId)}/integrations/${integrationSlug}`, {
92
+ body: finalBody,
93
+ contentType: "json",
94
+ });
95
+ }
96
+ case "disable": {
97
+ await gitlab_api_1.gitlab.delete(`projects/${encodeURIComponent(projectId)}/integrations/${integrationSlug}`);
98
+ return { deleted: true };
99
+ }
100
+ default:
101
+ throw new Error(`Unknown action: ${input.action}`);
102
+ }
103
+ },
104
+ },
105
+ ],
106
+ ]);
107
+ function getIntegrationsReadOnlyToolNames() {
108
+ return ["list_integrations", "manage_integration"];
109
+ }
110
+ function getIntegrationsToolDefinitions() {
111
+ return Array.from(exports.integrationsToolRegistry.values());
112
+ }
113
+ function getFilteredIntegrationsTools(readOnlyMode = false) {
114
+ if (readOnlyMode) {
115
+ const readOnlyNames = getIntegrationsReadOnlyToolNames();
116
+ return Array.from(exports.integrationsToolRegistry.values()).filter(tool => readOnlyNames.includes(tool.name));
117
+ }
118
+ return getIntegrationsToolDefinitions();
119
+ }
120
+ //# sourceMappingURL=registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../../src/entities/integrations/registry.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import { z } from "zod";
2
+ export declare const ListIntegrationsSchema: z.ZodObject<{
3
+ project_id: z.ZodString;
4
+ per_page: z.ZodOptional<z.ZodNumber>;
5
+ page: z.ZodOptional<z.ZodNumber>;
6
+ }, z.core.$strip>;
7
+ export type ListIntegrationsInput = z.infer<typeof ListIntegrationsSchema>;
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ListIntegrationsSchema = void 0;
4
+ const zod_1 = require("zod");
5
+ exports.ListIntegrationsSchema = zod_1.z.object({
6
+ project_id: zod_1.z.string().describe("Project ID or URL-encoded path"),
7
+ per_page: zod_1.z.number().int().min(1).max(100).optional().describe("Number of items per page"),
8
+ page: zod_1.z.number().int().min(1).optional().describe("Page number"),
9
+ });
10
+ //# sourceMappingURL=schema-readonly.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema-readonly.js","sourceRoot":"","sources":["../../../../src/entities/integrations/schema-readonly.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAMX,QAAA,sBAAsB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC7C,UAAU,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;IACjE,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;IAC1F,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC;CACjE,CAAC,CAAC"}
@@ -0,0 +1,235 @@
1
+ import { z } from "zod";
2
+ export declare const IntegrationTypeSchema: z.ZodEnum<{
3
+ slack: "slack";
4
+ "gitlab-slack-application": "gitlab-slack-application";
5
+ "slack-slash-commands": "slack-slash-commands";
6
+ discord: "discord";
7
+ "microsoft-teams": "microsoft-teams";
8
+ mattermost: "mattermost";
9
+ "mattermost-slash-commands": "mattermost-slash-commands";
10
+ telegram: "telegram";
11
+ matrix: "matrix";
12
+ pumble: "pumble";
13
+ "hangouts-chat": "hangouts-chat";
14
+ "webex-teams": "webex-teams";
15
+ "unify-circuit": "unify-circuit";
16
+ campfire: "campfire";
17
+ irker: "irker";
18
+ jira: "jira";
19
+ "jira-cloud-app": "jira-cloud-app";
20
+ bugzilla: "bugzilla";
21
+ redmine: "redmine";
22
+ youtrack: "youtrack";
23
+ clickup: "clickup";
24
+ linear: "linear";
25
+ phorge: "phorge";
26
+ pivotaltracker: "pivotaltracker";
27
+ asana: "asana";
28
+ "custom-issue-tracker": "custom-issue-tracker";
29
+ ewm: "ewm";
30
+ jenkins: "jenkins";
31
+ teamcity: "teamcity";
32
+ bamboo: "bamboo";
33
+ buildkite: "buildkite";
34
+ "drone-ci": "drone-ci";
35
+ datadog: "datadog";
36
+ "mock-ci": "mock-ci";
37
+ "diffblue-cover": "diffblue-cover";
38
+ confluence: "confluence";
39
+ "external-wiki": "external-wiki";
40
+ "apple-app-store": "apple-app-store";
41
+ "google-play": "google-play";
42
+ packagist: "packagist";
43
+ "google-cloud-platform-artifact-registry": "google-cloud-platform-artifact-registry";
44
+ "google-cloud-platform-workload-identity-federation": "google-cloud-platform-workload-identity-federation";
45
+ harbor: "harbor";
46
+ "git-guardian": "git-guardian";
47
+ github: "github";
48
+ assembla: "assembla";
49
+ "emails-on-push": "emails-on-push";
50
+ "pipelines-email": "pipelines-email";
51
+ pushover: "pushover";
52
+ "squash-tm": "squash-tm";
53
+ }>;
54
+ export declare const ManageIntegrationSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
55
+ action: z.ZodLiteral<"get">;
56
+ project_id: z.ZodPipe<z.ZodTransform<{}, unknown>, z.ZodCoercedString<unknown>>;
57
+ integration: z.ZodEnum<{
58
+ slack: "slack";
59
+ "gitlab-slack-application": "gitlab-slack-application";
60
+ "slack-slash-commands": "slack-slash-commands";
61
+ discord: "discord";
62
+ "microsoft-teams": "microsoft-teams";
63
+ mattermost: "mattermost";
64
+ "mattermost-slash-commands": "mattermost-slash-commands";
65
+ telegram: "telegram";
66
+ matrix: "matrix";
67
+ pumble: "pumble";
68
+ "hangouts-chat": "hangouts-chat";
69
+ "webex-teams": "webex-teams";
70
+ "unify-circuit": "unify-circuit";
71
+ campfire: "campfire";
72
+ irker: "irker";
73
+ jira: "jira";
74
+ "jira-cloud-app": "jira-cloud-app";
75
+ bugzilla: "bugzilla";
76
+ redmine: "redmine";
77
+ youtrack: "youtrack";
78
+ clickup: "clickup";
79
+ linear: "linear";
80
+ phorge: "phorge";
81
+ pivotaltracker: "pivotaltracker";
82
+ asana: "asana";
83
+ "custom-issue-tracker": "custom-issue-tracker";
84
+ ewm: "ewm";
85
+ jenkins: "jenkins";
86
+ teamcity: "teamcity";
87
+ bamboo: "bamboo";
88
+ buildkite: "buildkite";
89
+ "drone-ci": "drone-ci";
90
+ datadog: "datadog";
91
+ "mock-ci": "mock-ci";
92
+ "diffblue-cover": "diffblue-cover";
93
+ confluence: "confluence";
94
+ "external-wiki": "external-wiki";
95
+ "apple-app-store": "apple-app-store";
96
+ "google-play": "google-play";
97
+ packagist: "packagist";
98
+ "google-cloud-platform-artifact-registry": "google-cloud-platform-artifact-registry";
99
+ "google-cloud-platform-workload-identity-federation": "google-cloud-platform-workload-identity-federation";
100
+ harbor: "harbor";
101
+ "git-guardian": "git-guardian";
102
+ github: "github";
103
+ assembla: "assembla";
104
+ "emails-on-push": "emails-on-push";
105
+ "pipelines-email": "pipelines-email";
106
+ pushover: "pushover";
107
+ "squash-tm": "squash-tm";
108
+ }>;
109
+ }, z.core.$strip>, z.ZodObject<{
110
+ active: z.ZodOptional<z.ZodPipe<z.ZodTransform<boolean, unknown>, z.ZodBoolean>>;
111
+ push_events: z.ZodOptional<z.ZodPipe<z.ZodTransform<boolean, unknown>, z.ZodBoolean>>;
112
+ issues_events: z.ZodOptional<z.ZodPipe<z.ZodTransform<boolean, unknown>, z.ZodBoolean>>;
113
+ merge_requests_events: z.ZodOptional<z.ZodPipe<z.ZodTransform<boolean, unknown>, z.ZodBoolean>>;
114
+ tag_push_events: z.ZodOptional<z.ZodPipe<z.ZodTransform<boolean, unknown>, z.ZodBoolean>>;
115
+ note_events: z.ZodOptional<z.ZodPipe<z.ZodTransform<boolean, unknown>, z.ZodBoolean>>;
116
+ confidential_issues_events: z.ZodOptional<z.ZodPipe<z.ZodTransform<boolean, unknown>, z.ZodBoolean>>;
117
+ pipeline_events: z.ZodOptional<z.ZodPipe<z.ZodTransform<boolean, unknown>, z.ZodBoolean>>;
118
+ wiki_page_events: z.ZodOptional<z.ZodPipe<z.ZodTransform<boolean, unknown>, z.ZodBoolean>>;
119
+ job_events: z.ZodOptional<z.ZodPipe<z.ZodTransform<boolean, unknown>, z.ZodBoolean>>;
120
+ deployment_events: z.ZodOptional<z.ZodPipe<z.ZodTransform<boolean, unknown>, z.ZodBoolean>>;
121
+ releases_events: z.ZodOptional<z.ZodPipe<z.ZodTransform<boolean, unknown>, z.ZodBoolean>>;
122
+ vulnerability_events: z.ZodOptional<z.ZodPipe<z.ZodTransform<boolean, unknown>, z.ZodBoolean>>;
123
+ config: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
124
+ action: z.ZodLiteral<"update">;
125
+ project_id: z.ZodPipe<z.ZodTransform<{}, unknown>, z.ZodCoercedString<unknown>>;
126
+ integration: z.ZodEnum<{
127
+ slack: "slack";
128
+ "gitlab-slack-application": "gitlab-slack-application";
129
+ "slack-slash-commands": "slack-slash-commands";
130
+ discord: "discord";
131
+ "microsoft-teams": "microsoft-teams";
132
+ mattermost: "mattermost";
133
+ "mattermost-slash-commands": "mattermost-slash-commands";
134
+ telegram: "telegram";
135
+ matrix: "matrix";
136
+ pumble: "pumble";
137
+ "hangouts-chat": "hangouts-chat";
138
+ "webex-teams": "webex-teams";
139
+ "unify-circuit": "unify-circuit";
140
+ campfire: "campfire";
141
+ irker: "irker";
142
+ jira: "jira";
143
+ "jira-cloud-app": "jira-cloud-app";
144
+ bugzilla: "bugzilla";
145
+ redmine: "redmine";
146
+ youtrack: "youtrack";
147
+ clickup: "clickup";
148
+ linear: "linear";
149
+ phorge: "phorge";
150
+ pivotaltracker: "pivotaltracker";
151
+ asana: "asana";
152
+ "custom-issue-tracker": "custom-issue-tracker";
153
+ ewm: "ewm";
154
+ jenkins: "jenkins";
155
+ teamcity: "teamcity";
156
+ bamboo: "bamboo";
157
+ buildkite: "buildkite";
158
+ "drone-ci": "drone-ci";
159
+ datadog: "datadog";
160
+ "mock-ci": "mock-ci";
161
+ "diffblue-cover": "diffblue-cover";
162
+ confluence: "confluence";
163
+ "external-wiki": "external-wiki";
164
+ "apple-app-store": "apple-app-store";
165
+ "google-play": "google-play";
166
+ packagist: "packagist";
167
+ "google-cloud-platform-artifact-registry": "google-cloud-platform-artifact-registry";
168
+ "google-cloud-platform-workload-identity-federation": "google-cloud-platform-workload-identity-federation";
169
+ harbor: "harbor";
170
+ "git-guardian": "git-guardian";
171
+ github: "github";
172
+ assembla: "assembla";
173
+ "emails-on-push": "emails-on-push";
174
+ "pipelines-email": "pipelines-email";
175
+ pushover: "pushover";
176
+ "squash-tm": "squash-tm";
177
+ }>;
178
+ }, z.core.$loose>, z.ZodObject<{
179
+ action: z.ZodLiteral<"disable">;
180
+ project_id: z.ZodPipe<z.ZodTransform<{}, unknown>, z.ZodCoercedString<unknown>>;
181
+ integration: z.ZodEnum<{
182
+ slack: "slack";
183
+ "gitlab-slack-application": "gitlab-slack-application";
184
+ "slack-slash-commands": "slack-slash-commands";
185
+ discord: "discord";
186
+ "microsoft-teams": "microsoft-teams";
187
+ mattermost: "mattermost";
188
+ "mattermost-slash-commands": "mattermost-slash-commands";
189
+ telegram: "telegram";
190
+ matrix: "matrix";
191
+ pumble: "pumble";
192
+ "hangouts-chat": "hangouts-chat";
193
+ "webex-teams": "webex-teams";
194
+ "unify-circuit": "unify-circuit";
195
+ campfire: "campfire";
196
+ irker: "irker";
197
+ jira: "jira";
198
+ "jira-cloud-app": "jira-cloud-app";
199
+ bugzilla: "bugzilla";
200
+ redmine: "redmine";
201
+ youtrack: "youtrack";
202
+ clickup: "clickup";
203
+ linear: "linear";
204
+ phorge: "phorge";
205
+ pivotaltracker: "pivotaltracker";
206
+ asana: "asana";
207
+ "custom-issue-tracker": "custom-issue-tracker";
208
+ ewm: "ewm";
209
+ jenkins: "jenkins";
210
+ teamcity: "teamcity";
211
+ bamboo: "bamboo";
212
+ buildkite: "buildkite";
213
+ "drone-ci": "drone-ci";
214
+ datadog: "datadog";
215
+ "mock-ci": "mock-ci";
216
+ "diffblue-cover": "diffblue-cover";
217
+ confluence: "confluence";
218
+ "external-wiki": "external-wiki";
219
+ "apple-app-store": "apple-app-store";
220
+ "google-play": "google-play";
221
+ packagist: "packagist";
222
+ "google-cloud-platform-artifact-registry": "google-cloud-platform-artifact-registry";
223
+ "google-cloud-platform-workload-identity-federation": "google-cloud-platform-workload-identity-federation";
224
+ harbor: "harbor";
225
+ "git-guardian": "git-guardian";
226
+ github: "github";
227
+ assembla: "assembla";
228
+ "emails-on-push": "emails-on-push";
229
+ "pipelines-email": "pipelines-email";
230
+ pushover: "pushover";
231
+ "squash-tm": "squash-tm";
232
+ }>;
233
+ }, z.core.$strip>], "action">;
234
+ export type ManageIntegrationInput = z.infer<typeof ManageIntegrationSchema>;
235
+ export type IntegrationType = z.infer<typeof IntegrationTypeSchema>;