@enrichlayer/el-linear 1.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 (151) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +219 -0
  3. package/claude-skills/linear-operations/SKILL.md +315 -0
  4. package/claude-skills/linear-operations/evals/evals.json +46 -0
  5. package/dist/commands/attachments.d.ts +2 -0
  6. package/dist/commands/attachments.js +57 -0
  7. package/dist/commands/batch.d.ts +2 -0
  8. package/dist/commands/batch.js +309 -0
  9. package/dist/commands/comments.d.ts +2 -0
  10. package/dist/commands/comments.js +272 -0
  11. package/dist/commands/config.d.ts +2 -0
  12. package/dist/commands/config.js +15 -0
  13. package/dist/commands/cycles.d.ts +2 -0
  14. package/dist/commands/cycles.js +63 -0
  15. package/dist/commands/documents.d.ts +2 -0
  16. package/dist/commands/documents.js +175 -0
  17. package/dist/commands/embeds.d.ts +2 -0
  18. package/dist/commands/embeds.js +65 -0
  19. package/dist/commands/gdoc.d.ts +2 -0
  20. package/dist/commands/gdoc.js +37 -0
  21. package/dist/commands/graphql.d.ts +2 -0
  22. package/dist/commands/graphql.js +70 -0
  23. package/dist/commands/init/aliases.d.ts +109 -0
  24. package/dist/commands/init/aliases.js +569 -0
  25. package/dist/commands/init/defaults.d.ts +25 -0
  26. package/dist/commands/init/defaults.js +112 -0
  27. package/dist/commands/init/index.d.ts +18 -0
  28. package/dist/commands/init/index.js +182 -0
  29. package/dist/commands/init/shared.d.ts +88 -0
  30. package/dist/commands/init/shared.js +164 -0
  31. package/dist/commands/init/token.d.ts +50 -0
  32. package/dist/commands/init/token.js +141 -0
  33. package/dist/commands/init/workspace.d.ts +20 -0
  34. package/dist/commands/init/workspace.js +80 -0
  35. package/dist/commands/issue-id.d.ts +28 -0
  36. package/dist/commands/issue-id.js +81 -0
  37. package/dist/commands/issues.d.ts +2 -0
  38. package/dist/commands/issues.js +1145 -0
  39. package/dist/commands/labels.d.ts +2 -0
  40. package/dist/commands/labels.js +100 -0
  41. package/dist/commands/project-milestones.d.ts +2 -0
  42. package/dist/commands/project-milestones.js +143 -0
  43. package/dist/commands/projects.d.ts +2 -0
  44. package/dist/commands/projects.js +336 -0
  45. package/dist/commands/read-shortcut.d.ts +6 -0
  46. package/dist/commands/read-shortcut.js +69 -0
  47. package/dist/commands/releases.d.ts +2 -0
  48. package/dist/commands/releases.js +142 -0
  49. package/dist/commands/search.d.ts +2 -0
  50. package/dist/commands/search.js +171 -0
  51. package/dist/commands/teams.d.ts +2 -0
  52. package/dist/commands/teams.js +19 -0
  53. package/dist/commands/templates.d.ts +2 -0
  54. package/dist/commands/templates.js +58 -0
  55. package/dist/commands/users.d.ts +2 -0
  56. package/dist/commands/users.js +17 -0
  57. package/dist/config/config.d.ts +43 -0
  58. package/dist/config/config.js +81 -0
  59. package/dist/config/issue-validation.d.ts +39 -0
  60. package/dist/config/issue-validation.js +264 -0
  61. package/dist/config/paths.d.ts +20 -0
  62. package/dist/config/paths.js +22 -0
  63. package/dist/config/resolver.d.ts +25 -0
  64. package/dist/config/resolver.js +183 -0
  65. package/dist/config/status-defaults.d.ts +13 -0
  66. package/dist/config/status-defaults.js +20 -0
  67. package/dist/config/term-enforcer.d.ts +31 -0
  68. package/dist/config/term-enforcer.js +69 -0
  69. package/dist/main.d.ts +2 -0
  70. package/dist/main.js +76 -0
  71. package/dist/queries/attachments.d.ts +3 -0
  72. package/dist/queries/attachments.js +35 -0
  73. package/dist/queries/comments.d.ts +3 -0
  74. package/dist/queries/comments.js +64 -0
  75. package/dist/queries/common.d.ts +2 -0
  76. package/dist/queries/common.js +109 -0
  77. package/dist/queries/cycles.d.ts +2 -0
  78. package/dist/queries/cycles.js +40 -0
  79. package/dist/queries/documents.d.ts +5 -0
  80. package/dist/queries/documents.js +67 -0
  81. package/dist/queries/introspect.d.ts +2 -0
  82. package/dist/queries/introspect.js +24 -0
  83. package/dist/queries/issues.d.ts +23 -0
  84. package/dist/queries/issues.js +380 -0
  85. package/dist/queries/labels.d.ts +4 -0
  86. package/dist/queries/labels.js +53 -0
  87. package/dist/queries/project-milestones.d.ts +6 -0
  88. package/dist/queries/project-milestones.js +125 -0
  89. package/dist/queries/projects.d.ts +7 -0
  90. package/dist/queries/projects.js +104 -0
  91. package/dist/queries/releases.d.ts +4 -0
  92. package/dist/queries/releases.js +85 -0
  93. package/dist/queries/search.d.ts +1 -0
  94. package/dist/queries/search.js +35 -0
  95. package/dist/queries/templates.d.ts +2 -0
  96. package/dist/queries/templates.js +30 -0
  97. package/dist/types/linear.d.ts +217 -0
  98. package/dist/types/linear.js +6 -0
  99. package/dist/utils/auth.d.ts +4 -0
  100. package/dist/utils/auth.js +23 -0
  101. package/dist/utils/auto-link-references.d.ts +47 -0
  102. package/dist/utils/auto-link-references.js +188 -0
  103. package/dist/utils/date-format.d.ts +4 -0
  104. package/dist/utils/date-format.js +8 -0
  105. package/dist/utils/download-uploads.d.ts +7 -0
  106. package/dist/utils/download-uploads.js +88 -0
  107. package/dist/utils/embed-parser.d.ts +8 -0
  108. package/dist/utils/embed-parser.js +54 -0
  109. package/dist/utils/error-messages.d.ts +4 -0
  110. package/dist/utils/error-messages.js +17 -0
  111. package/dist/utils/file-service.d.ts +13 -0
  112. package/dist/utils/file-service.js +239 -0
  113. package/dist/utils/gdoc-parser.d.ts +45 -0
  114. package/dist/utils/gdoc-parser.js +107 -0
  115. package/dist/utils/graphql-attachments-service.d.ts +12 -0
  116. package/dist/utils/graphql-attachments-service.js +46 -0
  117. package/dist/utils/graphql-documents-service.d.ts +18 -0
  118. package/dist/utils/graphql-documents-service.js +97 -0
  119. package/dist/utils/graphql-issues-service.d.ts +49 -0
  120. package/dist/utils/graphql-issues-service.js +925 -0
  121. package/dist/utils/graphql-service.d.ts +8 -0
  122. package/dist/utils/graphql-service.js +35 -0
  123. package/dist/utils/identifier-parser.d.ts +7 -0
  124. package/dist/utils/identifier-parser.js +20 -0
  125. package/dist/utils/issue-reference-extractor.d.ts +18 -0
  126. package/dist/utils/issue-reference-extractor.js +95 -0
  127. package/dist/utils/issue-reference-wrapper.d.ts +12 -0
  128. package/dist/utils/issue-reference-wrapper.js +91 -0
  129. package/dist/utils/linear-service.d.ts +26 -0
  130. package/dist/utils/linear-service.js +442 -0
  131. package/dist/utils/logger.d.ts +4 -0
  132. package/dist/utils/logger.js +8 -0
  133. package/dist/utils/markdown-prosemirror.d.ts +24 -0
  134. package/dist/utils/markdown-prosemirror.js +325 -0
  135. package/dist/utils/mention-resolver.d.ts +31 -0
  136. package/dist/utils/mention-resolver.js +234 -0
  137. package/dist/utils/output.d.ts +7 -0
  138. package/dist/utils/output.js +125 -0
  139. package/dist/utils/table-formatter.d.ts +4 -0
  140. package/dist/utils/table-formatter.js +249 -0
  141. package/dist/utils/usage.d.ts +2 -0
  142. package/dist/utils/usage.js +24 -0
  143. package/dist/utils/uuid.d.ts +2 -0
  144. package/dist/utils/uuid.js +8 -0
  145. package/dist/utils/validate-references.d.ts +10 -0
  146. package/dist/utils/validate-references.js +33 -0
  147. package/dist/utils/validators.d.ts +7 -0
  148. package/dist/utils/validators.js +71 -0
  149. package/dist/utils/workspace-url.d.ts +4 -0
  150. package/dist/utils/workspace-url.js +44 -0
  151. package/package.json +71 -0
@@ -0,0 +1,380 @@
1
+ import { COMPLETE_ISSUE_FRAGMENT, COMPLETE_ISSUE_WITH_COMMENTS_FRAGMENT, } from "./common.js";
2
+ export const GET_ISSUES_QUERY = `
3
+ query GetIssues($first: Int!, $orderBy: PaginationOrderBy) {
4
+ issues(
5
+ first: $first
6
+ orderBy: $orderBy
7
+ filter: {
8
+ state: { type: { neq: "completed" } }
9
+ }
10
+ ) {
11
+ nodes {
12
+ ${COMPLETE_ISSUE_FRAGMENT}
13
+ }
14
+ }
15
+ }
16
+ `;
17
+ export const SEARCH_ISSUES_QUERY = `
18
+ query SearchIssues($term: String!, $first: Int!) {
19
+ searchIssues(term: $term, first: $first, includeArchived: false) {
20
+ nodes {
21
+ ${COMPLETE_ISSUE_FRAGMENT}
22
+ }
23
+ }
24
+ }
25
+ `;
26
+ export const FILTERED_SEARCH_ISSUES_QUERY = `
27
+ query FilteredSearchIssues(
28
+ $first: Int!
29
+ $filter: IssueFilter
30
+ $orderBy: PaginationOrderBy
31
+ ) {
32
+ issues(
33
+ first: $first
34
+ filter: $filter
35
+ orderBy: $orderBy
36
+ includeArchived: false
37
+ ) {
38
+ nodes {
39
+ ${COMPLETE_ISSUE_FRAGMENT}
40
+ }
41
+ }
42
+ }
43
+ `;
44
+ export const BATCH_RESOLVE_FOR_SEARCH_QUERY = `
45
+ query BatchResolveForSearch(
46
+ $teamKey: String
47
+ $teamName: String
48
+ $projectName: String
49
+ $assigneeEmail: String
50
+ ) {
51
+ teams(
52
+ filter: {
53
+ or: [
54
+ { key: { eq: $teamKey } }
55
+ { name: { eqIgnoreCase: $teamName } }
56
+ ]
57
+ }
58
+ first: 1
59
+ ) {
60
+ nodes {
61
+ id
62
+ key
63
+ name
64
+ }
65
+ }
66
+
67
+ projects(filter: { name: { eqIgnoreCase: $projectName } }, first: 1) {
68
+ nodes {
69
+ id
70
+ name
71
+ }
72
+ }
73
+
74
+ users(filter: { email: { eq: $assigneeEmail } }, first: 1) {
75
+ nodes {
76
+ id
77
+ name
78
+ email
79
+ }
80
+ }
81
+ }
82
+ `;
83
+ export const GET_ISSUE_BY_ID_QUERY = `
84
+ query GetIssue($id: String!) {
85
+ issue(id: $id) {
86
+ ${COMPLETE_ISSUE_WITH_COMMENTS_FRAGMENT}
87
+ }
88
+ }
89
+ `;
90
+ export const GET_ISSUE_BY_IDENTIFIER_QUERY = `
91
+ query GetIssueByIdentifier($teamKey: String!, $number: Float!) {
92
+ issues(
93
+ filter: {
94
+ team: { key: { eq: $teamKey } }
95
+ number: { eq: $number }
96
+ }
97
+ first: 1
98
+ ) {
99
+ nodes {
100
+ ${COMPLETE_ISSUE_WITH_COMMENTS_FRAGMENT}
101
+ }
102
+ }
103
+ }
104
+ `;
105
+ export const BATCH_RESOLVE_FOR_UPDATE_QUERY = `
106
+ query BatchResolveForUpdate(
107
+ $projectName: String
108
+ $teamKey: String
109
+ $issueNumber: Float
110
+ $milestoneName: String
111
+ ) {
112
+ projects(filter: { name: { eqIgnoreCase: $projectName } }, first: 1) {
113
+ nodes {
114
+ id
115
+ name
116
+ projectMilestones {
117
+ nodes {
118
+ id
119
+ name
120
+ }
121
+ }
122
+ }
123
+ }
124
+
125
+ milestones: projectMilestones(
126
+ filter: { name: { eq: $milestoneName } }
127
+ first: 1
128
+ ) {
129
+ nodes {
130
+ id
131
+ name
132
+ }
133
+ }
134
+
135
+ issues(
136
+ filter: {
137
+ and: [
138
+ { team: { key: { eq: $teamKey } } }
139
+ { number: { eq: $issueNumber } }
140
+ ]
141
+ }
142
+ first: 1
143
+ ) {
144
+ nodes {
145
+ id
146
+ identifier
147
+ team {
148
+ id
149
+ key
150
+ }
151
+ labels {
152
+ nodes {
153
+ id
154
+ name
155
+ }
156
+ }
157
+ project {
158
+ id
159
+ projectMilestones {
160
+ nodes {
161
+ id
162
+ name
163
+ }
164
+ }
165
+ }
166
+ }
167
+ }
168
+ }
169
+ `;
170
+ export const CREATE_ISSUE_MUTATION = `
171
+ mutation CreateIssue($input: IssueCreateInput!) {
172
+ issueCreate(input: $input) {
173
+ success
174
+ issue {
175
+ ${COMPLETE_ISSUE_FRAGMENT}
176
+ }
177
+ }
178
+ }
179
+ `;
180
+ export const UPDATE_ISSUE_MUTATION = `
181
+ mutation UpdateIssue($id: String!, $input: IssueUpdateInput!) {
182
+ issueUpdate(id: $id, input: $input) {
183
+ success
184
+ issue {
185
+ ${COMPLETE_ISSUE_FRAGMENT}
186
+ }
187
+ }
188
+ }
189
+ `;
190
+ export const BATCH_RESOLVE_FOR_CREATE_QUERY = `
191
+ query BatchResolveForCreate(
192
+ $teamKey: String
193
+ $teamName: String
194
+ $projectName: String
195
+ $parentTeamKey: String
196
+ $parentIssueNumber: Float
197
+ $milestoneName: String
198
+ ) {
199
+ teams(
200
+ filter: {
201
+ or: [
202
+ { key: { eq: $teamKey } }
203
+ { name: { eqIgnoreCase: $teamName } }
204
+ ]
205
+ }
206
+ first: 1
207
+ ) {
208
+ nodes {
209
+ id
210
+ key
211
+ name
212
+ }
213
+ }
214
+
215
+ projects(filter: { name: { eqIgnoreCase: $projectName } }, first: 1) {
216
+ nodes {
217
+ id
218
+ name
219
+ teams {
220
+ nodes { id key }
221
+ }
222
+ projectMilestones {
223
+ nodes { id name }
224
+ }
225
+ }
226
+ }
227
+
228
+ milestones: projectMilestones(
229
+ filter: { name: { eq: $milestoneName } }
230
+ first: 1
231
+ ) {
232
+ nodes {
233
+ id
234
+ name
235
+ }
236
+ }
237
+
238
+ parentIssues: issues(
239
+ filter: {
240
+ and: [
241
+ { team: { key: { eq: $parentTeamKey } } }
242
+ { number: { eq: $parentIssueNumber } }
243
+ ]
244
+ }
245
+ first: 1
246
+ ) {
247
+ nodes {
248
+ id
249
+ identifier
250
+ }
251
+ }
252
+ }
253
+ `;
254
+ /**
255
+ * Build a label-resolution query filtered by names (case-insensitive).
256
+ * Uses `or` + `eqIgnoreCase` since Linear's `in` filter may be case-sensitive.
257
+ */
258
+ export function buildResolveLabelsByNameQuery(labelNames) {
259
+ const varDecls = labelNames.map((_, i) => `$label${i}: String!`).join(", ");
260
+ const filterConditions = labelNames
261
+ .map((_, i) => `{ name: { eqIgnoreCase: $label${i} } }`)
262
+ .join("\n ");
263
+ const variables = {};
264
+ for (let i = 0; i < labelNames.length; i++) {
265
+ variables[`label${i}`] = labelNames[i];
266
+ }
267
+ const query = `
268
+ query ResolveLabels(${varDecls}) {
269
+ labels: issueLabels(
270
+ filter: {
271
+ or: [
272
+ ${filterConditions}
273
+ ]
274
+ }
275
+ first: 50
276
+ ) {
277
+ nodes {
278
+ id
279
+ name
280
+ isGroup
281
+ team {
282
+ id
283
+ }
284
+ }
285
+ }
286
+ }
287
+ `;
288
+ return { query, variables };
289
+ }
290
+ export const GET_ISSUE_STATE_HISTORY_QUERY = `
291
+ query GetIssueStateHistory($id: String!) {
292
+ issue(id: $id) {
293
+ id
294
+ identifier
295
+ title
296
+ stateHistory {
297
+ nodes {
298
+ state { id name type }
299
+ startedAt
300
+ endedAt
301
+ }
302
+ }
303
+ }
304
+ }
305
+ `;
306
+ export const GET_ISSUE_TEAM_QUERY = `
307
+ query GetIssueTeam($issueId: String!) {
308
+ issue(id: $issueId) {
309
+ team { id }
310
+ }
311
+ }
312
+ `;
313
+ export const ISSUE_RELATION_CREATE_MUTATION = `
314
+ mutation IssueRelationCreate($input: IssueRelationCreateInput!) {
315
+ issueRelationCreate(input: $input) {
316
+ success
317
+ issueRelation {
318
+ id
319
+ type
320
+ issue {
321
+ id
322
+ identifier
323
+ title
324
+ }
325
+ relatedIssue {
326
+ id
327
+ identifier
328
+ title
329
+ }
330
+ }
331
+ }
332
+ }
333
+ `;
334
+ export const GET_ISSUE_RELATIONS_QUERY = `
335
+ query GetIssueRelations($id: String!) {
336
+ issue(id: $id) {
337
+ id
338
+ identifier
339
+ title
340
+ description
341
+ relations {
342
+ nodes {
343
+ id
344
+ type
345
+ relatedIssue {
346
+ id
347
+ identifier
348
+ title
349
+ state { id name }
350
+ priority
351
+ assignee { id name }
352
+ team { id key name }
353
+ }
354
+ }
355
+ }
356
+ inverseRelations {
357
+ nodes {
358
+ id
359
+ type
360
+ issue {
361
+ id
362
+ identifier
363
+ title
364
+ state { id name }
365
+ priority
366
+ assignee { id name }
367
+ team { id key name }
368
+ }
369
+ }
370
+ }
371
+ }
372
+ }
373
+ `;
374
+ export const SCAN_ISSUES_QUERY = `
375
+ query ScanIssues($filter: IssueFilter, $first: Int) {
376
+ issues(filter: $filter, first: $first, orderBy: updatedAt) {
377
+ nodes { id identifier description }
378
+ }
379
+ }
380
+ `;
@@ -0,0 +1,4 @@
1
+ export declare const FIND_PARENT_LABEL_QUERY = "\n query FindParentLabel($name: String!, $teamId: ID!) {\n issueLabels(filter: {\n and: [\n { name: { eq: $name } }\n { team: { id: { eq: $teamId } } }\n ]\n }, first: 1) {\n nodes { id name isGroup }\n }\n }\n";
2
+ export declare const CREATE_LABEL_MUTATION = "\n mutation CreateLabel($input: IssueLabelCreateInput!) {\n issueLabelCreate(input: $input) {\n success\n issueLabel {\n id\n name\n color\n team { id key name }\n parent { id name }\n }\n }\n }\n";
3
+ export declare const RETIRE_LABEL_MUTATION = "\n mutation RetireLabel($id: String!) {\n issueLabelRetire(id: $id) {\n success\n issueLabel {\n id\n name\n color\n retiredAt\n team { id key name }\n }\n }\n }\n";
4
+ export declare const RESTORE_LABEL_MUTATION = "\n mutation RestoreLabel($id: String!) {\n issueLabelRestore(id: $id) {\n success\n issueLabel {\n id\n name\n color\n team { id key name }\n }\n }\n }\n";
@@ -0,0 +1,53 @@
1
+ export const FIND_PARENT_LABEL_QUERY = `
2
+ query FindParentLabel($name: String!, $teamId: ID!) {
3
+ issueLabels(filter: {
4
+ and: [
5
+ { name: { eq: $name } }
6
+ { team: { id: { eq: $teamId } } }
7
+ ]
8
+ }, first: 1) {
9
+ nodes { id name isGroup }
10
+ }
11
+ }
12
+ `;
13
+ export const CREATE_LABEL_MUTATION = `
14
+ mutation CreateLabel($input: IssueLabelCreateInput!) {
15
+ issueLabelCreate(input: $input) {
16
+ success
17
+ issueLabel {
18
+ id
19
+ name
20
+ color
21
+ team { id key name }
22
+ parent { id name }
23
+ }
24
+ }
25
+ }
26
+ `;
27
+ export const RETIRE_LABEL_MUTATION = `
28
+ mutation RetireLabel($id: String!) {
29
+ issueLabelRetire(id: $id) {
30
+ success
31
+ issueLabel {
32
+ id
33
+ name
34
+ color
35
+ retiredAt
36
+ team { id key name }
37
+ }
38
+ }
39
+ }
40
+ `;
41
+ export const RESTORE_LABEL_MUTATION = `
42
+ mutation RestoreLabel($id: String!) {
43
+ issueLabelRestore(id: $id) {
44
+ success
45
+ issueLabel {
46
+ id
47
+ name
48
+ color
49
+ team { id key name }
50
+ }
51
+ }
52
+ }
53
+ `;
@@ -0,0 +1,6 @@
1
+ export declare const LIST_PROJECT_MILESTONES_QUERY = "\n query ListProjectMilestones($projectId: String!, $first: Int!) {\n project(id: $projectId) {\n id\n name\n projectMilestones(first: $first) {\n nodes {\n id\n name\n description\n targetDate\n sortOrder\n createdAt\n updatedAt\n }\n }\n }\n }\n";
2
+ export declare const GET_PROJECT_MILESTONE_BY_ID_QUERY = "\n query GetProjectMilestone($id: String!, $issuesFirst: Int) {\n projectMilestone(id: $id) {\n id\n name\n description\n targetDate\n sortOrder\n createdAt\n updatedAt\n project {\n id\n name\n }\n issues(first: $issuesFirst) {\n nodes {\n \n \n id\n identifier\n title\n description\n summary { content generationStatus }\n branchName\n priority\n estimate\n dueDate\n url\n createdAt\n updatedAt\n\n \n state {\n id\n name\n }\n\n \n assignee {\n id\n name\n url\n }\n\n \n team {\n id\n key\n name\n }\n\n \n project {\n id\n name\n }\n\n \n labels {\n nodes {\n id\n name\n }\n }\n\n \n cycle {\n id\n name\n number\n }\n\n \n projectMilestone {\n id\n name\n targetDate\n }\n\n \n parent {\n id\n identifier\n title\n }\n\n \n children {\n nodes {\n id\n identifier\n title\n }\n }\n\n\n }\n }\n }\n }\n";
3
+ export declare const FIND_PROJECT_MILESTONE_BY_NAME_SCOPED = "\n query FindProjectMilestoneScoped($name: String!, $projectId: String!) {\n project(id: $projectId) {\n projectMilestones(filter: { name: { eq: $name } }, first: 10) {\n nodes {\n id\n name\n targetDate\n sortOrder\n project {\n id\n name\n }\n }\n }\n }\n }\n";
4
+ export declare const FIND_PROJECT_MILESTONE_BY_NAME_GLOBAL = "\n query FindProjectMilestoneGlobal($name: String!) {\n projectMilestones(filter: { name: { eq: $name } }, first: 10) {\n nodes {\n id\n name\n targetDate\n sortOrder\n project {\n id\n name\n }\n }\n }\n }\n";
5
+ export declare const CREATE_PROJECT_MILESTONE_MUTATION = "\n mutation CreateProjectMilestone($projectId: String!, $name: String!, $description: String, $targetDate: TimelessDate) {\n projectMilestoneCreate(input: {\n projectId: $projectId\n name: $name\n description: $description\n targetDate: $targetDate\n }) {\n success\n projectMilestone {\n id\n name\n description\n targetDate\n sortOrder\n createdAt\n updatedAt\n project {\n id\n name\n }\n }\n }\n }\n";
6
+ export declare const UPDATE_PROJECT_MILESTONE_MUTATION = "\n mutation UpdateProjectMilestone($id: String!, $name: String, $description: String, $targetDate: TimelessDate, $sortOrder: Float) {\n projectMilestoneUpdate(id: $id, input: {\n name: $name\n description: $description\n targetDate: $targetDate\n sortOrder: $sortOrder\n }) {\n success\n projectMilestone {\n id\n name\n description\n targetDate\n sortOrder\n updatedAt\n project {\n id\n name\n }\n }\n }\n }\n";
@@ -0,0 +1,125 @@
1
+ import { COMPLETE_ISSUE_FRAGMENT } from "./common.js";
2
+ export const LIST_PROJECT_MILESTONES_QUERY = `
3
+ query ListProjectMilestones($projectId: String!, $first: Int!) {
4
+ project(id: $projectId) {
5
+ id
6
+ name
7
+ projectMilestones(first: $first) {
8
+ nodes {
9
+ id
10
+ name
11
+ description
12
+ targetDate
13
+ sortOrder
14
+ createdAt
15
+ updatedAt
16
+ }
17
+ }
18
+ }
19
+ }
20
+ `;
21
+ export const GET_PROJECT_MILESTONE_BY_ID_QUERY = `
22
+ query GetProjectMilestone($id: String!, $issuesFirst: Int) {
23
+ projectMilestone(id: $id) {
24
+ id
25
+ name
26
+ description
27
+ targetDate
28
+ sortOrder
29
+ createdAt
30
+ updatedAt
31
+ project {
32
+ id
33
+ name
34
+ }
35
+ issues(first: $issuesFirst) {
36
+ nodes {
37
+ ${COMPLETE_ISSUE_FRAGMENT}
38
+ }
39
+ }
40
+ }
41
+ }
42
+ `;
43
+ export const FIND_PROJECT_MILESTONE_BY_NAME_SCOPED = `
44
+ query FindProjectMilestoneScoped($name: String!, $projectId: String!) {
45
+ project(id: $projectId) {
46
+ projectMilestones(filter: { name: { eq: $name } }, first: 10) {
47
+ nodes {
48
+ id
49
+ name
50
+ targetDate
51
+ sortOrder
52
+ project {
53
+ id
54
+ name
55
+ }
56
+ }
57
+ }
58
+ }
59
+ }
60
+ `;
61
+ export const FIND_PROJECT_MILESTONE_BY_NAME_GLOBAL = `
62
+ query FindProjectMilestoneGlobal($name: String!) {
63
+ projectMilestones(filter: { name: { eq: $name } }, first: 10) {
64
+ nodes {
65
+ id
66
+ name
67
+ targetDate
68
+ sortOrder
69
+ project {
70
+ id
71
+ name
72
+ }
73
+ }
74
+ }
75
+ }
76
+ `;
77
+ export const CREATE_PROJECT_MILESTONE_MUTATION = `
78
+ mutation CreateProjectMilestone($projectId: String!, $name: String!, $description: String, $targetDate: TimelessDate) {
79
+ projectMilestoneCreate(input: {
80
+ projectId: $projectId
81
+ name: $name
82
+ description: $description
83
+ targetDate: $targetDate
84
+ }) {
85
+ success
86
+ projectMilestone {
87
+ id
88
+ name
89
+ description
90
+ targetDate
91
+ sortOrder
92
+ createdAt
93
+ updatedAt
94
+ project {
95
+ id
96
+ name
97
+ }
98
+ }
99
+ }
100
+ }
101
+ `;
102
+ export const UPDATE_PROJECT_MILESTONE_MUTATION = `
103
+ mutation UpdateProjectMilestone($id: String!, $name: String, $description: String, $targetDate: TimelessDate, $sortOrder: Float) {
104
+ projectMilestoneUpdate(id: $id, input: {
105
+ name: $name
106
+ description: $description
107
+ targetDate: $targetDate
108
+ sortOrder: $sortOrder
109
+ }) {
110
+ success
111
+ projectMilestone {
112
+ id
113
+ name
114
+ description
115
+ targetDate
116
+ sortOrder
117
+ updatedAt
118
+ project {
119
+ id
120
+ name
121
+ }
122
+ }
123
+ }
124
+ }
125
+ `;
@@ -0,0 +1,7 @@
1
+ export declare const TEAM_LOOKUP_QUERY = "\n query TeamLookup($key: String) {\n teams(filter: { or: [{ key: { eq: $key } }, { name: { eq: $key } }] }, first: 1) {\n nodes { id key name }\n }\n }\n";
2
+ export declare const PROJECT_BY_ID_QUERY = "\n query ProjectById($id: String!) {\n project(id: $id) {\n id\n name\n teams {\n nodes { id key name }\n }\n }\n }\n";
3
+ export declare const GET_PROJECT_QUERY = "\n query GetProject($name: String!) {\n projects(filter: { name: { eqIgnoreCase: $name } }, first: 1) {\n nodes {\n id\n name\n teams {\n nodes {\n id\n key\n name\n }\n }\n }\n }\n }\n";
4
+ export declare const GET_PROJECT_TEAM_ISSUES_QUERY = "\n query GetProjectTeamIssues($projectId: String!, $teamId: String!) {\n project(id: $projectId) {\n id\n name\n teams {\n nodes {\n id\n key\n name\n }\n }\n issues(filter: { team: { id: { eq: $teamId } } }, first: 50) {\n nodes {\n id\n identifier\n title\n }\n }\n }\n }\n";
5
+ export declare const SEARCH_PROJECTS_BY_NAME_QUERY = "\n query SearchProjectsByName($name: String!) {\n projects(filter: { name: { containsIgnoreCase: $name } }, first: 10) {\n nodes {\n id\n name\n state\n teams {\n nodes { id key name }\n }\n }\n }\n }\n";
6
+ export declare const CREATE_PROJECT_MUTATION = "\n mutation CreateProject($input: ProjectCreateInput!) {\n projectCreate(input: $input) {\n success\n project {\n id\n name\n state\n teams {\n nodes { id key name }\n }\n }\n }\n }\n";
7
+ export declare const UPDATE_PROJECT_MUTATION = "\n mutation UpdateProject($id: String!, $input: ProjectUpdateInput!) {\n projectUpdate(id: $id, input: $input) {\n success\n project {\n id\n name\n teams {\n nodes {\n id\n key\n name\n }\n }\n }\n }\n }\n";
@@ -0,0 +1,104 @@
1
+ export const TEAM_LOOKUP_QUERY = `
2
+ query TeamLookup($key: String) {
3
+ teams(filter: { or: [{ key: { eq: $key } }, { name: { eq: $key } }] }, first: 1) {
4
+ nodes { id key name }
5
+ }
6
+ }
7
+ `;
8
+ export const PROJECT_BY_ID_QUERY = `
9
+ query ProjectById($id: String!) {
10
+ project(id: $id) {
11
+ id
12
+ name
13
+ teams {
14
+ nodes { id key name }
15
+ }
16
+ }
17
+ }
18
+ `;
19
+ export const GET_PROJECT_QUERY = `
20
+ query GetProject($name: String!) {
21
+ projects(filter: { name: { eqIgnoreCase: $name } }, first: 1) {
22
+ nodes {
23
+ id
24
+ name
25
+ teams {
26
+ nodes {
27
+ id
28
+ key
29
+ name
30
+ }
31
+ }
32
+ }
33
+ }
34
+ }
35
+ `;
36
+ export const GET_PROJECT_TEAM_ISSUES_QUERY = `
37
+ query GetProjectTeamIssues($projectId: String!, $teamId: String!) {
38
+ project(id: $projectId) {
39
+ id
40
+ name
41
+ teams {
42
+ nodes {
43
+ id
44
+ key
45
+ name
46
+ }
47
+ }
48
+ issues(filter: { team: { id: { eq: $teamId } } }, first: 50) {
49
+ nodes {
50
+ id
51
+ identifier
52
+ title
53
+ }
54
+ }
55
+ }
56
+ }
57
+ `;
58
+ export const SEARCH_PROJECTS_BY_NAME_QUERY = `
59
+ query SearchProjectsByName($name: String!) {
60
+ projects(filter: { name: { containsIgnoreCase: $name } }, first: 10) {
61
+ nodes {
62
+ id
63
+ name
64
+ state
65
+ teams {
66
+ nodes { id key name }
67
+ }
68
+ }
69
+ }
70
+ }
71
+ `;
72
+ export const CREATE_PROJECT_MUTATION = `
73
+ mutation CreateProject($input: ProjectCreateInput!) {
74
+ projectCreate(input: $input) {
75
+ success
76
+ project {
77
+ id
78
+ name
79
+ state
80
+ teams {
81
+ nodes { id key name }
82
+ }
83
+ }
84
+ }
85
+ }
86
+ `;
87
+ export const UPDATE_PROJECT_MUTATION = `
88
+ mutation UpdateProject($id: String!, $input: ProjectUpdateInput!) {
89
+ projectUpdate(id: $id, input: $input) {
90
+ success
91
+ project {
92
+ id
93
+ name
94
+ teams {
95
+ nodes {
96
+ id
97
+ key
98
+ name
99
+ }
100
+ }
101
+ }
102
+ }
103
+ }
104
+ `;
@@ -0,0 +1,4 @@
1
+ export declare const GET_RELEASES_QUERY = "\n query GetReleases($first: Int!, $filter: ReleaseFilter) {\n releases(first: $first, filter: $filter) {\n nodes {\n id\n name\n description\n version\n url\n startDate\n targetDate\n startedAt\n completedAt\n canceledAt\n stage { id name type color }\n pipeline { id name }\n createdAt\n updatedAt\n }\n }\n }\n";
2
+ export declare const GET_RELEASE_BY_ID_QUERY = "\n query GetReleaseById($id: String!) {\n release(id: $id) {\n id\n name\n description\n version\n url\n startDate\n targetDate\n startedAt\n completedAt\n canceledAt\n stage { id name type color }\n pipeline { id name }\n documents {\n nodes {\n id\n title\n slugId\n }\n }\n createdAt\n updatedAt\n }\n }\n";
3
+ export declare const CREATE_RELEASE_MUTATION = "\n mutation CreateRelease($input: ReleaseCreateInput!) {\n releaseCreate(input: $input) {\n success\n release {\n id\n name\n description\n version\n url\n stage { id name type color }\n pipeline { id name }\n createdAt\n updatedAt\n }\n }\n }\n";
4
+ export declare const GET_RELEASE_PIPELINES_QUERY = "\n query GetReleasePipelines($first: Int!) {\n releasePipelines(first: $first) {\n nodes {\n id\n name\n stages {\n nodes {\n id\n name\n type\n color\n }\n }\n }\n }\n }\n";