@wanadev/mcp-gitlab 1.0.5 → 1.1.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.
@@ -0,0 +1,615 @@
1
+ // ---------------------------------------------------------------------------
2
+ // GID helpers
3
+ // ---------------------------------------------------------------------------
4
+ export function toGid(type, id) {
5
+ return `gid://gitlab/${type}/${id}`;
6
+ }
7
+ export function fromGid(gid) {
8
+ const parts = gid.split("/");
9
+ return parseInt(parts[parts.length - 1], 10);
10
+ }
11
+ // ---------------------------------------------------------------------------
12
+ // Fragments
13
+ // ---------------------------------------------------------------------------
14
+ export const USER_FRAGMENT = `
15
+ fragment UserF on User {
16
+ id username name state avatarUrl webUrl
17
+ }
18
+ `;
19
+ export const MILESTONE_FRAGMENT = `
20
+ fragment MilestoneF on Milestone {
21
+ id iid title description state webPath dueDate startDate
22
+ createdAt updatedAt expired
23
+ }
24
+ `;
25
+ export const LABEL_FRAGMENT = `
26
+ fragment LabelF on Label {
27
+ id title color textColor description
28
+ }
29
+ `;
30
+ // ---------------------------------------------------------------------------
31
+ // Queries
32
+ // ---------------------------------------------------------------------------
33
+ export const Q_CURRENT_USER = `query { currentUser { id username name state avatarUrl webUrl } }`;
34
+ export const Q_GROUPS = `
35
+ query($search: String, $after: String) {
36
+ groups(search: $search, first: 100, after: $after) {
37
+ pageInfo { hasNextPage endCursor }
38
+ nodes { id name fullPath webUrl description parent { id } }
39
+ }
40
+ }
41
+ `;
42
+ export const Q_EPICS = `
43
+ ${USER_FRAGMENT}
44
+ query($fullPath: ID!, $state: EpicState, $search: String, $labelName: [String!], $after: String) {
45
+ group(fullPath: $fullPath) {
46
+ epics(state: $state, search: $search, labelName: $labelName, first: 100, after: $after) {
47
+ pageInfo { hasNextPage endCursor }
48
+ nodes {
49
+ id iid title description state webUrl
50
+ labels { nodes { title } }
51
+ startDate dueDate createdAt updatedAt closedAt
52
+ author { ...UserF } upvotes downvotes
53
+ group { id }
54
+ }
55
+ }
56
+ }
57
+ }
58
+ `;
59
+ export const Q_EPIC = `
60
+ ${USER_FRAGMENT}
61
+ query($fullPath: ID!, $iid: ID!) {
62
+ group(fullPath: $fullPath) {
63
+ epic(iid: $iid) {
64
+ id iid title description state webUrl
65
+ labels { nodes { title } }
66
+ startDate dueDate createdAt updatedAt closedAt
67
+ author { ...UserF } upvotes downvotes
68
+ group { id }
69
+ }
70
+ }
71
+ }
72
+ `;
73
+ export const Q_EPIC_ISSUES = `
74
+ ${USER_FRAGMENT}
75
+ ${MILESTONE_FRAGMENT}
76
+ query($fullPath: ID!, $epicIid: ID!, $after: String) {
77
+ group(fullPath: $fullPath) {
78
+ epic(iid: $epicIid) {
79
+ issues(first: 100, after: $after) {
80
+ pageInfo { hasNextPage endCursor }
81
+ nodes {
82
+ id iid title description state webUrl
83
+ labels { nodes { title } }
84
+ milestone { ...MilestoneF }
85
+ assignees { nodes { ...UserF } }
86
+ author { ...UserF }
87
+ dueDate createdAt updatedAt closedAt
88
+ weight
89
+ epic { iid }
90
+ projectId
91
+ timeEstimate totalTimeSpent humanTimeEstimate humanTotalTimeSpent
92
+ }
93
+ }
94
+ }
95
+ }
96
+ }
97
+ `;
98
+ export const Q_EPIC_NOTES = `
99
+ ${USER_FRAGMENT}
100
+ query($fullPath: ID!, $epicIid: ID!, $after: String) {
101
+ group(fullPath: $fullPath) {
102
+ epic(iid: $epicIid) {
103
+ notes(first: 100, after: $after) {
104
+ pageInfo { hasNextPage endCursor }
105
+ nodes { id body author { ...UserF } createdAt updatedAt system }
106
+ }
107
+ }
108
+ }
109
+ }
110
+ `;
111
+ export const Q_GROUP_ISSUES = `
112
+ ${USER_FRAGMENT}
113
+ ${MILESTONE_FRAGMENT}
114
+ query($fullPath: ID!, $state: IssuableState, $search: String, $labelName: [String!],
115
+ $milestoneTitle: [String!], $assigneeUsernames: [String!], $after: String) {
116
+ group(fullPath: $fullPath) {
117
+ issues(state: $state, search: $search, labelName: $labelName,
118
+ milestoneTitle: $milestoneTitle, assigneeUsernames: $assigneeUsernames,
119
+ first: 100, after: $after) {
120
+ pageInfo { hasNextPage endCursor }
121
+ nodes {
122
+ id iid title description state webUrl
123
+ labels { nodes { title } }
124
+ milestone { ...MilestoneF }
125
+ assignees { nodes { ...UserF } }
126
+ author { ...UserF }
127
+ dueDate createdAt updatedAt closedAt
128
+ weight
129
+ epic { iid }
130
+ projectId
131
+ timeEstimate totalTimeSpent humanTimeEstimate humanTotalTimeSpent
132
+ }
133
+ }
134
+ }
135
+ }
136
+ `;
137
+ export const Q_ISSUE = `
138
+ ${USER_FRAGMENT}
139
+ ${MILESTONE_FRAGMENT}
140
+ query($projectPath: ID!, $iid: String!) {
141
+ project(fullPath: $projectPath) {
142
+ issue(iid: $iid) {
143
+ id iid title description state webUrl
144
+ labels { nodes { title } }
145
+ milestone { ...MilestoneF }
146
+ assignees { nodes { ...UserF } }
147
+ author { ...UserF }
148
+ dueDate createdAt updatedAt closedAt
149
+ weight
150
+ epic { iid }
151
+ projectId
152
+ timeEstimate totalTimeSpent humanTimeEstimate humanTotalTimeSpent
153
+ }
154
+ }
155
+ }
156
+ `;
157
+ export const Q_ISSUE_NOTES = `
158
+ ${USER_FRAGMENT}
159
+ query($projectPath: ID!, $issueIid: String!, $after: String) {
160
+ project(fullPath: $projectPath) {
161
+ issue(iid: $issueIid) {
162
+ notes(first: 100, after: $after) {
163
+ pageInfo { hasNextPage endCursor }
164
+ nodes { id body author { ...UserF } createdAt updatedAt system }
165
+ }
166
+ }
167
+ }
168
+ }
169
+ `;
170
+ export const Q_MILESTONES = `
171
+ ${MILESTONE_FRAGMENT}
172
+ query($fullPath: ID!, $state: MilestoneStateEnum, $searchTitle: String, $after: String) {
173
+ group(fullPath: $fullPath) {
174
+ milestones(state: $state, searchTitle: $searchTitle, first: 100, after: $after) {
175
+ pageInfo { hasNextPage endCursor }
176
+ nodes { ...MilestoneF }
177
+ }
178
+ }
179
+ }
180
+ `;
181
+ export const Q_MILESTONE = `
182
+ ${MILESTONE_FRAGMENT}
183
+ query($fullPath: ID!, $ids: [MilestoneID!]) {
184
+ group(fullPath: $fullPath) {
185
+ milestones(ids: $ids) {
186
+ nodes { ...MilestoneF }
187
+ }
188
+ }
189
+ }
190
+ `;
191
+ export const Q_MERGE_REQUESTS = `
192
+ ${USER_FRAGMENT}
193
+ ${MILESTONE_FRAGMENT}
194
+ query($fullPath: ID!, $state: MergeRequestState, $labels: [String!],
195
+ $milestoneTitle: String, $authorUsername: String, $reviewerUsername: String, $after: String) {
196
+ group(fullPath: $fullPath) {
197
+ mergeRequests(state: $state, labels: $labels, milestoneTitle: $milestoneTitle,
198
+ authorUsername: $authorUsername, reviewerUsername: $reviewerUsername,
199
+ first: 100, after: $after) {
200
+ pageInfo { hasNextPage endCursor }
201
+ nodes {
202
+ id iid title description state webUrl
203
+ sourceBranch targetBranch
204
+ labels { nodes { title } }
205
+ milestone { ...MilestoneF }
206
+ author { ...UserF }
207
+ assignees { nodes { ...UserF } }
208
+ reviewers { nodes { ...UserF } }
209
+ draft mergeStatusEnum hasConflicts
210
+ createdAt updatedAt mergedAt closedAt
211
+ projectId
212
+ }
213
+ }
214
+ }
215
+ }
216
+ `;
217
+ export const Q_MERGE_REQUEST = `
218
+ ${USER_FRAGMENT}
219
+ ${MILESTONE_FRAGMENT}
220
+ query($projectPath: ID!, $iid: String!) {
221
+ project(fullPath: $projectPath) {
222
+ mergeRequest(iid: $iid) {
223
+ id iid title description state webUrl
224
+ sourceBranch targetBranch
225
+ labels { nodes { title } }
226
+ milestone { ...MilestoneF }
227
+ author { ...UserF }
228
+ assignees { nodes { ...UserF } }
229
+ reviewers { nodes { ...UserF } }
230
+ draft mergeStatusEnum hasConflicts
231
+ createdAt updatedAt mergedAt closedAt
232
+ projectId
233
+ }
234
+ }
235
+ }
236
+ `;
237
+ export const Q_ITERATIONS = `
238
+ query($fullPath: ID!, $state: IterationState, $search: String, $after: String) {
239
+ group(fullPath: $fullPath) {
240
+ iterations(state: $state, search: $search, first: 100, after: $after) {
241
+ pageInfo { hasNextPage endCursor }
242
+ nodes { id iid title description state webUrl startDate dueDate createdAt updatedAt }
243
+ }
244
+ }
245
+ }
246
+ `;
247
+ export const Q_PROJECTS = `
248
+ query($fullPath: ID!, $search: String, $includeSubgroups: Boolean, $after: String) {
249
+ group(fullPath: $fullPath) {
250
+ projects(search: $search, includeSubgroups: $includeSubgroups, first: 100, after: $after) {
251
+ pageInfo { hasNextPage endCursor }
252
+ nodes {
253
+ id name nameWithNamespace path pathWithNamespace webUrl description
254
+ archived
255
+ }
256
+ }
257
+ }
258
+ }
259
+ `;
260
+ export const Q_MEMBERS = `
261
+ query($fullPath: ID!, $search: String, $after: String) {
262
+ group(fullPath: $fullPath) {
263
+ groupMembers(search: $search, first: 100, after: $after) {
264
+ pageInfo { hasNextPage endCursor }
265
+ nodes {
266
+ id
267
+ user { id username name state webUrl }
268
+ accessLevel { integerValue }
269
+ }
270
+ }
271
+ }
272
+ }
273
+ `;
274
+ export const Q_LABELS = `
275
+ ${LABEL_FRAGMENT}
276
+ query($fullPath: ID!, $searchTerm: String, $after: String) {
277
+ group(fullPath: $fullPath) {
278
+ labels(searchTerm: $searchTerm, first: 100, after: $after) {
279
+ pageInfo { hasNextPage endCursor }
280
+ nodes { ...LabelF }
281
+ }
282
+ }
283
+ }
284
+ `;
285
+ export const Q_BOARDS = `
286
+ ${LABEL_FRAGMENT}
287
+ query($fullPath: ID!, $after: String) {
288
+ group(fullPath: $fullPath) {
289
+ boards(first: 100, after: $after) {
290
+ pageInfo { hasNextPage endCursor }
291
+ nodes {
292
+ id name
293
+ lists { nodes { id label { ...LabelF } position maxIssueCount maxIssueWeight } }
294
+ }
295
+ }
296
+ }
297
+ }
298
+ `;
299
+ export const Q_PROJECT_PATH = `
300
+ query($id: ID!) { project(id: $id) { fullPath } }
301
+ `;
302
+ // ---------------------------------------------------------------------------
303
+ // Mutations
304
+ // ---------------------------------------------------------------------------
305
+ export const M_CREATE_EPIC = `
306
+ ${USER_FRAGMENT}
307
+ mutation($input: CreateEpicInput!) {
308
+ createEpic(input: $input) {
309
+ epic {
310
+ id iid title description state webUrl
311
+ labels { nodes { title } }
312
+ startDate dueDate createdAt updatedAt closedAt
313
+ author { ...UserF } upvotes downvotes
314
+ group { id }
315
+ }
316
+ errors
317
+ }
318
+ }
319
+ `;
320
+ export const M_UPDATE_EPIC = `
321
+ ${USER_FRAGMENT}
322
+ mutation($input: UpdateEpicInput!) {
323
+ updateEpic(input: $input) {
324
+ epic {
325
+ id iid title description state webUrl
326
+ labels { nodes { title } }
327
+ startDate dueDate createdAt updatedAt closedAt
328
+ author { ...UserF } upvotes downvotes
329
+ group { id }
330
+ }
331
+ errors
332
+ }
333
+ }
334
+ `;
335
+ export const M_CREATE_MILESTONE = `
336
+ ${MILESTONE_FRAGMENT}
337
+ mutation($input: CreateMilestoneInput!) {
338
+ createMilestone(input: $input) {
339
+ milestone { ...MilestoneF }
340
+ errors
341
+ }
342
+ }
343
+ `;
344
+ export const M_UPDATE_MILESTONE = `
345
+ ${MILESTONE_FRAGMENT}
346
+ mutation($input: UpdateMilestoneInput!) {
347
+ updateMilestone(input: $input) {
348
+ milestone { ...MilestoneF }
349
+ errors
350
+ }
351
+ }
352
+ `;
353
+ export const M_CREATE_ISSUE = `
354
+ ${USER_FRAGMENT}
355
+ ${MILESTONE_FRAGMENT}
356
+ mutation($input: CreateIssueInput!) {
357
+ createIssue(input: $input) {
358
+ issue {
359
+ id iid title description state webUrl
360
+ labels { nodes { title } }
361
+ milestone { ...MilestoneF }
362
+ assignees { nodes { ...UserF } }
363
+ author { ...UserF }
364
+ dueDate createdAt updatedAt closedAt
365
+ weight epic { iid } projectId
366
+ timeEstimate totalTimeSpent humanTimeEstimate humanTotalTimeSpent
367
+ }
368
+ errors
369
+ }
370
+ }
371
+ `;
372
+ export const M_UPDATE_ISSUE = `
373
+ ${USER_FRAGMENT}
374
+ ${MILESTONE_FRAGMENT}
375
+ mutation($input: UpdateIssueInput!) {
376
+ updateIssue(input: $input) {
377
+ issue {
378
+ id iid title description state webUrl
379
+ labels { nodes { title } }
380
+ milestone { ...MilestoneF }
381
+ assignees { nodes { ...UserF } }
382
+ author { ...UserF }
383
+ dueDate createdAt updatedAt closedAt
384
+ weight epic { iid } projectId
385
+ timeEstimate totalTimeSpent humanTimeEstimate humanTotalTimeSpent
386
+ }
387
+ errors
388
+ }
389
+ }
390
+ `;
391
+ export const M_CREATE_NOTE = `
392
+ ${USER_FRAGMENT}
393
+ mutation($input: CreateNoteInput!) {
394
+ createNote(input: $input) {
395
+ note { id body author { ...UserF } createdAt updatedAt system }
396
+ errors
397
+ }
398
+ }
399
+ `;
400
+ export const M_EPIC_ADD_ISSUE = `
401
+ mutation($input: EpicAddIssueInput!) {
402
+ epicAddIssue(input: $input) {
403
+ epicIssue { id }
404
+ errors
405
+ }
406
+ }
407
+ `;
408
+ // ---------------------------------------------------------------------------
409
+ // Mappers
410
+ // ---------------------------------------------------------------------------
411
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
412
+ export function mapUser(n) {
413
+ return {
414
+ id: typeof n.id === "string" ? fromGid(n.id) : n.id,
415
+ username: n.username,
416
+ name: n.name,
417
+ state: n.state,
418
+ avatar_url: n.avatarUrl ?? "",
419
+ web_url: n.webUrl ?? "",
420
+ };
421
+ }
422
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
423
+ export function mapMilestone(n, baseUrl) {
424
+ const id = typeof n.id === "string" ? fromGid(n.id) : n.id;
425
+ return {
426
+ id,
427
+ iid: typeof n.iid === "string" ? parseInt(n.iid, 10) : n.iid,
428
+ title: n.title,
429
+ description: n.description ?? null,
430
+ state: n.state === "closed" ? "closed" : "active",
431
+ web_url: n.webPath ? `${baseUrl}${n.webPath}` : (n.webUrl ?? ""),
432
+ due_date: n.dueDate ?? null,
433
+ start_date: n.startDate ?? null,
434
+ created_at: n.createdAt ?? "",
435
+ updated_at: n.updatedAt ?? "",
436
+ expired: n.expired ?? false,
437
+ };
438
+ }
439
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
440
+ export function mapEpic(n) {
441
+ return {
442
+ id: typeof n.id === "string" ? fromGid(n.id) : n.id,
443
+ iid: typeof n.iid === "string" ? parseInt(n.iid, 10) : n.iid,
444
+ group_id: n.group?.id ? fromGid(n.group.id) : 0,
445
+ title: n.title,
446
+ description: n.description ?? null,
447
+ state: n.state === "closed" ? "closed" : "opened",
448
+ web_url: n.webUrl ?? "",
449
+ labels: n.labels?.nodes?.map((l) => l.title) ?? [],
450
+ start_date: n.startDate ?? null,
451
+ due_date: n.dueDate ?? null,
452
+ created_at: n.createdAt ?? "",
453
+ updated_at: n.updatedAt ?? "",
454
+ closed_at: n.closedAt ?? null,
455
+ author: n.author ? mapUser(n.author) : { id: 0, username: "", name: "", state: "", avatar_url: "", web_url: "" },
456
+ upvotes: n.upvotes ?? 0,
457
+ downvotes: n.downvotes ?? 0,
458
+ };
459
+ }
460
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
461
+ export function mapIssue(n, baseUrl) {
462
+ const timeStats = {
463
+ time_estimate: n.timeEstimate ?? 0,
464
+ total_time_spent: n.totalTimeSpent ?? 0,
465
+ human_time_estimate: n.humanTimeEstimate ?? null,
466
+ human_total_time_spent: n.humanTotalTimeSpent ?? null,
467
+ };
468
+ return {
469
+ id: typeof n.id === "string" ? fromGid(n.id) : n.id,
470
+ iid: typeof n.iid === "string" ? parseInt(n.iid, 10) : n.iid,
471
+ project_id: typeof n.projectId === "string" ? fromGid(n.projectId) : (n.projectId ?? 0),
472
+ title: n.title,
473
+ description: n.description ?? null,
474
+ state: n.state === "closed" ? "closed" : "opened",
475
+ web_url: n.webUrl ?? "",
476
+ labels: n.labels?.nodes?.map((l) => l.title) ?? [],
477
+ milestone: n.milestone ? mapMilestone(n.milestone, baseUrl) : null,
478
+ assignees: n.assignees?.nodes?.map(mapUser) ?? [],
479
+ author: n.author ? mapUser(n.author) : { id: 0, username: "", name: "", state: "", avatar_url: "", web_url: "" },
480
+ due_date: n.dueDate ?? null,
481
+ created_at: n.createdAt ?? "",
482
+ updated_at: n.updatedAt ?? "",
483
+ closed_at: n.closedAt ?? null,
484
+ weight: n.weight ?? null,
485
+ epic_iid: n.epic?.iid ? (typeof n.epic.iid === "string" ? parseInt(n.epic.iid, 10) : n.epic.iid) : null,
486
+ time_stats: timeStats,
487
+ };
488
+ }
489
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
490
+ export function mapMergeRequest(n, baseUrl) {
491
+ return {
492
+ id: typeof n.id === "string" ? fromGid(n.id) : n.id,
493
+ iid: typeof n.iid === "string" ? parseInt(n.iid, 10) : n.iid,
494
+ project_id: typeof n.projectId === "string" ? fromGid(n.projectId) : (n.projectId ?? 0),
495
+ title: n.title,
496
+ description: n.description ?? null,
497
+ state: n.state ?? "opened",
498
+ web_url: n.webUrl ?? "",
499
+ source_branch: n.sourceBranch ?? "",
500
+ target_branch: n.targetBranch ?? "",
501
+ labels: n.labels?.nodes?.map((l) => l.title) ?? [],
502
+ milestone: n.milestone ? mapMilestone(n.milestone, baseUrl) : null,
503
+ author: n.author ? mapUser(n.author) : { id: 0, username: "", name: "", state: "", avatar_url: "", web_url: "" },
504
+ assignees: n.assignees?.nodes?.map(mapUser) ?? [],
505
+ reviewers: n.reviewers?.nodes?.map(mapUser) ?? [],
506
+ draft: n.draft ?? false,
507
+ merge_status: n.mergeStatusEnum ?? n.mergeStatus ?? "",
508
+ has_conflicts: n.hasConflicts ?? false,
509
+ created_at: n.createdAt ?? "",
510
+ updated_at: n.updatedAt ?? "",
511
+ merged_at: n.mergedAt ?? null,
512
+ closed_at: n.closedAt ?? null,
513
+ };
514
+ }
515
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
516
+ export function mapGroup(n) {
517
+ return {
518
+ id: typeof n.id === "string" ? fromGid(n.id) : n.id,
519
+ name: n.name,
520
+ full_path: n.fullPath ?? "",
521
+ web_url: n.webUrl ?? "",
522
+ description: n.description ?? null,
523
+ parent_id: n.parent?.id ? fromGid(n.parent.id) : null,
524
+ };
525
+ }
526
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
527
+ export function mapProject(n) {
528
+ return {
529
+ id: typeof n.id === "string" ? fromGid(n.id) : n.id,
530
+ name: n.name,
531
+ name_with_namespace: n.nameWithNamespace ?? "",
532
+ path: n.path ?? "",
533
+ path_with_namespace: n.pathWithNamespace ?? "",
534
+ web_url: n.webUrl ?? "",
535
+ description: n.description ?? null,
536
+ default_branch: n.repository?.rootRef ?? "main",
537
+ archived: n.archived ?? false,
538
+ };
539
+ }
540
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
541
+ export function mapMember(n) {
542
+ const user = n.user ?? {};
543
+ return {
544
+ id: user.id ? (typeof user.id === "string" ? fromGid(user.id) : user.id) : 0,
545
+ username: user.username ?? "",
546
+ name: user.name ?? "",
547
+ state: user.state ?? "",
548
+ access_level: n.accessLevel?.integerValue ?? 0,
549
+ web_url: user.webUrl ?? "",
550
+ };
551
+ }
552
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
553
+ export function mapLabel(n) {
554
+ return {
555
+ id: typeof n.id === "string" ? fromGid(n.id) : n.id,
556
+ name: n.title ?? n.name ?? "",
557
+ color: n.color ?? "",
558
+ text_color: n.textColor ?? "",
559
+ description: n.description ?? null,
560
+ open_issues_count: 0,
561
+ closed_issues_count: 0,
562
+ open_merge_requests_count: 0,
563
+ subscribed: false,
564
+ priority: null,
565
+ };
566
+ }
567
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
568
+ export function mapNote(n) {
569
+ return {
570
+ id: typeof n.id === "string" ? fromGid(n.id) : n.id,
571
+ body: n.body ?? "",
572
+ author: n.author ? mapUser(n.author) : { id: 0, username: "", name: "", state: "", avatar_url: "", web_url: "" },
573
+ created_at: n.createdAt ?? "",
574
+ updated_at: n.updatedAt ?? "",
575
+ system: n.system ?? false,
576
+ noteable_type: n.noteableType ?? "",
577
+ };
578
+ }
579
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
580
+ export function mapBoard(n) {
581
+ return {
582
+ id: typeof n.id === "string" ? fromGid(n.id) : n.id,
583
+ name: n.name ?? "",
584
+ milestone: null,
585
+ labels: [],
586
+ lists: (n.lists?.nodes ?? []).map(mapBoardList),
587
+ };
588
+ }
589
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
590
+ export function mapBoardList(n) {
591
+ return {
592
+ id: typeof n.id === "string" ? fromGid(n.id) : n.id,
593
+ label: n.label ? mapLabel(n.label) : null,
594
+ position: n.position ?? 0,
595
+ max_issue_count: n.maxIssueCount ?? 0,
596
+ max_issue_weight: n.maxIssueWeight ?? 0,
597
+ };
598
+ }
599
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
600
+ export function mapIteration(n) {
601
+ return {
602
+ id: typeof n.id === "string" ? fromGid(n.id) : n.id,
603
+ iid: typeof n.iid === "string" ? parseInt(n.iid, 10) : n.iid,
604
+ group_id: 0,
605
+ title: n.title ?? "",
606
+ description: n.description ?? null,
607
+ state: n.state ?? "upcoming",
608
+ web_url: n.webUrl ?? "",
609
+ start_date: n.startDate ?? "",
610
+ due_date: n.dueDate ?? "",
611
+ created_at: n.createdAt ?? "",
612
+ updated_at: n.updatedAt ?? "",
613
+ };
614
+ }
615
+ //# sourceMappingURL=graphql.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"graphql.js","sourceRoot":"","sources":["../src/graphql.ts"],"names":[],"mappings":"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"}