@opentabs-dev/opentabs-plugin-gitlab 0.0.74

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 (104) hide show
  1. package/dist/adapter.iife.js +15367 -0
  2. package/dist/adapter.iife.js.map +7 -0
  3. package/dist/gitlab-api.d.ts +13 -0
  4. package/dist/gitlab-api.d.ts.map +1 -0
  5. package/dist/gitlab-api.js +114 -0
  6. package/dist/gitlab-api.js.map +1 -0
  7. package/dist/index.d.ts +14 -0
  8. package/dist/index.d.ts.map +1 -0
  9. package/dist/index.js +70 -0
  10. package/dist/index.js.map +1 -0
  11. package/dist/tools/create-issue.d.ts +27 -0
  12. package/dist/tools/create-issue.d.ts.map +1 -0
  13. package/dist/tools/create-issue.js +43 -0
  14. package/dist/tools/create-issue.js.map +1 -0
  15. package/dist/tools/create-merge-request.d.ts +32 -0
  16. package/dist/tools/create-merge-request.d.ts.map +1 -0
  17. package/dist/tools/create-merge-request.js +52 -0
  18. package/dist/tools/create-merge-request.js.map +1 -0
  19. package/dist/tools/create-note.d.ts +20 -0
  20. package/dist/tools/create-note.d.ts.map +1 -0
  21. package/dist/tools/create-note.js +26 -0
  22. package/dist/tools/create-note.js.map +1 -0
  23. package/dist/tools/get-file-content.d.ts +10 -0
  24. package/dist/tools/get-file-content.d.ts.map +1 -0
  25. package/dist/tools/get-file-content.js +33 -0
  26. package/dist/tools/get-file-content.js.map +1 -0
  27. package/dist/tools/get-issue.d.ts +22 -0
  28. package/dist/tools/get-issue.d.ts.map +1 -0
  29. package/dist/tools/get-issue.js +24 -0
  30. package/dist/tools/get-issue.js.map +1 -0
  31. package/dist/tools/get-job-log.d.ts +8 -0
  32. package/dist/tools/get-job-log.d.ts.map +1 -0
  33. package/dist/tools/get-job-log.js +23 -0
  34. package/dist/tools/get-job-log.js.map +1 -0
  35. package/dist/tools/get-merge-request-diff.d.ts +15 -0
  36. package/dist/tools/get-merge-request-diff.d.ts.map +1 -0
  37. package/dist/tools/get-merge-request-diff.js +41 -0
  38. package/dist/tools/get-merge-request-diff.js.map +1 -0
  39. package/dist/tools/get-merge-request.d.ts +24 -0
  40. package/dist/tools/get-merge-request.d.ts.map +1 -0
  41. package/dist/tools/get-merge-request.js +24 -0
  42. package/dist/tools/get-merge-request.js.map +1 -0
  43. package/dist/tools/get-project.d.ts +21 -0
  44. package/dist/tools/get-project.d.ts.map +1 -0
  45. package/dist/tools/get-project.js +23 -0
  46. package/dist/tools/get-project.js.map +1 -0
  47. package/dist/tools/get-user-profile.d.ts +17 -0
  48. package/dist/tools/get-user-profile.d.ts.map +1 -0
  49. package/dist/tools/get-user-profile.js +29 -0
  50. package/dist/tools/get-user-profile.js.map +1 -0
  51. package/dist/tools/list-branches.d.ts +16 -0
  52. package/dist/tools/list-branches.d.ts.map +1 -0
  53. package/dist/tools/list-branches.js +32 -0
  54. package/dist/tools/list-branches.js.map +1 -0
  55. package/dist/tools/list-commits.d.ts +22 -0
  56. package/dist/tools/list-commits.d.ts.map +1 -0
  57. package/dist/tools/list-commits.js +41 -0
  58. package/dist/tools/list-commits.js.map +1 -0
  59. package/dist/tools/list-issues.d.ts +40 -0
  60. package/dist/tools/list-issues.d.ts.map +1 -0
  61. package/dist/tools/list-issues.js +49 -0
  62. package/dist/tools/list-issues.js.map +1 -0
  63. package/dist/tools/list-merge-requests.d.ts +46 -0
  64. package/dist/tools/list-merge-requests.d.ts.map +1 -0
  65. package/dist/tools/list-merge-requests.js +56 -0
  66. package/dist/tools/list-merge-requests.js.map +1 -0
  67. package/dist/tools/list-notes.d.ts +29 -0
  68. package/dist/tools/list-notes.d.ts.map +1 -0
  69. package/dist/tools/list-notes.js +35 -0
  70. package/dist/tools/list-notes.js.map +1 -0
  71. package/dist/tools/list-pipeline-jobs.d.ts +20 -0
  72. package/dist/tools/list-pipeline-jobs.d.ts.map +1 -0
  73. package/dist/tools/list-pipeline-jobs.js +30 -0
  74. package/dist/tools/list-pipeline-jobs.js.map +1 -0
  75. package/dist/tools/list-pipelines.d.ts +42 -0
  76. package/dist/tools/list-pipelines.d.ts.map +1 -0
  77. package/dist/tools/list-pipelines.js +47 -0
  78. package/dist/tools/list-pipelines.js.map +1 -0
  79. package/dist/tools/list-projects.d.ts +42 -0
  80. package/dist/tools/list-projects.d.ts.map +1 -0
  81. package/dist/tools/list-projects.js +47 -0
  82. package/dist/tools/list-projects.js.map +1 -0
  83. package/dist/tools/merge-merge-request.d.ts +28 -0
  84. package/dist/tools/merge-merge-request.d.ts.map +1 -0
  85. package/dist/tools/merge-merge-request.js +37 -0
  86. package/dist/tools/merge-merge-request.js.map +1 -0
  87. package/dist/tools/schemas.d.ts +326 -0
  88. package/dist/tools/schemas.d.ts.map +1 -0
  89. package/dist/tools/schemas.js +213 -0
  90. package/dist/tools/schemas.js.map +1 -0
  91. package/dist/tools/search-projects.d.ts +35 -0
  92. package/dist/tools/search-projects.d.ts.map +1 -0
  93. package/dist/tools/search-projects.js +37 -0
  94. package/dist/tools/search-projects.js.map +1 -0
  95. package/dist/tools/update-issue.d.ts +32 -0
  96. package/dist/tools/update-issue.d.ts.map +1 -0
  97. package/dist/tools/update-issue.js +46 -0
  98. package/dist/tools/update-issue.js.map +1 -0
  99. package/dist/tools/update-merge-request.d.ts +35 -0
  100. package/dist/tools/update-merge-request.d.ts.map +1 -0
  101. package/dist/tools/update-merge-request.js +49 -0
  102. package/dist/tools/update-merge-request.js.map +1 -0
  103. package/dist/tools.json +2661 -0
  104. package/package.json +55 -0
@@ -0,0 +1,32 @@
1
+ import { z } from 'zod';
2
+ export declare const updateIssue: import("@opentabs-dev/plugin-sdk").ToolDefinition<z.ZodObject<{
3
+ project: z.ZodString;
4
+ issue_iid: z.ZodNumber;
5
+ title: z.ZodOptional<z.ZodString>;
6
+ description: z.ZodOptional<z.ZodString>;
7
+ state_event: z.ZodOptional<z.ZodEnum<{
8
+ close: "close";
9
+ reopen: "reopen";
10
+ }>>;
11
+ labels: z.ZodOptional<z.ZodString>;
12
+ assignee_ids: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
13
+ milestone_id: z.ZodOptional<z.ZodNumber>;
14
+ confidential: z.ZodOptional<z.ZodBoolean>;
15
+ }, z.core.$strip>, z.ZodObject<{
16
+ issue: z.ZodObject<{
17
+ iid: z.ZodNumber;
18
+ title: z.ZodString;
19
+ state: z.ZodString;
20
+ description: z.ZodString;
21
+ web_url: z.ZodString;
22
+ author_username: z.ZodString;
23
+ labels: z.ZodArray<z.ZodString>;
24
+ assignees: z.ZodArray<z.ZodString>;
25
+ milestone_title: z.ZodString;
26
+ confidential: z.ZodBoolean;
27
+ created_at: z.ZodString;
28
+ updated_at: z.ZodString;
29
+ closed_at: z.ZodString;
30
+ }, z.core.$strip>;
31
+ }, z.core.$strip>>;
32
+ //# sourceMappingURL=update-issue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update-issue.d.ts","sourceRoot":"","sources":["../../src/tools/update-issue.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAqCtB,CAAC"}
@@ -0,0 +1,46 @@
1
+ import { defineTool } from '@opentabs-dev/plugin-sdk';
2
+ import { z } from 'zod';
3
+ import { api } from '../gitlab-api.js';
4
+ import { issueSchema, mapIssue } from './schemas.js';
5
+ export const updateIssue = defineTool({
6
+ name: 'update_issue',
7
+ displayName: 'Update Issue',
8
+ description: 'Update an existing issue. Only specified fields are changed.',
9
+ summary: 'Update an issue',
10
+ icon: 'pencil',
11
+ group: 'Issues',
12
+ input: z.object({
13
+ project: z.string().min(1).describe('Project path (e.g., "group/project") or numeric project ID'),
14
+ issue_iid: z.number().int().min(1).describe('Issue IID (project-scoped ID)'),
15
+ title: z.string().optional().describe('New title'),
16
+ description: z.string().optional().describe('New description in Markdown'),
17
+ state_event: z.enum(['close', 'reopen']).optional().describe('Transition the issue state'),
18
+ labels: z.string().optional().describe('Comma-separated list of label names (replaces existing)'),
19
+ assignee_ids: z.array(z.number()).optional().describe('User IDs to assign (replaces existing)'),
20
+ milestone_id: z.number().optional().describe('Milestone ID'),
21
+ confidential: z.boolean().optional().describe('Whether the issue is confidential'),
22
+ }),
23
+ output: z.object({
24
+ issue: issueSchema.describe('The updated issue'),
25
+ }),
26
+ handle: async (params) => {
27
+ const body = {};
28
+ if (params.title !== undefined)
29
+ body.title = params.title;
30
+ if (params.description !== undefined)
31
+ body.description = params.description;
32
+ if (params.state_event !== undefined)
33
+ body.state_event = params.state_event;
34
+ if (params.labels !== undefined)
35
+ body.labels = params.labels;
36
+ if (params.assignee_ids !== undefined)
37
+ body.assignee_ids = params.assignee_ids;
38
+ if (params.milestone_id !== undefined)
39
+ body.milestone_id = params.milestone_id;
40
+ if (params.confidential !== undefined)
41
+ body.confidential = params.confidential;
42
+ const data = await api(`/projects/${encodeURIComponent(params.project)}/issues/${params.issue_iid}`, { method: 'PUT', body });
43
+ return { issue: mapIssue(data) };
44
+ },
45
+ });
46
+ //# sourceMappingURL=update-issue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update-issue.js","sourceRoot":"","sources":["../../src/tools/update-issue.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,35 @@
1
+ import { z } from 'zod';
2
+ export declare const updateMergeRequest: import("@opentabs-dev/plugin-sdk").ToolDefinition<z.ZodObject<{
3
+ project: z.ZodString;
4
+ merge_request_iid: z.ZodNumber;
5
+ title: z.ZodOptional<z.ZodString>;
6
+ description: z.ZodOptional<z.ZodString>;
7
+ state_event: z.ZodOptional<z.ZodEnum<{
8
+ close: "close";
9
+ reopen: "reopen";
10
+ }>>;
11
+ labels: z.ZodOptional<z.ZodString>;
12
+ assignee_id: z.ZodOptional<z.ZodNumber>;
13
+ target_branch: z.ZodOptional<z.ZodString>;
14
+ remove_source_branch: z.ZodOptional<z.ZodBoolean>;
15
+ squash: z.ZodOptional<z.ZodBoolean>;
16
+ }, z.core.$strip>, z.ZodObject<{
17
+ merge_request: z.ZodObject<{
18
+ iid: z.ZodNumber;
19
+ title: z.ZodString;
20
+ state: z.ZodString;
21
+ description: z.ZodString;
22
+ web_url: z.ZodString;
23
+ author_username: z.ZodString;
24
+ source_branch: z.ZodString;
25
+ target_branch: z.ZodString;
26
+ labels: z.ZodArray<z.ZodString>;
27
+ draft: z.ZodBoolean;
28
+ merged_by_username: z.ZodString;
29
+ merge_status: z.ZodString;
30
+ has_conflicts: z.ZodBoolean;
31
+ created_at: z.ZodString;
32
+ updated_at: z.ZodString;
33
+ }, z.core.$strip>;
34
+ }, z.core.$strip>>;
35
+ //# sourceMappingURL=update-merge-request.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update-merge-request.d.ts","sourceRoot":"","sources":["../../src/tools/update-merge-request.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAuC7B,CAAC"}
@@ -0,0 +1,49 @@
1
+ import { defineTool } from '@opentabs-dev/plugin-sdk';
2
+ import { z } from 'zod';
3
+ import { api } from '../gitlab-api.js';
4
+ import { mapMergeRequest, mergeRequestSchema } from './schemas.js';
5
+ export const updateMergeRequest = defineTool({
6
+ name: 'update_merge_request',
7
+ displayName: 'Update Merge Request',
8
+ description: 'Update an existing merge request. Only specified fields are changed.',
9
+ summary: 'Update a merge request',
10
+ icon: 'pencil',
11
+ group: 'Merge Requests',
12
+ input: z.object({
13
+ project: z.string().min(1).describe('Project path (e.g., "group/project") or numeric project ID'),
14
+ merge_request_iid: z.number().int().min(1).describe('Merge request IID (project-scoped ID)'),
15
+ title: z.string().optional().describe('New title'),
16
+ description: z.string().optional().describe('New description in Markdown'),
17
+ state_event: z.enum(['close', 'reopen']).optional().describe('Transition the MR state'),
18
+ labels: z.string().optional().describe('Comma-separated list of label names (replaces existing)'),
19
+ assignee_id: z.number().optional().describe('User ID to assign'),
20
+ target_branch: z.string().optional().describe('New target branch'),
21
+ remove_source_branch: z.boolean().optional().describe('Delete source branch after merge'),
22
+ squash: z.boolean().optional().describe('Squash commits when merging'),
23
+ }),
24
+ output: z.object({
25
+ merge_request: mergeRequestSchema.describe('The updated merge request'),
26
+ }),
27
+ handle: async (params) => {
28
+ const body = {};
29
+ if (params.title !== undefined)
30
+ body.title = params.title;
31
+ if (params.description !== undefined)
32
+ body.description = params.description;
33
+ if (params.state_event !== undefined)
34
+ body.state_event = params.state_event;
35
+ if (params.labels !== undefined)
36
+ body.labels = params.labels;
37
+ if (params.assignee_id !== undefined)
38
+ body.assignee_id = params.assignee_id;
39
+ if (params.target_branch !== undefined)
40
+ body.target_branch = params.target_branch;
41
+ if (params.remove_source_branch !== undefined)
42
+ body.remove_source_branch = params.remove_source_branch;
43
+ if (params.squash !== undefined)
44
+ body.squash = params.squash;
45
+ const data = await api(`/projects/${encodeURIComponent(params.project)}/merge_requests/${params.merge_request_iid}`, { method: 'PUT', body });
46
+ return { merge_request: mapMergeRequest(data) };
47
+ },
48
+ });
49
+ //# sourceMappingURL=update-merge-request.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update-merge-request.js","sourceRoot":"","sources":["../../src/tools/update-merge-request.ts"],"names":[],"mappings":"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"}